anysystem-design 0.0.21 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/components/AutoComplete/AutoComplete.d.ts +5 -2
  2. package/dist/components/AutoComplete/AutoCompleteBase.d.ts +6 -4
  3. package/dist/components/AutoComplete/AutoCompleteBase.js +1 -1
  4. package/dist/components/AutoComplete/AutoCompleteMultiple.d.ts +6 -4
  5. package/dist/components/DataTable/DataTable.d.ts +4 -5
  6. package/dist/components/DataTable/DataTable.js +7 -1
  7. package/dist/components/DataTable/components/DataTableCell.d.ts +4 -4
  8. package/dist/components/DataTable/components/DataTableHeadCell.d.ts +3 -3
  9. package/dist/components/DataTable/components/DataTableHeadCell.js +3 -1
  10. package/dist/components/DataTable/components/DataTableRow.d.ts +3 -3
  11. package/dist/components/DataTable/components/DataTableRow.js +5 -1
  12. package/dist/components/DataTable/components/FieldSelectbox.d.ts +1 -3
  13. package/dist/components/DataTable/contexts/DataTableContext.d.ts +10 -6
  14. package/dist/components/DataTable/contexts/DataTableContext.js +9 -5
  15. package/dist/components/DataTable/libs/helper.d.ts +1 -1
  16. package/dist/components/DataTable/libs/type.d.ts +7 -7
  17. package/dist/components/Input/Input.d.ts +5 -2
  18. package/dist/components/Input/InputTel.d.ts +2 -2
  19. package/dist/components/Input/InputTel.js +8 -1
  20. package/dist/components/NavList/NavList.d.ts +1 -0
  21. package/dist/components/NavList/NavList.js +86 -84
  22. package/dist/components/RadioGroup/RadioGroup.d.ts +4 -5
  23. package/dist/components/Selectbox/FormSelectbox.d.ts +5 -2
  24. package/dist/components/Selectbox/Selectbox.d.ts +5 -3
  25. package/dist/components/Selectbox/SelectboxBase.d.ts +10 -8
  26. package/dist/components/Selectbox/SelectboxMultiple.d.ts +6 -4
  27. package/dist/components/Selectbox/helper.d.ts +1 -1
  28. package/dist/hooks/useLocalStorage.d.ts +1 -1
  29. package/dist/hooks/useLocalStorage.js +1 -4
  30. package/dist/index.css +1 -1
  31. package/dist/layouts/SideMenu/SideMenu.js +17 -16
  32. package/package.json +22 -10
@@ -1,4 +1,5 @@
1
1
  import { default as React } from 'react';
2
+ import { SelectOption } from '../Selectbox';
2
3
  import { AutoCompleteBaseHandler, AutoCompleteBaseProps } from './AutoCompleteBase';
3
4
  import { AutoCompleteMultipleHandler, AutoCompleteMultipleProps } from './AutoCompleteMultiple';
4
5
 
@@ -7,8 +8,10 @@ export { default as AutoCompleteBase } from './AutoCompleteBase';
7
8
  export * from './AutoCompleteMultiple';
8
9
  export { default as AutoCompleteMultiple } from './AutoCompleteMultiple';
9
10
  export type AutoCompleteHandler = AutoCompleteBaseHandler | AutoCompleteMultipleHandler;
