@g4rcez/components 2.0.32 → 2.0.33
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/core/{button.js → button.jsx} +5 -3
- package/dist/components/core/heading.d.ts +1 -1
- package/dist/components/core/heading.d.ts.map +1 -1
- package/dist/components/core/heading.jsx +4 -0
- package/dist/components/core/{polymorph.js → polymorph.jsx} +1 -2
- package/dist/components/core/render-on-view.d.ts +1 -1
- package/dist/components/core/render-on-view.d.ts.map +1 -1
- package/dist/components/core/{render-on-view.js → render-on-view.jsx} +4 -3
- package/dist/components/core/resizable.d.ts +1 -1
- package/dist/components/core/resizable.d.ts.map +1 -1
- package/dist/components/core/{resizable.js → resizable.jsx} +4 -3
- package/dist/components/core/{slot.js → slot.jsx} +8 -5
- package/dist/components/core/{tag.js → tag.jsx} +6 -3
- package/dist/components/core/typography.d.ts +5 -5
- package/dist/components/core/typography.d.ts.map +1 -1
- package/dist/components/core/typography.jsx +26 -0
- package/dist/components/display/alert.d.ts +1 -1
- package/dist/components/display/alert.d.ts.map +1 -1
- package/dist/components/display/alert.jsx +56 -0
- package/dist/components/display/calendar.d.ts +1 -1
- package/dist/components/display/calendar.d.ts.map +1 -1
- package/dist/components/display/{calendar.js → calendar.jsx} +83 -21
- package/dist/components/display/card.d.ts +3 -3
- package/dist/components/display/card.d.ts.map +1 -1
- package/dist/components/display/card.jsx +43 -0
- package/dist/components/display/empty.d.ts +1 -1
- package/dist/components/display/empty.d.ts.map +1 -1
- package/dist/components/display/empty.jsx +11 -0
- package/dist/components/display/list.d.ts +2 -2
- package/dist/components/display/list.d.ts.map +1 -1
- package/dist/components/display/list.jsx +81 -0
- package/dist/components/display/notifications.d.ts +1 -1
- package/dist/components/display/notifications.d.ts.map +1 -1
- package/dist/components/display/{notifications.js → notifications.jsx} +34 -10
- package/dist/components/display/progress.d.ts +1 -1
- package/dist/components/display/progress.d.ts.map +1 -1
- package/dist/components/display/progress.jsx +13 -0
- package/dist/components/display/shortcut.d.ts +1 -1
- package/dist/components/display/shortcut.d.ts.map +1 -1
- package/dist/components/display/shortcut.jsx +23 -0
- package/dist/components/display/skeleton.d.ts +4 -4
- package/dist/components/display/skeleton.d.ts.map +1 -1
- package/dist/components/display/skeleton.jsx +14 -0
- package/dist/components/display/spinner.d.ts +2 -2
- package/dist/components/display/spinner.d.ts.map +1 -1
- package/dist/components/display/spinner.jsx +7 -0
- package/dist/components/display/stats.d.ts +1 -1
- package/dist/components/display/stats.d.ts.map +1 -1
- package/dist/components/display/stats.jsx +20 -0
- package/dist/components/display/step.d.ts +2 -2
- package/dist/components/display/step.d.ts.map +1 -1
- package/dist/components/display/step.jsx +133 -0
- package/dist/components/display/tabs.d.ts +3 -3
- package/dist/components/display/tabs.d.ts.map +1 -1
- package/dist/components/display/{tabs.js → tabs.jsx} +21 -7
- package/dist/components/display/timeline.d.ts +6 -6
- package/dist/components/display/timeline.d.ts.map +1 -1
- package/dist/components/display/timeline.jsx +25 -0
- package/dist/components/floating/command-palette.d.ts +1 -1
- package/dist/components/floating/command-palette.d.ts.map +1 -1
- package/dist/components/floating/command-palette.jsx +187 -0
- package/dist/components/floating/dropdown.d.ts +1 -1
- package/dist/components/floating/dropdown.d.ts.map +1 -1
- package/dist/components/floating/{dropdown.js → dropdown.jsx} +17 -3
- package/dist/components/floating/expand.d.ts +1 -1
- package/dist/components/floating/expand.d.ts.map +1 -1
- package/dist/components/floating/{expand.js → expand.jsx} +14 -2
- package/dist/components/floating/{menu.js → menu.jsx} +52 -27
- package/dist/components/floating/modal.d.ts +10 -2
- package/dist/components/floating/modal.d.ts.map +1 -1
- package/dist/components/floating/modal.jsx +240 -0
- package/dist/components/floating/toolbar.d.ts +1 -1
- package/dist/components/floating/toolbar.d.ts.map +1 -1
- package/dist/components/floating/toolbar.jsx +5 -0
- package/dist/components/floating/{tooltip.js → tooltip.jsx} +12 -3
- package/dist/components/floating/wizard.d.ts +1 -1
- package/dist/components/floating/wizard.d.ts.map +1 -1
- package/dist/components/floating/{wizard.js → wizard.jsx} +64 -19
- package/dist/components/form/autocomplete.jsx +276 -0
- package/dist/components/form/checkbox.jsx +12 -0
- package/dist/components/form/{date-picker.js → date-picker.jsx} +15 -4
- package/dist/components/form/file-upload.d.ts +1 -1
- package/dist/components/form/file-upload.d.ts.map +1 -1
- package/dist/components/form/file-upload.jsx +133 -0
- package/dist/components/form/form.d.ts +1 -1
- package/dist/components/form/form.d.ts.map +1 -1
- package/dist/components/form/{form.js → form.jsx} +2 -2
- package/dist/components/form/{free-text.js → free-text.jsx} +4 -3
- package/dist/components/form/input-field.d.ts +1 -1
- package/dist/components/form/input-field.d.ts.map +1 -1
- package/dist/components/form/input-field.jsx +54 -0
- package/dist/components/form/multi-select.jsx +328 -0
- package/dist/components/form/radiobox.d.ts +1 -1
- package/dist/components/form/radiobox.d.ts.map +1 -1
- package/dist/components/form/radiobox.jsx +6 -0
- package/dist/components/form/select.jsx +42 -0
- package/dist/components/form/slider.d.ts +1 -1
- package/dist/components/form/slider.d.ts.map +1 -1
- package/dist/components/form/{slider.js → slider.jsx} +11 -3
- package/dist/components/form/switch.jsx +46 -0
- package/dist/components/form/task-list.d.ts +1 -1
- package/dist/components/form/task-list.d.ts.map +1 -1
- package/dist/components/form/{task-list.js → task-list.jsx} +1 -2
- package/dist/components/form/transfer-list.d.ts +1 -1
- package/dist/components/form/transfer-list.d.ts.map +1 -1
- package/dist/components/form/transfer-list.jsx +39 -0
- package/dist/components/table/filter.d.ts +2 -2
- package/dist/components/table/filter.d.ts.map +1 -1
- package/dist/components/table/{filter.js → filter.jsx} +35 -7
- package/dist/components/table/group.d.ts +1 -1
- package/dist/components/table/group.d.ts.map +1 -1
- package/dist/components/table/group.jsx +68 -0
- package/dist/components/table/index.d.ts +1 -1
- package/dist/components/table/index.d.ts.map +1 -1
- package/dist/components/table/{index.js → index.jsx} +10 -2
- package/dist/components/table/inner-table.d.ts +1 -1
- package/dist/components/table/inner-table.d.ts.map +1 -1
- package/dist/components/table/{inner-table.js → inner-table.jsx} +21 -9
- package/dist/components/table/metadata.d.ts +1 -1
- package/dist/components/table/metadata.d.ts.map +1 -1
- package/dist/components/table/metadata.jsx +37 -0
- package/dist/components/table/pagination.d.ts +1 -1
- package/dist/components/table/pagination.d.ts.map +1 -1
- package/dist/components/table/pagination.jsx +73 -0
- package/dist/components/table/row.d.ts +1 -1
- package/dist/components/table/row.d.ts.map +1 -1
- package/dist/components/table/row.jsx +58 -0
- package/dist/components/table/sort.d.ts +2 -2
- package/dist/components/table/sort.d.ts.map +1 -1
- package/dist/components/table/{sort.js → sort.jsx} +32 -6
- package/dist/components/table/thead.d.ts +2 -1
- package/dist/components/table/thead.d.ts.map +1 -1
- package/dist/components/table/thead.jsx +103 -0
- package/dist/config/default-translations.d.ts +1 -1
- package/dist/config/{default-translations.js → default-translations.jsx} +5 -3
- package/dist/flow/flow.d.ts +1 -1
- package/dist/flow/flow.d.ts.map +1 -1
- package/dist/flow/flow.jsx +111 -0
- package/dist/hooks/use-components-provider.d.ts +2 -2
- package/dist/hooks/use-components-provider.d.ts.map +1 -1
- package/dist/hooks/{use-components-provider.js → use-components-provider.jsx} +2 -3
- package/dist/hooks/use-translations.d.ts +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +13463 -16070
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +14 -31
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/core/heading.js +0 -5
- package/dist/components/core/typography.js +0 -10
- package/dist/components/display/alert.js +0 -37
- package/dist/components/display/card.js +0 -18
- package/dist/components/display/empty.js +0 -8
- package/dist/components/display/list.js +0 -32
- package/dist/components/display/progress.js +0 -9
- package/dist/components/display/shortcut.js +0 -19
- package/dist/components/display/skeleton.js +0 -13
- package/dist/components/display/spinner.js +0 -6
- package/dist/components/display/stats.js +0 -5
- package/dist/components/display/step.js +0 -122
- package/dist/components/display/timeline.js +0 -14
- package/dist/components/floating/command-palette.js +0 -155
- package/dist/components/floating/modal.js +0 -195
- package/dist/components/floating/toolbar.js +0 -4
- package/dist/components/form/autocomplete.js +0 -247
- package/dist/components/form/checkbox.js +0 -7
- package/dist/components/form/file-upload.js +0 -88
- package/dist/components/form/input-field.js +0 -17
- package/dist/components/form/multi-select.js +0 -277
- package/dist/components/form/radiobox.js +0 -3
- package/dist/components/form/select.js +0 -31
- package/dist/components/form/switch.js +0 -36
- package/dist/components/form/transfer-list.js +0 -22
- package/dist/components/table/group.js +0 -41
- package/dist/components/table/metadata.js +0 -10
- package/dist/components/table/pagination.js +0 -42
- package/dist/components/table/row.js +0 -47
- package/dist/components/table/thead.js +0 -71
- package/dist/flow/flow.js +0 -77
- /package/dist/components/form/{formReset.js → formReset.jsx} +0 -0
- /package/dist/components/form/{input.js → input.jsx} +0 -0
- /package/dist/components/form/{textarea.js → textarea.jsx} +0 -0
- /package/dist/components/table/{table.context.js → table.context.jsx} +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { AnimatePresence, motion, Reorder } from "motion/react";
|
|
3
|
+
import { Order } from "linq-arrays";
|
|
4
|
+
import { PlusIcon, SearchCheckIcon, SearchXIcon } from "lucide-react";
|
|
5
|
+
import React, { Fragment, useCallback, useRef } from "react";
|
|
6
|
+
import { useTranslations } from "../../hooks/use-translations";
|
|
7
|
+
import { useTweaks } from "../../hooks/use-tweaks";
|
|
8
|
+
import { Dropdown } from "../floating/dropdown";
|
|
9
|
+
import { ColumnHeaderFilter, createFilterFromCol, useOperators } from "./filter";
|
|
10
|
+
import { SorterHead } from "./sort";
|
|
11
|
+
import { getLabel, useWidthControl } from "./table-lib";
|
|
12
|
+
const dragConstraints = { top: 0, left: 0, right: 0, bottom: -1 };
|
|
13
|
+
const HeaderChild = (props) => {
|
|
14
|
+
const tweaks = useTweaks();
|
|
15
|
+
const translation = useTranslations();
|
|
16
|
+
const ownFilters = props.filters.filter((x) => x.name === props.header.id);
|
|
17
|
+
const hasFilters = ownFilters.length > 0;
|
|
18
|
+
const defaultAllowSort = props.header.allowSort ?? tweaks.table.sorters ?? true;
|
|
19
|
+
const defaultAllowFilter = props.header.allowFilter ?? tweaks.table.filters ?? true;
|
|
20
|
+
const operators = useOperators();
|
|
21
|
+
const FilterIcon = hasFilters ? SearchCheckIcon : SearchXIcon;
|
|
22
|
+
const th = useRef(null);
|
|
23
|
+
const onDelete = (e) => {
|
|
24
|
+
const id = e.currentTarget.dataset.id || "";
|
|
25
|
+
return props.setFilters((prev) => prev.filter((x) => x.id !== id));
|
|
26
|
+
};
|
|
27
|
+
const dragRef = useCallback((dom) => {
|
|
28
|
+
if (dom === null)
|
|
29
|
+
return;
|
|
30
|
+
th.current = dom;
|
|
31
|
+
const controller = new AbortController();
|
|
32
|
+
dom.addEventListener("pointerdown", (e) => {
|
|
33
|
+
const target = e.target;
|
|
34
|
+
if (target.dataset.type === "resizer") {
|
|
35
|
+
e.stopPropagation();
|
|
36
|
+
return e.stopImmediatePropagation();
|
|
37
|
+
}
|
|
38
|
+
}, { signal: controller.signal });
|
|
39
|
+
return () => controller.abort();
|
|
40
|
+
}, []);
|
|
41
|
+
const ownSorter = props.sorters.find((x) => props.header.id === x.value);
|
|
42
|
+
const ariaSort = !ownSorter?.type ? "none" : ownSorter.type === Order.Asc ? "ascending" : "descending";
|
|
43
|
+
const label = getLabel(props.header);
|
|
44
|
+
return (<Reorder.Item {...props.header.thProps} as="th" ref={dragRef} initial={false} dragSnapToOrigin dragDirectionLock role="columnheader" aria-sort={ariaSort} value={props.header} aria-busy={props.loading} data-tableheader={props.header.id} whileDrag={{ cursor: "grabbing" }} className={`relative md:h-14 typography min-w-0 cursor-grab font-medium ${props.header.thProps?.className ?? ""}`}>
|
|
45
|
+
<span className={`flex h-full items-center justify-between bg-table-header p-[var(--table-cell-padding)] ${props.isLast ? "rounded-tr-lg" : ""} ${props.index === 0 ? "rounded-tl-lg" : ""}`}>
|
|
46
|
+
<span className="flex gap-1 items-center">
|
|
47
|
+
{props.inlineFilter && defaultAllowFilter ? (<Dropdown arrow trigger={<span>
|
|
48
|
+
<span id={`${props.header.id}-filter-dropdown-button`} className="sr-only">
|
|
49
|
+
{translation.tableFilterDropdownTitleUnique} {label}
|
|
50
|
+
</span>
|
|
51
|
+
<FilterIcon aria-labelledby={`${props.header.id}-filter-dropdown-button`} size={14}/>
|
|
52
|
+
</span>} title={<span className="text-lg">
|
|
53
|
+
{translation.tableFilterDropdownTitleUnique} <span className="font-medium">{label}</span>
|
|
54
|
+
</span>}>
|
|
55
|
+
<ul className="font-medium">
|
|
56
|
+
{ownFilters.length === 0 ? null : (<Fragment>
|
|
57
|
+
{ownFilters.map((filter) => (<li key={`thead-filter-${filter.id}`} className="my-1">
|
|
58
|
+
<ColumnHeaderFilter onDelete={onDelete} filter={filter} set={props.setFilters}/>
|
|
59
|
+
</li>))}
|
|
60
|
+
</Fragment>)}
|
|
61
|
+
<li>
|
|
62
|
+
<button type="button" className="flex gap-1 items-center text-primary" onClick={() => props.setFilters((prev) => prev.concat(createFilterFromCol(props.header, operators.options, operators.operations)))}>
|
|
63
|
+
<PlusIcon size={14}/> {translation.tableFilterNewFilter}
|
|
64
|
+
</button>
|
|
65
|
+
</li>
|
|
66
|
+
</ul>
|
|
67
|
+
</Dropdown>) : null}
|
|
68
|
+
<span className="text-base pointer-events-auto text-balance">{props.header.thead}</span>
|
|
69
|
+
{props.inlineSorter && defaultAllowSort ? (<SorterHead col={props.header} setSorters={props.setSorters} sorters={props.sorters}/>) : null}
|
|
70
|
+
</span>
|
|
71
|
+
</span>
|
|
72
|
+
{props.isLast ? null : (<motion.button drag="x" draggable dragListener dragMomentum type="button" animate={false} dragElastic={0} dragPropagation initial={false} dragSnapToOrigin dragDirectionLock data-type="resizer" title={props.header.id} dragConstraints={dragConstraints} className="block absolute top-0 h-full hover:w-1.5 active:w-1.5 -right-[0.5px] z-calendar w-[1px] cursor-col-resize bg-transparent hover:bg-primary active:bg-primary" onClick={(e) => void e.currentTarget.focus()} onKeyDown={(e) => {
|
|
73
|
+
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
74
|
+
if (th.current === null)
|
|
75
|
+
return;
|
|
76
|
+
th.current.setAttribute("data-resized", "true");
|
|
77
|
+
const v = th.current.getBoundingClientRect().width;
|
|
78
|
+
const move = e.shiftKey ? 50 : 10;
|
|
79
|
+
const delta = move * (e.key === "ArrowLeft" ? -1 : 1);
|
|
80
|
+
th.current.style.width = `${Math.abs(v + delta)}px`;
|
|
81
|
+
}
|
|
82
|
+
}} onDoubleClick={() => {
|
|
83
|
+
if (th.current === null)
|
|
84
|
+
return;
|
|
85
|
+
th.current.style.width = "auto";
|
|
86
|
+
}} onDrag={(_, info) => {
|
|
87
|
+
if (th.current === null)
|
|
88
|
+
return;
|
|
89
|
+
th.current.setAttribute("data-resized", "true");
|
|
90
|
+
const v = th.current.getBoundingClientRect().width;
|
|
91
|
+
const delta = info.delta.x;
|
|
92
|
+
th.current.style.width = `${Math.abs(v + delta)}px`;
|
|
93
|
+
}}/>)}
|
|
94
|
+
</Reorder.Item>);
|
|
95
|
+
};
|
|
96
|
+
export const TableHeader = (props) => {
|
|
97
|
+
const [ref, onChange] = useWidthControl(props.setCols);
|
|
98
|
+
return (<Reorder.Group layout as="tr" axis="x" drag="x" ref={ref} layoutRoot role="row" layoutScroll onReorder={onChange} values={props.headers}>
|
|
99
|
+
<AnimatePresence>
|
|
100
|
+
{props.headers.map((header, index) => (<HeaderChild index={index} header={header} filters={props.filters} loading={props.loading} sorters={props.sorters} setFilters={props.setFilters} setSorters={props.setSorters} inlineFilter={props.inlineFilter} inlineSorter={props.inlineSorter} isLast={index === props.headers.length - 1} key={`header-child-item-${header.id}`}/>))}
|
|
101
|
+
</AnimatePresence>
|
|
102
|
+
</Reorder.Group>);
|
|
103
|
+
};
|
|
@@ -48,7 +48,7 @@ export declare const defaultTranslations: {
|
|
|
48
48
|
sizes?: number[];
|
|
49
49
|
current: number;
|
|
50
50
|
select: React.ReactNode;
|
|
51
|
-
}) =>
|
|
51
|
+
}) => React.JSX.Element;
|
|
52
52
|
tablePaginationNext: string;
|
|
53
53
|
tablePaginationPrevious: string;
|
|
54
54
|
tablePaginationSelectLabel: string;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Fragment } from "react";
|
|
1
|
+
import React, { Fragment } from "react";
|
|
3
2
|
export const defaultTranslations = {
|
|
4
3
|
autocompleteEmpty: "Nothing here...",
|
|
5
4
|
calendarBackMonth: "Back month",
|
|
@@ -43,7 +42,10 @@ export const defaultTranslations = {
|
|
|
43
42
|
tableFilterValueTitle: "Value",
|
|
44
43
|
tableGroupLabel: "Group",
|
|
45
44
|
tableGroupLabelWithCount: "Group",
|
|
46
|
-
tablePaginationFooter: (pagination) => (
|
|
45
|
+
tablePaginationFooter: (pagination) => (<Fragment>
|
|
46
|
+
{pagination.current} to {pagination.pages} of {pagination.totalItems} items.{Array.isArray(pagination.sizes) ? pagination.select : null}{" "}
|
|
47
|
+
per page.
|
|
48
|
+
</Fragment>),
|
|
47
49
|
tablePaginationNext: "Next",
|
|
48
50
|
tablePaginationPrevious: "Previous",
|
|
49
51
|
tablePaginationSelectLabel: "Select the size of page",
|
package/dist/flow/flow.d.ts
CHANGED
|
@@ -20,6 +20,6 @@ type Props<T extends Node> = {
|
|
|
20
20
|
onChange: (a: any) => void;
|
|
21
21
|
theme: "light" | "dark" | "system";
|
|
22
22
|
};
|
|
23
|
-
export declare const Flow: <T extends Node = Node>(props: Props<T>) =>
|
|
23
|
+
export declare const Flow: <T extends Node = Node>(props: Props<T>) => React.JSX.Element;
|
|
24
24
|
export {};
|
|
25
25
|
//# sourceMappingURL=flow.d.ts.map
|
package/dist/flow/flow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/flow/flow.tsx"],"names":[],"mappings":"AACA,OAAO,EAMH,KAAK,IAAI,EAQZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAS,MAAM,cAAc,CAAC;AAClD,OAAO,KAAiH,MAAM,OAAO,CAAC;AAGtI,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,MAAM,aAAa,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,QAAQ,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AA4C5F,KAAK,KAAK,CAAC,CAAC,SAAS,IAAI,IAAI;IACzB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;CACtC,CAAC;AAyJF,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/flow/flow.tsx"],"names":[],"mappings":"AACA,OAAO,EAMH,KAAK,IAAI,EAQZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAS,MAAM,cAAc,CAAC;AAClD,OAAO,KAAiH,MAAM,OAAO,CAAC;AAGtI,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,MAAM,aAAa,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,QAAQ,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AA4C5F,KAAK,KAAK,CAAC,CAAC,SAAS,IAAI,IAAI;IACzB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;CACtC,CAAC;AAyJF,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,sBAM1D,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { addEdge, Background, Controls, Handle, Position, ReactFlow, ReactFlowProvider, useEdgesState, useNodesState, useReactFlow } from "@xyflow/react";
|
|
3
|
+
import { XIcon } from "lucide-react";
|
|
4
|
+
import React, { createContext, Fragment, memo, useCallback, useContext, useEffect, useRef, useState } from "react";
|
|
5
|
+
import { css } from "../lib/dom";
|
|
6
|
+
import { noop, uuid } from "../lib/fns";
|
|
7
|
+
const DnDContext = createContext([null, () => { }]);
|
|
8
|
+
const DnDProvider = ({ children }) => {
|
|
9
|
+
const [type, setType] = useState(null);
|
|
10
|
+
return <DnDContext.Provider value={[type, setType]}>{children}</DnDContext.Provider>;
|
|
11
|
+
};
|
|
12
|
+
const useDnD = () => {
|
|
13
|
+
const [a, b] = useContext(DnDContext);
|
|
14
|
+
return [a, b];
|
|
15
|
+
};
|
|
16
|
+
const Sidebar = (props) => {
|
|
17
|
+
const [, setType] = useDnD();
|
|
18
|
+
const onDragStart = (event, nodeType) => {
|
|
19
|
+
setType(nodeType);
|
|
20
|
+
event.dataTransfer.effectAllowed = "move";
|
|
21
|
+
};
|
|
22
|
+
return (<aside className="absolute top-0 right-0 p-2 rounded-lg border shadow min-w-24 border-floating-border bg-card-background shadow-lg">
|
|
23
|
+
<ul className="space-y-2">
|
|
24
|
+
{props.items.map((item) => (<li draggable key={`${item.id}-flow-side-item`} onDragStart={(event) => onDragStart(event, item)} className="flex gap-1.5 items-center text-lg hover:cursor-grab hover:text-primary">
|
|
25
|
+
{item.Icon ? <item.Icon size={16}/> : null}
|
|
26
|
+
{item.title}
|
|
27
|
+
</li>))}
|
|
28
|
+
</ul>
|
|
29
|
+
</aside>);
|
|
30
|
+
};
|
|
31
|
+
const Handlers = (props) => {
|
|
32
|
+
return (<Fragment>
|
|
33
|
+
<Handle id={`${props.id}-handle-top`} type="source" position={Position.Top} className="h-0.5 w-10 !bg-primary"/>
|
|
34
|
+
<Handle id={`${props.id}-handle-left`} type="source" position={Position.Left} className="h-4 w-0.5 !bg-primary"/>
|
|
35
|
+
<Handle id={`${props.id}-handle-right`} type="source" position={Position.Right} className="h-4 w-0.5 !bg-primary"/>
|
|
36
|
+
<Handle id={`${props.id}-handle-bottom`} type="source" position={Position.Bottom} className="h-0.5 w-10 !bg-primary"/>
|
|
37
|
+
<Handle id={`${props.id}-handle-top`} type="target" position={Position.Top} className="h-0.5 w-10 !bg-primary"/>
|
|
38
|
+
<Handle id={`${props.id}-handle-left`} type="target" position={Position.Left} className="h-4 w-0.5 !bg-primary"/>
|
|
39
|
+
<Handle id={`${props.id}-handle-right`} type="target" position={Position.Right} className="h-4 w-0.5 !bg-primary"/>
|
|
40
|
+
<Handle id={`${props.id}-handle-bottom`} type="target" position={Position.Bottom} className="h-0.5 w-10 !bg-primary"/>
|
|
41
|
+
</Fragment>);
|
|
42
|
+
};
|
|
43
|
+
const Input = memo((node) => {
|
|
44
|
+
return (<div className={css("relative flex border min-h-10 min-w-24 items-center justify-center rounded-lg bg-floating-background px-4 py-2 shadow-shadow-floating", node.selected ? "border-primary" : "", "border-floating-border")}>
|
|
45
|
+
<Handlers id={node.data.id}/>
|
|
46
|
+
{node.data.Item ? <node.data.Item {...node}/> : <h3 className="text-center">{node.data.title}</h3>}
|
|
47
|
+
</div>);
|
|
48
|
+
});
|
|
49
|
+
const Connection = memo((node) => {
|
|
50
|
+
const { deleteElements } = useReactFlow();
|
|
51
|
+
const onClick = () => deleteElements({ nodes: [node] }).then(noop);
|
|
52
|
+
return (<div className={css("relative border flex min-h-10 min-w-24 items-center justify-center rounded-lg bg-floating-background px-4 py-2 shadow-shadow-floating", node.selected ? "border-primary" : "border-muted", "border-floating-border")}>
|
|
53
|
+
<button className="flex absolute top-2 right-2 justify-center items-center text-foreground hover:text-danger active:text-danger" onClick={onClick}>
|
|
54
|
+
<XIcon size={18}/>
|
|
55
|
+
</button>
|
|
56
|
+
<Handlers id={node.data.id}/>
|
|
57
|
+
{node.data.Item ? <node.data.Item {...node}/> : <h3 className="text-center">{node.data.title}</h3>}
|
|
58
|
+
</div>);
|
|
59
|
+
});
|
|
60
|
+
const nodeTypes = { input: Input, output: Connection };
|
|
61
|
+
const AddNodeOnEdgeDrop = (props) => {
|
|
62
|
+
const [type, setType] = useDnD();
|
|
63
|
+
const ref = useRef(null);
|
|
64
|
+
const reactFlowWrapper = useRef(null);
|
|
65
|
+
const [nodes, setNodes, onNodesChange] = useNodesState(props.items);
|
|
66
|
+
const [edges, setEdges, onEdgesChange] = useEdgesState([]);
|
|
67
|
+
const { screenToFlowPosition } = useReactFlow();
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
props.onChange(nodes);
|
|
70
|
+
}, [nodes, edges]);
|
|
71
|
+
const onConnect = useCallback((params) => {
|
|
72
|
+
setEdges((eds) => addEdge({
|
|
73
|
+
...params, animated: true, deletable: true, reconnectable: true,
|
|
74
|
+
}, eds));
|
|
75
|
+
}, [setEdges]);
|
|
76
|
+
const onDragOver = useCallback((event) => {
|
|
77
|
+
event.preventDefault();
|
|
78
|
+
event.dataTransfer.dropEffect = "move";
|
|
79
|
+
}, []);
|
|
80
|
+
const onDrop = useCallback((event) => {
|
|
81
|
+
event.preventDefault();
|
|
82
|
+
if (!type)
|
|
83
|
+
return;
|
|
84
|
+
const position = screenToFlowPosition({ x: event.clientX, y: event.clientY });
|
|
85
|
+
const id = uuid();
|
|
86
|
+
const newNode = {
|
|
87
|
+
id,
|
|
88
|
+
position,
|
|
89
|
+
type: "output",
|
|
90
|
+
data: { ...type, id, label: type.title },
|
|
91
|
+
};
|
|
92
|
+
setNodes((prev) => [...prev, newNode]);
|
|
93
|
+
}, [screenToFlowPosition, setNodes, type]);
|
|
94
|
+
const onDragStart = (event, nodeType) => {
|
|
95
|
+
setType(nodeType);
|
|
96
|
+
event.dataTransfer.setData("text/plain", JSON.stringify(nodeType));
|
|
97
|
+
event.dataTransfer.effectAllowed = "move";
|
|
98
|
+
};
|
|
99
|
+
return (<div className="relative w-full bg-card-background" style={{ height: 1000 }} ref={reactFlowWrapper}>
|
|
100
|
+
<ReactFlow fitView ref={ref} edges={edges} nodes={nodes} onDrop={onDrop} nodeOrigin={[0, 0]} onConnect={onConnect} onDragOver={onDragOver} className="bg-transparent" nodeTypes={nodeTypes} onEdgesChange={onEdgesChange} onNodesChange={onNodesChange} attributionPosition="bottom-left" fitViewOptions={{ padding: 2 }} onDragStart={onDragStart} colorMode={props.theme ?? "dark"}>
|
|
101
|
+
<Controls />
|
|
102
|
+
<Background bgColor="hsla(var(--floating-background))"/>
|
|
103
|
+
</ReactFlow>
|
|
104
|
+
<Sidebar items={props.parents}/>
|
|
105
|
+
</div>);
|
|
106
|
+
};
|
|
107
|
+
export const Flow = (props) => (<ReactFlowProvider fitView initialMaxZoom={1}>
|
|
108
|
+
<DnDProvider>
|
|
109
|
+
<AddNodeOnEdgeDrop {...props}/>
|
|
110
|
+
</DnDProvider>
|
|
111
|
+
</ReactFlowProvider>);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropsWithChildren } from "react";
|
|
1
|
+
import React, { PropsWithChildren } from "react";
|
|
2
2
|
import { Locales } from "the-mask-input";
|
|
3
3
|
import { parsers } from "../styles/design-tokens";
|
|
4
4
|
import { ContextProps } from "../config/context";
|
|
@@ -10,5 +10,5 @@ export type ContextType = Partial<{
|
|
|
10
10
|
locale: Locales | undefined;
|
|
11
11
|
parser: typeof parsers.hsla;
|
|
12
12
|
}>;
|
|
13
|
-
export declare const ComponentsProvider: (props: PropsWithChildren<ContextProps>) =>
|
|
13
|
+
export declare const ComponentsProvider: (props: PropsWithChildren<ContextProps>) => React.JSX.Element;
|
|
14
14
|
//# sourceMappingURL=use-components-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-components-provider.d.ts","sourceRoot":"","sources":["../../src/hooks/use-components-provider.tsx"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"use-components-provider.d.ts","sourceRoot":"","sources":["../../src/hooks/use-components-provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAW,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAuB,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAiB,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC;CAC/B,CAAC,CAAC;AAEH,eAAO,MAAM,kBAAkB,GAAI,OAAO,iBAAiB,CAAC,YAAY,CAAC,sBAWxE,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { useMemo } from "react";
|
|
2
|
+
import React, { useMemo } from "react";
|
|
4
3
|
import { parsers } from "../styles/design-tokens";
|
|
5
4
|
import { Context } from "../config/context";
|
|
6
5
|
import { defaultTranslations } from "../config/default-translations";
|
|
@@ -12,5 +11,5 @@ export const ComponentsProvider = (props) => {
|
|
|
12
11
|
parser: props.parser || parsers.hsla,
|
|
13
12
|
map: { ...defaultTranslations, ...props.map },
|
|
14
13
|
}), [props]);
|
|
15
|
-
return
|
|
14
|
+
return <Context.Provider value={memoMap}>{props.children}</Context.Provider>;
|
|
16
15
|
};
|
|
@@ -47,7 +47,7 @@ export declare const useTranslations: () => {
|
|
|
47
47
|
sizes?: number[];
|
|
48
48
|
current: number;
|
|
49
49
|
select: React.ReactNode;
|
|
50
|
-
}) => import("react
|
|
50
|
+
}) => import("react").JSX.Element;
|
|
51
51
|
tablePaginationNext: string;
|
|
52
52
|
tablePaginationPrevious: string;
|
|
53
53
|
tablePaginationSelectLabel: string;
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.form-checkbox,.form-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}.form-checkbox{border-radius:0}.form-radio{border-radius:100%}.form-checkbox:focus,.form-radio:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.form-checkbox:checked,.form-radio:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}.form-checkbox:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active) {.form-checkbox:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}.form-radio:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {.form-radio:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}.form-checkbox:checked:focus,.form-checkbox:checked:hover,.form-radio:checked:focus,.form-radio:checked:hover{border-color:transparent;background-color:currentColor}.form-checkbox:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media (forced-colors:active) {.form-checkbox:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}.form-checkbox:indeterminate:focus,.form-checkbox:indeterminate:hover{border-color:transparent;background-color:currentColor}.typography{font-weight:400;line-height:1.45;letter-spacing:.0175}a[href="https://reactflow.dev"]{display:none}.group-table-row:hover .group-table-cell-aside{opacity:1}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:hsla(0,0%,59%,.25);--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:rgba(60,60,60,.6);--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible,.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible{outline:none;border:0 solid transparent}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-left-1\/4{left:-25%}.-right-\[0\.5px\]{right:-.5px}.-top-2{top:-.5rem}.-top-3\/4{top:-75%}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-2{left:.5rem}.left-6{left:1.5rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-8{top:2rem}.isolate{isolation:isolate}.z-\[9999\]{z-index:9999}.z-calendar{z-index:var(--z-calendar)}.z-floating{z-index:var(--z-floating)}.z-normal{z-index:var(--z-normal)}.z-overlay{z-index:var(--z-overlay)}.z-tooltip{z-index:var(--z-tooltip)}.m-0{margin:0}.m-2{margin:.5rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-px{margin-left:-1px}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-3{margin-left:.75rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-input-gap{margin-top:var(--input-gap)}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-16{width:4rem;height:4rem}.size-2\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-full{width:100%;height:100%}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[100dvh\]{height:100dvh}.h-\[1px\]{height:1px}.h-\[stretch\]{height:-webkit-fill-available;height:-moz-available;height:stretch}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-input-height{height:var(--input-height)}.h-min{height:-moz-min-content;height:min-content}.h-screen{height:100vh}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[calc\(100lvh-10\%\)\]{max-height:calc(100lvh - 10%)}.max-h-\[calc\(100svh-5\%\)\]{max-height:calc(100svh - 5%)}.max-h-\[calc\(100vh-15\%\)\]{max-height:calc(100vh - 15%)}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.w-0{width:0}.w-0\.5{width:.125rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-10\/12{width:83.333333%}.w-11{width:2.75rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-32{width:8rem}.w-4{width:1rem}.w-8\/12{width:66.666667%}.w-80{width:20rem}.w-\[1px\]{width:1px}.w-\[calc\(100\%\)\]{width:100%}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-min{width:-moz-min-content;width:min-content}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-24{min-width:6rem}.min-w-36{min-width:9rem}.min-w-6{min-width:1.5rem}.min-w-64{min-width:16rem}.min-w-96{min-width:24rem}.min-w-\[1ch\]{min-width:1ch}.min-w-full{min-width:100%}.min-w-xs{min-width:20rem}.max-w-16{max-width:4rem}.max-w-48{max-width:12rem}.max-w-96{max-width:24rem}.max-w-\[90\%\]{max-width:90%}.max-w-\[calc\(100vw-3rem\)\]{max-width:calc(100vw - 3rem)}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.origin-\[top_center\]{transform-origin:top center}.transform{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))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-text{cursor:text}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize-y{resize:vertical}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-base{gap:var(--base)}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-card-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:hsla(var(--card-border),var(--tw-divide-opacity))}.divide-table-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:hsla(var(--table-border),var(--tw-divide-opacity))}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-clip{overflow-y:clip}.overflow-x-visible{overflow-x:visible}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;white-space:nowrap}.overflow-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.whitespace-break-spaces{white-space:break-spaces}.text-wrap{text-wrap:wrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-button{border-radius:var(--button)}.rounded-card{border-radius:var(--card)}.rounded-full{border-radius:var(--full)}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-pill{border-radius:var(--pill)}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-card{border-top-left-radius:var(--card);border-bottom-left-radius:var(--card)}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-r-lg,.rounded-t-lg{border-top-right-radius:.5rem}.rounded-t-lg,.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tr-lg{border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-alert-danger-border{--tw-border-opacity:1;border-color:hsla(var(--alert-danger-border),var(--tw-border-opacity))}.border-alert-info-border{--tw-border-opacity:1;border-color:hsla(var(--alert-info-border),var(--tw-border-opacity))}.border-alert-muted-border{--tw-border-opacity:1;border-color:hsla(var(--alert-muted-border),var(--tw-border-opacity))}.border-alert-primary-border{--tw-border-opacity:1;border-color:hsla(var(--alert-primary-border),var(--tw-border-opacity))}.border-alert-secondary-border{--tw-border-opacity:1;border-color:hsla(var(--alert-secondary-border),var(--tw-border-opacity))}.border-alert-success-border{--tw-border-opacity:1;border-color:hsla(var(--alert-success-border),var(--tw-border-opacity))}.border-alert-warn-border{--tw-border-opacity:1;border-color:hsla(var(--alert-warn-border),var(--tw-border-opacity))}.border-background{--tw-border-opacity:1;border-color:hsla(var(--background),var(--tw-border-opacity))}.border-card-border{--tw-border-opacity:1;border-color:hsla(var(--card-border),var(--tw-border-opacity))}.border-danger{--tw-border-opacity:1;border-color:hsla(var(--danger-DEFAULT),var(--tw-border-opacity))}.border-floating-border{--tw-border-opacity:1;border-color:hsla(var(--floating-border),var(--tw-border-opacity))}.border-info{--tw-border-opacity:1;border-color:hsla(var(--info-DEFAULT),var(--tw-border-opacity))}.border-input-border{--tw-border-opacity:1;border-color:hsla(var(--input-border),var(--tw-border-opacity))}.border-muted{--tw-border-opacity:1;border-color:hsla(var(--muted),var(--tw-border-opacity))}.border-primary{--tw-border-opacity:1;border-color:hsla(var(--primary-DEFAULT),var(--tw-border-opacity))}.border-secondary{--tw-border-opacity:1;border-color:hsla(var(--secondary-DEFAULT),var(--tw-border-opacity))}.border-success{--tw-border-opacity:1;border-color:hsla(var(--success-DEFAULT),var(--tw-border-opacity))}.border-table-border{--tw-border-opacity:1;border-color:hsla(var(--table-border),var(--tw-border-opacity))}.border-tooltip-border{--tw-border-opacity:1;border-color:hsla(var(--tooltip-border),var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-warn{--tw-border-opacity:1;border-color:hsla(var(--warn-DEFAULT),var(--tw-border-opacity))}.border-b-primary{--tw-border-opacity:1;border-bottom-color:hsla(var(--primary-DEFAULT),var(--tw-border-opacity))}.border-t-muted{--tw-border-opacity:1;border-top-color:hsla(var(--muted),var(--tw-border-opacity))}.\!bg-primary{--tw-bg-opacity:1!important;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))!important}.bg-alert-danger-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-danger-bg),var(--tw-bg-opacity))}.bg-alert-info-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-info-bg),var(--tw-bg-opacity))}.bg-alert-muted-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-muted-bg),var(--tw-bg-opacity))}.bg-alert-primary-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-primary-bg),var(--tw-bg-opacity))}.bg-alert-secondary-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-secondary-bg),var(--tw-bg-opacity))}.bg-alert-success-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-success-bg),var(--tw-bg-opacity))}.bg-alert-warn-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-warn-bg),var(--tw-bg-opacity))}.bg-background{--tw-bg-opacity:1;background-color:hsla(var(--background),var(--tw-bg-opacity))}.bg-button-danger-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-danger-bg),var(--tw-bg-opacity))}.bg-button-info-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-info-bg),var(--tw-bg-opacity))}.bg-button-muted-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-muted-bg),var(--tw-bg-opacity))}.bg-button-primary-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-primary-bg),var(--tw-bg-opacity))}.bg-button-secondary-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-secondary-bg),var(--tw-bg-opacity))}.bg-button-success-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-success-bg),var(--tw-bg-opacity))}.bg-button-warn-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-warn-bg),var(--tw-bg-opacity))}.bg-card-background{--tw-bg-opacity:1;background-color:hsla(var(--card-background),var(--tw-bg-opacity))}.bg-card-border{--tw-bg-opacity:1;background-color:hsla(var(--card-border),var(--tw-bg-opacity))}.bg-danger{--tw-bg-opacity:1;background-color:hsla(var(--danger-DEFAULT),var(--tw-bg-opacity))}.bg-disabled{--tw-bg-opacity:1;background-color:hsla(var(--disabled),var(--tw-bg-opacity))}.bg-floating-background{--tw-bg-opacity:1;background-color:hsla(var(--floating-background),var(--tw-bg-opacity))}.bg-floating-border{--tw-bg-opacity:1;background-color:hsla(var(--floating-border),var(--tw-bg-opacity))}.bg-floating-hover{--tw-bg-opacity:1;background-color:hsla(var(--floating-hover),var(--tw-bg-opacity))}.bg-floating-overlay\/70{background-color:hsla(var(--floating-overlay),.7)}.bg-foreground{--tw-bg-opacity:1;background-color:hsla(var(--foreground),var(--tw-bg-opacity))}.bg-info{--tw-bg-opacity:1;background-color:hsla(var(--info-DEFAULT),var(--tw-bg-opacity))}.bg-input-switch{--tw-bg-opacity:1;background-color:hsla(var(--input-switch),var(--tw-bg-opacity))}.bg-muted{--tw-bg-opacity:1;background-color:hsla(var(--muted),var(--tw-bg-opacity))}.bg-primary{--tw-bg-opacity:1;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))}.bg-primary-hover{--tw-bg-opacity:1;background-color:hsla(var(--primary-hover),var(--tw-bg-opacity))}.bg-secondary{--tw-bg-opacity:1;background-color:hsla(var(--secondary-DEFAULT),var(--tw-bg-opacity))}.bg-success{--tw-bg-opacity:1;background-color:hsla(var(--success-DEFAULT),var(--tw-bg-opacity))}.bg-table-header{--tw-bg-opacity:1;background-color:hsla(var(--table-header),var(--tw-bg-opacity))}.bg-tag-danger-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-danger-bg),var(--tw-bg-opacity))}.bg-tag-info-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-info-bg),var(--tw-bg-opacity))}.bg-tag-muted-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-muted-bg),var(--tw-bg-opacity))}.bg-tag-primary-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-primary-bg),var(--tw-bg-opacity))}.bg-tag-secondary-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-secondary-bg),var(--tw-bg-opacity))}.bg-tag-success-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-success-bg),var(--tw-bg-opacity))}.bg-tag-warn-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-warn-bg),var(--tw-bg-opacity))}.bg-tooltip-background{--tw-bg-opacity:1;background-color:hsla(var(--tooltip-background),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-warn{--tw-bg-opacity:1;background-color:hsla(var(--warn-DEFAULT),var(--tw-bg-opacity))}.bg-origin-border{background-origin:border-box}.fill-card-background{fill:hsla(var(--card-background),1)}.fill-current{fill:currentColor}.fill-floating-background{fill:hsla(var(--floating-background),1)}.fill-tooltip-background{fill:hsla(var(--tooltip-background),1)}.stroke-card-border{stroke:hsla(var(--card-border),1)}.stroke-floating-border{stroke:hsla(var(--floating-border),1)}.stroke-tooltip-border{stroke:hsla(var(--tooltip-border),1)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[var\(--table-cell-padding\)\]{padding:var(--table-cell-padding)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-input-x{padding-left:var(--input-x);padding-right:var(--input-x)}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-input-y{padding-top:var(--input-y);padding-bottom:var(--input-y)}.pb-1{padding-bottom:.25rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-baseline{vertical-align:baseline}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:var(--base)}.text-field-label{font-size:var(--field-label)}.text-lg{font-size:var(--lg)}.text-sm{font-size:var(--sm)}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.italic{font-style:italic}.proportional-nums{--tw-numeric-spacing:proportional-nums}.proportional-nums,.tabular-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.text-alert-danger-text{--tw-text-opacity:1;color:hsla(var(--alert-danger-text),var(--tw-text-opacity))}.text-alert-info-text{--tw-text-opacity:1;color:hsla(var(--alert-info-text),var(--tw-text-opacity))}.text-alert-muted-text{--tw-text-opacity:1;color:hsla(var(--alert-muted-text),var(--tw-text-opacity))}.text-alert-primary-text{--tw-text-opacity:1;color:hsla(var(--alert-primary-text),var(--tw-text-opacity))}.text-alert-secondary-text{--tw-text-opacity:1;color:hsla(var(--alert-secondary-text),var(--tw-text-opacity))}.text-alert-success-text{--tw-text-opacity:1;color:hsla(var(--alert-success-text),var(--tw-text-opacity))}.text-alert-warn-text{--tw-text-opacity:1;color:hsla(var(--alert-warn-text),var(--tw-text-opacity))}.text-button-danger-text{--tw-text-opacity:1;color:hsla(var(--button-danger-text),var(--tw-text-opacity))}.text-button-info-text{--tw-text-opacity:1;color:hsla(var(--button-info-text),var(--tw-text-opacity))}.text-button-muted-text{--tw-text-opacity:1;color:hsla(var(--button-muted-text),var(--tw-text-opacity))}.text-button-primary-text{--tw-text-opacity:1;color:hsla(var(--button-primary-text),var(--tw-text-opacity))}.text-button-secondary-text{--tw-text-opacity:1;color:hsla(var(--button-secondary-text),var(--tw-text-opacity))}.text-button-success-text{--tw-text-opacity:1;color:hsla(var(--button-success-text),var(--tw-text-opacity))}.text-button-warn-text{--tw-text-opacity:1;color:hsla(var(--button-warn-text),var(--tw-text-opacity))}.text-current{color:currentColor}.text-danger{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.text-danger-foreground{--tw-text-opacity:1;color:hsla(var(--danger-foreground),var(--tw-text-opacity))}.text-disabled{--tw-text-opacity:1;color:hsla(var(--disabled),var(--tw-text-opacity))}.text-emphasis{--tw-text-opacity:1;color:hsla(var(--emphasis-DEFAULT),var(--tw-text-opacity))}.text-floating-foreground{--tw-text-opacity:1;color:hsla(var(--floating-foreground),var(--tw-text-opacity))}.text-floating-overlay\/70{color:hsla(var(--floating-overlay),.7)}.text-foreground{--tw-text-opacity:1;color:hsla(var(--foreground),var(--tw-text-opacity))}.text-info{--tw-text-opacity:1;color:hsla(var(--info-DEFAULT),var(--tw-text-opacity))}.text-input-placeholder{--tw-text-opacity:1;color:hsla(var(--input-placeholder),var(--tw-text-opacity))}.text-primary{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.text-primary-foreground{--tw-text-opacity:1;color:hsla(var(--primary-foreground),var(--tw-text-opacity))}.text-secondary{--tw-text-opacity:1;color:hsla(var(--secondary-DEFAULT),var(--tw-text-opacity))}.text-success{--tw-text-opacity:1;color:hsla(var(--success-DEFAULT),var(--tw-text-opacity))}.text-tag-danger-text{--tw-text-opacity:1;color:hsla(var(--tag-danger-text),var(--tw-text-opacity))}.text-tag-info-text{--tw-text-opacity:1;color:hsla(var(--tag-info-text),var(--tw-text-opacity))}.text-tag-muted-text{--tw-text-opacity:1;color:hsla(var(--tag-muted-text),var(--tw-text-opacity))}.text-tag-primary-text{--tw-text-opacity:1;color:hsla(var(--tag-primary-text),var(--tw-text-opacity))}.text-tag-secondary-text{--tw-text-opacity:1;color:hsla(var(--tag-secondary-text),var(--tw-text-opacity))}.text-tag-success-text{--tw-text-opacity:1;color:hsla(var(--tag-success-text),var(--tw-text-opacity))}.text-tag-warn-text{--tw-text-opacity:1;color:hsla(var(--tag-warn-text),var(--tw-text-opacity))}.text-tooltip-foreground{--tw-text-opacity:1;color:hsla(var(--tooltip-foreground),var(--tw-text-opacity))}.text-warn{--tw-text-opacity:1;color:hsla(var(--warn-DEFAULT),var(--tw-text-opacity))}.text-opacity-70{--tw-text-opacity:0.7}.underline{text-decoration-line:underline}.placeholder-input-placeholder::-moz-placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-placeholder),var(--tw-placeholder-opacity))}.placeholder-input-placeholder::placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-placeholder),var(--tw-placeholder-opacity))}.placeholder-primary\/70::-moz-placeholder{color:hsla(var(--primary-DEFAULT),.7)}.placeholder-primary\/70::placeholder{color:hsla(var(--primary-DEFAULT),.7)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-shadow-card{--tw-shadow:var(--shadow-card);--tw-shadow-colored:var(--shadow-card)}.shadow-shadow-card,.shadow-shadow-floating{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-shadow-floating{--tw-shadow:var(--shadow-floating);--tw-shadow-colored:var(--shadow-floating)}.shadow-shadow-notification{--tw-shadow:var(--shadow-notification);--tw-shadow-colored:var(--shadow-notification);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-0{outline-width:0}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-primary{--tw-ring-opacity:1;--tw-ring-color:hsla(var(--primary-DEFAULT),var(--tw-ring-opacity))}.blur{--tw-blur:blur(8px)}.blur,.filter{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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:ease-out;transition-duration:375ms}.transition-all{transition-property:all;transition-timing-function:ease-out;transition-duration:375ms}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:ease-out;transition-duration:375ms}.transition-opacity{transition-property:opacity;transition-timing-function:ease-out;transition-duration:375ms}.transition-transform{transition-property:transform;transition-timing-function:ease-out;transition-duration:375ms}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}html{-webkit-text-size-adjust:100%}select.select{appearance:none;background-repeat:no-repeat;-webkit-appearance:none;-moz-appearance:none;text-indent:1px;text-overflow:""}input,select,textarea{font-size:16px}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.first\:rounded-t-lg:first-child,.last\:rounded-t-lg:last-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.last\:border-transparent:last-child{border-color:transparent}.last\:border-b-transparent:last-child{border-bottom-color:transparent}.first-of-type\:rounded-t-lg:first-of-type{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.last-of-type\:rounded-b-lg:last-of-type{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.empty\:mt-0:empty{margin-top:0}.empty\:hidden:empty{display:none}.after\:empty\:text-primary\/70:empty:after{content:var(--tw-content);color:hsla(var(--primary-DEFAULT),.7)}.focus-within\:border-primary:focus-within{--tw-border-opacity:1;border-color:hsla(var(--primary-DEFAULT),var(--tw-border-opacity))}.focus-within\:outline:focus-within{outline-style:solid}.hover\:w-1\.5:hover{width:.375rem}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;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))}.hover\:cursor-grab:hover{cursor:grab}.hover\:border-primary-subtle:hover{--tw-border-opacity:1;border-color:hsla(var(--primary-subtle),var(--tw-border-opacity))}.hover\:bg-danger\/10:hover{background-color:hsla(var(--danger-DEFAULT),.1)}.hover\:bg-danger\/20:hover{background-color:hsla(var(--danger-DEFAULT),.2)}.hover\:bg-floating-hover:hover{--tw-bg-opacity:1;background-color:hsla(var(--floating-hover),var(--tw-bg-opacity))}.hover\:bg-info\/20:hover{background-color:hsla(var(--info-DEFAULT),.2)}.hover\:bg-primary:hover{--tw-bg-opacity:1;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))}.hover\:bg-primary-hover\/10:hover{background-color:hsla(var(--primary-hover),.1)}.hover\:bg-primary\/20:hover{background-color:hsla(var(--primary-DEFAULT),.2)}.hover\:bg-secondary\/20:hover{background-color:hsla(var(--secondary-DEFAULT),.2)}.hover\:bg-success\/20:hover{background-color:hsla(var(--success-DEFAULT),.2)}.hover\:bg-warn\/20:hover{background-color:hsla(var(--warn-DEFAULT),.2)}.hover\:text-danger:hover{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.hover\:text-danger-hover:hover{--tw-text-opacity:1;color:hsla(var(--danger-hover),var(--tw-text-opacity))}.hover\:text-foreground:hover{--tw-text-opacity:1;color:hsla(var(--foreground),var(--tw-text-opacity))}.hover\:text-primary:hover{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.hover\:text-primary-foreground:hover{--tw-text-opacity:1;color:hsla(var(--primary-foreground),var(--tw-text-opacity))}.hover\:text-primary-subtle:hover{--tw-text-opacity:1;color:hsla(var(--primary-subtle),var(--tw-text-opacity))}.hover\:opacity-100:hover{opacity:1}.focus\:bg-floating-hover:focus{--tw-bg-opacity:1;background-color:hsla(var(--floating-hover),var(--tw-bg-opacity))}.focus\:bg-primary:focus{--tw-bg-opacity:1;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))}.focus\:text-danger:focus{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.focus\:text-primary-foreground:focus{--tw-text-opacity:1;color:hsla(var(--primary-foreground),var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus\:ring-primary:focus{--tw-ring-opacity:1;--tw-ring-color:hsla(var(--primary-DEFAULT),var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-4:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\:w-1\.5:active{width:.375rem}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-primary:active{--tw-bg-opacity:1;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))}.active\:text-danger:active{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.enabled\:focus\:bg-opacity-70:focus:enabled,.enabled\:hover\:bg-opacity-70:hover:enabled{--tw-bg-opacity:0.7}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-opacity-40:disabled{--tw-bg-opacity:0.4}.disabled\:text-disabled:disabled{--tw-text-opacity:1;color:hsla(var(--disabled),var(--tw-text-opacity))}.disabled\:text-opacity-80:disabled{--tw-text-opacity:0.8}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-70:disabled{opacity:.7}.group:focus-within .group-focus-within\:border-primary{--tw-border-opacity:1;border-color:hsla(var(--primary-DEFAULT),var(--tw-border-opacity))}.group:focus-within .group-focus-within\:text-primary{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.group:hover .group-hover\:border-primary{--tw-border-opacity:1;border-color:hsla(var(--primary-DEFAULT),var(--tw-border-opacity))}.group:hover .group-hover\:text-primary{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.group:disabled .group-disabled\:cursor-not-allowed{cursor:not-allowed}.group:disabled .group-disabled\:border-disabled{--tw-border-opacity:1;border-color:hsla(var(--disabled),var(--tw-border-opacity))}.group:disabled .group-disabled\:text-disabled{--tw-text-opacity:1;color:hsla(var(--disabled),var(--tw-text-opacity))}.group:has(input:not(:focus):valid[data-initialized=true]) .group-has-\[input\:not\(\:focus\)\:valid\[data-initialized\=true\]\]\:block{display:block}.group:has(input:not(:focus):invalid[data-initialized=true]) .group-has-\[input\:not\(\:focus\)\:invalid\[data-initialized\=true\]\]\:flex{display:flex}.aria-disabled\:text-disabled[aria-disabled=true]{--tw-text-opacity:1;color:hsla(var(--disabled),var(--tw-text-opacity))}.aria-expanded\:opacity-80[aria-expanded=true]{opacity:.8}.aria-hidden\:pointer-events-none[aria-hidden=true]{pointer-events:none}.group[aria-disabled=true] .group-aria-disabled\:cursor-not-allowed{cursor:not-allowed}.data-\[checked\=false\]\:translate-x-0[data-checked=false]{--tw-translate-x:0px}.data-\[checked\=false\]\:translate-x-0[data-checked=false],.data-\[checked\=true\]\:translate-x-5[data-checked=true]{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))}.data-\[checked\=true\]\:translate-x-5[data-checked=true]{--tw-translate-x:1.25rem}@keyframes pulse{50%{opacity:.5}}.data-\[loading\=true\]\:animate-pulse[data-loading=true]{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.data-\[disabled\=true\]\:cursor-not-allowed[data-disabled=true]{cursor:not-allowed}.data-\[active\=true\]\:border-solid[data-active=true]{border-style:solid}.data-\[active\=false\]\:border-dashed[data-active=false]{border-style:dashed}.data-\[active\=true\]\:border-transparent[data-active=true]{border-color:transparent}.data-\[active\=true\]\:bg-card-background[data-active=true]{--tw-bg-opacity:1;background-color:hsla(var(--card-background),var(--tw-bg-opacity))}.data-\[checked\=false\]\:bg-disabled[data-checked=false]{--tw-bg-opacity:1;background-color:hsla(var(--disabled),var(--tw-bg-opacity))}.data-\[checked\=false\]\:bg-input-switch-bg[data-checked=false]{--tw-bg-opacity:1;background-color:hsla(var(--input-switch-bg),var(--tw-bg-opacity))}.data-\[checked\=true\]\:bg-input-switch[data-checked=true]{--tw-bg-opacity:1;background-color:hsla(var(--input-switch),var(--tw-bg-opacity))}.data-\[checked\=true\]\:bg-primary[data-checked=true]{--tw-bg-opacity:1;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))}.data-\[items\=true\]\:pb-8[data-items=true]{padding-bottom:2rem}.data-\[selected\=false\]\:text-input-placeholder[data-selected=false]{--tw-text-opacity:1;color:hsla(var(--input-placeholder),var(--tw-text-opacity))}.data-\[loading\=true\]\:opacity-30[data-loading=true]{opacity:.3}.link\:text-danger:hover{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.link\:text-primary:hover{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.link\:text-danger:active{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.link\:text-primary:active{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.group:valid:has(.input:valid:not(:-moz-placeholder-shown)) .group-assert\:block{display:block}.group:valid:has(.input:valid:not(:placeholder-shown)) .group-assert\:block{display:block}.group:valid:has(.input:valid:not(:-moz-placeholder-shown)) .group-assert\:text-success{--tw-text-opacity:1;color:hsla(var(--success-DEFAULT),var(--tw-text-opacity))}.group:valid:has(.input:valid:not(:placeholder-shown)) .group-assert\:text-success{--tw-text-opacity:1;color:hsla(var(--success-DEFAULT),var(--tw-text-opacity))}.group:valid:has(.input:valid:not(:-moz-placeholder-shown)) .group-assert\:opacity-100{opacity:1}.group:valid:has(.input:valid:not(:placeholder-shown)) .group-assert\:opacity-100{opacity:1}.group-checkbox-checked\:line-through:has(.form-checkbox[type=checkbox]:checked){text-decoration-line:line-through}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:block{display:block}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:flex{display:flex}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:hidden{display:none}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:border-danger{--tw-border-opacity:1;border-color:hsla(var(--danger-DEFAULT),var(--tw-border-opacity))}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:text-danger{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:placeholder-input-mask-error::-moz-placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:placeholder-input-mask-error::placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:opacity-100{opacity:1}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:block{display:block}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:flex{display:flex}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:hidden{display:none}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:border-danger{--tw-border-opacity:1;border-color:hsla(var(--danger-DEFAULT),var(--tw-border-opacity))}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:text-danger{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:placeholder-input-mask-error::-moz-placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:placeholder-input-mask-error::placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:opacity-100{opacity:1}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:block{display:block}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:flex{display:flex}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:hidden{display:none}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:border-danger{--tw-border-opacity:1;border-color:hsla(var(--danger-DEFAULT),var(--tw-border-opacity))}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:text-danger{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:placeholder-input-mask-error::-moz-placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:placeholder-input-mask-error::placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:opacity-100{opacity:1}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:block{display:block}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:flex{display:flex}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:hidden{display:none}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:border-danger{--tw-border-opacity:1;border-color:hsla(var(--danger-DEFAULT),var(--tw-border-opacity))}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:text-danger{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:placeholder-input-mask-error::-moz-placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:placeholder-input-mask-error::placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:opacity-100{opacity:1}@media not all and (min-width:640px){.max-sm\:top-20{top:5rem}}@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}}@media (min-width:768px){.md\:table-cell{display:table-cell}.md\:table-header-group{display:table-header-group}.md\:table-row{display:table-row}.md\:hidden{display:none}.md\:h-14{height:3.5rem}.md\:max-w-screen-sm{max-width:640px}.md\:justify-end{justify-content:flex-end}.md\:border-b-0{border-bottom-width:0}.md\:border-r{border-right-width:1px}.md\:border-l-transparent{border-left-color:transparent}.md\:p-1{padding:.25rem}.md\:last\:border-r-transparent:last-child{border-right-color:transparent}}@media (min-width:1024px){.lg\:right-2{right:.5rem}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:max-w-screen-md{max-width:768px}.lg\:flex-row{flex-direction:row}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:px-0{padding-left:0;padding-right:0}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button,.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}.\[\&\>li\:last-child\>span\[aria-hidden\=true\]\]\:hidden>li:last-child>span[aria-hidden=true]{display:none}
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.form-checkbox,.form-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}.form-checkbox{border-radius:0}.form-radio{border-radius:100%}.form-checkbox:focus,.form-radio:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.form-checkbox:checked,.form-radio:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}.form-checkbox:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active) {.form-checkbox:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}.form-radio:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {.form-radio:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}.form-checkbox:checked:focus,.form-checkbox:checked:hover,.form-radio:checked:focus,.form-radio:checked:hover{border-color:transparent;background-color:currentColor}.form-checkbox:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media (forced-colors:active) {.form-checkbox:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}.form-checkbox:indeterminate:focus,.form-checkbox:indeterminate:hover{border-color:transparent;background-color:currentColor}.typography{font-weight:400;line-height:1.45;letter-spacing:.0175}a[href="https://reactflow.dev"]{display:none}.group-table-row:hover .group-table-cell-aside{opacity:1}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:hsla(0,0%,59%,.25);--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:rgba(60,60,60,.6);--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible,.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible{outline:none;border:0 solid transparent}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-left-1\/4{left:-25%}.-right-\[0\.5px\]{right:-.5px}.-top-2{top:-.5rem}.-top-3\/4{top:-75%}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-2{left:.5rem}.left-6{left:1.5rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-8{top:2rem}.isolate{isolation:isolate}.z-\[9999\]{z-index:9999}.z-calendar{z-index:var(--z-calendar)}.z-floating{z-index:var(--z-floating)}.z-normal{z-index:var(--z-normal)}.z-overlay{z-index:var(--z-overlay)}.z-tooltip{z-index:var(--z-tooltip)}.m-0{margin:0}.m-2{margin:.5rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-px{margin-left:-1px}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-3{margin-left:.75rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-input-gap{margin-top:var(--input-gap)}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-16{width:4rem;height:4rem}.size-2\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-full{width:100%;height:100%}.h-0\.5{height:.125rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[100dvh\]{height:100dvh}.h-\[1px\]{height:1px}.h-\[2px\]{height:2px}.h-\[stretch\]{height:-webkit-fill-available;height:-moz-available;height:stretch}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-input-height{height:var(--input-height)}.h-min{height:-moz-min-content;height:min-content}.h-screen{height:100vh}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[calc\(100lvh-10\%\)\]{max-height:calc(100lvh - 10%)}.max-h-\[calc\(100svh-5\%\)\]{max-height:calc(100svh - 5%)}.max-h-\[calc\(100vh-15\%\)\]{max-height:calc(100vh - 15%)}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.w-0{width:0}.w-0\.5{width:.125rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-10\/12{width:83.333333%}.w-11{width:2.75rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-32{width:8rem}.w-4{width:1rem}.w-8\/12{width:66.666667%}.w-80{width:20rem}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-min{width:-moz-min-content;width:min-content}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-24{min-width:6rem}.min-w-36{min-width:9rem}.min-w-6{min-width:1.5rem}.min-w-64{min-width:16rem}.min-w-96{min-width:24rem}.min-w-\[1ch\]{min-width:1ch}.min-w-full{min-width:100%}.min-w-xs{min-width:20rem}.max-w-16{max-width:4rem}.max-w-48{max-width:12rem}.max-w-96{max-width:24rem}.max-w-\[90\%\]{max-width:90%}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.origin-\[top_center\]{transform-origin:top center}.transform{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))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-text{cursor:text}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize-y{resize:vertical}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-base{gap:var(--base)}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-card-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:hsla(var(--card-border),var(--tw-divide-opacity))}.divide-table-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:hsla(var(--table-border),var(--tw-divide-opacity))}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.\!overflow-clip{overflow:clip!important}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-clip{overflow-y:clip}.overflow-x-visible{overflow-x:visible}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;white-space:nowrap}.overflow-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.whitespace-break-spaces{white-space:break-spaces}.text-wrap{text-wrap:wrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-button{border-radius:var(--button)}.rounded-card{border-radius:var(--card)}.rounded-full{border-radius:var(--full)}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-pill{border-radius:var(--pill)}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-card{border-top-left-radius:var(--card);border-bottom-left-radius:var(--card)}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-r-lg,.rounded-t-lg{border-top-right-radius:.5rem}.rounded-t-lg,.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tr-lg{border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-alert-danger-border{--tw-border-opacity:1;border-color:hsla(var(--alert-danger-border),var(--tw-border-opacity))}.border-alert-info-border{--tw-border-opacity:1;border-color:hsla(var(--alert-info-border),var(--tw-border-opacity))}.border-alert-muted-border{--tw-border-opacity:1;border-color:hsla(var(--alert-muted-border),var(--tw-border-opacity))}.border-alert-primary-border{--tw-border-opacity:1;border-color:hsla(var(--alert-primary-border),var(--tw-border-opacity))}.border-alert-secondary-border{--tw-border-opacity:1;border-color:hsla(var(--alert-secondary-border),var(--tw-border-opacity))}.border-alert-success-border{--tw-border-opacity:1;border-color:hsla(var(--alert-success-border),var(--tw-border-opacity))}.border-alert-warn-border{--tw-border-opacity:1;border-color:hsla(var(--alert-warn-border),var(--tw-border-opacity))}.border-background{--tw-border-opacity:1;border-color:hsla(var(--background),var(--tw-border-opacity))}.border-card-border{--tw-border-opacity:1;border-color:hsla(var(--card-border),var(--tw-border-opacity))}.border-danger{--tw-border-opacity:1;border-color:hsla(var(--danger-DEFAULT),var(--tw-border-opacity))}.border-floating-border{--tw-border-opacity:1;border-color:hsla(var(--floating-border),var(--tw-border-opacity))}.border-info{--tw-border-opacity:1;border-color:hsla(var(--info-DEFAULT),var(--tw-border-opacity))}.border-input-border{--tw-border-opacity:1;border-color:hsla(var(--input-border),var(--tw-border-opacity))}.border-muted{--tw-border-opacity:1;border-color:hsla(var(--muted),var(--tw-border-opacity))}.border-primary{--tw-border-opacity:1;border-color:hsla(var(--primary-DEFAULT),var(--tw-border-opacity))}.border-secondary{--tw-border-opacity:1;border-color:hsla(var(--secondary-DEFAULT),var(--tw-border-opacity))}.border-success{--tw-border-opacity:1;border-color:hsla(var(--success-DEFAULT),var(--tw-border-opacity))}.border-table-border{--tw-border-opacity:1;border-color:hsla(var(--table-border),var(--tw-border-opacity))}.border-tooltip-border{--tw-border-opacity:1;border-color:hsla(var(--tooltip-border),var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-warn{--tw-border-opacity:1;border-color:hsla(var(--warn-DEFAULT),var(--tw-border-opacity))}.border-b-primary{--tw-border-opacity:1;border-bottom-color:hsla(var(--primary-DEFAULT),var(--tw-border-opacity))}.border-t-muted{--tw-border-opacity:1;border-top-color:hsla(var(--muted),var(--tw-border-opacity))}.\!bg-primary{--tw-bg-opacity:1!important;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))!important}.bg-alert-danger-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-danger-bg),var(--tw-bg-opacity))}.bg-alert-info-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-info-bg),var(--tw-bg-opacity))}.bg-alert-muted-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-muted-bg),var(--tw-bg-opacity))}.bg-alert-primary-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-primary-bg),var(--tw-bg-opacity))}.bg-alert-secondary-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-secondary-bg),var(--tw-bg-opacity))}.bg-alert-success-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-success-bg),var(--tw-bg-opacity))}.bg-alert-warn-bg{--tw-bg-opacity:1;background-color:hsla(var(--alert-warn-bg),var(--tw-bg-opacity))}.bg-background{--tw-bg-opacity:1;background-color:hsla(var(--background),var(--tw-bg-opacity))}.bg-button-danger-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-danger-bg),var(--tw-bg-opacity))}.bg-button-info-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-info-bg),var(--tw-bg-opacity))}.bg-button-muted-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-muted-bg),var(--tw-bg-opacity))}.bg-button-primary-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-primary-bg),var(--tw-bg-opacity))}.bg-button-secondary-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-secondary-bg),var(--tw-bg-opacity))}.bg-button-success-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-success-bg),var(--tw-bg-opacity))}.bg-button-warn-bg{--tw-bg-opacity:1;background-color:hsla(var(--button-warn-bg),var(--tw-bg-opacity))}.bg-card-background{--tw-bg-opacity:1;background-color:hsla(var(--card-background),var(--tw-bg-opacity))}.bg-card-border{--tw-bg-opacity:1;background-color:hsla(var(--card-border),var(--tw-bg-opacity))}.bg-danger{--tw-bg-opacity:1;background-color:hsla(var(--danger-DEFAULT),var(--tw-bg-opacity))}.bg-disabled{--tw-bg-opacity:1;background-color:hsla(var(--disabled),var(--tw-bg-opacity))}.bg-floating-background{--tw-bg-opacity:1;background-color:hsla(var(--floating-background),var(--tw-bg-opacity))}.bg-floating-border{--tw-bg-opacity:1;background-color:hsla(var(--floating-border),var(--tw-bg-opacity))}.bg-floating-hover{--tw-bg-opacity:1;background-color:hsla(var(--floating-hover),var(--tw-bg-opacity))}.bg-floating-overlay\/70{background-color:hsla(var(--floating-overlay),.7)}.bg-foreground{--tw-bg-opacity:1;background-color:hsla(var(--foreground),var(--tw-bg-opacity))}.bg-info{--tw-bg-opacity:1;background-color:hsla(var(--info-DEFAULT),var(--tw-bg-opacity))}.bg-input-switch{--tw-bg-opacity:1;background-color:hsla(var(--input-switch),var(--tw-bg-opacity))}.bg-muted{--tw-bg-opacity:1;background-color:hsla(var(--muted),var(--tw-bg-opacity))}.bg-primary{--tw-bg-opacity:1;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))}.bg-primary-hover{--tw-bg-opacity:1;background-color:hsla(var(--primary-hover),var(--tw-bg-opacity))}.bg-secondary{--tw-bg-opacity:1;background-color:hsla(var(--secondary-DEFAULT),var(--tw-bg-opacity))}.bg-success{--tw-bg-opacity:1;background-color:hsla(var(--success-DEFAULT),var(--tw-bg-opacity))}.bg-table-header{--tw-bg-opacity:1;background-color:hsla(var(--table-header),var(--tw-bg-opacity))}.bg-tag-danger-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-danger-bg),var(--tw-bg-opacity))}.bg-tag-info-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-info-bg),var(--tw-bg-opacity))}.bg-tag-muted-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-muted-bg),var(--tw-bg-opacity))}.bg-tag-primary-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-primary-bg),var(--tw-bg-opacity))}.bg-tag-secondary-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-secondary-bg),var(--tw-bg-opacity))}.bg-tag-success-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-success-bg),var(--tw-bg-opacity))}.bg-tag-warn-bg{--tw-bg-opacity:1;background-color:hsla(var(--tag-warn-bg),var(--tw-bg-opacity))}.bg-tooltip-background{--tw-bg-opacity:1;background-color:hsla(var(--tooltip-background),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-warn{--tw-bg-opacity:1;background-color:hsla(var(--warn-DEFAULT),var(--tw-bg-opacity))}.bg-origin-border{background-origin:border-box}.fill-card-background{fill:hsla(var(--card-background),1)}.fill-current{fill:currentColor}.fill-floating-background{fill:hsla(var(--floating-background),1)}.fill-tooltip-background{fill:hsla(var(--tooltip-background),1)}.stroke-card-border{stroke:hsla(var(--card-border),1)}.stroke-floating-border{stroke:hsla(var(--floating-border),1)}.stroke-tooltip-border{stroke:hsla(var(--tooltip-border),1)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[var\(--table-cell-padding\)\]{padding:var(--table-cell-padding)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-input-x{padding-left:var(--input-x);padding-right:var(--input-x)}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-input-y{padding-top:var(--input-y);padding-bottom:var(--input-y)}.pb-1{padding-bottom:.25rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-baseline{vertical-align:baseline}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:var(--base)}.text-field-label{font-size:var(--field-label)}.text-lg{font-size:var(--lg)}.text-sm{font-size:var(--sm)}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.italic{font-style:italic}.proportional-nums{--tw-numeric-spacing:proportional-nums}.proportional-nums,.tabular-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.text-alert-danger-text{--tw-text-opacity:1;color:hsla(var(--alert-danger-text),var(--tw-text-opacity))}.text-alert-info-text{--tw-text-opacity:1;color:hsla(var(--alert-info-text),var(--tw-text-opacity))}.text-alert-muted-text{--tw-text-opacity:1;color:hsla(var(--alert-muted-text),var(--tw-text-opacity))}.text-alert-primary-text{--tw-text-opacity:1;color:hsla(var(--alert-primary-text),var(--tw-text-opacity))}.text-alert-secondary-text{--tw-text-opacity:1;color:hsla(var(--alert-secondary-text),var(--tw-text-opacity))}.text-alert-success-text{--tw-text-opacity:1;color:hsla(var(--alert-success-text),var(--tw-text-opacity))}.text-alert-warn-text{--tw-text-opacity:1;color:hsla(var(--alert-warn-text),var(--tw-text-opacity))}.text-button-danger-text{--tw-text-opacity:1;color:hsla(var(--button-danger-text),var(--tw-text-opacity))}.text-button-info-text{--tw-text-opacity:1;color:hsla(var(--button-info-text),var(--tw-text-opacity))}.text-button-muted-text{--tw-text-opacity:1;color:hsla(var(--button-muted-text),var(--tw-text-opacity))}.text-button-primary-text{--tw-text-opacity:1;color:hsla(var(--button-primary-text),var(--tw-text-opacity))}.text-button-secondary-text{--tw-text-opacity:1;color:hsla(var(--button-secondary-text),var(--tw-text-opacity))}.text-button-success-text{--tw-text-opacity:1;color:hsla(var(--button-success-text),var(--tw-text-opacity))}.text-button-warn-text{--tw-text-opacity:1;color:hsla(var(--button-warn-text),var(--tw-text-opacity))}.text-current{color:currentColor}.text-danger{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.text-danger-foreground{--tw-text-opacity:1;color:hsla(var(--danger-foreground),var(--tw-text-opacity))}.text-disabled{--tw-text-opacity:1;color:hsla(var(--disabled),var(--tw-text-opacity))}.text-emphasis{--tw-text-opacity:1;color:hsla(var(--emphasis-DEFAULT),var(--tw-text-opacity))}.text-floating-foreground{--tw-text-opacity:1;color:hsla(var(--floating-foreground),var(--tw-text-opacity))}.text-floating-overlay\/70{color:hsla(var(--floating-overlay),.7)}.text-foreground{--tw-text-opacity:1;color:hsla(var(--foreground),var(--tw-text-opacity))}.text-info{--tw-text-opacity:1;color:hsla(var(--info-DEFAULT),var(--tw-text-opacity))}.text-input-placeholder{--tw-text-opacity:1;color:hsla(var(--input-placeholder),var(--tw-text-opacity))}.text-primary{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.text-primary-foreground{--tw-text-opacity:1;color:hsla(var(--primary-foreground),var(--tw-text-opacity))}.text-secondary{--tw-text-opacity:1;color:hsla(var(--secondary-DEFAULT),var(--tw-text-opacity))}.text-success{--tw-text-opacity:1;color:hsla(var(--success-DEFAULT),var(--tw-text-opacity))}.text-tag-danger-text{--tw-text-opacity:1;color:hsla(var(--tag-danger-text),var(--tw-text-opacity))}.text-tag-info-text{--tw-text-opacity:1;color:hsla(var(--tag-info-text),var(--tw-text-opacity))}.text-tag-muted-text{--tw-text-opacity:1;color:hsla(var(--tag-muted-text),var(--tw-text-opacity))}.text-tag-primary-text{--tw-text-opacity:1;color:hsla(var(--tag-primary-text),var(--tw-text-opacity))}.text-tag-secondary-text{--tw-text-opacity:1;color:hsla(var(--tag-secondary-text),var(--tw-text-opacity))}.text-tag-success-text{--tw-text-opacity:1;color:hsla(var(--tag-success-text),var(--tw-text-opacity))}.text-tag-warn-text{--tw-text-opacity:1;color:hsla(var(--tag-warn-text),var(--tw-text-opacity))}.text-tooltip-foreground{--tw-text-opacity:1;color:hsla(var(--tooltip-foreground),var(--tw-text-opacity))}.text-warn{--tw-text-opacity:1;color:hsla(var(--warn-DEFAULT),var(--tw-text-opacity))}.text-opacity-70{--tw-text-opacity:0.7}.underline{text-decoration-line:underline}.placeholder-input-placeholder::-moz-placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-placeholder),var(--tw-placeholder-opacity))}.placeholder-input-placeholder::placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-placeholder),var(--tw-placeholder-opacity))}.placeholder-primary\/70::-moz-placeholder{color:hsla(var(--primary-DEFAULT),.7)}.placeholder-primary\/70::placeholder{color:hsla(var(--primary-DEFAULT),.7)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-shadow-card{--tw-shadow:var(--shadow-card);--tw-shadow-colored:var(--shadow-card)}.shadow-shadow-card,.shadow-shadow-floating{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-shadow-floating{--tw-shadow:var(--shadow-floating);--tw-shadow-colored:var(--shadow-floating)}.shadow-shadow-notification{--tw-shadow:var(--shadow-notification);--tw-shadow-colored:var(--shadow-notification);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-0{outline-width:0}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-primary{--tw-ring-opacity:1;--tw-ring-color:hsla(var(--primary-DEFAULT),var(--tw-ring-opacity))}.blur{--tw-blur:blur(8px)}.blur,.filter{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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:ease-out;transition-duration:375ms}.transition-all{transition-property:all;transition-timing-function:ease-out;transition-duration:375ms}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:ease-out;transition-duration:375ms}.transition-opacity{transition-property:opacity;transition-timing-function:ease-out;transition-duration:375ms}.transition-transform{transition-property:transform;transition-timing-function:ease-out;transition-duration:375ms}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}html{-webkit-text-size-adjust:100%}select.select{appearance:none;background-repeat:no-repeat;-webkit-appearance:none;-moz-appearance:none;text-indent:1px;text-overflow:""}input,select,textarea{font-size:16px}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.first\:hidden:first-child{display:none}.first\:rounded-t-lg:first-child,.last\:rounded-t-lg:last-child{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.last\:border-transparent:last-child{border-color:transparent}.last\:border-b-transparent:last-child{border-bottom-color:transparent}.first-of-type\:rounded-t-lg:first-of-type{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.last-of-type\:rounded-b-lg:last-of-type{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.empty\:mt-0:empty{margin-top:0}.empty\:hidden:empty{display:none}.after\:empty\:text-primary\/70:empty:after{content:var(--tw-content);color:hsla(var(--primary-DEFAULT),.7)}.focus-within\:border-primary:focus-within{--tw-border-opacity:1;border-color:hsla(var(--primary-DEFAULT),var(--tw-border-opacity))}.focus-within\:outline:focus-within{outline-style:solid}.hover\:w-1\.5:hover{width:.375rem}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;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))}.hover\:cursor-grab:hover{cursor:grab}.hover\:border-primary-subtle:hover{--tw-border-opacity:1;border-color:hsla(var(--primary-subtle),var(--tw-border-opacity))}.hover\:bg-danger\/10:hover{background-color:hsla(var(--danger-DEFAULT),.1)}.hover\:bg-danger\/20:hover{background-color:hsla(var(--danger-DEFAULT),.2)}.hover\:bg-floating-hover:hover{--tw-bg-opacity:1;background-color:hsla(var(--floating-hover),var(--tw-bg-opacity))}.hover\:bg-info\/20:hover{background-color:hsla(var(--info-DEFAULT),.2)}.hover\:bg-primary:hover{--tw-bg-opacity:1;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))}.hover\:bg-primary-hover\/10:hover{background-color:hsla(var(--primary-hover),.1)}.hover\:bg-primary\/20:hover{background-color:hsla(var(--primary-DEFAULT),.2)}.hover\:bg-secondary\/20:hover{background-color:hsla(var(--secondary-DEFAULT),.2)}.hover\:bg-success\/20:hover{background-color:hsla(var(--success-DEFAULT),.2)}.hover\:bg-warn\/20:hover{background-color:hsla(var(--warn-DEFAULT),.2)}.hover\:text-danger:hover{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.hover\:text-danger-hover:hover{--tw-text-opacity:1;color:hsla(var(--danger-hover),var(--tw-text-opacity))}.hover\:text-foreground:hover{--tw-text-opacity:1;color:hsla(var(--foreground),var(--tw-text-opacity))}.hover\:text-primary:hover{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.hover\:text-primary-foreground:hover{--tw-text-opacity:1;color:hsla(var(--primary-foreground),var(--tw-text-opacity))}.hover\:text-primary-subtle:hover{--tw-text-opacity:1;color:hsla(var(--primary-subtle),var(--tw-text-opacity))}.hover\:opacity-100:hover{opacity:1}.focus\:bg-floating-hover:focus{--tw-bg-opacity:1;background-color:hsla(var(--floating-hover),var(--tw-bg-opacity))}.focus\:bg-primary:focus{--tw-bg-opacity:1;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))}.focus\:text-danger:focus{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.focus\:text-primary-foreground:focus{--tw-text-opacity:1;color:hsla(var(--primary-foreground),var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus\:ring-primary:focus{--tw-ring-opacity:1;--tw-ring-color:hsla(var(--primary-DEFAULT),var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-4:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\:w-1\.5:active{width:.375rem}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-primary:active{--tw-bg-opacity:1;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))}.active\:text-danger:active{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.enabled\:focus\:bg-opacity-70:focus:enabled,.enabled\:hover\:bg-opacity-70:hover:enabled{--tw-bg-opacity:0.7}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-opacity-40:disabled{--tw-bg-opacity:0.4}.disabled\:text-disabled:disabled{--tw-text-opacity:1;color:hsla(var(--disabled),var(--tw-text-opacity))}.disabled\:text-opacity-80:disabled{--tw-text-opacity:0.8}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-70:disabled{opacity:.7}.group:focus-within .group-focus-within\:border-primary{--tw-border-opacity:1;border-color:hsla(var(--primary-DEFAULT),var(--tw-border-opacity))}.group:focus-within .group-focus-within\:text-primary{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.group:hover .group-hover\:border-primary{--tw-border-opacity:1;border-color:hsla(var(--primary-DEFAULT),var(--tw-border-opacity))}.group:hover .group-hover\:text-primary{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.group:disabled .group-disabled\:cursor-not-allowed{cursor:not-allowed}.group:disabled .group-disabled\:border-disabled{--tw-border-opacity:1;border-color:hsla(var(--disabled),var(--tw-border-opacity))}.group:disabled .group-disabled\:text-disabled{--tw-text-opacity:1;color:hsla(var(--disabled),var(--tw-text-opacity))}.group:has(input:not(:focus):valid[data-initialized=true]) .group-has-\[input\:not\(\:focus\)\:valid\[data-initialized\=true\]\]\:block{display:block}.group:has(input:not(:focus):invalid[data-initialized=true]) .group-has-\[input\:not\(\:focus\)\:invalid\[data-initialized\=true\]\]\:flex{display:flex}.aria-disabled\:text-disabled[aria-disabled=true]{--tw-text-opacity:1;color:hsla(var(--disabled),var(--tw-text-opacity))}.aria-expanded\:opacity-80[aria-expanded=true]{opacity:.8}.aria-hidden\:pointer-events-none[aria-hidden=true]{pointer-events:none}.group[aria-disabled=true] .group-aria-disabled\:cursor-not-allowed{cursor:not-allowed}.data-\[checked\=false\]\:translate-x-0[data-checked=false]{--tw-translate-x:0px}.data-\[checked\=false\]\:translate-x-0[data-checked=false],.data-\[checked\=true\]\:translate-x-5[data-checked=true]{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))}.data-\[checked\=true\]\:translate-x-5[data-checked=true]{--tw-translate-x:1.25rem}@keyframes pulse{50%{opacity:.5}}.data-\[loading\=true\]\:animate-pulse[data-loading=true]{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.data-\[disabled\=true\]\:cursor-not-allowed[data-disabled=true]{cursor:not-allowed}.data-\[active\=true\]\:border-solid[data-active=true]{border-style:solid}.data-\[active\=false\]\:border-dashed[data-active=false]{border-style:dashed}.data-\[active\=true\]\:border-transparent[data-active=true]{border-color:transparent}.data-\[active\=true\]\:bg-card-background[data-active=true]{--tw-bg-opacity:1;background-color:hsla(var(--card-background),var(--tw-bg-opacity))}.data-\[checked\=false\]\:bg-disabled[data-checked=false]{--tw-bg-opacity:1;background-color:hsla(var(--disabled),var(--tw-bg-opacity))}.data-\[checked\=false\]\:bg-input-switch-bg[data-checked=false]{--tw-bg-opacity:1;background-color:hsla(var(--input-switch-bg),var(--tw-bg-opacity))}.data-\[checked\=true\]\:bg-input-switch[data-checked=true]{--tw-bg-opacity:1;background-color:hsla(var(--input-switch),var(--tw-bg-opacity))}.data-\[checked\=true\]\:bg-primary[data-checked=true]{--tw-bg-opacity:1;background-color:hsla(var(--primary-DEFAULT),var(--tw-bg-opacity))}.data-\[items\=true\]\:pb-8[data-items=true]{padding-bottom:2rem}.data-\[selected\=false\]\:text-input-placeholder[data-selected=false]{--tw-text-opacity:1;color:hsla(var(--input-placeholder),var(--tw-text-opacity))}.data-\[loading\=true\]\:opacity-30[data-loading=true]{opacity:.3}.link\:text-danger:hover{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.link\:text-primary:hover{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.link\:text-danger:active{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.link\:text-primary:active{--tw-text-opacity:1;color:hsla(var(--primary-DEFAULT),var(--tw-text-opacity))}.group:valid:has(.input:valid:not(:-moz-placeholder-shown)) .group-assert\:block{display:block}.group:valid:has(.input:valid:not(:placeholder-shown)) .group-assert\:block{display:block}.group:valid:has(.input:valid:not(:-moz-placeholder-shown)) .group-assert\:text-success{--tw-text-opacity:1;color:hsla(var(--success-DEFAULT),var(--tw-text-opacity))}.group:valid:has(.input:valid:not(:placeholder-shown)) .group-assert\:text-success{--tw-text-opacity:1;color:hsla(var(--success-DEFAULT),var(--tw-text-opacity))}.group:valid:has(.input:valid:not(:-moz-placeholder-shown)) .group-assert\:opacity-100{opacity:1}.group:valid:has(.input:valid:not(:placeholder-shown)) .group-assert\:opacity-100{opacity:1}.group-checkbox-checked\:line-through:has(.form-checkbox[type=checkbox]:checked){text-decoration-line:line-through}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:block{display:block}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:flex{display:flex}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:hidden{display:none}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:border-danger{--tw-border-opacity:1;border-color:hsla(var(--danger-DEFAULT),var(--tw-border-opacity))}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:text-danger{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:placeholder-input-mask-error::-moz-placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:placeholder-input-mask-error::placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group:invalid:has(.input:not(:focus):invalid[data-initialized=true]) .group-error\:opacity-100{opacity:1}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:block{display:block}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:flex{display:flex}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:hidden{display:none}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:border-danger{--tw-border-opacity:1;border-color:hsla(var(--danger-DEFAULT),var(--tw-border-opacity))}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:text-danger{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:placeholder-input-mask-error::-moz-placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:placeholder-input-mask-error::placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true]:has(.input[data-initialized=true]) .group-error\:opacity-100{opacity:1}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:block{display:block}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:flex{display:flex}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:hidden{display:none}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:border-danger{--tw-border-opacity:1;border-color:hsla(var(--danger-DEFAULT),var(--tw-border-opacity))}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:text-danger{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:placeholder-input-mask-error::-moz-placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:placeholder-input-mask-error::placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true][data-interactive=true]:has(.input) .group-error\:opacity-100{opacity:1}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:block{display:block}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:flex{display:flex}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:hidden{display:none}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:border-danger{--tw-border-opacity:1;border-color:hsla(var(--danger-DEFAULT),var(--tw-border-opacity))}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:text-danger{--tw-text-opacity:1;color:hsla(var(--danger-DEFAULT),var(--tw-text-opacity))}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:placeholder-input-mask-error::-moz-placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:placeholder-input-mask-error::placeholder{--tw-placeholder-opacity:1;color:hsla(var(--input-mask-error),var(--tw-placeholder-opacity))}.group[data-error=true][data-interactive=true]:has(.input[data-initialized=true]) .group-error\:opacity-100{opacity:1}@media not all and (min-width:640px){.max-sm\:top-20{top:5rem}}@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}}@media (min-width:768px){.md\:table-cell{display:table-cell}.md\:table-header-group{display:table-header-group}.md\:table-row{display:table-row}.md\:hidden{display:none}.md\:h-14{height:3.5rem}.md\:max-w-screen-sm{max-width:640px}.md\:justify-end{justify-content:flex-end}.md\:border-b-0{border-bottom-width:0}.md\:border-r{border-right-width:1px}.md\:border-l-transparent{border-left-color:transparent}.md\:p-1{padding:.25rem}.md\:last\:border-r-transparent:last-child{border-right-color:transparent}}@media (min-width:1024px){.lg\:right-2{right:.5rem}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:max-w-screen-md{max-width:768px}.lg\:flex-row{flex-direction:row}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:px-0{padding-left:0;padding-right:0}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button,.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}.\[\&\>li\:last-child\>span\[aria-hidden\=true\]\]\:hidden>li:last-child>span[aria-hidden=true]{display:none}
|