shekel-fe-shared-lib 1.0.7 → 1.0.9

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.
@@ -1,12 +1,19 @@
1
- import { ButtonHTMLAttributes, FC, ReactNode } from 'react';
1
+ import { ButtonHTMLAttributes, CSSProperties, FC, ReactNode } from 'react';
2
2
  export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
3
3
  variant?: 'primary' | 'outlined' | 'ghost' | 'text';
4
- size?: 'sm' | 'md' | 'lg';
4
+ size?: 'sm' | 'md' | 'lg' | 'responsive';
5
5
  fullWidth?: boolean;
6
6
  icon?: ReactNode;
7
7
  iconPosition?: 'left' | 'right';
8
8
  loading?: boolean;
9
9
  hoverColor?: string;
10
+ bgColor?: string;
11
+ textColor?: string;
12
+ borderColor?: string;
13
+ hoverBgColor?: string;
14
+ hoverTextColor?: string;
15
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';
16
+ style?: CSSProperties;
10
17
  }
11
18
  export declare const Button: FC<ButtonProps>;
12
19
  export default Button;
@@ -1,10 +1,13 @@
1
- import { FC, HTMLAttributes } from 'react';
1
+ import { FC, HTMLAttributes, CSSProperties } from 'react';
2
2
  export interface CardProps extends HTMLAttributes<HTMLDivElement> {
3
- padding?: 'none' | 'sm' | 'md' | 'lg';
3
+ padding?: 'none' | 'sm' | 'md' | 'lg' | 'responsive';
4
4
  shadow?: 'none' | 'sm' | 'md' | 'lg';
5
5
  hover?: boolean;
6
6
  bordered?: boolean;
7
7
  rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl';
8
+ bgColor?: string;
9
+ borderColor?: string;
10
+ style?: CSSProperties;
8
11
  }
9
12
  export declare const Card: FC<CardProps>;
10
13
  export default Card;
@@ -1,16 +1,20 @@
1
- import { FC } from 'react';
1
+ import { FC, CSSProperties } from 'react';
2
2
  export interface CheckboxProps {
3
3
  checked?: boolean;
4
4
  defaultChecked?: boolean;
5
5
  onChange?: (checked: boolean) => void;
6
6
  disabled?: boolean;
7
7
  indeterminate?: boolean;
8
- size?: 'sm' | 'md' | 'lg';
8
+ size?: 'sm' | 'md' | 'lg' | 'responsive';
9
9
  variant?: 'filled' | 'outline';
10
10
  className?: string;
11
11
  id?: string;
12
12
  name?: string;
13
13
  value?: string;
14
+ checkedColor?: string;
15
+ uncheckedColor?: string;
16
+ checkedBorderColor?: string;
17
+ style?: CSSProperties;
14
18
  }
15
19
  export declare const Checkbox: FC<CheckboxProps>;
16
20
  export default Checkbox;