10
- export type AutoCompleteProps = (AutoCompleteBaseProps | AutoCompleteMultipleProps) & {
11
+ export type AutoCompleteProps<ListOption extends SelectOption> = (AutoCompleteBaseProps<ListOption> | AutoCompleteMultipleProps<ListOption>) & {
11
12
  multiple?: boolean;
12
13
  };
13
- declare const _default: React.ForwardRefExoticComponent<AutoCompleteProps & React.RefAttributes<AutoCompleteHandler>>;
14
+ declare const _default: <ListOption extends SelectOption>(props: AutoCompleteProps<ListOption> & {
15
+ ref?: React.Ref<AutoCompleteHandler>;
16
+ }) => React.ReactElement;
14
17
  export default _default;
@@ -5,16 +5,18 @@ export type AutoCompleteBaseHandler = {
5
5
  search: (query: string) => void;
6
6
  setValue: (value: string) => void;
7
7
  };
8
- export type AutoCompleteBaseProps = {
8
+ export type AutoCompleteBaseProps<ListOption extends SelectOption> = {
9
9
  id?: string;
10
- options: SelectOption[];
10
+ options: ListOption[];
11
11
  name: string;
12
12
  value?: string | number;
13
13
  readOnly?: boolean;
14
14
  className?: string;
15
15
  placeholder?: string;
16
16
  onChange?: (value: string | number) => void;
17
- valueField?: ValueField;
17
+ valueField?: ValueField<ListOption>;
18
18
  };
19
- declare const _default: React.ForwardRefExoticComponent<AutoCompleteBaseProps & React.RefAttributes<AutoCompleteBaseHandler>>;
19
+ declare const _default: <ListOption extends SelectOption>(props: AutoCompleteBaseProps<ListOption> & {
20
+ ref?: React.Ref<AutoCompleteBaseHandler>;
21
+ }) => React.ReactElement;
20
22
  export default _default;
@@ -90,7 +90,7 @@ const H = (t, r) => r.type === "SEARCH" ? {
90
90
  leaveFrom: "scale-100 transform opacity-100",
91
91
  leaveTo: "scale-95 transform opacity-0",
92
92
  afterLeave: () => s({ type: "SEARCH", query: "" }),
93
- children: /* @__PURE__ */ a(N, { className: "absolute z-50 mt-5 max-h-60 w-full overflow-auto rounded-md bg-white py-1 text-base shadow-lg ring-1 ring-black/5 focus:outline-none sm:text-sm dark:bg-gray-900", children: m.filterList.map((e) => /* @__PURE__ */ a(L, { as: p, value: e, children: ({ selected: n, focus: g }) => /* @__PURE__ */ f(
93
+ children: /* @__PURE__ */ a(N, { className: "absolute z-50 mt-5 max-h-60 w-full overflow-auto rounded-md bg-white py-1 text-base shadow-lg ring-1 ring-black/5 focus:outline-none dark:bg-gray-900 sm:text-sm", children: m.filterList.map((e) => /* @__PURE__ */ a(L, { as: p, value: e, children: ({ selected: n, focus: g }) => /* @__PURE__ */ f(
94
94
  "li",
95
95
  {
96
96
  className: y(
@@ -5,16 +5,18 @@ export type AutoCompleteMultipleHandler = {
5
5
  search: (query: string) => void;
6
6
  setValue: (value: string[]) => void;
7
7
  };
8
- export type AutoCompleteMultipleProps = {
8
+ export type AutoCompleteMultipleProps<ListOption extends SelectOption> = {
9
9
  id?: string;
10
- options: SelectOption[];
10
+ options: ListOption[];
11
11
  name: string;
12
12
  value?: string[] | number[];
13
13
  readOnly?: boolean;
14
14
  className?: string;
15
15
  placeholder?: string;
16
16
  onChange?: (value: string[] | number[]) => void;
17
- valueField?: ValueField;
17
+ valueField?: ValueField<ListOption>;
18
18
  };
19
- declare const _default: React.ForwardRefExoticComponent<AutoCompleteMultipleProps & React.RefAttributes<AutoCompleteMultipleHandler>>;
19
+ declare const _default: <ListOption extends SelectOption>(props: AutoCompleteMultipleProps<ListOption> & {
20
+ ref?: React.Ref<AutoCompleteMultipleHandler>;
21
+ }) => React.ReactElement;
20
22
  export default _default;
@@ -1,12 +1,11 @@
1
- import { default as React } from 'react';
2
1
  import { DataTableField } from './libs/type';
3
2
 
4
- export type DataTableProps = {
5
- data: object[];
6
- fields: DataTableField[];
3
+ export type DataTableProps<DataType extends object> = {
4
+ data: DataType[];
5
+ fields: DataTableField<DataType>[];
7
6
  selectable?: boolean;
8
7
  chooseFieldable?: boolean;
9
8
  name?: string;
10
9
  };
11
- declare const DataTable: React.FC<DataTableProps>;
10
+ declare const DataTable: <DataType extends object>({ name, data, fields, selectable, chooseFieldable, }: DataTableProps<DataType>) => import("react/jsx-runtime").JSX.Element;
12
11
  export default DataTable;
@@ -38,7 +38,13 @@ const w = (e, l) => l.type === "SELECT_ALL" ? {
38
38
  }, [i.DTShowFields]), /* @__PURE__ */ a(
39
39
  D,
40
40
  {
41
- value: { selectable: d, fields: r, chooseFieldable: T, state: i, dispatch: t },
41
+ value: {
42
+ selectable: d,
43
+ fields: r,
44
+ chooseFieldable: T,
45
+ state: i,
46
+ dispatch: t
47
+ },
42
48
  children: /* @__PURE__ */ m("div", { className: "relative w-full", children: [
43
49
  /* @__PURE__ */ m("table", { className: "table", children: [
44
50
  /* @__PURE__ */ a(s, {}),
@@ -1,10 +1,10 @@
1
1
  import { default as React } from 'react';
2
2
  import { ValueKey, ValueNode } from '../libs/type';
3
3
 
4
- export type DataTableCellProps = {
4
+ export type DataTableCellProps<DataType extends object> = {
5
5
  children?: React.ReactNode;
6
- data?: object;
7
- field?: string | ValueNode | ValueKey;
6
+ data?: DataType;
7
+ field?: string | ValueNode<DataType> | ValueKey;
8
8
  };
9
- declare const DataTableCell: React.FC<DataTableCellProps>;
9
+ declare const DataTableCell: <DataType extends object>({ children, data, field, }: DataTableCellProps<DataType>) => React.ReactElement;
10
10
  export default DataTableCell;
@@ -1,8 +1,8 @@
1
1
  import { default as React } from 'react';
2
2
  import { DataTableField } from '../libs/type';
3
3
 
4
- export type DataTableHeadCellProps = {
5
- field: DataTableField;
4
+ export type DataTableHeadCellProps<DataType extends object> = {
5
+ field: DataTableField<DataType>;
6
6
  };
7
- declare const DataTableHeadCell: React.FC<DataTableHeadCellProps>;
7
+ declare const DataTableHeadCell: <DataType extends object>({ field, }: DataTableHeadCellProps<DataType>) => React.ReactElement;
8
8
  export default DataTableHeadCell;
@@ -1,5 +1,7 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- const t = ({ field: e }) => /* @__PURE__ */ a("th", { children: e.label });
2
+ const t = ({
3
+ field: e
4
+ }) => /* @__PURE__ */ a("th", { children: e.label });
3
5
  export {
4
6
  t as default
5
7
  };
@@ -1,9 +1,9 @@
1
1
  import { default as React } from 'react';
2
2
 
3
- export type DataRowProps = {
3
+ export type DataRowProps<DataType extends object> = {
4
4
  children?: React.ReactNode;
5
- row?: object;
5
+ row?: DataType;
6
6
  index: number;
7
7
  };
8
- declare const DataTableRow: React.FC<DataRowProps>;
8
+ declare const DataTableRow: <DataType extends object>({ row, children, index, }: DataRowProps<DataType>) => React.ReactElement;
9
9
  export default DataTableRow;
@@ -4,7 +4,11 @@ import { _ as p } from "../../../lodash-XYp3qmxI.js";
4
4
  import { DataTableContext as h } from "../contexts/DataTableContext.js";
5
5
  import { CheckboxBase as C } from "../../Checkbox/CheckboxBase.js";
6
6
  import b from "./DataTableCell.js";
7
- const j = ({ row: a, children: o, index: l }) => {
7
+ const j = ({
8
+ row: a,
9
+ children: o,
10
+ index: l
11
+ }) => {
8
12
  const { selectable: s, fields: m, state: r, dispatch: i } = n.useContext(h);
9
13
  return /* @__PURE__ */ d("tr", { children: [
10
14
  s && /* @__PURE__ */ e("td", { className: "w-[50px]", children: /* @__PURE__ */ e(
@@ -1,4 +1,2 @@
1
- import { default as React } from 'react';
2
-
3
- declare const FieldSelectbox: React.FC;
1
+ declare const FieldSelectbox: <DataType extends object>() => import("react/jsx-runtime").JSX.Element;
4
2
  export default FieldSelectbox;
@@ -1,12 +1,16 @@
1
1
  import { default as React } from 'react';
2
2
  import { DataTableField, State, Action } from '../libs/type';
3
3
 
4
- export type DataTableContextType = {
4
+ export type DataTableContextType<DataType extends object> = {
5
5
  selectable: boolean;
6
6
  chooseFieldable: boolean;
7
- fields: DataTableField[];
8
- state: State;
9
- dispatch: React.Dispatch<Action>;
7
+ fields: DataTableField<DataType>[];
8
+ state: State<DataType>;
9
+ dispatch: React.Dispatch<Action<DataType>>;
10
10
  };
11
- export declare const DataTableContext: React.Context<DataTableContextType>;
12
- export declare const DataTableProvider: React.Provider<DataTableContextType>;
11
+ export declare const DataTableContext: React.Context<DataTableContextType<any>>;
12
+ export type DataTableProviderProps<DataType extends object> = {
13
+ value: DataTableContextType<DataType>;
14
+ children: React.ReactNode;
15
+ };
16
+ export declare const DataTableProvider: <DataType extends object>({ children, value, }: DataTableProviderProps<DataType>) => import("react/jsx-runtime").JSX.Element;
@@ -1,13 +1,17 @@
1
- import e from "react";
2
- const t = e.createContext({
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import o from "react";
3
+ const r = o.createContext({
3
4
  selectable: !1,
4
5
  chooseFieldable: !1,
5
6
  fields: [],
6
7
  state: { DTChecked: [], DTData: [], DTShowFields: [] },
7
8
  dispatch: () => {
8
9
  }
9
- }), o = t.Provider;
10
+ }), c = ({
11
+ children: e,
12
+ value: t
13
+ }) => /* @__PURE__ */ a(r.Provider, { value: t, children: e });
10
14
  export {
11
- t as DataTableContext,
12
- o as DataTableProvider
15
+ r as DataTableContext,
16
+ c as DataTableProvider
13
17
  };
@@ -1,4 +1,4 @@
1
1
  import { ValueKey, ValueNode } from './type';
2
2
 
3
3
  export declare const isValueKey: (key: string) => key is ValueKey;
4
- export declare const getValueByKey: (data: unknown, key: ValueKey | ValueNode | string) => unknown;
4
+ export declare const getValueByKey: <DataType extends object>(data: DataType, key: ValueKey | ValueNode<DataType> | string) => unknown;
@@ -1,11 +1,11 @@
1
1
  export type ValueKey = `$${string}`;
2
- export type ValueNode = (row: object) => React.ReactNode | string;
3
- export type State = {
4
- DTData: object[];
2
+ export type ValueNode<DataType extends object> = (row: DataType) => React.ReactNode | string;
3
+ export type State<DataType extends object> = {
4
+ DTData: DataType[];
5
5
  DTChecked: boolean[];
6
6
  DTShowFields: string[];
7
7
  };
8
- export type Action = {
8
+ export type Action<DataType extends object> = {
9
9
  type: "SELECT_ALL";
10
10
  } | {
11
11
  type: "SELECT_ROW";
@@ -15,11 +15,11 @@ export type Action = {
15
15
  fieldKey: string;
16
16
  } | {
17
17
  type: "SET_FIELD";
18
- fields: DataTableField[];
18
+ fields: DataTableField<DataType>[];
19
19
  };
20
- export type DataTableField = {
20
+ export type DataTableField<DataType extends object> = {
21
21
  key: string;
22
22
  label: string;
23
- value: ValueKey | ValueNode | string;
23
+ value: ValueKey | ValueNode<DataType> | string;
24
24
  default?: boolean;
25
25
  };
@@ -1,7 +1,10 @@
1
1
  import { default as React } from 'react';
2
2
  import { InputBaseProps } from './InputBase';
3
3
  import { InputTelProps } from './InputTel';
4
+ import { SelectOption } from '../Selectbox';
4
5
 
5
- export type InputProps = InputBaseProps | InputTelProps;
6
- declare const _default: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
6
+ export type InputProps<ListOption extends SelectOption> = InputBaseProps | InputTelProps<ListOption>;
7
+ declare const _default: <ListOption extends SelectOption>(props: InputProps<ListOption> & {
8
+ ref?: React.Ref<HTMLInputElement>;
9
+ }) => JSX.Element;
7
10
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  import { SelectOption } from '../Selectbox';
3
3
 
4
- export type InputTelProps = React.InputHTMLAttributes<HTMLInputElement> & {
4
+ export type InputTelProps<ListOption extends SelectOption> = React.InputHTMLAttributes<HTMLInputElement> & {
5
5
  type: "tel";
6
6
  name: string;
7
7
  className?: {
@@ -9,7 +9,7 @@ export type InputTelProps = React.InputHTMLAttributes<HTMLInputElement> & {
9
9
  input?: string;
10
10
  };
11
11
  inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
12
- phonePrefixOptions: SelectOption[];
12
+ phonePrefixOptions: ListOption[];
13
13
  phonePrefix?: string;
14
14
  onChange?: (value: string) => void;
15
15
  };
@@ -11,7 +11,14 @@ const E = (r, t) => t.type === "SETPREFIX" ? {
11
11
  ...r,
12
12
  content: t.value,
13
13
  realPhone: `${r.prefix}-${t.value}`
14
- } : r, N = ({ className: r, value: t, phonePrefix: i, phonePrefixOptions: f, onChange: a, ...p }, d) => {
14
+ } : r, N = ({
15
+ className: r,
16
+ value: t,
17
+ phonePrefix: i,
18
+ phonePrefixOptions: f,
19
+ onChange: a,
20
+ ...p
21
+ }, d) => {
15
22
  const v = o.useMemo(() => {
16
23
  let e = r || { container: void 0, input: void 0 };
17
24
  return e.container = T("w-1/2", (e == null ? void 0 : e.container) || ""), e;
@@ -6,6 +6,7 @@ export type NavItemObject = {
6
6
  icon?: string;
7
7
  title?: boolean;
8
8
  list?: NavItemObject[];
9
+ onClick?: () => void;
9
10
  };
10
11
  export type NavListProps = {
11
12
  list: NavItemObject[];
@@ -1,139 +1,139 @@
1
1
  import { jsx as s, jsxs as T, Fragment as ae } from "react/jsx-runtime";
2
2
  import { G as ne } from "../../iconBase-Bipuk9tK.js";
3
- import { t as S } from "../../bundle-mjs-SHnj3fHy.js";
3
+ import { t as x } from "../../bundle-mjs-SHnj3fHy.js";
4
4
  import W from "../Icon/Icon.js";
5
5
  import { b as oe } from "../../index-qfA2zEnA.js";
6
- import { $ as se, a as ue, r as ie } from "../../bugs-CHTtT8VX.js";
7
- import h, { createContext as C, useRef as x, Fragment as Q, useReducer as ce, useMemo as E, useId as X, useEffect as Y, useContext as N } from "react";
6
+ import { $ as se, a as ie, r as ue } from "../../bugs-CHTtT8VX.js";
7
+ import y, { createContext as R, useRef as D, Fragment as Q, useReducer as ce, useMemo as w, useId as X, useEffect as Y, useContext as N } from "react";
8
8
  import { w as de, T as pe } from "../../use-resolve-button-type-DkEA2l9L.js";
9
- import { M as _, W as B, y as F, T as fe, o as D, u as M, H as L, I as Z, D as q } from "../../use-sync-refs-TDnk3jQt.js";
10
- import { c as me, i as w, u as ge, V as he, A as be, s as ye } from "../../open-closed-CowzTowH.js";
11
- import { u as ve } from "../../close-provider-Cs3ZWgEC.js";
12
- import { u as ke, o as I } from "../../keyboard-DnlWU23I.js";
9
+ import { M as _, W as B, y as F, T as fe, o as E, u as M, H as L, I as Z, D as q } from "../../use-sync-refs-TDnk3jQt.js";
10
+ import { c as he, i as I, u as ge, V as ye, A as me, s as ve } from "../../open-closed-CowzTowH.js";
11
+ import { u as be } from "../../close-provider-Cs3ZWgEC.js";
12
+ import { u as ke, o as S } from "../../keyboard-DnlWU23I.js";
13
13
  var J;
14
- let Pe = (J = h.startTransition) != null ? J : function(e) {
14
+ let Pe = (J = y.startTransition) != null ? J : function(e) {
15
15
  e();
16
16
  };
17
- var $e = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))($e || {}), Ie = ((e) => (e[e.ToggleDisclosure = 0] = "ToggleDisclosure", e[e.CloseDisclosure = 1] = "CloseDisclosure", e[e.SetButtonId = 2] = "SetButtonId", e[e.SetPanelId = 3] = "SetPanelId", e[e.LinkPanel = 4] = "LinkPanel", e[e.UnlinkPanel = 5] = "UnlinkPanel", e))(Ie || {});
18
- let Se = { 0: (e) => ({ ...e, disclosureState: M(e.disclosureState, { 0: 1, 1: 0 }) }), 1: (e) => e.disclosureState === 1 ? e : { ...e, disclosureState: 1 }, 4(e) {
17
+ var $e = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))($e || {}), Se = ((e) => (e[e.ToggleDisclosure = 0] = "ToggleDisclosure", e[e.CloseDisclosure = 1] = "CloseDisclosure", e[e.SetButtonId = 2] = "SetButtonId", e[e.SetPanelId = 3] = "SetPanelId", e[e.LinkPanel = 4] = "LinkPanel", e[e.UnlinkPanel = 5] = "UnlinkPanel", e))(Se || {});
18
+ let xe = { 0: (e) => ({ ...e, disclosureState: M(e.disclosureState, { 0: 1, 1: 0 }) }), 1: (e) => e.disclosureState === 1 ? e : { ...e, disclosureState: 1 }, 4(e) {
19
19
  return e.linkedPanel === !0 ? e : { ...e, linkedPanel: !0 };
20
20
  }, 5(e) {
21
21
  return e.linkedPanel === !1 ? e : { ...e, linkedPanel: !1 };
22
- }, 2(e, r) {
23
- return e.buttonId === r.buttonId ? e : { ...e, buttonId: r.buttonId };
24
- }, 3(e, r) {
25
- return e.panelId === r.panelId ? e : { ...e, panelId: r.panelId };
26
- } }, O = C(null);
22
+ }, 2(e, t) {
23
+ return e.buttonId === t.buttonId ? e : { ...e, buttonId: t.buttonId };
24
+ }, 3(e, t) {
25
+ return e.panelId === t.panelId ? e : { ...e, panelId: t.panelId };
26
+ } }, O = R(null);
27
27
  O.displayName = "DisclosureContext";
28
- function H(e) {
29
- let r = N(O);
30
- if (r === null) {
31
- let t = new Error(`<${e} /> is missing a parent <Disclosure /> component.`);
32
- throw Error.captureStackTrace && Error.captureStackTrace(t, H), t;
28
+ function j(e) {
29
+ let t = N(O);
30
+ if (t === null) {
31
+ let r = new Error(`<${e} /> is missing a parent <Disclosure /> component.`);
32
+ throw Error.captureStackTrace && Error.captureStackTrace(r, j), r;
33
33
  }
34
- return r;
34
+ return t;
35
35
  }
36
- let j = C(null);
37
- j.displayName = "DisclosureAPIContext";
36
+ let H = R(null);
37
+ H.displayName = "DisclosureAPIContext";
38
38
  function ee(e) {
39
- let r = N(j);
40
- if (r === null) {
41
- let t = new Error(`<${e} /> is missing a parent <Disclosure /> component.`);
42
- throw Error.captureStackTrace && Error.captureStackTrace(t, ee), t;
39
+ let t = N(H);
40
+ if (t === null) {
41
+ let r = new Error(`<${e} /> is missing a parent <Disclosure /> component.`);
42
+ throw Error.captureStackTrace && Error.captureStackTrace(r, ee), r;
43
43
  }
44
- return r;
44
+ return t;
45
45
  }
46
- let U = C(null);
46
+ let U = R(null);
47
47
  U.displayName = "DisclosurePanelContext";
48
- function xe() {
48
+ function De() {
49
49
  return N(U);
50
50
  }
51
- function De(e, r) {
52
- return M(r.type, Se, e, r);
51
+ function Ee(e, t) {
52
+ return M(t.type, xe, e, t);
53
53
  }
54
- let Ee = Q;
55
- function we(e, r) {
56
- let { defaultOpen: t = !1, ...d } = e, a = x(null), u = F(r, fe((c) => {
57
- a.current = c;
58
- }, e.as === void 0 || e.as === Q)), n = x(null), l = x(null), o = ce(De, { disclosureState: t ? 0 : 1, linkedPanel: !1, buttonRef: l, panelRef: n, buttonId: null, panelId: null }), [{ disclosureState: m, buttonId: i }, g] = o, f = D((c) => {
54
+ let we = Q;
55
+ function Ie(e, t) {
56
+ let { defaultOpen: r = !1, ...d } = e, n = D(null), i = F(t, fe((c) => {
57
+ n.current = c;
58
+ }, e.as === void 0 || e.as === Q)), a = D(null), l = D(null), o = ce(Ee, { disclosureState: r ? 0 : 1, linkedPanel: !1, buttonRef: l, panelRef: a, buttonId: null, panelId: null }), [{ disclosureState: h, buttonId: u }, g] = o, f = E((c) => {
59
59
  g({ type: 1 });
60
- let y = ke(a);
61
- if (!y || !i) return;
62
- let P = c ? c instanceof HTMLElement ? c : c.current instanceof HTMLElement ? c.current : y.getElementById(i) : y.getElementById(i);
60
+ let v = ke(n);
61
+ if (!v || !u) return;
62
+ let P = c ? c instanceof HTMLElement ? c : c.current instanceof HTMLElement ? c.current : v.getElementById(u) : v.getElementById(u);
63
63
  P == null || P.focus();
64
- }), v = E(() => ({ close: f }), [f]), b = E(() => ({ open: m === 0, close: f }), [m, f]), k = { ref: u };
65
- return h.createElement(O.Provider, { value: o }, h.createElement(j.Provider, { value: v }, h.createElement(ve, { value: f }, h.createElement(me, { value: M(m, { 0: w.Open, 1: w.Closed }) }, L({ ourProps: k, theirProps: d, slot: b, defaultTag: Ee, name: "Disclosure" })))));
64
+ }), b = w(() => ({ close: f }), [f]), m = w(() => ({ open: h === 0, close: f }), [h, f]), k = { ref: i };
65
+ return y.createElement(O.Provider, { value: o }, y.createElement(H.Provider, { value: b }, y.createElement(be, { value: f }, y.createElement(he, { value: M(h, { 0: I.Open, 1: I.Closed }) }, L({ ourProps: k, theirProps: d, slot: m, defaultTag: we, name: "Disclosure" })))));
66
66
  }
67
67
  let Te = "button";
68
- function Re(e, r) {
69
- let t = X(), { id: d = `headlessui-disclosure-button-${t}`, disabled: a = !1, autoFocus: u = !1, ...n } = e, [l, o] = H("Disclosure.Button"), m = xe(), i = m === null ? !1 : m === l.panelId, g = x(null), f = F(g, r, i ? null : l.buttonRef), v = Z();
68
+ function Ce(e, t) {
69
+ let r = X(), { id: d = `headlessui-disclosure-button-${r}`, disabled: n = !1, autoFocus: i = !1, ...a } = e, [l, o] = j("Disclosure.Button"), h = De(), u = h === null ? !1 : h === l.panelId, g = D(null), f = F(g, t, u ? null : l.buttonRef), b = Z();
70
70
  Y(() => {
71
- if (!i) return o({ type: 2, buttonId: d }), () => {
71
+ if (!u) return o({ type: 2, buttonId: d }), () => {
72
72
  o({ type: 2, buttonId: null });
73
73
  };
74
- }, [d, o, i]);
75
- let b = D((p) => {
74
+ }, [d, o, u]);
75
+ let m = E((p) => {
76
76
  var $;
77
- if (i) {
77
+ if (u) {
78
78
  if (l.disclosureState === 1) return;
79
79
  switch (p.key) {
80
- case I.Space:
81
- case I.Enter:
80
+ case S.Space:
81
+ case S.Enter:
82
82
  p.preventDefault(), p.stopPropagation(), o({ type: 0 }), ($ = l.buttonRef.current) == null || $.focus();
83
83
  break;
84
84
  }
85
85
  } else switch (p.key) {
86
- case I.Space:
87
- case I.Enter:
86
+ case S.Space:
87
+ case S.Enter:
88
88
  p.preventDefault(), p.stopPropagation(), o({ type: 0 });
89
89
  break;
90
90
  }
91
- }), k = D((p) => {
91
+ }), k = E((p) => {
92
92
  switch (p.key) {
93
- case I.Space:
93
+ case S.Space:
94
94
  p.preventDefault();
95
95
  break;
96
96
  }
97
- }), c = D((p) => {
97
+ }), c = E((p) => {
98
98
  var $;
99
- ie(p.currentTarget) || a || (i ? (o({ type: 0 }), ($ = l.buttonRef.current) == null || $.focus()) : o({ type: 0 }));
100
- }), { isFocusVisible: y, focusProps: P } = se({ autoFocus: u }), { isHovered: V, hoverProps: z } = ue({ isDisabled: a }), { pressed: A, pressProps: G } = de({ disabled: a }), re = E(() => ({ open: l.disclosureState === 0, hover: V, active: A, disabled: a, focus: y, autofocus: u }), [l, V, A, y, a, u]), K = pe(e, g), le = i ? q({ ref: f, type: K, disabled: a || void 0, autoFocus: u, onKeyDown: b, onClick: c }, P, z, G) : q({ ref: f, id: d, type: K, "aria-expanded": l.disclosureState === 0, "aria-controls": l.linkedPanel ? l.panelId : void 0, disabled: a || void 0, autoFocus: u, onKeyDown: b, onKeyUp: k, onClick: c }, P, z, G);
101
- return L({ mergeRefs: v, ourProps: le, theirProps: n, slot: re, defaultTag: Te, name: "Disclosure.Button" });
99
+ ue(p.currentTarget) || n || (u ? (o({ type: 0 }), ($ = l.buttonRef.current) == null || $.focus()) : o({ type: 0 }));
100
+ }), { isFocusVisible: v, focusProps: P } = se({ autoFocus: i }), { isHovered: V, hoverProps: z } = ie({ isDisabled: n }), { pressed: A, pressProps: G } = de({ disabled: n }), te = w(() => ({ open: l.disclosureState === 0, hover: V, active: A, disabled: n, focus: v, autofocus: i }), [l, V, A, v, n, i]), K = pe(e, g), le = u ? q({ ref: f, type: K, disabled: n || void 0, autoFocus: i, onKeyDown: m, onClick: c }, P, z, G) : q({ ref: f, id: d, type: K, "aria-expanded": l.disclosureState === 0, "aria-controls": l.linkedPanel ? l.panelId : void 0, disabled: n || void 0, autoFocus: i, onKeyDown: m, onKeyUp: k, onClick: c }, P, z, G);
101
+ return L({ mergeRefs: b, ourProps: le, theirProps: a, slot: te, defaultTag: Te, name: "Disclosure.Button" });
102
102
  }
103
- let Ce = "div", Ne = _.RenderStrategy | _.Static;
104
- function Be(e, r) {
105
- let t = X(), { id: d = `headlessui-disclosure-panel-${t}`, transition: a = !1, ...u } = e, [n, l] = H("Disclosure.Panel"), { close: o } = ee("Disclosure.Panel"), m = Z(), i = F(r, n.panelRef, (c) => {
103
+ let Re = "div", Ne = _.RenderStrategy | _.Static;
104
+ function Be(e, t) {
105
+ let r = X(), { id: d = `headlessui-disclosure-panel-${r}`, transition: n = !1, ...i } = e, [a, l] = j("Disclosure.Panel"), { close: o } = ee("Disclosure.Panel"), h = Z(), u = F(t, a.panelRef, (c) => {
106
106
  Pe(() => l({ type: c ? 4 : 5 }));
107
107
  });
108
108
  Y(() => (l({ type: 3, panelId: d }), () => {
109
109
  l({ type: 3, panelId: null });
110
110
  }), [d, l]);
111
- let g = ge(), [f, v] = he(a, n.panelRef, g !== null ? (g & w.Open) === w.Open : n.disclosureState === 0), b = E(() => ({ open: n.disclosureState === 0, close: o }), [n.disclosureState, o]), k = { ref: i, id: d, ...be(v) };
112
- return h.createElement(ye, null, h.createElement(U.Provider, { value: n.panelId }, L({ mergeRefs: m, ourProps: k, theirProps: u, slot: b, defaultTag: Ce, features: Ne, visible: f, name: "Disclosure.Panel" })));
111
+ let g = ge(), [f, b] = ye(n, a.panelRef, g !== null ? (g & I.Open) === I.Open : a.disclosureState === 0), m = w(() => ({ open: a.disclosureState === 0, close: o }), [a.disclosureState, o]), k = { ref: u, id: d, ...me(b) };
112
+ return y.createElement(ve, null, y.createElement(U.Provider, { value: a.panelId }, L({ mergeRefs: h, ourProps: k, theirProps: i, slot: m, defaultTag: Re, features: Ne, visible: f, name: "Disclosure.Panel" })));
113
113
  }
114
- let Fe = B(we), R = B(Re), te = B(Be), Me = Object.assign(Fe, { Button: R, Panel: te });
114
+ let Fe = B(Ie), C = B(Ce), re = B(Be), Me = Object.assign(Fe, { Button: C, Panel: re });
115
115
  function Le(e) {
116
116
  return ne({ tag: "svg", attr: { fill: "currentColor", viewBox: "0 0 16 16" }, child: [{ tag: "path", attr: { fillRule: "evenodd", d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708" }, child: [] }] })(e);
117
117
  }
118
118
  const Je = ({ list: e }) => {
119
- const r = oe();
120
- return /* @__PURE__ */ s("nav", { className: "w-full bg-white px-4 py-6 dark:bg-gray-950", children: /* @__PURE__ */ s("ul", { children: e && e.map((t, d) => /* @__PURE__ */ s("li", { children: t != null && t.title ? /* @__PURE__ */ s("div", { className: "px-3 py-2 text-sm font-bold dark:text-white", children: t.label }) : t.list ? /* @__PURE__ */ s(Me, { as: "div", children: ({ open: a }) => {
121
- var u;
119
+ const t = oe();
120
+ return /* @__PURE__ */ s("nav", { className: "w-full bg-white px-4 py-6 dark:bg-gray-950", children: /* @__PURE__ */ s("ul", { children: e && e.map((r, d) => /* @__PURE__ */ s("li", { children: r != null && r.title ? /* @__PURE__ */ s("div", { className: "px-3 py-2 text-sm font-bold dark:text-white", children: r.label }) : r.list ? /* @__PURE__ */ s(Me, { as: "div", children: ({ open: n }) => {
121
+ var i;
122
122
  return /* @__PURE__ */ T(ae, { children: [
123
123
  /* @__PURE__ */ T(
124
- R,
124
+ C,
125
125
  {
126
- className: S(
126
+ className: x(
127
127
  "flex w-full items-center gap-2 rounded p-3 text-left font-semibold hover:bg-primary-50 dark:text-white dark:hover:bg-gray-700"
128
128
  ),
129
129
  children: [
130
- t.icon && /* @__PURE__ */ s(W, { name: t.icon, size: 20 }),
131
- /* @__PURE__ */ s("span", { children: t.label }),
130
+ r.icon && /* @__PURE__ */ s(W, { name: r.icon, size: 20 }),
131
+ /* @__PURE__ */ s("span", { children: r.label }),
132
132
  /* @__PURE__ */ s(
133
133
  Le,
134
134
  {
135
- className: S(
136
- a ? "rotate-90 text-gray-500" : "text-gray-400",
135
+ className: x(
136
+ n ? "rotate-90 text-gray-500" : "text-gray-400",
137
137
  "ml-auto h-4 w-4 shrink-0"
138
138
  ),
139
139
  "aria-hidden": "true"
@@ -142,30 +142,32 @@ const Je = ({ list: e }) => {
142
142
  ]
143
143
  }
144
144
  ),
145
- /* @__PURE__ */ s(te, { as: "ul", className: "mt-1 px-2", children: (u = t == null ? void 0 : t.list) == null ? void 0 : u.map((n, l) => /* @__PURE__ */ s("li", { children: /* @__PURE__ */ s(
146
- R,
145
+ /* @__PURE__ */ s(re, { as: "ul", className: "mt-1 px-2", children: (i = r == null ? void 0 : r.list) == null ? void 0 : i.map((a, l) => /* @__PURE__ */ s("li", { children: /* @__PURE__ */ s(
146
+ C,
147
147
  {
148
148
  as: "a",
149
- href: n.path,
150
- className: S(
149
+ href: a.path ? a.path : "javascript:void();",
150
+ className: x(
151
151
  "block rounded py-2 pl-9 pr-2 text-gray-700 hover:bg-primary-50 dark:text-white dark:hover:bg-gray-700",
152
- r.pathname === n.path && "bg-primary-50 dark:bg-gray-700"
152
+ t.pathname === a.path && "bg-primary-50 dark:bg-gray-700"
153
153
  ),
154
- children: n.label
154
+ onClick: a == null ? void 0 : a.onClick,
155
+ children: a.label
155
156
  }
156
157
  ) }, l)) })
157
158
  ] });
158
159
  } }) : /* @__PURE__ */ T(
159
160
  "a",
160
161
  {
161
- href: t.path,
162
- className: S(
162
+ href: r.path ? r.path : "javascript:void();",
163
+ className: x(
163
164
  "flex w-full items-center justify-start gap-2 rounded p-3 font-semibold hover:bg-primary-50 dark:text-white dark:hover:bg-gray-800",
164
- r.pathname === t.path ? "bg-primary-50 dark:bg-gray-800" : ""
165
+ t.pathname === r.path ? "bg-primary-50 dark:bg-gray-800" : ""
165
166
  ),
167
+ onClick: r == null ? void 0 : r.onClick,
166
168
  children: [
167
- t.icon && /* @__PURE__ */ s(W, { name: t.icon, size: 20 }),
168
- /* @__PURE__ */ s("span", { children: t.label })
169
+ r.icon && /* @__PURE__ */ s(W, { name: r.icon, size: 20 }),
170
+ /* @__PURE__ */ s("span", { children: r.label })
169
171
  ]
170
172
  }
171
173
  ) }, d)) }) });
@@ -1,16 +1,15 @@
1
- import { default as React } from 'react';
2
1
  import { SelectOption, ValueField } from '../Selectbox/SelectboxBase';
3
2
 
4
- export type RadioGroupProps = {
3
+ export type RadioGroupProps<ListOption extends SelectOption> = {
5
4
  id?: string;
6
5
  name: string;
7
- options: SelectOption[];
6
+ options: ListOption[];
8
7
  value: string;
9
8
  readOnly?: boolean;
10
9
  className?: string;
11
10
  placeholder?: string;
12
11
  onChange: (value: string) => void;
13
- valueField?: ValueField;
12
+ valueField?: ValueField<ListOption>;
14
13
  };
15
- declare const RadioGroup: React.FC<RadioGroupProps>;
14
+ declare const RadioGroup: <ListOption extends SelectOption>({ options, value, valueField, onChange, }: RadioGroupProps<ListOption>) => import("react/jsx-runtime").JSX.Element;
16
15
  export default RadioGroup;
@@ -1,8 +1,11 @@
1
1
  import { default as React } from 'react';
2
2
  import { SelectboxProps, SelectboxHandler } from './Selectbox';
3
+ import { SelectOption } from './SelectboxBase';
3
4
 
4
- export type FormSelectboxProps = SelectboxProps & {
5
+ export type FormSelectboxProps<ListOption extends SelectOption> = SelectboxProps<ListOption> & {
5
6
  name: string;
6
7
  };
7
- declare const _default: React.ForwardRefExoticComponent<FormSelectboxProps & React.RefAttributes<SelectboxHandler>>;
8
+ declare const _default: <ListOption extends SelectOption>(props: FormSelectboxProps<ListOption> & {
9
+ ref?: React.Ref<SelectboxHandler>;
10
+ }) => React.ReactElement;
8
11
  export default _default;
@@ -1,10 +1,12 @@
1
1
  import { default as React } from 'react';
2
- import { SelectboxBaseProps, SelectboxBaseHandler } from './SelectboxBase';
2
+ import { SelectboxBaseProps, SelectboxBaseHandler, SelectOption } from './SelectboxBase';
3
3
  import { SelectboxMultipleProps, SelectboxMultipleHandler } from './SelectboxMultiple';
4
4
 
5
- export type SelectboxProps = (SelectboxBaseProps | SelectboxMultipleProps) & {
5
+ export type SelectboxProps<ListOption extends SelectOption> = (SelectboxBaseProps<ListOption> | SelectboxMultipleProps<ListOption>) & {
6
6
  multiple?: boolean;
7
7
  };
8
8
  export type SelectboxHandler = SelectboxBaseHandler | SelectboxMultipleHandler;
9
- declare const _default: React.ForwardRefExoticComponent<SelectboxProps & React.RefAttributes<SelectboxHandler>>;
9
+ declare const _default: <ListOption extends SelectOption>(props: SelectboxProps<ListOption> & {
10
+ ref?: React.Ref<SelectboxHandler>;
11
+ }) => React.ReactElement;
10
12
  export default _default;
@@ -1,33 +1,35 @@
1
1
  import { default as React } from 'react';
2
2
 
3
- export type ValueCallback = (option: SelectOption) => string;
4
- export type ValueField = ValueCallback | "id" | "value" | "label" | string;
3
+ export type ValueCallback<ListOption extends SelectOption> = (option: ListOption) => string;
4
+ export type ValueField<ListOption extends SelectOption> = ValueCallback<ListOption> | "id" | "value" | "label" | string;
5
5
  export type SelectOption = {
6
6
  id: string | number;
7
7
  label: string;
8
8
  value: string | number;
9
9
  enable: boolean;
10
10
  };
11
- export type Action = {
11
+ export type Action<ListOption extends SelectOption> = {
12
12
  type: "SETVALUE";
13
13
  value: string;
14
14
  } | {
15
15
  type: "SETSELECT";
16
- selected: SelectOption;
16
+ selected: ListOption;
17
17
  };
18
- export type SelectboxBaseProps = {
18
+ export type SelectboxBaseProps<ListOption extends SelectOption> = {
19
19
  id?: string;
20
20
  name: string;
21
- options: SelectOption[];
21
+ options: ListOption[];
22
22
  value: string | number;
23
23
  readOnly?: boolean;
24
24
  className?: string;
25
25
  placeholder?: string;
26
26
  onChange: (value: string | number) => void;
27
- valueField?: ValueField;
27
+ valueField?: ValueField<ListOption>;
28
28
  };
29
29
  export type SelectboxBaseHandler = {
30
30
  setValue: (value: string | number) => void;
31
31
  };
32
- declare const _default: React.ForwardRefExoticComponent<SelectboxBaseProps & React.RefAttributes<SelectboxBaseHandler>>;
32
+ declare const _default: <ListOption extends SelectOption>(props: SelectboxBaseProps<ListOption> & {
33
+ ref?: React.Ref<SelectboxBaseHandler>;
34
+ }) => React.ReactElement;
33
35
  export default _default;
@@ -4,16 +4,18 @@ import { SelectOption, ValueField } from './SelectboxBase';
4
4
  export type SelectboxMultipleHandler = {
5
5
  setValue: (value: string[]) => void;
6
6
  };
7
- export interface SelectboxMultipleProps {
7
+ export interface SelectboxMultipleProps<ListOption extends SelectOption> {
8
8
  id?: string;
9
- options: SelectOption[];
9
+ options: ListOption[];
10
10
  name: string;
11
11
  value?: string[] | number[];
12
12
  readOnly?: boolean;
13
13
  className?: string;
14
14
  placeholder?: string;
15
15
  onChange?: (value: string[] | number[]) => void;
16
- valueField?: ValueField;
16
+ valueField?: ValueField<ListOption>;
17
17
  }
18
- declare const _default: React.ForwardRefExoticComponent<SelectboxMultipleProps & React.RefAttributes<SelectboxMultipleHandler>>;
18
+ declare const _default: <ListOption extends SelectOption>(props: SelectboxMultipleProps<ListOption> & {
19
+ ref?: React.Ref<SelectboxMultipleHandler>;
20
+ }) => React.ReactElement;
19
21
  export default _default;
@@ -1,3 +1,3 @@
1
1
  import { SelectOption, ValueField } from './SelectboxBase';
2
2
 
3
- export declare const getValue: (option: SelectOption, valueField: ValueField) => string;
3
+ export declare const getValue: <ListOption extends SelectOption>(option: ListOption, valueField: ValueField<ListOption>) => string;
@@ -1 +1 @@
1
- export declare const useLocalStorage: (name: string, defaultValue?: boolean | string | number | object | null) => any[];
1
+ export declare const useLocalStorage: <ValueType extends unknown>(name: string, defaultValue?: ValueType) => any[];
@@ -15,10 +15,7 @@ const f = (e, n) => {
15
15
  window.localStorage.setItem(
16
16
  r,
17
17
  JSON.stringify(
18
- o.reduce(
19
- (t, c, a) => a === e ? t : { ...t, [a]: c },
20
- {}
21
- )
18
+ o.reduce((t, c, a) => a === e ? t : { ...t, [a]: c }, {})
22
19
  )
23
20
  );
24
21
  }, [r]);
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- *,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}html,body{height:100vh;width:100vw}html:is(.dark *),body:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}input:not([type=checkbox]):not([type=radio]):is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}textarea:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}#root{height:100%;width:100%}h1{margin-bottom:.75rem;font-size:2.25rem;line-height:2.5rem;font-weight:700}h2{margin-bottom:.75rem;font-size:1.875rem;line-height:2.25rem;font-weight:700}h3{margin-bottom:.75rem;font-size:1.5rem;line-height:2rem;font-weight:600}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.form-group.error{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.form-group .btn-phone-prefix button{top:1.5rem}.form-group input,.form-group textarea{width:100%;border-radius:.25rem;padding:1.25rem 1rem;font-weight:400;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.form-group input::placeholder,.form-group textarea::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.form-group input:focus::-moz-placeholder,.form-group textarea:focus::-moz-placeholder{color:transparent}.form-group input:focus::placeholder,.form-group textarea:focus::placeholder{color:transparent}.form-group input:focus,.form-group textarea:focus{outline:2px solid transparent;outline-offset:2px}.form-group input::-webkit-outer-spin-button,.form-group textarea::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group input[type=number],.form-group textarea[type=number]{-moz-appearance:textfield}.form-group:has(input:focus),.form-group:has(textarea:focus),.form-group:has([data-headlessui-state=open]){z-index:50;--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.form-group:has(input:not(:-moz-placeholder-shown)),.form-group:has(textarea:not(:-moz-placeholder-shown)){padding:1.25rem 1rem}.form-group:has(input:-webkit-autofill),.form-group:has(textarea:-webkit-autofill){padding:1.25rem 1rem}.form-group:has(input:focus),.form-group:has(input:autofill),.form-group:has(input:not(:placeholder-shown)),.form-group:has(textarea:focus),.form-group:has(textarea:autofill),.form-group:has(textarea:not(:placeholder-shown)),.form-group:has(.form-control:not(.empty)){padding:1.25rem 1rem}.form-group:has(input:not(:-moz-placeholder-shown)) label,.form-group:has(textarea:not(:-moz-placeholder-shown)) label{position:absolute;display:block;--tw-translate-y: -.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));opacity:1;-moz-transition-property:all;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.form-group:has(input:-webkit-autofill) label,.form-group:has(textarea:-webkit-autofill) label{position:absolute;display:block;--tw-translate-y: -.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));opacity:1;-webkit-transition-property:all;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.form-group:has(input:focus) label,.form-group:has(input:autofill) label,.form-group:has(input:not(:placeholder-shown)) label,.form-group:has(textarea:focus) label,.form-group:has(textarea:autofill) label,.form-group:has(textarea:not(:placeholder-shown)) label,.form-group:has(.form-control:not(.empty)) label{position:absolute;display:block;--tw-translate-y: -.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));opacity:1;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.form-group:has(input:not(:-moz-placeholder-shown)) label:is(.dark *),.form-group:has(textarea:not(:-moz-placeholder-shown)) label:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:-webkit-autofill) label:is(.dark *),.form-group:has(textarea:-webkit-autofill) label:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:focus) label:is(.dark *),.form-group:has(input:autofill) label:is(.dark *),.form-group:has(input:not(:placeholder-shown)) label:is(.dark *),.form-group:has(textarea:focus) label:is(.dark *),.form-group:has(textarea:autofill) label:is(.dark *),.form-group:has(textarea:not(:placeholder-shown)) label:is(.dark *),.form-group:has(.form-control:not(.empty)) label:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:not(:-moz-placeholder-shown)) input,.form-group:has(textarea:not(:-moz-placeholder-shown)) input,.form-group:has(input:not(:-moz-placeholder-shown)) textarea,.form-group:has(textarea:not(:-moz-placeholder-shown)) textarea,.form-group:has(input:not(:-moz-placeholder-shown)) .form-control,.form-group:has(textarea:not(:-moz-placeholder-shown)) .form-control{--tw-translate-y: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding:0}.form-group:has(input:-webkit-autofill) input,.form-group:has(textarea:-webkit-autofill) input,.form-group:has(input:-webkit-autofill) textarea,.form-group:has(textarea:-webkit-autofill) textarea,.form-group:has(input:-webkit-autofill) .form-control,.form-group:has(textarea:-webkit-autofill) .form-control{--tw-translate-y: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding:0}.form-group:has(input:focus) input,.form-group:has(input:autofill) input,.form-group:has(input:not(:placeholder-shown)) input,.form-group:has(textarea:focus) input,.form-group:has(textarea:autofill) input,.form-group:has(textarea:not(:placeholder-shown)) input,.form-group:has(.form-control:not(.empty)) input,.form-group:has(input:focus) textarea,.form-group:has(input:autofill) textarea,.form-group:has(input:not(:placeholder-shown)) textarea,.form-group:has(textarea:focus) textarea,.form-group:has(textarea:autofill) textarea,.form-group:has(textarea:not(:placeholder-shown)) textarea,.form-group:has(.form-control:not(.empty)) textarea,.form-group:has(input:focus) .form-control,.form-group:has(input:autofill) .form-control,.form-group:has(input:not(:placeholder-shown)) .form-control,.form-group:has(textarea:focus) .form-control,.form-group:has(textarea:autofill) .form-control,.form-group:has(textarea:not(:placeholder-shown)) .form-control,.form-group:has(.form-control:not(.empty)) .form-control{--tw-translate-y: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding:0}.form-group:has(input:not(:-moz-placeholder-shown)) input:is(.dark *),.form-group:has(textarea:not(:-moz-placeholder-shown)) input:is(.dark *),.form-group:has(input:not(:-moz-placeholder-shown)) textarea:is(.dark *),.form-group:has(textarea:not(:-moz-placeholder-shown)) textarea:is(.dark *),.form-group:has(input:not(:-moz-placeholder-shown)) .form-control:is(.dark *),.form-group:has(textarea:not(:-moz-placeholder-shown)) .form-control:is(.dark *){background-color:transparent;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:-webkit-autofill) input:is(.dark *),.form-group:has(textarea:-webkit-autofill) input:is(.dark *),.form-group:has(input:-webkit-autofill) textarea:is(.dark *),.form-group:has(textarea:-webkit-autofill) textarea:is(.dark *),.form-group:has(input:-webkit-autofill) .form-control:is(.dark *),.form-group:has(textarea:-webkit-autofill) .form-control:is(.dark *){background-color:transparent;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:focus) input:is(.dark *),.form-group:has(input:autofill) input:is(.dark *),.form-group:has(input:not(:placeholder-shown)) input:is(.dark *),.form-group:has(textarea:focus) input:is(.dark *),.form-group:has(textarea:autofill) input:is(.dark *),.form-group:has(textarea:not(:placeholder-shown)) input:is(.dark *),.form-group:has(.form-control:not(.empty)) input:is(.dark *),.form-group:has(input:focus) textarea:is(.dark *),.form-group:has(input:autofill) textarea:is(.dark *),.form-group:has(input:not(:placeholder-shown)) textarea:is(.dark *),.form-group:has(textarea:focus) textarea:is(.dark *),.form-group:has(textarea:autofill) textarea:is(.dark *),.form-group:has(textarea:not(:placeholder-shown)) textarea:is(.dark *),.form-group:has(.form-control:not(.empty)) textarea:is(.dark *),.form-group:has(input:focus) .form-control:is(.dark *),.form-group:has(input:autofill) .form-control:is(.dark *),.form-group:has(input:not(:placeholder-shown)) .form-control:is(.dark *),.form-group:has(textarea:focus) .form-control:is(.dark *),.form-group:has(textarea:autofill) .form-control:is(.dark *),.form-group:has(textarea:not(:placeholder-shown)) .form-control:is(.dark *),.form-group:has(.form-control:not(.empty)) .form-control:is(.dark *){background-color:transparent;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:not(:-moz-placeholder-shown)) .btn-before,.form-group:has(textarea:not(:-moz-placeholder-shown)) .btn-before{position:absolute;z-index:10;bottom:.125rem;left:.125rem}.form-group:has(input:-webkit-autofill) .btn-before,.form-group:has(textarea:-webkit-autofill) .btn-before{position:absolute;z-index:10;bottom:.125rem;left:.125rem}.form-group:has(input:focus) .btn-before,.form-group:has(input:autofill) .btn-before,.form-group:has(input:not(:placeholder-shown)) .btn-before,.form-group:has(textarea:focus) .btn-before,.form-group:has(textarea:autofill) .btn-before,.form-group:has(textarea:not(:placeholder-shown)) .btn-before,.form-group:has(.form-control:not(.empty)) .btn-before{position:absolute;z-index:10;bottom:.125rem;left:.125rem}.form-group:has(input:not(:-moz-placeholder-shown)):has(.btn-before) input,.form-group:has(textarea:not(:-moz-placeholder-shown)):has(.btn-before) input,.form-group:has(input:not(:-moz-placeholder-shown)):has(.btn-before) .form-control,.form-group:has(textarea:not(:-moz-placeholder-shown)):has(.btn-before) .form-control{padding-left:2.5rem}.form-group:has(input:-webkit-autofill):has(.btn-before) input,.form-group:has(textarea:-webkit-autofill):has(.btn-before) input,.form-group:has(input:-webkit-autofill):has(.btn-before) .form-control,.form-group:has(textarea:-webkit-autofill):has(.btn-before) .form-control{padding-left:2.5rem}.form-group:has(input:focus):has(.btn-before) input,.form-group:has(input:autofill):has(.btn-before) input,.form-group:has(input:not(:placeholder-shown)):has(.btn-before) input,.form-group:has(textarea:focus):has(.btn-before) input,.form-group:has(textarea:autofill):has(.btn-before) input,.form-group:has(textarea:not(:placeholder-shown)):has(.btn-before) input,.form-group:has(.form-control:not(.empty)):has(.btn-before) input,.form-group:has(input:focus):has(.btn-before) .form-control,.form-group:has(input:autofill):has(.btn-before) .form-control,.form-group:has(input:not(:placeholder-shown)):has(.btn-before) .form-control,.form-group:has(textarea:focus):has(.btn-before) .form-control,.form-group:has(textarea:autofill):has(.btn-before) .form-control,.form-group:has(textarea:not(:placeholder-shown)):has(.btn-before) .form-control,.form-group:has(.form-control:not(.empty)):has(.btn-before) .form-control{padding-left:2.5rem}.form-group:has(input:not(:-moz-placeholder-shown)) .btn-after,.form-group:has(textarea:not(:-moz-placeholder-shown)) .btn-after{position:absolute;right:.125rem}.form-group:has(input:-webkit-autofill) .btn-after,.form-group:has(textarea:-webkit-autofill) .btn-after{position:absolute;right:.125rem}.form-group:has(input:focus) .btn-after,.form-group:has(input:autofill) .btn-after,.form-group:has(input:not(:placeholder-shown)) .btn-after,.form-group:has(textarea:focus) .btn-after,.form-group:has(textarea:autofill) .btn-after,.form-group:has(textarea:not(:placeholder-shown)) .btn-after,.form-group:has(.form-control:not(.empty)) .btn-after{position:absolute;right:.125rem}.form-group:has(input:not(:-moz-placeholder-shown)) .btn-show-password,.form-group:has(textarea:not(:-moz-placeholder-shown)) .btn-show-password{position:absolute;right:0;height:2.25rem;width:2.25rem}.form-group:has(input:-webkit-autofill) .btn-show-password,.form-group:has(textarea:-webkit-autofill) .btn-show-password{position:absolute;right:0;height:2.25rem;width:2.25rem}.form-group:has(input:focus) .btn-show-password,.form-group:has(input:autofill) .btn-show-password,.form-group:has(input:not(:placeholder-shown)) .btn-show-password,.form-group:has(textarea:focus) .btn-show-password,.form-group:has(textarea:autofill) .btn-show-password,.form-group:has(textarea:not(:placeholder-shown)) .btn-show-password,.form-group:has(.form-control:not(.empty)) .btn-show-password{position:absolute;right:0;height:2.25rem;width:2.25rem}table.table{width:100%}table.table thead tr th{border-width:1px;border-left-width:0px;border-right-width:0px;border-top-color:rgb(243 244 246 / var(--tw-border-opacity));--tw-border-opacity: 1;border-bottom-color:rgb(0 0 0 / var(--tw-border-opacity));padding:.5rem 1rem;font-weight:600}table.table thead tr th:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}table.table tbody tr td{border-width:1px;border-left-width:0px;border-right-width:0px;border-top-width:0px;--tw-border-opacity: 1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity));padding:.75rem 1rem;text-align:center}table.table tbody tr:hover td{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}table.table tbody tr:hover td:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-14{top:3.5rem}.top-2{top:.5rem}.\!z-\[999\]{z-index:999!important}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-1{margin-bottom:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[150\%\]{height:150%}.h-\[56px\]{height:56px}.h-full{height:100%}.h-screen{height:100vh}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-\[300px\]{max-height:300px}.min-h-full{min-height:100%}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-\[150\%\]{width:150%}.w-\[320px\]{width:320px}.w-\[50px\]{width:50px}.w-full{width:100%}.min-w-min{min-width:-moz-min-content;min-width:min-content}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-auto{flex:1 1 auto}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-top-right{transform-origin:top right}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-0{--tw-translate-y: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-max{grid-auto-rows:max-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(243 244 246 / var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.border{border-width:1px}.border-2{border-width:2px}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.bg-black\/25{background-color:#00000040}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.bg-gray-800\/10{background-color:#1f29371a}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.fill-primary-600{fill:#2563eb}.\!p-0{padding:0!important}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-9{padding-left:2.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-\[56px\]{padding-top:56px}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-sm\/6{font-size:.875rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-0{outline-width:0px}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity))}.ring-black\/5{--tw-ring-color: rgb(0 0 0 / .05)}.ring-opacity-5{--tw-ring-opacity: .05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:right-0:after{content:var(--tw-content);right:0}.after\:top-0:after{content:var(--tw-content);top:0}.after\:top-1\/2:after{content:var(--tw-content);top:50%}.after\:-z-20:after{content:var(--tw-content);z-index:-20}.after\:h-\[calc\(100\%\+12px\)\]:after{content:var(--tw-content);height:calc(100% + 12px)}.after\:h-full:after{content:var(--tw-content);height:100%}.after\:w-0:after{content:var(--tw-content);width:0px}.after\:w-\[calc\(100\%\+20px\)\]:after{content:var(--tw-content);width:calc(100% + 20px)}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:-translate-y-1\/2:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:transform:after{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:rounded-md:after{content:var(--tw-content);border-radius:.375rem}.after\:rounded-l:after{content:var(--tw-content);border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.after\:bg-gray-400:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.after\:bg-primary-100:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content: "";content:var(--tw-content)}.checked\:border-primary-600:checked{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-gray-400:hover{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.hover\:bg-primary-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.hover\:duration-200:hover{transition-duration:.2s}.hover\:after\:w-full:hover:after{content:var(--tw-content);width:100%}.hover\:after\:transform:hover:after{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:after\:opacity-100:hover:after{content:var(--tw-content);opacity:1}.hover\:after\:opacity-20:hover:after{content:var(--tw-content);opacity:.2}.hover\:after\:transition-all:hover:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:after\:duration-200:hover:after{content:var(--tw-content);transition-duration:.2s}.hover\:after\:duration-300:hover:after{content:var(--tw-content);transition-duration:.3s}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-4:focus{outline-width:4px}.focus\:outline-blue-500:focus{outline-color:#3b82f6}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-primary-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.group:hover .group-hover\:opacity-80{opacity:.8}.peer:checked~.peer-checked\:z-10{z-index:10}.peer:checked~.peer-checked\:flex{display:flex}.data-\[checked\]\:bg-primary-500[data-checked]{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.data-\[focus\]\:outline-1[data-focus]{outline-width:1px}.data-\[focus\]\:outline-white[data-focus]{outline-color:#fff}.group[data-checked] .group-data-\[checked\]\:translate-x-7{--tw-translate-x: 1.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.dark\:bg-gray-50\/10:is(.dark *){background-color:#f9fafb1a}.dark\:bg-gray-500\/85:is(.dark *){background-color:#6b7280d9}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity))}.dark\:fill-primary-50:is(.dark *){fill:#eff6ff}.dark\:fill-primary-600:is(.dark *){fill:#2563eb}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:shadow-gray-800:is(.dark *){--tw-shadow-color: #1f2937;--tw-shadow: var(--tw-shadow-colored)}.dark\:after\:bg-gray-600:is(.dark *):after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.dark\:after\:bg-gray-800:is(.dark *):after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:data-\[checked\]\:bg-primary-500[data-checked]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}@media (min-width: 640px){.sm\:col-span-1{grid-column:span 1 / span 1}.sm\:col-span-10{grid-column:span 10 / span 10}.sm\:col-span-11{grid-column:span 11 / span 11}.sm\:col-span-12{grid-column:span 12 / span 12}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:col-span-3{grid-column:span 3 / span 3}.sm\:col-span-4{grid-column:span 4 / span 4}.sm\:col-span-5{grid-column:span 5 / span 5}.sm\:col-span-6{grid-column:span 6 / span 6}.sm\:col-span-7{grid-column:span 7 / span 7}.sm\:col-span-8{grid-column:span 8 / span 8}.sm\:col-span-9{grid-column:span 9 / span 9}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-10{grid-column:span 10 / span 10}.md\:col-span-11{grid-column:span 11 / span 11}.md\:col-span-12{grid-column:span 12 / span 12}.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-span-3{grid-column:span 3 / span 3}.md\:col-span-4{grid-column:span 4 / span 4}.md\:col-span-5{grid-column:span 5 / span 5}.md\:col-span-6{grid-column:span 6 / span 6}.md\:col-span-7{grid-column:span 7 / span 7}.md\:col-span-8{grid-column:span 8 / span 8}.md\:col-span-9{grid-column:span 9 / span 9}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:gap-2{gap:.5rem}.md\:p-4{padding:1rem}.md\:px-7{padding-left:1.75rem;padding-right:1.75rem}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-10{grid-column:span 10 / span 10}.lg\:col-span-11{grid-column:span 11 / span 11}.lg\:col-span-12{grid-column:span 12 / span 12}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-5{grid-column:span 5 / span 5}.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:col-span-7{grid-column:span 7 / span 7}.lg\:col-span-8{grid-column:span 8 / span 8}.lg\:col-span-9{grid-column:span 9 / span 9}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:pl-\[320px\]{padding-left:320px}}
1
+ *,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}html,body{height:100vh;width:100vw}html:is(.dark *),body:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}input:not([type=checkbox]):not([type=radio]):is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}textarea:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}#root{height:100%;width:100%}h1{margin-bottom:.75rem;font-size:2.25rem;line-height:2.5rem;font-weight:700}h2{margin-bottom:.75rem;font-size:1.875rem;line-height:2.25rem;font-weight:700}h3{margin-bottom:.75rem;font-size:1.5rem;line-height:2rem;font-weight:600}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.form-group.error{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.form-group .btn-phone-prefix button{top:1.5rem}.form-group input,.form-group textarea{width:100%;border-radius:.25rem;padding:1.25rem 1rem;font-weight:400;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.form-group input::placeholder,.form-group textarea::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.form-group input:focus::-moz-placeholder,.form-group textarea:focus::-moz-placeholder{color:transparent}.form-group input:focus::placeholder,.form-group textarea:focus::placeholder{color:transparent}.form-group input:focus,.form-group textarea:focus{outline:2px solid transparent;outline-offset:2px}.form-group input::-webkit-outer-spin-button,.form-group textarea::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group input[type=number],.form-group textarea[type=number]{-moz-appearance:textfield}.form-group:has(input:focus),.form-group:has(textarea:focus),.form-group:has([data-headlessui-state=open]){z-index:50;--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.form-group:has(input:not(:-moz-placeholder-shown)),.form-group:has(textarea:not(:-moz-placeholder-shown)){padding:1.25rem 1rem}.form-group:has(input:-webkit-autofill),.form-group:has(textarea:-webkit-autofill){padding:1.25rem 1rem}.form-group:has(input:focus),.form-group:has(input:autofill),.form-group:has(input:not(:placeholder-shown)),.form-group:has(textarea:focus),.form-group:has(textarea:autofill),.form-group:has(textarea:not(:placeholder-shown)),.form-group:has(.form-control:not(.empty)){padding:1.25rem 1rem}.form-group:has(input:not(:-moz-placeholder-shown)) label,.form-group:has(textarea:not(:-moz-placeholder-shown)) label{position:absolute;display:block;--tw-translate-y: -.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));opacity:1;-moz-transition-property:all;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.form-group:has(input:-webkit-autofill) label,.form-group:has(textarea:-webkit-autofill) label{position:absolute;display:block;--tw-translate-y: -.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));opacity:1;-webkit-transition-property:all;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.form-group:has(input:focus) label,.form-group:has(input:autofill) label,.form-group:has(input:not(:placeholder-shown)) label,.form-group:has(textarea:focus) label,.form-group:has(textarea:autofill) label,.form-group:has(textarea:not(:placeholder-shown)) label,.form-group:has(.form-control:not(.empty)) label{position:absolute;display:block;--tw-translate-y: -.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));opacity:1;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.form-group:has(input:not(:-moz-placeholder-shown)) label:is(.dark *),.form-group:has(textarea:not(:-moz-placeholder-shown)) label:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:-webkit-autofill) label:is(.dark *),.form-group:has(textarea:-webkit-autofill) label:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:focus) label:is(.dark *),.form-group:has(input:autofill) label:is(.dark *),.form-group:has(input:not(:placeholder-shown)) label:is(.dark *),.form-group:has(textarea:focus) label:is(.dark *),.form-group:has(textarea:autofill) label:is(.dark *),.form-group:has(textarea:not(:placeholder-shown)) label:is(.dark *),.form-group:has(.form-control:not(.empty)) label:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:not(:-moz-placeholder-shown)) input,.form-group:has(textarea:not(:-moz-placeholder-shown)) input,.form-group:has(input:not(:-moz-placeholder-shown)) textarea,.form-group:has(textarea:not(:-moz-placeholder-shown)) textarea,.form-group:has(input:not(:-moz-placeholder-shown)) .form-control,.form-group:has(textarea:not(:-moz-placeholder-shown)) .form-control{--tw-translate-y: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding:0}.form-group:has(input:-webkit-autofill) input,.form-group:has(textarea:-webkit-autofill) input,.form-group:has(input:-webkit-autofill) textarea,.form-group:has(textarea:-webkit-autofill) textarea,.form-group:has(input:-webkit-autofill) .form-control,.form-group:has(textarea:-webkit-autofill) .form-control{--tw-translate-y: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding:0}.form-group:has(input:focus) input,.form-group:has(input:autofill) input,.form-group:has(input:not(:placeholder-shown)) input,.form-group:has(textarea:focus) input,.form-group:has(textarea:autofill) input,.form-group:has(textarea:not(:placeholder-shown)) input,.form-group:has(.form-control:not(.empty)) input,.form-group:has(input:focus) textarea,.form-group:has(input:autofill) textarea,.form-group:has(input:not(:placeholder-shown)) textarea,.form-group:has(textarea:focus) textarea,.form-group:has(textarea:autofill) textarea,.form-group:has(textarea:not(:placeholder-shown)) textarea,.form-group:has(.form-control:not(.empty)) textarea,.form-group:has(input:focus) .form-control,.form-group:has(input:autofill) .form-control,.form-group:has(input:not(:placeholder-shown)) .form-control,.form-group:has(textarea:focus) .form-control,.form-group:has(textarea:autofill) .form-control,.form-group:has(textarea:not(:placeholder-shown)) .form-control,.form-group:has(.form-control:not(.empty)) .form-control{--tw-translate-y: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding:0}.form-group:has(input:not(:-moz-placeholder-shown)) input:is(.dark *),.form-group:has(textarea:not(:-moz-placeholder-shown)) input:is(.dark *),.form-group:has(input:not(:-moz-placeholder-shown)) textarea:is(.dark *),.form-group:has(textarea:not(:-moz-placeholder-shown)) textarea:is(.dark *),.form-group:has(input:not(:-moz-placeholder-shown)) .form-control:is(.dark *),.form-group:has(textarea:not(:-moz-placeholder-shown)) .form-control:is(.dark *){background-color:transparent;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:-webkit-autofill) input:is(.dark *),.form-group:has(textarea:-webkit-autofill) input:is(.dark *),.form-group:has(input:-webkit-autofill) textarea:is(.dark *),.form-group:has(textarea:-webkit-autofill) textarea:is(.dark *),.form-group:has(input:-webkit-autofill) .form-control:is(.dark *),.form-group:has(textarea:-webkit-autofill) .form-control:is(.dark *){background-color:transparent;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:focus) input:is(.dark *),.form-group:has(input:autofill) input:is(.dark *),.form-group:has(input:not(:placeholder-shown)) input:is(.dark *),.form-group:has(textarea:focus) input:is(.dark *),.form-group:has(textarea:autofill) input:is(.dark *),.form-group:has(textarea:not(:placeholder-shown)) input:is(.dark *),.form-group:has(.form-control:not(.empty)) input:is(.dark *),.form-group:has(input:focus) textarea:is(.dark *),.form-group:has(input:autofill) textarea:is(.dark *),.form-group:has(input:not(:placeholder-shown)) textarea:is(.dark *),.form-group:has(textarea:focus) textarea:is(.dark *),.form-group:has(textarea:autofill) textarea:is(.dark *),.form-group:has(textarea:not(:placeholder-shown)) textarea:is(.dark *),.form-group:has(.form-control:not(.empty)) textarea:is(.dark *),.form-group:has(input:focus) .form-control:is(.dark *),.form-group:has(input:autofill) .form-control:is(.dark *),.form-group:has(input:not(:placeholder-shown)) .form-control:is(.dark *),.form-group:has(textarea:focus) .form-control:is(.dark *),.form-group:has(textarea:autofill) .form-control:is(.dark *),.form-group:has(textarea:not(:placeholder-shown)) .form-control:is(.dark *),.form-group:has(.form-control:not(.empty)) .form-control:is(.dark *){background-color:transparent;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.form-group:has(input:not(:-moz-placeholder-shown)) .btn-before,.form-group:has(textarea:not(:-moz-placeholder-shown)) .btn-before{position:absolute;z-index:10;bottom:.125rem;left:.125rem}.form-group:has(input:-webkit-autofill) .btn-before,.form-group:has(textarea:-webkit-autofill) .btn-before{position:absolute;z-index:10;bottom:.125rem;left:.125rem}.form-group:has(input:focus) .btn-before,.form-group:has(input:autofill) .btn-before,.form-group:has(input:not(:placeholder-shown)) .btn-before,.form-group:has(textarea:focus) .btn-before,.form-group:has(textarea:autofill) .btn-before,.form-group:has(textarea:not(:placeholder-shown)) .btn-before,.form-group:has(.form-control:not(.empty)) .btn-before{position:absolute;z-index:10;bottom:.125rem;left:.125rem}.form-group:has(input:not(:-moz-placeholder-shown)):has(.btn-before) input,.form-group:has(textarea:not(:-moz-placeholder-shown)):has(.btn-before) input,.form-group:has(input:not(:-moz-placeholder-shown)):has(.btn-before) .form-control,.form-group:has(textarea:not(:-moz-placeholder-shown)):has(.btn-before) .form-control{padding-left:2.5rem}.form-group:has(input:-webkit-autofill):has(.btn-before) input,.form-group:has(textarea:-webkit-autofill):has(.btn-before) input,.form-group:has(input:-webkit-autofill):has(.btn-before) .form-control,.form-group:has(textarea:-webkit-autofill):has(.btn-before) .form-control{padding-left:2.5rem}.form-group:has(input:focus):has(.btn-before) input,.form-group:has(input:autofill):has(.btn-before) input,.form-group:has(input:not(:placeholder-shown)):has(.btn-before) input,.form-group:has(textarea:focus):has(.btn-before) input,.form-group:has(textarea:autofill):has(.btn-before) input,.form-group:has(textarea:not(:placeholder-shown)):has(.btn-before) input,.form-group:has(.form-control:not(.empty)):has(.btn-before) input,.form-group:has(input:focus):has(.btn-before) .form-control,.form-group:has(input:autofill):has(.btn-before) .form-control,.form-group:has(input:not(:placeholder-shown)):has(.btn-before) .form-control,.form-group:has(textarea:focus):has(.btn-before) .form-control,.form-group:has(textarea:autofill):has(.btn-before) .form-control,.form-group:has(textarea:not(:placeholder-shown)):has(.btn-before) .form-control,.form-group:has(.form-control:not(.empty)):has(.btn-before) .form-control{padding-left:2.5rem}.form-group:has(input:not(:-moz-placeholder-shown)) .btn-after,.form-group:has(textarea:not(:-moz-placeholder-shown)) .btn-after{position:absolute;right:.125rem}.form-group:has(input:-webkit-autofill) .btn-after,.form-group:has(textarea:-webkit-autofill) .btn-after{position:absolute;right:.125rem}.form-group:has(input:focus) .btn-after,.form-group:has(input:autofill) .btn-after,.form-group:has(input:not(:placeholder-shown)) .btn-after,.form-group:has(textarea:focus) .btn-after,.form-group:has(textarea:autofill) .btn-after,.form-group:has(textarea:not(:placeholder-shown)) .btn-after,.form-group:has(.form-control:not(.empty)) .btn-after{position:absolute;right:.125rem}.form-group:has(input:not(:-moz-placeholder-shown)) .btn-show-password,.form-group:has(textarea:not(:-moz-placeholder-shown)) .btn-show-password{position:absolute;right:0;height:2.25rem;width:2.25rem}.form-group:has(input:-webkit-autofill) .btn-show-password,.form-group:has(textarea:-webkit-autofill) .btn-show-password{position:absolute;right:0;height:2.25rem;width:2.25rem}.form-group:has(input:focus) .btn-show-password,.form-group:has(input:autofill) .btn-show-password,.form-group:has(input:not(:placeholder-shown)) .btn-show-password,.form-group:has(textarea:focus) .btn-show-password,.form-group:has(textarea:autofill) .btn-show-password,.form-group:has(textarea:not(:placeholder-shown)) .btn-show-password,.form-group:has(.form-control:not(.empty)) .btn-show-password{position:absolute;right:0;height:2.25rem;width:2.25rem}table.table{width:100%}table.table thead tr th{border-width:1px;border-left-width:0px;border-right-width:0px;border-top-color:rgb(243 244 246 / var(--tw-border-opacity));--tw-border-opacity: 1;border-bottom-color:rgb(0 0 0 / var(--tw-border-opacity));padding:.5rem 1rem;font-weight:600}table.table thead tr th:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}table.table tbody tr td{border-width:1px;border-left-width:0px;border-right-width:0px;border-top-width:0px;--tw-border-opacity: 1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity));padding:.75rem 1rem;text-align:center}table.table tbody tr:hover td{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}table.table tbody tr:hover td:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-14{top:3.5rem}.top-2{top:.5rem}.top-\[56px\]{top:56px}.\!z-\[999\]{z-index:999!important}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-1{margin-bottom:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[150\%\]{height:150%}.h-\[56px\]{height:56px}.h-full{height:100%}.h-screen{height:100vh}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-\[300px\]{max-height:300px}.min-h-full{min-height:100%}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-\[150\%\]{width:150%}.w-\[320px\]{width:320px}.w-\[50px\]{width:50px}.w-full{width:100%}.min-w-min{min-width:-moz-min-content;min-width:min-content}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-auto{flex:1 1 auto}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-top-right{transform-origin:top right}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-0{--tw-translate-y: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-max{grid-auto-rows:max-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(243 244 246 / var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.border{border-width:1px}.border-2{border-width:2px}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.bg-black\/25{background-color:#00000040}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.bg-gray-800\/10{background-color:#1f29371a}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.fill-primary-600{fill:#2563eb}.\!p-0{padding:0!important}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-9{padding-left:2.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-\[56px\]{padding-top:56px}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-sm\/6{font-size:.875rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-0{outline-width:0px}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity))}.ring-black\/5{--tw-ring-color: rgb(0 0 0 / .05)}.ring-opacity-5{--tw-ring-opacity: .05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:right-0:after{content:var(--tw-content);right:0}.after\:top-0:after{content:var(--tw-content);top:0}.after\:top-1\/2:after{content:var(--tw-content);top:50%}.after\:-z-20:after{content:var(--tw-content);z-index:-20}.after\:h-\[calc\(100\%\+12px\)\]:after{content:var(--tw-content);height:calc(100% + 12px)}.after\:h-full:after{content:var(--tw-content);height:100%}.after\:w-0:after{content:var(--tw-content);width:0px}.after\:w-\[calc\(100\%\+20px\)\]:after{content:var(--tw-content);width:calc(100% + 20px)}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:-translate-y-1\/2:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:transform:after{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:rounded-md:after{content:var(--tw-content);border-radius:.375rem}.after\:rounded-l:after{content:var(--tw-content);border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.after\:bg-gray-400:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.after\:bg-primary-100:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content: "";content:var(--tw-content)}.checked\:border-primary-600:checked{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-gray-400:hover{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.hover\:bg-primary-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.hover\:duration-200:hover{transition-duration:.2s}.hover\:after\:w-full:hover:after{content:var(--tw-content);width:100%}.hover\:after\:transform:hover:after{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:after\:opacity-100:hover:after{content:var(--tw-content);opacity:1}.hover\:after\:opacity-20:hover:after{content:var(--tw-content);opacity:.2}.hover\:after\:transition-all:hover:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:after\:duration-200:hover:after{content:var(--tw-content);transition-duration:.2s}.hover\:after\:duration-300:hover:after{content:var(--tw-content);transition-duration:.3s}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-4:focus{outline-width:4px}.focus\:outline-blue-500:focus{outline-color:#3b82f6}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-primary-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.group:hover .group-hover\:opacity-80{opacity:.8}.peer:checked~.peer-checked\:z-10{z-index:10}.peer:checked~.peer-checked\:flex{display:flex}.data-\[checked\]\:bg-primary-500[data-checked]{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.data-\[focus\]\:outline-1[data-focus]{outline-width:1px}.data-\[focus\]\:outline-white[data-focus]{outline-color:#fff}.group[data-checked] .group-data-\[checked\]\:translate-x-7{--tw-translate-x: 1.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.dark\:bg-gray-50\/10:is(.dark *){background-color:#f9fafb1a}.dark\:bg-gray-500\/85:is(.dark *){background-color:#6b7280d9}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity))}.dark\:fill-primary-50:is(.dark *){fill:#eff6ff}.dark\:fill-primary-600:is(.dark *){fill:#2563eb}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:shadow-gray-800:is(.dark *){--tw-shadow-color: #1f2937;--tw-shadow: var(--tw-shadow-colored)}.dark\:after\:bg-gray-600:is(.dark *):after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.dark\:after\:bg-gray-800:is(.dark *):after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:data-\[checked\]\:bg-primary-500[data-checked]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}@media (min-width: 640px){.sm\:col-span-1{grid-column:span 1 / span 1}.sm\:col-span-10{grid-column:span 10 / span 10}.sm\:col-span-11{grid-column:span 11 / span 11}.sm\:col-span-12{grid-column:span 12 / span 12}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:col-span-3{grid-column:span 3 / span 3}.sm\:col-span-4{grid-column:span 4 / span 4}.sm\:col-span-5{grid-column:span 5 / span 5}.sm\:col-span-6{grid-column:span 6 / span 6}.sm\:col-span-7{grid-column:span 7 / span 7}.sm\:col-span-8{grid-column:span 8 / span 8}.sm\:col-span-9{grid-column:span 9 / span 9}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-10{grid-column:span 10 / span 10}.md\:col-span-11{grid-column:span 11 / span 11}.md\:col-span-12{grid-column:span 12 / span 12}.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-span-3{grid-column:span 3 / span 3}.md\:col-span-4{grid-column:span 4 / span 4}.md\:col-span-5{grid-column:span 5 / span 5}.md\:col-span-6{grid-column:span 6 / span 6}.md\:col-span-7{grid-column:span 7 / span 7}.md\:col-span-8{grid-column:span 8 / span 8}.md\:col-span-9{grid-column:span 9 / span 9}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:gap-2{gap:.5rem}.md\:p-4{padding:1rem}.md\:px-7{padding-left:1.75rem;padding-right:1.75rem}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-10{grid-column:span 10 / span 10}.lg\:col-span-11{grid-column:span 11 / span 11}.lg\:col-span-12{grid-column:span 12 / span 12}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-5{grid-column:span 5 / span 5}.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:col-span-7{grid-column:span 7 / span 7}.lg\:col-span-8{grid-column:span 8 / span 8}.lg\:col-span-9{grid-column:span 9 / span 9}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:pl-\[320px\]{padding-left:320px}}
@@ -1,6 +1,6 @@
1
- import { jsxs as i, Fragment as m, jsx as r } from "react/jsx-runtime";
2
- import o, { Fragment as c } from "react";
3
- import { useLocalStorage as w } from "../../hooks/useLocalStorage.js";
1
+ import { jsxs as i, Fragment as m, jsx as n } from "react/jsx-runtime";
2
+ import o, { Fragment as w } from "react";
3
+ import { useLocalStorage as c } from "../../hooks/useLocalStorage.js";
4
4
  import { t as u } from "../../bundle-mjs-SHnj3fHy.js";
5
5
  import { X as h } from "../../transition-6o20faRl.js";
6
6
  const p = (e, t) => t.type === "toggleSmMenu" ? {
@@ -9,10 +9,10 @@ const p = (e, t) => t.type === "toggleSmMenu" ? {
9
9
  } : t.type === "toggleLgMenu" ? {
10
10
  ...e,
11
11
  showLgMenu: !e.showLgMenu
12
- } : e, M = ({ header: e, menu: t, menuType: n = "static", children: d }, f) => {
13
- const [a, g] = w("menuOpen", !0), [l, s] = o.useReducer(p, {
12
+ } : e, M = ({ header: e, menu: t, menuType: r = "static", children: d }, f) => {
13
+ const [a, g] = c("menuOpen", !0), [l, s] = o.useReducer(p, {
14
14
  showSmMenu: !1,
15
- showLgMenu: n === "fixed" ? !1 : a
15
+ showLgMenu: r === "fixed" ? !1 : a
16
16
  });
17
17
  return o.useImperativeHandle(f, () => ({
18
18
  toggleMenu: () => {
@@ -24,10 +24,10 @@ const p = (e, t) => t.type === "toggleSmMenu" ? {
24
24
  })), o.useEffect(() => {
25
25
  s({
26
26
  type: "setLgMenu",
27
- menuOpen: n === "fixed" ? !1 : a
27
+ menuOpen: r === "fixed" ? !1 : a
28
28
  });
29
- }, [a, n]), /* @__PURE__ */ i(m, { children: [
30
- /* @__PURE__ */ r("div", { className: "fixed top-0 z-50 w-full left-0 right-0", children: e }),
29
+ }, [a, r]), /* @__PURE__ */ i(m, { children: [
30
+ /* @__PURE__ */ n("div", { className: "fixed top-0 w-full left-0 right-0 z-10", children: e }),
31
31
  /* @__PURE__ */ i(
32
32
  "div",
33
33
  {
@@ -35,10 +35,10 @@ const p = (e, t) => t.type === "toggleSmMenu" ? {
35
35
  "flex min-h-full w-full min-w-min flex-col pt-[56px]"
36
36
  ),
37
37
  children: [
38
- /* @__PURE__ */ r(
38
+ /* @__PURE__ */ n(
39
39
  h,
40
40
  {
41
- as: c,
41
+ as: w,
42
42
  show: l.showSmMenu,
43
43
  enter: "transform transition duration-300",
44
44
  enterFrom: "-translate-y-0",
@@ -46,26 +46,27 @@ const p = (e, t) => t.type === "toggleSmMenu" ? {
46
46
  leave: "transform transition duration-200 ease-in-out",
47
47
  leaveFrom: "translate-y-0",
48
48
  leaveTo: "-translate-y-full",
49
- children: /* @__PURE__ */ r("div", { className: "absolute bottom-0 top-14 z-50 flex w-full bg-white shadow dark:bg-gray-900 lg:hidden", children: t })
49
+ children: /* @__PURE__ */ n("div", { className: "absolute bottom-0 top-14 z-10 flex w-full bg-white shadow dark:bg-gray-900 lg:hidden", children: t })
50
50
  }
51
51
  ),
52
52
  /* @__PURE__ */ i("div", { className: "flex w-full flex-auto", children: [
53
- /* @__PURE__ */ r(
53
+ /* @__PURE__ */ n(
54
54
  "div",
55
55
  {
56
56
  className: u(
57
- "hidden w-[320px] shadow dark:shadow-gray-800 dark:bg-gray-900 lg:flex fixed top-0 pt-[56px] left-0 z-40 bottom-0 transform transition duration-300",
57
+ "hidden w-[320px] shadow bg-white dark:shadow-gray-800 dark:bg-gray-900 lg:flex fixed top-[56px] left-0 bottom-0 transform transition duration-300",
58
+ r === "fixed" && "z-50",
58
59
  l.showLgMenu === !0 ? "translate-x-0" : "-translate-x-full"
59
60
  ),
60
61
  children: t
61
62
  }
62
63
  ),
63
- /* @__PURE__ */ r(
64
+ /* @__PURE__ */ n(
64
65
  "div",
65
66
  {
66
67
  className: u(
67
68
  "grow",
68
- l.showLgMenu === !0 && n === "static" ? "lg:pl-[320px]" : ""
69
+ l.showLgMenu === !0 && r === "static" ? "lg:pl-[320px]" : ""
69
70
  ),
70
71
  children: d
71
72
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anysystem-design",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,21 +15,32 @@
15
15
  "build": "tsc -p ./tsconfig-build.json && bunx --bun vite build",
16
16
  "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
17
17
  "preview": "bunx --bun vite preview",
18
- "deploy": "npm login && npm publish"
18
+ "deploy": "npm login && npm publish",
19
+ "storybook": "storybook dev -p 6006",
20
+ "build-storybook": "storybook build"
19
21
  },
20
22
  "peerDependencies": {
21
- "react": "^18.2.0",
22
- "react-dom": "^18.2.0",
23
- "tailwind-merge": "^2.2.0",
24
- "formik": "^2.4.6",
25
- "react-router-dom": "^6.24.0",
26
23
  "@aliakbarazizi/headless-datepicker": "^2.0.2",
27
24
  "@floating-ui/react": "^0.26.19",
28
25
  "@headlessui/react": "^2.1.2",
26
+ "formik": "^2.4.6",
29
27
  "moment": "^2.30.1",
30
- "react-icons": "^5.2.1"
28
+ "react": "^18.2.0",
29
+ "react-dom": "^18.2.0",
30
+ "react-icons": "^5.2.1",
31
+ "react-router-dom": "^6.24.0",
32
+ "tailwind-merge": "^2.2.0"
31
33
  },
32
34
  "devDependencies": {
35
+ "@chromatic-com/storybook": "^1.6.1",
36
+ "@storybook/addon-essentials": "^8.2.7",
37
+ "@storybook/addon-interactions": "^8.2.7",
38
+ "@storybook/addon-links": "^8.2.7",
39
+ "@storybook/addon-onboarding": "^8.2.7",
40
+ "@storybook/blocks": "^8.2.7",
41
+ "@storybook/react": "^8.2.7",
42
+ "@storybook/react-vite": "^8.2.7",
43
+ "@storybook/test": "^8.2.7",
33
44
  "@types/lodash": "^4.17.6",
34
45
  "@types/react": "^18.2.43",
35
46
  "@types/react-dom": "^18.2.17",
@@ -40,6 +51,7 @@
40
51
  "eslint": "^8.55.0",
41
52
  "eslint-plugin-react-hooks": "^4.6.0",
42
53
  "eslint-plugin-react-refresh": "^0.4.5",
54
+ "eslint-plugin-storybook": "^0.8.0",
43
55
  "glob": "^10.3.15",
44
56
  "less": "^4.2.0",
45
57
  "node": "^20.13.1",
@@ -49,11 +61,11 @@
49
61
  "postcss-nesting": "^12.1.0",
50
62
  "react": "^18.2.0",
51
63
  "react-dom": "^18.2.0",
64
+ "storybook": "^8.2.7",
52
65
  "tailwindcss": "^3.4.4",
53
66
  "typescript": "^5.2.2",
54
67
  "vite": "^5.0.8",
55
68
  "vite-plugin-dts": "^3.9.1",
56
69
  "vite-plugin-lib-inject-css": "^2.1.1"
57
- },
58
- "dependencies": {}
70
+ }
59
71
  }