dgz-ui-shared 1.2.0 → 1.2.1
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/chunks/Loader-D_jX_Wgx.cjs.js.map +1 -1
- package/dist/chunks/Loader-zvzAi0F6.es.js.map +1 -1
- package/dist/chunks/{Search-C1r74Jxy.es.js → Search-CigmAAd7.es.js} +33 -33
- package/dist/chunks/Search-CigmAAd7.es.js.map +1 -0
- package/dist/chunks/Search-c_EapKlJ.cjs.js +2 -0
- package/dist/chunks/Search-c_EapKlJ.cjs.js.map +1 -0
- package/dist/components/datatable/index.cjs.js +1 -1
- package/dist/components/datatable/index.es.js +1 -1
- package/dist/components/filters/index.cjs.js +1 -1
- package/dist/components/filters/index.es.js +1 -1
- package/dist/{dgz-ui-shared.css → styles.css} +1 -1
- package/dist/types/App.d.ts +3 -0
- package/dist/types/App.d.ts.map +1 -0
- package/dist/types/components/actions/Actions.d.ts +28 -0
- package/dist/types/components/actions/Actions.d.ts.map +1 -0
- package/dist/types/components/actions/index.d.ts +2 -0
- package/dist/types/components/actions/index.d.ts.map +1 -0
- package/dist/types/components/confirm/Confirm.d.ts +22 -0
- package/dist/types/components/confirm/Confirm.d.ts.map +1 -0
- package/dist/types/components/confirm/PasswordConfirm.d.ts +16 -0
- package/dist/types/components/confirm/PasswordConfirm.d.ts.map +1 -0
- package/dist/types/components/confirm/index.d.ts +4 -0
- package/dist/types/components/confirm/index.d.ts.map +1 -0
- package/dist/types/components/datatable/DataTable.d.ts +194 -0
- package/dist/types/components/datatable/DataTable.d.ts.map +1 -0
- package/dist/types/components/datatable/MyTable.d.ts +44 -0
- package/dist/types/components/datatable/MyTable.d.ts.map +1 -0
- package/dist/types/components/datatable/index.d.ts +3 -0
- package/dist/types/components/datatable/index.d.ts.map +1 -0
- package/dist/types/components/datepicker/DateRangePicker.d.ts +37 -0
- package/dist/types/components/datepicker/DateRangePicker.d.ts.map +1 -0
- package/dist/types/components/datepicker/index.d.ts +2 -0
- package/dist/types/components/datepicker/index.d.ts.map +1 -0
- package/dist/types/components/empty/Empty.d.ts +19 -0
- package/dist/types/components/empty/Empty.d.ts.map +1 -0
- package/dist/types/components/empty/index.d.ts +2 -0
- package/dist/types/components/empty/index.d.ts.map +1 -0
- package/dist/types/components/export/ExportData.d.ts +44 -0
- package/dist/types/components/export/ExportData.d.ts.map +1 -0
- package/dist/types/components/export/index.d.ts +2 -0
- package/dist/types/components/export/index.d.ts.map +1 -0
- package/dist/types/components/filters/FilterWrapper.d.ts +56 -0
- package/dist/types/components/filters/FilterWrapper.d.ts.map +1 -0
- package/dist/types/components/filters/Search.d.ts +23 -0
- package/dist/types/components/filters/Search.d.ts.map +1 -0
- package/dist/types/components/filters/SearchWithCtrl.d.ts +20 -0
- package/dist/types/components/filters/SearchWithCtrl.d.ts.map +1 -0
- package/dist/types/components/filters/index.d.ts +4 -0
- package/dist/types/components/filters/index.d.ts.map +1 -0
- package/dist/types/components/form/MyCheckbox.d.ts +20 -0
- package/dist/types/components/form/MyCheckbox.d.ts.map +1 -0
- package/dist/types/components/form/MyDatePicker.d.ts +35 -0
- package/dist/types/components/form/MyDatePicker.d.ts.map +1 -0
- package/dist/types/components/form/MyDateRangePicker.d.ts +26 -0
- package/dist/types/components/form/MyDateRangePicker.d.ts.map +1 -0
- package/dist/types/components/form/MyHtmlEditor.d.ts +26 -0
- package/dist/types/components/form/MyHtmlEditor.d.ts.map +1 -0
- package/dist/types/components/form/MyInput.d.ts +23 -0
- package/dist/types/components/form/MyInput.d.ts.map +1 -0
- package/dist/types/components/form/MyMaskInput.d.ts +28 -0
- package/dist/types/components/form/MyMaskInput.d.ts.map +1 -0
- package/dist/types/components/form/MyRadio.d.ts +25 -0
- package/dist/types/components/form/MyRadio.d.ts.map +1 -0
- package/dist/types/components/form/MySelect.d.ts +29 -0
- package/dist/types/components/form/MySelect.d.ts.map +1 -0
- package/dist/types/components/form/MySwitch.d.ts +19 -0
- package/dist/types/components/form/MySwitch.d.ts.map +1 -0
- package/dist/types/components/form/MyTextarea.d.ts +24 -0
- package/dist/types/components/form/MyTextarea.d.ts.map +1 -0
- package/dist/types/components/form/MyTimePicker.d.ts +29 -0
- package/dist/types/components/form/MyTimePicker.d.ts.map +1 -0
- package/dist/types/components/form/index.d.ts +13 -0
- package/dist/types/components/form/index.d.ts.map +1 -0
- package/dist/types/components/gallery/MyGallery.d.ts +47 -0
- package/dist/types/components/gallery/MyGallery.d.ts.map +1 -0
- package/dist/types/components/gallery/index.d.ts +2 -0
- package/dist/types/components/gallery/index.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +15 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/components/loader/Loader.d.ts +9 -0
- package/dist/types/components/loader/Loader.d.ts.map +1 -0
- package/dist/types/components/loader/Spin.d.ts +14 -0
- package/dist/types/components/loader/Spin.d.ts.map +1 -0
- package/dist/types/components/loader/index.d.ts +4 -0
- package/dist/types/components/loader/index.d.ts.map +1 -0
- package/dist/types/components/modal/MyModal.d.ts +51 -0
- package/dist/types/components/modal/MyModal.d.ts.map +1 -0
- package/dist/types/components/modal/index.d.ts +2 -0
- package/dist/types/components/modal/index.d.ts.map +1 -0
- package/dist/types/components/pagination/MyLimitSelect.d.ts +24 -0
- package/dist/types/components/pagination/MyLimitSelect.d.ts.map +1 -0
- package/dist/types/components/pagination/MyPagination.d.ts +39 -0
- package/dist/types/components/pagination/MyPagination.d.ts.map +1 -0
- package/dist/types/components/pagination/index.d.ts +4 -0
- package/dist/types/components/pagination/index.d.ts.map +1 -0
- package/dist/types/components/scroll/ScrollArea.d.ts +8 -0
- package/dist/types/components/scroll/ScrollArea.d.ts.map +1 -0
- package/dist/types/components/scroll/index.d.ts +2 -0
- package/dist/types/components/scroll/index.d.ts.map +1 -0
- package/dist/types/components/theme/index.d.ts +2 -0
- package/dist/types/components/theme/index.d.ts.map +1 -0
- package/dist/types/components/theme/theme-toggle.d.ts +15 -0
- package/dist/types/components/theme/theme-toggle.d.ts.map +1 -0
- package/dist/types/components/tooltip/MyTooltip.d.ts +24 -0
- package/dist/types/components/tooltip/MyTooltip.d.ts.map +1 -0
- package/dist/types/components/tooltip/index.d.ts +3 -0
- package/dist/types/components/tooltip/index.d.ts.map +1 -0
- package/dist/types/contexts/ThemeProviderContext.d.ts +18 -0
- package/dist/types/contexts/ThemeProviderContext.d.ts.map +1 -0
- package/dist/types/contexts/index.d.ts +2 -0
- package/dist/types/contexts/index.d.ts.map +1 -0
- package/dist/types/enums/Keyboard.d.ts +7 -0
- package/dist/types/enums/Keyboard.d.ts.map +1 -0
- package/dist/types/enums/SortOrder.d.ts +8 -0
- package/dist/types/enums/SortOrder.d.ts.map +1 -0
- package/dist/types/enums/ThemeMode.d.ts +9 -0
- package/dist/types/enums/ThemeMode.d.ts.map +1 -0
- package/dist/types/enums/index.d.ts +4 -0
- package/dist/types/enums/index.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +9 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useColumns.d.ts +27 -0
- package/dist/types/hooks/useColumns.d.ts.map +1 -0
- package/dist/types/hooks/useConfirm.d.ts +16 -0
- package/dist/types/hooks/useConfirm.d.ts.map +1 -0
- package/dist/types/hooks/useDataTable.d.ts +27 -0
- package/dist/types/hooks/useDataTable.d.ts.map +1 -0
- package/dist/types/hooks/useDocumentTitle.d.ts +8 -0
- package/dist/types/hooks/useDocumentTitle.d.ts.map +1 -0
- package/dist/types/hooks/useFilter.d.ts +19 -0
- package/dist/types/hooks/useFilter.d.ts.map +1 -0
- package/dist/types/hooks/useMediaQuerySizes.d.ts +15 -0
- package/dist/types/hooks/useMediaQuerySizes.d.ts.map +1 -0
- package/dist/types/hooks/useSortable.d.ts +23 -0
- package/dist/types/hooks/useSortable.d.ts.map +1 -0
- package/dist/types/hooks/useTheme.d.ts +9 -0
- package/dist/types/hooks/useTheme.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/main.d.ts +1 -0
- package/dist/types/main.d.ts.map +1 -0
- package/dist/types/providers/ThemeProvider.d.ts +23 -0
- package/dist/types/providers/ThemeProvider.d.ts.map +1 -0
- package/dist/types/providers/index.d.ts +2 -0
- package/dist/types/providers/index.d.ts.map +1 -0
- package/dist/types/schemas/createConfirmPasswordSchema.d.ts +20 -0
- package/dist/types/schemas/createConfirmPasswordSchema.d.ts.map +1 -0
- package/dist/types/schemas/index.d.ts +2 -0
- package/dist/types/schemas/index.d.ts.map +1 -0
- package/dist/types/stores/index.d.ts +3 -0
- package/dist/types/stores/index.d.ts.map +1 -0
- package/dist/types/stores/useColumnsStore.d.ts +26 -0
- package/dist/types/stores/useColumnsStore.d.ts.map +1 -0
- package/dist/types/stores/useDateRangeStore.d.ts +27 -0
- package/dist/types/stores/useDateRangeStore.d.ts.map +1 -0
- package/dist/types/types/column.type.d.ts +31 -0
- package/dist/types/types/column.type.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +3 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/translation-args.type.d.ts +10 -0
- package/dist/types/types/translation-args.type.d.ts.map +1 -0
- package/dist/types/utils/day.d.ts +7 -0
- package/dist/types/utils/day.d.ts.map +1 -0
- package/dist/types/vite-env.d.ts +1 -0
- package/package.json +68 -43
- package/dist/chunks/Search-BFtfbppg.cjs.js +0 -2
- package/dist/chunks/Search-BFtfbppg.cjs.js.map +0 -1
- package/dist/chunks/Search-C1r74Jxy.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loader-D_jX_Wgx.cjs.js","sources":["../../src/components/loader/Loader.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport Spin from './Spin
|
|
1
|
+
{"version":3,"file":"Loader-D_jX_Wgx.cjs.js","sources":["../../src/components/loader/Loader.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport Spin from './Spin';\n\n/**\n * Loader shows a centered spinning indicator inside a container.\n *\n * @param props - Optional div HTML attributes.\n */\nconst Loader = (props?: HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className=\"text-item-primary mx-auto flex w-full items-center justify-center p-4\"\n {...props}\n >\n <Spin className=\"text-item-primary size-6\" />\n </div>\n );\n};\n\nexport default Loader;\n"],"names":["Loader","props","jsx","Spin"],"mappings":"sFAQMA,EAAUC,GAEZC,EAAAA,IAAC,MAAA,CACC,UAAU,wEACT,GAAGD,EAEJ,SAAAC,EAAAA,IAACC,EAAAA,KAAA,CAAK,UAAU,0BAAA,CAA2B,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loader-zvzAi0F6.es.js","sources":["../../src/components/loader/Loader.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport Spin from './Spin
|
|
1
|
+
{"version":3,"file":"Loader-zvzAi0F6.es.js","sources":["../../src/components/loader/Loader.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport Spin from './Spin';\n\n/**\n * Loader shows a centered spinning indicator inside a container.\n *\n * @param props - Optional div HTML attributes.\n */\nconst Loader = (props?: HTMLAttributes<HTMLDivElement>) => {\n return (\n <div\n className=\"text-item-primary mx-auto flex w-full items-center justify-center p-4\"\n {...props}\n >\n <Spin className=\"text-item-primary size-6\" />\n </div>\n );\n};\n\nexport default Loader;\n"],"names":["Loader","props","jsx","Spin"],"mappings":";;AAQA,MAAMA,IAAS,CAACC,MAEZ,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACT,GAAGD;AAAA,IAEJ,UAAA,gBAAAC,EAACC,GAAA,EAAK,WAAU,2BAAA,CAA2B;AAAA,EAAA;AAAA;"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsxs as l, jsx as s } from "react/jsx-runtime";
|
|
2
2
|
import { Button as c } from "dgz-ui/button";
|
|
3
|
-
import { Form as
|
|
4
|
-
import { Popover as O, PopoverTrigger as T, PopoverContent as
|
|
5
|
-
import { l as
|
|
6
|
-
import { ListFilterPlusIcon as
|
|
7
|
-
import { memo as G, useState as
|
|
3
|
+
import { Form as B, Input as E } from "dgz-ui/form";
|
|
4
|
+
import { Popover as O, PopoverTrigger as T, PopoverContent as C } from "dgz-ui/popover";
|
|
5
|
+
import { l as L } from "./lodash-CRDOWzbs.es.js";
|
|
6
|
+
import { ListFilterPlusIcon as R, ListFilterIcon as W, ChevronDown as $, SearchIcon as q } from "lucide-react";
|
|
7
|
+
import { memo as G, useState as y, useEffect as N, useCallback as x } from "react";
|
|
8
8
|
import { u as H } from "./useFilter-C_K_3fQu.es.js";
|
|
9
9
|
import { M as J } from "./MyInput-Wb0DSWo_.es.js";
|
|
10
10
|
import { M as K } from "./MySelect-D8ML7nhM.es.js";
|
|
11
11
|
import { cn as Q } from "dgz-ui/utils";
|
|
12
12
|
import { useTranslation as U } from "react-i18next";
|
|
13
|
-
const
|
|
13
|
+
const le = G(function({
|
|
14
14
|
filters: o,
|
|
15
15
|
params: r,
|
|
16
16
|
onFilter: a,
|
|
@@ -20,35 +20,35 @@ const ce = G(function({
|
|
|
20
20
|
contentProps: p,
|
|
21
21
|
title: n,
|
|
22
22
|
resetText: d,
|
|
23
|
-
applyText:
|
|
24
|
-
...
|
|
23
|
+
applyText: w,
|
|
24
|
+
...z
|
|
25
25
|
}) {
|
|
26
|
-
const [
|
|
27
|
-
|
|
26
|
+
const [I, M] = y(!1), [F, h] = y(!1), { form: b } = H({ params: r }), { watch: P, handleSubmit: j, control: v, reset: S } = b;
|
|
27
|
+
N(() => {
|
|
28
28
|
let e = !1;
|
|
29
|
-
o.map((
|
|
30
|
-
const u =
|
|
31
|
-
(Array.isArray(u) ? u.length > 0 : u) && (e = !0),
|
|
29
|
+
o.map((A) => {
|
|
30
|
+
const u = L.get(r, `${A.name}`);
|
|
31
|
+
(Array.isArray(u) ? u.length > 0 : u) && (e = !0), M(e);
|
|
32
32
|
});
|
|
33
33
|
}, [o, r]);
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
t == null || t(
|
|
37
|
-
}, [
|
|
38
|
-
const
|
|
34
|
+
const g = P();
|
|
35
|
+
N(() => {
|
|
36
|
+
t == null || t(g);
|
|
37
|
+
}, [g, t]);
|
|
38
|
+
const k = x(
|
|
39
39
|
(e = {}) => {
|
|
40
40
|
a == null || a(e), h(!1);
|
|
41
41
|
},
|
|
42
42
|
[a]
|
|
43
|
-
),
|
|
44
|
-
|
|
43
|
+
), D = x(() => {
|
|
44
|
+
S(), a && r && a({
|
|
45
45
|
...r,
|
|
46
46
|
...Object.fromEntries(
|
|
47
47
|
o.map((e) => [e.name, void 0])
|
|
48
48
|
)
|
|
49
49
|
}), h(!1);
|
|
50
|
-
}, [a,
|
|
51
|
-
return /* @__PURE__ */ l(O, { open:
|
|
50
|
+
}, [a, S, r, o]);
|
|
51
|
+
return /* @__PURE__ */ l(O, { open: F, onOpenChange: h, children: [
|
|
52
52
|
/* @__PURE__ */ s(T, { ...m, children: /* @__PURE__ */ s(
|
|
53
53
|
c,
|
|
54
54
|
{
|
|
@@ -56,16 +56,16 @@ const ce = G(function({
|
|
|
56
56
|
size: "sm",
|
|
57
57
|
variant: "secondary",
|
|
58
58
|
className: "ml-auto px-3",
|
|
59
|
-
...
|
|
59
|
+
...z,
|
|
60
60
|
children: /* @__PURE__ */ l("div", { className: "flex items-center", children: [
|
|
61
|
-
|
|
61
|
+
I ? /* @__PURE__ */ s(R, { className: "size-5" }) : /* @__PURE__ */ s(W, { className: "size-5" }),
|
|
62
62
|
" ",
|
|
63
|
-
/* @__PURE__ */ s("span", { className: "hidden lg
|
|
64
|
-
/* @__PURE__ */ s(
|
|
63
|
+
/* @__PURE__ */ s("span", { className: "hidden lg:inline!", children: n || "Filter" }),
|
|
64
|
+
/* @__PURE__ */ s($, {})
|
|
65
65
|
] })
|
|
66
66
|
}
|
|
67
67
|
) }),
|
|
68
|
-
/* @__PURE__ */ s(
|
|
68
|
+
/* @__PURE__ */ s(C, { side: "bottom", align: "end", ...p, children: /* @__PURE__ */ s(B, { ...b, children: /* @__PURE__ */ l("form", { onSubmit: j(k), children: [
|
|
69
69
|
/* @__PURE__ */ s("div", { className: "h-full shrink space-y-6 p-1", children: o.map(
|
|
70
70
|
(e) => e.options ? /* @__PURE__ */ s(
|
|
71
71
|
K,
|
|
@@ -97,15 +97,15 @@ const ce = G(function({
|
|
|
97
97
|
variant: "destructive",
|
|
98
98
|
type: "reset",
|
|
99
99
|
size: "sm",
|
|
100
|
-
onClick:
|
|
100
|
+
onClick: D,
|
|
101
101
|
children: d || "Reset"
|
|
102
102
|
}
|
|
103
103
|
),
|
|
104
|
-
/* @__PURE__ */ s(c, { type: "submit", size: "sm", children:
|
|
104
|
+
/* @__PURE__ */ s(c, { type: "submit", size: "sm", children: w || "Apply" })
|
|
105
105
|
] })
|
|
106
106
|
] }) }) })
|
|
107
107
|
] });
|
|
108
|
-
}),
|
|
108
|
+
}), ce = ({
|
|
109
109
|
name: i = "search",
|
|
110
110
|
defaultValue: o,
|
|
111
111
|
onSearchChange: r,
|
|
@@ -148,7 +148,7 @@ const ce = G(function({
|
|
|
148
148
|
);
|
|
149
149
|
};
|
|
150
150
|
export {
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
le as F,
|
|
152
|
+
ce as S
|
|
153
153
|
};
|
|
154
|
-
//# sourceMappingURL=Search-
|
|
154
|
+
//# sourceMappingURL=Search-CigmAAd7.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Search-CigmAAd7.es.js","sources":["../../src/components/filters/FilterWrapper.tsx","../../src/components/filters/Search.tsx"],"sourcesContent":["import { Button, type ButtonProps } from 'dgz-ui/button';\nimport { Form, type Option } from 'dgz-ui/form';\nimport {\n Popover,\n type PopoverContainerProps,\n PopoverContent,\n PopoverTrigger,\n} from 'dgz-ui/popover';\nimport { get } from 'lodash';\nimport { ChevronDown, ListFilterIcon, ListFilterPlusIcon } from 'lucide-react';\nimport { memo, type ReactNode, useCallback, useEffect, useState } from 'react';\nimport type { FieldValues } from 'react-hook-form';\nimport { useFilter } from '../../hooks';\nimport { MyInput, MySelect } from '../form';\n\n/**\n * Interface representing a filter configuration.\n */\nexport interface FilterInterface {\n /** Label for the filter field. */\n label?: ReactNode;\n /** Placeholder text for the input/select. */\n placeholder?: string;\n /** Default value for the filter. */\n value?: string | string[];\n /** Name of the filter field (used as key). */\n name: string;\n /** Whether the filter supports multiple values (for select inputs). */\n isMulti?: boolean;\n /** Whether the filter supports searchable inputs (for select inputs). */\n isSearchable?: boolean;\n /** Options for select inputs. */\n options?: Option[];\n}\n\n/**\n * Props for the FilterWrapper component.\n */\nexport interface FilterWrapperProps\n extends Omit<ButtonProps, 'title'>, PopoverContainerProps {\n /** Array of filter definitions to render. */\n filters: FilterInterface[];\n /** Current active parameters/filters. */\n params?: Record<string, unknown>;\n /** Callback fired when filters are applied. */\n onFilter?: (filters: Record<string, unknown>) => void;\n /** Callback fired when the filter popover is closed/cancelled. */\n onCancel?: () => void;\n /** Callback fired when filter form values change. */\n onChange?: (filters: FieldValues) => void;\n /** Title for the filter button. */\n title?: ReactNode;\n /** Text for the reset button. */\n resetText?: ReactNode;\n /** Text for the apply button. */\n applyText?: ReactNode;\n}\n\n/**\n * FilterWrapper shows a popover with a dynamic list of field filters and emits selected filter values.\n *\n * @param props.filters - Array of filter definitions to render.\n * @param props.params - Current params used to detect active filters.\n * @param props.onFilter - Callback fired when user applies filters.\n * @param props.onCancel - Callback fired on cancel.\n * @param props.onChange - Callback fired whenever filter form values change.\n */\nexport const FilterWrapper = memo(function FilterWrapper({\n filters,\n params,\n onFilter,\n onChange,\n onCancel,\n triggerProps,\n contentProps,\n title,\n resetText,\n applyText,\n ...btnProps\n}: FilterWrapperProps) {\n const [isFiltered, setIsFiltered] = useState(false);\n const [open, setOpen] = useState(false);\n const { form } = useFilter({ params });\n\n const { watch, handleSubmit, control, reset } = form;\n\n useEffect(() => {\n let hasFilter = false;\n filters.map((filter) => {\n const value = get(params, `${filter.name}`);\n if (Array.isArray(value) ? value.length > 0 : Boolean(value)) {\n hasFilter = true;\n }\n\n setIsFiltered(hasFilter);\n });\n }, [filters, params]);\n\n const values = watch();\n\n useEffect(() => {\n onChange?.(values);\n }, [values, onChange]);\n\n const handleFilter = useCallback(\n (data = {}) => {\n onFilter?.(data);\n setOpen(false);\n },\n [onFilter]\n );\n\n const handleReset = useCallback(() => {\n reset();\n if (onFilter && params) {\n onFilter({\n ...params,\n ...Object.fromEntries(\n filters.map((filter) => [filter.name, undefined])\n ),\n });\n }\n setOpen(false);\n }, [onFilter, reset, params, filters]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger {...triggerProps}>\n <Button\n asChild\n size={'sm'}\n variant=\"secondary\"\n className={'ml-auto px-3'}\n {...btnProps}\n >\n <div className={'flex items-center'}>\n {isFiltered ? (\n <ListFilterPlusIcon className={'size-5'} />\n ) : (\n <ListFilterIcon className={'size-5'} />\n )}{' '}\n <span className={'hidden lg:inline!'}>{title || 'Filter'}</span>\n <ChevronDown />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent side={'bottom'} align={'end'} {...contentProps}>\n <Form {...form}>\n <form onSubmit={handleSubmit(handleFilter)}>\n <div className={'h-full shrink space-y-6 p-1'}>\n {filters.map((filter) =>\n filter.options ? (\n <MySelect\n key={filter.name}\n control={control}\n name={filter.name}\n isSearchable={Boolean(filter.isSearchable)}\n placeholder={filter.placeholder}\n isMulti={filter.isMulti}\n options={filter.options}\n label={filter.label}\n />\n ) : (\n <MyInput\n key={filter.name}\n control={control}\n placeholder={filter.placeholder}\n name={filter.name}\n label={filter.label}\n />\n )\n )}\n </div>\n <div className={'flex shrink-0 justify-end gap-2'}>\n <Button\n variant={'destructive'}\n type=\"reset\"\n size={'sm'}\n onClick={handleReset}\n >\n {resetText || 'Reset'}\n </Button>\n <Button type=\"submit\" size={'sm'}>\n {applyText || 'Apply'}\n </Button>\n </div>\n </form>\n </Form>\n </PopoverContent>\n </Popover>\n );\n});\n","import { Button } from 'dgz-ui/button';\nimport { Input } from 'dgz-ui/form';\nimport { cn } from 'dgz-ui/utils';\nimport { SearchIcon } from 'lucide-react';\nimport type { FormEvent, HTMLAttributes } from 'react';\nimport { useTranslation } from 'react-i18next';\n\n/**\n * Props for the Search component.\n */\nexport interface SearchProps extends Omit<\n HTMLAttributes<HTMLInputElement>,\n 'defaultValue' | 'name'\n> {\n /** The name attribute for the input field. */\n name?: string;\n /** Placeholder text for the search input. */\n placeholder?: string;\n /** Default value for the search input. */\n defaultValue?: FormDataEntryValue | null;\n /** Callback function executed when search is submitted. */\n onSearchChange: (search?: FormDataEntryValue) => void;\n}\n\n/**\n * Search input with submit button that emits value via onSearchChange on submit.\n *\n * @param props.name - Form field name for search input. Defaults to \"search\".\n * @param props.defaultValue - Default search value.\n * @param props.onSearchChange - Callback fired with submitted value.\n */\nexport const Search = ({\n name = 'search',\n defaultValue,\n onSearchChange,\n placeholder,\n className,\n ...props\n}: SearchProps) => {\n const { t } = useTranslation();\n\n const handleSearch = (evt: FormEvent<HTMLFormElement>) => {\n const formData = new FormData(evt.currentTarget);\n onSearchChange(formData.get(name) || undefined);\n evt.preventDefault();\n evt.stopPropagation();\n };\n\n return (\n <form\n className={cn('relative w-full max-w-64 min-w-40', className)}\n onSubmit={handleSearch}\n >\n <Input\n {...props}\n className={'h-8 rounded-lg'}\n name={name}\n placeholder={placeholder || t('Search...')}\n defaultValue={defaultValue ? `${defaultValue}` : ''}\n />\n <Button\n type={'submit'}\n variant={'ghost'}\n className={\n 'text-foreground absolute top-0 right-0 cursor-pointer rounded-md !bg-transparent'\n }\n size={'sm'}\n >\n <SearchIcon />\n </Button>\n </form>\n );\n};\n"],"names":["FilterWrapper","memo","filters","params","onFilter","onChange","onCancel","triggerProps","contentProps","title","resetText","applyText","btnProps","isFiltered","setIsFiltered","useState","open","setOpen","form","useFilter","watch","handleSubmit","control","reset","useEffect","hasFilter","filter","value","get","values","handleFilter","useCallback","data","handleReset","jsxs","Popover","jsx","PopoverTrigger","Button","ListFilterPlusIcon","ListFilterIcon","ChevronDown","PopoverContent","Form","MySelect","MyInput","Search","name","defaultValue","onSearchChange","placeholder","className","props","t","useTranslation","handleSearch","evt","formData","cn","Input","SearchIcon"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),l=require("dgz-ui/button"),f=require("dgz-ui/form"),j=require("dgz-ui/popover"),D=require("./lodash-BjH0kD7j.cjs.js"),i=require("lucide-react"),a=require("react"),E=require("./useFilter-CsOF1_hM.cjs.js"),R=require("./MyInput-C9PNyYby.cjs.js"),A=require("./MySelect-Ovb1pK5c.cjs.js"),C=require("dgz-ui/utils"),O=require("react-i18next"),T=a.memo(function({filters:n,params:r,onFilter:t,onChange:c,onCancel:b,triggerProps:d,contentProps:m,title:o,resetText:h,applyText:g,...N}){const[I,w]=a.useState(!1),[z,p]=a.useState(!1),{form:v}=E.useFilter({params:r}),{watch:B,handleSubmit:F,control:S,reset:y}=v;a.useEffect(()=>{let s=!1;n.map(P=>{const x=D.lodashExports.get(r,`${P.name}`);(Array.isArray(x)?x.length>0:x)&&(s=!0),w(s)})},[n,r]);const q=B();a.useEffect(()=>{c==null||c(q)},[q,c]);const M=a.useCallback((s={})=>{t==null||t(s),p(!1)},[t]),k=a.useCallback(()=>{y(),t&&r&&t({...r,...Object.fromEntries(n.map(s=>[s.name,void 0]))}),p(!1)},[t,y,r,n]);return e.jsxs(j.Popover,{open:z,onOpenChange:p,children:[e.jsx(j.PopoverTrigger,{...d,children:e.jsx(l.Button,{asChild:!0,size:"sm",variant:"secondary",className:"ml-auto px-3",...N,children:e.jsxs("div",{className:"flex items-center",children:[I?e.jsx(i.ListFilterPlusIcon,{className:"size-5"}):e.jsx(i.ListFilterIcon,{className:"size-5"})," ",e.jsx("span",{className:"hidden lg:inline!",children:o||"Filter"}),e.jsx(i.ChevronDown,{})]})})}),e.jsx(j.PopoverContent,{side:"bottom",align:"end",...m,children:e.jsx(f.Form,{...v,children:e.jsxs("form",{onSubmit:F(M),children:[e.jsx("div",{className:"h-full shrink space-y-6 p-1",children:n.map(s=>s.options?e.jsx(A.MySelect,{control:S,name:s.name,isSearchable:!!s.isSearchable,placeholder:s.placeholder,isMulti:s.isMulti,options:s.options,label:s.label},s.name):e.jsx(R.MyInput,{control:S,placeholder:s.placeholder,name:s.name,label:s.label},s.name))}),e.jsxs("div",{className:"flex shrink-0 justify-end gap-2",children:[e.jsx(l.Button,{variant:"destructive",type:"reset",size:"sm",onClick:k,children:h||"Reset"}),e.jsx(l.Button,{type:"submit",size:"sm",children:g||"Apply"})]})]})})})]})}),W=({name:u="search",defaultValue:n,onSearchChange:r,placeholder:t,className:c,...b})=>{const{t:d}=O.useTranslation(),m=o=>{const h=new FormData(o.currentTarget);r(h.get(u)||void 0),o.preventDefault(),o.stopPropagation()};return e.jsxs("form",{className:C.cn("relative w-full max-w-64 min-w-40",c),onSubmit:m,children:[e.jsx(f.Input,{...b,className:"h-8 rounded-lg",name:u,placeholder:t||d("Search..."),defaultValue:n?`${n}`:""}),e.jsx(l.Button,{type:"submit",variant:"ghost",className:"text-foreground absolute top-0 right-0 cursor-pointer rounded-md !bg-transparent",size:"sm",children:e.jsx(i.SearchIcon,{})})]})};exports.FilterWrapper=T;exports.Search=W;
|
|
2
|
+
//# sourceMappingURL=Search-c_EapKlJ.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Search-c_EapKlJ.cjs.js","sources":["../../src/components/filters/FilterWrapper.tsx","../../src/components/filters/Search.tsx"],"sourcesContent":["import { Button, type ButtonProps } from 'dgz-ui/button';\nimport { Form, type Option } from 'dgz-ui/form';\nimport {\n Popover,\n type PopoverContainerProps,\n PopoverContent,\n PopoverTrigger,\n} from 'dgz-ui/popover';\nimport { get } from 'lodash';\nimport { ChevronDown, ListFilterIcon, ListFilterPlusIcon } from 'lucide-react';\nimport { memo, type ReactNode, useCallback, useEffect, useState } from 'react';\nimport type { FieldValues } from 'react-hook-form';\nimport { useFilter } from '../../hooks';\nimport { MyInput, MySelect } from '../form';\n\n/**\n * Interface representing a filter configuration.\n */\nexport interface FilterInterface {\n /** Label for the filter field. */\n label?: ReactNode;\n /** Placeholder text for the input/select. */\n placeholder?: string;\n /** Default value for the filter. */\n value?: string | string[];\n /** Name of the filter field (used as key). */\n name: string;\n /** Whether the filter supports multiple values (for select inputs). */\n isMulti?: boolean;\n /** Whether the filter supports searchable inputs (for select inputs). */\n isSearchable?: boolean;\n /** Options for select inputs. */\n options?: Option[];\n}\n\n/**\n * Props for the FilterWrapper component.\n */\nexport interface FilterWrapperProps\n extends Omit<ButtonProps, 'title'>, PopoverContainerProps {\n /** Array of filter definitions to render. */\n filters: FilterInterface[];\n /** Current active parameters/filters. */\n params?: Record<string, unknown>;\n /** Callback fired when filters are applied. */\n onFilter?: (filters: Record<string, unknown>) => void;\n /** Callback fired when the filter popover is closed/cancelled. */\n onCancel?: () => void;\n /** Callback fired when filter form values change. */\n onChange?: (filters: FieldValues) => void;\n /** Title for the filter button. */\n title?: ReactNode;\n /** Text for the reset button. */\n resetText?: ReactNode;\n /** Text for the apply button. */\n applyText?: ReactNode;\n}\n\n/**\n * FilterWrapper shows a popover with a dynamic list of field filters and emits selected filter values.\n *\n * @param props.filters - Array of filter definitions to render.\n * @param props.params - Current params used to detect active filters.\n * @param props.onFilter - Callback fired when user applies filters.\n * @param props.onCancel - Callback fired on cancel.\n * @param props.onChange - Callback fired whenever filter form values change.\n */\nexport const FilterWrapper = memo(function FilterWrapper({\n filters,\n params,\n onFilter,\n onChange,\n onCancel,\n triggerProps,\n contentProps,\n title,\n resetText,\n applyText,\n ...btnProps\n}: FilterWrapperProps) {\n const [isFiltered, setIsFiltered] = useState(false);\n const [open, setOpen] = useState(false);\n const { form } = useFilter({ params });\n\n const { watch, handleSubmit, control, reset } = form;\n\n useEffect(() => {\n let hasFilter = false;\n filters.map((filter) => {\n const value = get(params, `${filter.name}`);\n if (Array.isArray(value) ? value.length > 0 : Boolean(value)) {\n hasFilter = true;\n }\n\n setIsFiltered(hasFilter);\n });\n }, [filters, params]);\n\n const values = watch();\n\n useEffect(() => {\n onChange?.(values);\n }, [values, onChange]);\n\n const handleFilter = useCallback(\n (data = {}) => {\n onFilter?.(data);\n setOpen(false);\n },\n [onFilter]\n );\n\n const handleReset = useCallback(() => {\n reset();\n if (onFilter && params) {\n onFilter({\n ...params,\n ...Object.fromEntries(\n filters.map((filter) => [filter.name, undefined])\n ),\n });\n }\n setOpen(false);\n }, [onFilter, reset, params, filters]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger {...triggerProps}>\n <Button\n asChild\n size={'sm'}\n variant=\"secondary\"\n className={'ml-auto px-3'}\n {...btnProps}\n >\n <div className={'flex items-center'}>\n {isFiltered ? (\n <ListFilterPlusIcon className={'size-5'} />\n ) : (\n <ListFilterIcon className={'size-5'} />\n )}{' '}\n <span className={'hidden lg:inline!'}>{title || 'Filter'}</span>\n <ChevronDown />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent side={'bottom'} align={'end'} {...contentProps}>\n <Form {...form}>\n <form onSubmit={handleSubmit(handleFilter)}>\n <div className={'h-full shrink space-y-6 p-1'}>\n {filters.map((filter) =>\n filter.options ? (\n <MySelect\n key={filter.name}\n control={control}\n name={filter.name}\n isSearchable={Boolean(filter.isSearchable)}\n placeholder={filter.placeholder}\n isMulti={filter.isMulti}\n options={filter.options}\n label={filter.label}\n />\n ) : (\n <MyInput\n key={filter.name}\n control={control}\n placeholder={filter.placeholder}\n name={filter.name}\n label={filter.label}\n />\n )\n )}\n </div>\n <div className={'flex shrink-0 justify-end gap-2'}>\n <Button\n variant={'destructive'}\n type=\"reset\"\n size={'sm'}\n onClick={handleReset}\n >\n {resetText || 'Reset'}\n </Button>\n <Button type=\"submit\" size={'sm'}>\n {applyText || 'Apply'}\n </Button>\n </div>\n </form>\n </Form>\n </PopoverContent>\n </Popover>\n );\n});\n","import { Button } from 'dgz-ui/button';\nimport { Input } from 'dgz-ui/form';\nimport { cn } from 'dgz-ui/utils';\nimport { SearchIcon } from 'lucide-react';\nimport type { FormEvent, HTMLAttributes } from 'react';\nimport { useTranslation } from 'react-i18next';\n\n/**\n * Props for the Search component.\n */\nexport interface SearchProps extends Omit<\n HTMLAttributes<HTMLInputElement>,\n 'defaultValue' | 'name'\n> {\n /** The name attribute for the input field. */\n name?: string;\n /** Placeholder text for the search input. */\n placeholder?: string;\n /** Default value for the search input. */\n defaultValue?: FormDataEntryValue | null;\n /** Callback function executed when search is submitted. */\n onSearchChange: (search?: FormDataEntryValue) => void;\n}\n\n/**\n * Search input with submit button that emits value via onSearchChange on submit.\n *\n * @param props.name - Form field name for search input. Defaults to \"search\".\n * @param props.defaultValue - Default search value.\n * @param props.onSearchChange - Callback fired with submitted value.\n */\nexport const Search = ({\n name = 'search',\n defaultValue,\n onSearchChange,\n placeholder,\n className,\n ...props\n}: SearchProps) => {\n const { t } = useTranslation();\n\n const handleSearch = (evt: FormEvent<HTMLFormElement>) => {\n const formData = new FormData(evt.currentTarget);\n onSearchChange(formData.get(name) || undefined);\n evt.preventDefault();\n evt.stopPropagation();\n };\n\n return (\n <form\n className={cn('relative w-full max-w-64 min-w-40', className)}\n onSubmit={handleSearch}\n >\n <Input\n {...props}\n className={'h-8 rounded-lg'}\n name={name}\n placeholder={placeholder || t('Search...')}\n defaultValue={defaultValue ? `${defaultValue}` : ''}\n />\n <Button\n type={'submit'}\n variant={'ghost'}\n className={\n 'text-foreground absolute top-0 right-0 cursor-pointer rounded-md !bg-transparent'\n }\n size={'sm'}\n >\n <SearchIcon />\n </Button>\n </form>\n );\n};\n"],"names":["FilterWrapper","memo","filters","params","onFilter","onChange","onCancel","triggerProps","contentProps","title","resetText","applyText","btnProps","isFiltered","setIsFiltered","useState","open","setOpen","form","useFilter","watch","handleSubmit","control","reset","useEffect","hasFilter","filter","value","get","values","handleFilter","useCallback","data","handleReset","jsxs","Popover","jsx","PopoverTrigger","Button","ListFilterPlusIcon","ListFilterIcon","ChevronDown","PopoverContent","Form","MySelect","MyInput","Search","name","defaultValue","onSearchChange","placeholder","className","props","t","useTranslation","handleSearch","evt","formData","cn","Input","SearchIcon"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),J=require("../../chunks/index-ClQFzqcq.cjs.js"),V=require("dgz-ui/button"),v=require("dgz-ui/dropdown"),o=require("../../chunks/lodash-BjH0kD7j.cjs.js"),a=require("lucide-react"),z=require("react"),m=require("react-i18next"),B=require("../../chunks/useSortable-D1iGfsy3.cjs.js"),P=require("../../chunks/Actions-CXOiCjx0.cjs.js"),ee=require("../../chunks/ExportData-CrB0H1Ts.cjs.js"),_=require("../../chunks/Search-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),J=require("../../chunks/index-ClQFzqcq.cjs.js"),V=require("dgz-ui/button"),v=require("dgz-ui/dropdown"),o=require("../../chunks/lodash-BjH0kD7j.cjs.js"),a=require("lucide-react"),z=require("react"),m=require("react-i18next"),B=require("../../chunks/useSortable-D1iGfsy3.cjs.js"),P=require("../../chunks/Actions-CXOiCjx0.cjs.js"),ee=require("../../chunks/ExportData-CrB0H1Ts.cjs.js"),_=require("../../chunks/Search-c_EapKlJ.cjs.js"),se=require("../../chunks/Loader-D_jX_Wgx.cjs.js"),L=require("../../chunks/MyPagination-CnF3468f.cjs.js"),u=require("dgz-ui/form"),c=require("dgz-ui/table"),R=require("dgz-ui/utils"),G=require("../../chunks/SortOrder-81BrXp3i.cjs.js"),le=require("../../chunks/Empty-BYOOFAab.cjs.js"),I=({rows:l=[],columns:h,onRowClick:g,rowKey:f,params:n={page:1,limit:L.DEFAULT_LIMIT},hasNumbers:q=!1,hasCheckbox:N=!1,selectedItems:D,onSelectedItemsChange:E,onSortOrderChange:y,isStickyHeader:t,className:F,...H})=>{const{sortObject:x,handleSort:M}=B.useSortable({sortField:n==null?void 0:n.sortField,sortOrder:n==null?void 0:n.sortOrder,onSortOrderChange:y}),{selectedRows:T,isRowSelected:p,isAllRowsSelected:j,handleSelectAllRows:O,handleSelectRow:k}=B.useDataTable({rows:l,defaultSelectedRows:D});return z.useEffect(()=>{JSON.stringify(D)!==JSON.stringify(T)&&T&&(E==null||E(T))},[T,D,E]),e.jsxs(c.Table,{...H,className:R.cn("relative",F),children:[e.jsx(c.TableHeader,{className:R.cn("bg-bg",t&&"sticky top-0 z-10"),children:e.jsxs(c.TableRow,{children:[N&&e.jsx(c.TableHead,{className:"w-12 p-3",children:e.jsx(u.Checkbox,{className:"mt-1",checked:j(f),onCheckedChange:s=>O(f,!!s),"aria-label":"Select all"})}),q&&e.jsx(c.TableHead,{className:"w-12 p-2",children:"#"}),h.filter(s=>!s.hidden).map(s=>e.jsx(c.TableHead,{style:s.styles,className:R.cn("p-2",s.sortable&&"cursor-pointer"),onClick:()=>s.sortable&&M(s.dataIndex),children:e.jsxs("div",{className:"flex items-center gap-2",children:[s.name," ",s.sortable&&((x==null?void 0:x.sortField)===s.key?e.jsxs(e.Fragment,{children:[(x==null?void 0:x.sortOrder)===G.SortOrder.DESC&&e.jsx(a.ArrowDownWideNarrow,{size:15}),(x==null?void 0:x.sortOrder)===G.SortOrder.ASC&&e.jsx(a.ArrowUpWideNarrow,{size:15})]}):e.jsx(a.ArrowUpDown,{size:15}))]})},s.key))]})}),e.jsx(c.TableBody,{className:"[&>tr:nth-child(even)]:bg-bg-secondary",children:l.length?l.map((s,w)=>e.jsxs(c.TableRow,{onClick:()=>g==null?void 0:g(s),className:R.cn(g&&"cursor-pointer"),"data-state":p(s[f])&&"selected",children:[N&&e.jsx(c.TableCell,{className:"w-12 p-3",onClick:d=>d.stopPropagation(),children:e.jsx(u.Checkbox,{className:"mt-1",checked:p(s[f]),onCheckedChange:d=>k(s[f],!!d),"aria-label":"Select row"})}),q&&e.jsx(c.TableCell,{className:"w-12 p-2",children:(n.page-1)*(n.limit||L.DEFAULT_LIMIT)+w+1}),h.filter(d=>!d.hidden).map(d=>e.jsx(c.TableCell,{className:"text-body-xs-medium max-w-xs p-2",style:d.styles,children:d.render?d.render(o.lodashExports.get(s,d.dataIndex),s):o.lodashExports.get(s,d.dataIndex,"")},`${w}-${d.key}`))]},`${s[f]}`)):e.jsx(c.TableRow,{children:e.jsx(c.TableCell,{colSpan:q?N?h.length+2:h.length+1:h.length,children:e.jsx(le.Empty,{})})})})]})},te=({dataSource:l,columns:h,onRowClick:g,rowKey:f,hasNumbers:n,hasSearch:q,exportOptions:N,hasCheckbox:D,hasPagination:E,isStickyHeader:y,onParamChange:t,dataKey:F="docs",loading:H,tableKey:x,filters:M,actions:T,handleFilterChange:p,params:j,exportLoading:O=!1,onColumnsUpdate:k,hasColumnsVisibilityDropdown:s,onSelectedItemsChange:w,actionProps:d,filterWrapperProps:Q,exportOptionsProps:X,columnsVisibilityProps:i,paginationProps:Y,searchProps:Z,...U})=>{const{t:$}=m.useTranslation(),[b,K]=z.useState([]),{formattedColumns:A,handleColumnsChange:S,resetColumns:C}=B.useColumns({key:x,columns:h});return z.useEffect(()=>{k==null||k(A)},[A,k]),z.useEffect(()=>{w==null||w(b)},[b,w]),e.jsxs("div",{className:"border-border-alpha-light flex grow flex-col overflow-auto rounded-xl border shadow-xs",children:[(q||s&&x||!o.lodashExports.isEmpty(N)||!o.lodashExports.isEmpty(M))&&e.jsxs("div",{className:"flex shrink-0 flex-col items-center justify-between gap-3 p-4 lg:flex-row",children:[e.jsx("div",{className:"w-full shrink",children:q&&e.jsx(_.Search,{...Z,defaultValue:o.lodashExports.get(j,"search",""),onSearchChange:r=>t==null?void 0:t({...j,search:r,page:1})})}),e.jsxs("div",{className:"flex shrink-0 items-center justify-end gap-3",children:[N&&e.jsx(ee.ExportData,{...X,options:N,loading:O}),s&&x&&e.jsxs(v.DropdownMenu,{children:[e.jsx(v.DropdownMenuTrigger,{asChild:!0,...i==null?void 0:i.triggerProps,children:e.jsx(V.Button,{variant:"secondary",size:"sm",className:"ml-auto rounded-lg px-3",children:(i==null?void 0:i.title)||e.jsxs(e.Fragment,{children:[e.jsx(J.yn,{})," ",e.jsx("span",{className:"hidden lg:!inline",children:$("Customize columns")}),e.jsx(J.f1,{})]})})}),e.jsxs(v.DropdownMenuContent,{align:"end",...i==null?void 0:i.contentProps,children:[e.jsxs(v.DropdownMenuItem,{className:"capitalize",onClick:C,children:[e.jsx(a.RefreshCw,{})," ",(i==null?void 0:i.resetText)||$("Reset columns")]}),e.jsx(v.DropdownMenuSeparator,{}),A.map(r=>e.jsx(v.DropdownMenuCheckboxItem,{className:"capitalize",checked:!r.hidden,onCheckedChange:W=>S(r,!W),children:r.name},r.key))]})]}),T&&e.jsx(P.Actions,{...d,actions:T}),M&&e.jsx(_.FilterWrapper,{...Q,filters:M,params:j,onFilter:r=>{t==null||t({...j,...r,page:1}),p==null||p(r)}})]})]}),e.jsx("div",{className:"flex flex-col overflow-auto border-y",children:H?e.jsx(se.Loader,{}):e.jsx(I,{...U,params:{page:(l==null?void 0:l.page)||1,limit:l==null?void 0:l.limit,...j},rows:o.lodashExports.get(l,F,[]),rowKey:f,selectedItems:b,isStickyHeader:y,columns:A,hasCheckbox:D,hasNumbers:n,onRowClick:g,onSelectedItemsChange:K,onSortOrderChange:({sortField:r,sortOrder:W})=>{t==null||t({...j,sortField:r,sortOrder:W})}})}),E&&e.jsxs("div",{className:"flex shrink-0 flex-col items-center justify-between gap-3 p-4 lg:flex-row",children:[e.jsx("div",{className:"text-sm",children:e.jsx(L.MyLimitSelect,{onLimitChange:r=>t==null?void 0:t({...j,limit:r,page:1}),defaultValue:l==null?void 0:l.limit})}),e.jsx("div",{className:"text-muted-foreground text-sm",children:$("{{selectedCount}} of {{total}} row(s) selected",{selectedCount:b.length,total:(l==null?void 0:l.total)||0})}),e.jsx("div",{children:e.jsx(L.MyPagination,{...Y,onPageChange:r=>t==null?void 0:t({...j,page:r}),currentPage:l==null?void 0:l.page,totalPages:l==null?void 0:l.totalPages})})]})]})};exports.DataTable=te;exports.MyTable=I;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -9,7 +9,7 @@ import { useTranslation as pe } from "react-i18next";
|
|
|
9
9
|
import { u as xe, a as Ne, b as he } from "../../chunks/useSortable-DHdn9snJ.es.js";
|
|
10
10
|
import { A as we } from "../../chunks/Actions-Bi_vjY5M.es.js";
|
|
11
11
|
import { E as ge } from "../../chunks/ExportData-CHPKm-ZY.es.js";
|
|
12
|
-
import { S as ne, F as ke } from "../../chunks/Search-
|
|
12
|
+
import { S as ne, F as ke } from "../../chunks/Search-CigmAAd7.es.js";
|
|
13
13
|
import { L as ve } from "../../chunks/Loader-zvzAi0F6.es.js";
|
|
14
14
|
import { D as j, M as Te, a as De } from "../../chunks/MyPagination-B0czoGZK.es.js";
|
|
15
15
|
import { Checkbox as q } from "dgz-ui/form";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../chunks/Search-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../chunks/Search-c_EapKlJ.cjs.js"),t=require("react/jsx-runtime"),l=require("../../chunks/index-ClQFzqcq.cjs.js"),p=require("dgz-ui/button"),d=require("dgz-ui/form"),h=require("dgz-ui/utils"),q=require("../../chunks/lodash-BjH0kD7j.cjs.js"),x=require("react"),y=require("react-i18next"),b=require("../../chunks/Keyboard-kyPAAQWP.cjs.js"),g=({placeholder:r,onSearchChange:o,className:a,...i})=>{const{t:c}=y.useTranslation(),[s,u]=x.useState("");return t.jsxs("div",{...i,className:h.cn("relative my-2 w-full",a),children:[t.jsx(d.Input,{placeholder:r||c("Type text and press CTRL + Enter"),onInput:e=>u(q.lodashExports.get(e,"target.value","")),onKeyUp:e=>{e.key===b.Keyboard.ENTER&&(e.ctrlKey&&o(s||void 0),e.stopPropagation(),e.preventDefault())}}),t.jsx(p.Button,{type:"button",variant:"ghost",className:"text-foreground absolute top-0 right-0 cursor-pointer rounded-md !bg-transparent",onClick:()=>o(s),children:t.jsx(l.pv,{})})]})};exports.FilterWrapper=n.FilterWrapper;exports.Search=n.Search;exports.SearchWithCtrl=g;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as I, S as R } from "../../chunks/Search-
|
|
1
|
+
import { F as I, S as R } from "../../chunks/Search-CigmAAd7.es.js";
|
|
2
2
|
import { jsxs as m, jsx as t } from "react/jsx-runtime";
|
|
3
3
|
import { p as l } from "../../chunks/index-E1NtSoNr.es.js";
|
|
4
4
|
import { Button as f } from "dgz-ui/button";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-200:oklch(92.8% .006 264.531);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-semibold:600;--radius-xs:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--primary:var(--color-neutral-950);--secondary:var(--color-neutral-alpha-13);--background:var(--color-neutral-0);--background-secondary:var(--color-neutral-50);--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:#30303033;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius-xs:.125rem;--color-neutral-alpha-0:rgb(from var(--color-neutral-alpha-base)r g b/.01%);--color-neutral-alpha-1:rgb(from var(--color-neutral-alpha-base)r g b/3%);--color-neutral-alpha-2:rgb(from var(--color-neutral-alpha-base)r g b/5%);--color-neutral-alpha-3:rgb(from var(--color-neutral-alpha-base)r g b/7%);--color-neutral-alpha-4:rgb(from var(--color-neutral-alpha-base)r g b/10%);--color-neutral-alpha-5:rgb(from var(--color-neutral-alpha-base)r g b/16%);--color-neutral-alpha-6:rgb(from var(--color-neutral-alpha-base)r g b/20%);--color-neutral-alpha-7:rgb(from var(--color-neutral-alpha-base)r g b/24%);--color-neutral-alpha-8:rgb(from var(--color-neutral-alpha-base)r g b/28%);--color-neutral-alpha-9:rgb(from var(--color-neutral-alpha-base)r g b/32%);--color-neutral-alpha-10:rgb(from var(--color-neutral-alpha-base)r g b/40%);--color-neutral-alpha-11:rgb(from var(--color-neutral-alpha-base)r g b/48%);--color-neutral-alpha-12:rgb(from var(--color-neutral-alpha-base)r g b/56%);--color-neutral-alpha-13:rgb(from var(--color-neutral-alpha-base)r g b/64%);--color-neutral-alpha-14:rgb(from var(--color-neutral-alpha-base)r g b/72%);--color-neutral-alpha-15:rgb(from var(--color-neutral-alpha-base)r g b/80%);--color-neutral-alpha-16:rgb(from var(--color-neutral-alpha-base)r g b/88%);--color-neutral-inverted-0:rgb(from var(--color-neutral-base)r g b/.01%);--color-neutral-inverted-1:rgb(from var(--color-neutral-base)r g b/3%);--color-neutral-inverted-2:rgb(from var(--color-neutral-base)r g b/5%);--color-neutral-inverted-3:rgb(from var(--color-neutral-base)r g b/7%);--color-neutral-inverted-4:rgb(from var(--color-neutral-base)r g b/10%);--color-neutral-inverted-5:rgb(from var(--color-neutral-base)r g b/16%);--color-neutral-inverted-6:rgb(from var(--color-neutral-base)r g b/20%);--color-neutral-inverted-7:rgb(from var(--color-neutral-base)r g b/24%);--color-neutral-inverted-8:rgb(from var(--color-neutral-base)r g b/28%);--color-neutral-inverted-9:rgb(from var(--color-neutral-base)r g b/32%);--color-neutral-inverted-10:rgb(from var(--color-neutral-base)r g b/40%);--color-neutral-inverted-11:rgb(from var(--color-neutral-base)r g b/48%);--color-neutral-inverted-12:rgb(from var(--color-neutral-base)r g b/56%);--color-neutral-inverted-13:rgb(from var(--color-neutral-base)r g b/64%);--color-neutral-inverted-14:rgb(from var(--color-neutral-base)r g b/72%);--color-neutral-inverted-15:rgb(from var(--color-neutral-base)r g b/80%);--color-neutral-inverted-16:rgb(from var(--color-neutral-base)r g b/88%);--color-item-primary:var(--color-neutral-950);--color-item-secondary:var(--color-neutral-alpha-13);--color-item-tertiary:var(--color-neutral-alpha-10);--color-item-quaternary:var(--color-neutral-alpha-7);--color-item-primary-primary:var(--color-blue-600);--color-item-primary-primary-hover:var(--color-blue-700);--color-item-primary-primary-active:var(--color-blue-600);--color-item-primary-primary-focus:var(--color-blue-200);--color-item-primary-secondary:var(--color-neutral-0);--color-item-primary-secondary-hover:var(--color-neutral-50);--color-item-primary-secondary-active:var(--color-neutral-100);--color-item-primary-tertiary:var(--color-neutral-alpha-1);--color-item-primary-tertiary-hover:var(--color-neutral-alpha-2);--color-item-primary-tertiary-active:var(--color-neutral-alpha-3);--color-item-primary-ghost:var(--color-neutral-alpha-0);--color-item-primary-ghost-hover:var(--color-neutral-alpha-2);--color-item-primary-ghost-active:var(--color-neutral-alpha-3);--color-item-primary-destructive:var(--color-red-600);--color-item-primary-destructive-hover:var(--color-red-700);--color-item-primary-destructive-active:var(--color-red-600);--color-item-primary-destructive-focus:var(--color-red-200);--color-item-inverted:var(--color-neutral-0);--color-item-inverted-secondary:var(--color-neutral-inverted-13);--color-item-inverted-tertiary:var(--color-neutral-inverted-10);--color-item-inverted-quaternary:var(--color-neutral-inverted-7);--color-item-fixed:#090a0c;--color-item-fixed-secondary:#16191da3;--color-item-fixed-tertiary:#16191d66;--color-item-fixed-quaternary:#16191d3d;--color-item-fixed-inverted:var(--color-neutral-0);--color-item-fixed-inverted-secondary:var(--color-neutral-inverted-13);--color-item-fixed-inverted-tertiary:var(--color-neutral-inverted-10);--color-item-fixed-inverted-quaternary:var(--color-neutral-inverted-7);--color-surface-base-primary:var(--color-neutral-0);--color-surface-base-secondary:var(--color-neutral-50);--color-surface-base-tertiary:var(--color-neutral-100);--color-surface-component-primary:var(--color-neutral-0);--color-surface-component-secondary:var(--color-neutral-0);--color-surface-component-tertiary:var(--color-neutral-0);--color-surface-base-inverted:var(--color-neutral-950);--color-surface-overlay:#343434;--color-surface-muted:var(--color-neutral-0);--color-surface-muted-hover:var(--color-neutral-50);--color-surface-muted-pressed:var(--color-neutral-100);--color-shadows-inner-0:rgba(var(--color-neutral-base),0);--color-shadows-inner-1:#16191d;--color-shadows-inner-2:#16191d;--color-shadows-drop-1:#16191d;--color-shadows-drop-2:#16191d;--color-shadows-drop-3:#16191d;--color-shadows-drop-4:#16191d;--color-shadows-highlight-1:var(--color-blue-200);--color-shadows-highlight-2:var(--color-blue-500);--color-shadows-danger-1:var(--color-red-200);--color-shadows-danger-2:#ee3a3a;--color-shadows-card-border:#16191d;--color-shadows-card-border-2:#16191d;--color-border-base:var(--border);--color-border-alpha-strong:var(--color-neutral-alpha-6);--color-border-alpha-light:var(--color-neutral-alpha-3);--color-border-alpha-subtle:var(--color-neutral-alpha-4);--color-border-light:var(--color-neutral-200)}.dark{--background:var(--color-neutral-0);--background-secondary:var(--color-neutral-alpha-base);--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:#fff3;--input:0 0% 14.9%;--ring:0 0% 83.1%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--sidebar:var(--background);--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#3b82f6;--color-item-secondary:var(--color-neutral-inverted-13);--color-item-primary-tertiary:var(--color-neutral-inverted-2);--color-item-primary-tertiary-hover:var(--color-neutral-inverted-3);--color-item-primary-tertiary-active:var(--color-neutral-inverted-4);--color-surface-base-secondary:var(--color-neutral-inverted-2);--color-surface-base-tertiary:var(--color-neutral-200);--color-surface-component-primary:var(--color-neutral-100);--color-surface-component-secondary:var(--color-neutral-200);--color-surface-component-tertiary:#383838;--color-surface-base-inverted:var(--color-neutral-base);--color-surface-overlay:var(--color-neutral-inverted-3);--color-surface-muted:var(--color-neutral-100);--color-surface-muted-hover:var(--color-neutral-200);--color-surface-muted-pressed:#383838;--color-border-strong:var(--color-neutral-inverted-6);--color-shadow-inner-0:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-inner-1:rgb(from var(--color-neutral-base)r g b/8%);--color-shadow-inner-2:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-drop-1:#0000001f;--color-shadow-drop-2:#0003;--color-shadow-drop-3:#00000047;--color-shadow-drop-4:#0000005c;--color-shadow-card-border:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-card-border-2:rgb(from var(--color-neutral-base)r g b/0%);--color-border-alpha-strong:var(--color-neutral-inverted-6);--color-border-alpha-light:var(--color-neutral-inverted-4);--color-border-alpha-subtle:var(--color-neutral-inverted-5)}:root{--sidebar:var(--background-secondary);--sidebar-foreground:var(--primary);--sidebar-primary:#18181b;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f4f4f5;--sidebar-accent-foreground:#18181b;--sidebar-border:#e5e7eb;--sidebar-ring:#3b82f6}*{border-color:var(--color-border-alpha-light)}body{background-color:var(--background);font-family:var(--font-family-base);color:var(--color-item-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing)*2.5)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-8{right:calc(var(--spacing)*8)}.-bottom-5{bottom:calc(var(--spacing)*-5)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-auto{bottom:auto}.left-2{left:calc(var(--spacing)*2)}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.m-0\!{margin:calc(var(--spacing)*0)!important}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-full{width:100%;height:100%}.h-8{height:calc(var(--spacing)*8)}.h-8\.5{height:calc(var(--spacing)*8.5)}.h-16{height:calc(var(--spacing)*16)}.h-\[1\.2rem\]{height:1.2rem}.h-full{height:100%}.max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.max-h-full{max-height:100%}.min-h-10{min-height:calc(var(--spacing)*10)}.w-9{width:calc(var(--spacing)*9)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-17{width:calc(var(--spacing)*17)}.w-\[1\.2rem\]{width:1.2rem}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-64{max-width:calc(var(--spacing)*64)}.max-w-\[95\%\]{max-width:95%}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-16{min-width:calc(var(--spacing)*16)}.min-w-20{min-width:calc(var(--spacing)*20)}.min-w-40{min-width:calc(var(--spacing)*40)}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-border-alpha-light{border-color:var(--color-border-alpha-light)}.border-item-primary{border-color:var(--color-item-primary-primary)}.border-transparent{border-color:#0000}.\!bg-transparent{background-color:#0000!important}.bg-bg,.bg-bg\/70{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-bg\/70{background-color:color-mix(in oklab,var(--background)70%,transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-1{padding-block:calc(var(--spacing)*1)}.text-center{text-align:center}.text-start{text-align:start}.text-body-sm-medium{font-size:.875rem;line-height:var(--tw-leading,1.25rem);font-weight:var(--tw-font-weight,500)}.text-body-xs-medium{font-size:.75rem;line-height:var(--tw-leading,1.125rem);font-weight:var(--tw-font-weight,500)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-foreground{color:var(--foreground)}.text-item-primary{color:var(--color-item-primary-primary)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-red-600{color:var(--color-red-600)}.text-secondary{color:var(--color-item-secondary)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.accent-foreground{accent-color:var(--foreground)}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:border-item-primary:hover{border-color:var(--color-item-primary-primary)}.hover\:opacity-80:hover{opacity:.8}}@media(min-width:64rem){.lg\:\!inline{display:inline!important}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media(min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:96rem){.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:none}.\[\&\>tr\:nth-child\(even\)\]\:bg-bg-secondary>tr:nth-child(2n){background-color:var(--background-secondary)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--color-neutral-base:#fff;--color-neutral-0:var(--color-neutral-base);--color-neutral-50:#f9f9f9;--color-neutral-100:#f6f6f6;--color-neutral-200:#efefef;--color-neutral-300:#d8d8d8;--color-neutral-400:#a5a5a5;--color-neutral-500:#757575;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#252525;--color-neutral-900:#202020;--color-neutral-950:#171717;--color-neutral-alpha-base:#303030;--color-blue-50:#f0f7ff;--color-blue-100:#e5f2ff;--color-blue-200:#cce5ff;--color-blue-300:#9cf;--color-blue-400:#66b2ff;--color-blue-500:#1487fa;--color-blue-600:#1380ed;--color-blue-700:#1a79d8;--color-blue-800:#1d67b0;--color-blue-900:#1f558a;--color-blue-950:#173654;--color-green-50:#e8fcef;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-300:#81eea8;--color-green-400:#41dd7a;--color-green-500:#22c55d;--color-green-600:#17a34a;--color-green-700:#1a8f44;--color-green-800:#176936;--color-green-900:#14532d;--color-green-950:#052e16;--color-lime-50:#f3fddd;--color-lime-100:#ecfbcb;--color-lime-200:#d6f995;--color-lime-300:#bff164;--color-lime-400:#a3e635;--color-lime-500:#84cc15;--color-lime-600:#6bad0d;--color-lime-700:#581;--color-lime-800:#426713;--color-lime-900:#365313;--color-lime-950:#1b2d06;--color-cyan-50:#ecfeff;--color-cyan-100:#cefafe;--color-cyan-200:#a5f3fc;--color-cyan-300:#67e8f9;--color-cyan-400:#24d3ee;--color-cyan-500:#00c3e4;--color-cyan-600:#02abd3;--color-cyan-700:#0586a9;--color-cyan-800:#0d6783;--color-cyan-900:#164e63;--color-cyan-950:#093344;--color-orange-50:#fff7d6;--color-orange-100:#fef0b9;--color-orange-200:#fde277;--color-orange-300:#fbd44c;--color-orange-400:#fbbf24;--color-orange-500:#f59e0c;--color-orange-600:#d97708;--color-orange-700:#b4540a;--color-orange-800:#92400d;--color-orange-900:#78350f;--color-orange-950:#451b03;--color-red-50:#fef6f6;--color-red-100:#fee7e6;--color-red-200:#fed7d7;--color-red-300:#fdb9b9;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2625;--color-red-700:#c81e1d;--color-red-800:#a01c1c;--color-red-900:#7f1c1d;--color-red-950:#450a0a;--color-purple-50:#f5f3ff;--color-purple-100:#ede9fe;--color-purple-200:#ddd6fe;--color-purple-300:#c3b6fd;--color-purple-400:#a88bfa;--color-purple-500:#8b5cf6;--color-purple-600:#7c3aed;--color-purple-700:#6d28d9;--color-purple-800:#5b21b6;--color-purple-900:#4c1d95;--color-purple-950:#2e1065;--color-indigo-50:#eef2ff;--color-indigo-100:#ede9fe;--color-indigo-200:#ddd6fe;--color-indigo-300:#a5b4fc;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-indigo-700:#4338ca;--color-indigo-800:#3730a3;--color-indigo-900:#312e81;--color-indigo-950:#1e1b4b}.dark{--color-neutral-0:#131313;--color-neutral-50:#161616;--color-neutral-100:#202020;--color-neutral-200:#252525;--color-neutral-300:#404040;--color-neutral-400:#525252;--color-neutral-500:#757575;--color-neutral-600:#a3a3a3;--color-neutral-700:#e5e5e5;--color-neutral-800:#f5f5f5;--color-neutral-900:#f8f8f8;--color-neutral-950:#fff;--color-neutral-alpha-base:#202020;--color-blue-50:#11273c;--color-blue-100:#1d4f81;--color-blue-200:#1b61a6;--color-blue-300:#1b76d0;--color-blue-400:#1282f3;--color-blue-500:#0078f0;--color-blue-600:#5cadff;--color-blue-700:#8fc7ff;--color-blue-800:#c2e0ff;--color-blue-900:#dbedff;--color-blue-950:#e5f2ff;--color-green-50:#042512;--color-green-100:#124a28;--color-green-200:#176936;--color-green-300:#1a8f44;--color-green-400:#17a34a;--color-green-500:#20bb58;--color-green-600:#41dd7a;--color-green-700:#78eda2;--color-green-800:#adf5c6;--color-green-900:#d5fbe2;--color-green-950:#e4fcec;--color-lime-50:#1e3107;--color-lime-100:#333;--color-lime-200:#436813;--color-lime-300:#558910;--color-lime-400:#66a60d;--color-lime-500:#81c714;--color-lime-600:#9ce425;--color-lime-700:#b9f057;--color-lime-800:#d4f890;--color-lime-900:#e7fabd;--color-lime-950:#f2fdd8;--color-cyan-50:#072936;--color-cyan-100:#134558;--color-cyan-200:#0c5b74;--color-cyan-300:#047e9f;--color-cyan-400:#02a4ca;--color-cyan-500:#00bbdb;--color-cyan-600:#1cd1ed;--color-cyan-700:#5de7f9;--color-cyan-800:#9cf2fc;--color-cyan-900:#c8f9fe;--color-cyan-950:#e5feff;--color-orange-50:#3b1703;--color-orange-100:#6d300e;--color-orange-200:#883c0c;--color-orange-300:#a94f09;--color-orange-400:#cf7108;--color-orange-500:#eb970a;--color-orange-600:#fbba14;--color-orange-700:#fbcf37;--color-orange-800:#fde37d;--color-orange-900:#fef0b9;--color-orange-950:#fff6d1;--color-red-50:#430909;--color-red-100:#751a1b;--color-red-200:#8f1919;--color-red-300:#bb1c1b;--color-red-400:#dc2423;--color-red-500:#ee3a3a;--color-red-600:#f75959;--color-red-700:#fc7373;--color-red-800:#fec8c8;--color-red-900:#fee2e1;--color-red-950:#fef1f1;--color-purple-50:#2a0f5c;--color-purple-100:#481b8d;--color-purple-200:#561fad;--color-purple-300:#6825d0;--color-purple-400:#7936ed;--color-purple-500:#8756f6;--color-purple-600:#a385fa;--color-purple-700:#beb0fd;--color-purple-800:#dad2fe;--color-purple-900:#e7e2fe;--color-purple-950:#f2f0ff;--color-indigo-50:#1e1b4b;--color-indigo-100:#312e81;--color-indigo-200:#3730a3;--color-indigo-300:#4338ca;--color-indigo-400:#4f46e5;--color-indigo-500:#6366f1;--color-indigo-600:#818cf8;--color-indigo-700:#a5b4fc;--color-indigo-800:#ddd6fe;--color-indigo-900:#ede9fe;--color-indigo-950:#eef2ff}.Toastify__toast-container.Toastify__toast-container--bottom-left{display:none}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
|
|
1
|
+
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-200:oklch(92.8% .006 264.531);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-semibold:600;--radius-xs:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--primary:var(--color-neutral-950);--secondary:var(--color-neutral-alpha-13);--background:var(--color-neutral-0);--background-secondary:var(--color-neutral-50);--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:#30303033;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius-xs:.125rem;--color-neutral-alpha-0:rgb(from var(--color-neutral-alpha-base)r g b/.01%);--color-neutral-alpha-1:rgb(from var(--color-neutral-alpha-base)r g b/3%);--color-neutral-alpha-2:rgb(from var(--color-neutral-alpha-base)r g b/5%);--color-neutral-alpha-3:rgb(from var(--color-neutral-alpha-base)r g b/7%);--color-neutral-alpha-4:rgb(from var(--color-neutral-alpha-base)r g b/10%);--color-neutral-alpha-5:rgb(from var(--color-neutral-alpha-base)r g b/16%);--color-neutral-alpha-6:rgb(from var(--color-neutral-alpha-base)r g b/20%);--color-neutral-alpha-7:rgb(from var(--color-neutral-alpha-base)r g b/24%);--color-neutral-alpha-8:rgb(from var(--color-neutral-alpha-base)r g b/28%);--color-neutral-alpha-9:rgb(from var(--color-neutral-alpha-base)r g b/32%);--color-neutral-alpha-10:rgb(from var(--color-neutral-alpha-base)r g b/40%);--color-neutral-alpha-11:rgb(from var(--color-neutral-alpha-base)r g b/48%);--color-neutral-alpha-12:rgb(from var(--color-neutral-alpha-base)r g b/56%);--color-neutral-alpha-13:rgb(from var(--color-neutral-alpha-base)r g b/64%);--color-neutral-alpha-14:rgb(from var(--color-neutral-alpha-base)r g b/72%);--color-neutral-alpha-15:rgb(from var(--color-neutral-alpha-base)r g b/80%);--color-neutral-alpha-16:rgb(from var(--color-neutral-alpha-base)r g b/88%);--color-neutral-inverted-0:rgb(from var(--color-neutral-base)r g b/.01%);--color-neutral-inverted-1:rgb(from var(--color-neutral-base)r g b/3%);--color-neutral-inverted-2:rgb(from var(--color-neutral-base)r g b/5%);--color-neutral-inverted-3:rgb(from var(--color-neutral-base)r g b/7%);--color-neutral-inverted-4:rgb(from var(--color-neutral-base)r g b/10%);--color-neutral-inverted-5:rgb(from var(--color-neutral-base)r g b/16%);--color-neutral-inverted-6:rgb(from var(--color-neutral-base)r g b/20%);--color-neutral-inverted-7:rgb(from var(--color-neutral-base)r g b/24%);--color-neutral-inverted-8:rgb(from var(--color-neutral-base)r g b/28%);--color-neutral-inverted-9:rgb(from var(--color-neutral-base)r g b/32%);--color-neutral-inverted-10:rgb(from var(--color-neutral-base)r g b/40%);--color-neutral-inverted-11:rgb(from var(--color-neutral-base)r g b/48%);--color-neutral-inverted-12:rgb(from var(--color-neutral-base)r g b/56%);--color-neutral-inverted-13:rgb(from var(--color-neutral-base)r g b/64%);--color-neutral-inverted-14:rgb(from var(--color-neutral-base)r g b/72%);--color-neutral-inverted-15:rgb(from var(--color-neutral-base)r g b/80%);--color-neutral-inverted-16:rgb(from var(--color-neutral-base)r g b/88%);--color-item-primary:var(--color-neutral-950);--color-item-secondary:var(--color-neutral-alpha-13);--color-item-tertiary:var(--color-neutral-alpha-10);--color-item-quaternary:var(--color-neutral-alpha-7);--color-item-primary-primary:var(--color-blue-600);--color-item-primary-primary-hover:var(--color-blue-700);--color-item-primary-primary-active:var(--color-blue-600);--color-item-primary-primary-focus:var(--color-blue-200);--color-item-primary-secondary:var(--color-neutral-0);--color-item-primary-secondary-hover:var(--color-neutral-50);--color-item-primary-secondary-active:var(--color-neutral-100);--color-item-primary-tertiary:var(--color-neutral-alpha-1);--color-item-primary-tertiary-hover:var(--color-neutral-alpha-2);--color-item-primary-tertiary-active:var(--color-neutral-alpha-3);--color-item-primary-ghost:var(--color-neutral-alpha-0);--color-item-primary-ghost-hover:var(--color-neutral-alpha-2);--color-item-primary-ghost-active:var(--color-neutral-alpha-3);--color-item-primary-destructive:var(--color-red-600);--color-item-primary-destructive-hover:var(--color-red-700);--color-item-primary-destructive-active:var(--color-red-600);--color-item-primary-destructive-focus:var(--color-red-200);--color-item-inverted:var(--color-neutral-0);--color-item-inverted-secondary:var(--color-neutral-inverted-13);--color-item-inverted-tertiary:var(--color-neutral-inverted-10);--color-item-inverted-quaternary:var(--color-neutral-inverted-7);--color-item-fixed:#090a0c;--color-item-fixed-secondary:#16191da3;--color-item-fixed-tertiary:#16191d66;--color-item-fixed-quaternary:#16191d3d;--color-item-fixed-inverted:var(--color-neutral-0);--color-item-fixed-inverted-secondary:var(--color-neutral-inverted-13);--color-item-fixed-inverted-tertiary:var(--color-neutral-inverted-10);--color-item-fixed-inverted-quaternary:var(--color-neutral-inverted-7);--color-surface-base-primary:var(--color-neutral-0);--color-surface-base-secondary:var(--color-neutral-50);--color-surface-base-tertiary:var(--color-neutral-100);--color-surface-component-primary:var(--color-neutral-0);--color-surface-component-secondary:var(--color-neutral-0);--color-surface-component-tertiary:var(--color-neutral-0);--color-surface-base-inverted:var(--color-neutral-950);--color-surface-overlay:#343434;--color-surface-muted:var(--color-neutral-0);--color-surface-muted-hover:var(--color-neutral-50);--color-surface-muted-pressed:var(--color-neutral-100);--color-shadows-inner-0:rgba(var(--color-neutral-base),0);--color-shadows-inner-1:#16191d;--color-shadows-inner-2:#16191d;--color-shadows-drop-1:#16191d;--color-shadows-drop-2:#16191d;--color-shadows-drop-3:#16191d;--color-shadows-drop-4:#16191d;--color-shadows-highlight-1:var(--color-blue-200);--color-shadows-highlight-2:var(--color-blue-500);--color-shadows-danger-1:var(--color-red-200);--color-shadows-danger-2:#ee3a3a;--color-shadows-card-border:#16191d;--color-shadows-card-border-2:#16191d;--color-border-base:var(--border);--color-border-alpha-strong:var(--color-neutral-alpha-6);--color-border-alpha-light:var(--color-neutral-alpha-3);--color-border-alpha-subtle:var(--color-neutral-alpha-4);--color-border-light:var(--color-neutral-200)}.dark{--background:var(--color-neutral-0);--background-secondary:var(--color-neutral-alpha-base);--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:#fff3;--input:0 0% 14.9%;--ring:0 0% 83.1%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--sidebar:var(--background);--sidebar-foreground:#f4f4f5;--sidebar-primary:#1d4ed8;--sidebar-primary-foreground:#fff;--sidebar-accent:#27272a;--sidebar-accent-foreground:#f4f4f5;--sidebar-border:#27272a;--sidebar-ring:#3b82f6;--color-item-secondary:var(--color-neutral-inverted-13);--color-item-primary-tertiary:var(--color-neutral-inverted-2);--color-item-primary-tertiary-hover:var(--color-neutral-inverted-3);--color-item-primary-tertiary-active:var(--color-neutral-inverted-4);--color-surface-base-secondary:var(--color-neutral-inverted-2);--color-surface-base-tertiary:var(--color-neutral-200);--color-surface-component-primary:var(--color-neutral-100);--color-surface-component-secondary:var(--color-neutral-200);--color-surface-component-tertiary:#383838;--color-surface-base-inverted:var(--color-neutral-base);--color-surface-overlay:var(--color-neutral-inverted-3);--color-surface-muted:var(--color-neutral-100);--color-surface-muted-hover:var(--color-neutral-200);--color-surface-muted-pressed:#383838;--color-border-strong:var(--color-neutral-inverted-6);--color-shadow-inner-0:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-inner-1:rgb(from var(--color-neutral-base)r g b/8%);--color-shadow-inner-2:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-drop-1:#0000001f;--color-shadow-drop-2:#0003;--color-shadow-drop-3:#00000047;--color-shadow-drop-4:#0000005c;--color-shadow-card-border:rgb(from var(--color-neutral-base)r g b/12%);--color-shadow-card-border-2:rgb(from var(--color-neutral-base)r g b/0%);--color-border-alpha-strong:var(--color-neutral-inverted-6);--color-border-alpha-light:var(--color-neutral-inverted-4);--color-border-alpha-subtle:var(--color-neutral-inverted-5)}:root{--sidebar:var(--background-secondary);--sidebar-foreground:var(--primary);--sidebar-primary:#18181b;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f4f4f5;--sidebar-accent-foreground:#18181b;--sidebar-border:#e5e7eb;--sidebar-ring:#3b82f6}*{border-color:var(--color-border-alpha-light)}body{background-color:var(--background);font-family:var(--font-family-base);color:var(--color-item-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing)*2.5)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-8{right:calc(var(--spacing)*8)}.-bottom-5{bottom:calc(var(--spacing)*-5)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-auto{bottom:auto}.left-2{left:calc(var(--spacing)*2)}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.m-0\!{margin:calc(var(--spacing)*0)!important}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-full{width:100%;height:100%}.h-8{height:calc(var(--spacing)*8)}.h-8\.5{height:calc(var(--spacing)*8.5)}.h-16{height:calc(var(--spacing)*16)}.h-\[1\.2rem\]{height:1.2rem}.h-full{height:100%}.max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.max-h-full{max-height:100%}.min-h-10{min-height:calc(var(--spacing)*10)}.w-9{width:calc(var(--spacing)*9)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-17{width:calc(var(--spacing)*17)}.w-\[1\.2rem\]{width:1.2rem}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-64{max-width:calc(var(--spacing)*64)}.max-w-\[95\%\]{max-width:95%}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-16{min-width:calc(var(--spacing)*16)}.min-w-20{min-width:calc(var(--spacing)*20)}.min-w-40{min-width:calc(var(--spacing)*40)}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-border-alpha-light{border-color:var(--color-border-alpha-light)}.border-item-primary{border-color:var(--color-item-primary-primary)}.border-transparent{border-color:#0000}.\!bg-transparent{background-color:#0000!important}.bg-bg,.bg-bg\/70{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-bg\/70{background-color:color-mix(in oklab,var(--background)70%,transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-1{padding-block:calc(var(--spacing)*1)}.text-center{text-align:center}.text-start{text-align:start}.text-body-sm-medium{font-size:.875rem;line-height:var(--tw-leading,1.25rem);font-weight:var(--tw-font-weight,500)}.text-body-xs-medium{font-size:.75rem;line-height:var(--tw-leading,1.125rem);font-weight:var(--tw-font-weight,500)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-foreground{color:var(--foreground)}.text-item-primary{color:var(--color-item-primary-primary)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-red-600{color:var(--color-red-600)}.text-secondary{color:var(--color-item-secondary)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.accent-foreground{accent-color:var(--foreground)}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:border-item-primary:hover{border-color:var(--color-item-primary-primary)}.hover\:opacity-80:hover{opacity:.8}}@media(min-width:64rem){.lg\:\!inline,.lg\:inline\!{display:inline!important}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media(min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:96rem){.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.dark\:scale-0:is(.dark *){--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:scale-100:is(.dark *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.dark\:-rotate-90:is(.dark *){rotate:-90deg}.dark\:rotate-0:is(.dark *){rotate:none}.\[\&\>tr\:nth-child\(even\)\]\:bg-bg-secondary>tr:nth-child(2n){background-color:var(--background-secondary)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--color-neutral-base:#fff;--color-neutral-0:var(--color-neutral-base);--color-neutral-50:#f9f9f9;--color-neutral-100:#f6f6f6;--color-neutral-200:#efefef;--color-neutral-300:#d8d8d8;--color-neutral-400:#a5a5a5;--color-neutral-500:#757575;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#252525;--color-neutral-900:#202020;--color-neutral-950:#171717;--color-neutral-alpha-base:#303030;--color-blue-50:#f0f7ff;--color-blue-100:#e5f2ff;--color-blue-200:#cce5ff;--color-blue-300:#9cf;--color-blue-400:#66b2ff;--color-blue-500:#1487fa;--color-blue-600:#1380ed;--color-blue-700:#1a79d8;--color-blue-800:#1d67b0;--color-blue-900:#1f558a;--color-blue-950:#173654;--color-green-50:#e8fcef;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-300:#81eea8;--color-green-400:#41dd7a;--color-green-500:#22c55d;--color-green-600:#17a34a;--color-green-700:#1a8f44;--color-green-800:#176936;--color-green-900:#14532d;--color-green-950:#052e16;--color-lime-50:#f3fddd;--color-lime-100:#ecfbcb;--color-lime-200:#d6f995;--color-lime-300:#bff164;--color-lime-400:#a3e635;--color-lime-500:#84cc15;--color-lime-600:#6bad0d;--color-lime-700:#581;--color-lime-800:#426713;--color-lime-900:#365313;--color-lime-950:#1b2d06;--color-cyan-50:#ecfeff;--color-cyan-100:#cefafe;--color-cyan-200:#a5f3fc;--color-cyan-300:#67e8f9;--color-cyan-400:#24d3ee;--color-cyan-500:#00c3e4;--color-cyan-600:#02abd3;--color-cyan-700:#0586a9;--color-cyan-800:#0d6783;--color-cyan-900:#164e63;--color-cyan-950:#093344;--color-orange-50:#fff7d6;--color-orange-100:#fef0b9;--color-orange-200:#fde277;--color-orange-300:#fbd44c;--color-orange-400:#fbbf24;--color-orange-500:#f59e0c;--color-orange-600:#d97708;--color-orange-700:#b4540a;--color-orange-800:#92400d;--color-orange-900:#78350f;--color-orange-950:#451b03;--color-red-50:#fef6f6;--color-red-100:#fee7e6;--color-red-200:#fed7d7;--color-red-300:#fdb9b9;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2625;--color-red-700:#c81e1d;--color-red-800:#a01c1c;--color-red-900:#7f1c1d;--color-red-950:#450a0a;--color-purple-50:#f5f3ff;--color-purple-100:#ede9fe;--color-purple-200:#ddd6fe;--color-purple-300:#c3b6fd;--color-purple-400:#a88bfa;--color-purple-500:#8b5cf6;--color-purple-600:#7c3aed;--color-purple-700:#6d28d9;--color-purple-800:#5b21b6;--color-purple-900:#4c1d95;--color-purple-950:#2e1065;--color-indigo-50:#eef2ff;--color-indigo-100:#ede9fe;--color-indigo-200:#ddd6fe;--color-indigo-300:#a5b4fc;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-indigo-700:#4338ca;--color-indigo-800:#3730a3;--color-indigo-900:#312e81;--color-indigo-950:#1e1b4b}.dark{--color-neutral-0:#131313;--color-neutral-50:#161616;--color-neutral-100:#202020;--color-neutral-200:#252525;--color-neutral-300:#404040;--color-neutral-400:#525252;--color-neutral-500:#757575;--color-neutral-600:#a3a3a3;--color-neutral-700:#e5e5e5;--color-neutral-800:#f5f5f5;--color-neutral-900:#f8f8f8;--color-neutral-950:#fff;--color-neutral-alpha-base:#202020;--color-blue-50:#11273c;--color-blue-100:#1d4f81;--color-blue-200:#1b61a6;--color-blue-300:#1b76d0;--color-blue-400:#1282f3;--color-blue-500:#0078f0;--color-blue-600:#5cadff;--color-blue-700:#8fc7ff;--color-blue-800:#c2e0ff;--color-blue-900:#dbedff;--color-blue-950:#e5f2ff;--color-green-50:#042512;--color-green-100:#124a28;--color-green-200:#176936;--color-green-300:#1a8f44;--color-green-400:#17a34a;--color-green-500:#20bb58;--color-green-600:#41dd7a;--color-green-700:#78eda2;--color-green-800:#adf5c6;--color-green-900:#d5fbe2;--color-green-950:#e4fcec;--color-lime-50:#1e3107;--color-lime-100:#333;--color-lime-200:#436813;--color-lime-300:#558910;--color-lime-400:#66a60d;--color-lime-500:#81c714;--color-lime-600:#9ce425;--color-lime-700:#b9f057;--color-lime-800:#d4f890;--color-lime-900:#e7fabd;--color-lime-950:#f2fdd8;--color-cyan-50:#072936;--color-cyan-100:#134558;--color-cyan-200:#0c5b74;--color-cyan-300:#047e9f;--color-cyan-400:#02a4ca;--color-cyan-500:#00bbdb;--color-cyan-600:#1cd1ed;--color-cyan-700:#5de7f9;--color-cyan-800:#9cf2fc;--color-cyan-900:#c8f9fe;--color-cyan-950:#e5feff;--color-orange-50:#3b1703;--color-orange-100:#6d300e;--color-orange-200:#883c0c;--color-orange-300:#a94f09;--color-orange-400:#cf7108;--color-orange-500:#eb970a;--color-orange-600:#fbba14;--color-orange-700:#fbcf37;--color-orange-800:#fde37d;--color-orange-900:#fef0b9;--color-orange-950:#fff6d1;--color-red-50:#430909;--color-red-100:#751a1b;--color-red-200:#8f1919;--color-red-300:#bb1c1b;--color-red-400:#dc2423;--color-red-500:#ee3a3a;--color-red-600:#f75959;--color-red-700:#fc7373;--color-red-800:#fec8c8;--color-red-900:#fee2e1;--color-red-950:#fef1f1;--color-purple-50:#2a0f5c;--color-purple-100:#481b8d;--color-purple-200:#561fad;--color-purple-300:#6825d0;--color-purple-400:#7936ed;--color-purple-500:#8756f6;--color-purple-600:#a385fa;--color-purple-700:#beb0fd;--color-purple-800:#dad2fe;--color-purple-900:#e7e2fe;--color-purple-950:#f2f0ff;--color-indigo-50:#1e1b4b;--color-indigo-100:#312e81;--color-indigo-200:#3730a3;--color-indigo-300:#4338ca;--color-indigo-400:#4f46e5;--color-indigo-500:#6366f1;--color-indigo-600:#818cf8;--color-indigo-700:#a5b4fc;--color-indigo-800:#ddd6fe;--color-indigo-900:#ede9fe;--color-indigo-950:#eef2ff}.Toastify__toast-container.Toastify__toast-container--bottom-left{display:none}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/App.tsx"],"names":[],"mappings":"AAgBA,iBAAS,GAAG,4CAgLX;AAED,eAAe,GAAG,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { DropdownContainerProps } from 'dgz-ui/dropdown';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Interface representing a single action item.
|
|
5
|
+
*/
|
|
6
|
+
export interface ActionInterface {
|
|
7
|
+
/** The content to display for the action item. */
|
|
8
|
+
label: ReactNode;
|
|
9
|
+
/** Callback function to execute when the action is clicked. */
|
|
10
|
+
onClick: () => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Props for the Actions component.
|
|
14
|
+
*/
|
|
15
|
+
export interface ActionsProps extends DropdownContainerProps {
|
|
16
|
+
/** Array of action items to be displayed in the dropdown. */
|
|
17
|
+
actions: ActionInterface[];
|
|
18
|
+
/** Title for the actions button. */
|
|
19
|
+
title?: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Actions renders a dropdown menu with a list of action items.
|
|
23
|
+
*
|
|
24
|
+
* @param props.actions - Array of actions with label and onClick handler.
|
|
25
|
+
* @returns React element rendering the actions dropdown.
|
|
26
|
+
*/
|
|
27
|
+
export declare const Actions: ({ actions, triggerProps, contentProps, title, }: ActionsProps) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
//# sourceMappingURL=Actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Actions.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/Actions.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,sBAAsB,EAK5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,KAAK,EAAE,SAAS,CAAC;IACjB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,sBAAsB;IAC1D,6DAA6D;IAC7D,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,oCAAoC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,iDAKrB,YAAY,4CAyBd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AlertDialogProps } from '@radix-ui/react-alert-dialog';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the Confirm component.
|
|
5
|
+
*/
|
|
6
|
+
export type ConfirmProps = AlertDialogProps & {
|
|
7
|
+
/** The content to trigger the dialog (optional). */
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
/** Custom title for the dialog. */
|
|
10
|
+
title?: ReactNode;
|
|
11
|
+
/** Custom description for the dialog. */
|
|
12
|
+
description?: ReactNode;
|
|
13
|
+
/** Callback function when the confirm action is triggered. */
|
|
14
|
+
onConfirm: () => void;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Confirm renders a confirmation dialog and calls onConfirm when user confirms.
|
|
18
|
+
*
|
|
19
|
+
* @param props - Radix AlertDialog props plus content and onConfirm callback.
|
|
20
|
+
*/
|
|
21
|
+
export declare const Confirm: ({ title, description, children, onConfirm, ...props }: ConfirmProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=Confirm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Confirm.d.ts","sourceRoot":"","sources":["../../../../src/components/confirm/Confirm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAYrE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAC5C,oDAAoD;IACpD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,mCAAmC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,yCAAyC;IACzC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,uDAMrB,YAAY,4CA6Bd,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ConfirmPasswordDto } from '../../schemas';
|
|
2
|
+
import { ConfirmProps } from './Confirm';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the PasswordConfirm component.
|
|
5
|
+
*/
|
|
6
|
+
export interface PasswordConfirmProps extends Omit<ConfirmProps, 'onConfirm'> {
|
|
7
|
+
/** Callback function executed with the password data upon successful submission. */
|
|
8
|
+
onSubmit: (data: ConfirmPasswordDto) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* PasswordConfirm prompts the user to enter their password to confirm an action and submits via onSubmit.
|
|
12
|
+
*
|
|
13
|
+
* @param props - Dialog props with title/description/trigger and onSubmit handler.
|
|
14
|
+
*/
|
|
15
|
+
export declare const PasswordConfirm: ({ title, description, children, onSubmit, ...props }: PasswordConfirmProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=PasswordConfirm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasswordConfirm.d.ts","sourceRoot":"","sources":["../../../../src/components/confirm/PasswordConfirm.tsx"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;IAC3E,oFAAoF;IACpF,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC9C;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,sDAM7B,oBAAoB,4CA6CtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/confirm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
|