utopia-ui 3.0.0-alpha.85 → 3.0.0-alpha.87
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/Components/Auth/LoginPage.d.ts +1 -2
- package/dist/Components/Auth/RequestPasswordPage.d.ts +1 -2
- package/dist/Components/Auth/SetNewPasswordPage.d.ts +1 -2
- package/dist/Components/Auth/SignupPage.d.ts +1 -2
- package/dist/Components/Profile/Editor.d.ts +1 -2
- package/dist/Components/Profile/OverlayProfile.d.ts +1 -2
- package/dist/Components/Profile/OverlayProfileSettings.d.ts +1 -2
- package/dist/Components/Profile/OverlayUserSettings.d.ts +1 -2
- package/dist/Components/Templates/CircleLayout.d.ts +1 -1
- package/dist/Components/Templates/ItemsIndexPage.d.ts +15 -0
- package/dist/Components/Templates/MapOverlayPage.d.ts +2 -1
- package/dist/Components/Templates/index.d.ts +1 -0
- package/dist/Components/Typography/ErrorText.d.ts +1 -2
- package/dist/Utils/Moon.d.ts +5 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +395 -820
- package/dist/index.js.map +1 -1
- package/dist/workspace/utopia-ui/src/Components/AppShell/AppShell.d.ts +8 -0
- package/dist/workspace/utopia-ui/src/Components/AppShell/Content.d.ts +6 -0
- package/dist/workspace/utopia-ui/src/Components/AppShell/NavBar.d.ts +4 -0
- package/dist/workspace/utopia-ui/src/Components/AppShell/SetAssetsApi.d.ts +4 -0
- package/dist/workspace/utopia-ui/src/Components/AppShell/SideBar.d.ts +12 -0
- package/dist/workspace/utopia-ui/src/Components/AppShell/SidebarSubmenu.d.ts +7 -0
- package/dist/workspace/utopia-ui/src/Components/AppShell/hooks/useAssets.d.ts +13 -0
- package/dist/workspace/utopia-ui/src/Components/AppShell/index.d.ts +3 -0
- package/dist/workspace/utopia-ui/src/Components/Auth/LoginPage.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Auth/RequestPasswordPage.d.ts +3 -0
- package/dist/workspace/utopia-ui/src/Components/Auth/SetNewPasswordPage.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Auth/SignupPage.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Auth/index.d.ts +5 -0
- package/dist/workspace/utopia-ui/src/Components/Auth/useAuth.d.ts +26 -0
- package/dist/workspace/utopia-ui/src/Components/Gaming/Modal.d.ts +5 -0
- package/dist/workspace/utopia-ui/src/Components/Gaming/Quests.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Gaming/hooks/useQuests.d.ts +13 -0
- package/dist/workspace/utopia-ui/src/Components/Gaming/index.d.ts +2 -0
- package/dist/workspace/utopia-ui/src/Components/Input/Autocomplete.d.ts +7 -0
- package/dist/workspace/utopia-ui/src/Components/Input/SelectBox.d.ts +16 -0
- package/dist/workspace/utopia-ui/src/Components/Input/TextAreaInput.d.ts +12 -0
- package/dist/workspace/utopia-ui/src/Components/Input/TextInput.d.ts +14 -0
- package/dist/workspace/utopia-ui/src/Components/Input/index.d.ts +3 -0
- package/dist/workspace/utopia-ui/src/Components/Map/ItemForm.d.ts +18 -0
- package/dist/workspace/utopia-ui/src/Components/Map/ItemView.d.ts +16 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Layer.d.ts +2 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Permissions.d.ts +6 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/AddButton.d.ts +4 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/Controls/Control.d.ts +6 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/Controls/LayerControl.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/Controls/LocateControl.d.ts +3 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/Controls/QuestControl.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/Controls/SearchControl.d.ts +3 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/Controls/TagsControl.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/ItemFormPopup.d.ts +11 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/ItemPopupComponents/HeaderView.d.ts +7 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/ItemPopupComponents/PopupButton.d.ts +8 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/ItemPopupComponents/PopupStartEndInput.d.ts +4 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/ItemPopupComponents/PopupTextAreaInput.d.ts +7 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/ItemPopupComponents/PopupTextInput.d.ts +7 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/ItemPopupComponents/StartEndView.d.ts +4 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/ItemPopupComponents/TextView.d.ts +6 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Subcomponents/ItemViewPopup.d.ts +9 -0
- package/dist/workspace/utopia-ui/src/Components/Map/Tags.d.ts +5 -0
- package/dist/workspace/utopia-ui/src/Components/Map/UtopiaMap.d.ts +11 -0
- package/dist/workspace/utopia-ui/src/Components/Map/hooks/useDebounce.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Map/hooks/useFilter.d.ts +32 -0
- package/dist/workspace/utopia-ui/src/Components/Map/hooks/useItems.d.ts +26 -0
- package/dist/workspace/utopia-ui/src/Components/Map/hooks/useLayers.d.ts +14 -0
- package/dist/workspace/utopia-ui/src/Components/Map/hooks/useLeafletRefs.d.ts +22 -0
- package/dist/workspace/utopia-ui/src/Components/Map/hooks/usePermissions.d.ts +20 -0
- package/dist/workspace/utopia-ui/src/Components/Map/hooks/useTags.d.ts +22 -0
- package/dist/workspace/utopia-ui/src/Components/Map/hooks/useTimeout.d.ts +4 -0
- package/dist/workspace/utopia-ui/src/Components/Map/hooks/useWindowDimension.d.ts +4 -0
- package/dist/workspace/utopia-ui/src/Components/Map/index.d.ts +12 -0
- package/dist/workspace/utopia-ui/src/Components/Profile/ColorPicker.d.ts +6 -0
- package/dist/workspace/utopia-ui/src/Components/Profile/Editor.d.ts +4 -0
- package/dist/workspace/utopia-ui/src/Components/Profile/OverlayProfile.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Profile/OverlayProfileSettings.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Profile/OverlayUserSettings.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Profile/ProfileSettings.d.ts +3 -0
- package/dist/workspace/utopia-ui/src/Components/Profile/TagsWidget.d.ts +6 -0
- package/dist/workspace/utopia-ui/src/Components/Profile/UserSettings.d.ts +3 -0
- package/dist/workspace/utopia-ui/src/Components/Profile/index.d.ts +5 -0
- package/dist/workspace/utopia-ui/src/Components/Profile/useClickOutside.d.ts +2 -0
- package/dist/workspace/utopia-ui/src/Components/Templates/CardPage.d.ts +10 -0
- package/dist/workspace/utopia-ui/src/Components/Templates/CircleLayout.d.ts +5 -0
- package/dist/workspace/utopia-ui/src/Components/Templates/DialogModal.d.ts +10 -0
- package/dist/workspace/utopia-ui/src/Components/Templates/ItemsIndexPage.d.ts +15 -0
- package/dist/workspace/utopia-ui/src/Components/Templates/MapOverlayPage.d.ts +7 -0
- package/dist/workspace/utopia-ui/src/Components/Templates/MoonCalendar.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Components/Templates/TagView.d.ts +6 -0
- package/dist/workspace/utopia-ui/src/Components/Templates/TitleCard.d.ts +11 -0
- package/dist/workspace/utopia-ui/src/Components/Templates/index.d.ts +6 -0
- package/dist/workspace/utopia-ui/src/Components/Typography/ErrorText.d.ts +5 -0
- package/dist/workspace/utopia-ui/src/Components/Typography/Subtitle.d.ts +6 -0
- package/dist/workspace/utopia-ui/src/Utils/FormatTags.d.ts +2 -0
- package/dist/workspace/utopia-ui/src/Utils/GetValue.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Utils/HashTagRegex.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Utils/MarkerIconFactory.d.ts +3 -0
- package/dist/workspace/utopia-ui/src/Utils/Moon.d.ts +7 -0
- package/dist/workspace/utopia-ui/src/Utils/RandomColor.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/Utils/ReplaceURLs.d.ts +3 -0
- package/dist/workspace/utopia-ui/src/Utils/TimeAgo.d.ts +1 -0
- package/dist/workspace/utopia-ui/src/index.d.ts +13 -0
- package/dist/workspace/utopia-ui/src/types.d.ts +108 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
1
2
|
import { useMap, useMapEvents, MapContainer, TileLayer, Popup, Marker, Tooltip } from 'react-leaflet';
|
2
3
|
import 'leaflet/dist/leaflet.css';
|
3
4
|
import * as React from 'react';
|
@@ -7,7 +8,7 @@ import { LatLng, LatLngBounds } from 'leaflet';
|
|
7
8
|
import MarkerClusterGroup from 'react-leaflet-cluster';
|
8
9
|
import { Link, useNavigate, useLocation, Outlet, BrowserRouter, NavLink } from 'react-router-dom';
|
9
10
|
import { toast, ToastContainer } from 'react-toastify';
|
10
|
-
import { startOfToday, format, parse,
|
11
|
+
import { startOfToday, format, parse, sub, add } from 'date-fns';
|
11
12
|
import { ChevronLeftIcon, ChevronRightIcon } from '@heroicons/react/24/outline';
|
12
13
|
import axios from 'axios';
|
13
14
|
import 'leaflet.locatecontrol/dist/L.Control.Locate.css';
|
@@ -26,36 +27,6 @@ import 'react-toastify/dist/ReactToastify.css';
|
|
26
27
|
import ReactCrop, { centerCrop, makeAspectCrop } from 'react-image-crop';
|
27
28
|
import { HexColorPicker } from 'react-colorful';
|
28
29
|
|
29
|
-
function styleInject(css, ref) {
|
30
|
-
if ( ref === void 0 ) ref = {};
|
31
|
-
var insertAt = ref.insertAt;
|
32
|
-
|
33
|
-
if (!css || typeof document === 'undefined') { return; }
|
34
|
-
|
35
|
-
var head = document.head || document.getElementsByTagName('head')[0];
|
36
|
-
var style = document.createElement('style');
|
37
|
-
style.type = 'text/css';
|
38
|
-
|
39
|
-
if (insertAt === 'top') {
|
40
|
-
if (head.firstChild) {
|
41
|
-
head.insertBefore(style, head.firstChild);
|
42
|
-
} else {
|
43
|
-
head.appendChild(style);
|
44
|
-
}
|
45
|
-
} else {
|
46
|
-
head.appendChild(style);
|
47
|
-
}
|
48
|
-
|
49
|
-
if (style.styleSheet) {
|
50
|
-
style.styleSheet.cssText = css;
|
51
|
-
} else {
|
52
|
-
style.appendChild(document.createTextNode(css));
|
53
|
-
}
|
54
|
-
}
|
55
|
-
|
56
|
-
var css_248z$2 = ".leaflet-container {\n text-align: left;\n background-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-attachment: fixed;\n background-position: 50% 80%; \n }\n \n \n \n input {\n box-sizing: border-box;\n }\n \n textarea {\n box-sizing: border-box;\n }\n \n .leaflet-control-attribution {\n display: none;\n }\n \n .leaflet-control-locate {\n display: none;\n }\n\n .leaflet-data-marker {\n \n background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAQCAYAAACcN8ZaAAAB3klEQVR42s3U4UdDURzG8czMXJnJ1Vwzc6VJZjaZJdlMlpQsKdmUFNOUspRSSqUolfQfr+fF98Vx5mwv9qbDx7LdznnO7/7Omej3+/+Ga0QMUYkhbvBgmhzCQxwxibIGrGEF8CQhU+LLtKQkQNqScUgjxRxTBIxbgfgD/BgnhM8kM5KTeclLQYqGkkMRBckzR8ic/mAgd5BAZplsUaqyIg2sDtHg2brUZJk5SmwopErJUWE8SpmTMhNvya60Zd/SNrR4bkeaskG4uiwRZk6yrJEYFibGAxn+scECHTmTnuVCzvmty3PHciB7bGKN6lQkzysPqIrHmpFhYbKUtckC1/Ioz4ZHuZdbuSLYiRxRpSZVWXZVxAzC0R4Ik5SQsu6w8yd5l2/5kg95I9SdXMoZQfYIUjeqEUrgOkXGPeN4TYRhxy8E+ZUf+eS7B7miIoeybVSjKDnm8u3+gH3pDTYwu1igATvs/pXqvBKiR4i2bNJfi1ZfUAnjgrOG8wY2quNzBKuU/ZS+uSFEl5O0xRGuUIlZCcw7xG5QPkeHYUSNV5WXGou2sC3rBC0LjenqCXGO0WEiTJa0Lr4KixdHBrDGuGGiRqCUpFk8pGIpQtCU7p4YPwxYxEMCk1aAMQZh8Ac8PfbIzYPJOwAAAABJRU5ErkJggg==') no-repeat;\n background-position: 6px 32px;\n }\n \n .crosshair-cursor-enabled {\n cursor: crosshair;\n }\n \n .leaflet-container {\n cursor: inherit;\n }\n \n .calendar-icon {\n position: relative;\n top: -35px;\n left: 10px;\n width: 13px;\n }\n \n .user-icon {\n position: relative;\n top: -36px;\n left: 10px;\n width: 13px;\n }\n\n .circle-icon {\n position: relative;\n top: -33px;\n left: 10px;\n width: 13px;\n }\n\n .fire-icon {\n position: relative;\n top: -36px;\n left: 10px;\n width: 13px;\n }\n\n .tree-icon {\n position: relative;\n top: -38px;\n left: 4px;\n width: 24px;\n }\n \n .leaflet-popup-scrolled {\n overflow-x: hidden;\n }\n\n .leaflet-popup-content-wrapper, .leaflet-popup-tip{\n background-color: var(--fallback-b1,oklch(var(--b1)/1));\n color: var(--fallback-bc,oklch(var(--bc)/1));\n\n }\n\n .leaflet-tooltip {\n background-color: var(--fallback-b1,oklch(var(--b1)/1));\n color: var(--fallback-bc,oklch(var(--bc)/1));\n border-width: 0px;\n border-radius: 1em;\n transition: opacity 500ms;\n transition-delay: 50ms;\n }\n\n .leaflet-tooltip-top::before {\n border-top-color: var(--fallback-b1,oklch(var(--b1)/1));\n }\n\n .marker-cluster span {\n color: #000;\n }";
|
57
|
-
styleInject(css_248z$2);
|
58
|
-
|
59
30
|
/******************************************************************************
|
60
31
|
Copyright (c) Microsoft Corporation.
|
61
32
|
|
@@ -142,6 +113,36 @@ function __spreadArray(to, from, pack) {
|
|
142
113
|
return to.concat(ar || Array.prototype.slice.call(from));
|
143
114
|
}
|
144
115
|
|
116
|
+
function styleInject(css, ref) {
|
117
|
+
if ( ref === void 0 ) ref = {};
|
118
|
+
var insertAt = ref.insertAt;
|
119
|
+
|
120
|
+
if (!css || typeof document === 'undefined') { return; }
|
121
|
+
|
122
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
123
|
+
var style = document.createElement('style');
|
124
|
+
style.type = 'text/css';
|
125
|
+
|
126
|
+
if (insertAt === 'top') {
|
127
|
+
if (head.firstChild) {
|
128
|
+
head.insertBefore(style, head.firstChild);
|
129
|
+
} else {
|
130
|
+
head.appendChild(style);
|
131
|
+
}
|
132
|
+
} else {
|
133
|
+
head.appendChild(style);
|
134
|
+
}
|
135
|
+
|
136
|
+
if (style.styleSheet) {
|
137
|
+
style.styleSheet.cssText = css;
|
138
|
+
} else {
|
139
|
+
style.appendChild(document.createTextNode(css));
|
140
|
+
}
|
141
|
+
}
|
142
|
+
|
143
|
+
var css_248z$2 = ".leaflet-container {\n text-align: left;\n background-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-attachment: fixed;\n background-position: 50% 80%; \n }\n \n \n \n input {\n box-sizing: border-box;\n }\n \n textarea {\n box-sizing: border-box;\n }\n \n .leaflet-control-attribution {\n display: none;\n }\n \n .leaflet-control-locate {\n display: none;\n }\n\n .leaflet-data-marker {\n \n background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAQCAYAAACcN8ZaAAAB3klEQVR42s3U4UdDURzG8czMXJnJ1Vwzc6VJZjaZJdlMlpQsKdmUFNOUspRSSqUolfQfr+fF98Vx5mwv9qbDx7LdznnO7/7Omej3+/+Ga0QMUYkhbvBgmhzCQxwxibIGrGEF8CQhU+LLtKQkQNqScUgjxRxTBIxbgfgD/BgnhM8kM5KTeclLQYqGkkMRBckzR8ic/mAgd5BAZplsUaqyIg2sDtHg2brUZJk5SmwopErJUWE8SpmTMhNvya60Zd/SNrR4bkeaskG4uiwRZk6yrJEYFibGAxn+scECHTmTnuVCzvmty3PHciB7bGKN6lQkzysPqIrHmpFhYbKUtckC1/Ioz4ZHuZdbuSLYiRxRpSZVWXZVxAzC0R4Ik5SQsu6w8yd5l2/5kg95I9SdXMoZQfYIUjeqEUrgOkXGPeN4TYRhxy8E+ZUf+eS7B7miIoeybVSjKDnm8u3+gH3pDTYwu1igATvs/pXqvBKiR4i2bNJfi1ZfUAnjgrOG8wY2quNzBKuU/ZS+uSFEl5O0xRGuUIlZCcw7xG5QPkeHYUSNV5WXGou2sC3rBC0LjenqCXGO0WEiTJa0Lr4KixdHBrDGuGGiRqCUpFk8pGIpQtCU7p4YPwxYxEMCk1aAMQZh8Ac8PfbIzYPJOwAAAABJRU5ErkJggg==') no-repeat;\n background-position: 6px 32px;\n }\n \n .crosshair-cursor-enabled {\n cursor: crosshair;\n }\n \n .leaflet-container {\n cursor: inherit;\n }\n \n .calendar-icon {\n position: relative;\n top: -35px;\n left: 10px;\n width: 13px;\n }\n \n .user-icon {\n position: relative;\n top: -36px;\n left: 10px;\n width: 13px;\n }\n\n .circle-icon {\n position: relative;\n top: -33px;\n left: 10px;\n width: 13px;\n }\n\n .fire-icon {\n position: relative;\n top: -36px;\n left: 10px;\n width: 13px;\n }\n\n .tree-icon {\n position: relative;\n top: -38px;\n left: 4px;\n width: 24px;\n }\n \n .leaflet-popup-scrolled {\n overflow-x: hidden;\n }\n\n .leaflet-popup-content-wrapper, .leaflet-popup-tip{\n background-color: var(--fallback-b1,oklch(var(--b1)/1));\n color: var(--fallback-bc,oklch(var(--bc)/1));\n\n }\n\n .leaflet-tooltip {\n background-color: var(--fallback-b1,oklch(var(--b1)/1));\n color: var(--fallback-bc,oklch(var(--bc)/1));\n border-width: 0px;\n border-radius: 1em;\n transition: opacity 500ms;\n transition-delay: 50ms;\n }\n\n .leaflet-tooltip-top::before {\n border-top-color: var(--fallback-b1,oklch(var(--b1)/1));\n }\n\n .marker-cluster span {\n color: #000;\n }";
|
144
|
+
styleInject(css_248z$2);
|
145
|
+
|
145
146
|
var LayerContext = createContext({
|
146
147
|
layers: [],
|
147
148
|
addLayer: function () { },
|
@@ -173,7 +174,7 @@ function useLayerManager(initialLayers) {
|
|
173
174
|
}
|
174
175
|
var LayersProvider = function (_a) {
|
175
176
|
var initialLayers = _a.initialLayers, children = _a.children;
|
176
|
-
return (
|
177
|
+
return (jsx(LayerContext.Provider, __assign({ value: useLayerManager(initialLayers) }, { children: children })));
|
177
178
|
};
|
178
179
|
var useLayers = function () {
|
179
180
|
var layers = useContext(LayerContext).layers;
|
@@ -372,43 +373,28 @@ var AuthProvider = function (_a) {
|
|
372
373
|
}
|
373
374
|
});
|
374
375
|
}); };
|
375
|
-
return (
|
376
|
+
return (jsx(AuthContext.Provider, __assign({ value: { isAuthenticated: isAuthenticated, user: user, login: login, register: register, loading: loading, logout: logout, updateUser: updateUser, token: token, requestPasswordReset: requestPasswordReset, passwordReset: passwordReset } }, { children: children })));
|
376
377
|
};
|
377
378
|
var useAuth = function () { return useContext(AuthContext); };
|
378
379
|
|
379
380
|
function Subtitle(_a) {
|
380
381
|
var styleClass = _a.styleClass, children = _a.children;
|
381
|
-
return (
|
382
|
+
return (jsx("div", __assign({ className: "tw-text-xl tw-font-semibold ".concat(styleClass) }, { children: children })));
|
382
383
|
}
|
383
384
|
|
384
385
|
function TitleCard(_a) {
|
385
386
|
var title = _a.title, hideTitle = _a.hideTitle, children = _a.children, topMargin = _a.topMargin, TopSideButtons = _a.TopSideButtons, className = _a.className;
|
386
|
-
return (
|
387
|
-
|
388
|
-
React.createElement(React.Fragment, null,
|
389
|
-
React.createElement(Subtitle, { styleClass: TopSideButtons ? "tw-inline-block" : "" },
|
390
|
-
title,
|
391
|
-
TopSideButtons && React.createElement("div", { className: "tw-inline-block tw-float-right" }, TopSideButtons)),
|
392
|
-
React.createElement("div", { className: "tw-divider tw-mt-2" })),
|
393
|
-
React.createElement("div", { className: 'tw-h-full tw-bg-transparent tw-w-full tw-pb-6 tw-bg-base-100' }, children)));
|
387
|
+
return (jsxs("div", __assign({ className: "tw-card tw-w-full tw-p-6 tw-bg-base-100 tw-shadow-xl tw-h-fit tw-mb-4 " + (className || "") + " " + (topMargin || "tw-mt-6") }, { children: [!hideTitle &&
|
388
|
+
jsxs(Fragment, { children: [jsxs(Subtitle, __assign({ styleClass: TopSideButtons ? "tw-inline-block" : "" }, { children: [title, TopSideButtons && jsx("div", __assign({ className: "tw-inline-block tw-float-right" }, { children: TopSideButtons }))] })), jsx("div", { className: "tw-divider tw-mt-2" })] }), jsx("div", __assign({ className: 'tw-h-full tw-bg-transparent tw-w-full tw-pb-6 tw-bg-base-100' }, { children: children }))] })));
|
394
389
|
}
|
395
390
|
|
396
391
|
function CardPage(_a) {
|
397
392
|
var title = _a.title, hideTitle = _a.hideTitle, children = _a.children, parent = _a.parent;
|
398
|
-
return (
|
399
|
-
React.createElement("div", { className: 'tw-w-full xl:tw-max-w-6xl ' },
|
400
|
-
React.createElement("div", { className: "tw-text-sm tw-breadcrumbs" },
|
401
|
-
React.createElement("ul", null,
|
402
|
-
React.createElement("li", null,
|
403
|
-
React.createElement(Link, { to: '/' }, "Home")),
|
404
|
-
parent && React.createElement("li", null,
|
405
|
-
React.createElement(Link, { to: (parent === null || parent === void 0 ? void 0 : parent.url) ? parent === null || parent === void 0 ? void 0 : parent.url : "" }, parent === null || parent === void 0 ? void 0 : parent.name)),
|
406
|
-
React.createElement("li", null, title))),
|
407
|
-
React.createElement(TitleCard, { hideTitle: hideTitle, title: title, topMargin: "tw-my-2", className: " tw-mb-4" }, children))));
|
393
|
+
return (jsx("main", __assign({ className: "tw-flex-1 tw-overflow-y-auto tw-overflow-x-hidden tw-pt-2 tw-px-6 tw-min-w-80 tw-flex tw-justify-center" }, { children: jsxs("div", __assign({ className: 'tw-w-full xl:tw-max-w-6xl ' }, { children: [jsx("div", __assign({ className: "tw-text-sm tw-breadcrumbs" }, { children: jsxs("ul", { children: [jsx("li", { children: jsx(Link, __assign({ to: '/' }, { children: "Home" })) }), parent && jsx("li", { children: jsx(Link, __assign({ to: (parent === null || parent === void 0 ? void 0 : parent.url) ? parent === null || parent === void 0 ? void 0 : parent.url : "" }, { children: parent === null || parent === void 0 ? void 0 : parent.name })) }), jsx("li", { children: title })] }) })), jsx(TitleCard, __assign({ hideTitle: hideTitle, title: title, topMargin: "tw-my-2", className: " tw-mb-4" }, { children: children }))] })) })));
|
408
394
|
}
|
409
395
|
|
410
396
|
function MapOverlayPage(_a) {
|
411
|
-
var children = _a.children, className = _a.className, backdrop = _a.backdrop;
|
397
|
+
var children = _a.children, className = _a.className, backdrop = _a.backdrop, _b = _a.card, card = _b === void 0 ? true : _b;
|
412
398
|
var closeScreen = function () {
|
413
399
|
navigate("/");
|
414
400
|
};
|
@@ -425,12 +411,7 @@ function MapOverlayPage(_a) {
|
|
425
411
|
L$1.DomEvent.disableScrollPropagation(backdropRef.current);
|
426
412
|
}
|
427
413
|
}, [overlayRef, backdropRef]);
|
428
|
-
return (
|
429
|
-
React.createElement("div", { ref: backdropRef, className: "".concat(backdrop && "tw-backdrop-brightness-75", " tw-h-full tw-w-full tw-grid tw-place-items-center tw-m-auto") },
|
430
|
-
React.createElement("div", { ref: overlayRef, className: "tw-card tw-shadow-xl tw-bg-base-100 tw-p-6 ".concat(className && className, " ").concat(!backdrop && "tw-z-[2000]", " tw-absolute tw-top-0 tw-bottom-0 tw-right-0 tw-left-0 tw-m-auto") },
|
431
|
-
React.createElement("div", { className: "tw-card-body tw-p-0 tw-h-full" },
|
432
|
-
children,
|
433
|
-
React.createElement("button", { className: "tw-btn tw-btn-sm tw-btn-circle tw-btn-ghost tw-absolute tw-right-2 tw-top-2", onClick: function () { return closeScreen(); } }, "\u2715"))))));
|
414
|
+
return (jsx("div", __assign({ className: "tw-absolute tw-h-full tw-w-full tw-m-auto ".concat(backdrop && "tw-z-[2000]") }, { children: jsx("div", __assign({ ref: backdropRef, className: "".concat(backdrop && "tw-backdrop-brightness-75", " tw-h-full tw-w-full tw-grid tw-place-items-center tw-m-auto") }, { children: jsxs("div", __assign({ ref: overlayRef, className: "".concat(card && "tw-card tw-card-body", " tw-shadow-xl tw-bg-base-100 tw-p-6 ").concat(className && className, " ").concat(!backdrop && "tw-z-[2000]", " tw-absolute tw-top-0 tw-bottom-0 tw-right-0 tw-left-0 tw-m-auto") }, { children: [children, jsx("button", __assign({ className: "tw-btn tw-btn-sm tw-btn-circle tw-btn-ghost tw-absolute tw-right-2 tw-top-2", onClick: function () { return closeScreen(); } }, { children: "\u2715" }))] })) })) })));
|
434
415
|
}
|
435
416
|
|
436
417
|
var CircleLayout = function (_a) {
|
@@ -450,7 +431,7 @@ var CircleLayout = function (_a) {
|
|
450
431
|
}
|
451
432
|
}
|
452
433
|
}, [items]);
|
453
|
-
return (
|
434
|
+
return (jsx("div", __assign({ className: "tw-absolute tw-mx-auto tw-flex tw-justify-center tw-items-center tw-h-full tw-w-full", ref: containerRef }, { children: items.map(function (item) { return (jsx("div", __assign({ className: "tw-absolute", style: { fontSize: fontSize } }, { children: item }), item)); }) })));
|
454
435
|
};
|
455
436
|
|
456
437
|
var LUNAR_MONTH = 29.530588853;
|
@@ -475,9 +456,7 @@ var getLunarAge = function (date) {
|
|
475
456
|
var percent = getLunarAgePercent(date);
|
476
457
|
return percent * LUNAR_MONTH;
|
477
458
|
};
|
478
|
-
var getNextNewMoon = function (
|
479
|
-
if (date === void 0) { date = new Date(); }
|
480
|
-
getLunarAge(date);
|
459
|
+
var getNextNewMoon = function () {
|
481
460
|
return new Date(getLastNewMoon().getTime() + LUNAR_MONTH * 86400000);
|
482
461
|
};
|
483
462
|
var getLastNewMoon = function (date) {
|
@@ -490,14 +469,6 @@ var MoonCalendar = function () {
|
|
490
469
|
var today = startOfToday();
|
491
470
|
var _a = useState(function () { return format(today, "MMM-yyyy"); }), currMonth = _a[0], setCurrMonth = _a[1];
|
492
471
|
var firstDayOfMonth = parse(currMonth, "MMM-yyyy", new Date());
|
493
|
-
eachDayOfInterval({
|
494
|
-
start: firstDayOfMonth,
|
495
|
-
end: endOfMonth(firstDayOfMonth),
|
496
|
-
});
|
497
|
-
eachDayOfInterval({
|
498
|
-
start: getLastNewMoon(),
|
499
|
-
end: getNextNewMoon()
|
500
|
-
});
|
501
472
|
var getPrevMonth = function (event) {
|
502
473
|
event.preventDefault();
|
503
474
|
var firstDayOfPrevMonth = add(firstDayOfMonth, { months: -1 });
|
@@ -508,24 +479,48 @@ var MoonCalendar = function () {
|
|
508
479
|
var firstDayOfNextMonth = add(firstDayOfMonth, { months: 1 });
|
509
480
|
setCurrMonth(format(firstDayOfNextMonth, "MMM-yyyy"));
|
510
481
|
};
|
511
|
-
return (
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
482
|
+
return (jsxs(MapOverlayPage, __assign({ backdrop: true, className: 'tw-h-96 tw-w-80' }, { children: [jsx("p", __assign({ className: 'tw-self-center tw-text-lg tw-font-bold' }, { children: "Moon Cycle" })), jsxs("div", __assign({ className: 'tw-relative tw-h-full' }, { children: [jsx(CircleLayout, { items: ["🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", "🌘"], radius: 80, fontSize: "3em" }), jsx(CircleLayout, { items: [
|
483
|
+
format(getLastNewMoon(), "dd.MM hh:mm"),
|
484
|
+
format(sub(getNextNewMoon(), { seconds: LUNAR_MONTH * 86400 / 4 * 3 }), "dd.MM hh:mm"),
|
485
|
+
format(sub(getNextNewMoon(), { seconds: LUNAR_MONTH * 86400 / 2 }), "dd.MM hh:mm"),
|
486
|
+
format(sub(getNextNewMoon(), { seconds: LUNAR_MONTH * 86400 / 4 }), "dd.MM hh:mm")
|
487
|
+
], radius: 120, fontSize: "0.8em" })] })), jsxs("div", __assign({ className: 'tw-flex tw-flex-row' }, { children: [jsx(ChevronLeftIcon, { className: "tw-w-6 tw-h-6 tw-cursor-pointer", onClick: getPrevMonth }), jsxs("p", __assign({ className: 'tw-text-center tw-p-1 tw-h-full tw-grow' }, { children: ["from ", format(getLastNewMoon(), "dd.MM"), " - to ", format(getNextNewMoon(), "dd.MM")] })), jsx(ChevronRightIcon, { className: "tw-w-6 tw-h-6 tw-cursor-pointer", onClick: getNextMonth })] }))] })));
|
488
|
+
};
|
489
|
+
|
490
|
+
function getValue(obj, path) {
|
491
|
+
if (!obj)
|
492
|
+
return undefined; // Return early if obj is falsy
|
493
|
+
var pathArray = path.split('.'); // Use a different variable for the split path
|
494
|
+
for (var i = 0, len = pathArray.length; i < len; i++) {
|
495
|
+
if (!obj)
|
496
|
+
return undefined; // Check if obj is falsy at each step
|
497
|
+
obj = obj[pathArray[i]]; // Dive one level deeper
|
498
|
+
}
|
499
|
+
return obj; // Return the final value
|
500
|
+
}
|
501
|
+
|
502
|
+
var ItemsIndexPage = function (_a) {
|
503
|
+
var api = _a.api, url = _a.url, parameterField = _a.parameterField, breadcrumbs = _a.breadcrumbs, itemNameField = _a.itemNameField, itemTextField = _a.itemTextField, itemImageField = _a.itemImageField;
|
504
|
+
var _b = useState(), items = _b[0], setItems = _b[1];
|
505
|
+
var loadProjects = function () { return __awaiter(void 0, void 0, void 0, function () {
|
506
|
+
var items;
|
507
|
+
return __generator(this, function (_a) {
|
508
|
+
switch (_a.label) {
|
509
|
+
case 0: return [4 /*yield*/, (api === null || api === void 0 ? void 0 : api.getItems())];
|
510
|
+
case 1:
|
511
|
+
items = _a.sent();
|
512
|
+
setItems(items);
|
513
|
+
return [2 /*return*/];
|
514
|
+
}
|
515
|
+
});
|
516
|
+
}); };
|
517
|
+
useEffect(function () {
|
518
|
+
loadProjects();
|
519
|
+
}, [api]);
|
520
|
+
return (jsx("main", __assign({ className: "tw-flex-1 tw-overflow-y-auto tw-pt-2 tw-px-6 tw-bg-base-200 tw-min-w-80 tw-flex tw-justify-center" }, { children: jsxs("div", __assign({ className: ' tw-w-full xl:tw-max-w-6xl' }, { children: [breadcrumbs &&
|
521
|
+
jsx("div", __assign({ className: "tw-text-sm tw-breadcrumbs" }, { children: jsx("ul", { children: breadcrumbs.map(function (b) { return jsx("li", { children: jsx(Link, __assign({ to: b.path }, { children: b.name })) }); }) }) })), jsx("div", __assign({ className: "tw-grid tw-grid-cols-1 md:tw-grid-cols-2 lg:tw-grid-cols-3 tw-gap-6 " }, { children: items === null || items === void 0 ? void 0 : items.map(function (i, k) {
|
522
|
+
return (jsx(Link, __assign({ to: url + getValue(i, parameterField) }, { children: jsxs(TitleCard, __assign({ className: "!tw-h-96", title: getValue(i, itemNameField), topMargin: "tw-mt-2" }, { children: [jsx("img", { className: 'tw-h-36', src: "https://api.utopia-lab.org/assets/".concat(getValue(i, itemImageField)) }), jsx("p", __assign({ className: 'tw-font-bold tw-text-sm tw-mt-2' }, { children: i.subname })), jsx("p", __assign({ className: 'tw-text-sm tw-mt-2 tw-mb-2' }, { children: getValue(i, itemTextField) }))] })) }), k));
|
523
|
+
}) }))] })) })));
|
529
524
|
};
|
530
525
|
|
531
526
|
function LoginPage() {
|
@@ -561,15 +556,7 @@ function LoginPage() {
|
|
561
556
|
}
|
562
557
|
});
|
563
558
|
}); };
|
564
|
-
return (
|
565
|
-
React.createElement("h2", { className: 'tw-text-2xl tw-font-semibold tw-mb-2 tw-text-center' }, "Login"),
|
566
|
-
React.createElement("input", { type: "email", placeholder: "E-Mail", value: email, onChange: function (e) { return setEmail(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }),
|
567
|
-
React.createElement("input", { type: "password", placeholder: "Password", onChange: function (e) { return setPassword(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }),
|
568
|
-
React.createElement("div", { className: 'tw-text-right tw-text-primary' },
|
569
|
-
React.createElement(Link, { to: "/reset-password" },
|
570
|
-
React.createElement("span", { className: "tw-text-sm tw-inline-block hover:tw-text-primary hover:tw-underline hover:tw-cursor-pointer tw-transition tw-duration-200" }, "Forgot Password?"))),
|
571
|
-
React.createElement("div", { className: "tw-card-actions" },
|
572
|
-
React.createElement("button", { className: loading ? 'tw-btn tw-btn-disabled tw-btn-block tw-btn-primary' : 'tw-btn tw-btn-primary tw-btn-block', onClick: function () { return onLogin(); } }, loading ? React.createElement("span", { className: "tw-loading tw-loading-spinner" }) : 'Login'))));
|
559
|
+
return (jsxs(MapOverlayPage, __assign({ backdrop: true, className: 'tw-max-w-xs tw-h-fit' }, { children: [jsx("h2", __assign({ className: 'tw-text-2xl tw-font-semibold tw-mb-2 tw-text-center' }, { children: "Login" })), jsx("input", { type: "email", placeholder: "E-Mail", value: email, onChange: function (e) { return setEmail(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }), jsx("input", { type: "password", placeholder: "Password", onChange: function (e) { return setPassword(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }), jsx("div", __assign({ className: 'tw-text-right tw-text-primary' }, { children: jsx(Link, __assign({ to: "/reset-password" }, { children: jsx("span", __assign({ className: "tw-text-sm tw-inline-block hover:tw-text-primary hover:tw-underline hover:tw-cursor-pointer tw-transition tw-duration-200" }, { children: "Forgot Password?" })) })) })), jsx("div", __assign({ className: "tw-card-actions" }, { children: jsx("button", __assign({ className: loading ? 'tw-btn tw-btn-disabled tw-btn-block tw-btn-primary' : 'tw-btn tw-btn-primary tw-btn-block', onClick: function () { return onLogin(); } }, { children: loading ? jsx("span", { className: "tw-loading tw-loading-spinner" }) : 'Login' })) }))] })));
|
573
560
|
}
|
574
561
|
|
575
562
|
function SignupPage() {
|
@@ -606,13 +593,7 @@ function SignupPage() {
|
|
606
593
|
}
|
607
594
|
});
|
608
595
|
}); };
|
609
|
-
return (
|
610
|
-
React.createElement("h2", { className: 'tw-text-2xl tw-font-semibold tw-mb-2 tw-text-center' }, "Sign Up"),
|
611
|
-
React.createElement("input", { type: "text", placeholder: "Name", value: userName, onChange: function (e) { return setUserName(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }),
|
612
|
-
React.createElement("input", { type: "email", placeholder: "E-Mail", value: email, onChange: function (e) { return setEmail(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }),
|
613
|
-
React.createElement("input", { type: "password", placeholder: "Password", onChange: function (e) { return setPassword(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }),
|
614
|
-
React.createElement("div", { className: "tw-card-actions tw-mt-4" },
|
615
|
-
React.createElement("button", { className: loading ? 'tw-btn tw-btn-disabled tw-btn-block tw-btn-primary' : 'tw-btn tw-btn-primary tw-btn-block', onClick: function () { return onRegister(); } }, loading ? React.createElement("span", { className: "tw-loading tw-loading-spinner" }) : 'Sign Up'))));
|
596
|
+
return (jsxs(MapOverlayPage, __assign({ backdrop: true, className: 'tw-max-w-xs tw-h-fit' }, { children: [jsx("h2", __assign({ className: 'tw-text-2xl tw-font-semibold tw-mb-2 tw-text-center' }, { children: "Sign Up" })), jsx("input", { type: "text", placeholder: "Name", value: userName, onChange: function (e) { return setUserName(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }), jsx("input", { type: "email", placeholder: "E-Mail", value: email, onChange: function (e) { return setEmail(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }), jsx("input", { type: "password", placeholder: "Password", onChange: function (e) { return setPassword(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }), jsx("div", __assign({ className: "tw-card-actions tw-mt-4" }, { children: jsx("button", __assign({ className: loading ? 'tw-btn tw-btn-disabled tw-btn-block tw-btn-primary' : 'tw-btn tw-btn-primary tw-btn-block', onClick: function () { return onRegister(); } }, { children: loading ? jsx("span", { className: "tw-loading tw-loading-spinner" }) : 'Sign Up' })) }))] })));
|
616
597
|
}
|
617
598
|
|
618
599
|
function RequestPasswordPage(_a) {
|
@@ -647,11 +628,7 @@ function RequestPasswordPage(_a) {
|
|
647
628
|
}
|
648
629
|
});
|
649
630
|
}); };
|
650
|
-
return (
|
651
|
-
React.createElement("h2", { className: 'tw-text-2xl tw-font-semibold tw-mb-2 tw-text-center' }, "Reset Password"),
|
652
|
-
React.createElement("input", { type: "email", placeholder: "E-Mail", value: email, onChange: function (e) { return setEmail(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }),
|
653
|
-
React.createElement("div", { className: "tw-card-actions tw-mt-4" },
|
654
|
-
React.createElement("button", { className: loading ? 'tw-btn tw-btn-disabled tw-btn-block tw-btn-primary' : 'tw-btn tw-btn-primary tw-btn-block', onClick: function () { return onReset(); } }, loading ? React.createElement("span", { className: "tw-loading tw-loading-spinner" }) : 'Send'))));
|
631
|
+
return (jsxs(MapOverlayPage, __assign({ backdrop: true, className: 'tw-max-w-xs tw-h-fit' }, { children: [jsx("h2", __assign({ className: 'tw-text-2xl tw-font-semibold tw-mb-2 tw-text-center' }, { children: "Reset Password" })), jsx("input", { type: "email", placeholder: "E-Mail", value: email, onChange: function (e) { return setEmail(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }), jsx("div", __assign({ className: "tw-card-actions tw-mt-4" }, { children: jsx("button", __assign({ className: loading ? 'tw-btn tw-btn-disabled tw-btn-block tw-btn-primary' : 'tw-btn tw-btn-primary tw-btn-block', onClick: function () { return onReset(); } }, { children: loading ? jsx("span", { className: "tw-loading tw-loading-spinner" }) : 'Send' })) }))] })));
|
655
632
|
}
|
656
633
|
|
657
634
|
function SetNewPasswordPage() {
|
@@ -687,11 +664,7 @@ function SetNewPasswordPage() {
|
|
687
664
|
}
|
688
665
|
});
|
689
666
|
}); };
|
690
|
-
return (
|
691
|
-
React.createElement("h2", { className: 'tw-text-2xl tw-font-semibold tw-mb-2 tw-text-center' }, "Set new Password"),
|
692
|
-
React.createElement("input", { type: "password", placeholder: "Password", onChange: function (e) { return setPassword(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }),
|
693
|
-
React.createElement("div", { className: "tw-card-actions tw-mt-4" },
|
694
|
-
React.createElement("button", { className: loading ? 'tw-btn tw-btn-disabled tw-btn-block tw-btn-primary' : 'tw-btn tw-btn-primary tw-btn-block', onClick: function () { return onReset(); } }, loading ? React.createElement("span", { className: "tw-loading tw-loading-spinner" }) : 'Set'))));
|
667
|
+
return (jsxs(MapOverlayPage, __assign({ backdrop: true, className: 'tw-max-w-xs tw-h-fit' }, { children: [jsx("h2", __assign({ className: 'tw-text-2xl tw-font-semibold tw-mb-2 tw-text-center' }, { children: "Set new Password" })), jsx("input", { type: "password", placeholder: "Password", onChange: function (e) { return setPassword(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full tw-max-w-xs" }), jsx("div", __assign({ className: "tw-card-actions tw-mt-4" }, { children: jsx("button", __assign({ className: loading ? 'tw-btn tw-btn-disabled tw-btn-block tw-btn-primary' : 'tw-btn tw-btn-primary tw-btn-block', onClick: function () { return onReset(); } }, { children: loading ? jsx("span", { className: "tw-loading tw-loading-spinner" }) : 'Set' })) }))] })));
|
695
668
|
}
|
696
669
|
|
697
670
|
var PermissionContext = createContext({
|
@@ -759,7 +732,7 @@ function usePermissionsManager(initialPermissions) {
|
|
759
732
|
}
|
760
733
|
var PermissionsProvider = function (_a) {
|
761
734
|
var initialPermissions = _a.initialPermissions, children = _a.children;
|
762
|
-
return (
|
735
|
+
return (jsx(PermissionContext.Provider, __assign({ value: usePermissionsManager(initialPermissions) }, { children: children })));
|
763
736
|
};
|
764
737
|
var useSetPermissionApi = function () {
|
765
738
|
var setPermissionApi = useContext(PermissionContext).setPermissionApi;
|
@@ -791,19 +764,11 @@ function AddButton(_a) {
|
|
791
764
|
});
|
792
765
|
return canAdd;
|
793
766
|
};
|
794
|
-
return (
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
React.createElement("ul", { tabIndex: 0, className: "tw-dropdown-content tw-pr-1 tw-list-none" }, layers.map(function (layer) {
|
800
|
-
var _a;
|
801
|
-
return (((_a = layer.api) === null || _a === void 0 ? void 0 : _a.createItem) && hasUserPermission(layer.api.collectionName, "create") && (React.createElement("li", { key: layer.name },
|
802
|
-
React.createElement("a", null,
|
803
|
-
React.createElement("div", { className: "tw-tooltip tw-tooltip-left", "data-tip": layer.menuText },
|
804
|
-
React.createElement("button", { tabIndex: 0, className: "tw-z-500 tw-border-0 tw-pl-2 tw-p-0 tw-mb-3 tw-w-10 tw-h-10 tw-cursor-pointer tw-rounded-full tw-mouse tw-drop-shadow-md tw-transition tw-ease-in tw-duration-200 focus:tw-outline-none", style: { backgroundColor: layer.menuColor }, onClick: function () { setSelectNewItemPosition(layer); } },
|
805
|
-
React.createElement(layer.menuIcon, { className: "tw-h-6 tw-w-6 tw-text-white" })))))));
|
806
|
-
}))) : ""));
|
767
|
+
return (jsx(Fragment, { children: canAddItems() ?
|
768
|
+
jsxs("div", __assign({ className: "tw-dropdown tw-dropdown-top tw-dropdown-end tw-dropdown-hover tw-z-500 tw-absolute tw-right-4 tw-bottom-4" }, { children: [jsx("label", __assign({ tabIndex: 0, className: "tw-z-500 tw-btn tw-btn-circle tw-shadow tw-bg-base-100" }, { children: jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "2", stroke: "currentColor", className: "tw-w-5 tw-h-5" }, { children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m7.5-7.5h-15" }) })) })), jsx("ul", __assign({ tabIndex: 0, className: "tw-dropdown-content tw-pr-1 tw-list-none" }, { children: layers.map(function (layer) {
|
769
|
+
var _a;
|
770
|
+
return (((_a = layer.api) === null || _a === void 0 ? void 0 : _a.createItem) && hasUserPermission(layer.api.collectionName, "create") && (jsx("li", { children: jsx("a", { children: jsx("div", __assign({ className: "tw-tooltip tw-tooltip-left", "data-tip": layer.menuText }, { children: jsx("button", __assign({ tabIndex: 0, className: "tw-z-500 tw-border-0 tw-pl-2 tw-p-0 tw-mb-3 tw-w-10 tw-h-10 tw-cursor-pointer tw-rounded-full tw-mouse tw-drop-shadow-md tw-transition tw-ease-in tw-duration-200 focus:tw-outline-none", style: { backgroundColor: layer.menuColor }, onClick: function () { setSelectNewItemPosition(layer); } }, { children: jsx(layer.menuIcon, { className: "tw-h-6 tw-w-6 tw-text-white" }) })) })) }) }, layer.name)));
|
771
|
+
}) }))] })) : "" }));
|
807
772
|
}
|
808
773
|
|
809
774
|
var ItemContext = createContext({
|
@@ -916,7 +881,7 @@ function useItemsManager(initialItems) {
|
|
916
881
|
}
|
917
882
|
var ItemsProvider = function (_a) {
|
918
883
|
var initialItems = _a.initialItems, children = _a.children;
|
919
|
-
return (
|
884
|
+
return (jsx(ItemContext.Provider, __assign({ value: useItemsManager(initialItems) }, { children: children })));
|
920
885
|
};
|
921
886
|
var useItems = function () {
|
922
887
|
var items = useContext(ItemContext).items;
|
@@ -949,18 +914,6 @@ var useAllItemsLoaded = function () {
|
|
949
914
|
|
950
915
|
var hashTagRegex = /(#+[a-zA-Z0-9À-ÖØ-öø-ʸ_-]{1,})/g;
|
951
916
|
|
952
|
-
function getValue(obj, path) {
|
953
|
-
if (!obj)
|
954
|
-
return undefined; // Return early if obj is falsy
|
955
|
-
var pathArray = path.split('.'); // Use a different variable for the split path
|
956
|
-
for (var i = 0, len = pathArray.length; i < len; i++) {
|
957
|
-
if (!obj)
|
958
|
-
return undefined; // Check if obj is falsy at each step
|
959
|
-
obj = obj[pathArray[i]]; // Dive one level deeper
|
960
|
-
}
|
961
|
-
return obj; // Return the final value
|
962
|
-
}
|
963
|
-
|
964
917
|
var TagContext = createContext({
|
965
918
|
tags: [],
|
966
919
|
addTag: function () { },
|
@@ -1055,7 +1008,7 @@ function useTagsManager(initialTags) {
|
|
1055
1008
|
}
|
1056
1009
|
var TagsProvider = function (_a) {
|
1057
1010
|
var initialTags = _a.initialTags, children = _a.children;
|
1058
|
-
return (
|
1011
|
+
return (jsx(TagContext.Provider, __assign({ value: useTagsManager(initialTags) }, { children: children })));
|
1059
1012
|
};
|
1060
1013
|
var useTags = function () {
|
1061
1014
|
var tags = useContext(TagContext).tags;
|
@@ -1216,7 +1169,7 @@ function useFilterManager(initialTags) {
|
|
1216
1169
|
}
|
1217
1170
|
var FilterProvider = function (_a) {
|
1218
1171
|
var initialTags = _a.initialTags, children = _a.children;
|
1219
|
-
return (
|
1172
|
+
return (jsx(FilterContext.Provider, __assign({ value: useFilterManager(initialTags) }, { children: children })));
|
1220
1173
|
};
|
1221
1174
|
var useFilterTags = function () {
|
1222
1175
|
var filterTags = useContext(FilterContext).filterTags;
|
@@ -1330,7 +1283,7 @@ function useLeafletRefsManager(initialLeafletRefs) {
|
|
1330
1283
|
}
|
1331
1284
|
var LeafletRefsProvider = function (_a) {
|
1332
1285
|
var initialLeafletRefs = _a.initialLeafletRefs, children = _a.children;
|
1333
|
-
return (
|
1286
|
+
return (jsx(LeafletRefsContext.Provider, __assign({ value: useLeafletRefsManager(initialLeafletRefs) }, { children: children })));
|
1334
1287
|
};
|
1335
1288
|
var useLeafletRefs = function () {
|
1336
1289
|
var leafletRefs = useContext(LeafletRefsContext).leafletRefs;
|
@@ -2314,9 +2267,7 @@ var LocateControl = function () {
|
|
2314
2267
|
setActive(true);
|
2315
2268
|
},
|
2316
2269
|
});
|
2317
|
-
return (
|
2318
|
-
React.createElement("div", { className: "tw-card tw-w-14 tw-bg-base-100 tw-shadow-xl tw-items-center tw-justify-center hover:tw-bg-slate-300 hover:tw-cursor-pointer tw-transition-all tw-duration-300" },
|
2319
|
-
React.createElement("div", { className: "tw-card-body tw-card tw-p-2 tw-h-10 tw-w-10 ", onClick: function () {
|
2270
|
+
return (jsx(Fragment, { children: jsx("div", __assign({ className: "tw-card tw-w-14 tw-bg-base-100 tw-shadow-xl tw-items-center tw-justify-center hover:tw-bg-slate-300 hover:tw-cursor-pointer tw-transition-all tw-duration-300" }, { children: jsx("div", __assign({ className: "tw-card-body tw-card tw-p-2 tw-h-10 tw-w-10 ", onClick: function () {
|
2320
2271
|
if (active) {
|
2321
2272
|
lc.stop();
|
2322
2273
|
setActive(false);
|
@@ -2325,9 +2276,8 @@ var LocateControl = function () {
|
|
2325
2276
|
lc.start();
|
2326
2277
|
setLoading(true);
|
2327
2278
|
}
|
2328
|
-
} }, loading ?
|
2329
|
-
|
2330
|
-
React.createElement("path", { d: "M30 14.75h-2.824c-0.608-5.219-4.707-9.318-9.874-9.921l-0.053-0.005v-2.824c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 2.824c-5.219 0.608-9.318 4.707-9.921 9.874l-0.005 0.053h-2.824c-0.69 0-1.25 0.56-1.25 1.25s0.56 1.25 1.25 1.25v0h2.824c0.608 5.219 4.707 9.318 9.874 9.921l0.053 0.005v2.824c0 0.69 0.56 1.25 1.25 1.25s1.25-0.56 1.25-1.25v0-2.824c5.219-0.608 9.318-4.707 9.921-9.874l0.005-0.053h2.824c0.69 0 1.25-0.56 1.25-1.25s-0.56-1.25-1.25-1.25v0zM17.25 24.624v-2.624c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 2.624c-3.821-0.57-6.803-3.553-7.368-7.326l-0.006-0.048h2.624c0.69 0 1.25-0.56 1.25-1.25s-0.56-1.25-1.25-1.25v0h-2.624c0.57-3.821 3.553-6.804 7.326-7.368l0.048-0.006v2.624c0 0.69 0.56 1.25 1.25 1.25s1.25-0.56 1.25-1.25v0-2.624c3.821 0.57 6.803 3.553 7.368 7.326l0.006 0.048h-2.624c-0.69 0-1.25 0.56-1.25 1.25s0.56 1.25 1.25 1.25v0h2.624c-0.571 3.821-3.553 6.803-7.326 7.368l-0.048 0.006z" }))))));
|
2279
|
+
} }, { children: loading ? jsx("span", { className: "tw-loading tw-loading-spinner tw-loading-md tw-mt-1" }) :
|
2280
|
+
jsx("svg", __assign({ fill: "".concat(active ? "#fc8702" : "currentColor"), viewBox: "0 0 32 32", version: "1.1", xmlns: "http://www.w3.org/2000/svg", className: 'tw-mt-1 tw-p-[1px]' }, { children: jsx("path", { d: "M30 14.75h-2.824c-0.608-5.219-4.707-9.318-9.874-9.921l-0.053-0.005v-2.824c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 2.824c-5.219 0.608-9.318 4.707-9.921 9.874l-0.005 0.053h-2.824c-0.69 0-1.25 0.56-1.25 1.25s0.56 1.25 1.25 1.25v0h2.824c0.608 5.219 4.707 9.318 9.874 9.921l0.053 0.005v2.824c0 0.69 0.56 1.25 1.25 1.25s1.25-0.56 1.25-1.25v0-2.824c5.219-0.608 9.318-4.707 9.921-9.874l0.005-0.053h2.824c0.69 0 1.25-0.56 1.25-1.25s-0.56-1.25-1.25-1.25v0zM17.25 24.624v-2.624c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 2.624c-3.821-0.57-6.803-3.553-7.368-7.326l-0.006-0.048h2.624c0.69 0 1.25-0.56 1.25-1.25s-0.56-1.25-1.25-1.25v0h-2.624c0.57-3.821 3.553-6.804 7.326-7.368l0.048-0.006v2.624c0 0.69 0.56 1.25 1.25 1.25s1.25-0.56 1.25-1.25v0-2.624c3.821 0.57 6.803 3.553 7.368 7.326l0.006 0.048h-2.624c-0.69 0-1.25 0.56-1.25 1.25s0.56 1.25 1.25 1.25v0h2.624c-0.571 3.821-3.553 6.803-7.326 7.368l-0.048 0.006z" }) })) })) })) }));
|
2331
2281
|
};
|
2332
2282
|
|
2333
2283
|
var createSvg = function (shape, markerColor, borderColor) {
|
@@ -2441,84 +2391,48 @@ var SearchControl = function (_a) {
|
|
2441
2391
|
});
|
2442
2392
|
}); };
|
2443
2393
|
var searchInput = useRef(null);
|
2444
|
-
return (
|
2445
|
-
|
2446
|
-
|
2447
|
-
|
2448
|
-
|
2449
|
-
|
2450
|
-
|
2451
|
-
|
2452
|
-
|
2453
|
-
|
2454
|
-
|
2455
|
-
|
2456
|
-
|
2457
|
-
|
2458
|
-
|
2459
|
-
|
2460
|
-
|
2461
|
-
|
2462
|
-
|
2463
|
-
|
2464
|
-
|
2465
|
-
|
2466
|
-
|
2467
|
-
|
2468
|
-
|
2469
|
-
|
2470
|
-
|
2471
|
-
|
2472
|
-
|
2473
|
-
|
2474
|
-
|
2475
|
-
|
2476
|
-
|
2477
|
-
|
2478
|
-
|
2479
|
-
|
2480
|
-
|
2481
|
-
|
2482
|
-
|
2483
|
-
|
2484
|
-
|
2485
|
-
|
2486
|
-
Array.from(geoResults).length > 0 && (itemsResults.length > 0 || tagsResults.length > 0) && React.createElement("hr", { className: 'tw-opacity-50' }),
|
2487
|
-
Array.from(geoResults).map(function (geo) {
|
2488
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
2489
|
-
return (React.createElement("div", { className: 'tw-flex tw-flex-row hover:tw-font-bold tw-cursor-pointer', key: Math.random(), onClick: function () {
|
2490
|
-
var _a, _b;
|
2491
|
-
(_a = searchInput.current) === null || _a === void 0 ? void 0 : _a.blur();
|
2492
|
-
L$1.marker(new LatLng(geo.geometry.coordinates[1], geo.geometry.coordinates[0]), { icon: MarkerIconFactory("circle", "#777", "RGBA(35, 31, 32, 0.2)", "circle-solid") }).addTo(map).bindPopup("<h3 class=\"tw-text-base tw-font-bold\">".concat((geo === null || geo === void 0 ? void 0 : geo.properties.name) ? geo === null || geo === void 0 ? void 0 : geo.properties.name : value, "<h3>").concat(capitalizeFirstLetter((_b = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _b === void 0 ? void 0 : _b.osm_value))).openPopup().addEventListener("popupclose", function (e) { console.log(e.target.remove()); });
|
2493
|
-
if (geo.properties.extent)
|
2494
|
-
map.fitBounds(new LatLngBounds(new LatLng(geo.properties.extent[1], geo.properties.extent[0]), new LatLng(geo.properties.extent[3], geo.properties.extent[2])));
|
2495
|
-
else
|
2496
|
-
map.setView(new LatLng(geo.geometry.coordinates[1], geo.geometry.coordinates[0]), 15, { duration: 1 });
|
2497
|
-
hide();
|
2498
|
-
} },
|
2499
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "tw-text-current tw-mr-2 tw-mt-0 tw-w-4" },
|
2500
|
-
React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" })),
|
2501
|
-
React.createElement("div", null,
|
2502
|
-
React.createElement("div", { className: 'tw-text-sm tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap tw-max-w-[17rem]' }, (geo === null || geo === void 0 ? void 0 : geo.properties.name) ? geo === null || geo === void 0 ? void 0 : geo.properties.name : value),
|
2503
|
-
React.createElement("div", { className: 'tw-text-xs tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap tw-max-w-[17rem]' },
|
2504
|
-
((_a = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _a === void 0 ? void 0 : _a.city) && "".concat(capitalizeFirstLetter((_b = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _b === void 0 ? void 0 : _b.city), ", "),
|
2505
|
-
" ",
|
2506
|
-
((_c = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _c === void 0 ? void 0 : _c.osm_value) && ((_d = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _d === void 0 ? void 0 : _d.osm_value) !== "yes" && ((_e = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _e === void 0 ? void 0 : _e.osm_value) !== "primary" && ((_f = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _f === void 0 ? void 0 : _f.osm_value) !== "path" && ((_g = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _g === void 0 ? void 0 : _g.osm_value) !== "secondary" && ((_h = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _h === void 0 ? void 0 : _h.osm_value) !== "residential" && ((_j = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _j === void 0 ? void 0 : _j.osm_value) !== "unclassified" && "".concat(capitalizeFirstLetter((_k = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _k === void 0 ? void 0 : _k.osm_value), ", "),
|
2507
|
-
" ",
|
2508
|
-
geo.properties.state && "".concat(geo.properties.state, ", "),
|
2509
|
-
" ",
|
2510
|
-
geo.properties.country && geo.properties.country))));
|
2511
|
-
}),
|
2512
|
-
isGeoCoordinate(value) &&
|
2513
|
-
React.createElement("div", { className: 'tw-flex tw-flex-row hover:tw-font-bold tw-cursor-pointer', onClick: function () {
|
2514
|
-
L$1.marker(new LatLng(extractCoordinates(value)[0], extractCoordinates(value)[1]), { icon: MarkerIconFactory("circle", "#777", "RGBA(35, 31, 32, 0.2)", "circle-solid") }).addTo(map).bindPopup("<h3 class=\"tw-text-base tw-font-bold\">".concat(extractCoordinates(value)[0], ", ").concat(extractCoordinates(value)[1], "</h3>")).openPopup().addEventListener("popupclose", function (e) { console.log(e.target.remove()); });
|
2515
|
-
map.setView(new LatLng(extractCoordinates(value)[0], extractCoordinates(value)[1]), 15, { duration: 1 });
|
2516
|
-
} },
|
2517
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "tw-text-current tw-mr-2 tw-mt-0 tw-w-4" },
|
2518
|
-
React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 3v1.5M3 21v-6m0 0 2.77-.693a9 9 0 0 1 6.208.682l.108.054a9 9 0 0 0 6.086.71l3.114-.732a48.524 48.524 0 0 1-.005-10.499l-3.11.732a9 9 0 0 1-6.085-.711l-.108-.054a9 9 0 0 0-6.208-.682L3 4.5M3 15V4.5" })),
|
2519
|
-
React.createElement("div", null,
|
2520
|
-
React.createElement("div", { className: 'tw-text-sm tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap tw-max-w-[17rem]' }, value),
|
2521
|
-
React.createElement("div", { className: 'tw-text-xs tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap tw-max-w-[17rem]' }, "Coordiante")))))));
|
2394
|
+
return (jsx(Fragment, { children: !(windowDimensions.height < 500 && popupOpen && hideSuggestions) &&
|
2395
|
+
jsxs("div", __assign({ className: 'tw-w-[calc(100vw-2rem)] tw-max-w-[22rem] ' }, { children: [jsxs("div", __assign({ className: 'flex tw-flex-row' }, { children: [jsx("input", { type: "text", placeholder: "search ...", autoComplete: "off", value: value, className: "tw-input tw-input-bordered tw-w-full tw-shadow-xl tw-rounded-lg tw-mr-2", ref: searchInput, onChange: function (e) { return setValue(e.target.value); }, onFocus: function () {
|
2396
|
+
setHideSuggestions(false);
|
2397
|
+
if (windowDimensions.width < 500)
|
2398
|
+
map.closePopup();
|
2399
|
+
}, onBlur: function () { return hide(); } }), jsx(LocateControl, {})] })), value.length > 0 && jsx("button", __assign({ className: "tw-btn tw-btn-sm tw-btn-circle tw-absolute tw-right-16 tw-top-2", onClick: function () { return setValue(""); } }, { children: "\u2715" })), hideSuggestions || Array.from(geoResults).length == 0 && itemsResults.length == 0 && tagsResults.length == 0 && !isGeoCoordinate(value) || value.length == 0 ? "" :
|
2400
|
+
jsxs("div", __assign({ className: 'tw-card tw-card-body tw-bg-base-100 tw-p-4 tw-mt-2 tw-shadow-xl tw-overflow-y-auto tw-max-h-[calc(100dvh-152px)]' }, { children: [tagsResults.length > 0 &&
|
2401
|
+
jsx("div", __assign({ className: 'tw-flex tw-flex-wrap tw-max-h-16 tw-overflow-hidden tw-min-h-[32px]' }, { children: tagsResults.map(function (tag) { return (jsx("div", __assign({ className: 'tw-rounded-2xl tw-text-white tw-p-1 tw-px-4 tw-shadow-md tw-card tw-mr-2 tw-mb-2 tw-cursor-pointer', style: { backgroundColor: tag.color }, onClick: function () {
|
2402
|
+
addFilterTag(tag);
|
2403
|
+
var params = new URLSearchParams(window.location.search);
|
2404
|
+
window.history.pushState({}, "", "/" + "".concat(params ? "?".concat(params) : ""));
|
2405
|
+
} }, { children: jsxs("b", { children: ["#", decodeTag(tag.name)] }) }), tag.name)); }) })), itemsResults.length > 0 && tagsResults.length > 0 && jsx("hr", { className: 'tw-opacity-50' }), itemsResults.slice(0, 5).map(function (item) { return (jsx("div", __assign({ className: 'tw-cursor-pointer hover:tw-font-bold', onClick: function () {
|
2406
|
+
var _a, _b;
|
2407
|
+
var marker = (_a = Object.entries(leafletRefs).find(function (r) { return r[1].item == item; })) === null || _a === void 0 ? void 0 : _a[1].marker;
|
2408
|
+
if (filterTags.length > 0) {
|
2409
|
+
marker !== null && window.history.pushState({}, "", "/".concat(item.layer.name, "/").concat(item.id));
|
2410
|
+
resetFilterTags();
|
2411
|
+
hide();
|
2412
|
+
}
|
2413
|
+
else {
|
2414
|
+
marker !== null && ((_b = clusterRef === null || clusterRef === void 0 ? void 0 : clusterRef.current) === null || _b === void 0 ? void 0 : _b.zoomToShowLayer(marker, function () {
|
2415
|
+
marker === null || marker === void 0 ? void 0 : marker.openPopup();
|
2416
|
+
hide();
|
2417
|
+
}));
|
2418
|
+
}
|
2419
|
+
} }, { children: jsxs("div", __assign({ className: 'tw-flex tw-flex-row' }, { children: [jsx(item.layer.menuIcon, { className: "tw-text-current tw-w-5 tw-mr-2 tw-mt-0" }), jsxs("div", { children: [jsx("div", __assign({ className: 'tw-text-sm tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap tw-max-w-[17rem]' }, { children: item.name })), jsx("div", __assign({ className: 'tw-text-xs tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap tw-max-w-[17rem]' }, { children: item.text }))] })] })) }), item.id)); }), Array.from(geoResults).length > 0 && (itemsResults.length > 0 || tagsResults.length > 0) && jsx("hr", { className: 'tw-opacity-50' }), Array.from(geoResults).map(function (geo) {
|
2420
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
2421
|
+
return (jsxs("div", __assign({ className: 'tw-flex tw-flex-row hover:tw-font-bold tw-cursor-pointer', onClick: function () {
|
2422
|
+
var _a, _b;
|
2423
|
+
(_a = searchInput.current) === null || _a === void 0 ? void 0 : _a.blur();
|
2424
|
+
L$1.marker(new LatLng(geo.geometry.coordinates[1], geo.geometry.coordinates[0]), { icon: MarkerIconFactory("circle", "#777", "RGBA(35, 31, 32, 0.2)", "circle-solid") }).addTo(map).bindPopup("<h3 class=\"tw-text-base tw-font-bold\">".concat((geo === null || geo === void 0 ? void 0 : geo.properties.name) ? geo === null || geo === void 0 ? void 0 : geo.properties.name : value, "<h3>").concat(capitalizeFirstLetter((_b = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _b === void 0 ? void 0 : _b.osm_value))).openPopup().addEventListener("popupclose", function (e) { console.log(e.target.remove()); });
|
2425
|
+
if (geo.properties.extent)
|
2426
|
+
map.fitBounds(new LatLngBounds(new LatLng(geo.properties.extent[1], geo.properties.extent[0]), new LatLng(geo.properties.extent[3], geo.properties.extent[2])));
|
2427
|
+
else
|
2428
|
+
map.setView(new LatLng(geo.geometry.coordinates[1], geo.geometry.coordinates[0]), 15, { duration: 1 });
|
2429
|
+
hide();
|
2430
|
+
} }, { children: [jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "tw-text-current tw-mr-2 tw-mt-0 tw-w-4" }, { children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" }) })), jsxs("div", { children: [jsx("div", __assign({ className: 'tw-text-sm tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap tw-max-w-[17rem]' }, { children: (geo === null || geo === void 0 ? void 0 : geo.properties.name) ? geo === null || geo === void 0 ? void 0 : geo.properties.name : value })), jsxs("div", __assign({ className: 'tw-text-xs tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap tw-max-w-[17rem]' }, { children: [((_a = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _a === void 0 ? void 0 : _a.city) && "".concat(capitalizeFirstLetter((_b = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _b === void 0 ? void 0 : _b.city), ", "), " ", ((_c = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _c === void 0 ? void 0 : _c.osm_value) && ((_d = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _d === void 0 ? void 0 : _d.osm_value) !== "yes" && ((_e = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _e === void 0 ? void 0 : _e.osm_value) !== "primary" && ((_f = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _f === void 0 ? void 0 : _f.osm_value) !== "path" && ((_g = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _g === void 0 ? void 0 : _g.osm_value) !== "secondary" && ((_h = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _h === void 0 ? void 0 : _h.osm_value) !== "residential" && ((_j = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _j === void 0 ? void 0 : _j.osm_value) !== "unclassified" && "".concat(capitalizeFirstLetter((_k = geo === null || geo === void 0 ? void 0 : geo.properties) === null || _k === void 0 ? void 0 : _k.osm_value), ", "), " ", geo.properties.state && "".concat(geo.properties.state, ", "), " ", geo.properties.country && geo.properties.country] }))] })] }), Math.random()));
|
2431
|
+
}), isGeoCoordinate(value) &&
|
2432
|
+
jsxs("div", __assign({ className: 'tw-flex tw-flex-row hover:tw-font-bold tw-cursor-pointer', onClick: function () {
|
2433
|
+
L$1.marker(new LatLng(extractCoordinates(value)[0], extractCoordinates(value)[1]), { icon: MarkerIconFactory("circle", "#777", "RGBA(35, 31, 32, 0.2)", "circle-solid") }).addTo(map).bindPopup("<h3 class=\"tw-text-base tw-font-bold\">".concat(extractCoordinates(value)[0], ", ").concat(extractCoordinates(value)[1], "</h3>")).openPopup().addEventListener("popupclose", function (e) { console.log(e.target.remove()); });
|
2434
|
+
map.setView(new LatLng(extractCoordinates(value)[0], extractCoordinates(value)[1]), 15, { duration: 1 });
|
2435
|
+
} }, { children: [jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "tw-text-current tw-mr-2 tw-mt-0 tw-w-4" }, { children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 3v1.5M3 21v-6m0 0 2.77-.693a9 9 0 0 1 6.208.682l.108.054a9 9 0 0 0 6.086.71l3.114-.732a48.524 48.524 0 0 1-.005-10.499l-3.11.732a9 9 0 0 1-6.085-.711l-.108-.054a9 9 0 0 0-6.208-.682L3 4.5M3 15V4.5" }) })), jsxs("div", { children: [jsx("div", __assign({ className: 'tw-text-sm tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap tw-max-w-[17rem]' }, { children: value })), jsx("div", __assign({ className: 'tw-text-xs tw-overflow-hidden tw-text-ellipsis tw-whitespace-nowrap tw-max-w-[17rem]' }, { children: "Coordiante" }))] })] }))] }))] })) }));
|
2522
2436
|
};
|
2523
2437
|
function isGeoCoordinate(input) {
|
2524
2438
|
var geokoordinatenRegex = /^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/;
|
@@ -2550,25 +2464,16 @@ function LayerControl() {
|
|
2550
2464
|
var isLayerVisible = useIsLayerVisible();
|
2551
2465
|
var toggleVisibleLayer = useToggleVisibleLayer();
|
2552
2466
|
var addVisibleLayer = useAddVisibleLayer();
|
2553
|
-
return (
|
2554
|
-
|
2555
|
-
|
2556
|
-
|
2557
|
-
|
2558
|
-
|
2559
|
-
|
2560
|
-
|
2561
|
-
|
2562
|
-
|
2563
|
-
React.createElement("span", { className: 'tw-text-sm tw-label-text tw-mx-2 tw-cursor-pointer' }, layer.name)));
|
2564
|
-
})))
|
2565
|
-
:
|
2566
|
-
React.createElement("div", { className: "tw-card-body hover:tw-bg-slate-300 tw-card tw-p-2 tw-h-10 tw-w-10 tw-transition-all tw-duration-300 hover:tw-cursor-pointer", onClick: function () {
|
2567
|
-
setOpen(true);
|
2568
|
-
} },
|
2569
|
-
React.createElement("svg", { version: "1.1", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg" },
|
2570
|
-
React.createElement("path", { id: "svg_1", fill: "currentColor", d: "m2.75565,11.90727l-1.03852,0.28372c-0.77718,0.38859 -0.77718,1.0138 0,1.4023l7.0156,3.5078c0.77718,0.38859 2.0275,0.38859 2.8047,0l7.0156,-3.5078c0.77718,-0.38859 0.77718,-1.0138 0,-1.4023l-0.63311,-0.48643l-4.67718,2.23624c-1.5452,0.77262 -3.31877,1.58343 -4.86407,0.81081l-5.62302,-2.84434z" }),
|
2571
|
-
React.createElement("path", { id: "svg_2", strokeWidth: "2", stroke: "currentColor", fill: "none", d: "m11.247,4.30851l6.2349,3.0877c0.69083,0.34211 0.69083,0.89295 0,1.2351l-6.2349,3.0877c-0.69083,0.34211 -1.8031,0.34212 -2.494,0l-6.2349,-3.0877c-0.69083,-0.34211 -0.69083,-0.89295 0,-1.2351l6.2349,-3.0877c0.69083,-0.34211 1.8031,-0.34211 2.494,0z" })))));
|
2467
|
+
return (jsx("div", __assign({ className: "tw-card tw-bg-base-100 tw-shadow-xl " }, { children: open ?
|
2468
|
+
jsxs("div", __assign({ className: "tw-card-body tw-p-2 tw-w-32 tw-transition-all tw-duration-300" }, { children: [jsx("label", __assign({ className: "tw-btn tw-btn-sm tw-rounded-2xl tw-btn-circle tw-btn-ghost hover:tw-bg-transparent tw-absolute tw-right-0 tw-top-0 tw-text-gray-600", onClick: function () {
|
2469
|
+
setOpen(false);
|
2470
|
+
} }, { children: jsx("p", __assign({ className: 'tw-text-center ' }, { children: "\u2715" })) })), jsx("ul", __assign({ className: 'tw-flex-row' }, { children: layers.map(function (layer) {
|
2471
|
+
return jsx("li", { children: jsxs("label", __assign({ htmlFor: layer.name, className: "tw-label tw-justify-normal tw-pt-1 tw-pb-1" }, { children: [jsx("input", { id: layer.name, onChange: function () { return toggleVisibleLayer(layer); }, type: "checkbox", className: "tw-checkbox tw-checkbox-xs tw-checkbox-success", checked: isLayerVisible(layer) }), jsx("span", __assign({ className: 'tw-text-sm tw-label-text tw-mx-2 tw-cursor-pointer' }, { children: layer.name }))] })) }, layer.name);
|
2472
|
+
}) }))] }))
|
2473
|
+
:
|
2474
|
+
jsx("div", __assign({ className: "tw-card-body hover:tw-bg-slate-300 tw-card tw-p-2 tw-h-10 tw-w-10 tw-transition-all tw-duration-300 hover:tw-cursor-pointer", onClick: function () {
|
2475
|
+
setOpen(true);
|
2476
|
+
} }, { children: jsxs("svg", __assign({ version: "1.1", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg" }, { children: [jsx("path", { id: "svg_1", fill: "currentColor", d: "m2.75565,11.90727l-1.03852,0.28372c-0.77718,0.38859 -0.77718,1.0138 0,1.4023l7.0156,3.5078c0.77718,0.38859 2.0275,0.38859 2.8047,0l7.0156,-3.5078c0.77718,-0.38859 0.77718,-1.0138 0,-1.4023l-0.63311,-0.48643l-4.67718,2.23624c-1.5452,0.77262 -3.31877,1.58343 -4.86407,0.81081l-5.62302,-2.84434z" }), jsx("path", { id: "svg_2", strokeWidth: "2", stroke: "currentColor", fill: "none", d: "m11.247,4.30851l6.2349,3.0877c0.69083,0.34211 0.69083,0.89295 0,1.2351l-6.2349,3.0877c-0.69083,0.34211 -1.8031,0.34212 -2.494,0l-6.2349,-3.0877c-0.69083,-0.34211 -0.69083,-0.89295 0,-1.2351l6.2349,-3.0877c0.69083,-0.34211 1.8031,-0.34211 2.494,0z" })] })) })) })));
|
2572
2477
|
}
|
2573
2478
|
|
2574
2479
|
var QuestContext = createContext({
|
@@ -2584,7 +2489,7 @@ function useQuestsManager(initialOpen) {
|
|
2584
2489
|
}
|
2585
2490
|
var QuestsProvider = function (_a) {
|
2586
2491
|
var initialOpen = _a.initialOpen, children = _a.children;
|
2587
|
-
return (
|
2492
|
+
return (jsx(QuestContext.Provider, __assign({ value: useQuestsManager(initialOpen) }, { children: children })));
|
2588
2493
|
};
|
2589
2494
|
var useQuestsOpen = function () {
|
2590
2495
|
var open = useContext(QuestContext).open;
|
@@ -2598,11 +2503,8 @@ var useSetQuestOpen = function () {
|
|
2598
2503
|
function QuestControl() {
|
2599
2504
|
var questsOpen = useQuestsOpen();
|
2600
2505
|
var setQuestsOpen = useSetQuestOpen();
|
2601
|
-
return (
|
2602
|
-
|
2603
|
-
React.createElement("div", { className: "tw-card-body hover:tw-bg-slate-300 tw-rounded-2xl tw-p-2 tw-h-10 tw-w-10 tw-transition-all tw-duration-300 hover:tw-cursor-pointer", onClick: function () { return setQuestsOpen(true); } },
|
2604
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", stroke: "currentColor", viewBox: "0 0 448 512" },
|
2605
|
-
React.createElement("path", { d: "M192 0c17.7 0 32 14.3 32 32V144H160V32c0-17.7 14.3-32 32-32zM64 64c0-17.7 14.3-32 32-32s32 14.3 32 32v80H64V64zm192 0c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V64zm96 64c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V128zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V256c0 52.3-25.1 98.8-64 128v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V401.6c-17.3-7.9-33.2-18.8-46.9-32.5L69.5 357.5C45.5 333.5 32 300.9 32 267V240c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z" }))))));
|
2506
|
+
return (jsx(Fragment, { children: questsOpen ? "" :
|
2507
|
+
jsx("div", __assign({ className: "tw-card tw-bg-base-100 tw-shadow-xl tw-my-2 tw-w-10", onClick: function (e) { return e.stopPropagation(); } }, { children: jsx("div", __assign({ className: "tw-card-body hover:tw-bg-slate-300 tw-rounded-2xl tw-p-2 tw-h-10 tw-w-10 tw-transition-all tw-duration-300 hover:tw-cursor-pointer", onClick: function () { return setQuestsOpen(true); } }, { children: jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", stroke: "currentColor", viewBox: "0 0 448 512" }, { children: jsx("path", { d: "M192 0c17.7 0 32 14.3 32 32V144H160V32c0-17.7 14.3-32 32-32zM64 64c0-17.7 14.3-32 32-32s32 14.3 32 32v80H64V64zm192 0c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V64zm96 64c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V128zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V256c0 52.3-25.1 98.8-64 128v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V401.6c-17.3-7.9-33.2-18.8-46.9-32.5L69.5 357.5C45.5 333.5 32 300.9 32 267V240c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z" }) })) })) })) }));
|
2606
2508
|
}
|
2607
2509
|
|
2608
2510
|
var Control = function (_a) {
|
@@ -2614,20 +2516,15 @@ var Control = function (_a) {
|
|
2614
2516
|
L$1.DomEvent.disableScrollPropagation(controlContainerRef.current);
|
2615
2517
|
}
|
2616
2518
|
}, [controlContainerRef]);
|
2617
|
-
return (
|
2519
|
+
return (jsx("div", __assign({ ref: controlContainerRef, style: { zIndex: zIndex }, className: "tw-absolute tw-z-[999] tw-flex-col ".concat(position === 'topLeft' && "tw-top-4 tw-left-4", " ").concat(position === 'bottomLeft' && "tw-bottom-4 tw-left-4", " ").concat(position === 'topRight' && "tw-bottom-4 tw-right-4", " ").concat(position === 'bottomRight' && "tw-bottom-4 tw-right-4") }, { children: children })));
|
2618
2520
|
};
|
2619
2521
|
|
2620
2522
|
var TagsControl = function () {
|
2621
2523
|
var filterTags = useFilterTags();
|
2622
2524
|
var removeFilterTag = useRemoveFilterTag();
|
2623
|
-
return (
|
2624
|
-
|
2625
|
-
|
2626
|
-
React.createElement("label", { className: "tw-btn tw-btn-xs tw-btn-circle tw-absolute tw--right-2 tw--top-2 tw-bg-white tw-text-gray-600", onClick: function () { return (removeFilterTag(tag.name)); } }, "\u2715")),
|
2627
|
-
React.createElement("b", null,
|
2628
|
-
"#",
|
2629
|
-
decodeTag(tag.name)));
|
2630
|
-
})));
|
2525
|
+
return (jsx("div", __assign({ className: 'tw-flex tw-flex-wrap tw-mt-4 tw-w-[calc(100vw-2rem)] tw-max-w-xs' }, { children: filterTags.map(function (tag) {
|
2526
|
+
return jsxs("div", __assign({ className: 'tw-rounded-2xl tw-text-white tw-p-2 tw-px-4 tw-shadow-xl tw-card tw-mr-2 tw-mb-2', style: { backgroundColor: tag.color } }, { children: [jsx("div", __assign({ className: "tw-card-actions tw-justify-end" }, { children: jsx("label", __assign({ className: "tw-btn tw-btn-xs tw-btn-circle tw-absolute tw--right-2 tw--top-2 tw-bg-white tw-text-gray-600", onClick: function () { return (removeFilterTag(tag.name)); } }, { children: "\u2715" })) })), jsxs("b", { children: ["#", decodeTag(tag.name)] })] }), tag.id);
|
2527
|
+
}) })));
|
2631
2528
|
};
|
2632
2529
|
|
2633
2530
|
// for refreshing map on resize (needs to be implemented)
|
@@ -2663,37 +2560,11 @@ function UtopiaMap(_a) {
|
|
2663
2560
|
var params = new URLSearchParams(location.search);
|
2664
2561
|
params.get("position");
|
2665
2562
|
}, [location]);
|
2666
|
-
return (
|
2667
|
-
|
2668
|
-
|
2669
|
-
|
2670
|
-
|
2671
|
-
React.createElement(ItemsProvider, { initialItems: [] },
|
2672
|
-
React.createElement(LeafletRefsProvider, { initialLeafletRefs: {} },
|
2673
|
-
React.createElement("div", { className: (selectNewItemPosition != null ? "crosshair-cursor-enabled" : undefined) },
|
2674
|
-
React.createElement(MapContainer, { ref: mapDivRef, style: { height: height, width: width }, center: new LatLng(center[0], center[1]), zoom: zoom, zoomControl: false },
|
2675
|
-
React.createElement(Outlet, null),
|
2676
|
-
React.createElement(Control, { position: 'topLeft', zIndex: "1000" },
|
2677
|
-
React.createElement(SearchControl, { clusterRef: clusterRef }),
|
2678
|
-
React.createElement(TagsControl, null)),
|
2679
|
-
React.createElement(Control, { position: 'bottomLeft', zIndex: "999" },
|
2680
|
-
React.createElement(QuestControl, null),
|
2681
|
-
React.createElement(LayerControl, null)),
|
2682
|
-
React.createElement(TileLayer, { attribution: '\u00A9 <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', url: "https://tile.osmand.net/hd/{z}/{x}/{y}.png" }),
|
2683
|
-
React.createElement(MarkerClusterGroup, { ref: clusterRef, showCoverageOnHover: true, chunkedLoading: true, maxClusterRadius: 50, removeOutsideVisibleBounds: false }, React.Children.toArray(children).map(function (child) {
|
2684
|
-
return React.isValidElement(child) ?
|
2685
|
-
React.cloneElement(child, { setItemFormPopup: setItemFormPopup, itemFormPopup: itemFormPopup, clusterRef: clusterRef }) : child;
|
2686
|
-
})),
|
2687
|
-
React.createElement(MapEventListener, { setSelectNewItemPosition: setSelectNewItemPosition, selectNewItemPosition: selectNewItemPosition, setItemFormPopup: setItemFormPopup })),
|
2688
|
-
React.createElement(AddButton, { setSelectNewItemPosition: setSelectNewItemPosition }),
|
2689
|
-
selectNewItemPosition != null &&
|
2690
|
-
React.createElement("div", { className: "tw-button tw-z-1000 tw-absolute tw-right-5 tw-top-4 tw-drop-shadow-md" },
|
2691
|
-
React.createElement("div", { className: "tw-alert tw-bg-base-100 tw-text-base-content" },
|
2692
|
-
React.createElement("div", null,
|
2693
|
-
React.createElement("span", null,
|
2694
|
-
"Select ",
|
2695
|
-
selectNewItemPosition.name,
|
2696
|
-
" position!")))))))))))));
|
2563
|
+
return (jsx(Fragment, { children: jsx(LayersProvider, __assign({ initialLayers: [] }, { children: jsx(TagsProvider, __assign({ initialTags: [] }, { children: jsx(PermissionsProvider, __assign({ initialPermissions: [] }, { children: jsx(FilterProvider, __assign({ initialTags: [] }, { children: jsx(ItemsProvider, __assign({ initialItems: [] }, { children: jsx(LeafletRefsProvider, __assign({ initialLeafletRefs: {} }, { children: jsxs("div", __assign({ className: (selectNewItemPosition != null ? "crosshair-cursor-enabled" : undefined) }, { children: [jsxs(MapContainer, __assign({ ref: mapDivRef, style: { height: height, width: width }, center: new LatLng(center[0], center[1]), zoom: zoom, zoomControl: false }, { children: [jsx(Outlet, {}), jsxs(Control, __assign({ position: 'topLeft', zIndex: "1000" }, { children: [jsx(SearchControl, { clusterRef: clusterRef }), jsx(TagsControl, {})] })), jsxs(Control, __assign({ position: 'bottomLeft', zIndex: "999" }, { children: [jsx(QuestControl, {}), jsx(LayerControl, {})] })), jsx(TileLayer, { attribution: '\u00A9 <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', url: "https://tile.osmand.net/hd/{z}/{x}/{y}.png" }), jsx(MarkerClusterGroup, __assign({ ref: clusterRef, showCoverageOnHover: true, chunkedLoading: true, maxClusterRadius: 50, removeOutsideVisibleBounds: false }, { children: React.Children.toArray(children).map(function (child) {
|
2564
|
+
return React.isValidElement(child) ?
|
2565
|
+
React.cloneElement(child, { setItemFormPopup: setItemFormPopup, itemFormPopup: itemFormPopup, clusterRef: clusterRef }) : child;
|
2566
|
+
}) })), jsx(MapEventListener, { setSelectNewItemPosition: setSelectNewItemPosition, selectNewItemPosition: selectNewItemPosition, setItemFormPopup: setItemFormPopup })] })), jsx(AddButton, { setSelectNewItemPosition: setSelectNewItemPosition }), selectNewItemPosition != null &&
|
2567
|
+
jsx("div", __assign({ className: "tw-button tw-z-1000 tw-absolute tw-right-5 tw-top-4 tw-drop-shadow-md" }, { children: jsx("div", __assign({ className: "tw-alert tw-bg-base-100 tw-text-base-content" }, { children: jsx("div", { children: jsxs("span", { children: ["Select ", selectNewItemPosition.name, " position!"] }) }) })) }))] })) })) })) })) })) })) })) }));
|
2697
2568
|
}
|
2698
2569
|
|
2699
2570
|
var AssetContext = createContext({
|
@@ -2709,7 +2580,7 @@ function useAssetsManager() {
|
|
2709
2580
|
}
|
2710
2581
|
var AssetsProvider = function (_a) {
|
2711
2582
|
var children = _a.children;
|
2712
|
-
return (
|
2583
|
+
return (jsx(AssetContext.Provider, __assign({ value: useAssetsManager() }, { children: children })));
|
2713
2584
|
};
|
2714
2585
|
var useAssetApi = function () {
|
2715
2586
|
var api = useContext(AssetContext).api;
|
@@ -2743,13 +2614,9 @@ var DialogModal = function (_a) {
|
|
2743
2614
|
document.body.classList.remove("modal-open");
|
2744
2615
|
}
|
2745
2616
|
}, [isOpened]);
|
2746
|
-
return (
|
2617
|
+
return (jsx("dialog", __assign({ className: 'tw-card tw-shadow-xl tw-absolute tw-right-0 tw-top-0 tw-bottom-0 tw-left-0 tw-m-auto tw-transition-opacity tw-duration-300 tw-p-4 tw-max-w-xl tw-bg-base-100', ref: ref, onCancel: onClose, onClick: function (e) {
|
2747
2618
|
return ref.current && !isClickInsideRectangle(e, ref.current) && onClose();
|
2748
|
-
} },
|
2749
|
-
React.createElement("div", { className: "tw-card-body tw-p-2" },
|
2750
|
-
React.createElement("h2", { className: 'tw-text-2xl tw-font-semibold tw-mb-2 tw-text-center' }, title),
|
2751
|
-
children,
|
2752
|
-
showCloseButton && React.createElement("button", { className: "tw-btn tw-btn-sm tw-btn-circle tw-btn-ghost tw-absolute tw-right-2 tw-top-2", onClick: onClose }, "\u2715"))));
|
2619
|
+
} }, { children: jsxs("div", __assign({ className: "tw-card-body tw-p-2" }, { children: [jsx("h2", __assign({ className: 'tw-text-2xl tw-font-semibold tw-mb-2 tw-text-center' }, { children: title })), children, showCloseButton && jsx("button", __assign({ className: "tw-btn tw-btn-sm tw-btn-circle tw-btn-ghost tw-absolute tw-right-2 tw-top-2", onClick: onClose }, { children: "\u2715" }))] })) })));
|
2753
2620
|
};
|
2754
2621
|
|
2755
2622
|
function HeaderView(_a) {
|
@@ -2814,46 +2681,19 @@ function HeaderView(_a) {
|
|
2814
2681
|
if (setItemFormPopup)
|
2815
2682
|
setItemFormPopup({ position: new LatLng(item.position.coordinates[1], item.position.coordinates[0]), layer: item.layer, item: item, setItemFormPopup: setItemFormPopup });
|
2816
2683
|
};
|
2817
|
-
return (
|
2818
|
-
|
2819
|
-
|
2820
|
-
|
2821
|
-
|
2822
|
-
|
2823
|
-
|
2824
|
-
|
2825
|
-
|
2826
|
-
|
2827
|
-
|
2828
|
-
|
2829
|
-
|
2830
|
-
React.createElement("div", { className: "tw-dropdown tw-dropdown-bottom" },
|
2831
|
-
React.createElement("label", { tabIndex: 0, className: "tw-bg-base-100 tw-btn tw-m-1 tw-leading-3 tw-border-none tw-min-h-0 tw-h-6" },
|
2832
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" },
|
2833
|
-
React.createElement("path", { d: "M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z" }))),
|
2834
|
-
React.createElement("ul", { tabIndex: 0, className: "tw-dropdown-content tw-menu tw-p-2 tw-shadow tw-bg-base-100 tw-rounded-box tw-z-1000" },
|
2835
|
-
((item.layer.api.updateItem && hasUserPermission((_q = item.layer.api) === null || _q === void 0 ? void 0 : _q.collectionName, "update")) || item.layer.customEditLink) && React.createElement("li", null,
|
2836
|
-
React.createElement("a", { className: "!tw-text-base-content tw-cursor-pointer", onClick: function (e) {
|
2837
|
-
var _a, _b;
|
2838
|
-
((_a = item.layer) === null || _a === void 0 ? void 0 : _a.customEditLink) && navigate(item.layer.customEditLink);
|
2839
|
-
!((_b = item.layer) === null || _b === void 0 ? void 0 : _b.customEditLink) && openEditPopup(e);
|
2840
|
-
} },
|
2841
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" },
|
2842
|
-
React.createElement("path", { d: "M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z" })))),
|
2843
|
-
item.layer.api.deleteItem && hasUserPermission((_r = item.layer.api) === null || _r === void 0 ? void 0 : _r.collectionName, "delete") && React.createElement("li", null,
|
2844
|
-
React.createElement("a", { className: 'tw-cursor-pointer !tw-text-error', onClick: openDeleteModal }, loading ? React.createElement("span", { className: "tw-loading tw-loading-spinner tw-loading-sm" })
|
2845
|
-
:
|
2846
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" },
|
2847
|
-
React.createElement("path", { fillRule: "evenodd", d: "M9 2a1 1 0 00-.894.553L7.382 4H4a1 1 0 000 2v10a2 2 0 002 2h8a2 2 0 002-2V6a1 1 0 100-2h-3.382l-.724-1.447A1 1 0 0011 2H9zM7 8a1 1 0 012 0v6a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v6a1 1 0 102 0V8a1 1 0 00-1-1z", clipRule: "evenodd" })))))))),
|
2848
|
-
React.createElement(DialogModal, { isOpened: modalOpen, title: "Are you sure?", showCloseButton: false, onClose: function () { return (setModalOpen(false)); } },
|
2849
|
-
React.createElement("span", null,
|
2850
|
-
"Do you want to delte ",
|
2851
|
-
React.createElement("b", null, item.name),
|
2852
|
-
"?"),
|
2853
|
-
React.createElement("div", { className: "tw-grid" },
|
2854
|
-
React.createElement("div", { className: "tw-flex tw-justify-between" },
|
2855
|
-
React.createElement("label", { className: "tw-btn tw-mt-4 tw-btn-error", onClick: removeItemFromMap }, "Yes"),
|
2856
|
-
React.createElement("label", { className: "tw-btn tw-mt-4", onClick: function () { return setModalOpen(false); } }, "No"))))));
|
2684
|
+
return (jsxs(Fragment, { children: [jsxs("div", __assign({ className: 'tw-grid tw-grid-cols-6 tw-pb-2' }, { children: [jsx("div", __assign({ className: 'tw-col-span-5' }, { children: jsxs("div", __assign({ className: "tw-flex tw-flex-row" }, { children: [avatar ?
|
2685
|
+
jsx("div", __assign({ className: "tw-w-10 tw-rounded-full" }, { children: jsx("img", { className: "tw-rounded-full", src: "".concat(avatar, "?width=80&height=80") }) }))
|
2686
|
+
:
|
2687
|
+
"", jsx("b", __assign({ className: "tw-text-xl tw-font-bold ".concat(avatar ? "tw-ml-2 tw-mt-1" : "") }, { children: title ? title : item.name }))] })) })), jsx("div", __assign({ className: 'tw-col-span-1' }, { children: (((_k = (_j = item.layer) === null || _j === void 0 ? void 0 : _j.api) === null || _k === void 0 ? void 0 : _k.deleteItem) || ((_m = (_l = item.layer) === null || _l === void 0 ? void 0 : _l.api) === null || _m === void 0 ? void 0 : _m.updateItem))
|
2688
|
+
&& ((user && (owner === null || owner === void 0 ? void 0 : owner.id) === user.id) || owner == undefined)
|
2689
|
+
&& (hasUserPermission((_o = item.layer.api) === null || _o === void 0 ? void 0 : _o.collectionName, "delete") || hasUserPermission((_p = item.layer.api) === null || _p === void 0 ? void 0 : _p.collectionName, "update")) &&
|
2690
|
+
jsxs("div", __assign({ className: "tw-dropdown tw-dropdown-bottom" }, { children: [jsx("label", __assign({ tabIndex: 0, className: "tw-bg-base-100 tw-btn tw-m-1 tw-leading-3 tw-border-none tw-min-h-0 tw-h-6" }, { children: jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" }, { children: jsx("path", { d: "M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z" }) })) })), jsxs("ul", __assign({ tabIndex: 0, className: "tw-dropdown-content tw-menu tw-p-2 tw-shadow tw-bg-base-100 tw-rounded-box tw-z-1000" }, { children: [((item.layer.api.updateItem && hasUserPermission((_q = item.layer.api) === null || _q === void 0 ? void 0 : _q.collectionName, "update")) || item.layer.customEditLink) && jsx("li", { children: jsx("a", __assign({ className: "!tw-text-base-content tw-cursor-pointer", onClick: function (e) {
|
2691
|
+
var _a, _b;
|
2692
|
+
((_a = item.layer) === null || _a === void 0 ? void 0 : _a.customEditLink) && navigate(item.layer.customEditLink);
|
2693
|
+
!((_b = item.layer) === null || _b === void 0 ? void 0 : _b.customEditLink) && openEditPopup(e);
|
2694
|
+
} }, { children: jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" }, { children: jsx("path", { d: "M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z" }) })) })) }), item.layer.api.deleteItem && hasUserPermission((_r = item.layer.api) === null || _r === void 0 ? void 0 : _r.collectionName, "delete") && jsx("li", { children: jsx("a", __assign({ className: 'tw-cursor-pointer !tw-text-error', onClick: openDeleteModal }, { children: loading ? jsx("span", { className: "tw-loading tw-loading-spinner tw-loading-sm" })
|
2695
|
+
:
|
2696
|
+
jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" }, { children: jsx("path", { fillRule: "evenodd", d: "M9 2a1 1 0 00-.894.553L7.382 4H4a1 1 0 000 2v10a2 2 0 002 2h8a2 2 0 002-2V6a1 1 0 100-2h-3.382l-.724-1.447A1 1 0 0011 2H9zM7 8a1 1 0 012 0v6a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v6a1 1 0 102 0V8a1 1 0 00-1-1z", clipRule: "evenodd" }) })) })) })] }))] })) }))] })), jsxs(DialogModal, __assign({ isOpened: modalOpen, title: "Are you sure?", showCloseButton: false, onClose: function () { return (setModalOpen(false)); } }, { children: [jsxs("span", { children: ["Do you want to delte ", jsx("b", { children: item.name }), "?"] }), jsx("div", __assign({ className: "tw-grid" }, { children: jsxs("div", __assign({ className: "tw-flex tw-justify-between" }, { children: [jsx("label", __assign({ className: "tw-btn tw-mt-4 tw-btn-error", onClick: removeItemFromMap }, { children: "Yes" })), jsx("label", __assign({ className: "tw-btn tw-mt-4", onClick: function () { return setModalOpen(false); } }, { children: "No" }))] })) }))] }))] }));
|
2857
2697
|
}
|
2858
2698
|
|
2859
2699
|
var urlRegex = /(^| )(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,10}(:[0-9]{1,10})?(\/.*)?$/gm;
|
@@ -2902,66 +2742,64 @@ var TextView = function (_a) {
|
|
2902
2742
|
}) : "";
|
2903
2743
|
var CustomH1 = function (_a) {
|
2904
2744
|
var children = _a.children;
|
2905
|
-
return (
|
2745
|
+
return (jsx("h1", __assign({ className: "tw-text-xl tw-font-bold" }, { children: children })));
|
2906
2746
|
};
|
2907
2747
|
var CustomH2 = function (_a) {
|
2908
2748
|
var children = _a.children;
|
2909
|
-
return (
|
2749
|
+
return (jsx("h2", __assign({ className: "tw-text-lg tw-font-bold" }, { children: children })));
|
2910
2750
|
};
|
2911
2751
|
var CustomH3 = function (_a) {
|
2912
2752
|
var children = _a.children;
|
2913
|
-
return (
|
2753
|
+
return (jsx("h3", __assign({ className: "tw-text-base tw-font-bold" }, { children: children })));
|
2914
2754
|
};
|
2915
2755
|
var CustomH4 = function (_a) {
|
2916
2756
|
var children = _a.children;
|
2917
|
-
return (
|
2757
|
+
return (jsx("h4", __assign({ className: "tw-text-base tw-font-bold" }, { children: children })));
|
2918
2758
|
};
|
2919
2759
|
var CustomH5 = function (_a) {
|
2920
2760
|
var children = _a.children;
|
2921
|
-
return (
|
2761
|
+
return (jsx("h5", __assign({ className: "tw-text-sm tw-font-bold" }, { children: children })));
|
2922
2762
|
};
|
2923
2763
|
var CustomH6 = function (_a) {
|
2924
2764
|
var children = _a.children;
|
2925
|
-
return (
|
2765
|
+
return (jsx("h6", __assign({ className: "tw-text-sm tw-font-bold" }, { children: children })));
|
2926
2766
|
};
|
2927
2767
|
var CustomParagraph = function (_a) {
|
2928
2768
|
var children = _a.children;
|
2929
|
-
return (
|
2769
|
+
return (jsx("p", __assign({ className: "!tw-my-2" }, { children: children })));
|
2930
2770
|
};
|
2931
2771
|
var CustomUnorderdList = function (_a) {
|
2932
2772
|
var children = _a.children;
|
2933
|
-
return (
|
2773
|
+
return (jsx("ul", __assign({ className: "tw-list-disc tw-list-inside" }, { children: children })));
|
2934
2774
|
};
|
2935
2775
|
var CustomOrderdList = function (_a) {
|
2936
2776
|
var children = _a.children;
|
2937
|
-
return (
|
2777
|
+
return (jsx("ol", __assign({ className: "tw-list-decimal tw-list-inside" }, { children: children })));
|
2938
2778
|
};
|
2939
2779
|
var CustomHorizontalRow = function (_a) {
|
2940
2780
|
var children = _a.children;
|
2941
|
-
return (
|
2781
|
+
return (jsx("hr", __assign({ className: "tw-border-current" }, { children: children })));
|
2942
2782
|
};
|
2943
2783
|
var CustomImage = function (_a) {
|
2944
2784
|
var alt = _a.alt, src = _a.src, title = _a.title;
|
2945
|
-
return (
|
2785
|
+
return (jsx("img", { className: "max-w-full rounded-lg shadow-md", src: src, alt: alt, title: title }));
|
2946
2786
|
};
|
2947
2787
|
var CustomExternalLink = function (_a) {
|
2948
2788
|
var href = _a.href, children = _a.children;
|
2949
|
-
return (
|
2950
|
-
" ",
|
2951
|
-
children));
|
2789
|
+
return (jsxs("a", __assign({ className: 'tw-font-bold', href: href, target: "_blank" }, { children: [" ", children] })));
|
2952
2790
|
};
|
2953
2791
|
var CustomHashTagLink = function (_a) {
|
2954
2792
|
var children = _a.children, tag = _a.tag, item = _a.item;
|
2955
|
-
return (
|
2793
|
+
return (jsx("a", __assign({ style: { color: tag ? tag.color : '#faa', fontWeight: 'bold', cursor: 'pointer' }, onClick: function (e) {
|
2956
2794
|
e.stopPropagation();
|
2957
2795
|
addFilterTag(tag);
|
2958
2796
|
// map.fitBounds(items)
|
2959
2797
|
// map.closePopup();
|
2960
|
-
} }, decodeTag(children)));
|
2798
|
+
} }, { children: decodeTag(children) }), tag ? tag.name + item.id : item.id));
|
2961
2799
|
};
|
2962
2800
|
return (
|
2963
2801
|
//@ts-ignore
|
2964
|
-
|
2802
|
+
jsx(Markdown, __assign({ className: "tw-text-map tw-leading-map ", remarkPlugins: [remarkBreaks], components: {
|
2965
2803
|
p: CustomParagraph,
|
2966
2804
|
a: function (_a) {
|
2967
2805
|
var href = _a.href, children = _a.children;
|
@@ -2970,14 +2808,14 @@ var TextView = function (_a) {
|
|
2970
2808
|
if (isYouTubeVideo) {
|
2971
2809
|
var videoId = href === null || href === void 0 ? void 0 : href.split('v=')[1].split('&')[0]; // Extrahiert die Video-ID aus der URL
|
2972
2810
|
var youtubeEmbedUrl = "https://www.youtube-nocookie.com/embed/".concat(videoId);
|
2973
|
-
return (
|
2811
|
+
return (jsx("iframe", { className: 'tw-w-full', src: youtubeEmbedUrl, allowFullScreen: true }));
|
2974
2812
|
}
|
2975
2813
|
if (href === null || href === void 0 ? void 0 : href.startsWith("#")) {
|
2976
2814
|
var tag = tags.find(function (t) { return t.name.toLowerCase() == decodeURI(href).slice(1).toLowerCase(); });
|
2977
|
-
return
|
2815
|
+
return jsx(CustomHashTagLink, __assign({ tag: tag, item: item }, { children: children }));
|
2978
2816
|
}
|
2979
2817
|
else {
|
2980
|
-
return (
|
2818
|
+
return (jsx(CustomExternalLink, __assign({ href: href }, { children: children })));
|
2981
2819
|
}
|
2982
2820
|
},
|
2983
2821
|
ul: CustomUnorderdList,
|
@@ -2990,7 +2828,7 @@ var TextView = function (_a) {
|
|
2990
2828
|
h4: CustomH4,
|
2991
2829
|
h5: CustomH5,
|
2992
2830
|
h6: CustomH6,
|
2993
|
-
} }, replacedText));
|
2831
|
+
} }, { children: replacedText })));
|
2994
2832
|
};
|
2995
2833
|
function truncateString(str, n, useWordBoundary) {
|
2996
2834
|
if (str.length <= n) {
|
@@ -3037,22 +2875,16 @@ var calculateTimeDifference = function (time) {
|
|
3037
2875
|
|
3038
2876
|
var ItemViewPopup = React.forwardRef(function (props, ref) {
|
3039
2877
|
var _a = useState(false), infoExpanded = _a[0], setInfoExpanded = _a[1];
|
3040
|
-
return (
|
3041
|
-
|
3042
|
-
|
3043
|
-
|
3044
|
-
|
3045
|
-
|
3046
|
-
|
3047
|
-
|
3048
|
-
|
3049
|
-
|
3050
|
-
React.createElement("div", { className: 'tw-flex -tw-mb-1 tw-flex-row tw-mr-2 tw-mt-1' },
|
3051
|
-
infoExpanded ?
|
3052
|
-
React.createElement("p", { className: "tw-italic tw-min-h-[21px] !tw-my-0 tw-text-gray-500 tw-cursor-pointer", onClick: function () { return setInfoExpanded(false); } }, "posted ".concat(props.item && props.item.user_created && props.item.user_created.first_name ? "by ".concat(props.item.user_created.first_name) : "", " ").concat(timeAgo(props.item.date_created)))
|
3053
|
-
:
|
3054
|
-
React.createElement("p", { className: "!tw-my-0 tw-min-h-[21px] tw-font-bold tw-cursor-pointer tw-text-gray-500", onClick: function () { return setInfoExpanded(true); } }, "\u24D8"),
|
3055
|
-
React.createElement("div", { className: 'tw-grow' })))));
|
2878
|
+
return (jsx(Popup, __assign({ ref: ref, maxHeight: 377, minWidth: 275, maxWidth: 275, autoPanPadding: [20, 80] }, { children: jsxs("div", __assign({ className: 'tw-bg-base-100 tw-text-base-content' }, { children: [jsx(HeaderView, { item: props.item, setItemFormPopup: props.setItemFormPopup }), jsx("div", __assign({ className: 'tw-overflow-y-auto tw-overflow-x-hidden tw-max-h-64 fade' }, { children: props.children ?
|
2879
|
+
React.Children.toArray(props.children).map(function (child) {
|
2880
|
+
return React.isValidElement(child) ?
|
2881
|
+
React.cloneElement(child, { item: props.item }) : "";
|
2882
|
+
})
|
2883
|
+
:
|
2884
|
+
jsx(TextView, { item: props.item }) })), jsxs("div", __assign({ className: 'tw-flex -tw-mb-1 tw-flex-row tw-mr-2 tw-mt-1' }, { children: [infoExpanded ?
|
2885
|
+
jsx("p", __assign({ className: "tw-italic tw-min-h-[21px] !tw-my-0 tw-text-gray-500 tw-cursor-pointer", onClick: function () { return setInfoExpanded(false); } }, { children: "posted ".concat(props.item && props.item.user_created && props.item.user_created.first_name ? "by ".concat(props.item.user_created.first_name) : "", " ").concat(timeAgo(props.item.date_created)) }))
|
2886
|
+
:
|
2887
|
+
jsx("p", __assign({ className: "!tw-my-0 tw-min-h-[21px] tw-font-bold tw-cursor-pointer tw-text-gray-500", onClick: function () { return setInfoExpanded(true); } }, { children: "\u24D8" })), jsx("div", { className: 'tw-grow' })] }))] })) })));
|
3056
2888
|
});
|
3057
2889
|
|
3058
2890
|
var Geometry = /** @class */ (function () {
|
@@ -3094,19 +2926,13 @@ function TextAreaInput(_a) {
|
|
3094
2926
|
init.current = true;
|
3095
2927
|
}
|
3096
2928
|
}, [ref]);
|
3097
|
-
return (
|
3098
|
-
labelTitle ? React.createElement("label", { className: "tw-label" },
|
3099
|
-
React.createElement("span", { className: "tw-label-text tw-text-base-content " + labelStyle }, labelTitle)) : "",
|
3100
|
-
React.createElement("textarea", { required: true, ref: ref, defaultValue: defaultValue, name: dataField, className: "tw-textarea tw-textarea-bordered tw-w-full tw-leading-5 ".concat(inputStyle ? inputStyle : ""), placeholder: placeholder || "", onChange: function (e) { return updateFormValue && updateFormValue(e.target.value); } })));
|
2929
|
+
return (jsxs("div", __assign({ className: "tw-form-control tw-w-full ".concat(containerStyle ? containerStyle : "") }, { children: [labelTitle ? jsx("label", __assign({ className: "tw-label" }, { children: jsx("span", __assign({ className: "tw-label-text tw-text-base-content " + labelStyle }, { children: labelTitle })) })) : "", jsx("textarea", { required: true, ref: ref, defaultValue: defaultValue, name: dataField, className: "tw-textarea tw-textarea-bordered tw-w-full tw-leading-5 ".concat(inputStyle ? inputStyle : ""), placeholder: placeholder || "", onChange: function (e) { return updateFormValue && updateFormValue(e.target.value); } })] })));
|
3101
2930
|
}
|
3102
2931
|
|
3103
2932
|
function TextInput(_a) {
|
3104
2933
|
var labelTitle = _a.labelTitle, labelStyle = _a.labelStyle, type = _a.type, dataField = _a.dataField, containerStyle = _a.containerStyle, inputStyle = _a.inputStyle, defaultValue = _a.defaultValue, placeholder = _a.placeholder, autocomplete = _a.autocomplete, updateFormValue = _a.updateFormValue;
|
3105
|
-
return (
|
3106
|
-
|
3107
|
-
React.createElement("span", { className: "tw-label-text tw-text-base-content " + labelStyle }, labelTitle))
|
3108
|
-
: " ",
|
3109
|
-
React.createElement("input", { required: true, type: type || "text", name: dataField, defaultValue: defaultValue, placeholder: placeholder || "", autoComplete: autocomplete, onChange: function (e) { return updateFormValue && updateFormValue(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full ".concat(inputStyle ? inputStyle : "") })));
|
2934
|
+
return (jsxs("div", __assign({ className: "tw-form-control tw-w-full ".concat(containerStyle) }, { children: [labelTitle ? jsx("label", __assign({ className: "tw-label" }, { children: jsx("span", __assign({ className: "tw-label-text tw-text-base-content " + labelStyle }, { children: labelTitle })) }))
|
2935
|
+
: " ", jsx("input", { required: true, type: type || "text", name: dataField, defaultValue: defaultValue, placeholder: placeholder || "", autoComplete: autocomplete, onChange: function (e) { return updateFormValue && updateFormValue(e.target.value); }, className: "tw-input tw-input-bordered tw-w-full ".concat(inputStyle ? inputStyle : "") })] })));
|
3110
2936
|
}
|
3111
2937
|
|
3112
2938
|
var randomColor = function () {
|
@@ -3246,29 +3072,21 @@ function ItemFormPopup(props) {
|
|
3246
3072
|
useEffect(function () {
|
3247
3073
|
resetPopup();
|
3248
3074
|
}, [props.position]);
|
3249
|
-
return (
|
3075
|
+
return (jsx(Popup, __assign({ minWidth: 275, maxWidth: 275, autoPanPadding: [20, 80], eventHandlers: {
|
3250
3076
|
remove: function () {
|
3251
3077
|
setTimeout(function () {
|
3252
3078
|
resetPopup();
|
3253
3079
|
}, 100);
|
3254
3080
|
}
|
3255
|
-
}, position: props.position },
|
3256
|
-
|
3257
|
-
|
3258
|
-
|
3259
|
-
|
3260
|
-
|
3261
|
-
|
3262
|
-
|
3263
|
-
|
3264
|
-
React.cloneElement(child, { item: props.item, key: props.position.toString(), setPopupTitle: setPopupTitle }) : "";
|
3265
|
-
})
|
3266
|
-
:
|
3267
|
-
React.createElement(React.Fragment, null,
|
3268
|
-
React.createElement(TextInput, { type: "text", placeholder: "Name", dataField: "name", defaultValue: props.item ? props.item.name : "", inputStyle: '' }),
|
3269
|
-
React.createElement(TextAreaInput, { key: props.position.toString(), placeholder: "Text", dataField: "text", defaultValue: props.item ? props.item.text : "", inputStyle: 'tw-h-40 tw-mt-5' })),
|
3270
|
-
React.createElement("div", { className: 'tw-flex tw-justify-center' },
|
3271
|
-
React.createElement("button", { className: spinner ? 'tw-btn tw-btn-disabled tw-mt-5 tw-place-self-center' : 'tw-btn tw-mt-5 tw-place-self-center', type: 'submit' }, spinner ? React.createElement("span", { className: "tw-loading tw-loading-spinner" }) : 'Save')))));
|
3081
|
+
}, position: props.position }, { children: jsxs("form", __assign({ ref: formRef, onReset: resetPopup, autoComplete: 'off', onSubmit: function (e) { return handleSubmit(e); } }, { children: [props.item ? jsx("div", { className: 'tw-h-3' })
|
3082
|
+
:
|
3083
|
+
jsx("div", __assign({ className: 'tw-flex tw-justify-center' }, { children: jsx("b", __assign({ className: "tw-text-xl tw-font-bold" }, { children: popupTitle ? popupTitle : "New ".concat(props.layer.name) })) })), props.children ?
|
3084
|
+
React.Children.toArray(props.children).map(function (child) {
|
3085
|
+
return React.isValidElement(child) ?
|
3086
|
+
React.cloneElement(child, { item: props.item, key: props.position.toString(), setPopupTitle: setPopupTitle }) : "";
|
3087
|
+
})
|
3088
|
+
:
|
3089
|
+
jsxs(Fragment, { children: [jsx(TextInput, { type: "text", placeholder: "Name", dataField: "name", defaultValue: props.item ? props.item.name : "", inputStyle: '' }), jsx(TextAreaInput, { placeholder: "Text", dataField: "text", defaultValue: props.item ? props.item.text : "", inputStyle: 'tw-h-40 tw-mt-5' }, props.position.toString())] }), jsx("div", __assign({ className: 'tw-flex tw-justify-center' }, { children: jsx("button", __assign({ className: spinner ? 'tw-btn tw-btn-disabled tw-mt-5 tw-place-self-center' : 'tw-btn tw-mt-5 tw-place-self-center', type: 'submit' }, { children: spinner ? jsx("span", { className: "tw-loading tw-loading-spinner" }) : 'Save' })) }))] })) })));
|
3272
3090
|
}
|
3273
3091
|
|
3274
3092
|
var Layer = function (_a) {
|
@@ -3353,84 +3171,78 @@ var Layer = function (_a) {
|
|
3353
3171
|
});
|
3354
3172
|
}
|
3355
3173
|
}, [tagsReady]);
|
3356
|
-
return (
|
3357
|
-
|
3358
|
-
|
3359
|
-
|
3360
|
-
|
3361
|
-
|
3362
|
-
|
3363
|
-
|
3364
|
-
|
3365
|
-
|
3366
|
-
|
3367
|
-
item
|
3368
|
-
|
3369
|
-
|
3370
|
-
|
3371
|
-
|
3372
|
-
return
|
3373
|
-
|
3374
|
-
}
|
3375
|
-
|
3376
|
-
|
3377
|
-
|
3378
|
-
|
3379
|
-
|
3380
|
-
|
3381
|
-
}
|
3382
|
-
|
3383
|
-
|
3384
|
-
|
3385
|
-
|
3386
|
-
|
3387
|
-
|
3388
|
-
|
3389
|
-
|
3390
|
-
|
3391
|
-
|
3392
|
-
|
3393
|
-
|
3394
|
-
|
3395
|
-
|
3396
|
-
|
3397
|
-
|
3398
|
-
|
3174
|
+
return (jsxs(Fragment, { children: [items &&
|
3175
|
+
((_c = (_b = items.
|
3176
|
+
filter(function (item) { var _a; return ((_a = item.layer) === null || _a === void 0 ? void 0 : _a.name) === name; })) === null || _b === void 0 ? void 0 : _b.filter(function (item) {
|
3177
|
+
return filterTags.length == 0 ? item : filterTags.every(function (tag) { return getItemTags(item).some(function (filterTag) { return filterTag.name.toLocaleLowerCase() === tag.name.toLocaleLowerCase(); }); });
|
3178
|
+
})) === null || _c === void 0 ? void 0 : _c.filter(function (item) { return item.layer && isLayerVisible(item.layer); }).map(function (item) {
|
3179
|
+
var _a;
|
3180
|
+
if (getValue(item, itemLongitudeField) && getValue(item, itemLatitudeField)) {
|
3181
|
+
if (getValue(item, itemTextField))
|
3182
|
+
item[itemTextField] = getValue(item, itemTextField);
|
3183
|
+
else
|
3184
|
+
item[itemTextField] = "";
|
3185
|
+
if (item === null || item === void 0 ? void 0 : item.tags) {
|
3186
|
+
item[itemTextField] = item[itemTextField] + '\n\n';
|
3187
|
+
item.tags.map(function (tag) {
|
3188
|
+
if (!item[itemTextField].includes("#".concat(encodeTag(tag))))
|
3189
|
+
return (item[itemTextField] = item[itemTextField] + "#".concat(encodeTag(tag), " "));
|
3190
|
+
return item[itemTextField];
|
3191
|
+
});
|
3192
|
+
}
|
3193
|
+
if (allTagsLoaded && allItemsLoaded) {
|
3194
|
+
(_a = item[itemTextField].match(hashTagRegex)) === null || _a === void 0 ? void 0 : _a.map(function (tag) {
|
3195
|
+
if ((!tags.find(function (t) { return t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase(); })) && !newTagsToAdd.find(function (t) { return t.name.toLocaleLowerCase() === tag.slice(1).toLocaleLowerCase(); })) {
|
3196
|
+
var newTag_1 = { id: crypto.randomUUID(), name: tag.slice(1), color: randomColor() };
|
3197
|
+
setNewTagsToAdd(function (current) { return __spreadArray(__spreadArray([], current, true), [newTag_1], false); });
|
3198
|
+
}
|
3199
|
+
});
|
3200
|
+
!tagsReady && setTagsReady(true);
|
3201
|
+
}
|
3202
|
+
var itemTtags = getItemTags(item);
|
3203
|
+
var latitude = itemLatitudeField && item ? getValue(item, itemLatitudeField) : undefined;
|
3204
|
+
var longitude = itemLongitudeField && item ? getValue(item, itemLongitudeField) : undefined;
|
3205
|
+
var color1 = markerDefaultColor;
|
3206
|
+
var color2 = "RGBA(35, 31, 32, 0.2)";
|
3207
|
+
if (itemColorField)
|
3208
|
+
color1 = getValue(item, itemColorField);
|
3209
|
+
else if (itemTtags && itemTtags[0]) {
|
3210
|
+
color1 = itemTtags[0].color;
|
3211
|
+
}
|
3212
|
+
if (itemTtags && itemTtags[0] && itemColorField)
|
3213
|
+
color2 = itemTtags[0].color;
|
3214
|
+
else if (itemTtags && itemTtags[1]) {
|
3215
|
+
color2 = itemTtags[1].color;
|
3216
|
+
}
|
3217
|
+
return (jsxs(Marker, __assign({ ref: function (r) {
|
3218
|
+
if (!(item.id in leafletRefs && leafletRefs[item.id].marker == r))
|
3219
|
+
r && addMarker(item, r);
|
3220
|
+
}, icon: MarkerIconFactory(markerShape, color1, color2, markerIcon), position: [latitude, longitude] }, { children: [(children && React.Children.toArray(children).some(function (child) { return React.isValidElement(child) && child.props.__TYPE === "ItemView"; }) ?
|
3221
|
+
React.Children.toArray(children).map(function (child) {
|
3222
|
+
return React.isValidElement(child) && child.props.__TYPE === "ItemView" ?
|
3223
|
+
jsx(ItemViewPopup, __assign({ ref: function (r) {
|
3224
|
+
if (!(item.id in leafletRefs && leafletRefs[item.id].popup == r))
|
3225
|
+
r && addPopup(item, r);
|
3226
|
+
}, item: item, setItemFormPopup: setItemFormPopup }, { children: child }), item.id + item.name)
|
3227
|
+
: "";
|
3228
|
+
})
|
3229
|
+
:
|
3230
|
+
jsx(Fragment, { children: jsx(ItemViewPopup, { ref: function (r) {
|
3231
|
+
if (!(item.id in leafletRefs && leafletRefs[item.id].popup == r))
|
3232
|
+
r && addPopup(item, r);
|
3233
|
+
}, item: item, setItemFormPopup: setItemFormPopup }, item.id + item.name) })), jsx(Tooltip, __assign({ offset: [0, -38], direction: 'top' }, { children: item.name ? item.name : getValue(item, itemNameField) }))] }), item.id));
|
3399
3234
|
}
|
3400
|
-
|
3401
|
-
|
3402
|
-
|
3403
|
-
|
3404
|
-
|
3405
|
-
|
3406
|
-
|
3407
|
-
|
3408
|
-
|
3409
|
-
|
3410
|
-
|
3411
|
-
: "";
|
3412
|
-
})
|
3413
|
-
:
|
3414
|
-
React.createElement(React.Fragment, null,
|
3415
|
-
React.createElement(ItemViewPopup, { key: item.id + item.name, ref: function (r) {
|
3416
|
-
if (!(item.id in leafletRefs && leafletRefs[item.id].popup == r))
|
3417
|
-
r && addPopup(item, r);
|
3418
|
-
}, item: item, setItemFormPopup: setItemFormPopup }))),
|
3419
|
-
React.createElement(Tooltip, { offset: [0, -38], direction: 'top' }, item.name ? item.name : getValue(item, itemNameField))));
|
3420
|
-
}
|
3421
|
-
else
|
3422
|
-
return null;
|
3423
|
-
})),
|
3424
|
-
itemFormPopup && itemFormPopup.layer.name == name &&
|
3425
|
-
(children && React.Children.toArray(children).some(function (child) { return React.isValidElement(child) && child.props.__TYPE === "ItemForm"; }) ?
|
3426
|
-
React.Children.toArray(children).map(function (child) {
|
3427
|
-
return React.isValidElement(child) && child.props.__TYPE === "ItemForm" ?
|
3428
|
-
React.createElement(ItemFormPopup, { key: setItemFormPopup === null || setItemFormPopup === void 0 ? void 0 : setItemFormPopup.name, position: itemFormPopup.position, layer: itemFormPopup.layer, setItemFormPopup: setItemFormPopup, item: itemFormPopup.item }, child)
|
3429
|
-
: "";
|
3430
|
-
})
|
3431
|
-
:
|
3432
|
-
React.createElement(React.Fragment, null,
|
3433
|
-
React.createElement(ItemFormPopup, { position: itemFormPopup.position, layer: itemFormPopup.layer, setItemFormPopup: setItemFormPopup, item: itemFormPopup.item })))));
|
3235
|
+
else
|
3236
|
+
return null;
|
3237
|
+
})), itemFormPopup && itemFormPopup.layer.name == name &&
|
3238
|
+
(children && React.Children.toArray(children).some(function (child) { return React.isValidElement(child) && child.props.__TYPE === "ItemForm"; }) ?
|
3239
|
+
React.Children.toArray(children).map(function (child) {
|
3240
|
+
return React.isValidElement(child) && child.props.__TYPE === "ItemForm" ?
|
3241
|
+
jsx(ItemFormPopup, __assign({ position: itemFormPopup.position, layer: itemFormPopup.layer, setItemFormPopup: setItemFormPopup, item: itemFormPopup.item }, { children: child }), setItemFormPopup === null || setItemFormPopup === void 0 ? void 0 : setItemFormPopup.name)
|
3242
|
+
: "";
|
3243
|
+
})
|
3244
|
+
:
|
3245
|
+
jsx(Fragment, { children: jsx(ItemFormPopup, { position: itemFormPopup.position, layer: itemFormPopup.layer, setItemFormPopup: setItemFormPopup, item: itemFormPopup.item }) }))] }));
|
3434
3246
|
};
|
3435
3247
|
|
3436
3248
|
function Tags(_a) {
|
@@ -3452,7 +3264,7 @@ function Tags(_a) {
|
|
3452
3264
|
tag && addFilterTag(tag);
|
3453
3265
|
});
|
3454
3266
|
}, [location, tags]);
|
3455
|
-
return (
|
3267
|
+
return (jsx(Fragment, {}));
|
3456
3268
|
}
|
3457
3269
|
|
3458
3270
|
function Permissions(_a) {
|
@@ -3466,7 +3278,7 @@ function Permissions(_a) {
|
|
3466
3278
|
data && setPermissionData(data);
|
3467
3279
|
api && setPermissionApi(api);
|
3468
3280
|
}, [api, data, adminRole, user]);
|
3469
|
-
return (
|
3281
|
+
return (jsx(Fragment, {}));
|
3470
3282
|
}
|
3471
3283
|
|
3472
3284
|
var ItemForm = function (_a) {
|
@@ -3474,11 +3286,11 @@ var ItemForm = function (_a) {
|
|
3474
3286
|
useEffect(function () {
|
3475
3287
|
setPopupTitle && title && setPopupTitle(title);
|
3476
3288
|
}, [title]);
|
3477
|
-
return (
|
3478
|
-
|
3479
|
-
|
3480
|
-
|
3481
|
-
|
3289
|
+
return (jsx("div", { children: children ?
|
3290
|
+
React.Children.toArray(children).map(function (child) {
|
3291
|
+
return React.isValidElement(child) ?
|
3292
|
+
React.cloneElement(child, { item: item, test: "test" }) : "";
|
3293
|
+
}) : "" }));
|
3482
3294
|
};
|
3483
3295
|
ItemForm.propTypes = {
|
3484
3296
|
children: PropTypes.node,
|
@@ -3490,11 +3302,11 @@ ItemForm.defaultProps = {
|
|
3490
3302
|
|
3491
3303
|
var ItemView = function (_a) {
|
3492
3304
|
var children = _a.children, item = _a.item;
|
3493
|
-
return (
|
3494
|
-
|
3495
|
-
|
3496
|
-
|
3497
|
-
|
3305
|
+
return (jsx("div", { children: children ?
|
3306
|
+
React.Children.toArray(children).map(function (child) {
|
3307
|
+
return React.isValidElement(child) ?
|
3308
|
+
React.cloneElement(child, { item: item }) : "";
|
3309
|
+
}) : "" }));
|
3498
3310
|
};
|
3499
3311
|
ItemView.propTypes = {
|
3500
3312
|
children: PropTypes.node,
|
@@ -3511,58 +3323,37 @@ function SelectBox(props) {
|
|
3511
3323
|
updateFormValue(newValue);
|
3512
3324
|
setValue(newValue);
|
3513
3325
|
};
|
3514
|
-
return (
|
3515
|
-
|
3516
|
-
|
3517
|
-
|
3518
|
-
|
3519
|
-
labelDescription && React.createElement("div", { className: "tw-tooltip tw-tooltip-right", "data-tip": labelDescription },
|
3520
|
-
React.createElement(InformationCircleIcon, { className: 'tw-w-4 tw-h-4' }))))
|
3521
|
-
: "",
|
3522
|
-
React.createElement("select", { className: "tw-select tw-select-bordered tw-w-full", value: value, onChange: function (e) { return updateValue(e.target.value); } },
|
3523
|
-
React.createElement("option", { disabled: true, value: "PLACEHOLDER" }, placeholder),
|
3524
|
-
options.map(function (o, k) {
|
3525
|
-
return React.createElement("option", { value: o.value || o.name, key: k }, o.name);
|
3526
|
-
}))));
|
3326
|
+
return (jsxs("div", __assign({ className: "tw-inline-block ".concat(containerStyle) }, { children: [labelTitle ?
|
3327
|
+
jsx("label", __assign({ className: "tw-label ".concat(labelStyle) }, { children: jsxs("div", __assign({ className: "tw-label-text" }, { children: [labelTitle, labelDescription && jsx("div", __assign({ className: "tw-tooltip tw-tooltip-right", "data-tip": labelDescription }, { children: jsx(InformationCircleIcon, { className: 'tw-w-4 tw-h-4' }) }))] })) }))
|
3328
|
+
: "", jsxs("select", __assign({ className: "tw-select tw-select-bordered tw-w-full", value: value, onChange: function (e) { return updateValue(e.target.value); } }, { children: [jsx("option", __assign({ disabled: true, value: "PLACEHOLDER" }, { children: placeholder })), options.map(function (o, k) {
|
3329
|
+
return jsx("option", __assign({ value: o.value || o.name }, { children: o.name }), k);
|
3330
|
+
})] }))] })));
|
3527
3331
|
}
|
3528
3332
|
|
3529
3333
|
var PopupTextAreaInput = function (_a) {
|
3530
3334
|
var dataField = _a.dataField, placeholder = _a.placeholder, style = _a.style, item = _a.item;
|
3531
|
-
return (
|
3335
|
+
return (jsx(TextAreaInput, { defaultValue: (item === null || item === void 0 ? void 0 : item.text) ? item.text : "", dataField: dataField, placeholder: placeholder, inputStyle: style }));
|
3532
3336
|
};
|
3533
3337
|
|
3534
3338
|
var PopupStartEndInput = function (_a) {
|
3535
3339
|
var item = _a.item;
|
3536
|
-
return (
|
3537
|
-
React.createElement(TextInput, { type: 'date', placeholder: 'start', dataField: 'start', inputStyle: 'tw-text-sm tw-px-2', labelTitle: 'start', defaultValue: item && item.start ? item.start.substring(0, 10) : "", autocomplete: 'one-time-code' }),
|
3538
|
-
React.createElement(TextInput, { type: 'date', placeholder: 'end', dataField: 'end', inputStyle: 'tw-text-sm tw-px-2', labelTitle: 'end', defaultValue: item && item.end ? item.end.substring(0, 10) : "", autocomplete: 'one-time-code' })));
|
3340
|
+
return (jsxs("div", __assign({ className: 'tw-grid tw-grid-cols-2 tw-gap-2 tw-mb-5' }, { children: [jsx(TextInput, { type: 'date', placeholder: 'start', dataField: 'start', inputStyle: 'tw-text-sm tw-px-2', labelTitle: 'start', defaultValue: item && item.start ? item.start.substring(0, 10) : "", autocomplete: 'one-time-code' }), jsx(TextInput, { type: 'date', placeholder: 'end', dataField: 'end', inputStyle: 'tw-text-sm tw-px-2', labelTitle: 'end', defaultValue: item && item.end ? item.end.substring(0, 10) : "", autocomplete: 'one-time-code' })] })));
|
3539
3341
|
};
|
3540
3342
|
|
3541
3343
|
var PopupTextInput = function (_a) {
|
3542
3344
|
var dataField = _a.dataField, placeholder = _a.placeholder, style = _a.style, item = _a.item;
|
3543
|
-
return (
|
3345
|
+
return (jsx(TextInput, { defaultValue: (item === null || item === void 0 ? void 0 : item.name) ? item.name : "", dataField: dataField, placeholder: placeholder, inputStyle: style, type: 'text' }));
|
3544
3346
|
};
|
3545
3347
|
|
3546
3348
|
var StartEndView = function (_a) {
|
3547
3349
|
var item = _a.item;
|
3548
|
-
return (
|
3549
|
-
React.createElement("div", { className: "tw-basis-2/5 tw-flex tw-flex-row" },
|
3550
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "tw-h-4 tw-w-4 tw-mr-2", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2 },
|
3551
|
-
React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })),
|
3552
|
-
React.createElement("time", { className: 'tw-align-middle', dateTime: item && item.start ? item.start.substring(0, 10) : "" }, item && item.start ? new Date(item.start).toLocaleDateString() : "")),
|
3553
|
-
React.createElement("div", { className: "tw-basis-1/5 tw-place-content-center" },
|
3554
|
-
React.createElement("span", null, "-")),
|
3555
|
-
React.createElement("div", { className: "tw-basis-2/5 tw-flex tw-flex-row" },
|
3556
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "tw-h-4 tw-w-4 tw-mr-2", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2 },
|
3557
|
-
React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })),
|
3558
|
-
React.createElement("time", { className: 'tw-align-middle', dateTime: item && item.end ? item.end.substring(0, 10) : "" }, item && item.end ? new Date(item.end).toLocaleDateString() : ""))));
|
3350
|
+
return (jsxs("div", __assign({ className: "tw-flex tw-flex-row tw-mb-4 tw-mt-1" }, { children: [jsxs("div", __assign({ className: "tw-basis-2/5 tw-flex tw-flex-row" }, { children: [jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", className: "tw-h-4 tw-w-4 tw-mr-2", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2 }, { children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) })), jsx("time", __assign({ className: 'tw-align-middle', dateTime: item && item.start ? item.start.substring(0, 10) : "" }, { children: item && item.start ? new Date(item.start).toLocaleDateString() : "" }))] })), jsx("div", __assign({ className: "tw-basis-1/5 tw-place-content-center" }, { children: jsx("span", { children: "-" }) })), jsxs("div", __assign({ className: "tw-basis-2/5 tw-flex tw-flex-row" }, { children: [jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", className: "tw-h-4 tw-w-4 tw-mr-2", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2 }, { children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) })), jsx("time", __assign({ className: 'tw-align-middle', dateTime: item && item.end ? item.end.substring(0, 10) : "" }, { children: item && item.end ? new Date(item.end).toLocaleDateString() : "" }))] }))] })));
|
3559
3351
|
};
|
3560
3352
|
|
3561
3353
|
var PopupButton = function (_a) {
|
3562
3354
|
var _b;
|
3563
3355
|
var url = _a.url, parameterField = _a.parameterField, text = _a.text, colorField = _a.colorField, item = _a.item;
|
3564
|
-
return (
|
3565
|
-
React.createElement("button", { style: { backgroundColor: "".concat(colorField && getValue(item, colorField) ? getValue(item, colorField) : (_b = item === null || item === void 0 ? void 0 : item.layer) === null || _b === void 0 ? void 0 : _b.markerDefaultColor) }, className: "tw-btn tw-text-white tw-btn-sm tw-float-right tw-mt-1" }, text)));
|
3356
|
+
return (jsx(Link, __assign({ to: "".concat(url, "/").concat(parameterField ? getValue(item, parameterField) : "") }, { children: jsx("button", __assign({ style: { backgroundColor: "".concat(colorField && getValue(item, colorField) ? getValue(item, colorField) : (_b = item === null || item === void 0 ? void 0 : item.layer) === null || _b === void 0 ? void 0 : _b.markerDefaultColor) }, className: "tw-btn tw-text-white tw-btn-sm tw-float-right tw-mt-1" }, { children: text })) })));
|
3566
3357
|
};
|
3567
3358
|
|
3568
3359
|
function NavBar(_a) {
|
@@ -3586,50 +3377,10 @@ function NavBar(_a) {
|
|
3586
3377
|
pending: 'logging out ..'
|
3587
3378
|
});
|
3588
3379
|
};
|
3589
|
-
return (
|
3590
|
-
|
3591
|
-
|
3592
|
-
|
3593
|
-
React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M4 6h16M4 12h16M4 18h16" }))),
|
3594
|
-
React.createElement("div", { className: "tw-flex-1 tw-mr-2" },
|
3595
|
-
React.createElement("div", { className: "tw-flex-1 tw-truncate tw-grid tw-grid-flow-col", style: { maxWidth: nameWidth } },
|
3596
|
-
React.createElement(Link, { className: "tw-btn tw-btn-ghost tw-px-2 tw-normal-case tw-text-xl tw-flex-1 tw-truncate", to: "/" },
|
3597
|
-
React.createElement("h1", { className: "tw-truncate" }, appName)),
|
3598
|
-
React.createElement("button", { className: "tw-btn tw-px-2 tw-btn-ghost", onClick: function () { return window.my_modal_3.showModal(); } },
|
3599
|
-
React.createElement(QuestionMarkIcon, { className: "tw-h-5 tw-w-5" })))),
|
3600
|
-
isAuthenticated ?
|
3601
|
-
React.createElement("div", { className: "tw-flex-none" },
|
3602
|
-
(user === null || user === void 0 ? void 0 : user.avatar) ? React.createElement("div", { className: "tw-avatar" },
|
3603
|
-
React.createElement("div", { className: "tw-w-10 tw-rounded-full" },
|
3604
|
-
React.createElement("img", { src: "https://api.utopia-lab.org/assets/" + (user === null || user === void 0 ? void 0 : user.avatar) + "?access_token=" + token }))) : React.createElement(React.Fragment, null),
|
3605
|
-
React.createElement("div", { className: 'tw-ml-2 tw-mr-2' }, user === null || user === void 0 ? void 0 : user.first_name),
|
3606
|
-
React.createElement("div", { className: "tw-dropdown tw-dropdown-end" },
|
3607
|
-
React.createElement("label", { tabIndex: 0, className: "tw-btn tw-btn-ghost tw-btn-square" },
|
3608
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" },
|
3609
|
-
React.createElement("path", { d: "M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z" }))),
|
3610
|
-
React.createElement("ul", { tabIndex: 0, className: "tw-menu tw-menu-compact tw-dropdown-content tw-mt-3 tw-p-2 tw-shadow tw-bg-base-100 tw-rounded-box tw-w-52 !tw-z-[10000]" },
|
3611
|
-
React.createElement("li", null,
|
3612
|
-
React.createElement(Link, { to: "/profile-settings" }, "Profile")),
|
3613
|
-
React.createElement("li", null,
|
3614
|
-
React.createElement(Link, { to: "/user-settings" }, "Settings")),
|
3615
|
-
React.createElement("li", null,
|
3616
|
-
React.createElement("a", { onClick: function () { onLogout(); } }, "Logout")))))
|
3617
|
-
:
|
3618
|
-
React.createElement("div", null,
|
3619
|
-
React.createElement("div", { className: "tw-hidden md:tw-flex" },
|
3620
|
-
React.createElement(Link, { to: "/login" },
|
3621
|
-
React.createElement("div", { className: "tw-btn tw-btn-ghost tw-mr-2" }, "Login")),
|
3622
|
-
React.createElement(Link, { to: "/signup" },
|
3623
|
-
React.createElement("div", { className: "tw-btn tw-btn-ghost tw-mr-2" }, "Sign Up"))),
|
3624
|
-
React.createElement("div", { className: "tw-dropdown tw-dropdown-end" },
|
3625
|
-
React.createElement("label", { tabIndex: 1, className: "tw-btn tw-btn-ghost md:tw-hidden" },
|
3626
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" },
|
3627
|
-
React.createElement("path", { d: "M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z" }))),
|
3628
|
-
React.createElement("ul", { tabIndex: 1, className: "tw-menu tw-dropdown-content tw-mt-3 tw-p-2 tw-shadow tw-bg-base-100 tw-rounded-box tw-w-52 !tw-z-[10000]" },
|
3629
|
-
React.createElement("li", null,
|
3630
|
-
React.createElement(Link, { to: "/login" }, "Login")),
|
3631
|
-
React.createElement("li", null,
|
3632
|
-
React.createElement(Link, { to: "/signup" }, "Sign Up"))))))));
|
3380
|
+
return (jsx(Fragment, { children: jsxs("div", __assign({ className: "tw-navbar tw-bg-base-100 tw-z-[10000] tw-shadow-xl tw-relative" }, { children: [jsx("button", __assign({ className: "tw-btn tw-btn-square tw-btn-ghost", "data-te-sidenav-toggle-ref": true, "data-te-target": "#sidenav", "aria-controls": "#sidenav", "aria-haspopup": "true" }, { children: jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", className: "tw-inline-block tw-w-5 tw-h-5 tw-stroke-current" }, { children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M4 6h16M4 12h16M4 18h16" }) })) })), jsx("div", __assign({ className: "tw-flex-1 tw-mr-2" }, { children: jsxs("div", __assign({ className: "tw-flex-1 tw-truncate tw-grid tw-grid-flow-col", style: { maxWidth: nameWidth } }, { children: [jsx(Link, __assign({ className: "tw-btn tw-btn-ghost tw-px-2 tw-normal-case tw-text-xl tw-flex-1 tw-truncate", to: "/" }, { children: jsx("h1", __assign({ className: "tw-truncate" }, { children: appName })) })), jsx("button", __assign({ className: "tw-btn tw-px-2 tw-btn-ghost", onClick: function () { return window.my_modal_3.showModal(); } }, { children: jsx(QuestionMarkIcon, { className: "tw-h-5 tw-w-5" }) }))] })) })), isAuthenticated ?
|
3381
|
+
jsxs("div", __assign({ className: "tw-flex-none" }, { children: [(user === null || user === void 0 ? void 0 : user.avatar) ? jsx("div", __assign({ className: "tw-avatar" }, { children: jsx("div", __assign({ className: "tw-w-10 tw-rounded-full" }, { children: jsx("img", { src: "https://api.utopia-lab.org/assets/" + (user === null || user === void 0 ? void 0 : user.avatar) + "?access_token=" + token }) })) })) : jsx(Fragment, {}), jsx("div", __assign({ className: 'tw-ml-2 tw-mr-2' }, { children: user === null || user === void 0 ? void 0 : user.first_name })), jsxs("div", __assign({ className: "tw-dropdown tw-dropdown-end" }, { children: [jsx("label", __assign({ tabIndex: 0, className: "tw-btn tw-btn-ghost tw-btn-square" }, { children: jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" }, { children: jsx("path", { d: "M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z" }) })) })), jsxs("ul", __assign({ tabIndex: 0, className: "tw-menu tw-menu-compact tw-dropdown-content tw-mt-3 tw-p-2 tw-shadow tw-bg-base-100 tw-rounded-box tw-w-52 !tw-z-[10000]" }, { children: [jsx("li", { children: jsx(Link, __assign({ to: "/profile-settings" }, { children: "Profile" })) }), jsx("li", { children: jsx(Link, __assign({ to: "/user-settings" }, { children: "Settings" })) }), jsx("li", { children: jsx("a", __assign({ onClick: function () { onLogout(); } }, { children: "Logout" })) })] }))] }))] }))
|
3382
|
+
:
|
3383
|
+
jsxs("div", { children: [jsxs("div", __assign({ className: "tw-hidden md:tw-flex" }, { children: [jsx(Link, __assign({ to: "/login" }, { children: jsx("div", __assign({ className: "tw-btn tw-btn-ghost tw-mr-2" }, { children: "Login" })) })), jsx(Link, __assign({ to: "/signup" }, { children: jsx("div", __assign({ className: "tw-btn tw-btn-ghost tw-mr-2" }, { children: "Sign Up" })) }))] })), jsxs("div", __assign({ className: "tw-dropdown tw-dropdown-end" }, { children: [jsx("label", __assign({ tabIndex: 1, className: "tw-btn tw-btn-ghost md:tw-hidden" }, { children: jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" }, { children: jsx("path", { d: "M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z" }) })) })), jsxs("ul", __assign({ tabIndex: 1, className: "tw-menu tw-dropdown-content tw-mt-3 tw-p-2 tw-shadow tw-bg-base-100 tw-rounded-box tw-w-52 !tw-z-[10000]" }, { children: [jsx("li", { children: jsx(Link, __assign({ to: "/login" }, { children: "Login" })) }), jsx("li", { children: jsx(Link, __assign({ to: "/signup" }, { children: "Sign Up" })) })] }))] }))] })] })) }));
|
3633
3384
|
}
|
3634
3385
|
|
3635
3386
|
var SetAssetsApi = function (_a) {
|
@@ -3638,21 +3389,14 @@ var SetAssetsApi = function (_a) {
|
|
3638
3389
|
useEffect(function () {
|
3639
3390
|
setAssetsApi(assetsApi);
|
3640
3391
|
}, [assetsApi]);
|
3641
|
-
return (
|
3392
|
+
return (jsx(Fragment, {}));
|
3642
3393
|
};
|
3643
3394
|
|
3644
3395
|
function AppShell(_a) {
|
3645
3396
|
var appName = _a.appName, nameWidth = _a.nameWidth, children = _a.children, assetsApi = _a.assetsApi;
|
3646
3397
|
// Create a client
|
3647
3398
|
var queryClient = new QueryClient();
|
3648
|
-
return (
|
3649
|
-
React.createElement(BrowserRouter, null,
|
3650
|
-
React.createElement(AssetsProvider, null,
|
3651
|
-
React.createElement(SetAssetsApi, { assetsApi: assetsApi }),
|
3652
|
-
React.createElement(QuestsProvider, { initialOpen: true },
|
3653
|
-
React.createElement(ToastContainer, { position: "top-right", autoClose: 2000, hideProgressBar: true, newestOnTop: false, closeOnClick: true, rtl: false, pauseOnFocusLoss: true, draggable: true, pauseOnHover: true, theme: "light" }),
|
3654
|
-
React.createElement(NavBar, { appName: appName, nameWidth: nameWidth }),
|
3655
|
-
React.createElement("div", { id: "app-content", className: "tw-flex tw-!pl-[77px]" }, children))))));
|
3399
|
+
return (jsx(QueryClientProvider, __assign({ client: queryClient }, { children: jsx(BrowserRouter, { children: jsxs(AssetsProvider, { children: [jsx(SetAssetsApi, { assetsApi: assetsApi }), jsxs(QuestsProvider, __assign({ initialOpen: true }, { children: [jsx(ToastContainer, { position: "top-right", autoClose: 2000, hideProgressBar: true, newestOnTop: false, closeOnClick: true, rtl: false, pauseOnFocusLoss: true, draggable: true, pauseOnHover: true, theme: "light" }), jsx(NavBar, { appName: appName, nameWidth: nameWidth }), jsx("div", __assign({ id: "app-content", className: "tw-flex tw-!pl-[77px]" }, { children: children }))] }))] }) }) })));
|
3656
3400
|
}
|
3657
3401
|
|
3658
3402
|
function SidebarSubmenu(_a) {
|
@@ -3664,22 +3408,9 @@ function SidebarSubmenu(_a) {
|
|
3664
3408
|
if (submenu.filter(function (m) { return m.path === location.pathname; })[0])
|
3665
3409
|
setIsExpanded(true);
|
3666
3410
|
}, []);
|
3667
|
-
return (
|
3668
|
-
|
3669
|
-
|
3670
|
-
" ",
|
3671
|
-
React.createElement("span", { className: "group-[&[data-te-sidenav-slim-collapsed='true']]:data-[te-sidenav-slim='false']:hidden", "data-te-sidenav-slim": "false" },
|
3672
|
-
name,
|
3673
|
-
" "),
|
3674
|
-
React.createElement(ChevronDownIcon, { className: 'w-5 h-5 mt-1 float-right delay-400 duration-500 transition-all ' + (isExpanded ? 'rotate-180' : '') })),
|
3675
|
-
React.createElement("div", { className: " w-full data-[te-collapse-show]:!hidden " + (isExpanded ? "" : "hidden") },
|
3676
|
-
React.createElement("ul", { className: "menu menu-compact" }, submenu.map(function (m, k) {
|
3677
|
-
return (React.createElement("li", { key: k },
|
3678
|
-
React.createElement(Link, { to: m.path, className: '' },
|
3679
|
-
m.icon,
|
3680
|
-
React.createElement("span", { className: "", "data-te-sidenav-slim": "false" }, m.name),
|
3681
|
-
location.pathname == m.path ? (React.createElement("span", { className: "absolute mt-1 mb-1 inset-y-0 left-0 w-1 rounded-tr-md rounded-br-md bg-primary ", "aria-hidden": "true" })) : null)));
|
3682
|
-
})))));
|
3411
|
+
return (jsxs("div", __assign({ className: 'flex-col' }, { children: [jsxs("div", __assign({ className: 'w-full', onClick: function () { return setIsExpanded(!isExpanded); } }, { children: [icon, " ", jsxs("span", __assign({ className: "group-[&[data-te-sidenav-slim-collapsed='true']]:data-[te-sidenav-slim='false']:hidden", "data-te-sidenav-slim": "false" }, { children: [name, " "] })), jsx(ChevronDownIcon, { className: 'w-5 h-5 mt-1 float-right delay-400 duration-500 transition-all ' + (isExpanded ? 'rotate-180' : '') })] })), jsx("div", __assign({ className: " w-full data-[te-collapse-show]:!hidden " + (isExpanded ? "" : "hidden") }, { children: jsx("ul", __assign({ className: "menu menu-compact" }, { children: submenu.map(function (m, k) {
|
3412
|
+
return (jsx("li", { children: jsxs(Link, __assign({ to: m.path, className: '' }, { children: [m.icon, jsx("span", __assign({ className: "", "data-te-sidenav-slim": "false" }, { children: m.name })), location.pathname == m.path ? (jsx("span", { className: "absolute mt-1 mb-1 inset-y-0 left-0 w-1 rounded-tr-md rounded-br-md bg-primary ", "aria-hidden": "true" })) : null] })) }, k));
|
3413
|
+
}) })) }))] })));
|
3683
3414
|
}
|
3684
3415
|
|
3685
3416
|
function SideBar(_a) {
|
@@ -3702,44 +3433,32 @@ function SideBar(_a) {
|
|
3702
3433
|
init.current = true;
|
3703
3434
|
}
|
3704
3435
|
}, []);
|
3705
|
-
return (
|
3706
|
-
|
3707
|
-
|
3708
|
-
|
3709
|
-
|
3710
|
-
|
3711
|
-
|
3712
|
-
|
3713
|
-
|
3714
|
-
|
3715
|
-
|
3716
|
-
|
3717
|
-
|
3718
|
-
|
3719
|
-
|
3720
|
-
|
3721
|
-
|
3722
|
-
|
3723
|
-
|
3724
|
-
|
3725
|
-
|
3726
|
-
(React.createElement(NavLink, { end: true, target: route.blank ? "_blank" : "_self", to: route.path, className: function (_a) {
|
3727
|
-
var isActive = _a.isActive;
|
3728
|
-
return "".concat(isActive ? 'tw-font-semibold tw-bg-base-200 !tw-rounded-none' : 'tw-font-normal !tw-rounded-none');
|
3729
|
-
}, onClick: function () {
|
3730
|
-
if (screen.width < 640 && !slim)
|
3731
|
-
instance.toggle();
|
3732
|
-
} },
|
3733
|
-
route.icon,
|
3734
|
-
React.createElement("span", { className: "group-[&[data-te-sidenav-slim-collapsed='true']]:data-[te-sidenav-slim='false']:tw-hidden", "data-te-sidenav-slim": "false" }, route.name),
|
3735
|
-
location.pathname.includes(route.path) && route.path.length > 1 || location.pathname === route.path ? (React.createElement("span", { className: "tw-absolute tw-inset-y-0 tw-left-0 tw-w-1 tw-rounded-tr-md tw-rounded-br-md tw-bg-primary ", "aria-hidden": "true" })) : null))));
|
3736
|
-
})),
|
3737
|
-
React.createElement(ChevronRightIcon$1, { className: "tw-w-5 tw-h-5 tw-mb-4 tw-mr-4 tw-cursor-pointer tw-float-right tw-delay-400 tw-duration-500 tw-transition-all " + (!slim ? "tw-rotate-180" : ''), onClick: function () { return toggleSlim(); } }))))));
|
3436
|
+
return (jsx("nav", __assign({ id: "sidenav", className: "group tw-fixed tw-left-0 tw-mt-16 tw-top-0 tw-z-[10035] tw-h-[calc(100dvh-64px)] tw--translate-x-full tw-overflow-hidden tw-shadow-xl data-[te-sidenav-slim='true']:tw-hidden data-[te-sidenav-slim-collapsed='true']:tw-w-[56px] data-[te-sidenav-slim='true']:tw-w-[56px] data-[te-sidenav-hidden='false']:tw-translate-x-0 dark:tw-bg-zinc-800 [&[data-te-sidenav-slim-collapsed='true'][data-te-sidenav-slim='false']]:tw-hidden [&[data-te-sidenav-slim-collapsed='true'][data-te-sidenav-slim='true']]:[display:unset]", "data-te-sidenav-init": true, "data-te-sidenav-hidden": "true", "data-te-sidenav-mode": "side", "data-te-sidenav-slim": "true", "data-te-sidenav-content": "#app-content", "data-te-sidenav-slim-collapsed": "true", "data-te-sidenav-slim-width": "56", "data-te-sidenav-width": "160" }, { children: jsxs("div", __assign({ className: 'tw-flex tw-flex-col tw-h-[calc(100dvh-64px)]' }, { children: [jsx("ul", __assign({ className: "tw-menu tw-w-full tw-bg-base-100 tw-text-base-content tw-p-0", "data-te-sidenav-menu-ref": true }, { children: routes.map(function (route, k) {
|
3437
|
+
return (jsx("li", __assign({ className: "" }, { children: route.submenu ?
|
3438
|
+
jsx(SidebarSubmenu, __assign({}, route)) :
|
3439
|
+
(jsxs(NavLink, __assign({ end: true, target: route.blank ? "_blank" : "_self", to: route.path, className: function (_a) {
|
3440
|
+
var isActive = _a.isActive;
|
3441
|
+
return "".concat(isActive ? 'tw-font-semibold tw-bg-base-200 !tw-rounded-none' : 'tw-font-normal !tw-rounded-none');
|
3442
|
+
}, onClick: function () {
|
3443
|
+
if (screen.width < 640 && !slim)
|
3444
|
+
instance.toggle();
|
3445
|
+
} }, { children: [route.icon, jsx("span", __assign({ className: "group-[&[data-te-sidenav-slim-collapsed='true']]:data-[te-sidenav-slim='false']:tw-hidden", "data-te-sidenav-slim": "false" }, { children: route.name })), location.pathname.includes(route.path) && route.path.length > 1 || location.pathname === route.path ? (jsx("span", { className: "tw-absolute tw-inset-y-0 tw-left-0 tw-w-1 tw-rounded-tr-md tw-rounded-br-md tw-bg-primary ", "aria-hidden": "true" })) : null] }))) }), k));
|
3446
|
+
}) })), jsx("div", __assign({ id: "slim-toggler", className: 'tw-w-full tw-bg-base-100 tw-flex-1 tw-grid tw-place-items-end', "aria-haspopup": "true" }, { children: jsxs("div", __assign({ className: 'tw-w-full' }, { children: [jsx("ul", __assign({ className: "tw-menu tw-w-full tw-bg-base-100 tw-text-base-content tw-p-0 tw-mb-0", "data-te-sidenav-menu-ref": true }, { children: bottomRoutes === null || bottomRoutes === void 0 ? void 0 : bottomRoutes.map(function (route, k) {
|
3447
|
+
return (jsx("li", __assign({ className: "" }, { children: route.submenu ?
|
3448
|
+
jsx(SidebarSubmenu, __assign({}, route)) :
|
3449
|
+
(jsxs(NavLink, __assign({ end: true, target: route.blank ? "_blank" : "_self", to: route.path, className: function (_a) {
|
3450
|
+
var isActive = _a.isActive;
|
3451
|
+
return "".concat(isActive ? 'tw-font-semibold tw-bg-base-200 !tw-rounded-none' : 'tw-font-normal !tw-rounded-none');
|
3452
|
+
}, onClick: function () {
|
3453
|
+
if (screen.width < 640 && !slim)
|
3454
|
+
instance.toggle();
|
3455
|
+
} }, { children: [route.icon, jsx("span", __assign({ className: "group-[&[data-te-sidenav-slim-collapsed='true']]:data-[te-sidenav-slim='false']:tw-hidden", "data-te-sidenav-slim": "false" }, { children: route.name })), location.pathname.includes(route.path) && route.path.length > 1 || location.pathname === route.path ? (jsx("span", { className: "tw-absolute tw-inset-y-0 tw-left-0 tw-w-1 tw-rounded-tr-md tw-rounded-br-md tw-bg-primary ", "aria-hidden": "true" })) : null] }))) }), k));
|
3456
|
+
}) })), jsx(ChevronRightIcon$1, { className: "tw-w-5 tw-h-5 tw-mb-4 tw-mr-4 tw-cursor-pointer tw-float-right tw-delay-400 tw-duration-500 tw-transition-all " + (!slim ? "tw-rotate-180" : ''), onClick: function () { return toggleSlim(); } })] })) }))] })) })));
|
3738
3457
|
}
|
3739
3458
|
|
3740
3459
|
function Content(_a) {
|
3741
3460
|
var children = _a.children;
|
3742
|
-
return (
|
3461
|
+
return (jsx("div", __assign({ className: 'tw-flex tw-flex-col tw-w-full tw-bg-base-200 tw-relative' }, { children: children })));
|
3743
3462
|
}
|
3744
3463
|
|
3745
3464
|
function UserSettings() {
|
@@ -3769,18 +3488,10 @@ function UserSettings() {
|
|
3769
3488
|
})
|
3770
3489
|
.then(function () { return navigate("/"); });
|
3771
3490
|
};
|
3772
|
-
return (
|
3773
|
-
|
3774
|
-
|
3775
|
-
|
3776
|
-
React.createElement("div", { className: "tw-grid tw-grid-cols-1 md:tw-grid-cols-2 tw-gap-6" },
|
3777
|
-
React.createElement(TextInput, { type: 'email', placeholder: "E-Mail", defaultValue: (user === null || user === void 0 ? void 0 : user.email) ? user.email : "", updateFormValue: function (v) { return setEmail(v); } }),
|
3778
|
-
React.createElement(TextInput, { type: 'password', placeholder: "new Password", defaultValue: (user === null || user === void 0 ? void 0 : user.password) ? user.password : "", updateFormValue: function (v) {
|
3779
|
-
setPassword(v);
|
3780
|
-
setPasswordChanged(true);
|
3781
|
-
} })),
|
3782
|
-
React.createElement("div", { className: "tw-mt-8" },
|
3783
|
-
React.createElement("button", { className: loading ? " tw-loading tw-btn-disabled tw-btn tw-btn-primary tw-float-right" : "tw-btn tw-btn-primary tw-float-right", onClick: function () { return onUpdateUser(); } }, "Update")))))));
|
3491
|
+
return (jsx(Fragment, { children: jsx("main", __assign({ className: "tw-flex-1 tw-overflow-y-auto tw-overflow-x-hidden tw-pt-8 tw-px-6 tw-bg-base-200 tw-min-w-80 tw-flex tw-justify-center" }, { children: jsx("div", __assign({ className: 'tw-w-full xl:tw-max-w-6xl' }, { children: jsxs(TitleCard, __assign({ title: "Settings", topMargin: "tw-mt-2", className: 'tw-mb-6' }, { children: [jsxs("div", __assign({ className: "tw-grid tw-grid-cols-1 md:tw-grid-cols-2 tw-gap-6" }, { children: [jsx(TextInput, { type: 'email', placeholder: "E-Mail", defaultValue: (user === null || user === void 0 ? void 0 : user.email) ? user.email : "", updateFormValue: function (v) { return setEmail(v); } }), jsx(TextInput, { type: 'password', placeholder: "new Password", defaultValue: (user === null || user === void 0 ? void 0 : user.password) ? user.password : "", updateFormValue: function (v) {
|
3492
|
+
setPassword(v);
|
3493
|
+
setPasswordChanged(true);
|
3494
|
+
} })] })), jsx("div", __assign({ className: "tw-mt-8" }, { children: jsx("button", __assign({ className: loading ? " tw-loading tw-btn-disabled tw-btn tw-btn-primary tw-float-right" : "tw-btn tw-btn-primary tw-float-right", onClick: function () { return onUpdateUser(); } }, { children: "Update" })) }))] })) })) })) }));
|
3784
3495
|
}
|
3785
3496
|
|
3786
3497
|
var css_248z$1 = ".picker {\n position: relative;\n }\n \n .swatch {\n width: 28px;\n height: 28px;\n border-radius: 8px;\n border: 3px solid #fff;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n cursor: pointer;\n }\n \n .popover {\n position: absolute;\n top: 0;\n left: 36px;\n border-radius: 9px;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);\n }";
|
@@ -3836,10 +3547,7 @@ var ColorPicker = function (_a) {
|
|
3836
3547
|
});
|
3837
3548
|
}
|
3838
3549
|
}, []);
|
3839
|
-
return (
|
3840
|
-
React.createElement("div", { className: "swatch", style: { backgroundColor: color }, onClick: function () { return toggle(true); } }),
|
3841
|
-
isOpen && (React.createElement("div", { className: "popover", ref: popover },
|
3842
|
-
React.createElement(HexColorPicker, { color: color, onChange: onChange })))));
|
3550
|
+
return (jsxs("div", __assign({ ref: colorPickerRef, className: "picker ".concat(className) }, { children: [jsx("div", { className: "swatch", style: { backgroundColor: color }, onClick: function () { return toggle(true); } }), isOpen && (jsx("div", __assign({ className: "popover", ref: popover }, { children: jsx(HexColorPicker, { color: color, onChange: onChange }) })))] })));
|
3843
3551
|
};
|
3844
3552
|
|
3845
3553
|
function ProfileSettings() {
|
@@ -3955,53 +3663,26 @@ function ProfileSettings() {
|
|
3955
3663
|
})
|
3956
3664
|
.then(function () { return navigate("/"); });
|
3957
3665
|
};
|
3958
|
-
return (
|
3959
|
-
|
3960
|
-
|
3961
|
-
|
3962
|
-
|
3963
|
-
|
3964
|
-
React.createElement("label", { className: "custom-file-upload" },
|
3965
|
-
React.createElement("input", { type: "file", accept: "image/*", className: "tw-file-input tw-w-full tw-max-w-xs", onChange: onImageChange }),
|
3966
|
-
React.createElement("div", { className: 'button tw-btn tw-btn-lg tw-btn-circle tw-animate-none' },
|
3967
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "tw-w-6 tw-h-6" },
|
3968
|
-
React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5" }))),
|
3969
|
-
avatar ?
|
3970
|
-
React.createElement("div", { className: 'tw-h-20 tw-w-20' },
|
3971
|
-
React.createElement("img", { src: assetsApi.url + avatar + "?access_token=" + token, className: ' tw-rounded-full' }))
|
3972
|
-
:
|
3973
|
-
React.createElement("div", { className: 'tw-h-20 tw-w-20' },
|
3974
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", version: "1.0", viewBox: "0 0 150 150", className: 'tw-w-20 tw-h-20 tw-rounded-full', style: { backgroundColor: "#eee" } },
|
3975
|
-
React.createElement("path", { fill: "#ccc", d: "M 104.68731,56.689353 C 102.19435,80.640493 93.104981,97.26875 74.372196,97.26875 55.639402,97.26875 46.988823,82.308034 44.057005,57.289941 41.623314,34.938838 55.639402,15.800152 74.372196,15.800152 c 18.732785,0 32.451944,18.493971 30.315114,40.889201 z" }),
|
3976
|
-
React.createElement("path", { fill: "#ccc", d: "M 92.5675 89.6048 C 90.79484 93.47893 89.39893 102.4504 94.86478 106.9039 C 103.9375 114.2963 106.7064 116.4723 118.3117 118.9462 C 144.0432 124.4314 141.6492 138.1543 146.5244 149.2206 L 4.268444 149.1023 C 8.472223 138.6518 6.505799 124.7812 32.40051 118.387 C 41.80992 116.0635 45.66513 113.8823 53.58659 107.0158 C 58.52744 102.7329 57.52583 93.99267 56.43084 89.26926 C 52.49275 88.83011 94.1739 88.14054 92.5675 89.6048 z" }))))
|
3977
|
-
: React.createElement("div", { className: 'tw-w-20 tw-flex tw-items-center tw-justify-center' },
|
3978
|
-
React.createElement("span", { className: "tw-loading tw-loading-spinner" })),
|
3979
|
-
React.createElement(ColorPicker, { color: color, onChange: setColor, className: "-tw-left-6 tw-top-14 -tw-mr-6" }),
|
3980
|
-
React.createElement(TextInput, { placeholder: "Name", defaultValue: (user === null || user === void 0 ? void 0 : user.first_name) ? user.first_name : "", updateFormValue: function (v) { return setName(v); }, containerStyle: 'tw-grow tw-ml-6 tw-my-auto ' })),
|
3981
|
-
React.createElement("div", { className: "tw-grid tw-grid-cols-1 tw-md:grid-cols-1 tw-gap-6 tw-pt-6 tw-pb-6" },
|
3982
|
-
React.createElement(TextAreaInput, { placeholder: "About me, Contact, #Tags, ...", defaultValue: (user === null || user === void 0 ? void 0 : user.description) ? user.description : "", updateFormValue: function (v) { return setText(v); }, inputStyle: 'tw-h-64' })),
|
3983
|
-
React.createElement("div", { className: "tw-mt-8" },
|
3984
|
-
React.createElement("button", { className: loading ? " tw-loading tw-btn-disabled tw-btn tw-btn-primary tw-float-right" : "tw-btn tw-btn-primary tw-float-right", onClick: function () { return onUpdateUser(); } }, "Update"))))),
|
3985
|
-
React.createElement(DialogModal, { title: "", isOpened: cropModalOpen, onClose: function () {
|
3986
|
-
setCropModalOpen(false);
|
3987
|
-
setImage("");
|
3988
|
-
} },
|
3989
|
-
React.createElement(ReactCrop, { crop: crop, onChange: function (c) { return setCrop(c); }, aspect: 1 },
|
3990
|
-
React.createElement("img", { src: image, ref: imgRef, onLoad: onImageLoad })),
|
3991
|
-
React.createElement("button", { className: "tw-btn tw-btn-primary", onClick: function () {
|
3992
|
-
setCropping(true);
|
3666
|
+
return (jsxs("div", __assign({ className: 'tw-backdrop-contrast-50 tw-h-full tw-w-full' }, { children: [jsx("main", __assign({ className: "tw-flex-1 tw-overflow-y-auto tw-overflow-x-hidden tw-pt-8 tw-px-6 tw-min-w-80 tw-flex tw-justify-center" }, { children: jsx("div", __assign({ className: 'tw-w-full xl:tw-max-w-6xl' }, { children: jsxs(TitleCard, __assign({ title: "Profile", topMargin: "tw-mt-2", className: 'tw-mb-6' }, { children: [jsxs("div", __assign({ className: "tw-flex" }, { children: [!cropping ?
|
3667
|
+
jsxs("label", __assign({ className: "custom-file-upload" }, { children: [jsx("input", { type: "file", accept: "image/*", className: "tw-file-input tw-w-full tw-max-w-xs", onChange: onImageChange }), jsx("div", __assign({ className: 'button tw-btn tw-btn-lg tw-btn-circle tw-animate-none' }, { children: jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "tw-w-6 tw-h-6" }, { children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5" }) })) })), avatar ?
|
3668
|
+
jsx("div", __assign({ className: 'tw-h-20 tw-w-20' }, { children: jsx("img", { src: assetsApi.url + avatar + "?access_token=" + token, className: ' tw-rounded-full' }) }))
|
3669
|
+
:
|
3670
|
+
jsx("div", __assign({ className: 'tw-h-20 tw-w-20' }, { children: jsxs("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", version: "1.0", viewBox: "0 0 150 150", className: 'tw-w-20 tw-h-20 tw-rounded-full', style: { backgroundColor: "#eee" } }, { children: [jsx("path", { fill: "#ccc", d: "M 104.68731,56.689353 C 102.19435,80.640493 93.104981,97.26875 74.372196,97.26875 55.639402,97.26875 46.988823,82.308034 44.057005,57.289941 41.623314,34.938838 55.639402,15.800152 74.372196,15.800152 c 18.732785,0 32.451944,18.493971 30.315114,40.889201 z" }), jsx("path", { fill: "#ccc", d: "M 92.5675 89.6048 C 90.79484 93.47893 89.39893 102.4504 94.86478 106.9039 C 103.9375 114.2963 106.7064 116.4723 118.3117 118.9462 C 144.0432 124.4314 141.6492 138.1543 146.5244 149.2206 L 4.268444 149.1023 C 8.472223 138.6518 6.505799 124.7812 32.40051 118.387 C 41.80992 116.0635 45.66513 113.8823 53.58659 107.0158 C 58.52744 102.7329 57.52583 93.99267 56.43084 89.26926 C 52.49275 88.83011 94.1739 88.14054 92.5675 89.6048 z" })] })) }))] }))
|
3671
|
+
: jsx("div", __assign({ className: 'tw-w-20 tw-flex tw-items-center tw-justify-center' }, { children: jsx("span", { className: "tw-loading tw-loading-spinner" }) })), jsx(ColorPicker, { color: color, onChange: setColor, className: "-tw-left-6 tw-top-14 -tw-mr-6" }), jsx(TextInput, { placeholder: "Name", defaultValue: (user === null || user === void 0 ? void 0 : user.first_name) ? user.first_name : "", updateFormValue: function (v) { return setName(v); }, containerStyle: 'tw-grow tw-ml-6 tw-my-auto ' })] })), jsx("div", __assign({ className: "tw-grid tw-grid-cols-1 tw-md:grid-cols-1 tw-gap-6 tw-pt-6 tw-pb-6" }, { children: jsx(TextAreaInput, { placeholder: "About me, Contact, #Tags, ...", defaultValue: (user === null || user === void 0 ? void 0 : user.description) ? user.description : "", updateFormValue: function (v) { return setText(v); }, inputStyle: 'tw-h-64' }) })), jsx("div", __assign({ className: "tw-mt-8" }, { children: jsx("button", __assign({ className: loading ? " tw-loading tw-btn-disabled tw-btn tw-btn-primary tw-float-right" : "tw-btn tw-btn-primary tw-float-right", onClick: function () { return onUpdateUser(); } }, { children: "Update" })) }))] })) })) })), jsxs(DialogModal, __assign({ title: "", isOpened: cropModalOpen, onClose: function () {
|
3993
3672
|
setCropModalOpen(false);
|
3994
|
-
|
3995
|
-
} }, "
|
3673
|
+
setImage("");
|
3674
|
+
} }, { children: [jsx(ReactCrop, __assign({ crop: crop, onChange: function (c) { return setCrop(c); }, aspect: 1 }, { children: jsx("img", { src: image, ref: imgRef, onLoad: onImageLoad }) })), jsx("button", __assign({ className: "tw-btn tw-btn-primary", onClick: function () {
|
3675
|
+
setCropping(true);
|
3676
|
+
setCropModalOpen(false);
|
3677
|
+
renderCrop();
|
3678
|
+
} }, { children: "Select" }))] }))] })));
|
3996
3679
|
}
|
3997
3680
|
|
3998
3681
|
var TagView = function (_a) {
|
3999
3682
|
var tag = _a.tag, heighlight = _a.heighlight, onClick = _a.onClick;
|
4000
3683
|
return (
|
4001
3684
|
// Use your imagination to render suggestions.
|
4002
|
-
|
4003
|
-
React.createElement("div", { className: "tw-card-actions tw-justify-end" }),
|
4004
|
-
React.createElement("b", null, decodeTag(tag.name))));
|
3685
|
+
jsxs("div", __assign({ onClick: onClick, className: "tw-rounded-2xl tw-text-white tw-p-2 tw-px-4 tw-shadow-xl tw-card tw-h-[2.75em] tw-mt-3 tw-mr-4 tw-cursor-pointer tw-w-fit ".concat(heighlight && 'tw-border-primary tw-shadow-te-primary'), style: { backgroundColor: tag.color ? tag.color : "#666" } }, { children: [jsx("div", { className: "tw-card-actions tw-justify-end" }), jsx("b", { children: decodeTag(tag.name) })] }), tag.name));
|
4005
3686
|
};
|
4006
3687
|
|
4007
3688
|
function OverlayProfile() {
|
@@ -4041,38 +3722,11 @@ function OverlayProfile() {
|
|
4041
3722
|
tag && setNeeds(function (current) { return __spreadArray(__spreadArray([], current, true), [tag], false); });
|
4042
3723
|
});
|
4043
3724
|
}, [item]);
|
4044
|
-
return (
|
4045
|
-
|
4046
|
-
|
4047
|
-
|
4048
|
-
|
4049
|
-
((_a = item.layer) === null || _a === void 0 ? void 0 : _a.itemAvatarField) && getValue(item, item.layer.itemAvatarField) && React.createElement("img", { className: 'h-20 rounded-full inline', src: "https://api.utopia-lab.org/assets/".concat(getValue(item, item.layer.itemAvatarField), "?width=160&heigth=160") }),
|
4050
|
-
" ",
|
4051
|
-
((_b = item.layer) === null || _b === void 0 ? void 0 : _b.itemNameField) && getValue(item, item.layer.itemNameField))),
|
4052
|
-
(owner === null || owner === void 0 ? void 0 : owner.id) === (user === null || user === void 0 ? void 0 : user.id) && (owner === null || owner === void 0 ? void 0 : owner.id) ?
|
4053
|
-
React.createElement("a", { className: 'tw-self-center tw-btn tw-btn-sm tw-mr-4 tw-cursor-pointer', onClick: function () { return navigate("/profile-settings"); } },
|
4054
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" },
|
4055
|
-
React.createElement("path", { d: "M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z" }))) : ""),
|
4056
|
-
React.createElement("div", { className: 'tw-h-full' },
|
4057
|
-
React.createElement("div", { role: "tablist", className: "tw-tabs tw-tabs-lifted tw-mt-2 tw-mb-2" },
|
4058
|
-
React.createElement("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Vision", checked: activeTab == 1 && true, onChange: function () { return setActiveTab(1); } }),
|
4059
|
-
React.createElement("div", { role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-rounded-box tw-h-[calc(100dvh-268px)] tw-overflow-y-auto fade tw-pt-2 tw-pb-1" },
|
4060
|
-
React.createElement(TextView, { item: item })),
|
4061
|
-
React.createElement("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab tw-min-w-[10em] [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Offers & Needs", checked: activeTab == 2 && true, onChange: function () { return setActiveTab(2); } }),
|
4062
|
-
React.createElement("div", { role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-rounded-box tw-h-[calc(100dvh-268px)] tw-overflow-y-auto fade tw-pt-4 tw-pb-1" },
|
4063
|
-
React.createElement("div", { className: 'tw-h-full' },
|
4064
|
-
React.createElement("div", { className: 'tw-grid tw-grid-cols-1' },
|
4065
|
-
offers.length > 0 ?
|
4066
|
-
React.createElement("div", { className: 'tw-col-span-1' },
|
4067
|
-
React.createElement("h3", { className: '-tw-mb-2' }, "Offers"),
|
4068
|
-
React.createElement("div", { className: 'tw-flex tw-flex-wrap tw-mb-4' }, offers.map(function (o) { return React.createElement(TagView, { key: o === null || o === void 0 ? void 0 : o.id, tag: o, onClick: function () { return addFilterTag(o); } }); }))) : "",
|
4069
|
-
needs.length > 0 ?
|
4070
|
-
React.createElement("div", { className: 'tw-col-span-1' },
|
4071
|
-
React.createElement("h3", { className: '-tw-mb-2 tw-col-span-1' }, "Needs"),
|
4072
|
-
React.createElement("div", { className: 'tw-flex tw-flex-wrap tw-mb-4' }, needs.map(function (n) { return React.createElement(TagView, { key: n === null || n === void 0 ? void 0 : n.id, tag: n, onClick: function () { return addFilterTag(n); } }); }))) : ""))),
|
4073
|
-
React.createElement("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Contact", checked: activeTab == 3 && true, onChange: function () { return setActiveTab(3); } }),
|
4074
|
-
React.createElement("div", { role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-rounded-box tw-h-[calc(100dvh-268px)] tw-overflow-y-auto fade tw-pt-2 tw-pb-1" },
|
4075
|
-
React.createElement(TextView, { item: item, itemTextField: 'user_created.contact' })))))));
|
3725
|
+
return (jsx(MapOverlayPage, __assign({ className: 'tw-mx-4 tw-mt-4 tw-max-h-[calc(100dvh-96px)] tw-h-[calc(100dvh-96px)] md:tw-w-[calc(50%-32px)] tw-w-[calc(100%-32px)] tw-max-w-3xl !tw-left-auto tw-top-0 tw-bottom-0' }, { children: item &&
|
3726
|
+
jsxs(Fragment, { children: [jsxs("div", __assign({ className: 'tw-flex tw-flex-row' }, { children: [jsx("div", __assign({ className: "tw-grow" }, { children: jsxs("p", __assign({ className: "text-4xl" }, { children: [((_a = item.layer) === null || _a === void 0 ? void 0 : _a.itemAvatarField) && getValue(item, item.layer.itemAvatarField) && jsx("img", { className: 'h-20 rounded-full inline', src: "https://api.utopia-lab.org/assets/".concat(getValue(item, item.layer.itemAvatarField), "?width=160&heigth=160") }), " ", ((_b = item.layer) === null || _b === void 0 ? void 0 : _b.itemNameField) && getValue(item, item.layer.itemNameField)] })) })), (owner === null || owner === void 0 ? void 0 : owner.id) === (user === null || user === void 0 ? void 0 : user.id) && (owner === null || owner === void 0 ? void 0 : owner.id) ?
|
3727
|
+
jsx("a", __assign({ className: 'tw-self-center tw-btn tw-btn-sm tw-mr-4 tw-cursor-pointer', onClick: function () { return navigate("/profile-settings"); } }, { children: jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", className: "tw-h-5 tw-w-5", viewBox: "0 0 20 20", fill: "currentColor" }, { children: jsx("path", { d: "M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z" }) })) })) : ""] })), jsx("div", __assign({ className: 'tw-h-full' }, { children: jsxs("div", __assign({ role: "tablist", className: "tw-tabs tw-tabs-lifted tw-mt-2 tw-mb-2" }, { children: [jsx("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Vision", checked: activeTab == 1 && true, onChange: function () { return setActiveTab(1); } }), jsx("div", __assign({ role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-rounded-box tw-h-[calc(100dvh-268px)] tw-overflow-y-auto fade tw-pt-2 tw-pb-1" }, { children: jsx(TextView, { item: item }) })), jsx("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab tw-min-w-[10em] [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Offers & Needs", checked: activeTab == 2 && true, onChange: function () { return setActiveTab(2); } }), jsx("div", __assign({ role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-rounded-box tw-h-[calc(100dvh-268px)] tw-overflow-y-auto fade tw-pt-4 tw-pb-1" }, { children: jsx("div", __assign({ className: 'tw-h-full' }, { children: jsxs("div", __assign({ className: 'tw-grid tw-grid-cols-1' }, { children: [offers.length > 0 ?
|
3728
|
+
jsxs("div", __assign({ className: 'tw-col-span-1' }, { children: [jsx("h3", __assign({ className: '-tw-mb-2' }, { children: "Offers" })), jsx("div", __assign({ className: 'tw-flex tw-flex-wrap tw-mb-4' }, { children: offers.map(function (o) { return jsx(TagView, { tag: o, onClick: function () { return addFilterTag(o); } }, o === null || o === void 0 ? void 0 : o.id); }) }))] })) : "", needs.length > 0 ?
|
3729
|
+
jsxs("div", __assign({ className: 'tw-col-span-1' }, { children: [jsx("h3", __assign({ className: '-tw-mb-2 tw-col-span-1' }, { children: "Needs" })), jsx("div", __assign({ className: 'tw-flex tw-flex-wrap tw-mb-4' }, { children: needs.map(function (n) { return jsx(TagView, { tag: n, onClick: function () { return addFilterTag(n); } }, n === null || n === void 0 ? void 0 : n.id); }) }))] })) : ""] })) })) })), jsx("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Contact", checked: activeTab == 3 && true, onChange: function () { return setActiveTab(3); } }), jsx("div", __assign({ role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-rounded-box tw-h-[calc(100dvh-268px)] tw-overflow-y-auto fade tw-pt-2 tw-pb-1" }, { children: jsx(TextView, { item: item, itemTextField: 'user_created.contact' }) }))] })) }))] }) })));
|
4076
3730
|
}
|
4077
3731
|
|
4078
3732
|
var Autocomplete = function (_a) {
|
@@ -4124,10 +3778,7 @@ var Autocomplete = function (_a) {
|
|
4124
3778
|
break;
|
4125
3779
|
}
|
4126
3780
|
};
|
4127
|
-
return (
|
4128
|
-
React.createElement("input", __assign({ ref: inputRef }, inputProps, { type: "text", onChange: function (e) { return handleChange(e); }, onKeyDown: handleKeyDown })),
|
4129
|
-
React.createElement("ul", { className: "tw-absolute tw-z-[4000] ".concat(filteredSuggestions.length > 0 && 'tw-bg-base-100 tw-rounded-xl tw-p-2') }, filteredSuggestions.map(function (suggestion, index) { return (React.createElement("li", { key: index, onClick: function () { return handleSuggestionClick(suggestion); } },
|
4130
|
-
React.createElement(TagView, { heighlight: index == heighlightedSuggestion, tag: suggestion }))); }))));
|
3781
|
+
return (jsxs("div", { children: [jsx("input", __assign({ ref: inputRef }, inputProps, { type: "text", onChange: function (e) { return handleChange(e); }, onKeyDown: handleKeyDown })), jsx("ul", __assign({ className: "tw-absolute tw-z-[4000] ".concat(filteredSuggestions.length > 0 && 'tw-bg-base-100 tw-rounded-xl tw-p-2') }, { children: filteredSuggestions.map(function (suggestion, index) { return (jsx("li", __assign({ onClick: function () { return handleSuggestionClick(suggestion); } }, { children: jsx(TagView, { heighlight: index == heighlightedSuggestion, tag: suggestion }) }), index)); }) }))] }));
|
4131
3782
|
};
|
4132
3783
|
|
4133
3784
|
var TagsWidget = function (_a) {
|
@@ -4184,18 +3835,12 @@ var TagsWidget = function (_a) {
|
|
4184
3835
|
onChange: onChange,
|
4185
3836
|
className: 'tw-bg-transparent tw-w-fit tw-mt-5 tw-h-fit'
|
4186
3837
|
};
|
4187
|
-
return (
|
3838
|
+
return (jsx("div", __assign({ onClick: function () {
|
4188
3839
|
setFocusInput(true);
|
4189
3840
|
setTimeout(function () {
|
4190
3841
|
setFocusInput(false);
|
4191
3842
|
}, 200);
|
4192
|
-
}, className: "tw-input tw-input-bordered tw-cursor-text ".concat(containerStyle) },
|
4193
|
-
React.createElement("div", { className: 'tw-flex tw-flex-wrap tw-h-fit' },
|
4194
|
-
defaultTags.map(function (tag) { return (React.createElement("div", { key: tag.name, className: 'tw-rounded-2xl tw-text-white tw-p-2 tw-px-4 tw-shadow-xl tw-card tw-h-[2.75em] tw-mt-3 tw-mr-4', style: { backgroundColor: tag.color ? tag.color : "#666" } },
|
4195
|
-
React.createElement("div", { className: "tw-card-actions tw-justify-end" },
|
4196
|
-
React.createElement("label", { className: "tw-btn tw-btn-xs tw-btn-circle tw-absolute tw--right-2 tw--top-2 tw-bg-white tw-text-gray-600", onClick: function () { return (deleteTag(tag)); } }, "\u2715")),
|
4197
|
-
React.createElement("b", null, decodeTag(tag.name)))); }),
|
4198
|
-
React.createElement(Autocomplete, { suggestions: tags, pushFilteredSuggestions: pushFilteredSuggestions, setFocus: focusInput, inputProps: inputProps, onSelected: function (tag) { return onSelected(tag); } }))));
|
3843
|
+
}, className: "tw-input tw-input-bordered tw-cursor-text ".concat(containerStyle) }, { children: jsxs("div", __assign({ className: 'tw-flex tw-flex-wrap tw-h-fit' }, { children: [defaultTags.map(function (tag) { return (jsxs("div", __assign({ className: 'tw-rounded-2xl tw-text-white tw-p-2 tw-px-4 tw-shadow-xl tw-card tw-h-[2.75em] tw-mt-3 tw-mr-4', style: { backgroundColor: tag.color ? tag.color : "#666" } }, { children: [jsx("div", __assign({ className: "tw-card-actions tw-justify-end" }, { children: jsx("label", __assign({ className: "tw-btn tw-btn-xs tw-btn-circle tw-absolute tw--right-2 tw--top-2 tw-bg-white tw-text-gray-600", onClick: function () { return (deleteTag(tag)); } }, { children: "\u2715" })) })), jsx("b", { children: decodeTag(tag.name) })] }), tag.name)); }), jsx(Autocomplete, { suggestions: tags, pushFilteredSuggestions: pushFilteredSuggestions, setFocus: focusInput, inputProps: inputProps, onSelected: function (tag) { return onSelected(tag); } })] })) })));
|
4199
3844
|
};
|
4200
3845
|
|
4201
3846
|
function OverlayProfileSettings() {
|
@@ -4377,55 +4022,19 @@ function OverlayProfileSettings() {
|
|
4377
4022
|
}
|
4378
4023
|
});
|
4379
4024
|
}); };
|
4380
|
-
return (
|
4381
|
-
|
4382
|
-
|
4383
|
-
|
4384
|
-
|
4385
|
-
|
4386
|
-
React.createElement("input", { type: "file", accept: "image/*", className: "tw-file-input tw-w-full tw-max-w-xs", onChange: onImageChange }),
|
4387
|
-
React.createElement("div", { className: 'button tw-btn tw-btn-lg tw-btn-circle tw-animate-none' },
|
4388
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "tw-w-6 tw-h-6" },
|
4389
|
-
React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5" }))),
|
4390
|
-
avatar ?
|
4391
|
-
React.createElement("div", { className: 'tw-h-20 tw-w-20' },
|
4392
|
-
React.createElement("img", { src: assetsApi.url + avatar + "?access_token=" + token, className: ' tw-rounded-full' }))
|
4393
|
-
:
|
4394
|
-
React.createElement("div", { className: 'tw-h-20 tw-w-20' },
|
4395
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", version: "1.0", viewBox: "0 0 150 150", className: 'tw-w-20 tw-h-20 tw-rounded-full', style: { backgroundColor: "#eee" } },
|
4396
|
-
React.createElement("path", { fill: "#ccc", d: "M 104.68731,56.689353 C 102.19435,80.640493 93.104981,97.26875 74.372196,97.26875 55.639402,97.26875 46.988823,82.308034 44.057005,57.289941 41.623314,34.938838 55.639402,15.800152 74.372196,15.800152 c 18.732785,0 32.451944,18.493971 30.315114,40.889201 z" }),
|
4397
|
-
React.createElement("path", { fill: "#ccc", d: "M 92.5675 89.6048 C 90.79484 93.47893 89.39893 102.4504 94.86478 106.9039 C 103.9375 114.2963 106.7064 116.4723 118.3117 118.9462 C 144.0432 124.4314 141.6492 138.1543 146.5244 149.2206 L 4.268444 149.1023 C 8.472223 138.6518 6.505799 124.7812 32.40051 118.387 C 41.80992 116.0635 45.66513 113.8823 53.58659 107.0158 C 58.52744 102.7329 57.52583 93.99267 56.43084 89.26926 C 52.49275 88.83011 94.1739 88.14054 92.5675 89.6048 z" }))))
|
4398
|
-
: React.createElement("div", { className: 'tw-w-20 tw-flex tw-items-center tw-justify-center' },
|
4399
|
-
React.createElement("span", { className: "tw-loading tw-loading-spinner" })),
|
4400
|
-
React.createElement(ColorPicker, { color: color, onChange: setColor, className: "-tw-left-6 tw-top-14 -tw-mr-6" }),
|
4401
|
-
React.createElement(TextInput, { placeholder: "Name", defaultValue: (user === null || user === void 0 ? void 0 : user.first_name) ? user.first_name : "", updateFormValue: function (v) { return setName(v); }, containerStyle: 'tw-grow tw-ml-6 tw-my-auto ' })),
|
4402
|
-
React.createElement("div", { role: "tablist", className: "tw-tabs tw-tabs-lifted tw-mt-4" },
|
4403
|
-
React.createElement("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Vision", checked: activeTab == 1 && true, onChange: function () { return setActiveTab(1); } }),
|
4404
|
-
React.createElement("div", { role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-border-[var(--fallback-bc,oklch(var(--bc)/0.2))] tw-rounded-box tw-h-[calc(100dvh-332px)] tw-min-h-56" },
|
4405
|
-
React.createElement(TextAreaInput, { placeholder: "My Vision...", defaultValue: (user === null || user === void 0 ? void 0 : user.description) ? user.description : "", updateFormValue: function (v) { return setText(v); }, containerStyle: 'tw-h-full', inputStyle: 'tw-h-full tw-border-t-0 tw-rounded-tl-none' })),
|
4406
|
-
React.createElement("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab tw-min-w-[10em] [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Offers & Needs", checked: activeTab == 2 && true, onChange: function () { return setActiveTab(2); } }),
|
4407
|
-
React.createElement("div", { role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-rounded-box tw-pt-4 tw-h-[calc(100dvh-332px)] tw-min-h-56" },
|
4408
|
-
React.createElement("div", { className: 'tw-h-full' },
|
4409
|
-
React.createElement("div", { className: 'tw-w-full tw-h-[calc(50%-0.75em)] tw-mb-4' },
|
4410
|
-
React.createElement(TagsWidget, { defaultTags: offers, onUpdate: function (v) { return setOffers(v); }, placeholder: "enter your offers", containerStyle: 'tw-bg-transparent tw-w-full tw-h-full tw-mt-3 tw-text-xs tw-h-[calc(100%-1rem)] tw-min-h-[5em] tw-pb-2 tw-overflow-auto' })),
|
4411
|
-
React.createElement("div", { className: 'tw-w-full tw-h-[calc(50%-0.75em)] ' },
|
4412
|
-
React.createElement(TagsWidget, { defaultTags: needs, onUpdate: function (v) { return setNeeds(v); }, placeholder: "enter your needs", containerStyle: 'tw-bg-transparent tw-w-full tw-h-full tw-mt-3 tw-text-xs tw-h-[calc(100%-1rem)] tw-min-h-[5em] tw-pb-2 tw-overflow-auto' })))),
|
4413
|
-
React.createElement("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Contact", checked: activeTab == 3 && true, onChange: function () { return setActiveTab(3); } }),
|
4414
|
-
React.createElement("div", { role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-border-[var(--fallback-bc,oklch(var(--bc)/0.2))] tw-rounded-box tw-h-[calc(100dvh-332px)] tw-min-h-56" },
|
4415
|
-
React.createElement(TextAreaInput, { placeholder: "Contact ...", defaultValue: (user === null || user === void 0 ? void 0 : user.contact) ? user.contact : "", updateFormValue: function (v) { return setContact(v); }, containerStyle: 'tw-h-full', inputStyle: 'tw-h-full tw-border-t-0 ' }))),
|
4416
|
-
React.createElement("div", { className: "tw-mt-4 tw-mb-4" },
|
4417
|
-
React.createElement("button", { className: loading ? " tw-loading tw-btn-disabled tw-btn tw-btn-primary tw-float-right" : "tw-btn tw-btn-primary tw-float-right", onClick: function () { return onUpdateUser(); } }, "Update")))),
|
4418
|
-
React.createElement(DialogModal, { title: "", isOpened: cropModalOpen, onClose: function () {
|
4419
|
-
setCropModalOpen(false);
|
4420
|
-
setImage("");
|
4421
|
-
} },
|
4422
|
-
React.createElement(ReactCrop, { crop: crop, onChange: function (c) { return setCrop(c); }, aspect: 1 },
|
4423
|
-
React.createElement("img", { src: image, ref: imgRef, onLoad: onImageLoad })),
|
4424
|
-
React.createElement("button", { className: "tw-btn tw-btn-primary", onClick: function () {
|
4425
|
-
setCropping(true);
|
4025
|
+
return (jsxs(Fragment, { children: [jsx(MapOverlayPage, __assign({ backdrop: true, className: 'tw-mx-4 tw-mt-4 tw-mb-12 tw-overflow-x-hidden tw-max-h-[calc(100dvh-96px)] !tw-h-[calc(100dvh-96px)] tw-w-[calc(100%-32px)] md:tw-w-[calc(50%-32px)] tw-max-w-3xl !tw-left-auto tw-top-0 tw-bottom-0' }, { children: jsxs("div", __assign({ className: 'tw-flex tw-flex-col tw-h-full' }, { children: [jsxs("div", __assign({ className: "tw-flex" }, { children: [!cropping ?
|
4026
|
+
jsxs("label", __assign({ className: "custom-file-upload" }, { children: [jsx("input", { type: "file", accept: "image/*", className: "tw-file-input tw-w-full tw-max-w-xs", onChange: onImageChange }), jsx("div", __assign({ className: 'button tw-btn tw-btn-lg tw-btn-circle tw-animate-none' }, { children: jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "tw-w-6 tw-h-6" }, { children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5" }) })) })), avatar ?
|
4027
|
+
jsx("div", __assign({ className: 'tw-h-20 tw-w-20' }, { children: jsx("img", { src: assetsApi.url + avatar + "?access_token=" + token, className: ' tw-rounded-full' }) }))
|
4028
|
+
:
|
4029
|
+
jsx("div", __assign({ className: 'tw-h-20 tw-w-20' }, { children: jsxs("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", version: "1.0", viewBox: "0 0 150 150", className: 'tw-w-20 tw-h-20 tw-rounded-full', style: { backgroundColor: "#eee" } }, { children: [jsx("path", { fill: "#ccc", d: "M 104.68731,56.689353 C 102.19435,80.640493 93.104981,97.26875 74.372196,97.26875 55.639402,97.26875 46.988823,82.308034 44.057005,57.289941 41.623314,34.938838 55.639402,15.800152 74.372196,15.800152 c 18.732785,0 32.451944,18.493971 30.315114,40.889201 z" }), jsx("path", { fill: "#ccc", d: "M 92.5675 89.6048 C 90.79484 93.47893 89.39893 102.4504 94.86478 106.9039 C 103.9375 114.2963 106.7064 116.4723 118.3117 118.9462 C 144.0432 124.4314 141.6492 138.1543 146.5244 149.2206 L 4.268444 149.1023 C 8.472223 138.6518 6.505799 124.7812 32.40051 118.387 C 41.80992 116.0635 45.66513 113.8823 53.58659 107.0158 C 58.52744 102.7329 57.52583 93.99267 56.43084 89.26926 C 52.49275 88.83011 94.1739 88.14054 92.5675 89.6048 z" })] })) }))] }))
|
4030
|
+
: jsx("div", __assign({ className: 'tw-w-20 tw-flex tw-items-center tw-justify-center' }, { children: jsx("span", { className: "tw-loading tw-loading-spinner" }) })), jsx(ColorPicker, { color: color, onChange: setColor, className: "-tw-left-6 tw-top-14 -tw-mr-6" }), jsx(TextInput, { placeholder: "Name", defaultValue: (user === null || user === void 0 ? void 0 : user.first_name) ? user.first_name : "", updateFormValue: function (v) { return setName(v); }, containerStyle: 'tw-grow tw-ml-6 tw-my-auto ' })] })), jsxs("div", __assign({ role: "tablist", className: "tw-tabs tw-tabs-lifted tw-mt-4" }, { children: [jsx("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Vision", checked: activeTab == 1 && true, onChange: function () { return setActiveTab(1); } }), jsx("div", __assign({ role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-border-[var(--fallback-bc,oklch(var(--bc)/0.2))] tw-rounded-box tw-h-[calc(100dvh-332px)] tw-min-h-56" }, { children: jsx(TextAreaInput, { placeholder: "My Vision...", defaultValue: (user === null || user === void 0 ? void 0 : user.description) ? user.description : "", updateFormValue: function (v) { return setText(v); }, containerStyle: 'tw-h-full', inputStyle: 'tw-h-full tw-border-t-0 tw-rounded-tl-none' }) })), jsx("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab tw-min-w-[10em] [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Offers & Needs", checked: activeTab == 2 && true, onChange: function () { return setActiveTab(2); } }), jsx("div", __assign({ role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-rounded-box tw-pt-4 tw-h-[calc(100dvh-332px)] tw-min-h-56" }, { children: jsxs("div", __assign({ className: 'tw-h-full' }, { children: [jsx("div", __assign({ className: 'tw-w-full tw-h-[calc(50%-0.75em)] tw-mb-4' }, { children: jsx(TagsWidget, { defaultTags: offers, onUpdate: function (v) { return setOffers(v); }, placeholder: "enter your offers", containerStyle: 'tw-bg-transparent tw-w-full tw-h-full tw-mt-3 tw-text-xs tw-h-[calc(100%-1rem)] tw-min-h-[5em] tw-pb-2 tw-overflow-auto' }) })), jsx("div", __assign({ className: 'tw-w-full tw-h-[calc(50%-0.75em)] ' }, { children: jsx(TagsWidget, { defaultTags: needs, onUpdate: function (v) { return setNeeds(v); }, placeholder: "enter your needs", containerStyle: 'tw-bg-transparent tw-w-full tw-h-full tw-mt-3 tw-text-xs tw-h-[calc(100%-1rem)] tw-min-h-[5em] tw-pb-2 tw-overflow-auto' }) }))] })) })), jsx("input", { type: "radio", name: "my_tabs_2", role: "tab", className: "tw-tab [--tab-border-color:var(--fallback-bc,oklch(var(--bc)/0.2))]", "aria-label": "Contact", checked: activeTab == 3 && true, onChange: function () { return setActiveTab(3); } }), jsx("div", __assign({ role: "tabpanel", className: "tw-tab-content tw-bg-base-100 tw-border-[var(--fallback-bc,oklch(var(--bc)/0.2))] tw-rounded-box tw-h-[calc(100dvh-332px)] tw-min-h-56" }, { children: jsx(TextAreaInput, { placeholder: "Contact ...", defaultValue: (user === null || user === void 0 ? void 0 : user.contact) ? user.contact : "", updateFormValue: function (v) { return setContact(v); }, containerStyle: 'tw-h-full', inputStyle: 'tw-h-full tw-border-t-0 ' }) }))] })), jsx("div", __assign({ className: "tw-mt-4 tw-mb-4" }, { children: jsx("button", __assign({ className: loading ? " tw-loading tw-btn-disabled tw-btn tw-btn-primary tw-float-right" : "tw-btn tw-btn-primary tw-float-right", onClick: function () { return onUpdateUser(); } }, { children: "Update" })) }))] })) })), jsxs(DialogModal, __assign({ title: "", isOpened: cropModalOpen, onClose: function () {
|
4426
4031
|
setCropModalOpen(false);
|
4427
|
-
|
4428
|
-
} }, "
|
4032
|
+
setImage("");
|
4033
|
+
} }, { children: [jsx(ReactCrop, __assign({ crop: crop, onChange: function (c) { return setCrop(c); }, aspect: 1 }, { children: jsx("img", { src: image, ref: imgRef, onLoad: onImageLoad }) })), jsx("button", __assign({ className: "tw-btn tw-btn-primary", onClick: function () {
|
4034
|
+
setCropping(true);
|
4035
|
+
setCropModalOpen(false);
|
4036
|
+
renderCrop();
|
4037
|
+
} }, { children: "Select" }))] }))] }));
|
4429
4038
|
}
|
4430
4039
|
|
4431
4040
|
function OverlayUserSettings() {
|
@@ -4455,17 +4064,10 @@ function OverlayUserSettings() {
|
|
4455
4064
|
})
|
4456
4065
|
.then(function () { return navigate("/"); });
|
4457
4066
|
};
|
4458
|
-
return (
|
4459
|
-
|
4460
|
-
|
4461
|
-
|
4462
|
-
React.createElement(TextInput, { type: 'email', placeholder: "new E-Mail", defaultValue: (user === null || user === void 0 ? void 0 : user.email) ? user.email : "", updateFormValue: function (v) { return setEmail(v); } }),
|
4463
|
-
React.createElement(TextInput, { type: 'password', placeholder: "new Password", defaultValue: (user === null || user === void 0 ? void 0 : user.password) ? user.password : "", updateFormValue: function (v) {
|
4464
|
-
setPassword(v);
|
4465
|
-
setPasswordChanged(true);
|
4466
|
-
} })),
|
4467
|
-
React.createElement("div", { className: "tw-mt-8" },
|
4468
|
-
React.createElement("button", { className: loading ? " tw-loading tw-btn-disabled tw-btn tw-btn-primary tw-float-right" : "tw-btn tw-btn-primary tw-float-right", onClick: function () { return onUpdateUser(); } }, "Update"))));
|
4067
|
+
return (jsxs(MapOverlayPage, __assign({ backdrop: true, className: 'tw-mx-4 tw-mt-4 tw-max-h-[calc(100dvh-96px)] tw-h-fit md:tw-w-[calc(50%-32px)] tw-w-[calc(100%-32px)] tw-max-w-xl !tw-left-auto tw-top-0 tw-bottom-0' }, { children: [jsx("div", __assign({ className: "tw-text-xl tw-font-semibold" }, { children: "Settings" })), jsx("div", { className: "tw-divider tw-mt-2" }), jsxs("div", __assign({ className: "tw-grid tw-grid-cols-1 tw-gap-6" }, { children: [jsx(TextInput, { type: 'email', placeholder: "new E-Mail", defaultValue: (user === null || user === void 0 ? void 0 : user.email) ? user.email : "", updateFormValue: function (v) { return setEmail(v); } }), jsx(TextInput, { type: 'password', placeholder: "new Password", defaultValue: (user === null || user === void 0 ? void 0 : user.password) ? user.password : "", updateFormValue: function (v) {
|
4068
|
+
setPassword(v);
|
4069
|
+
setPasswordChanged(true);
|
4070
|
+
} })] })), jsx("div", __assign({ className: "tw-mt-8" }, { children: jsx("button", __assign({ className: loading ? " tw-loading tw-btn-disabled tw-btn tw-btn-primary tw-float-right" : "tw-btn tw-btn-primary tw-float-right", onClick: function () { return onUpdateUser(); } }, { children: "Update" })) }))] })));
|
4469
4071
|
}
|
4470
4072
|
|
4471
4073
|
function Modal(_a) {
|
@@ -4474,13 +4076,7 @@ function Modal(_a) {
|
|
4474
4076
|
if (showOnStartup)
|
4475
4077
|
window.my_modal_3.showModal();
|
4476
4078
|
}, []);
|
4477
|
-
return (
|
4478
|
-
React.createElement("dialog", { id: "my_modal_3", className: "tw-modal tw-transition-all tw-duration-300" },
|
4479
|
-
React.createElement("form", { method: "dialog", className: "tw-modal-box tw-transition-none" },
|
4480
|
-
React.createElement("button", { className: "tw-btn tw-btn-sm tw-btn-circle tw-btn-ghost tw-absolute tw-right-2 tw-top-2 focus:tw-outline-none" }, "\u2715"),
|
4481
|
-
children),
|
4482
|
-
React.createElement("form", { method: "dialog", className: "tw-modal-backdrop" },
|
4483
|
-
React.createElement("button", null, "close")))));
|
4079
|
+
return (jsx(Fragment, { children: jsxs("dialog", __assign({ id: "my_modal_3", className: "tw-modal tw-transition-all tw-duration-300" }, { children: [jsxs("form", __assign({ method: "dialog", className: "tw-modal-box tw-transition-none" }, { children: [jsx("button", __assign({ className: "tw-btn tw-btn-sm tw-btn-circle tw-btn-ghost tw-absolute tw-right-2 tw-top-2 focus:tw-outline-none" }, { children: "\u2715" })), children] })), jsx("form", __assign({ method: "dialog", className: "tw-modal-backdrop" }, { children: jsx("button", { children: "close" }) }))] })) }));
|
4484
4080
|
}
|
4485
4081
|
|
4486
4082
|
function Quests() {
|
@@ -4490,34 +4086,13 @@ function Quests() {
|
|
4490
4086
|
useEffect(function () {
|
4491
4087
|
setQuestsOpen(false);
|
4492
4088
|
}, []);
|
4493
|
-
return (
|
4494
|
-
|
4495
|
-
|
4496
|
-
React.createElement("div", { className: "tw-card-actions tw-justify-end" },
|
4497
|
-
React.createElement("label", { className: "tw-btn tw-btn-sm tw-btn-circle tw-btn-ghost tw-absolute tw-right-1 tw-top-1", onClick: function () { return setQuestsOpen(false); } }, "\u2715")),
|
4498
|
-
React.createElement("h2", { className: "tw-card-title tw-m-auto " },
|
4499
|
-
"Level 1",
|
4500
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "#aaa", className: "tw-w-5 tw-h-5 tw-cursor-pointer" },
|
4501
|
-
React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9 5.25h.008v.008H12v-.008z" }))),
|
4502
|
-
React.createElement("ul", { className: 'tw-flex-row' },
|
4503
|
-
React.createElement("li", null,
|
4504
|
-
React.createElement("label", { className: "tw-label tw-justify-normal tw-pt-1 tw-pb-0" },
|
4505
|
-
React.createElement("input", { type: "checkbox", readOnly: true, className: "tw-checkbox tw-checkbox-xs tw-checkbox-success", checked: isAuthenticated ? isAuthenticated : false }),
|
4506
|
-
React.createElement("span", { className: 'tw-text-sm tw-label-text tw-mx-2' }, "Sign Up"))),
|
4507
|
-
React.createElement("li", null,
|
4508
|
-
React.createElement("label", { className: "tw-label tw-justify-normal tw-pt-1 tw-pb-0" },
|
4509
|
-
React.createElement("input", { type: "checkbox", readOnly: true, className: "tw-checkbox tw-checkbox-xs tw-checkbox-success", checked: (user === null || user === void 0 ? void 0 : user.description) ? true : false }),
|
4510
|
-
React.createElement("span", { className: 'tw-text-sm tw-label-text tw-mx-2' }, "Fill Profile"))),
|
4511
|
-
React.createElement("li", null,
|
4512
|
-
React.createElement("label", { className: "tw-label tw-justify-normal tw-pt-1 tw-pb-0" },
|
4513
|
-
React.createElement("input", { type: "checkbox", readOnly: true, className: "tw-checkbox tw-checkbox-xs tw-checkbox-success", checked: (user === null || user === void 0 ? void 0 : user.avatar) ? true : false }),
|
4514
|
-
React.createElement("span", { className: 'tw-text-sm tw-label-text tw-mx-2' }, "Upload Avatar")))),
|
4515
|
-
" "))
|
4516
|
-
: ""));
|
4089
|
+
return (jsx(Fragment, { children: questsOpen ?
|
4090
|
+
jsx("div", __assign({ className: "tw-card tw-w-48 tw-bg-base-100 tw-shadow-xl tw-absolute tw-bottom-4 tw-left-4 tw-z-[2000]" }, { children: jsxs("div", __assign({ className: "tw-card-body tw-p-4 tw-pt-0" }, { children: [jsx("div", __assign({ className: "tw-card-actions tw-justify-end" }, { children: jsx("label", __assign({ className: "tw-btn tw-btn-sm tw-btn-circle tw-btn-ghost tw-absolute tw-right-1 tw-top-1", onClick: function () { return setQuestsOpen(false); } }, { children: "\u2715" })) })), jsxs("h2", __assign({ className: "tw-card-title tw-m-auto " }, { children: ["Level 1", jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "#aaa", className: "tw-w-5 tw-h-5 tw-cursor-pointer" }, { children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9 5.25h.008v.008H12v-.008z" }) }))] })), jsxs("ul", __assign({ className: 'tw-flex-row' }, { children: [jsx("li", { children: jsxs("label", __assign({ className: "tw-label tw-justify-normal tw-pt-1 tw-pb-0" }, { children: [jsx("input", { type: "checkbox", readOnly: true, className: "tw-checkbox tw-checkbox-xs tw-checkbox-success", checked: isAuthenticated ? isAuthenticated : false }), jsx("span", __assign({ className: 'tw-text-sm tw-label-text tw-mx-2' }, { children: "Sign Up" }))] })) }), jsx("li", { children: jsxs("label", __assign({ className: "tw-label tw-justify-normal tw-pt-1 tw-pb-0" }, { children: [jsx("input", { type: "checkbox", readOnly: true, className: "tw-checkbox tw-checkbox-xs tw-checkbox-success", checked: (user === null || user === void 0 ? void 0 : user.description) ? true : false }), jsx("span", __assign({ className: 'tw-text-sm tw-label-text tw-mx-2' }, { children: "Fill Profile" }))] })) }), jsx("li", { children: jsxs("label", __assign({ className: "tw-label tw-justify-normal tw-pt-1 tw-pb-0" }, { children: [jsx("input", { type: "checkbox", readOnly: true, className: "tw-checkbox tw-checkbox-xs tw-checkbox-success", checked: (user === null || user === void 0 ? void 0 : user.avatar) ? true : false }), jsx("span", __assign({ className: 'tw-text-sm tw-label-text tw-mx-2' }, { children: "Upload Avatar" }))] })) })] })), " "] })) }))
|
4091
|
+
: "" }));
|
4517
4092
|
}
|
4518
4093
|
|
4519
|
-
var css_248z = "/*\n! tailwindcss v3.3.1 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: Helvetica, sans-serif, Roboto; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n\n:root,\n[data-theme] {\n background-color: var(--fallback-b1,oklch(var(--b1)/1));\n color: var(--fallback-bc,oklch(var(--bc)/1));\n}\n\n@supports not (color: oklch(0 0 0)) {\n\n :root {\n color-scheme: light;\n --fallback-p: #491eff;\n --fallback-pc: #d4dbff;\n --fallback-s: #ff41c7;\n --fallback-sc: #fff9fc;\n --fallback-a: #00cfbd;\n --fallback-ac: #00100d;\n --fallback-n: #2b3440;\n --fallback-nc: #d7dde4;\n --fallback-b1: #ffffff;\n --fallback-b2: #e5e6e6;\n --fallback-b3: #e5e6e6;\n --fallback-bc: #1f2937;\n --fallback-in: #00b3f0;\n --fallback-inc: #000000;\n --fallback-su: #00ca92;\n --fallback-suc: #000000;\n --fallback-wa: #ffc22d;\n --fallback-wac: #000000;\n --fallback-er: #ff6f70;\n --fallback-erc: #000000;\n }\n\n @media (prefers-color-scheme: dark) {\n\n :root {\n color-scheme: dark;\n --fallback-p: #7582ff;\n --fallback-pc: #050617;\n --fallback-s: #ff71cf;\n --fallback-sc: #190211;\n --fallback-a: #00c7b5;\n --fallback-ac: #000e0c;\n --fallback-n: #2a323c;\n --fallback-nc: #a6adbb;\n --fallback-b1: #1d232a;\n --fallback-b2: #191e24;\n --fallback-b3: #15191e;\n --fallback-bc: #a6adbb;\n --fallback-in: #00b3f0;\n --fallback-inc: #000000;\n --fallback-su: #00ca92;\n --fallback-suc: #000000;\n --fallback-wa: #ffc22d;\n --fallback-wac: #000000;\n --fallback-er: #ff6f70;\n --fallback-erc: #000000;\n }\n }\n}\n\nhtml {\n -webkit-tap-highlight-color: transparent;\n}\n\n:root {\n color-scheme: light;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --pc: 0.89824 0.06192 275.75;\n --ac: 0.15352 0.0368 183.61;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 0.4912 0.3096 275.75;\n --s: 0.6971 0.329 342.55;\n --sc: 0.9871 0.0106 342.55;\n --a: 0.7676 0.184 183.61;\n --n: 0.321785 0.02476 255.701624;\n --nc: 0.894994 0.011585 252.096176;\n --b1: 1 0 0;\n --b2: 0.961151 0 0;\n --b3: 0.924169 0.00108 197.137559;\n --bc: 0.278078 0.029596 256.847952;\n}\n\n@media (prefers-color-scheme: dark) {\n\n :root {\n color-scheme: dark;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --pc: 0.13138 0.0392 275.75;\n --sc: 0.1496 0.052 342.55;\n --ac: 0.14902 0.0334 183.61;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 0.6569 0.196 275.75;\n --s: 0.748 0.26 342.55;\n --a: 0.7451 0.167 183.61;\n --n: 0.313815 0.021108 254.139175;\n --nc: 0.746477 0.0216 264.435964;\n --b1: 0.253267 0.015896 252.417568;\n --b2: 0.232607 0.013807 253.100675;\n --b3: 0.211484 0.01165 254.087939;\n --bc: 0.746477 0.0216 264.435964;\n }\n}\n\n[data-theme=light] {\n color-scheme: light;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --pc: 0.89824 0.06192 275.75;\n --ac: 0.15352 0.0368 183.61;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 0.4912 0.3096 275.75;\n --s: 0.6971 0.329 342.55;\n --sc: 0.9871 0.0106 342.55;\n --a: 0.7676 0.184 183.61;\n --n: 0.321785 0.02476 255.701624;\n --nc: 0.894994 0.011585 252.096176;\n --b1: 1 0 0;\n --b2: 0.961151 0 0;\n --b3: 0.924169 0.00108 197.137559;\n --bc: 0.278078 0.029596 256.847952;\n}\n\n[data-theme=dark] {\n color-scheme: dark;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --pc: 0.13138 0.0392 275.75;\n --sc: 0.1496 0.052 342.55;\n --ac: 0.14902 0.0334 183.61;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 0.6569 0.196 275.75;\n --s: 0.748 0.26 342.55;\n --a: 0.7451 0.167 183.61;\n --n: 0.313815 0.021108 254.139175;\n --nc: 0.746477 0.0216 264.435964;\n --b1: 0.253267 0.015896 252.417568;\n --b2: 0.232607 0.013807 253.100675;\n --b3: 0.211484 0.01165 254.087939;\n --bc: 0.746477 0.0216 264.435964;\n}\n\n[data-theme=cupcake] {\n color-scheme: light;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --pc: 0.152344 0.017892 200.026556;\n --sc: 0.15787 0.020249 356.29965;\n --ac: 0.158762 0.029206 78.618794;\n --nc: 0.847148 0.013247 313.189598;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --rounded-box: 1rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --p: 0.76172 0.089459 200.026556;\n --s: 0.789351 0.101246 356.29965;\n --a: 0.793811 0.146032 78.618794;\n --n: 0.235742 0.066235 313.189598;\n --b1: 0.977882 0.00418 56.375637;\n --b2: 0.939822 0.007638 61.449292;\n --b3: 0.915861 0.006811 53.440502;\n --bc: 0.235742 0.066235 313.189598;\n --rounded-btn: 1.9rem;\n --tab-border: 2px;\n --tab-radius: 0.7rem;\n}\n\n[data-theme=retro] {\n color-scheme: light;\n --inc: 0.90923 0.043042 262.880917;\n --suc: 0.12541 0.033982 149.213788;\n --wac: 0.133168 0.031484 58.31834;\n --erc: 0.13144 0.0398 27.33;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --p: 0.768664 0.104092 22.664655;\n --pc: 0.265104 0.006243 0.522862;\n --s: 0.807415 0.052534 159.094608;\n --sc: 0.265104 0.006243 0.522862;\n --a: 0.703919 0.125455 52.953428;\n --ac: 0.265104 0.006243 0.522862;\n --n: 0.284181 0.009519 355.534017;\n --nc: 0.925604 0.025113 89.217311;\n --b1: 0.916374 0.034554 90.51575;\n --b2: 0.882722 0.049418 91.774344;\n --b3: 0.84133 0.065952 90.856665;\n --bc: 0.265104 0.006243 0.522862;\n --in: 0.54615 0.215208 262.880917;\n --su: 0.627052 0.169912 149.213788;\n --wa: 0.66584 0.157422 58.31834;\n --er: 0.6572 0.199 27.33;\n --rounded-box: 0.4rem;\n --rounded-btn: 0.4rem;\n --rounded-badge: 0.4rem;\n --tab-radius: 0.4rem;\n}\n\n[data-theme=cyberpunk] {\n color-scheme: light;\n --b2: 0.878943 0.16647 104.32;\n --b3: 0.812786 0.15394 104.32;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --bc: 0.18902 0.0358 104.32;\n --pc: 0.14844 0.0418 6.35;\n --sc: 0.16666 0.0368 204.72;\n --ac: 0.14372 0.04352 310.43;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;\n --p: 0.7422 0.209 6.35;\n --s: 0.8333 0.184 204.72;\n --a: 0.7186 0.2176 310.43;\n --n: 0.2304 0.065 269.31;\n --nc: 0.9451 0.179 104.32;\n --b1: 0.9451 0.179 104.32;\n --rounded-box: 0;\n --rounded-btn: 0;\n --rounded-badge: 0;\n --tab-radius: 0;\n}\n\n[data-theme=aqua] {\n color-scheme: dark;\n --b2: 0.453464 0.118611 261.181672;\n --b3: 0.419333 0.109683 261.181672;\n --bc: 0.897519 0.025508 261.181672;\n --sc: 0.121365 0.02175 309.782946;\n --ac: 0.186854 0.020445 94.555431;\n --nc: 0.122124 0.023402 243.760661;\n --inc: 0.90923 0.043042 262.880917;\n --suc: 0.12541 0.033982 149.213788;\n --wac: 0.133168 0.031484 58.31834;\n --erc: 0.1479 0.038 27.33;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 0.856617 0.14498 198.6458;\n --pc: 0.401249 0.068266 197.603872;\n --s: 0.606827 0.108752 309.782946;\n --a: 0.934269 0.102225 94.555431;\n --n: 0.610622 0.117009 243.760661;\n --b1: 0.487596 0.127539 261.181672;\n --in: 0.54615 0.215208 262.880917;\n --su: 0.627052 0.169912 149.213788;\n --wa: 0.66584 0.157422 58.31834;\n --er: 0.7395 0.19 27.33;\n}\n\ninput[type=\"range\"]::-webkit-slider-thumb {\n height: 1rem;\n width: 1rem;\n border-radius: 9999px;\n border: 0;\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n cursor: pointer;\n}\n\ninput[type=\"range\"]:disabled::-webkit-slider-thumb {}\n\ninput[type=\"range\"]:disabled:focus::-webkit-slider-thumb {}\n\ninput[type=\"range\"]:disabled:active::-webkit-slider-thumb {}\n\ninput[type=\"range\"]::-moz-range-thumb {\n height: 1rem;\n width: 1rem;\n border-radius: 9999px;\n border: 0;\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n cursor: pointer;\n}\n\ninput[type=\"range\"]:disabled::-moz-range-thumb {}\n\ninput[type=\"range\"]::-moz-range-progress {}\n\ninput[type=\"range\"]::-ms-fill-lower {}\n\ninput[type=\"range\"]:focus {\n outline: none;\n}\n\ninput[type=\"range\"]:focus::-webkit-slider-thumb {}\n\ninput[type=\"range\"]:active::-webkit-slider-thumb {}\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n.tw-alert {\n display: grid;\n width: 100%;\n grid-auto-flow: row;\n align-content: flex-start;\n align-items: center;\n justify-items: center;\n gap: 1rem;\n text-align: center;\n border-radius: var(--rounded-box, 1rem);\n border-width: 1px;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n padding: 1rem;\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --alert-bg: var(--fallback-b2,oklch(var(--b2)/1));\n --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1));\n background-color: var(--alert-bg);\n}\n@media (min-width: 640px) {\n\n .tw-alert {\n grid-auto-flow: column;\n grid-template-columns: auto minmax(auto,1fr);\n justify-items: start;\n text-align: start;\n }\n}\n.tw-avatar {\n position: relative;\n display: inline-flex;\n}\n.tw-avatar > div {\n display: block;\n aspect-ratio: 1 / 1;\n overflow: hidden;\n}\n.tw-avatar img {\n height: 100%;\n width: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n}\n.tw-avatar.tw-placeholder > div {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.tw-breadcrumbs {\n max-width: 100%;\n overflow-x: auto;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.tw-breadcrumbs > ul,\n .tw-breadcrumbs > ol {\n display: flex;\n align-items: center;\n white-space: nowrap;\n min-height: -moz-min-content;\n min-height: min-content;\n}\n.tw-breadcrumbs > ul > li, .tw-breadcrumbs > ol > li {\n display: flex;\n align-items: center;\n}\n.tw-breadcrumbs > ul > li > a, .tw-breadcrumbs > ol > li > a {\n display: flex;\n cursor: pointer;\n align-items: center;\n}\n@media (hover:hover) {\n\n .tw-breadcrumbs > ul > li > a:hover, .tw-breadcrumbs > ol > li > a:hover {\n text-decoration-line: underline;\n }\n\n .tw-checkbox-success:hover {\n --tw-border-opacity: 1;\n border-color: var(--fallback-su,oklch(var(--su)/var(--tw-border-opacity)));\n }\n\n .tw-label a:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n }\n\n .tw-menu li > *:not(ul):not(.tw-menu-title):not(details):active,\n.tw-menu li > *:not(ul):not(.tw-menu-title):not(details).tw-active,\n.tw-menu li > details > summary:active {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n --tw-text-opacity: 1;\n color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));\n }\n\n .tw-tab:hover {\n --tw-text-opacity: 1;\n }\n}\n.tw-btn {\n display: inline-flex;\n height: 3rem;\n min-height: 3rem;\n flex-shrink: 0;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n border-radius: var(--rounded-btn, 0.5rem);\n border-color: transparent;\n border-color: oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity));\n padding-left: 1rem;\n padding-right: 1rem;\n text-align: center;\n font-size: 0.875rem;\n line-height: 1em;\n gap: 0.5rem;\n font-weight: 600;\n text-decoration-line: none;\n transition-duration: 200ms;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n border-width: var(--border-btn, 1px);\n animation: button-pop var(--animation-btn, 0.25s) ease-out;\n transition-property: color, background-color, border-color, opacity, box-shadow, transform;\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n outline-color: var(--fallback-bc,oklch(var(--bc)/1));\n background-color: oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity));\n --tw-bg-opacity: 1;\n --tw-border-opacity: 1;\n}\n.tw-btn-disabled,\n .tw-btn[disabled],\n .tw-btn:disabled {\n pointer-events: none;\n}\n.tw-btn-square {\n height: 3rem;\n width: 3rem;\n padding: 0px;\n}\n.tw-btn-circle {\n height: 3rem;\n width: 3rem;\n border-radius: 9999px;\n padding: 0px;\n}\n:where(.tw-btn:is(input[type=\"checkbox\"])),\n:where(.tw-btn:is(input[type=\"radio\"])) {\n width: auto;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.tw-btn:is(input[type=\"checkbox\"]):after,\n.tw-btn:is(input[type=\"radio\"]):after {\n --tw-content: attr(aria-label);\n content: var(--tw-content);\n}\n.tw-card {\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: var(--rounded-box, 1rem);\n}\n.tw-card:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-card-body {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n padding: var(--padding-card, 2rem);\n gap: 0.5rem;\n}\n.tw-card-body :where(p) {\n flex-grow: 1;\n}\n.tw-card-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: 0.5rem;\n}\n.tw-card figure {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.tw-card.tw-image-full {\n display: grid;\n}\n.tw-card.tw-image-full:before {\n position: relative;\n content: \"\";\n z-index: 10;\n border-radius: var(--rounded-box, 1rem);\n --tw-bg-opacity: 1;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n opacity: 0.75;\n}\n.tw-card.tw-image-full:before,\n .tw-card.tw-image-full > * {\n grid-column-start: 1;\n grid-row-start: 1;\n}\n.tw-card.tw-image-full > figure img {\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n}\n.tw-card.tw-image-full > .tw-card-body {\n position: relative;\n z-index: 20;\n --tw-text-opacity: 1;\n color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));\n}\n.tw-checkbox {\n flex-shrink: 0;\n --chkbg: var(--fallback-bc,oklch(var(--bc)/1));\n --chkfg: var(--fallback-b1,oklch(var(--b1)/1));\n height: 1.5rem;\n width: 1.5rem;\n cursor: pointer;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border-radius: var(--rounded-btn, 0.5rem);\n border-width: 1px;\n border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));\n --tw-border-opacity: 0.2;\n}\n.tw-divider {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n margin-top: 1rem;\n margin-bottom: 1rem;\n height: 1rem;\n white-space: nowrap;\n}\n.tw-divider:before,\n .tw-divider:after {\n height: 0.125rem;\n width: 100%;\n flex-grow: 1;\n --tw-content: '';\n content: var(--tw-content);\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n}\n.tw-dropdown {\n position: relative;\n display: inline-block;\n}\n.tw-dropdown > *:not(summary):focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-dropdown .tw-dropdown-content {\n position: absolute;\n}\n.tw-dropdown:is(:not(details)) .tw-dropdown-content {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n visibility: hidden;\n opacity: 0;\n transform-origin: top;\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 200ms;\n}\n.tw-dropdown-end .tw-dropdown-content {\n inset-inline-end: 0px;\n}\n.tw-dropdown-left .tw-dropdown-content {\n bottom: auto;\n inset-inline-end: 100%;\n top: 0px;\n transform-origin: right;\n}\n.tw-dropdown-right .tw-dropdown-content {\n bottom: auto;\n inset-inline-start: 100%;\n top: 0px;\n transform-origin: left;\n}\n.tw-dropdown-bottom .tw-dropdown-content {\n bottom: auto;\n top: 100%;\n transform-origin: top;\n}\n.tw-dropdown-top .tw-dropdown-content {\n bottom: 100%;\n top: auto;\n transform-origin: bottom;\n}\n.tw-dropdown-end.tw-dropdown-right .tw-dropdown-content {\n bottom: 0px;\n top: auto;\n}\n.tw-dropdown-end.tw-dropdown-left .tw-dropdown-content {\n bottom: 0px;\n top: auto;\n}\n.tw-dropdown.tw-dropdown-open .tw-dropdown-content,\n.tw-dropdown:not(.tw-dropdown-hover):focus .tw-dropdown-content,\n.tw-dropdown:focus-within .tw-dropdown-content {\n visibility: visible;\n opacity: 1;\n}\n@media (hover: hover) {\n\n .tw-dropdown.tw-dropdown-hover:hover .tw-dropdown-content {\n visibility: visible;\n opacity: 1;\n }\n\n .tw-btn:hover {\n --tw-border-opacity: 1;\n border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn:hover {\n background-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%,\n black\n );\n border-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%,\n black\n );\n }\n }\n\n @supports not (color: oklch(0 0 0)) {\n\n .tw-btn:hover {\n background-color: var(--btn-color, var(--fallback-b2));\n border-color: var(--btn-color, var(--fallback-b2));\n }\n }\n\n .tw-btn:hover {\n --tw-border-opacity: 1;\n border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn:hover {\n background-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%,\n black\n );\n border-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%,\n black\n );\n }\n }\n\n @supports not (color: oklch(0 0 0)) {\n\n .tw-btn:hover {\n background-color: var(--btn-color, var(--fallback-b2));\n border-color: var(--btn-color, var(--fallback-b2));\n }\n }\n\n .tw-btn:hover {\n --tw-border-opacity: 1;\n border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn:hover {\n background-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%,\n black\n );\n border-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%,\n black\n );\n }\n }\n\n @supports not (color: oklch(0 0 0)) {\n\n .tw-btn:hover {\n background-color: var(--btn-color, var(--fallback-b2));\n border-color: var(--btn-color, var(--fallback-b2));\n }\n }\n\n .tw-btn.tw-glass:hover {\n --glass-opacity: 25%;\n --glass-border-opacity: 15%;\n }\n\n .tw-btn-ghost:hover {\n border-color: transparent;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n .tw-btn-ghost:hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n }\n }\n\n .tw-btn-ghost:hover {\n border-color: transparent;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n .tw-btn-ghost:hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n }\n }\n\n .tw-btn-outline.tw-btn-primary:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn-outline.tw-btn-primary:hover {\n background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n }\n }\n\n .tw-btn-outline.tw-btn-primary:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn-outline.tw-btn-primary:hover {\n background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n }\n }\n\n .tw-btn-outline.tw-btn-error:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn-outline.tw-btn-error:hover {\n background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n }\n }\n\n .tw-btn-outline.tw-btn-error:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn-outline.tw-btn-error:hover {\n background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n }\n }\n\n .tw-btn-disabled:hover,\n .tw-btn[disabled]:hover,\n .tw-btn:disabled:hover {\n --tw-border-opacity: 0;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n --tw-bg-opacity: 0.2;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn:is(input[type=\"checkbox\"]:checked):hover, .tw-btn:is(input[type=\"radio\"]:checked):hover {\n background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n }\n }\n\n .tw-dropdown.tw-dropdown-hover:hover .tw-dropdown-content {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n cursor: pointer;\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n }\n }\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n cursor: pointer;\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n }\n }\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n cursor: pointer;\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n }\n }\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n cursor: pointer;\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n }\n }\n\n .tw-tab[disabled],\n .tw-tab[disabled]:hover {\n cursor: not-allowed;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n }\n}\n.tw-dropdown:is(details) summary::-webkit-details-marker {\n display: none;\n}\n.tw-file-input {\n height: 3rem;\n flex-shrink: 1;\n padding-inline-end: 1rem;\n font-size: 1rem;\n line-height: 2;\n line-height: 1.5rem;\n overflow: hidden;\n border-radius: var(--rounded-btn, 0.5rem);\n border-width: 1px;\n border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));\n --tw-border-opacity: 0;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n}\n.tw-file-input::file-selector-button {\n margin-inline-end: 1rem;\n display: inline-flex;\n height: 100%;\n flex-shrink: 0;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n padding-left: 1rem;\n padding-right: 1rem;\n text-align: center;\n font-size: 0.875rem;\n line-height: 1.25rem;\n line-height: 1em;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 200ms;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: var(--fallback-n,oklch(var(--n)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n font-weight: 600;\n text-transform: uppercase;\n --tw-text-opacity: 1;\n color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));\n text-decoration-line: none;\n border-width: var(--border-btn, 1px);\n animation: button-pop var(--animation-btn, 0.25s) ease-out;\n}\n.tw-form-control {\n display: flex;\n flex-direction: column;\n}\n.tw-label {\n display: flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n align-items: center;\n justify-content: space-between;\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.tw-input {\n flex-shrink: 1;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n height: 3rem;\n padding-left: 1rem;\n padding-right: 1rem;\n font-size: 1rem;\n line-height: 2;\n line-height: 1.5rem;\n border-radius: var(--rounded-btn, 0.5rem);\n border-width: 1px;\n border-color: transparent;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n}\n.tw-join .tw-dropdown .tw-join-item:first-child:not(:last-child),\n .tw-join *:first-child:not(:last-child) .tw-dropdown .tw-join-item {\n border-start-end-radius: inherit;\n border-end-end-radius: inherit;\n}\n.tw-menu {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n font-size: 0.875rem;\n line-height: 1.25rem;\n padding: 0.5rem;\n}\n.tw-menu :where(li ul) {\n position: relative;\n white-space: nowrap;\n margin-inline-start: 1rem;\n padding-inline-start: 0.5rem;\n}\n.tw-menu :where(li:not(.tw-menu-title) > *:not(ul):not(details):not(.tw-menu-title)),\n .tw-menu :where(li:not(.tw-menu-title) > details > summary:not(.tw-menu-title)) {\n display: grid;\n grid-auto-flow: column;\n align-content: flex-start;\n align-items: center;\n gap: 0.5rem;\n grid-auto-columns: minmax(auto, max-content) auto max-content;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.tw-menu li.tw-disabled {\n cursor: not-allowed;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n color: var(--fallback-bc,oklch(var(--bc)/0.3));\n}\n.tw-menu :where(li > .tw-menu-dropdown:not(.tw-menu-dropdown-show)) {\n display: none;\n}\n:where(.tw-menu li) {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-direction: column;\n flex-wrap: wrap;\n align-items: stretch;\n}\n:where(.tw-menu li) .tw-badge {\n justify-self: end;\n}\n.tw-modal {\n pointer-events: none;\n position: fixed;\n inset: 0px;\n margin: 0px;\n display: grid;\n height: 100%;\n max-height: none;\n width: 100%;\n max-width: none;\n justify-items: center;\n padding: 0px;\n opacity: 0;\n overscroll-behavior: contain;\n z-index: 999;\n background-color: transparent;\n color: inherit;\n transition-duration: 200ms;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-property: transform, opacity, visibility;\n overflow-y: hidden;\n}\n:where(.tw-modal) {\n align-items: center;\n}\n.tw-modal-box {\n max-height: calc(100vh - 5em);\n grid-column-start: 1;\n grid-row-start: 1;\n width: 91.666667%;\n max-width: 32rem;\n --tw-scale-x: .9;\n --tw-scale-y: .9;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-bottom-right-radius: var(--rounded-box, 1rem);\n border-bottom-left-radius: var(--rounded-box, 1rem);\n border-top-left-radius: var(--rounded-box, 1rem);\n border-top-right-radius: var(--rounded-box, 1rem);\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n padding: 1.5rem;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 200ms;\n box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;\n overflow-y: auto;\n overscroll-behavior: contain;\n}\n.tw-modal-open,\n.tw-modal:target,\n.tw-modal-toggle:checked + .tw-modal,\n.tw-modal[open] {\n pointer-events: auto;\n visibility: visible;\n opacity: 1;\n}\n:root:has(:is(.tw-modal-open, .tw-modal:target, .tw-modal-toggle:checked + .tw-modal, .tw-modal[open])) {\n overflow: hidden;\n}\n.tw-navbar {\n display: flex;\n align-items: center;\n padding: var(--navbar-padding, 0.5rem);\n min-height: 4rem;\n width: 100%;\n}\n:where(.tw-navbar > *) {\n display: inline-flex;\n align-items: center;\n}\n.tw-select {\n display: inline-flex;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n height: 3rem;\n min-height: 3rem;\n padding-left: 1rem;\n padding-right: 2.5rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n line-height: 2;\n border-radius: var(--rounded-btn, 0.5rem);\n border-width: 1px;\n border-color: transparent;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),\n linear-gradient(135deg, currentColor 50%, transparent 50%);\n background-position: calc(100% - 20px) calc(1px + 50%),\n calc(100% - 16.1px) calc(1px + 50%);\n background-size: 4px 4px,\n 4px 4px;\n background-repeat: no-repeat;\n}\n.tw-select[multiple] {\n height: auto;\n}\n.tw-tabs {\n display: grid;\n align-items: flex-end;\n}\n.tw-tabs-lifted:has(.tw-tab-content[class^=\"rounded-\"]) .tw-tab:first-child:not(.tw-tab-active),\n .tw-tabs-lifted:has(.tw-tab-content[class*=\" rounded-\"]) .tw-tab:first-child:not(.tw-tab-active) {\n border-bottom-color: transparent;\n}\n.tw-tab {\n position: relative;\n grid-row-start: 1;\n display: inline-flex;\n height: 2rem;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n font-size: 0.875rem;\n line-height: 1.25rem;\n line-height: 2;\n --tab-padding: 1rem;\n --tw-text-opacity: 0.5;\n --tab-color: var(--fallback-bc,oklch(var(--bc)/1));\n --tab-bg: var(--fallback-b1,oklch(var(--b1)/1));\n --tab-border-color: var(--fallback-b3,oklch(var(--b3)/1));\n color: var(--tab-color);\n padding-inline-start: var(--tab-padding, 1rem);\n padding-inline-end: var(--tab-padding, 1rem);\n}\n.tw-tab:is(input[type=\"radio\"]) {\n width: auto;\n border-bottom-right-radius: 0px;\n border-bottom-left-radius: 0px;\n}\n.tw-tab:is(input[type=\"radio\"]):after {\n --tw-content: attr(aria-label);\n content: var(--tw-content);\n}\n.tw-tab:not(input):empty {\n cursor: default;\n grid-column-start: span 9999;\n}\n.tw-tab-content {\n grid-column-start: 1;\n grid-column-end: span 9999;\n grid-row-start: 2;\n margin-top: calc(var(--tab-border) * -1);\n display: none;\n border-color: transparent;\n border-width: var(--tab-border, 0);\n}\n:checked + .tw-tab-content:nth-child(2),\n .tw-tab-active + .tw-tab-content:nth-child(2) {\n border-start-start-radius: 0px;\n}\ninput.tw-tab:checked + .tw-tab-content,\n.tw-tab-active + .tw-tab-content {\n display: block;\n}\n.tw-textarea {\n min-height: 3rem;\n flex-shrink: 1;\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n line-height: 2;\n border-radius: var(--rounded-btn, 0.5rem);\n border-width: 1px;\n border-color: transparent;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n}\n.tw-avatar-group :where(.tw-avatar) {\n overflow: hidden;\n border-radius: 9999px;\n border-width: 4px;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-border-opacity)));\n}\n.tw-btm-nav > * .tw-label {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.tw-breadcrumbs > ul > li > a:focus, .tw-breadcrumbs > ol > li > a:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-breadcrumbs > ul > li > a:focus-visible, .tw-breadcrumbs > ol > li > a:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: 2px;\n}\n.tw-breadcrumbs > ul > li + *:before, .tw-breadcrumbs > ol > li + *:before {\n content: \"\";\n margin-left: 0.5rem;\n margin-right: 0.75rem;\n display: block;\n height: 0.375rem;\n width: 0.375rem;\n --tw-rotate: 45deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n opacity: 0.4;\n border-top: 1px solid;\n border-right: 1px solid;\n background-color: transparent;\n}\n[dir=\"rtl\"] .tw-breadcrumbs > ul > li + *:before,\n[dir=\"rtl\"] .tw-breadcrumbs > ol > li + *:before {\n --tw-rotate: -135deg;\n}\n.tw-btn:active:hover,\n .tw-btn:active:focus {\n animation: button-pop 0s ease-out;\n transform: scale(var(--btn-focus-scale, 0.97));\n}\n@supports not (color: oklch(0 0 0)) {\n\n .tw-btn {\n background-color: var(--btn-color, var(--fallback-b2));\n border-color: var(--btn-color, var(--fallback-b2));\n }\n\n .tw-btn-primary {\n --btn-color: var(--fallback-p);\n }\n\n .tw-btn-neutral {\n --btn-color: var(--fallback-n);\n }\n\n .tw-btn-error {\n --btn-color: var(--fallback-er);\n }\n}\n@supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn-outline.tw-btn-primary.tw-btn-active {\n background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n }\n\n .tw-btn-outline.tw-btn-error.tw-btn-active {\n background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n }\n}\n.tw-btn:focus-visible {\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n}\n.tw-btn-primary {\n --tw-text-opacity: 1;\n color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));\n outline-color: var(--fallback-p,oklch(var(--p)/1));\n}\n@supports (color: oklch(0 0 0)) {\n\n .tw-btn-primary {\n --btn-color: var(--p);\n }\n\n .tw-btn-neutral {\n --btn-color: var(--n);\n }\n\n .tw-btn-error {\n --btn-color: var(--er);\n }\n}\n.tw-btn-neutral {\n --tw-text-opacity: 1;\n color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));\n outline-color: var(--fallback-n,oklch(var(--n)/1));\n}\n.tw-btn-error {\n --tw-text-opacity: 1;\n color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));\n outline-color: var(--fallback-er,oklch(var(--er)/1));\n}\n.tw-btn.tw-glass {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n outline-color: currentColor;\n}\n.tw-btn.tw-glass.tw-btn-active {\n --glass-opacity: 25%;\n --glass-border-opacity: 15%;\n}\n.tw-btn-ghost {\n border-width: 1px;\n border-color: transparent;\n background-color: transparent;\n color: currentColor;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n outline-color: currentColor;\n}\n.tw-btn-ghost.tw-btn-active {\n border-color: transparent;\n background-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-btn-outline.tw-btn-primary {\n --tw-text-opacity: 1;\n color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity)));\n}\n.tw-btn-outline.tw-btn-primary.tw-btn-active {\n --tw-text-opacity: 1;\n color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));\n}\n.tw-btn-outline.tw-btn-error {\n --tw-text-opacity: 1;\n color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity)));\n}\n.tw-btn-outline.tw-btn-error.tw-btn-active {\n --tw-text-opacity: 1;\n color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));\n}\n.tw-btn.tw-btn-disabled,\n .tw-btn[disabled],\n .tw-btn:disabled {\n --tw-border-opacity: 0;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n --tw-bg-opacity: 0.2;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-btn:is(input[type=\"checkbox\"]:checked),\n.tw-btn:is(input[type=\"radio\"]:checked) {\n --tw-border-opacity: 1;\n border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity)));\n --tw-text-opacity: 1;\n color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));\n}\n.tw-btn:is(input[type=\"checkbox\"]:checked):focus-visible, .tw-btn:is(input[type=\"radio\"]:checked):focus-visible {\n outline-color: var(--fallback-p,oklch(var(--p)/1));\n}\n@keyframes button-pop {\n\n 0% {\n transform: scale(var(--btn-focus-scale, 0.98));\n }\n\n 40% {\n transform: scale(1.02);\n }\n\n 100% {\n transform: scale(1);\n }\n}\n.tw-card :where(figure:first-child) {\n overflow: hidden;\n border-start-start-radius: inherit;\n border-start-end-radius: inherit;\n border-end-start-radius: unset;\n border-end-end-radius: unset;\n}\n.tw-card :where(figure:last-child) {\n overflow: hidden;\n border-start-start-radius: unset;\n border-start-end-radius: unset;\n border-end-start-radius: inherit;\n border-end-end-radius: inherit;\n}\n.tw-card:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: 2px;\n}\n.tw-card.tw-bordered {\n border-width: 1px;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n}\n.tw-card.tw-compact .tw-card-body {\n padding: 1rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.tw-card-title {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-size: 1.25rem;\n line-height: 1.75rem;\n font-weight: 600;\n}\n.tw-card.tw-image-full :where(figure) {\n overflow: hidden;\n border-radius: inherit;\n}\n.tw-checkbox:focus {\n box-shadow: none;\n}\n.tw-checkbox:focus-visible {\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: var(--fallback-bc,oklch(var(--bc)/1));\n}\n.tw-checkbox:checked,\n .tw-checkbox[checked=\"true\"],\n .tw-checkbox[aria-checked=\"true\"] {\n background-repeat: no-repeat;\n animation: checkmark var(--animation-input, 0.2s) ease-out;\n background-color: var(--chkbg);\n background-image: linear-gradient(-45deg, transparent 65%, var(--chkbg) 65.99%),\n linear-gradient(45deg, transparent 75%, var(--chkbg) 75.99%),\n linear-gradient(-45deg, var(--chkbg) 40%, transparent 40.99%),\n linear-gradient(\n 45deg,\n var(--chkbg) 30%,\n var(--chkfg) 30.99%,\n var(--chkfg) 40%,\n transparent 40.99%\n ),\n linear-gradient(-45deg, var(--chkfg) 50%, var(--chkbg) 50.99%);\n}\n.tw-checkbox:indeterminate {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));\n background-repeat: no-repeat;\n animation: checkmark var(--animation-input, 0.2s) ease-out;\n background-image: linear-gradient(90deg, transparent 80%, var(--chkbg) 80%),\n linear-gradient(-90deg, transparent 80%, var(--chkbg) 80%),\n linear-gradient(0deg, var(--chkbg) 43%, var(--chkfg) 43%, var(--chkfg) 57%, var(--chkbg) 57%);\n}\n.tw-checkbox-success {\n --chkbg: var(--fallback-su,oklch(var(--su)/1));\n --chkfg: var(--fallback-suc,oklch(var(--suc)/1));\n --tw-border-opacity: 1;\n border-color: var(--fallback-su,oklch(var(--su)/var(--tw-border-opacity)));\n}\n.tw-checkbox-success:focus-visible {\n outline-color: var(--fallback-su,oklch(var(--su)/1));\n}\n.tw-checkbox-success:checked,\n .tw-checkbox-success[checked=\"true\"],\n .tw-checkbox-success[aria-checked=\"true\"] {\n --tw-border-opacity: 1;\n border-color: var(--fallback-su,oklch(var(--su)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity)));\n --tw-text-opacity: 1;\n color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)));\n}\n.tw-checkbox:disabled {\n cursor: not-allowed;\n border-color: transparent;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));\n opacity: 0.2;\n}\n@keyframes checkmark {\n\n 0% {\n background-position-y: 5px;\n }\n\n 50% {\n background-position-y: -2px;\n }\n\n 100% {\n background-position-y: 0;\n }\n}\n.tw-divider:not(:empty) {\n gap: 1rem;\n}\n.tw-dropdown.tw-dropdown-open .tw-dropdown-content,\n.tw-dropdown:focus .tw-dropdown-content,\n.tw-dropdown:focus-within .tw-dropdown-content {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tw-file-input:focus {\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-file-input-disabled,\n .tw-file-input[disabled] {\n cursor: not-allowed;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-file-input-disabled::-moz-placeholder, .tw-file-input[disabled]::-moz-placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-file-input-disabled::placeholder,\n .tw-file-input[disabled]::placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-file-input-disabled::file-selector-button, .tw-file-input[disabled]::file-selector-button {\n --tw-border-opacity: 0;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n --tw-bg-opacity: 0.2;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-label-text {\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n}\n.tw-input input:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-input[list]::-webkit-calendar-picker-indicator {\n line-height: 1em;\n}\n.tw-input-bordered {\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-input:focus,\n .tw-input:focus-within {\n box-shadow: none;\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-input-disabled,\n .tw-input:disabled,\n .tw-input[disabled] {\n cursor: not-allowed;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n color: var(--fallback-bc,oklch(var(--bc)/0.4));\n}\n.tw-input-disabled::-moz-placeholder, .tw-input:disabled::-moz-placeholder, .tw-input[disabled]::-moz-placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-input-disabled::placeholder,\n .tw-input:disabled::placeholder,\n .tw-input[disabled]::placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-input::-webkit-date-and-time-value {\n text-align: inherit;\n}\n.tw-loading {\n pointer-events: none;\n display: inline-block;\n aspect-ratio: 1 / 1;\n width: 1.5rem;\n background-color: currentColor;\n -webkit-mask-size: 100%;\n mask-size: 100%;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E\");\n}\n.tw-loading-spinner {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E\");\n}\n.tw-loading-sm {\n width: 1.25rem;\n}\n.tw-loading-md {\n width: 1.5rem;\n}\n:where(.tw-menu li:empty) {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));\n opacity: 0.1;\n margin: 0.5rem 1rem;\n height: 1px;\n}\n.tw-menu :where(li ul):before {\n position: absolute;\n bottom: 0.75rem;\n inset-inline-start: 0px;\n top: 0.75rem;\n width: 1px;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));\n opacity: 0.1;\n content: \"\";\n}\n.tw-menu :where(li:not(.tw-menu-title) > *:not(ul):not(details):not(.tw-menu-title)),\n.tw-menu :where(li:not(.tw-menu-title) > details > summary:not(.tw-menu-title)) {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n border-radius: var(--rounded-btn, 0.5rem);\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n text-align: start;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 200ms;\n text-wrap: balance;\n}\n:where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(summary):not(.tw-active).tw-focus,\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(summary):not(.tw-active):focus,\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):is(summary):not(.tw-active):focus-visible,\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(summary):not(.tw-active).tw-focus,\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(summary):not(.tw-active):focus,\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):is(summary):not(.tw-active):focus-visible {\n cursor: pointer;\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-menu li > *:not(ul):not(.tw-menu-title):not(details):active,\n.tw-menu li > *:not(ul):not(.tw-menu-title):not(details).tw-active,\n.tw-menu li > details > summary:active {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n --tw-text-opacity: 1;\n color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));\n}\n.tw-menu :where(li > details > summary)::-webkit-details-marker {\n display: none;\n}\n.tw-menu :where(li > details > summary):after,\n.tw-menu :where(li > .tw-menu-dropdown-toggle):after {\n justify-self: end;\n display: block;\n margin-top: -0.5rem;\n height: 0.5rem;\n width: 0.5rem;\n transform: rotate(45deg);\n transition-property: transform, margin-top;\n transition-duration: 0.3s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n content: \"\";\n transform-origin: 75% 75%;\n box-shadow: 2px 2px;\n pointer-events: none;\n}\n.tw-menu :where(li > details[open] > summary):after,\n.tw-menu :where(li > .tw-menu-dropdown-toggle.tw-menu-dropdown-show):after {\n transform: rotate(225deg);\n margin-top: 0;\n}\n.tw-mockup-browser .tw-mockup-browser-toolbar .tw-input {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n display: block;\n height: 1.75rem;\n width: 24rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n padding-left: 2rem;\n direction: ltr;\n}\n.tw-mockup-browser .tw-mockup-browser-toolbar .tw-input:before {\n content: \"\";\n position: absolute;\n left: 0.5rem;\n top: 50%;\n aspect-ratio: 1 / 1;\n height: 0.75rem;\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-radius: 9999px;\n border-width: 2px;\n border-color: currentColor;\n opacity: 0.6;\n}\n.tw-mockup-browser .tw-mockup-browser-toolbar .tw-input:after {\n content: \"\";\n position: absolute;\n left: 1.25rem;\n top: 50%;\n height: 0.5rem;\n --tw-translate-y: 25%;\n --tw-rotate: -45deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-radius: 9999px;\n border-width: 1px;\n border-color: currentColor;\n opacity: 0.6;\n}\n.tw-modal:not(dialog:not(.tw-modal-open)),\n .tw-modal::backdrop {\n background-color: #0006;\n animation: modal-pop 0.2s ease-out;\n}\n.tw-modal-backdrop {\n z-index: -1;\n grid-column-start: 1;\n grid-row-start: 1;\n display: grid;\n align-self: stretch;\n justify-self: stretch;\n color: transparent;\n}\n.tw-modal-open .tw-modal-box,\n.tw-modal-toggle:checked + .tw-modal .tw-modal-box,\n.tw-modal:target .tw-modal-box,\n.tw-modal[open] .tw-modal-box {\n --tw-translate-y: 0px;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes modal-pop {\n\n 0% {\n opacity: 0;\n }\n}\n@keyframes progress-loading {\n\n 50% {\n background-position-x: -115%;\n }\n}\n@keyframes radiomark {\n\n 0% {\n box-shadow: 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset,\n 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset;\n }\n\n 50% {\n box-shadow: 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset,\n 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset;\n }\n\n 100% {\n box-shadow: 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset,\n 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset;\n }\n}\n@keyframes rating-pop {\n\n 0% {\n transform: translateY(-0.125em);\n }\n\n 40% {\n transform: translateY(-0.125em);\n }\n\n 100% {\n transform: translateY(0);\n }\n}\n.tw-select-bordered {\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-select:focus {\n box-shadow: none;\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-select-disabled,\n .tw-select:disabled,\n .tw-select[disabled] {\n cursor: not-allowed;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-select-disabled::-moz-placeholder, .tw-select:disabled::-moz-placeholder, .tw-select[disabled]::-moz-placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-select-disabled::placeholder,\n .tw-select:disabled::placeholder,\n .tw-select[disabled]::placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-select-multiple,\n .tw-select[multiple],\n .tw-select[size].tw-select:not([size=\"1\"]) {\n background-image: none;\n padding-right: 1rem;\n}\n[dir=\"rtl\"] .tw-select {\n background-position: calc(0% + 12px) calc(1px + 50%),\n calc(0% + 16px) calc(1px + 50%);\n}\n@keyframes skeleton {\n\n from {\n background-position: 150%;\n }\n\n to {\n background-position: -50%;\n }\n}\n.tw-tabs-lifted > .tw-tab:focus-visible {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n}\n.tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]),\n .tw-tab:is(input:checked) {\n border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));\n --tw-border-opacity: 1;\n --tw-text-opacity: 1;\n}\n.tw-tab:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-tab:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: -5px;\n}\n.tw-tab-disabled,\n .tw-tab[disabled] {\n cursor: not-allowed;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-tabs-bordered > .tw-tab {\n border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));\n --tw-border-opacity: 0.2;\n border-style: solid;\n border-bottom-width: calc(var(--tab-border, 1px) + 1px);\n}\n.tw-tabs-lifted > .tw-tab {\n border: var(--tab-border, 1px) solid transparent;\n border-width: 0 0 var(--tab-border, 1px) 0;\n border-start-start-radius: var(--tab-radius, 0.5rem);\n border-start-end-radius: var(--tab-radius, 0.5rem);\n border-bottom-color: var(--tab-border-color);\n padding-inline-start: var(--tab-padding, 1rem);\n padding-inline-end: var(--tab-padding, 1rem);\n padding-top: var(--tab-border, 1px);\n}\n.tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]),\n .tw-tabs-lifted > .tw-tab:is(input:checked) {\n background-color: var(--tab-bg);\n border-width: var(--tab-border, 1px) var(--tab-border, 1px) 0 var(--tab-border, 1px);\n border-inline-start-color: var(--tab-border-color);\n border-inline-end-color: var(--tab-border-color);\n border-top-color: var(--tab-border-color);\n padding-inline-start: calc(var(--tab-padding, 1rem) - var(--tab-border, 1px));\n padding-inline-end: calc(var(--tab-padding, 1rem) - var(--tab-border, 1px));\n padding-bottom: var(--tab-border, 1px);\n padding-top: 0;\n}\n.tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]):before, .tw-tabs-lifted > .tw-tab:is(input:checked):before {\n z-index: 1;\n content: \"\";\n display: block;\n position: absolute;\n width: calc(100% + var(--tab-radius, 0.5rem) * 2);\n height: var(--tab-radius, 0.5rem);\n bottom: 0;\n background-size: var(--tab-radius, 0.5rem);\n background-position: top left,\n top right;\n background-repeat: no-repeat;\n --tab-grad: calc(69% - var(--tab-border, 1px));\n --radius-start: radial-gradient(\n circle at top left,\n transparent var(--tab-grad),\n var(--tab-border-color) calc(var(--tab-grad) + 0.25px),\n var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),\n var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px)\n );\n --radius-end: radial-gradient(\n circle at top right,\n transparent var(--tab-grad),\n var(--tab-border-color) calc(var(--tab-grad) + 0.25px),\n var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),\n var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px)\n );\n background-image: var(--radius-start), var(--radius-end);\n}\n.tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]):first-child:before, .tw-tabs-lifted > .tw-tab:is(input:checked):first-child:before {\n background-image: var(--radius-end);\n background-position: top right;\n}\n[dir=\"rtl\"] .tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]):first-child:before, [dir=\"rtl\"] .tw-tabs-lifted > .tw-tab:is(input:checked):first-child:before {\n background-image: var(--radius-start);\n background-position: top left;\n}\n.tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]):last-child:before, .tw-tabs-lifted > .tw-tab:is(input:checked):last-child:before {\n background-image: var(--radius-start);\n background-position: top left;\n}\n[dir=\"rtl\"] .tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]):last-child:before, [dir=\"rtl\"] .tw-tabs-lifted > .tw-tab:is(input:checked):last-child:before {\n background-image: var(--radius-end);\n background-position: top right;\n}\n.tw-tabs-lifted\n > .tw-tab-active:not(.tw-tab-disabled):not([disabled])\n + .tw-tabs-lifted\n .tw-tab-active:not(.tw-tab-disabled):not([disabled]):before, .tw-tabs-lifted > .tw-tab:is(input:checked) + .tw-tabs-lifted .tw-tab:is(input:checked):before {\n background-image: var(--radius-end);\n background-position: top right;\n}\n.tw-tabs-boxed .tw-tab {\n border-radius: var(--rounded-btn, 0.5rem);\n}\n.tw-textarea-bordered {\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-textarea:focus {\n box-shadow: none;\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-textarea-disabled,\n .tw-textarea:disabled,\n .tw-textarea[disabled] {\n cursor: not-allowed;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-textarea-disabled::-moz-placeholder, .tw-textarea:disabled::-moz-placeholder, .tw-textarea[disabled]::-moz-placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-textarea-disabled::placeholder,\n .tw-textarea:disabled::placeholder,\n .tw-textarea[disabled]::placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n@keyframes toast-pop {\n\n 0% {\n transform: scale(0.9);\n opacity: 0;\n }\n\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n.tw-btn-xs {\n height: 1.5rem;\n min-height: 1.5rem;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n font-size: 0.75rem;\n}\n.tw-btn-sm {\n height: 2rem;\n min-height: 2rem;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n font-size: 0.875rem;\n}\n.tw-btn-lg {\n height: 4rem;\n min-height: 4rem;\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n font-size: 1.125rem;\n}\n.tw-btn-block {\n width: 100%;\n}\n.tw-btn-square:where(.tw-btn-xs) {\n height: 1.5rem;\n width: 1.5rem;\n padding: 0px;\n}\n.tw-btn-square:where(.tw-btn-sm) {\n height: 2rem;\n width: 2rem;\n padding: 0px;\n}\n.tw-btn-square:where(.tw-btn-md) {\n height: 3rem;\n width: 3rem;\n padding: 0px;\n}\n.tw-btn-square:where(.tw-btn-lg) {\n height: 4rem;\n width: 4rem;\n padding: 0px;\n}\n.tw-btn-circle:where(.tw-btn-xs) {\n height: 1.5rem;\n width: 1.5rem;\n border-radius: 9999px;\n padding: 0px;\n}\n.tw-btn-circle:where(.tw-btn-sm) {\n height: 2rem;\n width: 2rem;\n border-radius: 9999px;\n padding: 0px;\n}\n.tw-btn-circle:where(.tw-btn-md) {\n height: 3rem;\n width: 3rem;\n border-radius: 9999px;\n padding: 0px;\n}\n.tw-btn-circle:where(.tw-btn-lg) {\n height: 4rem;\n width: 4rem;\n border-radius: 9999px;\n padding: 0px;\n}\n[type=\"checkbox\"].tw-checkbox-xs {\n height: 1rem;\n width: 1rem;\n}\n.tw-tabs-md :where(.tw-tab) {\n height: 2rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n line-height: 2;\n --tab-padding: 1rem;\n}\n.tw-tabs-lg :where(.tw-tab) {\n height: 3rem;\n font-size: 1.125rem;\n line-height: 1.75rem;\n line-height: 2;\n --tab-padding: 1.25rem;\n}\n.tw-tabs-sm :where(.tw-tab) {\n height: 1.5rem;\n font-size: 0.875rem;\n line-height: .75rem;\n --tab-padding: 0.75rem;\n}\n.tw-tabs-xs :where(.tw-tab) {\n height: 1.25rem;\n font-size: 0.75rem;\n line-height: .75rem;\n --tab-padding: 0.5rem;\n}\n.tw-tooltip {\n position: relative;\n display: inline-block;\n --tooltip-offset: calc(100% + 1px + var(--tooltip-tail, 0px));\n}\n.tw-tooltip:before {\n position: absolute;\n pointer-events: none;\n z-index: 1;\n content: var(--tw-content);\n --tw-content: attr(data-tip);\n}\n.tw-tooltip:before, .tw-tooltip-top:before {\n transform: translateX(-50%);\n top: auto;\n left: 50%;\n right: auto;\n bottom: var(--tooltip-offset);\n}\n.tw-tooltip-left:before {\n transform: translateY(-50%);\n top: 50%;\n left: auto;\n right: var(--tooltip-offset);\n bottom: auto;\n}\n.tw-tooltip-right:before {\n transform: translateY(-50%);\n top: 50%;\n left: var(--tooltip-offset);\n right: auto;\n bottom: auto;\n}\n.tw-avatar.tw-online:before {\n content: \"\";\n position: absolute;\n z-index: 10;\n display: block;\n border-radius: 9999px;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity)));\n outline-style: solid;\n outline-width: 2px;\n outline-color: var(--fallback-b1,oklch(var(--b1)/1));\n width: 15%;\n height: 15%;\n top: 7%;\n right: 7%;\n}\n.tw-avatar.tw-offline:before {\n content: \"\";\n position: absolute;\n z-index: 10;\n display: block;\n border-radius: 9999px;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));\n outline-style: solid;\n outline-width: 2px;\n outline-color: var(--fallback-b1,oklch(var(--b1)/1));\n width: 15%;\n height: 15%;\n top: 7%;\n right: 7%;\n}\n.tw-card-compact .tw-card-body {\n padding: 1rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.tw-card-compact .tw-card-title {\n margin-bottom: 0.25rem;\n}\n.tw-card-normal .tw-card-body {\n padding: var(--padding-card, 2rem);\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.tw-card-normal .tw-card-title {\n margin-bottom: 0.75rem;\n}\n.tw-modal-top :where(.tw-modal-box) {\n width: 100%;\n max-width: none;\n --tw-translate-y: -2.5rem;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-bottom-right-radius: var(--rounded-box, 1rem);\n border-bottom-left-radius: var(--rounded-box, 1rem);\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n}\n.tw-modal-middle :where(.tw-modal-box) {\n width: 91.666667%;\n max-width: 32rem;\n --tw-translate-y: 0px;\n --tw-scale-x: .9;\n --tw-scale-y: .9;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-top-left-radius: var(--rounded-box, 1rem);\n border-top-right-radius: var(--rounded-box, 1rem);\n border-bottom-right-radius: var(--rounded-box, 1rem);\n border-bottom-left-radius: var(--rounded-box, 1rem);\n}\n.tw-modal-bottom :where(.tw-modal-box) {\n width: 100%;\n max-width: none;\n --tw-translate-y: 2.5rem;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-top-left-radius: var(--rounded-box, 1rem);\n border-top-right-radius: var(--rounded-box, 1rem);\n border-bottom-right-radius: 0px;\n border-bottom-left-radius: 0px;\n}\n.tw-tooltip {\n position: relative;\n display: inline-block;\n text-align: center;\n --tooltip-tail: 0.1875rem;\n --tooltip-color: var(--fallback-n,oklch(var(--n)/1));\n --tooltip-text-color: var(--fallback-nc,oklch(var(--nc)/1));\n --tooltip-tail-offset: calc(100% + 0.0625rem - var(--tooltip-tail));\n}\n.tw-tooltip:before,\n.tw-tooltip:after {\n opacity: 0;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-delay: 100ms;\n transition-duration: 200ms;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.tw-tooltip:after {\n position: absolute;\n content: \"\";\n border-style: solid;\n border-width: var(--tooltip-tail, 0);\n width: 0;\n height: 0;\n display: block;\n}\n.tw-tooltip:before {\n max-width: 20rem;\n border-radius: 0.25rem;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n background-color: var(--tooltip-color);\n color: var(--tooltip-text-color);\n width: -moz-max-content;\n width: max-content;\n}\n.tw-tooltip.tw-tooltip-open:before {\n opacity: 1;\n transition-delay: 75ms;\n}\n.tw-tooltip.tw-tooltip-open:after {\n opacity: 1;\n transition-delay: 75ms;\n}\n.tw-tooltip:hover:before {\n opacity: 1;\n transition-delay: 75ms;\n}\n.tw-tooltip:hover:after {\n opacity: 1;\n transition-delay: 75ms;\n}\n.tw-tooltip:has(:focus-visible):after,\n.tw-tooltip:has(:focus-visible):before {\n opacity: 1;\n transition-delay: 75ms;\n}\n.tw-tooltip:not([data-tip]):hover:before,\n.tw-tooltip:not([data-tip]):hover:after {\n visibility: hidden;\n opacity: 0;\n}\n.tw-tooltip:after, .tw-tooltip-top:after {\n transform: translateX(-50%);\n border-color: var(--tooltip-color) transparent transparent transparent;\n top: auto;\n left: 50%;\n right: auto;\n bottom: var(--tooltip-tail-offset);\n}\n.tw-tooltip-left:after {\n transform: translateY(-50%);\n border-color: transparent transparent transparent var(--tooltip-color);\n top: 50%;\n left: auto;\n right: calc(var(--tooltip-tail-offset) + 0.0625rem);\n bottom: auto;\n}\n.tw-tooltip-right:after {\n transform: translateY(-50%);\n border-color: transparent var(--tooltip-color) transparent transparent;\n top: 50%;\n left: calc(var(--tooltip-tail-offset) + 0.0625rem);\n right: auto;\n bottom: auto;\n}\n.tw-fixed {\n position: fixed;\n}\n.tw-absolute {\n position: absolute;\n}\n.tw-relative {\n position: relative;\n}\n.tw-inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n.\\!tw-left-auto {\n left: auto !important;\n}\n.-tw-left-6 {\n left: -1.5rem;\n}\n.tw--right-2 {\n right: -0.5rem;\n}\n.tw--top-2 {\n top: -0.5rem;\n}\n.tw-bottom-0 {\n bottom: 0px;\n}\n.tw-bottom-4 {\n bottom: 1rem;\n}\n.tw-left-0 {\n left: 0px;\n}\n.tw-left-4 {\n left: 1rem;\n}\n.tw-right-0 {\n right: 0px;\n}\n.tw-right-1 {\n right: 0.25rem;\n}\n.tw-right-16 {\n right: 4rem;\n}\n.tw-right-2 {\n right: 0.5rem;\n}\n.tw-right-4 {\n right: 1rem;\n}\n.tw-right-5 {\n right: 1.25rem;\n}\n.tw-top-0 {\n top: 0px;\n}\n.tw-top-1 {\n top: 0.25rem;\n}\n.tw-top-14 {\n top: 3.5rem;\n}\n.tw-top-2 {\n top: 0.5rem;\n}\n.tw-top-4 {\n top: 1rem;\n}\n.\\!tw-z-\\[10000\\] {\n z-index: 10000 !important;\n}\n.tw-z-1000 {\n z-index: 1000;\n}\n.tw-z-3000 {\n z-index: 3000;\n}\n.tw-z-500 {\n z-index: 500;\n}\n.tw-z-\\[10000\\] {\n z-index: 10000;\n}\n.tw-z-\\[10035\\] {\n z-index: 10035;\n}\n.tw-z-\\[2000\\] {\n z-index: 2000;\n}\n.tw-z-\\[4000\\] {\n z-index: 4000;\n}\n.tw-z-\\[999\\] {\n z-index: 999;\n}\n.tw-col-span-1 {\n grid-column: span 1 / span 1;\n}\n.tw-col-span-5 {\n grid-column: span 5 / span 5;\n}\n.tw-float-right {\n float: right;\n}\n.tw-m-1 {\n margin: 0.25rem;\n}\n.tw-m-auto {\n margin: auto;\n}\n.\\!tw-my-0 {\n margin-top: 0px !important;\n margin-bottom: 0px !important;\n}\n.\\!tw-my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n.tw-mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n.tw-mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n.tw-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.tw-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n.tw-my-auto {\n margin-top: auto;\n margin-bottom: auto;\n}\n.-tw-mb-1 {\n margin-bottom: -0.25rem;\n}\n.-tw-mb-2 {\n margin-bottom: -0.5rem;\n}\n.-tw-mr-6 {\n margin-right: -1.5rem;\n}\n.tw-mb-0 {\n margin-bottom: 0px;\n}\n.tw-mb-1 {\n margin-bottom: 0.25rem;\n}\n.tw-mb-12 {\n margin-bottom: 3rem;\n}\n.tw-mb-2 {\n margin-bottom: 0.5rem;\n}\n.tw-mb-3 {\n margin-bottom: 0.75rem;\n}\n.tw-mb-4 {\n margin-bottom: 1rem;\n}\n.tw-mb-5 {\n margin-bottom: 1.25rem;\n}\n.tw-mb-6 {\n margin-bottom: 1.5rem;\n}\n.tw-ml-2 {\n margin-left: 0.5rem;\n}\n.tw-ml-6 {\n margin-left: 1.5rem;\n}\n.tw-mr-2 {\n margin-right: 0.5rem;\n}\n.tw-mr-4 {\n margin-right: 1rem;\n}\n.tw-mt-0 {\n margin-top: 0px;\n}\n.tw-mt-1 {\n margin-top: 0.25rem;\n}\n.tw-mt-16 {\n margin-top: 4rem;\n}\n.tw-mt-2 {\n margin-top: 0.5rem;\n}\n.tw-mt-3 {\n margin-top: 0.75rem;\n}\n.tw-mt-4 {\n margin-top: 1rem;\n}\n.tw-mt-5 {\n margin-top: 1.25rem;\n}\n.tw-mt-6 {\n margin-top: 1.5rem;\n}\n.tw-mt-8 {\n margin-top: 2rem;\n}\n.tw-inline-block {\n display: inline-block;\n}\n.tw-flex {\n display: flex;\n}\n.tw-grid {\n display: grid;\n}\n.tw-hidden {\n display: none;\n}\n.\\!tw-h-\\[calc\\(100dvh-96px\\)\\] {\n height: calc(100dvh - 96px) !important;\n}\n.tw-h-10 {\n height: 2.5rem;\n}\n.tw-h-20 {\n height: 5rem;\n}\n.tw-h-3 {\n height: 0.75rem;\n}\n.tw-h-4 {\n height: 1rem;\n}\n.tw-h-40 {\n height: 10rem;\n}\n.tw-h-5 {\n height: 1.25rem;\n}\n.tw-h-6 {\n height: 1.5rem;\n}\n.tw-h-64 {\n height: 16rem;\n}\n.tw-h-96 {\n height: 24rem;\n}\n.tw-h-\\[2\\.75em\\] {\n height: 2.75em;\n}\n.tw-h-\\[calc\\(100\\%-1rem\\)\\] {\n height: calc(100% - 1rem);\n}\n.tw-h-\\[calc\\(100dvh-268px\\)\\] {\n height: calc(100dvh - 268px);\n}\n.tw-h-\\[calc\\(100dvh-332px\\)\\] {\n height: calc(100dvh - 332px);\n}\n.tw-h-\\[calc\\(100dvh-64px\\)\\] {\n height: calc(100dvh - 64px);\n}\n.tw-h-\\[calc\\(100dvh-96px\\)\\] {\n height: calc(100dvh - 96px);\n}\n.tw-h-\\[calc\\(50\\%-0\\.75em\\)\\] {\n height: calc(50% - 0.75em);\n}\n.tw-h-fit {\n height: -moz-fit-content;\n height: fit-content;\n}\n.tw-h-full {\n height: 100%;\n}\n.tw-max-h-16 {\n max-height: 4rem;\n}\n.tw-max-h-64 {\n max-height: 16rem;\n}\n.tw-max-h-\\[calc\\(100dvh-152px\\)\\] {\n max-height: calc(100dvh - 152px);\n}\n.tw-max-h-\\[calc\\(100dvh-96px\\)\\] {\n max-height: calc(100dvh - 96px);\n}\n.tw-min-h-0 {\n min-height: 0px;\n}\n.tw-min-h-56 {\n min-height: 224px;\n}\n.tw-min-h-\\[21px\\] {\n min-height: 21px;\n}\n.tw-min-h-\\[32px\\] {\n min-height: 32px;\n}\n.tw-min-h-\\[5em\\] {\n min-height: 5em;\n}\n.tw-w-1 {\n width: 0.25rem;\n}\n.tw-w-10 {\n width: 2.5rem;\n}\n.tw-w-14 {\n width: 3.5rem;\n}\n.tw-w-20 {\n width: 5rem;\n}\n.tw-w-32 {\n width: 8rem;\n}\n.tw-w-4 {\n width: 1rem;\n}\n.tw-w-48 {\n width: 12rem;\n}\n.tw-w-5 {\n width: 1.25rem;\n}\n.tw-w-52 {\n width: 13rem;\n}\n.tw-w-6 {\n width: 1.5rem;\n}\n.tw-w-80 {\n width: 20rem;\n}\n.tw-w-\\[56px\\] {\n width: 56px;\n}\n.tw-w-\\[calc\\(100\\%-32px\\)\\] {\n width: calc(100% - 32px);\n}\n.tw-w-\\[calc\\(100vw-2rem\\)\\] {\n width: calc(100vw - 2rem);\n}\n.tw-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.tw-w-full {\n width: 100%;\n}\n.tw-min-w-80 {\n min-width: 320px;\n}\n.tw-min-w-\\[10em\\] {\n min-width: 10em;\n}\n.tw-max-w-3xl {\n max-width: 48rem;\n}\n.tw-max-w-\\[17rem\\] {\n max-width: 17rem;\n}\n.tw-max-w-\\[22rem\\] {\n max-width: 22rem;\n}\n.tw-max-w-xl {\n max-width: 36rem;\n}\n.tw-max-w-xs {\n max-width: 20rem;\n}\n.tw-flex-1 {\n flex: 1 1 0%;\n}\n.tw-flex-none {\n flex: none;\n}\n.tw-grow {\n flex-grow: 1;\n}\n.tw-basis-1\\/5 {\n flex-basis: 20%;\n}\n.tw-basis-2\\/5 {\n flex-basis: 40%;\n}\n.tw--translate-x-full {\n --tw-translate-x: -100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tw-translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tw-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tw-animate-none {\n animation: none;\n}\n.tw-cursor-pointer {\n cursor: pointer;\n}\n.tw-cursor-text {\n cursor: text;\n}\n.tw-list-inside {\n list-style-position: inside;\n}\n.tw-list-decimal {\n list-style-type: decimal;\n}\n.tw-list-disc {\n list-style-type: disc;\n}\n.tw-list-none {\n list-style-type: none;\n}\n.tw-grid-flow-col {\n grid-auto-flow: column;\n}\n.tw-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n.tw-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.tw-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n.tw-flex-row {\n flex-direction: row;\n}\n.tw-flex-col {\n flex-direction: column;\n}\n.tw-flex-wrap {\n flex-wrap: wrap;\n}\n.tw-place-content-center {\n place-content: center;\n}\n.tw-place-items-end {\n place-items: end;\n}\n.tw-place-items-center {\n place-items: center;\n}\n.tw-items-center {\n align-items: center;\n}\n.tw-justify-normal {\n justify-content: normal;\n}\n.tw-justify-end {\n justify-content: flex-end;\n}\n.tw-justify-center {\n justify-content: center;\n}\n.tw-justify-between {\n justify-content: space-between;\n}\n.tw-gap-2 {\n gap: 0.5rem;\n}\n.tw-gap-6 {\n gap: 1.5rem;\n}\n.tw-place-self-end {\n place-self: end;\n}\n.tw-place-self-center {\n place-self: center;\n}\n.tw-self-center {\n align-self: center;\n}\n.tw-overflow-auto {\n overflow: auto;\n}\n.tw-overflow-hidden {\n overflow: hidden;\n}\n.tw-overflow-y-auto {\n overflow-y: auto;\n}\n.tw-overflow-x-hidden {\n overflow-x: hidden;\n}\n.tw-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.tw-text-ellipsis {\n text-overflow: ellipsis;\n}\n.tw-whitespace-nowrap {\n white-space: nowrap;\n}\n.\\!tw-rounded-none {\n border-radius: 0px !important;\n}\n.tw-rounded-2xl {\n border-radius: 1rem;\n}\n.tw-rounded-box {\n border-radius: var(--rounded-box, 1rem);\n}\n.tw-rounded-full {\n border-radius: 9999px;\n}\n.tw-rounded-lg {\n border-radius: 0.5rem;\n}\n.tw-rounded-xl {\n border-radius: 0.75rem;\n}\n.tw-rounded-br-md {\n border-bottom-right-radius: 0.375rem;\n}\n.tw-rounded-tl-none {\n border-top-left-radius: 0px;\n}\n.tw-rounded-tr-md {\n border-top-right-radius: 0.375rem;\n}\n.tw-border-0 {\n border-width: 0px;\n}\n.tw-border-t-0 {\n border-top-width: 0px;\n}\n.tw-border-none {\n border-style: none;\n}\n.tw-border-\\[var\\(--fallback-bc\\,oklch\\(var\\(--bc\\)\\/0\\.2\\)\\)\\] {\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-border-current {\n border-color: currentColor;\n}\n.tw-border-primary {\n --tw-border-opacity: 1;\n border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity)));\n}\n.tw-bg-base-100 {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n}\n.tw-bg-base-200 {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n}\n.tw-bg-primary {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity)));\n}\n.tw-bg-transparent {\n background-color: transparent;\n}\n.tw-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.tw-stroke-current {\n stroke: currentColor;\n}\n.tw-p-0 {\n padding: 0px;\n}\n.tw-p-1 {\n padding: 0.25rem;\n}\n.tw-p-2 {\n padding: 0.5rem;\n}\n.tw-p-4 {\n padding: 1rem;\n}\n.tw-p-6 {\n padding: 1.5rem;\n}\n.tw-p-\\[1px\\] {\n padding: 1px;\n}\n.tw-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.tw-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.tw-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.tw-pb-0 {\n padding-bottom: 0px;\n}\n.tw-pb-1 {\n padding-bottom: 0.25rem;\n}\n.tw-pb-2 {\n padding-bottom: 0.5rem;\n}\n.tw-pb-6 {\n padding-bottom: 1.5rem;\n}\n.tw-pl-2 {\n padding-left: 0.5rem;\n}\n.tw-pr-1 {\n padding-right: 0.25rem;\n}\n.tw-pt-0 {\n padding-top: 0px;\n}\n.tw-pt-1 {\n padding-top: 0.25rem;\n}\n.tw-pt-2 {\n padding-top: 0.5rem;\n}\n.tw-pt-4 {\n padding-top: 1rem;\n}\n.tw-pt-6 {\n padding-top: 1.5rem;\n}\n.tw-pt-8 {\n padding-top: 2rem;\n}\n.tw-text-center {\n text-align: center;\n}\n.tw-text-right {\n text-align: right;\n}\n.tw-align-middle {\n vertical-align: middle;\n}\n.tw-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.tw-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.tw-text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.tw-text-map {\n font-size: 13px;\n}\n.tw-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.tw-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n.tw-text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.tw-font-bold {\n font-weight: 700;\n}\n.tw-font-normal {\n font-weight: 400;\n}\n.tw-font-semibold {\n font-weight: 600;\n}\n.tw-normal-case {\n text-transform: none;\n}\n.tw-italic {\n font-style: italic;\n}\n.tw-leading-3 {\n line-height: .75rem;\n}\n.tw-leading-5 {\n line-height: 1.25rem;\n}\n.tw-leading-map {\n line-height: 1.4em;\n}\n.\\!tw-text-base-content {\n --tw-text-opacity: 1 !important;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))) !important;\n}\n.\\!tw-text-error {\n --tw-text-opacity: 1 !important;\n color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity))) !important;\n}\n.tw-text-base-content {\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n}\n.tw-text-current {\n color: currentColor;\n}\n.tw-text-error {\n --tw-text-opacity: 1;\n color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity)));\n}\n.tw-text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity));\n}\n.tw-text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity));\n}\n.tw-text-primary {\n --tw-text-opacity: 1;\n color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity)));\n}\n.tw-text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.tw-opacity-50 {\n opacity: 0.5;\n}\n.tw-shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tw-shadow-md {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tw-shadow-te-primary {\n --tw-shadow: 0 0 0 1px rgb(59, 113, 202);\n --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tw-shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tw-drop-shadow-md {\n --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.tw-backdrop-brightness-75 {\n --tw-backdrop-brightness: brightness(.75);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.tw-backdrop-contrast-50 {\n --tw-backdrop-contrast: contrast(.5);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.tw-transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tw-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tw-transition-none {\n transition-property: none;\n}\n.tw-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tw-duration-200 {\n transition-duration: 200ms;\n}\n.tw-duration-300 {\n transition-duration: 300ms;\n}\n.tw-duration-500 {\n transition-duration: 500ms;\n}\n.tw-ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n}\n.\\[--tab-border-color\\:var\\(--fallback-bc\\2c oklch\\(var\\(--bc\\)\\/0\\.2\\)\\)\\] {\n --tab-border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n\n.fade {\n -webkit-mask-image: linear-gradient(180deg, transparent, #000 3%, #000 97%, transparent);\n mask-image: linear-gradient(180deg, transparent, #000 3%, #000 97%, transparent);\n}\n\n.tw-modal {\n z-index: 1200 !important;\n}\n\n.tw-menu li a {\n border-radius: 10px;\n}\n\n.tw-modal {\n z-index: 1200 !important;\n max-height: 100dvh;\n}\n\n.tw-modal-box {\n max-height: calc(100dvh - 2em);\n}\n\n.Toastify__toast {\n border-radius: 1rem;\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n margin-left: 1rem;\n margin-right: 1rem;\n margin-bottom: 1rem;\n background-color: var(--fallback-b1,oklch(var(--b1)/1));\n color: var(--fallback-bc,oklch(var(--bc)/1));\n}\n\n.Toastify__toast-container {\n z-index: 1999 !important;\n}\n\n.Toastify__toast-container--top-right {\n top: 4.75em !important;\n}\n\n:root {\n\n --toastify-color-info: var(--fallback-in,oklch(var(--in)/1));\n --toastify-color-success: var(--fallback-su,oklch(var(--su)/1));\n --toastify-color-warning: var(--fallback-wa,oklch(var(--wa)/1));\n --toastify-color-error: var(--fallback-er,oklch(var(--er)/1));\n\n}\n\n.custom-file-upload {\n cursor: pointer;\n}\n\ninput[type=\"file\"] {\n display: none;\n}\n\n.custom-file-upload:hover .button {\n opacity: 0.8;\n}\n\n.custom-file-upload .button {\n transition: .5s ease;\n opacity: 0;\n position: absolute;\n transform: translate(8px, 8px);\n\n}\n\n.tw-tab-content .container {\n height: 100%;\n}\n\n.hover\\:tw-cursor-pointer:hover {\n cursor: pointer;\n}\n\n.hover\\:tw-bg-slate-300:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(203 213 225 / var(--tw-bg-opacity));\n}\n\n.hover\\:tw-bg-transparent:hover {\n background-color: transparent;\n}\n\n.hover\\:tw-font-bold:hover {\n font-weight: 700;\n}\n\n.hover\\:tw-text-primary:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity)));\n}\n\n.hover\\:tw-underline:hover {\n text-decoration-line: underline;\n}\n\n.focus\\:tw-outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.data-\\[te-sidenav-slim\\=\\'true\\'\\]\\:tw-hidden[data-te-sidenav-slim='true'] {\n display: none;\n}\n\n.data-\\[te-sidenav-slim-collapsed\\=\\'true\\'\\]\\:tw-w-\\[56px\\][data-te-sidenav-slim-collapsed='true'] {\n width: 56px;\n}\n\n.data-\\[te-sidenav-slim\\=\\'true\\'\\]\\:tw-w-\\[56px\\][data-te-sidenav-slim='true'] {\n width: 56px;\n}\n\n.data-\\[te-sidenav-hidden\\=\\'false\\'\\]\\:tw-translate-x-0[data-te-sidenav-hidden='false'] {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.tw-group[data-te-sidenav-slim-collapsed='true'] .group-\\[\\&\\[data-te-sidenav-slim-collapsed\\=\\'true\\'\\]\\]\\:data-\\[te-sidenav-slim\\=\\'false\\'\\]\\:tw-hidden[data-te-sidenav-slim='false'] {\n display: none;\n}\n\n@media (prefers-color-scheme: dark) {\n\n .dark\\:tw-bg-zinc-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(39 39 42 / var(--tw-bg-opacity));\n }\n}\n\n@media (min-width: 768px) {\n\n .md\\:tw-flex {\n display: flex;\n }\n\n .md\\:tw-hidden {\n display: none;\n }\n\n .md\\:tw-w-\\[calc\\(50\\%-32px\\)\\] {\n width: calc(50% - 32px);\n }\n\n .md\\:tw-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n@media (min-width: 1280px) {\n\n .xl\\:tw-max-w-6xl {\n max-width: 72rem;\n }\n}\n\n.\\[\\&\\[data-te-sidenav-slim-collapsed\\=\\'true\\'\\]\\[data-te-sidenav-slim\\=\\'false\\'\\]\\]\\:tw-hidden[data-te-sidenav-slim-collapsed='true'][data-te-sidenav-slim='false'] {\n display: none;\n}\n\n.\\[\\&\\[data-te-sidenav-slim-collapsed\\=\\'true\\'\\]\\[data-te-sidenav-slim\\=\\'true\\'\\]\\]\\:\\[display\\:unset\\][data-te-sidenav-slim-collapsed='true'][data-te-sidenav-slim='true'] {\n display: unset;\n}";
|
4094
|
+
var css_248z = "/*\n! tailwindcss v3.3.1 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: Helvetica, sans-serif, Roboto; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n\n:root,\n[data-theme] {\n background-color: var(--fallback-b1,oklch(var(--b1)/1));\n color: var(--fallback-bc,oklch(var(--bc)/1));\n}\n\n@supports not (color: oklch(0 0 0)) {\n\n :root {\n color-scheme: light;\n --fallback-p: #491eff;\n --fallback-pc: #d4dbff;\n --fallback-s: #ff41c7;\n --fallback-sc: #fff9fc;\n --fallback-a: #00cfbd;\n --fallback-ac: #00100d;\n --fallback-n: #2b3440;\n --fallback-nc: #d7dde4;\n --fallback-b1: #ffffff;\n --fallback-b2: #e5e6e6;\n --fallback-b3: #e5e6e6;\n --fallback-bc: #1f2937;\n --fallback-in: #00b3f0;\n --fallback-inc: #000000;\n --fallback-su: #00ca92;\n --fallback-suc: #000000;\n --fallback-wa: #ffc22d;\n --fallback-wac: #000000;\n --fallback-er: #ff6f70;\n --fallback-erc: #000000;\n }\n\n @media (prefers-color-scheme: dark) {\n\n :root {\n color-scheme: dark;\n --fallback-p: #7582ff;\n --fallback-pc: #050617;\n --fallback-s: #ff71cf;\n --fallback-sc: #190211;\n --fallback-a: #00c7b5;\n --fallback-ac: #000e0c;\n --fallback-n: #2a323c;\n --fallback-nc: #a6adbb;\n --fallback-b1: #1d232a;\n --fallback-b2: #191e24;\n --fallback-b3: #15191e;\n --fallback-bc: #a6adbb;\n --fallback-in: #00b3f0;\n --fallback-inc: #000000;\n --fallback-su: #00ca92;\n --fallback-suc: #000000;\n --fallback-wa: #ffc22d;\n --fallback-wac: #000000;\n --fallback-er: #ff6f70;\n --fallback-erc: #000000;\n }\n }\n}\n\nhtml {\n -webkit-tap-highlight-color: transparent;\n}\n\n:root {\n color-scheme: light;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --pc: 0.89824 0.06192 275.75;\n --ac: 0.15352 0.0368 183.61;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 0.4912 0.3096 275.75;\n --s: 0.6971 0.329 342.55;\n --sc: 0.9871 0.0106 342.55;\n --a: 0.7676 0.184 183.61;\n --n: 0.321785 0.02476 255.701624;\n --nc: 0.894994 0.011585 252.096176;\n --b1: 1 0 0;\n --b2: 0.961151 0 0;\n --b3: 0.924169 0.00108 197.137559;\n --bc: 0.278078 0.029596 256.847952;\n}\n\n@media (prefers-color-scheme: dark) {\n\n :root {\n color-scheme: dark;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --pc: 0.13138 0.0392 275.75;\n --sc: 0.1496 0.052 342.55;\n --ac: 0.14902 0.0334 183.61;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 0.6569 0.196 275.75;\n --s: 0.748 0.26 342.55;\n --a: 0.7451 0.167 183.61;\n --n: 0.313815 0.021108 254.139175;\n --nc: 0.746477 0.0216 264.435964;\n --b1: 0.253267 0.015896 252.417568;\n --b2: 0.232607 0.013807 253.100675;\n --b3: 0.211484 0.01165 254.087939;\n --bc: 0.746477 0.0216 264.435964;\n }\n}\n\n[data-theme=light] {\n color-scheme: light;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --pc: 0.89824 0.06192 275.75;\n --ac: 0.15352 0.0368 183.61;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 0.4912 0.3096 275.75;\n --s: 0.6971 0.329 342.55;\n --sc: 0.9871 0.0106 342.55;\n --a: 0.7676 0.184 183.61;\n --n: 0.321785 0.02476 255.701624;\n --nc: 0.894994 0.011585 252.096176;\n --b1: 1 0 0;\n --b2: 0.961151 0 0;\n --b3: 0.924169 0.00108 197.137559;\n --bc: 0.278078 0.029596 256.847952;\n}\n\n[data-theme=dark] {\n color-scheme: dark;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --pc: 0.13138 0.0392 275.75;\n --sc: 0.1496 0.052 342.55;\n --ac: 0.14902 0.0334 183.61;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 0.6569 0.196 275.75;\n --s: 0.748 0.26 342.55;\n --a: 0.7451 0.167 183.61;\n --n: 0.313815 0.021108 254.139175;\n --nc: 0.746477 0.0216 264.435964;\n --b1: 0.253267 0.015896 252.417568;\n --b2: 0.232607 0.013807 253.100675;\n --b3: 0.211484 0.01165 254.087939;\n --bc: 0.746477 0.0216 264.435964;\n}\n\n[data-theme=cupcake] {\n color-scheme: light;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --pc: 0.152344 0.017892 200.026556;\n --sc: 0.15787 0.020249 356.29965;\n --ac: 0.158762 0.029206 78.618794;\n --nc: 0.847148 0.013247 313.189598;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --rounded-box: 1rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --p: 0.76172 0.089459 200.026556;\n --s: 0.789351 0.101246 356.29965;\n --a: 0.793811 0.146032 78.618794;\n --n: 0.235742 0.066235 313.189598;\n --b1: 0.977882 0.00418 56.375637;\n --b2: 0.939822 0.007638 61.449292;\n --b3: 0.915861 0.006811 53.440502;\n --bc: 0.235742 0.066235 313.189598;\n --rounded-btn: 1.9rem;\n --tab-border: 2px;\n --tab-radius: 0.7rem;\n}\n\n[data-theme=retro] {\n color-scheme: light;\n --inc: 0.90923 0.043042 262.880917;\n --suc: 0.12541 0.033982 149.213788;\n --wac: 0.133168 0.031484 58.31834;\n --erc: 0.13144 0.0398 27.33;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --p: 0.768664 0.104092 22.664655;\n --pc: 0.265104 0.006243 0.522862;\n --s: 0.807415 0.052534 159.094608;\n --sc: 0.265104 0.006243 0.522862;\n --a: 0.703919 0.125455 52.953428;\n --ac: 0.265104 0.006243 0.522862;\n --n: 0.284181 0.009519 355.534017;\n --nc: 0.925604 0.025113 89.217311;\n --b1: 0.916374 0.034554 90.51575;\n --b2: 0.882722 0.049418 91.774344;\n --b3: 0.84133 0.065952 90.856665;\n --bc: 0.265104 0.006243 0.522862;\n --in: 0.54615 0.215208 262.880917;\n --su: 0.627052 0.169912 149.213788;\n --wa: 0.66584 0.157422 58.31834;\n --er: 0.6572 0.199 27.33;\n --rounded-box: 0.4rem;\n --rounded-btn: 0.4rem;\n --rounded-badge: 0.4rem;\n --tab-radius: 0.4rem;\n}\n\n[data-theme=cyberpunk] {\n color-scheme: light;\n --b2: 0.878943 0.16647 104.32;\n --b3: 0.812786 0.15394 104.32;\n --in: 0.7206 0.191 231.6;\n --su: 64.8% 0.150 160;\n --wa: 0.8471 0.199 83.87;\n --er: 0.7176 0.221 22.18;\n --bc: 0.18902 0.0358 104.32;\n --pc: 0.14844 0.0418 6.35;\n --sc: 0.16666 0.0368 204.72;\n --ac: 0.14372 0.04352 310.43;\n --inc: 0 0 0;\n --suc: 0 0 0;\n --wac: 0 0 0;\n --erc: 0 0 0;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;\n --p: 0.7422 0.209 6.35;\n --s: 0.8333 0.184 204.72;\n --a: 0.7186 0.2176 310.43;\n --n: 0.2304 0.065 269.31;\n --nc: 0.9451 0.179 104.32;\n --b1: 0.9451 0.179 104.32;\n --rounded-box: 0;\n --rounded-btn: 0;\n --rounded-badge: 0;\n --tab-radius: 0;\n}\n\n[data-theme=aqua] {\n color-scheme: dark;\n --b2: 0.453464 0.118611 261.181672;\n --b3: 0.419333 0.109683 261.181672;\n --bc: 0.897519 0.025508 261.181672;\n --sc: 0.121365 0.02175 309.782946;\n --ac: 0.186854 0.020445 94.555431;\n --nc: 0.122124 0.023402 243.760661;\n --inc: 0.90923 0.043042 262.880917;\n --suc: 0.12541 0.033982 149.213788;\n --wac: 0.133168 0.031484 58.31834;\n --erc: 0.1479 0.038 27.33;\n --rounded-box: 1rem;\n --rounded-btn: 0.5rem;\n --rounded-badge: 1.9rem;\n --animation-btn: 0.25s;\n --animation-input: .2s;\n --btn-focus-scale: 0.95;\n --border-btn: 1px;\n --tab-border: 1px;\n --tab-radius: 0.5rem;\n --p: 0.856617 0.14498 198.6458;\n --pc: 0.401249 0.068266 197.603872;\n --s: 0.606827 0.108752 309.782946;\n --a: 0.934269 0.102225 94.555431;\n --n: 0.610622 0.117009 243.760661;\n --b1: 0.487596 0.127539 261.181672;\n --in: 0.54615 0.215208 262.880917;\n --su: 0.627052 0.169912 149.213788;\n --wa: 0.66584 0.157422 58.31834;\n --er: 0.7395 0.19 27.33;\n}\n\ninput[type=\"range\"]::-webkit-slider-thumb {\n height: 1rem;\n width: 1rem;\n border-radius: 9999px;\n border: 0;\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n cursor: pointer;\n}\n\ninput[type=\"range\"]:disabled::-webkit-slider-thumb {}\n\ninput[type=\"range\"]:disabled:focus::-webkit-slider-thumb {}\n\ninput[type=\"range\"]:disabled:active::-webkit-slider-thumb {}\n\ninput[type=\"range\"]::-moz-range-thumb {\n height: 1rem;\n width: 1rem;\n border-radius: 9999px;\n border: 0;\n appearance: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n cursor: pointer;\n}\n\ninput[type=\"range\"]:disabled::-moz-range-thumb {}\n\ninput[type=\"range\"]::-moz-range-progress {}\n\ninput[type=\"range\"]::-ms-fill-lower {}\n\ninput[type=\"range\"]:focus {\n outline: none;\n}\n\ninput[type=\"range\"]:focus::-webkit-slider-thumb {}\n\ninput[type=\"range\"]:active::-webkit-slider-thumb {}\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n.tw-alert {\n display: grid;\n width: 100%;\n grid-auto-flow: row;\n align-content: flex-start;\n align-items: center;\n justify-items: center;\n gap: 1rem;\n text-align: center;\n border-radius: var(--rounded-box, 1rem);\n border-width: 1px;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n padding: 1rem;\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --alert-bg: var(--fallback-b2,oklch(var(--b2)/1));\n --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1));\n background-color: var(--alert-bg);\n}\n@media (min-width: 640px) {\n\n .tw-alert {\n grid-auto-flow: column;\n grid-template-columns: auto minmax(auto,1fr);\n justify-items: start;\n text-align: start;\n }\n}\n.tw-avatar {\n position: relative;\n display: inline-flex;\n}\n.tw-avatar > div {\n display: block;\n aspect-ratio: 1 / 1;\n overflow: hidden;\n}\n.tw-avatar img {\n height: 100%;\n width: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n}\n.tw-avatar.tw-placeholder > div {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.tw-breadcrumbs {\n max-width: 100%;\n overflow-x: auto;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.tw-breadcrumbs > ul,\n .tw-breadcrumbs > ol {\n display: flex;\n align-items: center;\n white-space: nowrap;\n min-height: -moz-min-content;\n min-height: min-content;\n}\n.tw-breadcrumbs > ul > li, .tw-breadcrumbs > ol > li {\n display: flex;\n align-items: center;\n}\n.tw-breadcrumbs > ul > li > a, .tw-breadcrumbs > ol > li > a {\n display: flex;\n cursor: pointer;\n align-items: center;\n}\n@media (hover:hover) {\n\n .tw-breadcrumbs > ul > li > a:hover, .tw-breadcrumbs > ol > li > a:hover {\n text-decoration-line: underline;\n }\n\n .tw-checkbox-success:hover {\n --tw-border-opacity: 1;\n border-color: var(--fallback-su,oklch(var(--su)/var(--tw-border-opacity)));\n }\n\n .tw-label a:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n }\n\n .tw-menu li > *:not(ul):not(.tw-menu-title):not(details):active,\n.tw-menu li > *:not(ul):not(.tw-menu-title):not(details).tw-active,\n.tw-menu li > details > summary:active {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n --tw-text-opacity: 1;\n color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));\n }\n\n .tw-tab:hover {\n --tw-text-opacity: 1;\n }\n}\n.tw-btn {\n display: inline-flex;\n height: 3rem;\n min-height: 3rem;\n flex-shrink: 0;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n border-radius: var(--rounded-btn, 0.5rem);\n border-color: transparent;\n border-color: oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity));\n padding-left: 1rem;\n padding-right: 1rem;\n text-align: center;\n font-size: 0.875rem;\n line-height: 1em;\n gap: 0.5rem;\n font-weight: 600;\n text-decoration-line: none;\n transition-duration: 200ms;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n border-width: var(--border-btn, 1px);\n animation: button-pop var(--animation-btn, 0.25s) ease-out;\n transition-property: color, background-color, border-color, opacity, box-shadow, transform;\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n outline-color: var(--fallback-bc,oklch(var(--bc)/1));\n background-color: oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity));\n --tw-bg-opacity: 1;\n --tw-border-opacity: 1;\n}\n.tw-btn-disabled,\n .tw-btn[disabled],\n .tw-btn:disabled {\n pointer-events: none;\n}\n.tw-btn-square {\n height: 3rem;\n width: 3rem;\n padding: 0px;\n}\n.tw-btn-circle {\n height: 3rem;\n width: 3rem;\n border-radius: 9999px;\n padding: 0px;\n}\n:where(.tw-btn:is(input[type=\"checkbox\"])),\n:where(.tw-btn:is(input[type=\"radio\"])) {\n width: auto;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.tw-btn:is(input[type=\"checkbox\"]):after,\n.tw-btn:is(input[type=\"radio\"]):after {\n --tw-content: attr(aria-label);\n content: var(--tw-content);\n}\n.tw-card {\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: var(--rounded-box, 1rem);\n}\n.tw-card:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-card-body {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n padding: var(--padding-card, 2rem);\n gap: 0.5rem;\n}\n.tw-card-body :where(p) {\n flex-grow: 1;\n}\n.tw-card-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: 0.5rem;\n}\n.tw-card figure {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.tw-card.tw-image-full {\n display: grid;\n}\n.tw-card.tw-image-full:before {\n position: relative;\n content: \"\";\n z-index: 10;\n border-radius: var(--rounded-box, 1rem);\n --tw-bg-opacity: 1;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n opacity: 0.75;\n}\n.tw-card.tw-image-full:before,\n .tw-card.tw-image-full > * {\n grid-column-start: 1;\n grid-row-start: 1;\n}\n.tw-card.tw-image-full > figure img {\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n}\n.tw-card.tw-image-full > .tw-card-body {\n position: relative;\n z-index: 20;\n --tw-text-opacity: 1;\n color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));\n}\n.tw-checkbox {\n flex-shrink: 0;\n --chkbg: var(--fallback-bc,oklch(var(--bc)/1));\n --chkfg: var(--fallback-b1,oklch(var(--b1)/1));\n height: 1.5rem;\n width: 1.5rem;\n cursor: pointer;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border-radius: var(--rounded-btn, 0.5rem);\n border-width: 1px;\n border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));\n --tw-border-opacity: 0.2;\n}\n.tw-divider {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n margin-top: 1rem;\n margin-bottom: 1rem;\n height: 1rem;\n white-space: nowrap;\n}\n.tw-divider:before,\n .tw-divider:after {\n height: 0.125rem;\n width: 100%;\n flex-grow: 1;\n --tw-content: '';\n content: var(--tw-content);\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n}\n.tw-dropdown {\n position: relative;\n display: inline-block;\n}\n.tw-dropdown > *:not(summary):focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-dropdown .tw-dropdown-content {\n position: absolute;\n}\n.tw-dropdown:is(:not(details)) .tw-dropdown-content {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n visibility: hidden;\n opacity: 0;\n transform-origin: top;\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 200ms;\n}\n.tw-dropdown-end .tw-dropdown-content {\n inset-inline-end: 0px;\n}\n.tw-dropdown-left .tw-dropdown-content {\n bottom: auto;\n inset-inline-end: 100%;\n top: 0px;\n transform-origin: right;\n}\n.tw-dropdown-right .tw-dropdown-content {\n bottom: auto;\n inset-inline-start: 100%;\n top: 0px;\n transform-origin: left;\n}\n.tw-dropdown-bottom .tw-dropdown-content {\n bottom: auto;\n top: 100%;\n transform-origin: top;\n}\n.tw-dropdown-top .tw-dropdown-content {\n bottom: 100%;\n top: auto;\n transform-origin: bottom;\n}\n.tw-dropdown-end.tw-dropdown-right .tw-dropdown-content {\n bottom: 0px;\n top: auto;\n}\n.tw-dropdown-end.tw-dropdown-left .tw-dropdown-content {\n bottom: 0px;\n top: auto;\n}\n.tw-dropdown.tw-dropdown-open .tw-dropdown-content,\n.tw-dropdown:not(.tw-dropdown-hover):focus .tw-dropdown-content,\n.tw-dropdown:focus-within .tw-dropdown-content {\n visibility: visible;\n opacity: 1;\n}\n@media (hover: hover) {\n\n .tw-dropdown.tw-dropdown-hover:hover .tw-dropdown-content {\n visibility: visible;\n opacity: 1;\n }\n\n .tw-btn:hover {\n --tw-border-opacity: 1;\n border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn:hover {\n background-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%,\n black\n );\n border-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%,\n black\n );\n }\n }\n\n @supports not (color: oklch(0 0 0)) {\n\n .tw-btn:hover {\n background-color: var(--btn-color, var(--fallback-b2));\n border-color: var(--btn-color, var(--fallback-b2));\n }\n }\n\n .tw-btn:hover {\n --tw-border-opacity: 1;\n border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn:hover {\n background-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%,\n black\n );\n border-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%,\n black\n );\n }\n }\n\n @supports not (color: oklch(0 0 0)) {\n\n .tw-btn:hover {\n background-color: var(--btn-color, var(--fallback-b2));\n border-color: var(--btn-color, var(--fallback-b2));\n }\n }\n\n .tw-btn:hover {\n --tw-border-opacity: 1;\n border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn:hover {\n background-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%,\n black\n );\n border-color: color-mix(\n in oklab,\n oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%,\n black\n );\n }\n }\n\n @supports not (color: oklch(0 0 0)) {\n\n .tw-btn:hover {\n background-color: var(--btn-color, var(--fallback-b2));\n border-color: var(--btn-color, var(--fallback-b2));\n }\n }\n\n .tw-btn.tw-glass:hover {\n --glass-opacity: 25%;\n --glass-border-opacity: 15%;\n }\n\n .tw-btn-ghost:hover {\n border-color: transparent;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n .tw-btn-ghost:hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n }\n }\n\n .tw-btn-ghost:hover {\n border-color: transparent;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n .tw-btn-ghost:hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n }\n }\n\n .tw-btn-outline.tw-btn-primary:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn-outline.tw-btn-primary:hover {\n background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n }\n }\n\n .tw-btn-outline.tw-btn-primary:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn-outline.tw-btn-primary:hover {\n background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n }\n }\n\n .tw-btn-outline.tw-btn-error:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn-outline.tw-btn-error:hover {\n background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n }\n }\n\n .tw-btn-outline.tw-btn-error:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn-outline.tw-btn-error:hover {\n background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n }\n }\n\n .tw-btn-disabled:hover,\n .tw-btn[disabled]:hover,\n .tw-btn:disabled:hover {\n --tw-border-opacity: 0;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n --tw-bg-opacity: 0.2;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n }\n\n @supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn:is(input[type=\"checkbox\"]:checked):hover, .tw-btn:is(input[type=\"radio\"]:checked):hover {\n background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n }\n }\n\n .tw-dropdown.tw-dropdown-hover:hover .tw-dropdown-content {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n cursor: pointer;\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n }\n }\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n cursor: pointer;\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n }\n }\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n cursor: pointer;\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n }\n }\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n cursor: pointer;\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n @supports (color: oklch(0 0 0)) {\n\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(.tw-active):hover, :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(.tw-active):hover {\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n }\n }\n\n .tw-tab[disabled],\n .tw-tab[disabled]:hover {\n cursor: not-allowed;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n }\n}\n.tw-dropdown:is(details) summary::-webkit-details-marker {\n display: none;\n}\n.tw-file-input {\n height: 3rem;\n flex-shrink: 1;\n padding-inline-end: 1rem;\n font-size: 1rem;\n line-height: 2;\n line-height: 1.5rem;\n overflow: hidden;\n border-radius: var(--rounded-btn, 0.5rem);\n border-width: 1px;\n border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));\n --tw-border-opacity: 0;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n}\n.tw-file-input::file-selector-button {\n margin-inline-end: 1rem;\n display: inline-flex;\n height: 100%;\n flex-shrink: 0;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n padding-left: 1rem;\n padding-right: 1rem;\n text-align: center;\n font-size: 0.875rem;\n line-height: 1.25rem;\n line-height: 1em;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 200ms;\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: var(--fallback-n,oklch(var(--n)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n font-weight: 600;\n text-transform: uppercase;\n --tw-text-opacity: 1;\n color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));\n text-decoration-line: none;\n border-width: var(--border-btn, 1px);\n animation: button-pop var(--animation-btn, 0.25s) ease-out;\n}\n.tw-form-control {\n display: flex;\n flex-direction: column;\n}\n.tw-label {\n display: flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n align-items: center;\n justify-content: space-between;\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.tw-input {\n flex-shrink: 1;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n height: 3rem;\n padding-left: 1rem;\n padding-right: 1rem;\n font-size: 1rem;\n line-height: 2;\n line-height: 1.5rem;\n border-radius: var(--rounded-btn, 0.5rem);\n border-width: 1px;\n border-color: transparent;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n}\n.tw-join .tw-dropdown .tw-join-item:first-child:not(:last-child),\n .tw-join *:first-child:not(:last-child) .tw-dropdown .tw-join-item {\n border-start-end-radius: inherit;\n border-end-end-radius: inherit;\n}\n.tw-menu {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n font-size: 0.875rem;\n line-height: 1.25rem;\n padding: 0.5rem;\n}\n.tw-menu :where(li ul) {\n position: relative;\n white-space: nowrap;\n margin-inline-start: 1rem;\n padding-inline-start: 0.5rem;\n}\n.tw-menu :where(li:not(.tw-menu-title) > *:not(ul):not(details):not(.tw-menu-title)),\n .tw-menu :where(li:not(.tw-menu-title) > details > summary:not(.tw-menu-title)) {\n display: grid;\n grid-auto-flow: column;\n align-content: flex-start;\n align-items: center;\n gap: 0.5rem;\n grid-auto-columns: minmax(auto, max-content) auto max-content;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.tw-menu li.tw-disabled {\n cursor: not-allowed;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n color: var(--fallback-bc,oklch(var(--bc)/0.3));\n}\n.tw-menu :where(li > .tw-menu-dropdown:not(.tw-menu-dropdown-show)) {\n display: none;\n}\n:where(.tw-menu li) {\n position: relative;\n display: flex;\n flex-shrink: 0;\n flex-direction: column;\n flex-wrap: wrap;\n align-items: stretch;\n}\n:where(.tw-menu li) .tw-badge {\n justify-self: end;\n}\n.tw-modal {\n pointer-events: none;\n position: fixed;\n inset: 0px;\n margin: 0px;\n display: grid;\n height: 100%;\n max-height: none;\n width: 100%;\n max-width: none;\n justify-items: center;\n padding: 0px;\n opacity: 0;\n overscroll-behavior: contain;\n z-index: 999;\n background-color: transparent;\n color: inherit;\n transition-duration: 200ms;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-property: transform, opacity, visibility;\n overflow-y: hidden;\n}\n:where(.tw-modal) {\n align-items: center;\n}\n.tw-modal-box {\n max-height: calc(100vh - 5em);\n grid-column-start: 1;\n grid-row-start: 1;\n width: 91.666667%;\n max-width: 32rem;\n --tw-scale-x: .9;\n --tw-scale-y: .9;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-bottom-right-radius: var(--rounded-box, 1rem);\n border-bottom-left-radius: var(--rounded-box, 1rem);\n border-top-left-radius: var(--rounded-box, 1rem);\n border-top-right-radius: var(--rounded-box, 1rem);\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n padding: 1.5rem;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 200ms;\n box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;\n overflow-y: auto;\n overscroll-behavior: contain;\n}\n.tw-modal-open,\n.tw-modal:target,\n.tw-modal-toggle:checked + .tw-modal,\n.tw-modal[open] {\n pointer-events: auto;\n visibility: visible;\n opacity: 1;\n}\n:root:has(:is(.tw-modal-open, .tw-modal:target, .tw-modal-toggle:checked + .tw-modal, .tw-modal[open])) {\n overflow: hidden;\n}\n.tw-navbar {\n display: flex;\n align-items: center;\n padding: var(--navbar-padding, 0.5rem);\n min-height: 4rem;\n width: 100%;\n}\n:where(.tw-navbar > *) {\n display: inline-flex;\n align-items: center;\n}\n.tw-select {\n display: inline-flex;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n height: 3rem;\n min-height: 3rem;\n padding-left: 1rem;\n padding-right: 2.5rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n line-height: 2;\n border-radius: var(--rounded-btn, 0.5rem);\n border-width: 1px;\n border-color: transparent;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),\n linear-gradient(135deg, currentColor 50%, transparent 50%);\n background-position: calc(100% - 20px) calc(1px + 50%),\n calc(100% - 16.1px) calc(1px + 50%);\n background-size: 4px 4px,\n 4px 4px;\n background-repeat: no-repeat;\n}\n.tw-select[multiple] {\n height: auto;\n}\n.tw-tabs {\n display: grid;\n align-items: flex-end;\n}\n.tw-tabs-lifted:has(.tw-tab-content[class^=\"rounded-\"]) .tw-tab:first-child:not(.tw-tab-active),\n .tw-tabs-lifted:has(.tw-tab-content[class*=\" rounded-\"]) .tw-tab:first-child:not(.tw-tab-active) {\n border-bottom-color: transparent;\n}\n.tw-tab {\n position: relative;\n grid-row-start: 1;\n display: inline-flex;\n height: 2rem;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n font-size: 0.875rem;\n line-height: 1.25rem;\n line-height: 2;\n --tab-padding: 1rem;\n --tw-text-opacity: 0.5;\n --tab-color: var(--fallback-bc,oklch(var(--bc)/1));\n --tab-bg: var(--fallback-b1,oklch(var(--b1)/1));\n --tab-border-color: var(--fallback-b3,oklch(var(--b3)/1));\n color: var(--tab-color);\n padding-inline-start: var(--tab-padding, 1rem);\n padding-inline-end: var(--tab-padding, 1rem);\n}\n.tw-tab:is(input[type=\"radio\"]) {\n width: auto;\n border-bottom-right-radius: 0px;\n border-bottom-left-radius: 0px;\n}\n.tw-tab:is(input[type=\"radio\"]):after {\n --tw-content: attr(aria-label);\n content: var(--tw-content);\n}\n.tw-tab:not(input):empty {\n cursor: default;\n grid-column-start: span 9999;\n}\n.tw-tab-content {\n grid-column-start: 1;\n grid-column-end: span 9999;\n grid-row-start: 2;\n margin-top: calc(var(--tab-border) * -1);\n display: none;\n border-color: transparent;\n border-width: var(--tab-border, 0);\n}\n:checked + .tw-tab-content:nth-child(2),\n .tw-tab-active + .tw-tab-content:nth-child(2) {\n border-start-start-radius: 0px;\n}\ninput.tw-tab:checked + .tw-tab-content,\n.tw-tab-active + .tw-tab-content {\n display: block;\n}\n.tw-textarea {\n min-height: 3rem;\n flex-shrink: 1;\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n line-height: 2;\n border-radius: var(--rounded-btn, 0.5rem);\n border-width: 1px;\n border-color: transparent;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n}\n.tw-avatar-group :where(.tw-avatar) {\n overflow: hidden;\n border-radius: 9999px;\n border-width: 4px;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-border-opacity)));\n}\n.tw-btm-nav > * .tw-label {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.tw-breadcrumbs > ul > li > a:focus, .tw-breadcrumbs > ol > li > a:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-breadcrumbs > ul > li > a:focus-visible, .tw-breadcrumbs > ol > li > a:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: 2px;\n}\n.tw-breadcrumbs > ul > li + *:before, .tw-breadcrumbs > ol > li + *:before {\n content: \"\";\n margin-left: 0.5rem;\n margin-right: 0.75rem;\n display: block;\n height: 0.375rem;\n width: 0.375rem;\n --tw-rotate: 45deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n opacity: 0.4;\n border-top: 1px solid;\n border-right: 1px solid;\n background-color: transparent;\n}\n[dir=\"rtl\"] .tw-breadcrumbs > ul > li + *:before,\n[dir=\"rtl\"] .tw-breadcrumbs > ol > li + *:before {\n --tw-rotate: -135deg;\n}\n.tw-btn:active:hover,\n .tw-btn:active:focus {\n animation: button-pop 0s ease-out;\n transform: scale(var(--btn-focus-scale, 0.97));\n}\n@supports not (color: oklch(0 0 0)) {\n\n .tw-btn {\n background-color: var(--btn-color, var(--fallback-b2));\n border-color: var(--btn-color, var(--fallback-b2));\n }\n\n .tw-btn-primary {\n --btn-color: var(--fallback-p);\n }\n\n .tw-btn-neutral {\n --btn-color: var(--fallback-n);\n }\n\n .tw-btn-error {\n --btn-color: var(--fallback-er);\n }\n}\n@supports (color: color-mix(in oklab, black, black)) {\n\n .tw-btn-outline.tw-btn-primary.tw-btn-active {\n background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black);\n }\n\n .tw-btn-outline.tw-btn-error.tw-btn-active {\n background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black);\n }\n}\n.tw-btn:focus-visible {\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n}\n.tw-btn-primary {\n --tw-text-opacity: 1;\n color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));\n outline-color: var(--fallback-p,oklch(var(--p)/1));\n}\n@supports (color: oklch(0 0 0)) {\n\n .tw-btn-primary {\n --btn-color: var(--p);\n }\n\n .tw-btn-neutral {\n --btn-color: var(--n);\n }\n\n .tw-btn-error {\n --btn-color: var(--er);\n }\n}\n.tw-btn-neutral {\n --tw-text-opacity: 1;\n color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));\n outline-color: var(--fallback-n,oklch(var(--n)/1));\n}\n.tw-btn-error {\n --tw-text-opacity: 1;\n color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));\n outline-color: var(--fallback-er,oklch(var(--er)/1));\n}\n.tw-btn.tw-glass {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n outline-color: currentColor;\n}\n.tw-btn.tw-glass.tw-btn-active {\n --glass-opacity: 25%;\n --glass-border-opacity: 15%;\n}\n.tw-btn-ghost {\n border-width: 1px;\n border-color: transparent;\n background-color: transparent;\n color: currentColor;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n outline-color: currentColor;\n}\n.tw-btn-ghost.tw-btn-active {\n border-color: transparent;\n background-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-btn-outline.tw-btn-primary {\n --tw-text-opacity: 1;\n color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity)));\n}\n.tw-btn-outline.tw-btn-primary.tw-btn-active {\n --tw-text-opacity: 1;\n color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));\n}\n.tw-btn-outline.tw-btn-error {\n --tw-text-opacity: 1;\n color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity)));\n}\n.tw-btn-outline.tw-btn-error.tw-btn-active {\n --tw-text-opacity: 1;\n color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));\n}\n.tw-btn.tw-btn-disabled,\n .tw-btn[disabled],\n .tw-btn:disabled {\n --tw-border-opacity: 0;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n --tw-bg-opacity: 0.2;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-btn:is(input[type=\"checkbox\"]:checked),\n.tw-btn:is(input[type=\"radio\"]:checked) {\n --tw-border-opacity: 1;\n border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity)));\n --tw-text-opacity: 1;\n color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));\n}\n.tw-btn:is(input[type=\"checkbox\"]:checked):focus-visible, .tw-btn:is(input[type=\"radio\"]:checked):focus-visible {\n outline-color: var(--fallback-p,oklch(var(--p)/1));\n}\n@keyframes button-pop {\n\n 0% {\n transform: scale(var(--btn-focus-scale, 0.98));\n }\n\n 40% {\n transform: scale(1.02);\n }\n\n 100% {\n transform: scale(1);\n }\n}\n.tw-card :where(figure:first-child) {\n overflow: hidden;\n border-start-start-radius: inherit;\n border-start-end-radius: inherit;\n border-end-start-radius: unset;\n border-end-end-radius: unset;\n}\n.tw-card :where(figure:last-child) {\n overflow: hidden;\n border-start-start-radius: unset;\n border-start-end-radius: unset;\n border-end-start-radius: inherit;\n border-end-end-radius: inherit;\n}\n.tw-card:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: 2px;\n}\n.tw-card.tw-bordered {\n border-width: 1px;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n}\n.tw-card.tw-compact .tw-card-body {\n padding: 1rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.tw-card-title {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-size: 1.25rem;\n line-height: 1.75rem;\n font-weight: 600;\n}\n.tw-card.tw-image-full :where(figure) {\n overflow: hidden;\n border-radius: inherit;\n}\n.tw-checkbox:focus {\n box-shadow: none;\n}\n.tw-checkbox:focus-visible {\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: var(--fallback-bc,oklch(var(--bc)/1));\n}\n.tw-checkbox:checked,\n .tw-checkbox[checked=\"true\"],\n .tw-checkbox[aria-checked=\"true\"] {\n background-repeat: no-repeat;\n animation: checkmark var(--animation-input, 0.2s) ease-out;\n background-color: var(--chkbg);\n background-image: linear-gradient(-45deg, transparent 65%, var(--chkbg) 65.99%),\n linear-gradient(45deg, transparent 75%, var(--chkbg) 75.99%),\n linear-gradient(-45deg, var(--chkbg) 40%, transparent 40.99%),\n linear-gradient(\n 45deg,\n var(--chkbg) 30%,\n var(--chkfg) 30.99%,\n var(--chkfg) 40%,\n transparent 40.99%\n ),\n linear-gradient(-45deg, var(--chkfg) 50%, var(--chkbg) 50.99%);\n}\n.tw-checkbox:indeterminate {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));\n background-repeat: no-repeat;\n animation: checkmark var(--animation-input, 0.2s) ease-out;\n background-image: linear-gradient(90deg, transparent 80%, var(--chkbg) 80%),\n linear-gradient(-90deg, transparent 80%, var(--chkbg) 80%),\n linear-gradient(0deg, var(--chkbg) 43%, var(--chkfg) 43%, var(--chkfg) 57%, var(--chkbg) 57%);\n}\n.tw-checkbox-success {\n --chkbg: var(--fallback-su,oklch(var(--su)/1));\n --chkfg: var(--fallback-suc,oklch(var(--suc)/1));\n --tw-border-opacity: 1;\n border-color: var(--fallback-su,oklch(var(--su)/var(--tw-border-opacity)));\n}\n.tw-checkbox-success:focus-visible {\n outline-color: var(--fallback-su,oklch(var(--su)/1));\n}\n.tw-checkbox-success:checked,\n .tw-checkbox-success[checked=\"true\"],\n .tw-checkbox-success[aria-checked=\"true\"] {\n --tw-border-opacity: 1;\n border-color: var(--fallback-su,oklch(var(--su)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity)));\n --tw-text-opacity: 1;\n color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)));\n}\n.tw-checkbox:disabled {\n cursor: not-allowed;\n border-color: transparent;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));\n opacity: 0.2;\n}\n@keyframes checkmark {\n\n 0% {\n background-position-y: 5px;\n }\n\n 50% {\n background-position-y: -2px;\n }\n\n 100% {\n background-position-y: 0;\n }\n}\n.tw-divider:not(:empty) {\n gap: 1rem;\n}\n.tw-dropdown.tw-dropdown-open .tw-dropdown-content,\n.tw-dropdown:focus .tw-dropdown-content,\n.tw-dropdown:focus-within .tw-dropdown-content {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tw-file-input:focus {\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-file-input-disabled,\n .tw-file-input[disabled] {\n cursor: not-allowed;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-file-input-disabled::-moz-placeholder, .tw-file-input[disabled]::-moz-placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-file-input-disabled::placeholder,\n .tw-file-input[disabled]::placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-file-input-disabled::file-selector-button, .tw-file-input[disabled]::file-selector-button {\n --tw-border-opacity: 0;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n --tw-bg-opacity: 0.2;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-label-text {\n font-size: 0.875rem;\n line-height: 1.25rem;\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n}\n.tw-input input:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-input[list]::-webkit-calendar-picker-indicator {\n line-height: 1em;\n}\n.tw-input-bordered {\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-input:focus,\n .tw-input:focus-within {\n box-shadow: none;\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-input-disabled,\n .tw-input:disabled,\n .tw-input[disabled] {\n cursor: not-allowed;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n color: var(--fallback-bc,oklch(var(--bc)/0.4));\n}\n.tw-input-disabled::-moz-placeholder, .tw-input:disabled::-moz-placeholder, .tw-input[disabled]::-moz-placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-input-disabled::placeholder,\n .tw-input:disabled::placeholder,\n .tw-input[disabled]::placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-input::-webkit-date-and-time-value {\n text-align: inherit;\n}\n.tw-loading {\n pointer-events: none;\n display: inline-block;\n aspect-ratio: 1 / 1;\n width: 1.5rem;\n background-color: currentColor;\n -webkit-mask-size: 100%;\n mask-size: 100%;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n -webkit-mask-position: center;\n mask-position: center;\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E\");\n}\n.tw-loading-spinner {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E\");\n}\n.tw-loading-sm {\n width: 1.25rem;\n}\n.tw-loading-md {\n width: 1.5rem;\n}\n:where(.tw-menu li:empty) {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));\n opacity: 0.1;\n margin: 0.5rem 1rem;\n height: 1px;\n}\n.tw-menu :where(li ul):before {\n position: absolute;\n bottom: 0.75rem;\n inset-inline-start: 0px;\n top: 0.75rem;\n width: 1px;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity)));\n opacity: 0.1;\n content: \"\";\n}\n.tw-menu :where(li:not(.tw-menu-title) > *:not(ul):not(details):not(.tw-menu-title)),\n.tw-menu :where(li:not(.tw-menu-title) > details > summary:not(.tw-menu-title)) {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n border-radius: var(--rounded-btn, 0.5rem);\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n text-align: start;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n transition-duration: 200ms;\n text-wrap: balance;\n}\n:where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(summary):not(.tw-active).tw-focus,\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):not(summary):not(.tw-active):focus,\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > *:not(ul):not(details):not(.tw-menu-title)):is(summary):not(.tw-active):focus-visible,\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(summary):not(.tw-active).tw-focus,\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):not(summary):not(.tw-active):focus,\n :where(.tw-menu li:not(.tw-menu-title):not(.tw-disabled) > details > summary:not(.tw-menu-title)):is(summary):not(.tw-active):focus-visible {\n cursor: pointer;\n background-color: var(--fallback-bc,oklch(var(--bc)/0.1));\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-menu li > *:not(ul):not(.tw-menu-title):not(details):active,\n.tw-menu li > *:not(ul):not(.tw-menu-title):not(details).tw-active,\n.tw-menu li > details > summary:active {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));\n --tw-text-opacity: 1;\n color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));\n}\n.tw-menu :where(li > details > summary)::-webkit-details-marker {\n display: none;\n}\n.tw-menu :where(li > details > summary):after,\n.tw-menu :where(li > .tw-menu-dropdown-toggle):after {\n justify-self: end;\n display: block;\n margin-top: -0.5rem;\n height: 0.5rem;\n width: 0.5rem;\n transform: rotate(45deg);\n transition-property: transform, margin-top;\n transition-duration: 0.3s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n content: \"\";\n transform-origin: 75% 75%;\n box-shadow: 2px 2px;\n pointer-events: none;\n}\n.tw-menu :where(li > details[open] > summary):after,\n.tw-menu :where(li > .tw-menu-dropdown-toggle.tw-menu-dropdown-show):after {\n transform: rotate(225deg);\n margin-top: 0;\n}\n.tw-mockup-browser .tw-mockup-browser-toolbar .tw-input {\n position: relative;\n margin-left: auto;\n margin-right: auto;\n display: block;\n height: 1.75rem;\n width: 24rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n padding-left: 2rem;\n direction: ltr;\n}\n.tw-mockup-browser .tw-mockup-browser-toolbar .tw-input:before {\n content: \"\";\n position: absolute;\n left: 0.5rem;\n top: 50%;\n aspect-ratio: 1 / 1;\n height: 0.75rem;\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-radius: 9999px;\n border-width: 2px;\n border-color: currentColor;\n opacity: 0.6;\n}\n.tw-mockup-browser .tw-mockup-browser-toolbar .tw-input:after {\n content: \"\";\n position: absolute;\n left: 1.25rem;\n top: 50%;\n height: 0.5rem;\n --tw-translate-y: 25%;\n --tw-rotate: -45deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-radius: 9999px;\n border-width: 1px;\n border-color: currentColor;\n opacity: 0.6;\n}\n.tw-modal:not(dialog:not(.tw-modal-open)),\n .tw-modal::backdrop {\n background-color: #0006;\n animation: modal-pop 0.2s ease-out;\n}\n.tw-modal-backdrop {\n z-index: -1;\n grid-column-start: 1;\n grid-row-start: 1;\n display: grid;\n align-self: stretch;\n justify-self: stretch;\n color: transparent;\n}\n.tw-modal-open .tw-modal-box,\n.tw-modal-toggle:checked + .tw-modal .tw-modal-box,\n.tw-modal:target .tw-modal-box,\n.tw-modal[open] .tw-modal-box {\n --tw-translate-y: 0px;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes modal-pop {\n\n 0% {\n opacity: 0;\n }\n}\n@keyframes progress-loading {\n\n 50% {\n background-position-x: -115%;\n }\n}\n@keyframes radiomark {\n\n 0% {\n box-shadow: 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset,\n 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset;\n }\n\n 50% {\n box-shadow: 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset,\n 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset;\n }\n\n 100% {\n box-shadow: 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset,\n 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset;\n }\n}\n@keyframes rating-pop {\n\n 0% {\n transform: translateY(-0.125em);\n }\n\n 40% {\n transform: translateY(-0.125em);\n }\n\n 100% {\n transform: translateY(0);\n }\n}\n.tw-select-bordered {\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-select:focus {\n box-shadow: none;\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-select-disabled,\n .tw-select:disabled,\n .tw-select[disabled] {\n cursor: not-allowed;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-select-disabled::-moz-placeholder, .tw-select:disabled::-moz-placeholder, .tw-select[disabled]::-moz-placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-select-disabled::placeholder,\n .tw-select:disabled::placeholder,\n .tw-select[disabled]::placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-select-multiple,\n .tw-select[multiple],\n .tw-select[size].tw-select:not([size=\"1\"]) {\n background-image: none;\n padding-right: 1rem;\n}\n[dir=\"rtl\"] .tw-select {\n background-position: calc(0% + 12px) calc(1px + 50%),\n calc(0% + 16px) calc(1px + 50%);\n}\n@keyframes skeleton {\n\n from {\n background-position: 150%;\n }\n\n to {\n background-position: -50%;\n }\n}\n.tw-tabs-lifted > .tw-tab:focus-visible {\n border-end-end-radius: 0;\n border-end-start-radius: 0;\n}\n.tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]),\n .tw-tab:is(input:checked) {\n border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));\n --tw-border-opacity: 1;\n --tw-text-opacity: 1;\n}\n.tw-tab:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.tw-tab:focus-visible {\n outline: 2px solid currentColor;\n outline-offset: -5px;\n}\n.tw-tab-disabled,\n .tw-tab[disabled] {\n cursor: not-allowed;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-tabs-bordered > .tw-tab {\n border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));\n --tw-border-opacity: 0.2;\n border-style: solid;\n border-bottom-width: calc(var(--tab-border, 1px) + 1px);\n}\n.tw-tabs-lifted > .tw-tab {\n border: var(--tab-border, 1px) solid transparent;\n border-width: 0 0 var(--tab-border, 1px) 0;\n border-start-start-radius: var(--tab-radius, 0.5rem);\n border-start-end-radius: var(--tab-radius, 0.5rem);\n border-bottom-color: var(--tab-border-color);\n padding-inline-start: var(--tab-padding, 1rem);\n padding-inline-end: var(--tab-padding, 1rem);\n padding-top: var(--tab-border, 1px);\n}\n.tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]),\n .tw-tabs-lifted > .tw-tab:is(input:checked) {\n background-color: var(--tab-bg);\n border-width: var(--tab-border, 1px) var(--tab-border, 1px) 0 var(--tab-border, 1px);\n border-inline-start-color: var(--tab-border-color);\n border-inline-end-color: var(--tab-border-color);\n border-top-color: var(--tab-border-color);\n padding-inline-start: calc(var(--tab-padding, 1rem) - var(--tab-border, 1px));\n padding-inline-end: calc(var(--tab-padding, 1rem) - var(--tab-border, 1px));\n padding-bottom: var(--tab-border, 1px);\n padding-top: 0;\n}\n.tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]):before, .tw-tabs-lifted > .tw-tab:is(input:checked):before {\n z-index: 1;\n content: \"\";\n display: block;\n position: absolute;\n width: calc(100% + var(--tab-radius, 0.5rem) * 2);\n height: var(--tab-radius, 0.5rem);\n bottom: 0;\n background-size: var(--tab-radius, 0.5rem);\n background-position: top left,\n top right;\n background-repeat: no-repeat;\n --tab-grad: calc(69% - var(--tab-border, 1px));\n --radius-start: radial-gradient(\n circle at top left,\n transparent var(--tab-grad),\n var(--tab-border-color) calc(var(--tab-grad) + 0.25px),\n var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),\n var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px)\n );\n --radius-end: radial-gradient(\n circle at top right,\n transparent var(--tab-grad),\n var(--tab-border-color) calc(var(--tab-grad) + 0.25px),\n var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)),\n var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px)\n );\n background-image: var(--radius-start), var(--radius-end);\n}\n.tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]):first-child:before, .tw-tabs-lifted > .tw-tab:is(input:checked):first-child:before {\n background-image: var(--radius-end);\n background-position: top right;\n}\n[dir=\"rtl\"] .tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]):first-child:before, [dir=\"rtl\"] .tw-tabs-lifted > .tw-tab:is(input:checked):first-child:before {\n background-image: var(--radius-start);\n background-position: top left;\n}\n.tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]):last-child:before, .tw-tabs-lifted > .tw-tab:is(input:checked):last-child:before {\n background-image: var(--radius-start);\n background-position: top left;\n}\n[dir=\"rtl\"] .tw-tabs-lifted > .tw-tab.tw-tab-active:not(.tw-tab-disabled):not([disabled]):last-child:before, [dir=\"rtl\"] .tw-tabs-lifted > .tw-tab:is(input:checked):last-child:before {\n background-image: var(--radius-end);\n background-position: top right;\n}\n.tw-tabs-lifted\n > .tw-tab-active:not(.tw-tab-disabled):not([disabled])\n + .tw-tabs-lifted\n .tw-tab-active:not(.tw-tab-disabled):not([disabled]):before, .tw-tabs-lifted > .tw-tab:is(input:checked) + .tw-tabs-lifted .tw-tab:is(input:checked):before {\n background-image: var(--radius-end);\n background-position: top right;\n}\n.tw-tabs-boxed .tw-tab {\n border-radius: var(--rounded-btn, 0.5rem);\n}\n.tw-textarea-bordered {\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-textarea:focus {\n box-shadow: none;\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n outline-style: solid;\n outline-width: 2px;\n outline-offset: 2px;\n outline-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-textarea-disabled,\n .tw-textarea:disabled,\n .tw-textarea[disabled] {\n cursor: not-allowed;\n --tw-border-opacity: 1;\n border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity)));\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n --tw-text-opacity: 0.2;\n}\n.tw-textarea-disabled::-moz-placeholder, .tw-textarea:disabled::-moz-placeholder, .tw-textarea[disabled]::-moz-placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n.tw-textarea-disabled::placeholder,\n .tw-textarea:disabled::placeholder,\n .tw-textarea[disabled]::placeholder {\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity)));\n --tw-placeholder-opacity: 0.2;\n}\n@keyframes toast-pop {\n\n 0% {\n transform: scale(0.9);\n opacity: 0;\n }\n\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n.tw-btn-xs {\n height: 1.5rem;\n min-height: 1.5rem;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n font-size: 0.75rem;\n}\n.tw-btn-sm {\n height: 2rem;\n min-height: 2rem;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n font-size: 0.875rem;\n}\n.tw-btn-lg {\n height: 4rem;\n min-height: 4rem;\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n font-size: 1.125rem;\n}\n.tw-btn-block {\n width: 100%;\n}\n.tw-btn-square:where(.tw-btn-xs) {\n height: 1.5rem;\n width: 1.5rem;\n padding: 0px;\n}\n.tw-btn-square:where(.tw-btn-sm) {\n height: 2rem;\n width: 2rem;\n padding: 0px;\n}\n.tw-btn-square:where(.tw-btn-md) {\n height: 3rem;\n width: 3rem;\n padding: 0px;\n}\n.tw-btn-square:where(.tw-btn-lg) {\n height: 4rem;\n width: 4rem;\n padding: 0px;\n}\n.tw-btn-circle:where(.tw-btn-xs) {\n height: 1.5rem;\n width: 1.5rem;\n border-radius: 9999px;\n padding: 0px;\n}\n.tw-btn-circle:where(.tw-btn-sm) {\n height: 2rem;\n width: 2rem;\n border-radius: 9999px;\n padding: 0px;\n}\n.tw-btn-circle:where(.tw-btn-md) {\n height: 3rem;\n width: 3rem;\n border-radius: 9999px;\n padding: 0px;\n}\n.tw-btn-circle:where(.tw-btn-lg) {\n height: 4rem;\n width: 4rem;\n border-radius: 9999px;\n padding: 0px;\n}\n[type=\"checkbox\"].tw-checkbox-xs {\n height: 1rem;\n width: 1rem;\n}\n.tw-tabs-md :where(.tw-tab) {\n height: 2rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n line-height: 2;\n --tab-padding: 1rem;\n}\n.tw-tabs-lg :where(.tw-tab) {\n height: 3rem;\n font-size: 1.125rem;\n line-height: 1.75rem;\n line-height: 2;\n --tab-padding: 1.25rem;\n}\n.tw-tabs-sm :where(.tw-tab) {\n height: 1.5rem;\n font-size: 0.875rem;\n line-height: .75rem;\n --tab-padding: 0.75rem;\n}\n.tw-tabs-xs :where(.tw-tab) {\n height: 1.25rem;\n font-size: 0.75rem;\n line-height: .75rem;\n --tab-padding: 0.5rem;\n}\n.tw-tooltip {\n position: relative;\n display: inline-block;\n --tooltip-offset: calc(100% + 1px + var(--tooltip-tail, 0px));\n}\n.tw-tooltip:before {\n position: absolute;\n pointer-events: none;\n z-index: 1;\n content: var(--tw-content);\n --tw-content: attr(data-tip);\n}\n.tw-tooltip:before, .tw-tooltip-top:before {\n transform: translateX(-50%);\n top: auto;\n left: 50%;\n right: auto;\n bottom: var(--tooltip-offset);\n}\n.tw-tooltip-left:before {\n transform: translateY(-50%);\n top: 50%;\n left: auto;\n right: var(--tooltip-offset);\n bottom: auto;\n}\n.tw-tooltip-right:before {\n transform: translateY(-50%);\n top: 50%;\n left: var(--tooltip-offset);\n right: auto;\n bottom: auto;\n}\n.tw-avatar.tw-online:before {\n content: \"\";\n position: absolute;\n z-index: 10;\n display: block;\n border-radius: 9999px;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity)));\n outline-style: solid;\n outline-width: 2px;\n outline-color: var(--fallback-b1,oklch(var(--b1)/1));\n width: 15%;\n height: 15%;\n top: 7%;\n right: 7%;\n}\n.tw-avatar.tw-offline:before {\n content: \"\";\n position: absolute;\n z-index: 10;\n display: block;\n border-radius: 9999px;\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity)));\n outline-style: solid;\n outline-width: 2px;\n outline-color: var(--fallback-b1,oklch(var(--b1)/1));\n width: 15%;\n height: 15%;\n top: 7%;\n right: 7%;\n}\n.tw-card-compact .tw-card-body {\n padding: 1rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.tw-card-compact .tw-card-title {\n margin-bottom: 0.25rem;\n}\n.tw-card-normal .tw-card-body {\n padding: var(--padding-card, 2rem);\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.tw-card-normal .tw-card-title {\n margin-bottom: 0.75rem;\n}\n.tw-modal-top :where(.tw-modal-box) {\n width: 100%;\n max-width: none;\n --tw-translate-y: -2.5rem;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-bottom-right-radius: var(--rounded-box, 1rem);\n border-bottom-left-radius: var(--rounded-box, 1rem);\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n}\n.tw-modal-middle :where(.tw-modal-box) {\n width: 91.666667%;\n max-width: 32rem;\n --tw-translate-y: 0px;\n --tw-scale-x: .9;\n --tw-scale-y: .9;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-top-left-radius: var(--rounded-box, 1rem);\n border-top-right-radius: var(--rounded-box, 1rem);\n border-bottom-right-radius: var(--rounded-box, 1rem);\n border-bottom-left-radius: var(--rounded-box, 1rem);\n}\n.tw-modal-bottom :where(.tw-modal-box) {\n width: 100%;\n max-width: none;\n --tw-translate-y: 2.5rem;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n border-top-left-radius: var(--rounded-box, 1rem);\n border-top-right-radius: var(--rounded-box, 1rem);\n border-bottom-right-radius: 0px;\n border-bottom-left-radius: 0px;\n}\n.tw-tooltip {\n position: relative;\n display: inline-block;\n text-align: center;\n --tooltip-tail: 0.1875rem;\n --tooltip-color: var(--fallback-n,oklch(var(--n)/1));\n --tooltip-text-color: var(--fallback-nc,oklch(var(--nc)/1));\n --tooltip-tail-offset: calc(100% + 0.0625rem - var(--tooltip-tail));\n}\n.tw-tooltip:before,\n.tw-tooltip:after {\n opacity: 0;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-delay: 100ms;\n transition-duration: 200ms;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.tw-tooltip:after {\n position: absolute;\n content: \"\";\n border-style: solid;\n border-width: var(--tooltip-tail, 0);\n width: 0;\n height: 0;\n display: block;\n}\n.tw-tooltip:before {\n max-width: 20rem;\n border-radius: 0.25rem;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n background-color: var(--tooltip-color);\n color: var(--tooltip-text-color);\n width: -moz-max-content;\n width: max-content;\n}\n.tw-tooltip.tw-tooltip-open:before {\n opacity: 1;\n transition-delay: 75ms;\n}\n.tw-tooltip.tw-tooltip-open:after {\n opacity: 1;\n transition-delay: 75ms;\n}\n.tw-tooltip:hover:before {\n opacity: 1;\n transition-delay: 75ms;\n}\n.tw-tooltip:hover:after {\n opacity: 1;\n transition-delay: 75ms;\n}\n.tw-tooltip:has(:focus-visible):after,\n.tw-tooltip:has(:focus-visible):before {\n opacity: 1;\n transition-delay: 75ms;\n}\n.tw-tooltip:not([data-tip]):hover:before,\n.tw-tooltip:not([data-tip]):hover:after {\n visibility: hidden;\n opacity: 0;\n}\n.tw-tooltip:after, .tw-tooltip-top:after {\n transform: translateX(-50%);\n border-color: var(--tooltip-color) transparent transparent transparent;\n top: auto;\n left: 50%;\n right: auto;\n bottom: var(--tooltip-tail-offset);\n}\n.tw-tooltip-left:after {\n transform: translateY(-50%);\n border-color: transparent transparent transparent var(--tooltip-color);\n top: 50%;\n left: auto;\n right: calc(var(--tooltip-tail-offset) + 0.0625rem);\n bottom: auto;\n}\n.tw-tooltip-right:after {\n transform: translateY(-50%);\n border-color: transparent var(--tooltip-color) transparent transparent;\n top: 50%;\n left: calc(var(--tooltip-tail-offset) + 0.0625rem);\n right: auto;\n bottom: auto;\n}\n.tw-fixed {\n position: fixed;\n}\n.tw-absolute {\n position: absolute;\n}\n.tw-relative {\n position: relative;\n}\n.tw-inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n.\\!tw-left-auto {\n left: auto !important;\n}\n.-tw-left-6 {\n left: -1.5rem;\n}\n.tw--right-2 {\n right: -0.5rem;\n}\n.tw--top-2 {\n top: -0.5rem;\n}\n.tw-bottom-0 {\n bottom: 0px;\n}\n.tw-bottom-4 {\n bottom: 1rem;\n}\n.tw-left-0 {\n left: 0px;\n}\n.tw-left-4 {\n left: 1rem;\n}\n.tw-right-0 {\n right: 0px;\n}\n.tw-right-1 {\n right: 0.25rem;\n}\n.tw-right-16 {\n right: 4rem;\n}\n.tw-right-2 {\n right: 0.5rem;\n}\n.tw-right-4 {\n right: 1rem;\n}\n.tw-right-5 {\n right: 1.25rem;\n}\n.tw-top-0 {\n top: 0px;\n}\n.tw-top-1 {\n top: 0.25rem;\n}\n.tw-top-14 {\n top: 3.5rem;\n}\n.tw-top-2 {\n top: 0.5rem;\n}\n.tw-top-4 {\n top: 1rem;\n}\n.\\!tw-z-\\[10000\\] {\n z-index: 10000 !important;\n}\n.tw-z-1000 {\n z-index: 1000;\n}\n.tw-z-3000 {\n z-index: 3000;\n}\n.tw-z-500 {\n z-index: 500;\n}\n.tw-z-\\[10000\\] {\n z-index: 10000;\n}\n.tw-z-\\[10035\\] {\n z-index: 10035;\n}\n.tw-z-\\[2000\\] {\n z-index: 2000;\n}\n.tw-z-\\[4000\\] {\n z-index: 4000;\n}\n.tw-z-\\[999\\] {\n z-index: 999;\n}\n.tw-col-span-1 {\n grid-column: span 1 / span 1;\n}\n.tw-col-span-5 {\n grid-column: span 5 / span 5;\n}\n.tw-float-right {\n float: right;\n}\n.tw-m-1 {\n margin: 0.25rem;\n}\n.tw-m-auto {\n margin: auto;\n}\n.\\!tw-my-0 {\n margin-top: 0px !important;\n margin-bottom: 0px !important;\n}\n.\\!tw-my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n.tw-mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n.tw-mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n.tw-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.tw-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n.tw-my-auto {\n margin-top: auto;\n margin-bottom: auto;\n}\n.-tw-mb-1 {\n margin-bottom: -0.25rem;\n}\n.-tw-mb-2 {\n margin-bottom: -0.5rem;\n}\n.-tw-mr-6 {\n margin-right: -1.5rem;\n}\n.tw-mb-0 {\n margin-bottom: 0px;\n}\n.tw-mb-1 {\n margin-bottom: 0.25rem;\n}\n.tw-mb-12 {\n margin-bottom: 3rem;\n}\n.tw-mb-2 {\n margin-bottom: 0.5rem;\n}\n.tw-mb-3 {\n margin-bottom: 0.75rem;\n}\n.tw-mb-4 {\n margin-bottom: 1rem;\n}\n.tw-mb-5 {\n margin-bottom: 1.25rem;\n}\n.tw-mb-6 {\n margin-bottom: 1.5rem;\n}\n.tw-ml-2 {\n margin-left: 0.5rem;\n}\n.tw-ml-6 {\n margin-left: 1.5rem;\n}\n.tw-mr-2 {\n margin-right: 0.5rem;\n}\n.tw-mr-4 {\n margin-right: 1rem;\n}\n.tw-mt-0 {\n margin-top: 0px;\n}\n.tw-mt-1 {\n margin-top: 0.25rem;\n}\n.tw-mt-16 {\n margin-top: 4rem;\n}\n.tw-mt-2 {\n margin-top: 0.5rem;\n}\n.tw-mt-3 {\n margin-top: 0.75rem;\n}\n.tw-mt-4 {\n margin-top: 1rem;\n}\n.tw-mt-5 {\n margin-top: 1.25rem;\n}\n.tw-mt-6 {\n margin-top: 1.5rem;\n}\n.tw-mt-8 {\n margin-top: 2rem;\n}\n.tw-inline-block {\n display: inline-block;\n}\n.tw-flex {\n display: flex;\n}\n.tw-grid {\n display: grid;\n}\n.tw-hidden {\n display: none;\n}\n.\\!tw-h-96 {\n height: 24rem !important;\n}\n.\\!tw-h-\\[calc\\(100dvh-96px\\)\\] {\n height: calc(100dvh - 96px) !important;\n}\n.tw-h-10 {\n height: 2.5rem;\n}\n.tw-h-20 {\n height: 5rem;\n}\n.tw-h-3 {\n height: 0.75rem;\n}\n.tw-h-36 {\n height: 9rem;\n}\n.tw-h-4 {\n height: 1rem;\n}\n.tw-h-40 {\n height: 10rem;\n}\n.tw-h-5 {\n height: 1.25rem;\n}\n.tw-h-6 {\n height: 1.5rem;\n}\n.tw-h-64 {\n height: 16rem;\n}\n.tw-h-96 {\n height: 24rem;\n}\n.tw-h-\\[2\\.75em\\] {\n height: 2.75em;\n}\n.tw-h-\\[calc\\(100\\%-1rem\\)\\] {\n height: calc(100% - 1rem);\n}\n.tw-h-\\[calc\\(100dvh-268px\\)\\] {\n height: calc(100dvh - 268px);\n}\n.tw-h-\\[calc\\(100dvh-332px\\)\\] {\n height: calc(100dvh - 332px);\n}\n.tw-h-\\[calc\\(100dvh-64px\\)\\] {\n height: calc(100dvh - 64px);\n}\n.tw-h-\\[calc\\(100dvh-96px\\)\\] {\n height: calc(100dvh - 96px);\n}\n.tw-h-\\[calc\\(50\\%-0\\.75em\\)\\] {\n height: calc(50% - 0.75em);\n}\n.tw-h-fit {\n height: -moz-fit-content;\n height: fit-content;\n}\n.tw-h-full {\n height: 100%;\n}\n.tw-max-h-16 {\n max-height: 4rem;\n}\n.tw-max-h-64 {\n max-height: 16rem;\n}\n.tw-max-h-\\[calc\\(100dvh-152px\\)\\] {\n max-height: calc(100dvh - 152px);\n}\n.tw-max-h-\\[calc\\(100dvh-96px\\)\\] {\n max-height: calc(100dvh - 96px);\n}\n.tw-min-h-0 {\n min-height: 0px;\n}\n.tw-min-h-56 {\n min-height: 224px;\n}\n.tw-min-h-\\[21px\\] {\n min-height: 21px;\n}\n.tw-min-h-\\[32px\\] {\n min-height: 32px;\n}\n.tw-min-h-\\[5em\\] {\n min-height: 5em;\n}\n.tw-w-1 {\n width: 0.25rem;\n}\n.tw-w-10 {\n width: 2.5rem;\n}\n.tw-w-14 {\n width: 3.5rem;\n}\n.tw-w-20 {\n width: 5rem;\n}\n.tw-w-32 {\n width: 8rem;\n}\n.tw-w-4 {\n width: 1rem;\n}\n.tw-w-48 {\n width: 12rem;\n}\n.tw-w-5 {\n width: 1.25rem;\n}\n.tw-w-52 {\n width: 13rem;\n}\n.tw-w-6 {\n width: 1.5rem;\n}\n.tw-w-80 {\n width: 20rem;\n}\n.tw-w-\\[56px\\] {\n width: 56px;\n}\n.tw-w-\\[calc\\(100\\%-32px\\)\\] {\n width: calc(100% - 32px);\n}\n.tw-w-\\[calc\\(100vw-2rem\\)\\] {\n width: calc(100vw - 2rem);\n}\n.tw-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.tw-w-full {\n width: 100%;\n}\n.tw-min-w-80 {\n min-width: 320px;\n}\n.tw-min-w-\\[10em\\] {\n min-width: 10em;\n}\n.tw-max-w-3xl {\n max-width: 48rem;\n}\n.tw-max-w-\\[17rem\\] {\n max-width: 17rem;\n}\n.tw-max-w-\\[22rem\\] {\n max-width: 22rem;\n}\n.tw-max-w-xl {\n max-width: 36rem;\n}\n.tw-max-w-xs {\n max-width: 20rem;\n}\n.tw-flex-1 {\n flex: 1 1 0%;\n}\n.tw-flex-none {\n flex: none;\n}\n.tw-grow {\n flex-grow: 1;\n}\n.tw-basis-1\\/5 {\n flex-basis: 20%;\n}\n.tw-basis-2\\/5 {\n flex-basis: 40%;\n}\n.tw--translate-x-full {\n --tw-translate-x: -100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tw-translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tw-rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.tw-animate-none {\n animation: none;\n}\n.tw-cursor-pointer {\n cursor: pointer;\n}\n.tw-cursor-text {\n cursor: text;\n}\n.tw-list-inside {\n list-style-position: inside;\n}\n.tw-list-decimal {\n list-style-type: decimal;\n}\n.tw-list-disc {\n list-style-type: disc;\n}\n.tw-list-none {\n list-style-type: none;\n}\n.tw-grid-flow-col {\n grid-auto-flow: column;\n}\n.tw-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n.tw-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.tw-grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n.tw-flex-row {\n flex-direction: row;\n}\n.tw-flex-col {\n flex-direction: column;\n}\n.tw-flex-wrap {\n flex-wrap: wrap;\n}\n.tw-place-content-center {\n place-content: center;\n}\n.tw-place-items-end {\n place-items: end;\n}\n.tw-place-items-center {\n place-items: center;\n}\n.tw-items-center {\n align-items: center;\n}\n.tw-justify-normal {\n justify-content: normal;\n}\n.tw-justify-end {\n justify-content: flex-end;\n}\n.tw-justify-center {\n justify-content: center;\n}\n.tw-justify-between {\n justify-content: space-between;\n}\n.tw-gap-2 {\n gap: 0.5rem;\n}\n.tw-gap-6 {\n gap: 1.5rem;\n}\n.tw-place-self-end {\n place-self: end;\n}\n.tw-place-self-center {\n place-self: center;\n}\n.tw-self-center {\n align-self: center;\n}\n.tw-overflow-auto {\n overflow: auto;\n}\n.tw-overflow-hidden {\n overflow: hidden;\n}\n.tw-overflow-y-auto {\n overflow-y: auto;\n}\n.tw-overflow-x-hidden {\n overflow-x: hidden;\n}\n.tw-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.tw-text-ellipsis {\n text-overflow: ellipsis;\n}\n.tw-whitespace-nowrap {\n white-space: nowrap;\n}\n.\\!tw-rounded-none {\n border-radius: 0px !important;\n}\n.tw-rounded-2xl {\n border-radius: 1rem;\n}\n.tw-rounded-box {\n border-radius: var(--rounded-box, 1rem);\n}\n.tw-rounded-full {\n border-radius: 9999px;\n}\n.tw-rounded-lg {\n border-radius: 0.5rem;\n}\n.tw-rounded-xl {\n border-radius: 0.75rem;\n}\n.tw-rounded-br-md {\n border-bottom-right-radius: 0.375rem;\n}\n.tw-rounded-tl-none {\n border-top-left-radius: 0px;\n}\n.tw-rounded-tr-md {\n border-top-right-radius: 0.375rem;\n}\n.tw-border-0 {\n border-width: 0px;\n}\n.tw-border-t-0 {\n border-top-width: 0px;\n}\n.tw-border-none {\n border-style: none;\n}\n.tw-border-\\[var\\(--fallback-bc\\,oklch\\(var\\(--bc\\)\\/0\\.2\\)\\)\\] {\n border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n.tw-border-current {\n border-color: currentColor;\n}\n.tw-border-primary {\n --tw-border-opacity: 1;\n border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity)));\n}\n.tw-bg-base-100 {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity)));\n}\n.tw-bg-base-200 {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity)));\n}\n.tw-bg-primary {\n --tw-bg-opacity: 1;\n background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity)));\n}\n.tw-bg-transparent {\n background-color: transparent;\n}\n.tw-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.tw-stroke-current {\n stroke: currentColor;\n}\n.tw-p-0 {\n padding: 0px;\n}\n.tw-p-1 {\n padding: 0.25rem;\n}\n.tw-p-2 {\n padding: 0.5rem;\n}\n.tw-p-4 {\n padding: 1rem;\n}\n.tw-p-6 {\n padding: 1.5rem;\n}\n.tw-p-\\[1px\\] {\n padding: 1px;\n}\n.tw-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.tw-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.tw-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.tw-pb-0 {\n padding-bottom: 0px;\n}\n.tw-pb-1 {\n padding-bottom: 0.25rem;\n}\n.tw-pb-2 {\n padding-bottom: 0.5rem;\n}\n.tw-pb-6 {\n padding-bottom: 1.5rem;\n}\n.tw-pl-2 {\n padding-left: 0.5rem;\n}\n.tw-pr-1 {\n padding-right: 0.25rem;\n}\n.tw-pt-0 {\n padding-top: 0px;\n}\n.tw-pt-1 {\n padding-top: 0.25rem;\n}\n.tw-pt-2 {\n padding-top: 0.5rem;\n}\n.tw-pt-4 {\n padding-top: 1rem;\n}\n.tw-pt-6 {\n padding-top: 1.5rem;\n}\n.tw-pt-8 {\n padding-top: 2rem;\n}\n.tw-text-center {\n text-align: center;\n}\n.tw-text-right {\n text-align: right;\n}\n.tw-align-middle {\n vertical-align: middle;\n}\n.tw-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.tw-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.tw-text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.tw-text-map {\n font-size: 13px;\n}\n.tw-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.tw-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n.tw-text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.tw-font-bold {\n font-weight: 700;\n}\n.tw-font-normal {\n font-weight: 400;\n}\n.tw-font-semibold {\n font-weight: 600;\n}\n.tw-normal-case {\n text-transform: none;\n}\n.tw-italic {\n font-style: italic;\n}\n.tw-leading-3 {\n line-height: .75rem;\n}\n.tw-leading-5 {\n line-height: 1.25rem;\n}\n.tw-leading-map {\n line-height: 1.4em;\n}\n.\\!tw-text-base-content {\n --tw-text-opacity: 1 !important;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))) !important;\n}\n.\\!tw-text-error {\n --tw-text-opacity: 1 !important;\n color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity))) !important;\n}\n.tw-text-base-content {\n --tw-text-opacity: 1;\n color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));\n}\n.tw-text-current {\n color: currentColor;\n}\n.tw-text-error {\n --tw-text-opacity: 1;\n color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity)));\n}\n.tw-text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity));\n}\n.tw-text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity));\n}\n.tw-text-primary {\n --tw-text-opacity: 1;\n color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity)));\n}\n.tw-text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.tw-opacity-50 {\n opacity: 0.5;\n}\n.tw-shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tw-shadow-md {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tw-shadow-te-primary {\n --tw-shadow: 0 0 0 1px rgb(59, 113, 202);\n --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tw-shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.tw-drop-shadow-md {\n --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.tw-backdrop-brightness-75 {\n --tw-backdrop-brightness: brightness(.75);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.tw-backdrop-contrast-50 {\n --tw-backdrop-contrast: contrast(.5);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.tw-transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tw-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tw-transition-none {\n transition-property: none;\n}\n.tw-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.tw-duration-200 {\n transition-duration: 200ms;\n}\n.tw-duration-300 {\n transition-duration: 300ms;\n}\n.tw-duration-500 {\n transition-duration: 500ms;\n}\n.tw-ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n}\n.\\[--tab-border-color\\:var\\(--fallback-bc\\2c oklch\\(var\\(--bc\\)\\/0\\.2\\)\\)\\] {\n --tab-border-color: var(--fallback-bc,oklch(var(--bc)/0.2));\n}\n\n.fade {\n -webkit-mask-image: linear-gradient(180deg, transparent, #000 3%, #000 97%, transparent);\n mask-image: linear-gradient(180deg, transparent, #000 3%, #000 97%, transparent);\n}\n\n.tw-modal {\n z-index: 1200 !important;\n}\n\n.tw-menu li a {\n border-radius: 10px;\n}\n\n.tw-modal {\n z-index: 1200 !important;\n max-height: 100dvh;\n}\n\n.tw-modal-box {\n max-height: calc(100dvh - 2em);\n}\n\n.Toastify__toast {\n border-radius: 1rem;\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n margin-left: 1rem;\n margin-right: 1rem;\n margin-bottom: 1rem;\n background-color: var(--fallback-b1,oklch(var(--b1)/1));\n color: var(--fallback-bc,oklch(var(--bc)/1));\n}\n\n.Toastify__toast-container {\n z-index: 1999 !important;\n}\n\n.Toastify__toast-container--top-right {\n top: 4.75em !important;\n}\n\n:root {\n\n --toastify-color-info: var(--fallback-in,oklch(var(--in)/1));\n --toastify-color-success: var(--fallback-su,oklch(var(--su)/1));\n --toastify-color-warning: var(--fallback-wa,oklch(var(--wa)/1));\n --toastify-color-error: var(--fallback-er,oklch(var(--er)/1));\n\n}\n\n.custom-file-upload {\n cursor: pointer;\n}\n\ninput[type=\"file\"] {\n display: none;\n}\n\n.custom-file-upload:hover .button {\n opacity: 0.8;\n}\n\n.custom-file-upload .button {\n transition: .5s ease;\n opacity: 0;\n position: absolute;\n transform: translate(8px, 8px);\n\n}\n\n.tw-tab-content .container {\n height: 100%;\n}\n\n.hover\\:tw-cursor-pointer:hover {\n cursor: pointer;\n}\n\n.hover\\:tw-bg-slate-300:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(203 213 225 / var(--tw-bg-opacity));\n}\n\n.hover\\:tw-bg-transparent:hover {\n background-color: transparent;\n}\n\n.hover\\:tw-font-bold:hover {\n font-weight: 700;\n}\n\n.hover\\:tw-text-primary:hover {\n --tw-text-opacity: 1;\n color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity)));\n}\n\n.hover\\:tw-underline:hover {\n text-decoration-line: underline;\n}\n\n.focus\\:tw-outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.data-\\[te-sidenav-slim\\=\\'true\\'\\]\\:tw-hidden[data-te-sidenav-slim='true'] {\n display: none;\n}\n\n.data-\\[te-sidenav-slim-collapsed\\=\\'true\\'\\]\\:tw-w-\\[56px\\][data-te-sidenav-slim-collapsed='true'] {\n width: 56px;\n}\n\n.data-\\[te-sidenav-slim\\=\\'true\\'\\]\\:tw-w-\\[56px\\][data-te-sidenav-slim='true'] {\n width: 56px;\n}\n\n.data-\\[te-sidenav-hidden\\=\\'false\\'\\]\\:tw-translate-x-0[data-te-sidenav-hidden='false'] {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.tw-group[data-te-sidenav-slim-collapsed='true'] .group-\\[\\&\\[data-te-sidenav-slim-collapsed\\=\\'true\\'\\]\\]\\:data-\\[te-sidenav-slim\\=\\'false\\'\\]\\:tw-hidden[data-te-sidenav-slim='false'] {\n display: none;\n}\n\n@media (prefers-color-scheme: dark) {\n\n .dark\\:tw-bg-zinc-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(39 39 42 / var(--tw-bg-opacity));\n }\n}\n\n@media (min-width: 768px) {\n\n .md\\:tw-flex {\n display: flex;\n }\n\n .md\\:tw-hidden {\n display: none;\n }\n\n .md\\:tw-w-\\[calc\\(50\\%-32px\\)\\] {\n width: calc(50% - 32px);\n }\n\n .md\\:tw-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n@media (min-width: 1024px) {\n\n .lg\\:tw-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n\n@media (min-width: 1280px) {\n\n .xl\\:tw-max-w-6xl {\n max-width: 72rem;\n }\n}\n\n.\\[\\&\\[data-te-sidenav-slim-collapsed\\=\\'true\\'\\]\\[data-te-sidenav-slim\\=\\'false\\'\\]\\]\\:tw-hidden[data-te-sidenav-slim-collapsed='true'][data-te-sidenav-slim='false'] {\n display: none;\n}\n\n.\\[\\&\\[data-te-sidenav-slim-collapsed\\=\\'true\\'\\]\\[data-te-sidenav-slim\\=\\'true\\'\\]\\]\\:\\[display\\:unset\\][data-te-sidenav-slim-collapsed='true'][data-te-sidenav-slim='true'] {\n display: unset;\n}";
|
4520
4095
|
styleInject(css_248z);
|
4521
4096
|
|
4522
|
-
export { AppShell, AuthProvider, CardPage, CircleLayout, Content, ItemForm, ItemView, Layer, LoginPage, MapOverlayPage, Modal, MoonCalendar, OverlayProfile, OverlayProfileSettings, OverlayUserSettings, Permissions, PopupButton, PopupStartEndInput, PopupTextAreaInput, PopupTextInput, ProfileSettings, Quests, RequestPasswordPage, SelectBox, SetNewPasswordPage, SideBar, SignupPage, StartEndView, Tags, TextAreaInput, TextInput, TextView, TitleCard, UserSettings, UtopiaMap, useAuth };
|
4097
|
+
export { AppShell, AuthProvider, CardPage, CircleLayout, Content, ItemForm, ItemView, ItemsIndexPage, Layer, LoginPage, MapOverlayPage, Modal, MoonCalendar, OverlayProfile, OverlayProfileSettings, OverlayUserSettings, Permissions, PopupButton, PopupStartEndInput, PopupTextAreaInput, PopupTextInput, ProfileSettings, Quests, RequestPasswordPage, SelectBox, SetNewPasswordPage, SideBar, SignupPage, StartEndView, Tags, TextAreaInput, TextInput, TextView, TitleCard, UserSettings, UtopiaMap, useAuth };
|
4523
4098
|
//# sourceMappingURL=index.js.map
|