@@ -1,4 +1,4 @@
1
- import { FC, ReactNode } from 'react';
1
+ import { FC, ReactNode, CSSProperties } from 'react';
2
2
  export interface DropdownMenuItem {
3
3
  key: string;
4
4
  label: ReactNode;
@@ -15,6 +15,12 @@ export interface DropdownProps {
15
15
  className?: string;
16
16
  overlayClassName?: string;
17
17
  disabled?: boolean;
18
+ size?: 'sm' | 'md' | 'lg' | 'responsive';
19
+ menuBgColor?: string;
20
+ menuItemHoverColor?: string;
21
+ dangerColor?: string;
22
+ borderColor?: string;
23
+ style?: CSSProperties;
18
24
  }
19
25
  export declare const Dropdown: FC<DropdownProps>;
20
26
  export default Dropdown;
@@ -1,4 +1,5 @@
1
1
  import { FC, ReactNode } from 'react';
2
+ type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full' | 'responsive';
2
3
  export interface ModalProps {
3
4
  open: boolean;
4
5
  onClose: () => void;
@@ -6,10 +7,17 @@ export interface ModalProps {
6
7
  children: ReactNode;
7
8
  footer?: ReactNode;
8
9
  width?: string | number;
10
+ size?: ModalSize;
9
11
  closable?: boolean;
10
12
  maskClosable?: boolean;
11
13
  centered?: boolean;
12
14
  className?: string;
15
+ bgColor?: string;
16
+ headerBgColor?: string;
17
+ overlayColor?: string;
18
+ bodyClassName?: string;
19
+ headerClassName?: string;
20
+ maxHeight?: string | number;
13
21
  }
14
22
  export declare const Modal: FC<ModalProps>;
15
23
  export default Modal;
@@ -5,9 +5,14 @@ export interface ProgressProps {
5
5
  showInfo?: boolean;
6
6
  strokeColor?: string;
7
7
  strokeWidth?: number;
8
- size?: 'sm' | 'md' | 'lg';
8
+ size?: 'sm' | 'md' | 'lg' | 'responsive';
9
9
  className?: string;
10
10
  format?: (percent: number) => ReactNode;
11
+ bgColor?: string;
12
+ successColor?: string;
13
+ exceptionColor?: string;
14
+ trackColor?: string;
15
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';
11
16
  }
12
17
  export declare const Progress: FC<ProgressProps>;
13
18
  export default Progress;
@@ -1,10 +1,18 @@
1
- import { FC, ReactNode, InputHTMLAttributes } from 'react';
1
+ import { FC, ReactNode, InputHTMLAttributes, CSSProperties } from 'react';
2
2
  export interface SearchInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
3
3
  icon?: ReactNode;
4
4
  iconPosition?: 'left' | 'right';
5
- size?: 'sm' | 'md' | 'lg';
5
+ size?: 'sm' | 'md' | 'lg' | 'responsive';
6
6
  fullWidth?: boolean;
7
7
  onIconClick?: () => void;
8
+ bgColor?: string;
9
+ borderColor?: string;
10
+ focusBorderColor?: string;
11
+ iconColor?: string;
12
+ textColor?: string;
13
+ placeholderColor?: string;
14
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';
15
+ style?: CSSProperties;
8
16
  }
9
17
  export declare const SearchInput: FC<SearchInputProps>;
10
18
  export default SearchInput;
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ import { FC, CSSProperties } from 'react';
2
2
  export interface SelectOption {
3
3
  value: string | number;
4
4
  label: string;
@@ -11,12 +11,20 @@ export interface SelectProps {
11
11
  placeholder?: string;
12
12
  onChange?: (value: string | number) => void;
13
13
  disabled?: boolean;
14
- size?: 'sm' | 'md' | 'lg';
14
+ size?: 'sm' | 'md' | 'lg' | 'responsive';
15
15
  fullWidth?: boolean;
16
16
  className?: string;
17
17
  allowClear?: boolean;
18
18
  showSearch?: boolean;
19
19
  searchPlaceholder?: string;
20
+ bgColor?: string;
21
+ borderColor?: string;
22
+ focusBorderColor?: string;
23
+ selectedBgColor?: string;
24
+ selectedTextColor?: string;
25
+ hoverBgColor?: string;
26
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';
27
+ style?: CSSProperties;
20
28
  }
21
29
  export declare const Select: FC<SelectProps>;
22
30
  export default Select;
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ import { FC, CSSProperties } from 'react';
2
2
  export interface SelectedItem {
3
3
  id: string | number;
4
4
  label: string;
@@ -11,6 +11,15 @@ export interface SelectedItemsListProps {
11
11
  className?: string;
12
12
  itemClassName?: string;
13
13
  maxHeight?: string;
14
+ size?: 'sm' | 'md' | 'lg' | 'responsive';
15
+ bgColor?: string;
16
+ hoverBgColor?: string;
17
+ textColor?: string;
18
+ sublabelColor?: string;
19
+ removeButtonColor?: string;
20
+ removeButtonHoverColor?: string;
21
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';
22
+ style?: CSSProperties;
14
23
  }
15
24
  export declare const SelectedItemsList: FC<SelectedItemsListProps>;
16
25
  export default SelectedItemsList;
@@ -1,10 +1,21 @@
1
- import { FC } from 'react';
1
+ import { FC, CSSProperties } from 'react';
2
2
  export interface StatCardProps {
3
3
  label: string;
4
4
  value: string | number;
5
5
  selected?: boolean;
6
6
  onClick?: () => void;
7
7
  className?: string;
8
+ size?: 'sm' | 'md' | 'lg' | 'responsive';
9
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
10
+ bgColor?: string;
11
+ borderColor?: string;
12
+ labelColor?: string;
13
+ valueColor?: string;
14
+ selectedBgColor?: string;
15
+ selectedBorderColor?: string;
16
+ selectedLabelColor?: string;
17
+ selectedValueColor?: string;
18
+ style?: CSSProperties;
8
19
  }
9
20
  export declare const StatCard: FC<StatCardProps>;
10
21
  export default StatCard;
@@ -1,4 +1,4 @@
1
- import { FC, ReactNode } from 'react';
1
+ import { FC, ReactNode, CSSProperties } from 'react';
2
2
  export interface StepItem {
3
3
  title: string;
4
4
  description?: string;
@@ -9,9 +9,15 @@ export interface StepsProps {
9
9
  items: StepItem[];
10
10
  current?: number;
11
11
  direction?: 'horizontal' | 'vertical';
12
- size?: 'sm' | 'md' | 'lg';
12
+ size?: 'sm' | 'md' | 'lg' | 'responsive';
13
13
  variant?: 'default' | 'outline';
14
14
  className?: string;
15
+ style?: CSSProperties;
16
+ finishColor?: string;
17
+ processColor?: string;
18
+ waitColor?: string;
19
+ errorColor?: string;
20
+ lineColor?: string;
15
21
  }
16
22
  export declare const Steps: FC<StepsProps>;
17
23
  export default Steps;
@@ -1,4 +1,4 @@
1
- import { ReactNode, HTMLAttributes } from 'react';
1
+ import { ReactNode, HTMLAttributes, CSSProperties } from 'react';
2
2
  export interface ColumnDef<T = any> {
3
3
  key: string;
4
4
  title: string;
@@ -18,6 +18,14 @@ export interface TableProps<T = any> {
18
18
  className?: string;
19
19
  bordered?: boolean;
20
20
  striped?: boolean;
21
+ size?: 'sm' | 'md' | 'lg' | 'responsive';
22
+ headerBgColor?: string;
23
+ headerTextColor?: string;
24
+ rowHoverColor?: string;
25
+ borderColor?: string;
26
+ stripedRowColor?: string;
27
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
28
+ style?: CSSProperties;
21
29
  }
22
30
  export interface PaginationConfig {
23
31
  current?: number;
@@ -29,5 +37,5 @@ export interface PaginationConfig {
29
37
  showTotal?: boolean;
30
38
  size?: 'sm' | 'md' | 'lg';
31
39
  }
32
- export declare const Table: <T extends Record<string, any>>({ columns, dataSource, rowKey, pagination, loading, onRow, className, bordered, striped, }: TableProps<T>) => import("react/jsx-runtime").JSX.Element;
40
+ export declare const Table: <T extends Record<string, any>>({ columns, dataSource, rowKey, pagination, loading, onRow, className, bordered, striped, size, headerBgColor, headerTextColor, rowHoverColor, borderColor, stripedRowColor, rounded, style, }: TableProps<T>) => import("react/jsx-runtime").JSX.Element;
33
41
  export default Table;
@@ -1,4 +1,4 @@
1
- import { FC, ReactNode } from 'react';
1
+ import { FC, ReactNode, CSSProperties } from 'react';
2
2
  export interface TableTopProps {
3
3
  title?: string;
4
4
  description?: string;
@@ -7,6 +7,14 @@ export interface TableTopProps {
7
7
  actions?: ReactNode;
8
8
  filters?: ReactNode;
9
9
  className?: string;
10
+ size?: 'sm' | 'md' | 'lg' | 'responsive';
11
+ titleColor?: string;
12
+ descriptionColor?: string;
13
+ searchBgColor?: string;
14
+ searchBorderColor?: string;
15
+ searchFocusBorderColor?: string;
16
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';
17
+ style?: CSSProperties;
10
18
  }
11
19
  export declare const TableTop: FC<TableTopProps>;
12
20
  export default TableTop;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shekel-fe-shared-lib",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "Shared component library built with React and Tailwind CSS",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial}}}.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-full{top:100%}.bottom-full{bottom:100%}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.max-h-\[70vh\]{max-height:70vh}.max-h-\[300px\]{max-height:300px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-\[1\.02\]{scale:1.02}.rotate-180{rotate:180deg}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#181918\]{border-color:#181918}.border-\[\#EC615B\]{border-color:#ec615b}.border-\[\#EEEEEE\]{border-color:#eee}.bg-\[\#EC615B\]{background-color:#ec615b}.bg-\[\#F4F4F4\]{background-color:#f4f4f4}.bg-\[\#F5F6F7\]{background-color:#f5f6f7}.bg-\[\#FCEAE9\]{background-color:#fceae9}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[\#EC615B\]\/5{--tw-gradient-via:oklab(66.7901% .156748 .074311/.05);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-\[\#181918\]{color:#181918}.text-\[\#333333\]{color:#333}.text-\[\#EC615B\]{color:#ec615b}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[\#EC615B\]{--tw-ring-color:#ec615b}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[0\.98\]:hover{scale:.98}.hover\:border-\[\#D4554F\]:hover{border-color:#d4554f}.hover\:bg-\[\#D4554F\]:hover{background-color:#d4554f}.hover\:bg-\[\#EBEBEB\]:hover{background-color:#ebebeb}.hover\:text-\[\#EC615B\]:hover{color:#ec615b}}.focus\:z-20:focus{z-index:20}.focus\:border-\[\#EC615B\]:focus{border-color:#ec615b}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#EC615B\]:focus{--tw-ring-color:#ec615b}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:scale-\[0\.96\]:active{scale:.96}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media(hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}@layer components{.stat-card{animation:.3s ease-out fadeInUp}.stat-value{animation:.5s ease-out countUp}.card{animation:.3s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes countUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,#f6f7f8,#edeef1,#f6f7f8 40%,#f6f7f8) 0 0/1000px 100%;animation:2s linear infinite shimmer}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:.3s ease-out slideInRight}.dropdown-slide-down{transform-origin:top;animation:.2s cubic-bezier(.23,1,.32,1) dropdownSlideDown}.dropdown-slide-up{transform-origin:bottom;animation:.2s cubic-bezier(.23,1,.32,1) dropdownSlideUp}@keyframes dropdownSlideDown{0%{opacity:0;transform:scaleY(.8)translateY(-8px)}to{opacity:1;transform:scaleY(1)translateY(0)}}@keyframes dropdownSlideUp{0%{opacity:0;transform:scaleY(.8)translateY(8px)}to{opacity:1;transform:scaleY(1)translateY(0)}}.dropdown-menu-item{position:relative}.dropdown-menu-item:before{content:"";background-color:#3b82f6;width:3px;transition:transform .2s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.dropdown-menu-item:hover:before{transform:scaleY(1)}.select-trigger{position:relative}.select-dropdown{animation:.2s cubic-bezier(.23,1,.32,1) dropdownSlideDown}.select-option{transition:all .15s;position:relative}.select-option:hover{padding-left:1.25rem}.modal-mask{animation:.3s ease-out fadeIn}.modal-content{animation:.3s cubic-bezier(.23,1,.32,1) modalSlideIn}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes progressActive{0%{background-position:0 0}to{background-position:40px 0}}.progress-active{background-image:linear-gradient(45deg,#fff3 25%,#0000 25%,#0000 50%,#fff3 50%,#fff3 75%,#0000 75%,#0000);background-size:40px 40px;animation:1s linear infinite progressActive}@keyframes slideIn{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.animate-slide-in{animation:.5s cubic-bezier(.34,1.56,.64,1) slideIn}@keyframes slideInItem{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-item{animation:.3s cubic-bezier(.23,1,.32,1) both slideInItem}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}