@seekho/ui 0.1.33 → 0.1.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +77 -1
- package/dist/index.d.ts +77 -1
- package/dist/index.js +429 -15
- package/dist/index.mjs +422 -16
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -28,6 +28,18 @@ interface AccordionDetailsProps {
|
|
|
28
28
|
}
|
|
29
29
|
declare const AccordionDetails: ({ children, id, className, }: AccordionDetailsProps) => react_jsx_runtime.JSX.Element;
|
|
30
30
|
|
|
31
|
+
interface ChipProps {
|
|
32
|
+
label: string;
|
|
33
|
+
type?: "success" | "error" | "warning" | "default";
|
|
34
|
+
className?: string;
|
|
35
|
+
style?: React.CSSProperties;
|
|
36
|
+
deleteIcon?: React.ReactNode;
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
39
|
+
onDelete?: (e: React.MouseEvent<HTMLSpanElement>) => void;
|
|
40
|
+
}
|
|
41
|
+
declare const Chip: ({ label, type, style, deleteIcon, disabled, className, onClick, onDelete, }: ChipProps) => react_jsx_runtime.JSX.Element;
|
|
42
|
+
|
|
31
43
|
interface RenderOptionProps {
|
|
32
44
|
onClick: (e: React.MouseEvent<HTMLLIElement>) => void;
|
|
33
45
|
onMouseEnter: () => void;
|
|
@@ -123,6 +135,27 @@ interface FilterDrawerProps {
|
|
|
123
135
|
}
|
|
124
136
|
declare const FilterDrawer: ({ open, title, anchor, children, drawerClassName, childrenClassName, applyBtnText, clearBtnText, handleClose, handleApplyFilters, handleClearFilters, }: FilterDrawerProps) => react_jsx_runtime.JSX.Element;
|
|
125
137
|
|
|
138
|
+
interface MenuProps {
|
|
139
|
+
anchorEl: HTMLElement | null;
|
|
140
|
+
open: boolean;
|
|
141
|
+
onClose: () => void;
|
|
142
|
+
children: React.ReactNode;
|
|
143
|
+
align?: "left" | "right";
|
|
144
|
+
className?: string;
|
|
145
|
+
}
|
|
146
|
+
declare const Menu: ({ anchorEl, open, onClose, children, align, className, }: MenuProps) => React.ReactPortal | null;
|
|
147
|
+
|
|
148
|
+
interface MenuItemProps {
|
|
149
|
+
onClick?: () => void;
|
|
150
|
+
children: React.ReactNode;
|
|
151
|
+
disabled?: boolean;
|
|
152
|
+
selected?: boolean;
|
|
153
|
+
icon?: React.ReactNode;
|
|
154
|
+
className?: string;
|
|
155
|
+
}
|
|
156
|
+
declare const MenuItem: ({ onClick, children, disabled, selected, icon, className, }: MenuItemProps) => react_jsx_runtime.JSX.Element;
|
|
157
|
+
declare const MenuDivider: () => react_jsx_runtime.JSX.Element;
|
|
158
|
+
|
|
126
159
|
interface ModalProps {
|
|
127
160
|
show: boolean;
|
|
128
161
|
title?: string;
|
|
@@ -210,6 +243,49 @@ interface StagingAlertProps {
|
|
|
210
243
|
}
|
|
211
244
|
declare const StagingAlert: ({ liveUrl, liveLinkText, }: StagingAlertProps) => react_jsx_runtime.JSX.Element;
|
|
212
245
|
|
|
246
|
+
interface SelectOptionData {
|
|
247
|
+
value: string | number;
|
|
248
|
+
label: React.ReactNode;
|
|
249
|
+
disabled: boolean;
|
|
250
|
+
}
|
|
251
|
+
interface SelectRenderOptionProps {
|
|
252
|
+
onMouseDown: () => void;
|
|
253
|
+
onMouseEnter: () => void;
|
|
254
|
+
className: string;
|
|
255
|
+
}
|
|
256
|
+
interface SelectProps {
|
|
257
|
+
value: string | number;
|
|
258
|
+
onChange: (e: {
|
|
259
|
+
target: {
|
|
260
|
+
value: string | number;
|
|
261
|
+
};
|
|
262
|
+
}) => void;
|
|
263
|
+
children?: React.ReactNode;
|
|
264
|
+
disabled?: boolean;
|
|
265
|
+
placeholder?: string;
|
|
266
|
+
size?: "small" | "medium" | "large";
|
|
267
|
+
error?: boolean;
|
|
268
|
+
className?: string;
|
|
269
|
+
renderOption?: (props: SelectRenderOptionProps, option: SelectOptionData) => React.ReactNode;
|
|
270
|
+
renderValue?: (option: SelectOptionData | null) => React.ReactNode;
|
|
271
|
+
}
|
|
272
|
+
declare const Select: ({ value, onChange, children, disabled, placeholder, size, error, className, renderOption, renderValue, }: SelectProps) => react_jsx_runtime.JSX.Element;
|
|
273
|
+
|
|
274
|
+
interface SelectOptionProps {
|
|
275
|
+
value: string | number;
|
|
276
|
+
children: React.ReactNode;
|
|
277
|
+
disabled?: boolean;
|
|
278
|
+
}
|
|
279
|
+
declare const SelectOption: (_props: SelectOptionProps) => null;
|
|
280
|
+
|
|
281
|
+
interface SwitchProps {
|
|
282
|
+
checked: boolean;
|
|
283
|
+
onChange: () => void;
|
|
284
|
+
disabled?: boolean;
|
|
285
|
+
className?: string;
|
|
286
|
+
}
|
|
287
|
+
declare const Switch: ({ checked, onChange, disabled, className, }: SwitchProps) => react_jsx_runtime.JSX.Element;
|
|
288
|
+
|
|
213
289
|
interface TabsProps {
|
|
214
290
|
value: number | string;
|
|
215
291
|
onChange: (event: React.SyntheticEvent, value: number | string) => void;
|
|
@@ -274,4 +350,4 @@ declare const handleCopyTextToClipboard: ({ clipboardText, }: {
|
|
|
274
350
|
clipboardText: string | number | null | undefined;
|
|
275
351
|
}) => Promise<boolean>;
|
|
276
352
|
|
|
277
|
-
export { Accordion, AccordionDetails, type AccordionDetailsProps, type AccordionProps, AccordionSummary, type AccordionSummaryProps, AutoComplete, type AutoCompleteProps, Breadcrumb, type BreadcrumbProps, ButtonLoader, type ButtonLoaderProps, CopyId, type CopyIdProps, CustomAnchor, type CustomAnchorProps, CustomInput, type CustomInputProps, Drawer, type DrawerAnchor, type DrawerProps, FilterDrawer, type FilterDrawerProps, InputTitleWithRequired, type InputTitleWithRequiredProps, Modal, type ModalProps, type MonthYear, MonthYearPicker, type MonthYearPickerProps, Pagination, type PaginationProps, ReadMore, type ReadMoreProps, SearchBar, type SearchBarProps, StagingAlert, type StagingAlertProps, Tab, type TabProps, Tabs, type TabsProps, Tooltip, type TooltipPlacement, type TooltipProps, cn, handleAllyProps, handleCopyTextToClipboard, useLocalStorage };
|
|
353
|
+
export { Accordion, AccordionDetails, type AccordionDetailsProps, type AccordionProps, AccordionSummary, type AccordionSummaryProps, AutoComplete, type AutoCompleteProps, Breadcrumb, type BreadcrumbProps, ButtonLoader, type ButtonLoaderProps, Chip, type ChipProps, CopyId, type CopyIdProps, CustomAnchor, type CustomAnchorProps, CustomInput, type CustomInputProps, Drawer, type DrawerAnchor, type DrawerProps, FilterDrawer, type FilterDrawerProps, InputTitleWithRequired, type InputTitleWithRequiredProps, Menu, MenuDivider, MenuItem, type MenuItemProps, type MenuProps, Modal, type ModalProps, type MonthYear, MonthYearPicker, type MonthYearPickerProps, Pagination, type PaginationProps, ReadMore, type ReadMoreProps, SearchBar, type SearchBarProps, Select, SelectOption, type SelectOptionData, type SelectOptionProps, type SelectProps, type SelectRenderOptionProps, StagingAlert, type StagingAlertProps, Switch, type SwitchProps, Tab, type TabProps, Tabs, type TabsProps, Tooltip, type TooltipPlacement, type TooltipProps, cn, handleAllyProps, handleCopyTextToClipboard, useLocalStorage };
|
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,18 @@ interface AccordionDetailsProps {
|
|
|
28
28
|
}
|
|
29
29
|
declare const AccordionDetails: ({ children, id, className, }: AccordionDetailsProps) => react_jsx_runtime.JSX.Element;
|
|
30
30
|
|
|
31
|
+
interface ChipProps {
|
|
32
|
+
label: string;
|
|
33
|
+
type?: "success" | "error" | "warning" | "default";
|
|
34
|
+
className?: string;
|
|
35
|
+
style?: React.CSSProperties;
|
|
36
|
+
deleteIcon?: React.ReactNode;
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
39
|
+
onDelete?: (e: React.MouseEvent<HTMLSpanElement>) => void;
|
|
40
|
+
}
|
|
41
|
+
declare const Chip: ({ label, type, style, deleteIcon, disabled, className, onClick, onDelete, }: ChipProps) => react_jsx_runtime.JSX.Element;
|
|
42
|
+
|
|
31
43
|
interface RenderOptionProps {
|
|
32
44
|
onClick: (e: React.MouseEvent<HTMLLIElement>) => void;
|
|
33
45
|
onMouseEnter: () => void;
|
|
@@ -123,6 +135,27 @@ interface FilterDrawerProps {
|
|
|
123
135
|
}
|
|
124
136
|
declare const FilterDrawer: ({ open, title, anchor, children, drawerClassName, childrenClassName, applyBtnText, clearBtnText, handleClose, handleApplyFilters, handleClearFilters, }: FilterDrawerProps) => react_jsx_runtime.JSX.Element;
|
|
125
137
|
|
|
138
|
+
interface MenuProps {
|
|
139
|
+
anchorEl: HTMLElement | null;
|
|
140
|
+
open: boolean;
|
|
141
|
+
onClose: () => void;
|
|
142
|
+
children: React.ReactNode;
|
|
143
|
+
align?: "left" | "right";
|
|
144
|
+
className?: string;
|
|
145
|
+
}
|
|
146
|
+
declare const Menu: ({ anchorEl, open, onClose, children, align, className, }: MenuProps) => React.ReactPortal | null;
|
|
147
|
+
|
|
148
|
+
interface MenuItemProps {
|
|
149
|
+
onClick?: () => void;
|
|
150
|
+
children: React.ReactNode;
|
|
151
|
+
disabled?: boolean;
|
|
152
|
+
selected?: boolean;
|
|
153
|
+
icon?: React.ReactNode;
|
|
154
|
+
className?: string;
|
|
155
|
+
}
|
|
156
|
+
declare const MenuItem: ({ onClick, children, disabled, selected, icon, className, }: MenuItemProps) => react_jsx_runtime.JSX.Element;
|
|
157
|
+
declare const MenuDivider: () => react_jsx_runtime.JSX.Element;
|
|
158
|
+
|
|
126
159
|
interface ModalProps {
|
|
127
160
|
show: boolean;
|
|
128
161
|
title?: string;
|
|
@@ -210,6 +243,49 @@ interface StagingAlertProps {
|
|
|
210
243
|
}
|
|
211
244
|
declare const StagingAlert: ({ liveUrl, liveLinkText, }: StagingAlertProps) => react_jsx_runtime.JSX.Element;
|
|
212
245
|
|
|
246
|
+
interface SelectOptionData {
|
|
247
|
+
value: string | number;
|
|
248
|
+
label: React.ReactNode;
|
|
249
|
+
disabled: boolean;
|
|
250
|
+
}
|
|
251
|
+
interface SelectRenderOptionProps {
|
|
252
|
+
onMouseDown: () => void;
|
|
253
|
+
onMouseEnter: () => void;
|
|
254
|
+
className: string;
|
|
255
|
+
}
|
|
256
|
+
interface SelectProps {
|
|
257
|
+
value: string | number;
|
|
258
|
+
onChange: (e: {
|
|
259
|
+
target: {
|
|
260
|
+
value: string | number;
|
|
261
|
+
};
|
|
262
|
+
}) => void;
|
|
263
|
+
children?: React.ReactNode;
|
|
264
|
+
disabled?: boolean;
|
|
265
|
+
placeholder?: string;
|
|
266
|
+
size?: "small" | "medium" | "large";
|
|
267
|
+
error?: boolean;
|
|
268
|
+
className?: string;
|
|
269
|
+
renderOption?: (props: SelectRenderOptionProps, option: SelectOptionData) => React.ReactNode;
|
|
270
|
+
renderValue?: (option: SelectOptionData | null) => React.ReactNode;
|
|
271
|
+
}
|
|
272
|
+
declare const Select: ({ value, onChange, children, disabled, placeholder, size, error, className, renderOption, renderValue, }: SelectProps) => react_jsx_runtime.JSX.Element;
|
|
273
|
+
|
|
274
|
+
interface SelectOptionProps {
|
|
275
|
+
value: string | number;
|
|
276
|
+
children: React.ReactNode;
|
|
277
|
+
disabled?: boolean;
|
|
278
|
+
}
|
|
279
|
+
declare const SelectOption: (_props: SelectOptionProps) => null;
|
|
280
|
+
|
|
281
|
+
interface SwitchProps {
|
|
282
|
+
checked: boolean;
|
|
283
|
+
onChange: () => void;
|
|
284
|
+
disabled?: boolean;
|
|
285
|
+
className?: string;
|
|
286
|
+
}
|
|
287
|
+
declare const Switch: ({ checked, onChange, disabled, className, }: SwitchProps) => react_jsx_runtime.JSX.Element;
|
|
288
|
+
|
|
213
289
|
interface TabsProps {
|
|
214
290
|
value: number | string;
|
|
215
291
|
onChange: (event: React.SyntheticEvent, value: number | string) => void;
|
|
@@ -274,4 +350,4 @@ declare const handleCopyTextToClipboard: ({ clipboardText, }: {
|
|
|
274
350
|
clipboardText: string | number | null | undefined;
|
|
275
351
|
}) => Promise<boolean>;
|
|
276
352
|
|
|
277
|
-
export { Accordion, AccordionDetails, type AccordionDetailsProps, type AccordionProps, AccordionSummary, type AccordionSummaryProps, AutoComplete, type AutoCompleteProps, Breadcrumb, type BreadcrumbProps, ButtonLoader, type ButtonLoaderProps, CopyId, type CopyIdProps, CustomAnchor, type CustomAnchorProps, CustomInput, type CustomInputProps, Drawer, type DrawerAnchor, type DrawerProps, FilterDrawer, type FilterDrawerProps, InputTitleWithRequired, type InputTitleWithRequiredProps, Modal, type ModalProps, type MonthYear, MonthYearPicker, type MonthYearPickerProps, Pagination, type PaginationProps, ReadMore, type ReadMoreProps, SearchBar, type SearchBarProps, StagingAlert, type StagingAlertProps, Tab, type TabProps, Tabs, type TabsProps, Tooltip, type TooltipPlacement, type TooltipProps, cn, handleAllyProps, handleCopyTextToClipboard, useLocalStorage };
|
|
353
|
+
export { Accordion, AccordionDetails, type AccordionDetailsProps, type AccordionProps, AccordionSummary, type AccordionSummaryProps, AutoComplete, type AutoCompleteProps, Breadcrumb, type BreadcrumbProps, ButtonLoader, type ButtonLoaderProps, Chip, type ChipProps, CopyId, type CopyIdProps, CustomAnchor, type CustomAnchorProps, CustomInput, type CustomInputProps, Drawer, type DrawerAnchor, type DrawerProps, FilterDrawer, type FilterDrawerProps, InputTitleWithRequired, type InputTitleWithRequiredProps, Menu, MenuDivider, MenuItem, type MenuItemProps, type MenuProps, Modal, type ModalProps, type MonthYear, MonthYearPicker, type MonthYearPickerProps, Pagination, type PaginationProps, ReadMore, type ReadMoreProps, SearchBar, type SearchBarProps, Select, SelectOption, type SelectOptionData, type SelectOptionProps, type SelectProps, type SelectRenderOptionProps, StagingAlert, type StagingAlertProps, Switch, type SwitchProps, Tab, type TabProps, Tabs, type TabsProps, Tooltip, type TooltipPlacement, type TooltipProps, cn, handleAllyProps, handleCopyTextToClipboard, useLocalStorage };
|
package/dist/index.js
CHANGED
|
@@ -2,14 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
var React8 = require('react');
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var ReactDOM = require('react-dom');
|
|
5
6
|
var reactHotkeysHook = require('react-hotkeys-hook');
|
|
6
|
-
var reactDom = require('react-dom');
|
|
7
7
|
|
|
8
8
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
|
|
10
10
|
var React8__default = /*#__PURE__*/_interopDefault(React8);
|
|
11
|
+
var ReactDOM__default = /*#__PURE__*/_interopDefault(ReactDOM);
|
|
11
12
|
|
|
12
13
|
var __defProp = Object.defineProperty;
|
|
14
|
+
var __defProps = Object.defineProperties;
|
|
15
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
13
16
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
14
17
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
15
18
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -25,6 +28,7 @@ var __spreadValues = (a, b) => {
|
|
|
25
28
|
}
|
|
26
29
|
return a;
|
|
27
30
|
};
|
|
31
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
28
32
|
var __objRest = (source, exclude) => {
|
|
29
33
|
var target = {};
|
|
30
34
|
for (var prop in source)
|
|
@@ -157,6 +161,62 @@ var AccordionDetails = ({
|
|
|
157
161
|
}
|
|
158
162
|
);
|
|
159
163
|
};
|
|
164
|
+
var typeMap = {
|
|
165
|
+
success: "bg-green-100 text-green-500",
|
|
166
|
+
error: "bg-red-100 text-red-500",
|
|
167
|
+
warning: "bg-orange-100 text-orange-500",
|
|
168
|
+
default: "bg-gray-100 text-gray-500"
|
|
169
|
+
};
|
|
170
|
+
var Chip = ({
|
|
171
|
+
label,
|
|
172
|
+
type = "default",
|
|
173
|
+
style,
|
|
174
|
+
deleteIcon,
|
|
175
|
+
disabled = false,
|
|
176
|
+
className = "",
|
|
177
|
+
onClick,
|
|
178
|
+
onDelete
|
|
179
|
+
}) => {
|
|
180
|
+
var _a;
|
|
181
|
+
const typeClass = (_a = typeMap[type]) != null ? _a : typeMap.default;
|
|
182
|
+
const cursorClass = disabled ? "opacity-50 cursor-not-allowed" : onClick ? "cursor-pointer" : "cursor-default";
|
|
183
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
184
|
+
"div",
|
|
185
|
+
{
|
|
186
|
+
role: onClick ? "button" : void 0,
|
|
187
|
+
tabIndex: onClick && !disabled ? 0 : void 0,
|
|
188
|
+
style,
|
|
189
|
+
onClick: !disabled && onClick ? onClick : void 0,
|
|
190
|
+
className: `inline-flex items-center gap-1 rounded-full w-fit px-3 py-[6px] text-[12px] capitalize ${typeClass} ${cursorClass} ${className}`,
|
|
191
|
+
children: [
|
|
192
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "leading-none", children: label }),
|
|
193
|
+
onDelete && /* @__PURE__ */ jsxRuntime.jsx(
|
|
194
|
+
"span",
|
|
195
|
+
{
|
|
196
|
+
role: "button",
|
|
197
|
+
tabIndex: disabled ? -1 : 0,
|
|
198
|
+
onClick: (e) => {
|
|
199
|
+
e.stopPropagation();
|
|
200
|
+
if (!disabled) onDelete(e);
|
|
201
|
+
},
|
|
202
|
+
className: "flex items-center cursor-pointer ml-0.5 opacity-60 hover:opacity-100",
|
|
203
|
+
children: deleteIcon != null ? deleteIcon : /* @__PURE__ */ jsxRuntime.jsx(
|
|
204
|
+
"svg",
|
|
205
|
+
{
|
|
206
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
207
|
+
width: "16",
|
|
208
|
+
height: "16",
|
|
209
|
+
viewBox: "0 0 24 24",
|
|
210
|
+
fill: "currentColor",
|
|
211
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" })
|
|
212
|
+
}
|
|
213
|
+
)
|
|
214
|
+
}
|
|
215
|
+
)
|
|
216
|
+
]
|
|
217
|
+
}
|
|
218
|
+
);
|
|
219
|
+
};
|
|
160
220
|
function AutoComplete({
|
|
161
221
|
label,
|
|
162
222
|
value,
|
|
@@ -820,6 +880,123 @@ var FilterDrawer = ({
|
|
|
820
880
|
}
|
|
821
881
|
);
|
|
822
882
|
};
|
|
883
|
+
var GAP = 4;
|
|
884
|
+
var PAD = 6;
|
|
885
|
+
function reposition(menu, anchorEl, align) {
|
|
886
|
+
const rect = anchorEl.getBoundingClientRect();
|
|
887
|
+
const mw = menu.offsetWidth;
|
|
888
|
+
const mh = menu.offsetHeight;
|
|
889
|
+
const vw = window.innerWidth;
|
|
890
|
+
const vh = window.innerHeight;
|
|
891
|
+
let top = rect.bottom + GAP + mh > vh - PAD ? Math.max(PAD, rect.top - mh - GAP) : rect.bottom + GAP;
|
|
892
|
+
let left = align === "right" ? rect.right - mw : rect.left;
|
|
893
|
+
left = Math.max(PAD, Math.min(left, vw - mw - PAD));
|
|
894
|
+
menu.style.top = `${top}px`;
|
|
895
|
+
menu.style.left = `${left}px`;
|
|
896
|
+
menu.style.minWidth = `${rect.width}px`;
|
|
897
|
+
menu.style.opacity = "1";
|
|
898
|
+
}
|
|
899
|
+
var Menu = ({
|
|
900
|
+
anchorEl,
|
|
901
|
+
open,
|
|
902
|
+
onClose,
|
|
903
|
+
children,
|
|
904
|
+
align = "left",
|
|
905
|
+
className = ""
|
|
906
|
+
}) => {
|
|
907
|
+
const menuRef = React8.useRef(null);
|
|
908
|
+
const onCloseRef = React8.useRef(onClose);
|
|
909
|
+
React8.useEffect(() => {
|
|
910
|
+
onCloseRef.current = onClose;
|
|
911
|
+
});
|
|
912
|
+
React8.useEffect(() => {
|
|
913
|
+
if (!open || !anchorEl) return;
|
|
914
|
+
const id = requestAnimationFrame(() => {
|
|
915
|
+
if (menuRef.current) reposition(menuRef.current, anchorEl, align);
|
|
916
|
+
});
|
|
917
|
+
return () => cancelAnimationFrame(id);
|
|
918
|
+
}, [open, anchorEl, align]);
|
|
919
|
+
React8.useEffect(() => {
|
|
920
|
+
if (!open || !anchorEl) return;
|
|
921
|
+
const update = () => {
|
|
922
|
+
if (menuRef.current) reposition(menuRef.current, anchorEl, align);
|
|
923
|
+
};
|
|
924
|
+
window.addEventListener("scroll", update, true);
|
|
925
|
+
window.addEventListener("resize", update);
|
|
926
|
+
return () => {
|
|
927
|
+
window.removeEventListener("scroll", update, true);
|
|
928
|
+
window.removeEventListener("resize", update);
|
|
929
|
+
};
|
|
930
|
+
}, [open, anchorEl, align]);
|
|
931
|
+
React8.useEffect(() => {
|
|
932
|
+
if (!open) return;
|
|
933
|
+
const handleKey = (e) => {
|
|
934
|
+
if (e.key === "Escape") onCloseRef.current();
|
|
935
|
+
};
|
|
936
|
+
document.addEventListener("keydown", handleKey);
|
|
937
|
+
return () => document.removeEventListener("keydown", handleKey);
|
|
938
|
+
}, [open]);
|
|
939
|
+
React8.useEffect(() => {
|
|
940
|
+
if (!open) return;
|
|
941
|
+
const handleMouseDown = (e) => {
|
|
942
|
+
var _a;
|
|
943
|
+
if ((anchorEl == null ? void 0 : anchorEl.contains(e.target)) || ((_a = menuRef.current) == null ? void 0 : _a.contains(e.target)))
|
|
944
|
+
return;
|
|
945
|
+
onCloseRef.current();
|
|
946
|
+
};
|
|
947
|
+
document.addEventListener("mousedown", handleMouseDown);
|
|
948
|
+
return () => document.removeEventListener("mousedown", handleMouseDown);
|
|
949
|
+
}, [open, anchorEl]);
|
|
950
|
+
if (!open) return null;
|
|
951
|
+
return ReactDOM__default.default.createPortal(
|
|
952
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
953
|
+
"div",
|
|
954
|
+
{
|
|
955
|
+
ref: menuRef,
|
|
956
|
+
role: "menu",
|
|
957
|
+
style: {
|
|
958
|
+
position: "fixed",
|
|
959
|
+
top: -9999,
|
|
960
|
+
left: -9999,
|
|
961
|
+
opacity: 0,
|
|
962
|
+
zIndex: 9999,
|
|
963
|
+
transition: "opacity 100ms ease"
|
|
964
|
+
},
|
|
965
|
+
className: `bg-white rounded shadow-lg border border-gray-100 py-1 max-w-[calc(100vw-12px)] ${className}`,
|
|
966
|
+
children
|
|
967
|
+
}
|
|
968
|
+
),
|
|
969
|
+
document.body
|
|
970
|
+
);
|
|
971
|
+
};
|
|
972
|
+
var MenuItem = ({
|
|
973
|
+
onClick,
|
|
974
|
+
children,
|
|
975
|
+
disabled = false,
|
|
976
|
+
selected = false,
|
|
977
|
+
icon,
|
|
978
|
+
className = ""
|
|
979
|
+
}) => {
|
|
980
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
981
|
+
"div",
|
|
982
|
+
{
|
|
983
|
+
role: "menuitem",
|
|
984
|
+
"aria-disabled": disabled,
|
|
985
|
+
onClick: disabled ? void 0 : onClick,
|
|
986
|
+
className: [
|
|
987
|
+
"px-3 py-2 flex gap-x-3 items-center text-[14px] tracking-wide min-w-0 w-full",
|
|
988
|
+
disabled ? "opacity-40 cursor-not-allowed" : "cursor-pointer hover:bg-gray-50",
|
|
989
|
+
selected ? "bg-gray-100 font-medium" : "",
|
|
990
|
+
className
|
|
991
|
+
].filter(Boolean).join(" "),
|
|
992
|
+
children: [
|
|
993
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center shrink-0", children: icon }),
|
|
994
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 break-words", children })
|
|
995
|
+
]
|
|
996
|
+
}
|
|
997
|
+
);
|
|
998
|
+
};
|
|
999
|
+
var MenuDivider = () => /* @__PURE__ */ jsxRuntime.jsx("hr", { className: "my-1 border-gray-100" });
|
|
823
1000
|
|
|
824
1001
|
// src/utils/modalStack.ts
|
|
825
1002
|
var stack = [];
|
|
@@ -1695,6 +1872,236 @@ var StagingAlert = ({
|
|
|
1695
1872
|
] })
|
|
1696
1873
|
] });
|
|
1697
1874
|
};
|
|
1875
|
+
var sizeConfig = {
|
|
1876
|
+
small: { py: "7px", px: "10px", fontSize: "13px" },
|
|
1877
|
+
medium: { py: "11px", px: "14px", fontSize: "14px" },
|
|
1878
|
+
large: { py: "14px", px: "14px", fontSize: "16px" }
|
|
1879
|
+
};
|
|
1880
|
+
var Select = ({
|
|
1881
|
+
value,
|
|
1882
|
+
onChange,
|
|
1883
|
+
children,
|
|
1884
|
+
disabled = false,
|
|
1885
|
+
placeholder = "Select...",
|
|
1886
|
+
size = "medium",
|
|
1887
|
+
error = false,
|
|
1888
|
+
className = "",
|
|
1889
|
+
renderOption,
|
|
1890
|
+
renderValue
|
|
1891
|
+
}) => {
|
|
1892
|
+
const [isOpen, setIsOpen] = React8.useState(false);
|
|
1893
|
+
const [dropdownStyle, setDropdownStyle] = React8.useState({});
|
|
1894
|
+
const [focusedIndex, setFocusedIndex] = React8.useState(-1);
|
|
1895
|
+
const triggerRef = React8.useRef(null);
|
|
1896
|
+
const dropdownRef = React8.useRef(null);
|
|
1897
|
+
const options = React8__default.default.Children.toArray(children).filter(Boolean).map((child) => {
|
|
1898
|
+
var _a, _b, _c, _d, _e;
|
|
1899
|
+
const c = child;
|
|
1900
|
+
return {
|
|
1901
|
+
value: (_b = (_a = c.props) == null ? void 0 : _a.value) != null ? _b : "",
|
|
1902
|
+
label: (_c = c.props) == null ? void 0 : _c.children,
|
|
1903
|
+
disabled: (_e = (_d = c.props) == null ? void 0 : _d.disabled) != null ? _e : false
|
|
1904
|
+
};
|
|
1905
|
+
});
|
|
1906
|
+
const selectedOption = options.find(
|
|
1907
|
+
(opt) => String(opt.value) === String(value)
|
|
1908
|
+
);
|
|
1909
|
+
const computePosition = React8.useCallback(() => {
|
|
1910
|
+
if (!triggerRef.current) return;
|
|
1911
|
+
const rect = triggerRef.current.getBoundingClientRect();
|
|
1912
|
+
const dropdownHeight = Math.min(options.length * 40, 240);
|
|
1913
|
+
const spaceBelow = window.innerHeight - rect.bottom;
|
|
1914
|
+
const openAbove = spaceBelow < dropdownHeight + 8 && rect.top > dropdownHeight;
|
|
1915
|
+
setDropdownStyle(__spreadProps(__spreadValues({
|
|
1916
|
+
position: "fixed"
|
|
1917
|
+
}, openAbove ? { bottom: window.innerHeight - rect.top + 2 } : { top: rect.bottom + 2 }), {
|
|
1918
|
+
left: rect.left,
|
|
1919
|
+
width: rect.width,
|
|
1920
|
+
zIndex: 9999
|
|
1921
|
+
}));
|
|
1922
|
+
}, [options.length]);
|
|
1923
|
+
React8.useEffect(() => {
|
|
1924
|
+
const handleClickOutside = (e) => {
|
|
1925
|
+
if (triggerRef.current && !triggerRef.current.contains(e.target) && (!dropdownRef.current || !dropdownRef.current.contains(e.target))) {
|
|
1926
|
+
setIsOpen(false);
|
|
1927
|
+
setFocusedIndex(-1);
|
|
1928
|
+
}
|
|
1929
|
+
};
|
|
1930
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
1931
|
+
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
1932
|
+
}, []);
|
|
1933
|
+
React8.useEffect(() => {
|
|
1934
|
+
if (!isOpen) return;
|
|
1935
|
+
const handleKeyDown = (e) => {
|
|
1936
|
+
if (e.key === "Escape") {
|
|
1937
|
+
setIsOpen(false);
|
|
1938
|
+
setFocusedIndex(-1);
|
|
1939
|
+
} else if (e.key === "ArrowDown") {
|
|
1940
|
+
e.preventDefault();
|
|
1941
|
+
setFocusedIndex((prev) => {
|
|
1942
|
+
var _a;
|
|
1943
|
+
let next = prev + 1;
|
|
1944
|
+
while (next < options.length && ((_a = options[next]) == null ? void 0 : _a.disabled)) next++;
|
|
1945
|
+
return next < options.length ? next : prev;
|
|
1946
|
+
});
|
|
1947
|
+
} else if (e.key === "ArrowUp") {
|
|
1948
|
+
e.preventDefault();
|
|
1949
|
+
setFocusedIndex((prev) => {
|
|
1950
|
+
var _a;
|
|
1951
|
+
let next = prev - 1;
|
|
1952
|
+
while (next >= 0 && ((_a = options[next]) == null ? void 0 : _a.disabled)) next--;
|
|
1953
|
+
return next >= 0 ? next : prev;
|
|
1954
|
+
});
|
|
1955
|
+
} else if (e.key === "Enter" && focusedIndex >= 0) {
|
|
1956
|
+
const opt = options[focusedIndex];
|
|
1957
|
+
if (opt && !opt.disabled) {
|
|
1958
|
+
onChange({ target: { value: opt.value } });
|
|
1959
|
+
setIsOpen(false);
|
|
1960
|
+
setFocusedIndex(-1);
|
|
1961
|
+
}
|
|
1962
|
+
}
|
|
1963
|
+
};
|
|
1964
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
1965
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
1966
|
+
}, [isOpen, focusedIndex, options, onChange]);
|
|
1967
|
+
React8.useEffect(() => {
|
|
1968
|
+
if (focusedIndex >= 0 && dropdownRef.current) {
|
|
1969
|
+
const item = dropdownRef.current.children[focusedIndex];
|
|
1970
|
+
item == null ? void 0 : item.scrollIntoView({ block: "nearest" });
|
|
1971
|
+
}
|
|
1972
|
+
}, [focusedIndex]);
|
|
1973
|
+
React8.useEffect(() => {
|
|
1974
|
+
if (!isOpen) return;
|
|
1975
|
+
window.addEventListener("scroll", computePosition, true);
|
|
1976
|
+
window.addEventListener("resize", computePosition);
|
|
1977
|
+
return () => {
|
|
1978
|
+
window.removeEventListener("scroll", computePosition, true);
|
|
1979
|
+
window.removeEventListener("resize", computePosition);
|
|
1980
|
+
};
|
|
1981
|
+
}, [isOpen, computePosition]);
|
|
1982
|
+
const handleOpen = () => {
|
|
1983
|
+
if (disabled) return;
|
|
1984
|
+
if (!isOpen) {
|
|
1985
|
+
computePosition();
|
|
1986
|
+
setFocusedIndex(
|
|
1987
|
+
options.findIndex((opt) => String(opt.value) === String(value))
|
|
1988
|
+
);
|
|
1989
|
+
}
|
|
1990
|
+
setIsOpen((prev) => !prev);
|
|
1991
|
+
};
|
|
1992
|
+
const handleSelect = (opt) => {
|
|
1993
|
+
if (opt.disabled) return;
|
|
1994
|
+
onChange({ target: { value: opt.value } });
|
|
1995
|
+
setIsOpen(false);
|
|
1996
|
+
setFocusedIndex(-1);
|
|
1997
|
+
};
|
|
1998
|
+
const { py, px, fontSize } = sizeConfig[size];
|
|
1999
|
+
const borderColor = error ? "#ef4444" : isOpen ? "var(--color-skprimary, #6b31bf)" : "#d1d5db";
|
|
2000
|
+
const borderWidth = isOpen ? "2px" : "1px";
|
|
2001
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `relative w-full ${className}`, ref: triggerRef, children: [
|
|
2002
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2003
|
+
"button",
|
|
2004
|
+
{
|
|
2005
|
+
type: "button",
|
|
2006
|
+
disabled,
|
|
2007
|
+
onClick: handleOpen,
|
|
2008
|
+
className: "w-full flex items-center justify-between rounded-md bg-white text-left outline-none disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
|
|
2009
|
+
style: { padding: `${py} ${px}`, border: `${borderWidth} solid ${borderColor}` },
|
|
2010
|
+
children: [
|
|
2011
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate flex-1 text-gray-800", style: { fontSize }, children: renderValue ? renderValue(selectedOption != null ? selectedOption : null) : selectedOption ? selectedOption.label : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: placeholder }) }),
|
|
2012
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2013
|
+
"svg",
|
|
2014
|
+
{
|
|
2015
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2016
|
+
className: `w-4 h-4 shrink-0 ml-2 text-gray-400 transition-transform duration-150 ${isOpen ? "rotate-180" : ""}`,
|
|
2017
|
+
viewBox: "0 0 24 24",
|
|
2018
|
+
fill: "none",
|
|
2019
|
+
stroke: "currentColor",
|
|
2020
|
+
strokeWidth: "2",
|
|
2021
|
+
strokeLinecap: "round",
|
|
2022
|
+
strokeLinejoin: "round",
|
|
2023
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "6 9 12 15 18 9" })
|
|
2024
|
+
}
|
|
2025
|
+
)
|
|
2026
|
+
]
|
|
2027
|
+
}
|
|
2028
|
+
),
|
|
2029
|
+
isOpen && ReactDOM__default.default.createPortal(
|
|
2030
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2031
|
+
"ul",
|
|
2032
|
+
{
|
|
2033
|
+
ref: dropdownRef,
|
|
2034
|
+
style: dropdownStyle,
|
|
2035
|
+
className: "bg-white shadow-lg rounded-md border border-gray-200 max-h-60 overflow-y-auto",
|
|
2036
|
+
children: options.map((opt, i) => {
|
|
2037
|
+
const optionProps = {
|
|
2038
|
+
onMouseDown: () => handleSelect(opt),
|
|
2039
|
+
onMouseEnter: () => !opt.disabled && setFocusedIndex(i),
|
|
2040
|
+
className: [
|
|
2041
|
+
"px-3 py-2 text-[13px] select-none",
|
|
2042
|
+
opt.disabled ? "text-gray-400 cursor-not-allowed" : focusedIndex === i ? "bg-skprimary/10 text-skprimary cursor-pointer" : "text-gray-700 cursor-pointer",
|
|
2043
|
+
String(opt.value) === String(value) ? "font-semibold" : ""
|
|
2044
|
+
].join(" ")
|
|
2045
|
+
};
|
|
2046
|
+
return renderOption ? /* @__PURE__ */ jsxRuntime.jsx(React8__default.default.Fragment, { children: renderOption(optionProps, opt) }, i) : /* @__PURE__ */ jsxRuntime.jsx("li", __spreadProps(__spreadValues({}, optionProps), { children: opt.label }), i);
|
|
2047
|
+
})
|
|
2048
|
+
}
|
|
2049
|
+
),
|
|
2050
|
+
document.body
|
|
2051
|
+
)
|
|
2052
|
+
] });
|
|
2053
|
+
};
|
|
2054
|
+
|
|
2055
|
+
// src/components/Select/SelectOption.tsx
|
|
2056
|
+
var SelectOption = (_props) => null;
|
|
2057
|
+
var Switch = ({
|
|
2058
|
+
checked,
|
|
2059
|
+
onChange,
|
|
2060
|
+
disabled = false,
|
|
2061
|
+
className = ""
|
|
2062
|
+
}) => {
|
|
2063
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2064
|
+
"button",
|
|
2065
|
+
{
|
|
2066
|
+
type: "button",
|
|
2067
|
+
role: "switch",
|
|
2068
|
+
"aria-checked": checked,
|
|
2069
|
+
disabled,
|
|
2070
|
+
onClick: disabled ? void 0 : onChange,
|
|
2071
|
+
className: `relative inline-flex shrink-0 border-0 bg-transparent p-0 focus:outline-none ${disabled ? "opacity-40 cursor-not-allowed" : "cursor-pointer"} ${className}`,
|
|
2072
|
+
style: { width: 58, height: 38 },
|
|
2073
|
+
children: [
|
|
2074
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2075
|
+
"span",
|
|
2076
|
+
{
|
|
2077
|
+
className: "absolute rounded-full transition-colors duration-200",
|
|
2078
|
+
style: {
|
|
2079
|
+
width: 34,
|
|
2080
|
+
height: 14,
|
|
2081
|
+
top: 12,
|
|
2082
|
+
left: 12,
|
|
2083
|
+
backgroundColor: checked ? "rgba(83,79,143,0.5)" : "rgba(0,0,0,0.38)"
|
|
2084
|
+
}
|
|
2085
|
+
}
|
|
2086
|
+
),
|
|
2087
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2088
|
+
"span",
|
|
2089
|
+
{
|
|
2090
|
+
className: "absolute rounded-full transition-all duration-200",
|
|
2091
|
+
style: {
|
|
2092
|
+
width: 20,
|
|
2093
|
+
height: 20,
|
|
2094
|
+
top: 9,
|
|
2095
|
+
left: checked ? 29 : 9,
|
|
2096
|
+
backgroundColor: checked ? "#534f8f" : "#fafafa",
|
|
2097
|
+
boxShadow: "0px 2px 1px -1px rgba(0,0,0,0.2), 0px 1px 1px 0px rgba(0,0,0,0.14), 0px 1px 3px 0px rgba(0,0,0,0.12)"
|
|
2098
|
+
}
|
|
2099
|
+
}
|
|
2100
|
+
)
|
|
2101
|
+
]
|
|
2102
|
+
}
|
|
2103
|
+
);
|
|
2104
|
+
};
|
|
1698
2105
|
var SCROLL_STEP = 120;
|
|
1699
2106
|
function Tabs({
|
|
1700
2107
|
value,
|
|
@@ -1869,7 +2276,7 @@ function Tab({
|
|
|
1869
2276
|
}
|
|
1870
2277
|
);
|
|
1871
2278
|
}
|
|
1872
|
-
var
|
|
2279
|
+
var GAP2 = 8;
|
|
1873
2280
|
var VIEWPORT_PADDING = 6;
|
|
1874
2281
|
var arrowClass = {
|
|
1875
2282
|
top: "top-full left-1/2 -translate-x-1/2 border-t-gray-600/80 border-x-transparent border-b-transparent",
|
|
@@ -1882,18 +2289,18 @@ function getPosition(trigger, tooltip, placement) {
|
|
|
1882
2289
|
const th = tooltip.offsetHeight;
|
|
1883
2290
|
const { top, left, right, bottom, width, height } = trigger;
|
|
1884
2291
|
const positions = {
|
|
1885
|
-
top: { top: top - th -
|
|
1886
|
-
"top-start": { top: top - th -
|
|
1887
|
-
"top-end": { top: top - th -
|
|
1888
|
-
bottom: { top: bottom +
|
|
1889
|
-
"bottom-start": { top: bottom +
|
|
1890
|
-
"bottom-end": { top: bottom +
|
|
1891
|
-
left: { top: top + height / 2 - th / 2, left: left - tw -
|
|
1892
|
-
"left-start": { top, left: left - tw -
|
|
1893
|
-
"left-end": { top: bottom - th, left: left - tw -
|
|
1894
|
-
right: { top: top + height / 2 - th / 2, left: right +
|
|
1895
|
-
"right-start": { top, left: right +
|
|
1896
|
-
"right-end": { top: bottom - th, left: right +
|
|
2292
|
+
top: { top: top - th - GAP2, left: left + width / 2 - tw / 2 },
|
|
2293
|
+
"top-start": { top: top - th - GAP2, left },
|
|
2294
|
+
"top-end": { top: top - th - GAP2, left: right - tw },
|
|
2295
|
+
bottom: { top: bottom + GAP2, left: left + width / 2 - tw / 2 },
|
|
2296
|
+
"bottom-start": { top: bottom + GAP2, left },
|
|
2297
|
+
"bottom-end": { top: bottom + GAP2, left: right - tw },
|
|
2298
|
+
left: { top: top + height / 2 - th / 2, left: left - tw - GAP2 },
|
|
2299
|
+
"left-start": { top, left: left - tw - GAP2 },
|
|
2300
|
+
"left-end": { top: bottom - th, left: left - tw - GAP2 },
|
|
2301
|
+
right: { top: top + height / 2 - th / 2, left: right + GAP2 },
|
|
2302
|
+
"right-start": { top, left: right + GAP2 },
|
|
2303
|
+
"right-end": { top: bottom - th, left: right + GAP2 }
|
|
1897
2304
|
};
|
|
1898
2305
|
const pos = positions[placement];
|
|
1899
2306
|
pos.left = Math.max(
|
|
@@ -1992,7 +2399,7 @@ function Tooltip({
|
|
|
1992
2399
|
);
|
|
1993
2400
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1994
2401
|
trigger,
|
|
1995
|
-
|
|
2402
|
+
ReactDOM.createPortal(
|
|
1996
2403
|
title ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1997
2404
|
"div",
|
|
1998
2405
|
{
|
|
@@ -2067,18 +2474,25 @@ exports.AccordionSummary = AccordionSummary;
|
|
|
2067
2474
|
exports.AutoComplete = AutoComplete;
|
|
2068
2475
|
exports.Breadcrumb = Breadcrumb;
|
|
2069
2476
|
exports.ButtonLoader = ButtonLoader;
|
|
2477
|
+
exports.Chip = Chip;
|
|
2070
2478
|
exports.CopyId = CopyId;
|
|
2071
2479
|
exports.CustomAnchor = CustomAnchor;
|
|
2072
2480
|
exports.CustomInput = CustomInput;
|
|
2073
2481
|
exports.Drawer = Drawer;
|
|
2074
2482
|
exports.FilterDrawer = FilterDrawer;
|
|
2075
2483
|
exports.InputTitleWithRequired = InputTitleWithRequired;
|
|
2484
|
+
exports.Menu = Menu;
|
|
2485
|
+
exports.MenuDivider = MenuDivider;
|
|
2486
|
+
exports.MenuItem = MenuItem;
|
|
2076
2487
|
exports.Modal = Modal;
|
|
2077
2488
|
exports.MonthYearPicker = MonthYearPicker;
|
|
2078
2489
|
exports.Pagination = Pagination;
|
|
2079
2490
|
exports.ReadMore = ReadMore;
|
|
2080
2491
|
exports.SearchBar = SearchBar;
|
|
2492
|
+
exports.Select = Select;
|
|
2493
|
+
exports.SelectOption = SelectOption;
|
|
2081
2494
|
exports.StagingAlert = StagingAlert;
|
|
2495
|
+
exports.Switch = Switch;
|
|
2082
2496
|
exports.Tab = Tab;
|
|
2083
2497
|
exports.Tabs = Tabs;
|
|
2084
2498
|
exports.Tooltip = Tooltip;
|
package/dist/index.mjs
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import React8, { createContext, useState, useId, useRef, useEffect, Children, isValidElement,
|
|
1
|
+
import React8, { createContext, useState, useId, useRef, useEffect, useCallback, Children, isValidElement, cloneElement, useContext } from 'react';
|
|
2
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
import ReactDOM, { createPortal } from 'react-dom';
|
|
3
4
|
import { useHotkeys } from 'react-hotkeys-hook';
|
|
4
|
-
import { createPortal } from 'react-dom';
|
|
5
5
|
|
|
6
6
|
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defProps = Object.defineProperties;
|
|
8
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
7
9
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
10
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
11
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -19,6 +21,7 @@ var __spreadValues = (a, b) => {
|
|
|
19
21
|
}
|
|
20
22
|
return a;
|
|
21
23
|
};
|
|
24
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
25
|
var __objRest = (source, exclude) => {
|
|
23
26
|
var target = {};
|
|
24
27
|
for (var prop in source)
|
|
@@ -151,6 +154,62 @@ var AccordionDetails = ({
|
|
|
151
154
|
}
|
|
152
155
|
);
|
|
153
156
|
};
|
|
157
|
+
var typeMap = {
|
|
158
|
+
success: "bg-green-100 text-green-500",
|
|
159
|
+
error: "bg-red-100 text-red-500",
|
|
160
|
+
warning: "bg-orange-100 text-orange-500",
|
|
161
|
+
default: "bg-gray-100 text-gray-500"
|
|
162
|
+
};
|
|
163
|
+
var Chip = ({
|
|
164
|
+
label,
|
|
165
|
+
type = "default",
|
|
166
|
+
style,
|
|
167
|
+
deleteIcon,
|
|
168
|
+
disabled = false,
|
|
169
|
+
className = "",
|
|
170
|
+
onClick,
|
|
171
|
+
onDelete
|
|
172
|
+
}) => {
|
|
173
|
+
var _a;
|
|
174
|
+
const typeClass = (_a = typeMap[type]) != null ? _a : typeMap.default;
|
|
175
|
+
const cursorClass = disabled ? "opacity-50 cursor-not-allowed" : onClick ? "cursor-pointer" : "cursor-default";
|
|
176
|
+
return /* @__PURE__ */ jsxs(
|
|
177
|
+
"div",
|
|
178
|
+
{
|
|
179
|
+
role: onClick ? "button" : void 0,
|
|
180
|
+
tabIndex: onClick && !disabled ? 0 : void 0,
|
|
181
|
+
style,
|
|
182
|
+
onClick: !disabled && onClick ? onClick : void 0,
|
|
183
|
+
className: `inline-flex items-center gap-1 rounded-full w-fit px-3 py-[6px] text-[12px] capitalize ${typeClass} ${cursorClass} ${className}`,
|
|
184
|
+
children: [
|
|
185
|
+
/* @__PURE__ */ jsx("span", { className: "leading-none", children: label }),
|
|
186
|
+
onDelete && /* @__PURE__ */ jsx(
|
|
187
|
+
"span",
|
|
188
|
+
{
|
|
189
|
+
role: "button",
|
|
190
|
+
tabIndex: disabled ? -1 : 0,
|
|
191
|
+
onClick: (e) => {
|
|
192
|
+
e.stopPropagation();
|
|
193
|
+
if (!disabled) onDelete(e);
|
|
194
|
+
},
|
|
195
|
+
className: "flex items-center cursor-pointer ml-0.5 opacity-60 hover:opacity-100",
|
|
196
|
+
children: deleteIcon != null ? deleteIcon : /* @__PURE__ */ jsx(
|
|
197
|
+
"svg",
|
|
198
|
+
{
|
|
199
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
200
|
+
width: "16",
|
|
201
|
+
height: "16",
|
|
202
|
+
viewBox: "0 0 24 24",
|
|
203
|
+
fill: "currentColor",
|
|
204
|
+
children: /* @__PURE__ */ jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" })
|
|
205
|
+
}
|
|
206
|
+
)
|
|
207
|
+
}
|
|
208
|
+
)
|
|
209
|
+
]
|
|
210
|
+
}
|
|
211
|
+
);
|
|
212
|
+
};
|
|
154
213
|
function AutoComplete({
|
|
155
214
|
label,
|
|
156
215
|
value,
|
|
@@ -814,6 +873,123 @@ var FilterDrawer = ({
|
|
|
814
873
|
}
|
|
815
874
|
);
|
|
816
875
|
};
|
|
876
|
+
var GAP = 4;
|
|
877
|
+
var PAD = 6;
|
|
878
|
+
function reposition(menu, anchorEl, align) {
|
|
879
|
+
const rect = anchorEl.getBoundingClientRect();
|
|
880
|
+
const mw = menu.offsetWidth;
|
|
881
|
+
const mh = menu.offsetHeight;
|
|
882
|
+
const vw = window.innerWidth;
|
|
883
|
+
const vh = window.innerHeight;
|
|
884
|
+
let top = rect.bottom + GAP + mh > vh - PAD ? Math.max(PAD, rect.top - mh - GAP) : rect.bottom + GAP;
|
|
885
|
+
let left = align === "right" ? rect.right - mw : rect.left;
|
|
886
|
+
left = Math.max(PAD, Math.min(left, vw - mw - PAD));
|
|
887
|
+
menu.style.top = `${top}px`;
|
|
888
|
+
menu.style.left = `${left}px`;
|
|
889
|
+
menu.style.minWidth = `${rect.width}px`;
|
|
890
|
+
menu.style.opacity = "1";
|
|
891
|
+
}
|
|
892
|
+
var Menu = ({
|
|
893
|
+
anchorEl,
|
|
894
|
+
open,
|
|
895
|
+
onClose,
|
|
896
|
+
children,
|
|
897
|
+
align = "left",
|
|
898
|
+
className = ""
|
|
899
|
+
}) => {
|
|
900
|
+
const menuRef = useRef(null);
|
|
901
|
+
const onCloseRef = useRef(onClose);
|
|
902
|
+
useEffect(() => {
|
|
903
|
+
onCloseRef.current = onClose;
|
|
904
|
+
});
|
|
905
|
+
useEffect(() => {
|
|
906
|
+
if (!open || !anchorEl) return;
|
|
907
|
+
const id = requestAnimationFrame(() => {
|
|
908
|
+
if (menuRef.current) reposition(menuRef.current, anchorEl, align);
|
|
909
|
+
});
|
|
910
|
+
return () => cancelAnimationFrame(id);
|
|
911
|
+
}, [open, anchorEl, align]);
|
|
912
|
+
useEffect(() => {
|
|
913
|
+
if (!open || !anchorEl) return;
|
|
914
|
+
const update = () => {
|
|
915
|
+
if (menuRef.current) reposition(menuRef.current, anchorEl, align);
|
|
916
|
+
};
|
|
917
|
+
window.addEventListener("scroll", update, true);
|
|
918
|
+
window.addEventListener("resize", update);
|
|
919
|
+
return () => {
|
|
920
|
+
window.removeEventListener("scroll", update, true);
|
|
921
|
+
window.removeEventListener("resize", update);
|
|
922
|
+
};
|
|
923
|
+
}, [open, anchorEl, align]);
|
|
924
|
+
useEffect(() => {
|
|
925
|
+
if (!open) return;
|
|
926
|
+
const handleKey = (e) => {
|
|
927
|
+
if (e.key === "Escape") onCloseRef.current();
|
|
928
|
+
};
|
|
929
|
+
document.addEventListener("keydown", handleKey);
|
|
930
|
+
return () => document.removeEventListener("keydown", handleKey);
|
|
931
|
+
}, [open]);
|
|
932
|
+
useEffect(() => {
|
|
933
|
+
if (!open) return;
|
|
934
|
+
const handleMouseDown = (e) => {
|
|
935
|
+
var _a;
|
|
936
|
+
if ((anchorEl == null ? void 0 : anchorEl.contains(e.target)) || ((_a = menuRef.current) == null ? void 0 : _a.contains(e.target)))
|
|
937
|
+
return;
|
|
938
|
+
onCloseRef.current();
|
|
939
|
+
};
|
|
940
|
+
document.addEventListener("mousedown", handleMouseDown);
|
|
941
|
+
return () => document.removeEventListener("mousedown", handleMouseDown);
|
|
942
|
+
}, [open, anchorEl]);
|
|
943
|
+
if (!open) return null;
|
|
944
|
+
return ReactDOM.createPortal(
|
|
945
|
+
/* @__PURE__ */ jsx(
|
|
946
|
+
"div",
|
|
947
|
+
{
|
|
948
|
+
ref: menuRef,
|
|
949
|
+
role: "menu",
|
|
950
|
+
style: {
|
|
951
|
+
position: "fixed",
|
|
952
|
+
top: -9999,
|
|
953
|
+
left: -9999,
|
|
954
|
+
opacity: 0,
|
|
955
|
+
zIndex: 9999,
|
|
956
|
+
transition: "opacity 100ms ease"
|
|
957
|
+
},
|
|
958
|
+
className: `bg-white rounded shadow-lg border border-gray-100 py-1 max-w-[calc(100vw-12px)] ${className}`,
|
|
959
|
+
children
|
|
960
|
+
}
|
|
961
|
+
),
|
|
962
|
+
document.body
|
|
963
|
+
);
|
|
964
|
+
};
|
|
965
|
+
var MenuItem = ({
|
|
966
|
+
onClick,
|
|
967
|
+
children,
|
|
968
|
+
disabled = false,
|
|
969
|
+
selected = false,
|
|
970
|
+
icon,
|
|
971
|
+
className = ""
|
|
972
|
+
}) => {
|
|
973
|
+
return /* @__PURE__ */ jsxs(
|
|
974
|
+
"div",
|
|
975
|
+
{
|
|
976
|
+
role: "menuitem",
|
|
977
|
+
"aria-disabled": disabled,
|
|
978
|
+
onClick: disabled ? void 0 : onClick,
|
|
979
|
+
className: [
|
|
980
|
+
"px-3 py-2 flex gap-x-3 items-center text-[14px] tracking-wide min-w-0 w-full",
|
|
981
|
+
disabled ? "opacity-40 cursor-not-allowed" : "cursor-pointer hover:bg-gray-50",
|
|
982
|
+
selected ? "bg-gray-100 font-medium" : "",
|
|
983
|
+
className
|
|
984
|
+
].filter(Boolean).join(" "),
|
|
985
|
+
children: [
|
|
986
|
+
icon && /* @__PURE__ */ jsx("span", { className: "flex items-center shrink-0", children: icon }),
|
|
987
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 break-words", children })
|
|
988
|
+
]
|
|
989
|
+
}
|
|
990
|
+
);
|
|
991
|
+
};
|
|
992
|
+
var MenuDivider = () => /* @__PURE__ */ jsx("hr", { className: "my-1 border-gray-100" });
|
|
817
993
|
|
|
818
994
|
// src/utils/modalStack.ts
|
|
819
995
|
var stack = [];
|
|
@@ -1689,6 +1865,236 @@ var StagingAlert = ({
|
|
|
1689
1865
|
] })
|
|
1690
1866
|
] });
|
|
1691
1867
|
};
|
|
1868
|
+
var sizeConfig = {
|
|
1869
|
+
small: { py: "7px", px: "10px", fontSize: "13px" },
|
|
1870
|
+
medium: { py: "11px", px: "14px", fontSize: "14px" },
|
|
1871
|
+
large: { py: "14px", px: "14px", fontSize: "16px" }
|
|
1872
|
+
};
|
|
1873
|
+
var Select = ({
|
|
1874
|
+
value,
|
|
1875
|
+
onChange,
|
|
1876
|
+
children,
|
|
1877
|
+
disabled = false,
|
|
1878
|
+
placeholder = "Select...",
|
|
1879
|
+
size = "medium",
|
|
1880
|
+
error = false,
|
|
1881
|
+
className = "",
|
|
1882
|
+
renderOption,
|
|
1883
|
+
renderValue
|
|
1884
|
+
}) => {
|
|
1885
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
1886
|
+
const [dropdownStyle, setDropdownStyle] = useState({});
|
|
1887
|
+
const [focusedIndex, setFocusedIndex] = useState(-1);
|
|
1888
|
+
const triggerRef = useRef(null);
|
|
1889
|
+
const dropdownRef = useRef(null);
|
|
1890
|
+
const options = React8.Children.toArray(children).filter(Boolean).map((child) => {
|
|
1891
|
+
var _a, _b, _c, _d, _e;
|
|
1892
|
+
const c = child;
|
|
1893
|
+
return {
|
|
1894
|
+
value: (_b = (_a = c.props) == null ? void 0 : _a.value) != null ? _b : "",
|
|
1895
|
+
label: (_c = c.props) == null ? void 0 : _c.children,
|
|
1896
|
+
disabled: (_e = (_d = c.props) == null ? void 0 : _d.disabled) != null ? _e : false
|
|
1897
|
+
};
|
|
1898
|
+
});
|
|
1899
|
+
const selectedOption = options.find(
|
|
1900
|
+
(opt) => String(opt.value) === String(value)
|
|
1901
|
+
);
|
|
1902
|
+
const computePosition = useCallback(() => {
|
|
1903
|
+
if (!triggerRef.current) return;
|
|
1904
|
+
const rect = triggerRef.current.getBoundingClientRect();
|
|
1905
|
+
const dropdownHeight = Math.min(options.length * 40, 240);
|
|
1906
|
+
const spaceBelow = window.innerHeight - rect.bottom;
|
|
1907
|
+
const openAbove = spaceBelow < dropdownHeight + 8 && rect.top > dropdownHeight;
|
|
1908
|
+
setDropdownStyle(__spreadProps(__spreadValues({
|
|
1909
|
+
position: "fixed"
|
|
1910
|
+
}, openAbove ? { bottom: window.innerHeight - rect.top + 2 } : { top: rect.bottom + 2 }), {
|
|
1911
|
+
left: rect.left,
|
|
1912
|
+
width: rect.width,
|
|
1913
|
+
zIndex: 9999
|
|
1914
|
+
}));
|
|
1915
|
+
}, [options.length]);
|
|
1916
|
+
useEffect(() => {
|
|
1917
|
+
const handleClickOutside = (e) => {
|
|
1918
|
+
if (triggerRef.current && !triggerRef.current.contains(e.target) && (!dropdownRef.current || !dropdownRef.current.contains(e.target))) {
|
|
1919
|
+
setIsOpen(false);
|
|
1920
|
+
setFocusedIndex(-1);
|
|
1921
|
+
}
|
|
1922
|
+
};
|
|
1923
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
1924
|
+
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
1925
|
+
}, []);
|
|
1926
|
+
useEffect(() => {
|
|
1927
|
+
if (!isOpen) return;
|
|
1928
|
+
const handleKeyDown = (e) => {
|
|
1929
|
+
if (e.key === "Escape") {
|
|
1930
|
+
setIsOpen(false);
|
|
1931
|
+
setFocusedIndex(-1);
|
|
1932
|
+
} else if (e.key === "ArrowDown") {
|
|
1933
|
+
e.preventDefault();
|
|
1934
|
+
setFocusedIndex((prev) => {
|
|
1935
|
+
var _a;
|
|
1936
|
+
let next = prev + 1;
|
|
1937
|
+
while (next < options.length && ((_a = options[next]) == null ? void 0 : _a.disabled)) next++;
|
|
1938
|
+
return next < options.length ? next : prev;
|
|
1939
|
+
});
|
|
1940
|
+
} else if (e.key === "ArrowUp") {
|
|
1941
|
+
e.preventDefault();
|
|
1942
|
+
setFocusedIndex((prev) => {
|
|
1943
|
+
var _a;
|
|
1944
|
+
let next = prev - 1;
|
|
1945
|
+
while (next >= 0 && ((_a = options[next]) == null ? void 0 : _a.disabled)) next--;
|
|
1946
|
+
return next >= 0 ? next : prev;
|
|
1947
|
+
});
|
|
1948
|
+
} else if (e.key === "Enter" && focusedIndex >= 0) {
|
|
1949
|
+
const opt = options[focusedIndex];
|
|
1950
|
+
if (opt && !opt.disabled) {
|
|
1951
|
+
onChange({ target: { value: opt.value } });
|
|
1952
|
+
setIsOpen(false);
|
|
1953
|
+
setFocusedIndex(-1);
|
|
1954
|
+
}
|
|
1955
|
+
}
|
|
1956
|
+
};
|
|
1957
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
1958
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
1959
|
+
}, [isOpen, focusedIndex, options, onChange]);
|
|
1960
|
+
useEffect(() => {
|
|
1961
|
+
if (focusedIndex >= 0 && dropdownRef.current) {
|
|
1962
|
+
const item = dropdownRef.current.children[focusedIndex];
|
|
1963
|
+
item == null ? void 0 : item.scrollIntoView({ block: "nearest" });
|
|
1964
|
+
}
|
|
1965
|
+
}, [focusedIndex]);
|
|
1966
|
+
useEffect(() => {
|
|
1967
|
+
if (!isOpen) return;
|
|
1968
|
+
window.addEventListener("scroll", computePosition, true);
|
|
1969
|
+
window.addEventListener("resize", computePosition);
|
|
1970
|
+
return () => {
|
|
1971
|
+
window.removeEventListener("scroll", computePosition, true);
|
|
1972
|
+
window.removeEventListener("resize", computePosition);
|
|
1973
|
+
};
|
|
1974
|
+
}, [isOpen, computePosition]);
|
|
1975
|
+
const handleOpen = () => {
|
|
1976
|
+
if (disabled) return;
|
|
1977
|
+
if (!isOpen) {
|
|
1978
|
+
computePosition();
|
|
1979
|
+
setFocusedIndex(
|
|
1980
|
+
options.findIndex((opt) => String(opt.value) === String(value))
|
|
1981
|
+
);
|
|
1982
|
+
}
|
|
1983
|
+
setIsOpen((prev) => !prev);
|
|
1984
|
+
};
|
|
1985
|
+
const handleSelect = (opt) => {
|
|
1986
|
+
if (opt.disabled) return;
|
|
1987
|
+
onChange({ target: { value: opt.value } });
|
|
1988
|
+
setIsOpen(false);
|
|
1989
|
+
setFocusedIndex(-1);
|
|
1990
|
+
};
|
|
1991
|
+
const { py, px, fontSize } = sizeConfig[size];
|
|
1992
|
+
const borderColor = error ? "#ef4444" : isOpen ? "var(--color-skprimary, #6b31bf)" : "#d1d5db";
|
|
1993
|
+
const borderWidth = isOpen ? "2px" : "1px";
|
|
1994
|
+
return /* @__PURE__ */ jsxs("div", { className: `relative w-full ${className}`, ref: triggerRef, children: [
|
|
1995
|
+
/* @__PURE__ */ jsxs(
|
|
1996
|
+
"button",
|
|
1997
|
+
{
|
|
1998
|
+
type: "button",
|
|
1999
|
+
disabled,
|
|
2000
|
+
onClick: handleOpen,
|
|
2001
|
+
className: "w-full flex items-center justify-between rounded-md bg-white text-left outline-none disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
|
|
2002
|
+
style: { padding: `${py} ${px}`, border: `${borderWidth} solid ${borderColor}` },
|
|
2003
|
+
children: [
|
|
2004
|
+
/* @__PURE__ */ jsx("span", { className: "truncate flex-1 text-gray-800", style: { fontSize }, children: renderValue ? renderValue(selectedOption != null ? selectedOption : null) : selectedOption ? selectedOption.label : /* @__PURE__ */ jsx("span", { className: "text-gray-400", children: placeholder }) }),
|
|
2005
|
+
/* @__PURE__ */ jsx(
|
|
2006
|
+
"svg",
|
|
2007
|
+
{
|
|
2008
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2009
|
+
className: `w-4 h-4 shrink-0 ml-2 text-gray-400 transition-transform duration-150 ${isOpen ? "rotate-180" : ""}`,
|
|
2010
|
+
viewBox: "0 0 24 24",
|
|
2011
|
+
fill: "none",
|
|
2012
|
+
stroke: "currentColor",
|
|
2013
|
+
strokeWidth: "2",
|
|
2014
|
+
strokeLinecap: "round",
|
|
2015
|
+
strokeLinejoin: "round",
|
|
2016
|
+
children: /* @__PURE__ */ jsx("polyline", { points: "6 9 12 15 18 9" })
|
|
2017
|
+
}
|
|
2018
|
+
)
|
|
2019
|
+
]
|
|
2020
|
+
}
|
|
2021
|
+
),
|
|
2022
|
+
isOpen && ReactDOM.createPortal(
|
|
2023
|
+
/* @__PURE__ */ jsx(
|
|
2024
|
+
"ul",
|
|
2025
|
+
{
|
|
2026
|
+
ref: dropdownRef,
|
|
2027
|
+
style: dropdownStyle,
|
|
2028
|
+
className: "bg-white shadow-lg rounded-md border border-gray-200 max-h-60 overflow-y-auto",
|
|
2029
|
+
children: options.map((opt, i) => {
|
|
2030
|
+
const optionProps = {
|
|
2031
|
+
onMouseDown: () => handleSelect(opt),
|
|
2032
|
+
onMouseEnter: () => !opt.disabled && setFocusedIndex(i),
|
|
2033
|
+
className: [
|
|
2034
|
+
"px-3 py-2 text-[13px] select-none",
|
|
2035
|
+
opt.disabled ? "text-gray-400 cursor-not-allowed" : focusedIndex === i ? "bg-skprimary/10 text-skprimary cursor-pointer" : "text-gray-700 cursor-pointer",
|
|
2036
|
+
String(opt.value) === String(value) ? "font-semibold" : ""
|
|
2037
|
+
].join(" ")
|
|
2038
|
+
};
|
|
2039
|
+
return renderOption ? /* @__PURE__ */ jsx(React8.Fragment, { children: renderOption(optionProps, opt) }, i) : /* @__PURE__ */ jsx("li", __spreadProps(__spreadValues({}, optionProps), { children: opt.label }), i);
|
|
2040
|
+
})
|
|
2041
|
+
}
|
|
2042
|
+
),
|
|
2043
|
+
document.body
|
|
2044
|
+
)
|
|
2045
|
+
] });
|
|
2046
|
+
};
|
|
2047
|
+
|
|
2048
|
+
// src/components/Select/SelectOption.tsx
|
|
2049
|
+
var SelectOption = (_props) => null;
|
|
2050
|
+
var Switch = ({
|
|
2051
|
+
checked,
|
|
2052
|
+
onChange,
|
|
2053
|
+
disabled = false,
|
|
2054
|
+
className = ""
|
|
2055
|
+
}) => {
|
|
2056
|
+
return /* @__PURE__ */ jsxs(
|
|
2057
|
+
"button",
|
|
2058
|
+
{
|
|
2059
|
+
type: "button",
|
|
2060
|
+
role: "switch",
|
|
2061
|
+
"aria-checked": checked,
|
|
2062
|
+
disabled,
|
|
2063
|
+
onClick: disabled ? void 0 : onChange,
|
|
2064
|
+
className: `relative inline-flex shrink-0 border-0 bg-transparent p-0 focus:outline-none ${disabled ? "opacity-40 cursor-not-allowed" : "cursor-pointer"} ${className}`,
|
|
2065
|
+
style: { width: 58, height: 38 },
|
|
2066
|
+
children: [
|
|
2067
|
+
/* @__PURE__ */ jsx(
|
|
2068
|
+
"span",
|
|
2069
|
+
{
|
|
2070
|
+
className: "absolute rounded-full transition-colors duration-200",
|
|
2071
|
+
style: {
|
|
2072
|
+
width: 34,
|
|
2073
|
+
height: 14,
|
|
2074
|
+
top: 12,
|
|
2075
|
+
left: 12,
|
|
2076
|
+
backgroundColor: checked ? "rgba(83,79,143,0.5)" : "rgba(0,0,0,0.38)"
|
|
2077
|
+
}
|
|
2078
|
+
}
|
|
2079
|
+
),
|
|
2080
|
+
/* @__PURE__ */ jsx(
|
|
2081
|
+
"span",
|
|
2082
|
+
{
|
|
2083
|
+
className: "absolute rounded-full transition-all duration-200",
|
|
2084
|
+
style: {
|
|
2085
|
+
width: 20,
|
|
2086
|
+
height: 20,
|
|
2087
|
+
top: 9,
|
|
2088
|
+
left: checked ? 29 : 9,
|
|
2089
|
+
backgroundColor: checked ? "#534f8f" : "#fafafa",
|
|
2090
|
+
boxShadow: "0px 2px 1px -1px rgba(0,0,0,0.2), 0px 1px 1px 0px rgba(0,0,0,0.14), 0px 1px 3px 0px rgba(0,0,0,0.12)"
|
|
2091
|
+
}
|
|
2092
|
+
}
|
|
2093
|
+
)
|
|
2094
|
+
]
|
|
2095
|
+
}
|
|
2096
|
+
);
|
|
2097
|
+
};
|
|
1692
2098
|
var SCROLL_STEP = 120;
|
|
1693
2099
|
function Tabs({
|
|
1694
2100
|
value,
|
|
@@ -1863,7 +2269,7 @@ function Tab({
|
|
|
1863
2269
|
}
|
|
1864
2270
|
);
|
|
1865
2271
|
}
|
|
1866
|
-
var
|
|
2272
|
+
var GAP2 = 8;
|
|
1867
2273
|
var VIEWPORT_PADDING = 6;
|
|
1868
2274
|
var arrowClass = {
|
|
1869
2275
|
top: "top-full left-1/2 -translate-x-1/2 border-t-gray-600/80 border-x-transparent border-b-transparent",
|
|
@@ -1876,18 +2282,18 @@ function getPosition(trigger, tooltip, placement) {
|
|
|
1876
2282
|
const th = tooltip.offsetHeight;
|
|
1877
2283
|
const { top, left, right, bottom, width, height } = trigger;
|
|
1878
2284
|
const positions = {
|
|
1879
|
-
top: { top: top - th -
|
|
1880
|
-
"top-start": { top: top - th -
|
|
1881
|
-
"top-end": { top: top - th -
|
|
1882
|
-
bottom: { top: bottom +
|
|
1883
|
-
"bottom-start": { top: bottom +
|
|
1884
|
-
"bottom-end": { top: bottom +
|
|
1885
|
-
left: { top: top + height / 2 - th / 2, left: left - tw -
|
|
1886
|
-
"left-start": { top, left: left - tw -
|
|
1887
|
-
"left-end": { top: bottom - th, left: left - tw -
|
|
1888
|
-
right: { top: top + height / 2 - th / 2, left: right +
|
|
1889
|
-
"right-start": { top, left: right +
|
|
1890
|
-
"right-end": { top: bottom - th, left: right +
|
|
2285
|
+
top: { top: top - th - GAP2, left: left + width / 2 - tw / 2 },
|
|
2286
|
+
"top-start": { top: top - th - GAP2, left },
|
|
2287
|
+
"top-end": { top: top - th - GAP2, left: right - tw },
|
|
2288
|
+
bottom: { top: bottom + GAP2, left: left + width / 2 - tw / 2 },
|
|
2289
|
+
"bottom-start": { top: bottom + GAP2, left },
|
|
2290
|
+
"bottom-end": { top: bottom + GAP2, left: right - tw },
|
|
2291
|
+
left: { top: top + height / 2 - th / 2, left: left - tw - GAP2 },
|
|
2292
|
+
"left-start": { top, left: left - tw - GAP2 },
|
|
2293
|
+
"left-end": { top: bottom - th, left: left - tw - GAP2 },
|
|
2294
|
+
right: { top: top + height / 2 - th / 2, left: right + GAP2 },
|
|
2295
|
+
"right-start": { top, left: right + GAP2 },
|
|
2296
|
+
"right-end": { top: bottom - th, left: right + GAP2 }
|
|
1891
2297
|
};
|
|
1892
2298
|
const pos = positions[placement];
|
|
1893
2299
|
pos.left = Math.max(
|
|
@@ -2055,4 +2461,4 @@ function useLocalStorage(key, initialValue) {
|
|
|
2055
2461
|
return [storedValue, setValue, remove];
|
|
2056
2462
|
}
|
|
2057
2463
|
|
|
2058
|
-
export { Accordion, AccordionDetails, AccordionSummary, AutoComplete, Breadcrumb, ButtonLoader, CopyId, CustomAnchor, CustomInput, Drawer, FilterDrawer, InputTitleWithRequired, Modal, MonthYearPicker, Pagination, ReadMore, SearchBar, StagingAlert, Tab, Tabs, Tooltip, cn, handleAllyProps, handleCopyTextToClipboard, useLocalStorage };
|
|
2464
|
+
export { Accordion, AccordionDetails, AccordionSummary, AutoComplete, Breadcrumb, ButtonLoader, Chip, CopyId, CustomAnchor, CustomInput, Drawer, FilterDrawer, InputTitleWithRequired, Menu, MenuDivider, MenuItem, Modal, MonthYearPicker, Pagination, ReadMore, SearchBar, Select, SelectOption, StagingAlert, Switch, Tab, Tabs, Tooltip, cn, handleAllyProps, handleCopyTextToClipboard, useLocalStorage };
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@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}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-top-\[9px\]{top:-9px}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-full{left:100%}.right-0{right:0}.right-full{right:100%}.top-0{top:0}.top-1\/2{top:50%}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[1200\]{z-index:1200}.z-\[9999\]{z-index:9999}.z-\[999\]{z-index:999}.z-\[99\]{z-index:99}.m-0{margin:0}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.\!h-\[37px\]{height:37px!important}.h-0{height:0}.h-10{height:2.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[14px\]{height:14px}.h-\[16px\]{height:16px}.h-\[24px\]{height:24px}.h-\[45px\]{height:45px}.h-full{height:100%}.max-h-56{max-height:14rem}.max-h-\[95vh\]{max-height:95vh}.max-h-full{max-height:100%}.\!min-h-\[37px\]{min-height:37px!important}.w-0{width:0}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[14px\]{width:14px}.w-\[16px\]{width:16px}.w-\[20px\]{width:20px}.w-\[240px\]{width:240px}.w-\[24px\]{width:24px}.w-\[300px\]{width:300px}.w-\[500px\]{width:500px}.w-\[95\%\]{width:95%}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[1\.75rem\]{min-width:1.75rem}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-\[2rem\]{min-width:2rem}.max-w-\[300px\]{max-width:300px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-none{list-style-type:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.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-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[24px\]{border-radius:24px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-pink-400{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-skprimary{border-color:var(--color-primary,#534f8f)}.border-teal-400{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-x-transparent{border-left-color:transparent;border-right-color:transparent}.border-y-transparent{border-top-color:transparent;border-bottom-color:transparent}.border-b-gray-600\/80{border-bottom-color:rgba(75,85,99,.8)}.border-b-transparent{border-bottom-color:transparent}.border-l-gray-600\/80{border-left-color:rgba(75,85,99,.8)}.border-l-transparent{border-left-color:transparent}.border-r-gray-600\/80{border-right-color:rgba(75,85,99,.8)}.border-r-transparent{border-right-color:transparent}.border-t-gray-600\/80{border-top-color:rgba(75,85,99,.8)}.border-t-transparent{border-top-color:transparent}.\!bg-sksecondary{background-color:var(--color-secondary,#dadbfe)!important}.bg-\[\#ec6c03\]{--tw-bg-opacity:1;background-color:rgb(236 108 3/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-600\/80{background-color:rgba(75,85,99,.8)}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-800\/50{background-color:rgba(31,41,55,.5)}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-pink-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-skprimary{background-color:var(--color-primary,#534f8f)}.bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-0{padding:0}.p-16{padding:4rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.\!px-10{padding-left:2.5rem!important;padding-right:2.5rem!important}.\!px-2{padding-left:.5rem!important;padding-right:.5rem!important}.\!py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.py-\[8px\]{padding-top:8px;padding-bottom:8px}.pb-3{padding-bottom:.75rem}.text-left{text-align:left}.\!text-\[12px\]{font-size:12px!important}.\!text-\[15px\]{font-size:15px!important}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[17px\]{font-size:17px}.text-\[8px\]{font-size:8px}.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-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-\[20px\]{line-height:20px}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.text-\[\#333333\]{--tw-text-opacity:1;color:rgb(51 51 51/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-skprimary{color:var(--color-primary,#534f8f)}.text-teal-500{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{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 rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{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 rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline{outline-style:solid}.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,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}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}#HideScroll{scrollbar-width:none;-ms-overflow-style:none;overflow:-moz-scrollbars-none}#HideScroll::-webkit-scrollbar{width:0;height:0;display:none}#HideScroll::-ms-scrollbar{display:none}.placeholder\:text-\[13px\]::-moz-placeholder{font-size:13px}.placeholder\:text-\[13px\]::placeholder{font-size:13px}.placeholder\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.hover\:bg-orange-50:hover{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-teal-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-green-600:hover{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-skprimary:hover{color:var(--color-primary,#534f8f)}.hover\:text-teal-600:hover{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.focus\:border-skprimary:focus{border-color:var(--color-primary,#534f8f)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(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)}.focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.focus\:ring-skprimary:focus{--tw-ring-color:var(--color-primary,#534f8f)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:ring-skprimary:focus-visible{--tw-ring-color:var(--color-primary,#534f8f)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-50:disabled{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:640px){.sm\:flex{display:flex}}@media (min-width:768px){.md\:w-\[60\%\]{width:60%}}@media (min-width:1024px){.lg\:\!w-\[30\%\]{width:30%!important}.lg\:\!w-\[35\%\]{width:35%!important}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:py-2{padding-top:.5rem;padding-bottom:.5rem}.lg\:text-\[12px\]{font-size:12px}}
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@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}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-top-\[9px\]{top:-9px}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-full{left:100%}.right-0{right:0}.right-full{right:100%}.top-0{top:0}.top-1\/2{top:50%}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[1200\]{z-index:1200}.z-\[9999\]{z-index:9999}.z-\[999\]{z-index:999}.z-\[99\]{z-index:99}.m-0{margin:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.ml-0\.5{margin-left:.125rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.\!h-\[37px\]{height:37px!important}.h-0{height:0}.h-10{height:2.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[14px\]{height:14px}.h-\[16px\]{height:16px}.h-\[24px\]{height:24px}.h-\[45px\]{height:45px}.h-full{height:100%}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-\[95vh\]{max-height:95vh}.max-h-full{max-height:100%}.\!min-h-\[37px\]{min-height:37px!important}.w-0{width:0}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[14px\]{width:14px}.w-\[16px\]{width:16px}.w-\[20px\]{width:20px}.w-\[240px\]{width:240px}.w-\[24px\]{width:24px}.w-\[300px\]{width:300px}.w-\[500px\]{width:500px}.w-\[95\%\]{width:95%}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[1\.75rem\]{min-width:1.75rem}.min-w-\[2\.5rem\]{min-width:2.5rem}.min-w-\[2rem\]{min-width:2rem}.max-w-\[300px\]{max-width:300px}.max-w-\[calc\(100vw-12px\)\]{max-width:calc(100vw - 12px)}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.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-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[24px\]{border-radius:24px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-pink-400{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity,1))}.border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-skprimary{border-color:var(--color-primary,#534f8f)}.border-teal-400{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-x-transparent{border-left-color:transparent;border-right-color:transparent}.border-y-transparent{border-top-color:transparent;border-bottom-color:transparent}.border-b-gray-600\/80{border-bottom-color:rgba(75,85,99,.8)}.border-b-transparent{border-bottom-color:transparent}.border-l-gray-600\/80{border-left-color:rgba(75,85,99,.8)}.border-l-transparent{border-left-color:transparent}.border-r-gray-600\/80{border-right-color:rgba(75,85,99,.8)}.border-r-transparent{border-right-color:transparent}.border-t-gray-600\/80{border-top-color:rgba(75,85,99,.8)}.border-t-transparent{border-top-color:transparent}.\!bg-\[\#534f8f\]{--tw-bg-opacity:1!important;background-color:rgb(83 79 143/var(--tw-bg-opacity,1))!important}.\!bg-sksecondary{background-color:var(--color-secondary,#dadbfe)!important}.bg-\[\#ec6c03\]{--tw-bg-opacity:1;background-color:rgb(236 108 3/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-600\/80{background-color:rgba(75,85,99,.8)}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-800\/50{background-color:rgba(31,41,55,.5)}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-pink-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-skprimary{background-color:var(--color-primary,#534f8f)}.bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-0{padding:0}.p-16{padding:4rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.\!px-10{padding-left:2.5rem!important;padding-right:2.5rem!important}.\!px-2{padding-left:.5rem!important;padding-right:.5rem!important}.\!py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.py-\[8px\]{padding-top:8px;padding-bottom:8px}.pb-3{padding-bottom:.75rem}.text-left{text-align:left}.\!text-\[12px\]{font-size:12px!important}.\!text-\[15px\]{font-size:15px!important}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[17px\]{font-size:17px}.text-\[8px\]{font-size:8px}.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-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-\[20px\]{line-height:20px}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.text-\[\#333333\]{--tw-text-opacity:1;color:rgb(51 51 51/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-skprimary{color:var(--color-primary,#534f8f)}.text-teal-500{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{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 rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{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 rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.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,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}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}#HideScroll{scrollbar-width:none;-ms-overflow-style:none;overflow:-moz-scrollbars-none}#HideScroll::-webkit-scrollbar{width:0;height:0;display:none}#HideScroll::-ms-scrollbar{display:none}.placeholder\:text-\[13px\]::-moz-placeholder{font-size:13px}.placeholder\:text-\[13px\]::placeholder{font-size:13px}.placeholder\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.hover\:bg-orange-50:hover{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity,1))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-teal-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-green-600:hover{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-skprimary:hover{color:var(--color-primary,#534f8f)}.hover\:text-teal-600:hover{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.focus\:border-skprimary:focus{border-color:var(--color-primary,#534f8f)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(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)}.focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.focus\:ring-skprimary:focus{--tw-ring-color:var(--color-primary,#534f8f)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:ring-skprimary:focus-visible{--tw-ring-color:var(--color-primary,#534f8f)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-50:disabled{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:640px){.sm\:flex{display:flex}}@media (min-width:768px){.md\:w-\[60\%\]{width:60%}}@media (min-width:1024px){.lg\:\!w-\[30\%\]{width:30%!important}.lg\:\!w-\[35\%\]{width:35%!important}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:py-2{padding-top:.5rem;padding-bottom:.5rem}.lg\:text-\[12px\]{font-size:12px}}
|