@optigrit/optigrit-ui 0.0.8 → 0.0.10

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.
@@ -207,7 +207,7 @@ var Input = forwardRef((props, ref) => {
207
207
  transform: "translateY(0) scale(1)"
208
208
  });
209
209
  Object.assign(input.style, {
210
- paddingLeft: startIcon ? `${startIconWidth + 8}px` : "8px",
210
+ paddingLeft: startIcon ? `${startIconWidth}px` : "8px",
211
211
  paddingRight: endIcon ? `${endIconWidth + 8}px` : "8px"
212
212
  });
213
213
  }
@@ -1,7 +1,7 @@
1
1
  import * as React$1 from 'react';
2
2
  import React__default, { ButtonHTMLAttributes, ReactNode, HTMLAttributes, RefObject, TableHTMLAttributes } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
- import { P as PopoverProps, a as InputProps } from '../Input-CBAdjRy6.js';
4
+ import { P as PopoverProps, a as InputProps, S as ShowWithAnimationProps } from '../types-BSufqQYT.js';
5
5
 
6
6
  type ButtonVariant = "contained" | "outlined" | "soft" | "text";
7
7
  type ButtonColor = "primary" | "secondary" | "error" | "success" | "warning" | "info";
@@ -48,7 +48,7 @@ type InputFieldProps = {
48
48
  validateValue?: (value: string) => string | null;
49
49
  onChangeValue?: (value: string) => void;
50
50
  containerProps?: HTMLAttributes<HTMLDivElement> & {
51
- ref: RefObject<HTMLDivElement | null>;
51
+ ref?: RefObject<HTMLDivElement | null>;
52
52
  };
53
53
  } & Omit<InputProps, 'value'>;
54
54
  declare function InputField(props: InputFieldProps): react_jsx_runtime.JSX.Element;
@@ -77,6 +77,38 @@ type MultiSelectProps = {
77
77
  } & Omit<InputFieldProps, 'readOnly' | 'value' | 'onChange' | 'onChangeValue'>;
78
78
  declare function MultiSelect(props: MultiSelectProps): react_jsx_runtime.JSX.Element;
79
79
 
80
+ interface SearchBarProps extends Omit<InputProps, 'value' | 'defaultValue'> {
81
+ value?: string;
82
+ defaultValue?: string;
83
+ onSearch: (value: string) => void;
84
+ delay?: number;
85
+ loading?: boolean;
86
+ }
87
+ declare const SearchBar: React__default.ForwardRefExoticComponent<SearchBarProps & React__default.RefAttributes<HTMLInputElement>>;
88
+
89
+ type TabListProps = {
90
+ activeTabValue: string;
91
+ onChangeActiveTabValue: (value: string) => void;
92
+ tabs: Array<{
93
+ value: string;
94
+ label: string;
95
+ }>;
96
+ } & Omit<HTMLAttributes<HTMLDivElement>, "children">;
97
+ declare function TabList(props: TabListProps): react_jsx_runtime.JSX.Element;
98
+
99
+ type RenderPanelProps = {
100
+ activePanelValue: string;
101
+ panels: Array<{
102
+ value: string;
103
+ content: ReactNode;
104
+ }>;
105
+ animationStyle?: ShowWithAnimationProps['animationStyle'];
106
+ panelRemoveOnHide?: boolean;
107
+ };
108
+
109
+ type TabPanelProps = RenderPanelProps & Omit<HTMLAttributes<HTMLDivElement>, "children">;
110
+ declare function TabPanel(props: TabPanelProps): react_jsx_runtime.JSX.Element;
111
+
80
112
  interface TableProps extends TableHTMLAttributes<HTMLTableElement> {
81
113
  stickyHeader?: boolean;
82
114
  size?: "small" | "medium";
@@ -129,6 +161,20 @@ interface CarouselProps extends React__default.HTMLAttributes<HTMLDivElement> {
129
161
  }
130
162
  declare const Carousel: React__default.ForwardRefExoticComponent<CarouselProps & React__default.RefAttributes<HTMLDivElement>>;
131
163
 
164
+ interface SeparatorProps extends React__default.HTMLAttributes<HTMLDivElement> {
165
+ /**
166
+ * The orientation of the separator.
167
+ * @default 'horizontal'
168
+ */
169
+ orientation?: 'horizontal' | 'vertical';
170
+ /**
171
+ * Whether the element is purely decorative or semantic.
172
+ * @default true
173
+ */
174
+ decorative?: boolean;
175
+ }
176
+ declare const Separator: React__default.ForwardRefExoticComponent<SeparatorProps & React__default.RefAttributes<HTMLDivElement>>;
177
+
132
178
  type DialogProps = {
133
179
  open: boolean;
134
180
  onClose?: () => void;
@@ -201,4 +247,10 @@ interface CardContentProps extends React__default.HTMLAttributes<HTMLDivElement>
201
247
  }
202
248
  declare const CardContent: React__default.ForwardRefExoticComponent<CardContentProps & React__default.RefAttributes<HTMLDivElement>>;
203
249
 
204
- export { Button, type ButtonColor, type ButtonProps, type ButtonRoundness, type ButtonSize, type ButtonVariant, Card, CardContent, type CardContentProps, CardHeader, type CardHeaderProps, type CardProps, Carousel, type CarouselItem, type CarouselProps, Dialog, DialogContent, DialogFooter, DialogHeader, type DialogProps, Drawer, DrawerContent, DrawerFooter, DrawerHeader, type DrawerProps, IconButton, type IconButtonProps, InputField, type InputFieldProps, MultiSelect, type MultiSelectProps, Select, type SelectProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableContainer, type TableContainerProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, type TableProps, TableRow, type TableRowProps, Tooltip, type TooltipProps };
250
+ interface CardFooterProps extends React__default.HTMLAttributes<HTMLDivElement> {
251
+ text?: React__default.ReactNode;
252
+ action?: React__default.ReactNode;
253
+ }
254
+ declare const CardFooter: React__default.ForwardRefExoticComponent<CardFooterProps & React__default.RefAttributes<HTMLDivElement>>;
255
+
256
+ export { Button, type ButtonColor, type ButtonProps, type ButtonRoundness, type ButtonSize, type ButtonVariant, Card, CardContent, type CardContentProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, Carousel, type CarouselItem, type CarouselProps, Dialog, DialogContent, DialogFooter, DialogHeader, type DialogProps, Drawer, DrawerContent, DrawerFooter, DrawerHeader, type DrawerProps, IconButton, type IconButtonProps, InputField, type InputFieldProps, MultiSelect, type MultiSelectProps, SearchBar, type SearchBarProps, Select, type SelectProps, Separator, type SeparatorProps, TabList, type TabListProps, TabPanel, type TabPanelProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableContainer, type TableContainerProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, type TableProps, TableRow, type TableRowProps, Tooltip, type TooltipProps };
@@ -6,7 +6,7 @@ import {
6
6
  ShowWithAnimation,
7
7
  Spinner,
8
8
  cn
9
- } from "../chunk-CRWBYFRD.js";
9
+ } from "../chunk-62RFRYVU.js";
10
10
  import "../chunk-MCQS3QNN.js";
11
11
  import {
12
12
  useKeyboardShortcuts
@@ -96,8 +96,7 @@ var Button = forwardRef(
96
96
  className,
97
97
  children,
98
98
  type = "button",
99
- onClick,
100
- ...rest
99
+ onClick
101
100
  }, ref) => {
102
101
  const rippleRef = useRef(null);
103
102
  const isDisabled = disabled || loading;
@@ -134,7 +133,6 @@ var Button = forwardRef(
134
133
  fullWidth && "w-full",
135
134
  className
136
135
  ),
137
- ...rest,
138
136
  children: [
139
137
  /* @__PURE__ */ jsx(Ripple, { ref: rippleRef, color: getRippleColor(variant, color) }),
140
138
  loading && /* @__PURE__ */ jsx(Spinner, { size: spinnerSize[size], color: "inherit" }),
@@ -624,6 +622,269 @@ function MultiSelect(props) {
624
622
  ] });
625
623
  }
626
624
 
625
+ // src/components/Forms/SearchBar/SearchBar.tsx
626
+ import React, { useState as useState5, useEffect, useRef as useRef7 } from "react";
627
+
628
+ // src/shared/Icons/SearchIcon.tsx
629
+ import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
630
+ var SearchIcon = (props) => /* @__PURE__ */ jsxs7(
631
+ "svg",
632
+ {
633
+ xmlns: "http://www.w3.org/2000/svg",
634
+ width: "18",
635
+ height: "18",
636
+ viewBox: "0 0 24 24",
637
+ fill: "none",
638
+ stroke: "currentColor",
639
+ strokeWidth: "2",
640
+ strokeLinecap: "round",
641
+ strokeLinejoin: "round",
642
+ ...props,
643
+ children: [
644
+ /* @__PURE__ */ jsx7("circle", { cx: "11", cy: "11", r: "8" }),
645
+ /* @__PURE__ */ jsx7("path", { d: "m21 21-4.3-4.3" })
646
+ ]
647
+ }
648
+ );
649
+
650
+ // src/shared/Icons/CrossIcon.tsx
651
+ import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
652
+ var CrossIcon = (props) => /* @__PURE__ */ jsxs8(
653
+ "svg",
654
+ {
655
+ xmlns: "http://www.w3.org/2000/svg",
656
+ width: "14",
657
+ height: "14",
658
+ viewBox: "0 0 24 24",
659
+ fill: "none",
660
+ stroke: "currentColor",
661
+ strokeWidth: "2.5",
662
+ strokeLinecap: "round",
663
+ strokeLinejoin: "round",
664
+ ...props,
665
+ children: [
666
+ /* @__PURE__ */ jsx8("path", { d: "M18 6 6 18" }),
667
+ /* @__PURE__ */ jsx8("path", { d: "m6 6 12 12" })
668
+ ]
669
+ }
670
+ );
671
+
672
+ // src/components/Forms/SearchBar/SearchBar.tsx
673
+ import { jsx as jsx9 } from "react/jsx-runtime";
674
+ var SearchBar = React.forwardRef(
675
+ ({
676
+ value,
677
+ defaultValue,
678
+ onSearch,
679
+ delay = 300,
680
+ loading = false,
681
+ startIcon,
682
+ endIcon,
683
+ placeholder = "Search..."
684
+ }, ref) => {
685
+ const isControlled = value !== void 0;
686
+ const [internalValue, setInternalValue] = useState5(defaultValue || "");
687
+ const currentValue = isControlled ? value : internalValue;
688
+ const isFirstMount = useRef7(true);
689
+ const debounceTimer = useRef7(null);
690
+ useEffect(() => {
691
+ if (value !== void 0) {
692
+ setInternalValue(value);
693
+ }
694
+ }, [value]);
695
+ const triggerSearch = (val) => {
696
+ if (debounceTimer.current) {
697
+ clearTimeout(debounceTimer.current);
698
+ }
699
+ onSearch?.(val);
700
+ };
701
+ useEffect(() => {
702
+ if (isFirstMount.current) {
703
+ isFirstMount.current = false;
704
+ if (!currentValue) return;
705
+ }
706
+ if (delay === 0) {
707
+ onSearch?.(currentValue);
708
+ return;
709
+ }
710
+ if (debounceTimer.current) {
711
+ clearTimeout(debounceTimer.current);
712
+ }
713
+ debounceTimer.current = setTimeout(() => {
714
+ onSearch?.(currentValue);
715
+ }, delay);
716
+ return () => {
717
+ if (debounceTimer.current) {
718
+ clearTimeout(debounceTimer.current);
719
+ }
720
+ };
721
+ }, [currentValue, delay]);
722
+ const handleOnChange = (e) => {
723
+ const newVal = e.target.value;
724
+ if (!isControlled) {
725
+ setInternalValue(newVal);
726
+ }
727
+ };
728
+ const handleClear = () => {
729
+ if (!isControlled) {
730
+ setInternalValue("");
731
+ }
732
+ triggerSearch("");
733
+ const syntheticEvent = {
734
+ target: { value: "" },
735
+ currentTarget: { value: "" }
736
+ };
737
+ };
738
+ const handleKeyDown = (e) => {
739
+ if (e.key === "Enter") {
740
+ triggerSearch(currentValue);
741
+ } else if (e.key === "Escape") {
742
+ handleClear();
743
+ }
744
+ };
745
+ const defaultSearchIcon = /* @__PURE__ */ jsx9(SearchIcon, { className: "text-gray-400 ml-2" });
746
+ const renderEndIcon = () => {
747
+ if (loading) {
748
+ return /* @__PURE__ */ jsx9("div", { className: "flex items-center justify-center pr-3", children: /* @__PURE__ */ jsx9(Spinner, { size: 16, color: "primary" }) });
749
+ }
750
+ if (currentValue) {
751
+ return /* @__PURE__ */ jsx9(
752
+ "button",
753
+ {
754
+ type: "button",
755
+ onClick: handleClear,
756
+ className: "flex items-center justify-center p-1 mr-2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 transition-colors rounded-full hover:bg-gray-100 dark:hover:bg-gray-800 cursor-pointer focus:outline-none focus:ring-1 focus:ring-gray-300",
757
+ "aria-label": "Clear search",
758
+ children: /* @__PURE__ */ jsx9(CrossIcon, {})
759
+ }
760
+ );
761
+ }
762
+ return endIcon;
763
+ };
764
+ return /* @__PURE__ */ jsx9(
765
+ Input,
766
+ {
767
+ ref,
768
+ placeholder,
769
+ value: currentValue,
770
+ onChange: handleOnChange,
771
+ onKeyDown: handleKeyDown,
772
+ startIcon: startIcon || defaultSearchIcon,
773
+ endIcon: renderEndIcon()
774
+ }
775
+ );
776
+ }
777
+ );
778
+ SearchBar.displayName = "SearchBar";
779
+
780
+ // src/components/Navigation/Tab/TabList/index.tsx
781
+ import { useEffect as useEffect2, useRef as useRef8 } from "react";
782
+ import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
783
+ function TabList(props) {
784
+ const {
785
+ tabs,
786
+ activeTabValue,
787
+ onChangeActiveTabValue,
788
+ ...rest
789
+ } = props;
790
+ const tabsContainer = useRef8(null);
791
+ const activeIndicator = useRef8(null);
792
+ function handleValueChange() {
793
+ if (!tabsContainer.current || !activeIndicator.current) return;
794
+ const tab = tabsContainer.current.querySelector(`#${activeTabValue}`);
795
+ const tabLayoutInfo = tab?.getBoundingClientRect();
796
+ const containerLayoutInfo = tabsContainer.current.getBoundingClientRect();
797
+ if (!tabLayoutInfo) return;
798
+ activeIndicator.current.style.width = `${tabLayoutInfo.width}px`;
799
+ activeIndicator.current.style.height = `${tabLayoutInfo.height}px`;
800
+ activeIndicator.current.style.transform = `translateX(${tabLayoutInfo.left - containerLayoutInfo.left}px)`;
801
+ }
802
+ useEffect2(() => {
803
+ handleValueChange();
804
+ window.addEventListener("resize", handleValueChange);
805
+ tabsContainer.current?.addEventListener("scroll", handleValueChange);
806
+ return () => {
807
+ window.removeEventListener("resize", handleValueChange);
808
+ tabsContainer.current?.removeEventListener("scroll", handleValueChange);
809
+ };
810
+ }, [activeTabValue]);
811
+ return /* @__PURE__ */ jsxs9(
812
+ "div",
813
+ {
814
+ ...rest,
815
+ className: cn("bg-bg-secondary w-full p-1 rounded-xl relative", rest.className),
816
+ children: [
817
+ /* @__PURE__ */ jsx10("div", { ref: activeIndicator, className: "absolute rounded-lg bg-primary transition-all duration-200" }),
818
+ /* @__PURE__ */ jsx10("div", { ref: tabsContainer, className: "flex items-center gap-1 w-full overflow-x-auto", children: tabs.map((tab) => /* @__PURE__ */ jsx10(
819
+ "div",
820
+ {
821
+ id: tab.value,
822
+ onClick: () => onChangeActiveTabValue(tab.value),
823
+ className: cn(
824
+ `px-3 py-1 rounded-lg cursor-pointer z-10 transition-all duration-200 whitespace-nowrap hover:bg-primary/20`,
825
+ activeTabValue === tab.value ? "text-white" : "text-text-secondary"
826
+ ),
827
+ children: tab.label
828
+ },
829
+ tab.value
830
+ )) })
831
+ ]
832
+ }
833
+ );
834
+ }
835
+
836
+ // src/components/Navigation/Tab/TabPanel/RenderPanel.tsx
837
+ import { memo } from "react";
838
+ import { jsx as jsx11 } from "react/jsx-runtime";
839
+ var RenderPanel = memo((props) => {
840
+ const {
841
+ activePanelValue,
842
+ panels,
843
+ animationStyle,
844
+ panelRemoveOnHide
845
+ } = props;
846
+ if (panels.length === 0) return null;
847
+ return /* @__PURE__ */ jsx11(
848
+ ShowWithAnimation,
849
+ {
850
+ when: panels[0].value === activePanelValue,
851
+ containerProps: { className: "w-full h-full" },
852
+ className: "w-full h-full",
853
+ removeOnHide: panelRemoveOnHide,
854
+ otherwise: /* @__PURE__ */ jsx11(RenderPanel, { ...props, panels: panels.slice(1) }),
855
+ animationStyle: animationStyle ?? {
856
+ children: {
857
+ from: { scale: 0.9, opacity: 0 },
858
+ active: { scale: 1, opacity: 1 },
859
+ to: { scale: 1.1, opacity: 0 }
860
+ }
861
+ },
862
+ children: panels[0].content
863
+ }
864
+ );
865
+ });
866
+
867
+ // src/components/Navigation/Tab/TabPanel/index.tsx
868
+ import { jsx as jsx12 } from "react/jsx-runtime";
869
+ function TabPanel(props) {
870
+ const {
871
+ activePanelValue,
872
+ panels,
873
+ animationStyle,
874
+ panelRemoveOnHide,
875
+ ...rest
876
+ } = props;
877
+ return /* @__PURE__ */ jsx12("div", { ...rest, children: /* @__PURE__ */ jsx12(
878
+ RenderPanel,
879
+ {
880
+ activePanelValue,
881
+ panels,
882
+ animationStyle,
883
+ panelRemoveOnHide
884
+ }
885
+ ) });
886
+ }
887
+
627
888
  // src/components/DataDisplay/Table/Table.tsx
628
889
  import { forwardRef as forwardRef3, useMemo } from "react";
629
890
 
@@ -636,11 +897,11 @@ var TableContext = createContext({
636
897
  var useTableContext = () => useContext(TableContext);
637
898
 
638
899
  // src/components/DataDisplay/Table/Table.tsx
639
- import { jsx as jsx7 } from "react/jsx-runtime";
900
+ import { jsx as jsx13 } from "react/jsx-runtime";
640
901
  var Table = forwardRef3(
641
902
  ({ className = "", children, stickyHeader = false, size = "medium", ...props }, ref) => {
642
903
  const value = useMemo(() => ({ size, stickyHeader }), [size, stickyHeader]);
643
- return /* @__PURE__ */ jsx7(TableContext.Provider, { value, children: /* @__PURE__ */ jsx7(
904
+ return /* @__PURE__ */ jsx13(TableContext.Provider, { value, children: /* @__PURE__ */ jsx13(
644
905
  "table",
645
906
  {
646
907
  ref,
@@ -656,10 +917,10 @@ var Table_default = Table;
656
917
 
657
918
  // src/components/DataDisplay/Table/TableBody.tsx
658
919
  import { forwardRef as forwardRef4 } from "react";
659
- import { jsx as jsx8 } from "react/jsx-runtime";
920
+ import { jsx as jsx14 } from "react/jsx-runtime";
660
921
  var TableBody = forwardRef4(
661
922
  ({ className = "", children, ...props }, ref) => {
662
- return /* @__PURE__ */ jsx8(
923
+ return /* @__PURE__ */ jsx14(
663
924
  "tbody",
664
925
  {
665
926
  ref,
@@ -675,7 +936,7 @@ var TableBody_default = TableBody;
675
936
 
676
937
  // src/components/DataDisplay/Table/TableCell.tsx
677
938
  import { forwardRef as forwardRef5 } from "react";
678
- import { jsx as jsx9 } from "react/jsx-runtime";
939
+ import { jsx as jsx15 } from "react/jsx-runtime";
679
940
  var TableCell = forwardRef5(
680
941
  ({ className = "", align = "left", padding, variant, component, children, ...props }, ref) => {
681
942
  const { size, stickyHeader } = useTableContext();
@@ -694,7 +955,7 @@ var TableCell = forwardRef5(
694
955
  checkbox: "p-0 w-[48px] text-center"
695
956
  };
696
957
  const effectivePadding = padding || "normal";
697
- return /* @__PURE__ */ jsx9(
958
+ return /* @__PURE__ */ jsx15(
698
959
  Component,
699
960
  {
700
961
  ref,
@@ -710,10 +971,10 @@ var TableCell_default = TableCell;
710
971
 
711
972
  // src/components/DataDisplay/Table/TableContainer.tsx
712
973
  import { forwardRef as forwardRef6 } from "react";
713
- import { jsx as jsx10 } from "react/jsx-runtime";
974
+ import { jsx as jsx16 } from "react/jsx-runtime";
714
975
  var TableContainer = forwardRef6(
715
976
  ({ className = "", children, ...props }, ref) => {
716
- return /* @__PURE__ */ jsx10(
977
+ return /* @__PURE__ */ jsx16(
717
978
  "div",
718
979
  {
719
980
  ref,
@@ -729,10 +990,10 @@ var TableContainer_default = TableContainer;
729
990
 
730
991
  // src/components/DataDisplay/Table/TableFooter.tsx
731
992
  import { forwardRef as forwardRef7 } from "react";
732
- import { jsx as jsx11 } from "react/jsx-runtime";
993
+ import { jsx as jsx17 } from "react/jsx-runtime";
733
994
  var TableFooter = forwardRef7(
734
995
  ({ className = "", children, ...props }, ref) => {
735
- return /* @__PURE__ */ jsx11(
996
+ return /* @__PURE__ */ jsx17(
736
997
  "tfoot",
737
998
  {
738
999
  ref,
@@ -748,10 +1009,10 @@ var TableFooter_default = TableFooter;
748
1009
 
749
1010
  // src/components/DataDisplay/Table/TableHead.tsx
750
1011
  import { forwardRef as forwardRef8 } from "react";
751
- import { jsx as jsx12 } from "react/jsx-runtime";
1012
+ import { jsx as jsx18 } from "react/jsx-runtime";
752
1013
  var TableHead = forwardRef8(
753
1014
  ({ className = "", children, ...props }, ref) => {
754
- return /* @__PURE__ */ jsx12(
1015
+ return /* @__PURE__ */ jsx18(
755
1016
  "thead",
756
1017
  {
757
1018
  ref,
@@ -767,10 +1028,10 @@ var TableHead_default = TableHead;
767
1028
 
768
1029
  // src/components/DataDisplay/Table/TableRow.tsx
769
1030
  import { forwardRef as forwardRef9 } from "react";
770
- import { jsx as jsx13 } from "react/jsx-runtime";
1031
+ import { jsx as jsx19 } from "react/jsx-runtime";
771
1032
  var TableRow = forwardRef9(
772
1033
  ({ className = "", children, hover = false, selected = false, ...props }, ref) => {
773
- return /* @__PURE__ */ jsx13(
1034
+ return /* @__PURE__ */ jsx19(
774
1035
  "tr",
775
1036
  {
776
1037
  ref,
@@ -785,8 +1046,8 @@ TableRow.displayName = "TableRow";
785
1046
  var TableRow_default = TableRow;
786
1047
 
787
1048
  // src/components/DataDisplay/Carousel/Carousel.tsx
788
- import { useState as useState5, useEffect, useCallback as useCallback3, forwardRef as forwardRef10 } from "react";
789
- import { Fragment as Fragment4, jsx as jsx14, jsxs as jsxs7 } from "react/jsx-runtime";
1049
+ import { useState as useState6, useEffect as useEffect3, useCallback as useCallback3, forwardRef as forwardRef10 } from "react";
1050
+ import { Fragment as Fragment4, jsx as jsx20, jsxs as jsxs10 } from "react/jsx-runtime";
790
1051
  var Carousel = forwardRef10(
791
1052
  ({
792
1053
  items,
@@ -798,8 +1059,8 @@ var Carousel = forwardRef10(
798
1059
  style,
799
1060
  ...props
800
1061
  }, ref) => {
801
- const [currentIndex, setCurrentIndex] = useState5(0);
802
- const [isHovered, setIsHovered] = useState5(false);
1062
+ const [currentIndex, setCurrentIndex] = useState6(0);
1063
+ const [isHovered, setIsHovered] = useState6(false);
803
1064
  const goToNext = useCallback3(() => {
804
1065
  setCurrentIndex((prevIndex) => prevIndex === items.length - 1 ? 0 : prevIndex + 1);
805
1066
  }, [items.length]);
@@ -809,7 +1070,7 @@ var Carousel = forwardRef10(
809
1070
  const goToIndex = (index) => {
810
1071
  setCurrentIndex(index);
811
1072
  };
812
- useEffect(() => {
1073
+ useEffect3(() => {
813
1074
  if (!autoPlay || isHovered) return;
814
1075
  const timer = setInterval(goToNext, interval);
815
1076
  return () => clearInterval(timer);
@@ -817,7 +1078,7 @@ var Carousel = forwardRef10(
817
1078
  if (!items || items.length === 0) {
818
1079
  return null;
819
1080
  }
820
- return /* @__PURE__ */ jsxs7(
1081
+ return /* @__PURE__ */ jsxs10(
821
1082
  "div",
822
1083
  {
823
1084
  ref,
@@ -827,13 +1088,13 @@ var Carousel = forwardRef10(
827
1088
  onMouseLeave: () => setIsHovered(false),
828
1089
  ...props,
829
1090
  children: [
830
- /* @__PURE__ */ jsx14(
1091
+ /* @__PURE__ */ jsx20(
831
1092
  "div",
832
1093
  {
833
1094
  className: "flex transition-transform duration-500 ease-in-out h-full w-full flex-1",
834
1095
  style: { transform: `translateX(-${currentIndex * 100}%)` },
835
- children: items.map((item) => /* @__PURE__ */ jsxs7("div", { className: "w-full h-full relative shrink-0", style: { flex: "0 0 100%" }, children: [
836
- /* @__PURE__ */ jsx14(
1096
+ children: items.map((item) => /* @__PURE__ */ jsxs10("div", { className: "w-full h-full relative shrink-0", style: { flex: "0 0 100%" }, children: [
1097
+ /* @__PURE__ */ jsx20(
837
1098
  "img",
838
1099
  {
839
1100
  src: item.imageUrl,
@@ -841,15 +1102,15 @@ var Carousel = forwardRef10(
841
1102
  className: "w-full h-full object-cover"
842
1103
  }
843
1104
  ),
844
- (item.title || item.description) && /* @__PURE__ */ jsxs7("div", { className: "absolute inset-0 bg-gradient-to-t from-black/80 via-black/30 to-transparent flex flex-col justify-end p-6 md:p-8", children: [
845
- item.title && /* @__PURE__ */ jsx14("h3", { className: "text-white text-xl md:text-3xl font-semibold mb-2 transform transition-all duration-500 translate-y-0 opacity-100", children: item.title }),
846
- item.description && /* @__PURE__ */ jsx14("p", { className: "text-white/80 text-sm md:text-base max-w-2xl transform transition-all duration-500 delay-100 translate-y-0 opacity-100", children: item.description })
1105
+ (item.title || item.description) && /* @__PURE__ */ jsxs10("div", { className: "absolute inset-0 bg-gradient-to-t from-black/80 via-black/30 to-transparent flex flex-col justify-end p-6 md:p-8", children: [
1106
+ item.title && /* @__PURE__ */ jsx20("h3", { className: "text-white text-xl md:text-3xl font-semibold mb-2 transform transition-all duration-500 translate-y-0 opacity-100", children: item.title }),
1107
+ item.description && /* @__PURE__ */ jsx20("p", { className: "text-white/80 text-sm md:text-base max-w-2xl transform transition-all duration-500 delay-100 translate-y-0 opacity-100", children: item.description })
847
1108
  ] })
848
1109
  ] }, item.id))
849
1110
  }
850
1111
  ),
851
- showArrows && items.length > 1 && /* @__PURE__ */ jsxs7(Fragment4, { children: [
852
- /* @__PURE__ */ jsx14(
1112
+ showArrows && items.length > 1 && /* @__PURE__ */ jsxs10(Fragment4, { children: [
1113
+ /* @__PURE__ */ jsx20(
853
1114
  IconButton_default,
854
1115
  {
855
1116
  onClick: goToPrevious,
@@ -857,7 +1118,7 @@ var Carousel = forwardRef10(
857
1118
  color: "secondary",
858
1119
  className: "absolute left-4 top-1/2 -translate-y-1/2 !bg-black/30 hover:!bg-black/50 text-white backdrop-blur-sm transition-all opacity-0 group-hover:opacity-100 disabled:opacity-0 z-10",
859
1120
  "aria-label": "Previous slide",
860
- children: /* @__PURE__ */ jsx14(
1121
+ children: /* @__PURE__ */ jsx20(
861
1122
  "svg",
862
1123
  {
863
1124
  xmlns: "http://www.w3.org/2000/svg",
@@ -866,12 +1127,12 @@ var Carousel = forwardRef10(
866
1127
  strokeWidth: 2,
867
1128
  stroke: "currentColor",
868
1129
  className: "w-5 h-5",
869
- children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5L8.25 12l7.5-7.5" })
1130
+ children: /* @__PURE__ */ jsx20("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5L8.25 12l7.5-7.5" })
870
1131
  }
871
1132
  )
872
1133
  }
873
1134
  ),
874
- /* @__PURE__ */ jsx14(
1135
+ /* @__PURE__ */ jsx20(
875
1136
  IconButton_default,
876
1137
  {
877
1138
  onClick: goToNext,
@@ -879,7 +1140,7 @@ var Carousel = forwardRef10(
879
1140
  color: "secondary",
880
1141
  className: "absolute right-4 top-1/2 -translate-y-1/2 !bg-black/30 hover:!bg-black/50 text-white backdrop-blur-sm transition-all opacity-0 group-hover:opacity-100 disabled:opacity-0 z-10",
881
1142
  "aria-label": "Next slide",
882
- children: /* @__PURE__ */ jsx14(
1143
+ children: /* @__PURE__ */ jsx20(
883
1144
  "svg",
884
1145
  {
885
1146
  xmlns: "http://www.w3.org/2000/svg",
@@ -888,13 +1149,13 @@ var Carousel = forwardRef10(
888
1149
  strokeWidth: 2,
889
1150
  stroke: "currentColor",
890
1151
  className: "w-5 h-5",
891
- children: /* @__PURE__ */ jsx14("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 4.5l7.5 7.5-7.5 7.5" })
1152
+ children: /* @__PURE__ */ jsx20("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 4.5l7.5 7.5-7.5 7.5" })
892
1153
  }
893
1154
  )
894
1155
  }
895
1156
  )
896
1157
  ] }),
897
- showIndicators && items.length > 1 && /* @__PURE__ */ jsx14("div", { className: "absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2 z-20", children: items.map((_, index) => /* @__PURE__ */ jsx14(
1158
+ showIndicators && items.length > 1 && /* @__PURE__ */ jsx20("div", { className: "absolute bottom-4 left-1/2 -translate-x-1/2 flex space-x-2 z-20", children: items.map((_, index) => /* @__PURE__ */ jsx20(
898
1159
  "button",
899
1160
  {
900
1161
  onClick: () => goToIndex(index),
@@ -913,9 +1174,32 @@ var Carousel = forwardRef10(
913
1174
  );
914
1175
  Carousel.displayName = "Carousel";
915
1176
 
1177
+ // src/components/DataDisplay/Separator/Separator.tsx
1178
+ import React3 from "react";
1179
+ import { jsx as jsx21 } from "react/jsx-runtime";
1180
+ var Separator = React3.forwardRef(
1181
+ ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => {
1182
+ return /* @__PURE__ */ jsx21(
1183
+ "div",
1184
+ {
1185
+ ref,
1186
+ role: decorative ? "none" : "separator",
1187
+ "aria-orientation": decorative ? void 0 : orientation,
1188
+ className: cn(
1189
+ "shrink-0 bg-gray-200 dark:bg-gray-800",
1190
+ orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
1191
+ className
1192
+ ),
1193
+ ...props
1194
+ }
1195
+ );
1196
+ }
1197
+ );
1198
+ Separator.displayName = "Separator";
1199
+
916
1200
  // src/components/Overlay/Dialog/Dialog.tsx
917
1201
  import { createPortal } from "react-dom";
918
- import { jsx as jsx15 } from "react/jsx-runtime";
1202
+ import { jsx as jsx22 } from "react/jsx-runtime";
919
1203
  function Dialog(props) {
920
1204
  const {
921
1205
  open,
@@ -947,7 +1231,7 @@ function Dialog(props) {
947
1231
  ]);
948
1232
  if (typeof window === "undefined") return null;
949
1233
  return createPortal(
950
- /* @__PURE__ */ jsx15(
1234
+ /* @__PURE__ */ jsx22(
951
1235
  ShowWithAnimation,
952
1236
  {
953
1237
  when: open,
@@ -975,7 +1259,7 @@ function Dialog(props) {
975
1259
  onClose?.();
976
1260
  }
977
1261
  },
978
- children: /* @__PURE__ */ jsx15(
1262
+ children: /* @__PURE__ */ jsx22(
979
1263
  ShowWithAnimation,
980
1264
  {
981
1265
  when: open,
@@ -1000,19 +1284,19 @@ function Dialog(props) {
1000
1284
  }
1001
1285
 
1002
1286
  // src/components/Overlay/Dialog/DialogHeader.tsx
1003
- import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
1287
+ import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
1004
1288
  function DialogHeader(props) {
1005
1289
  const { title, children, ...rest } = props;
1006
- return /* @__PURE__ */ jsxs8("div", { ...rest, className: "px-6 py-4 border-b border-border", children: [
1007
- /* @__PURE__ */ jsx16(Show, { when: !!title, children: /* @__PURE__ */ jsx16("h1", { className: "text-lg font-medium", children: title }) }),
1290
+ return /* @__PURE__ */ jsxs11("div", { ...rest, className: "px-6 py-4 border-b border-border", children: [
1291
+ /* @__PURE__ */ jsx23(Show, { when: !!title, children: /* @__PURE__ */ jsx23("h1", { className: "text-lg font-medium", children: title }) }),
1008
1292
  children
1009
1293
  ] });
1010
1294
  }
1011
1295
 
1012
1296
  // src/components/Overlay/Dialog/DialogFooter.tsx
1013
- import { jsx as jsx17 } from "react/jsx-runtime";
1297
+ import { jsx as jsx24 } from "react/jsx-runtime";
1014
1298
  function DialogFooter(props) {
1015
- return /* @__PURE__ */ jsx17(
1299
+ return /* @__PURE__ */ jsx24(
1016
1300
  "div",
1017
1301
  {
1018
1302
  ...props,
@@ -1022,9 +1306,9 @@ function DialogFooter(props) {
1022
1306
  }
1023
1307
 
1024
1308
  // src/components/Overlay/Dialog/DialogContent.tsx
1025
- import { jsx as jsx18 } from "react/jsx-runtime";
1309
+ import { jsx as jsx25 } from "react/jsx-runtime";
1026
1310
  function DialogContent(props) {
1027
- return /* @__PURE__ */ jsx18(
1311
+ return /* @__PURE__ */ jsx25(
1028
1312
  "div",
1029
1313
  {
1030
1314
  ...props,
@@ -1035,7 +1319,7 @@ function DialogContent(props) {
1035
1319
 
1036
1320
  // src/components/Overlay/Drawer/Drawer.tsx
1037
1321
  import { createPortal as createPortal2 } from "react-dom";
1038
- import { jsx as jsx19 } from "react/jsx-runtime";
1322
+ import { jsx as jsx26 } from "react/jsx-runtime";
1039
1323
  function Drawer(props) {
1040
1324
  const {
1041
1325
  open,
@@ -1070,7 +1354,7 @@ function Drawer(props) {
1070
1354
  }[_size] + (isHorizontal ? "vw" : "vh");
1071
1355
  })();
1072
1356
  return createPortal2(
1073
- /* @__PURE__ */ jsx19(
1357
+ /* @__PURE__ */ jsx26(
1074
1358
  ShowWithAnimation,
1075
1359
  {
1076
1360
  when: open,
@@ -1100,7 +1384,7 @@ function Drawer(props) {
1100
1384
  onClose?.();
1101
1385
  }
1102
1386
  },
1103
- children: /* @__PURE__ */ jsx19(
1387
+ children: /* @__PURE__ */ jsx26(
1104
1388
  ShowWithAnimation,
1105
1389
  {
1106
1390
  when: open,
@@ -1147,9 +1431,9 @@ function Drawer(props) {
1147
1431
  }
1148
1432
 
1149
1433
  // src/components/Overlay/Drawer/DrawerContent.tsx
1150
- import { jsx as jsx20 } from "react/jsx-runtime";
1434
+ import { jsx as jsx27 } from "react/jsx-runtime";
1151
1435
  function DrawerContent({ children, className, style }) {
1152
- return /* @__PURE__ */ jsx20(
1436
+ return /* @__PURE__ */ jsx27(
1153
1437
  "div",
1154
1438
  {
1155
1439
  className: cn("overflow-auto flex-1 p-4 relative hide-scrollbar", className),
@@ -1160,9 +1444,9 @@ function DrawerContent({ children, className, style }) {
1160
1444
  }
1161
1445
 
1162
1446
  // src/components/Overlay/Drawer/DrawerHeader.tsx
1163
- import { jsx as jsx21 } from "react/jsx-runtime";
1447
+ import { jsx as jsx28 } from "react/jsx-runtime";
1164
1448
  function DrawerHeader({ children, className, style }) {
1165
- return /* @__PURE__ */ jsx21(
1449
+ return /* @__PURE__ */ jsx28(
1166
1450
  "div",
1167
1451
  {
1168
1452
  className: cn("sticky top-0 z-20 backdrop-blur-sm bg-white/60 px-4 py-3 border-b border-border", className),
@@ -1173,9 +1457,9 @@ function DrawerHeader({ children, className, style }) {
1173
1457
  }
1174
1458
 
1175
1459
  // src/components/Overlay/Drawer/DrawerFooter.tsx
1176
- import { jsx as jsx22 } from "react/jsx-runtime";
1460
+ import { jsx as jsx29 } from "react/jsx-runtime";
1177
1461
  function DrawerFooter({ children, className, style }) {
1178
- return /* @__PURE__ */ jsx22(
1462
+ return /* @__PURE__ */ jsx29(
1179
1463
  "div",
1180
1464
  {
1181
1465
  className: cn("sticky bottom-0 z-20 backdrop-blur-sm bg-white/60 px-4 py-3 border-t border-border", className),
@@ -1186,11 +1470,11 @@ function DrawerFooter({ children, className, style }) {
1186
1470
  }
1187
1471
 
1188
1472
  // src/components/Surfaces/Card/Card.tsx
1189
- import React2 from "react";
1190
- import { jsx as jsx23 } from "react/jsx-runtime";
1191
- var Card = React2.forwardRef(
1192
- ({ className, ...props }, ref) => {
1193
- return /* @__PURE__ */ jsx23(
1473
+ import React4 from "react";
1474
+ import { jsx as jsx30 } from "react/jsx-runtime";
1475
+ var Card = React4.forwardRef(
1476
+ ({ className, children, ...props }, ref) => {
1477
+ return /* @__PURE__ */ jsx30(
1194
1478
  "div",
1195
1479
  {
1196
1480
  ref,
@@ -1198,7 +1482,8 @@ var Card = React2.forwardRef(
1198
1482
  "w-full rounded-xl border border-gray-200 bg-white text-gray-950 shadow-sm dark:border-gray-800 dark:bg-gray-900 dark:text-gray-50",
1199
1483
  className
1200
1484
  ),
1201
- ...props
1485
+ ...props,
1486
+ children
1202
1487
  }
1203
1488
  );
1204
1489
  }
@@ -1206,23 +1491,23 @@ var Card = React2.forwardRef(
1206
1491
  Card.displayName = "Card";
1207
1492
 
1208
1493
  // src/components/Surfaces/Card/CardHeader.tsx
1209
- import React3 from "react";
1210
- import { jsx as jsx24, jsxs as jsxs9 } from "react/jsx-runtime";
1211
- var CardHeader = React3.forwardRef(
1494
+ import React5 from "react";
1495
+ import { jsx as jsx31, jsxs as jsxs12 } from "react/jsx-runtime";
1496
+ var CardHeader = React5.forwardRef(
1212
1497
  ({ className, avatar, action, title, subheader, ...props }, ref) => {
1213
- return /* @__PURE__ */ jsxs9(
1498
+ return /* @__PURE__ */ jsxs12(
1214
1499
  "div",
1215
1500
  {
1216
1501
  ref,
1217
1502
  className: cn("flex items-center p-6", className),
1218
1503
  ...props,
1219
1504
  children: [
1220
- avatar && /* @__PURE__ */ jsx24("div", { className: "mr-4 flex-shrink-0", children: avatar }),
1221
- /* @__PURE__ */ jsxs9("div", { className: "flex-1 flex flex-col gap-1", children: [
1222
- title && /* @__PURE__ */ jsx24("div", { className: "font-semibold leading-none tracking-tight", children: title }),
1223
- subheader && /* @__PURE__ */ jsx24("div", { className: "text-sm text-gray-500 dark:text-gray-400", children: subheader })
1505
+ avatar && /* @__PURE__ */ jsx31("div", { className: "mr-4 flex-shrink-0", children: avatar }),
1506
+ /* @__PURE__ */ jsxs12("div", { className: "flex-1 flex flex-col gap-1", children: [
1507
+ title && /* @__PURE__ */ jsx31("div", { className: "font-semibold leading-none tracking-tight", children: title }),
1508
+ subheader && /* @__PURE__ */ jsx31("div", { className: "text-sm text-gray-500 dark:text-gray-400", children: subheader })
1224
1509
  ] }),
1225
- action && /* @__PURE__ */ jsx24("div", { className: "ml-4 flex-shrink-0 self-start", children: action })
1510
+ action && /* @__PURE__ */ jsx31("div", { className: "ml-4 flex-shrink-0 self-start", children: action })
1226
1511
  ]
1227
1512
  }
1228
1513
  );
@@ -1231,11 +1516,11 @@ var CardHeader = React3.forwardRef(
1231
1516
  CardHeader.displayName = "CardHeader";
1232
1517
 
1233
1518
  // src/components/Surfaces/Card/CardContent.tsx
1234
- import React4 from "react";
1235
- import { jsx as jsx25 } from "react/jsx-runtime";
1236
- var CardContent = React4.forwardRef(
1519
+ import React6 from "react";
1520
+ import { jsx as jsx32 } from "react/jsx-runtime";
1521
+ var CardContent = React6.forwardRef(
1237
1522
  ({ className, ...props }, ref) => {
1238
- return /* @__PURE__ */ jsx25(
1523
+ return /* @__PURE__ */ jsx32(
1239
1524
  "div",
1240
1525
  {
1241
1526
  ref,
@@ -1246,10 +1531,34 @@ var CardContent = React4.forwardRef(
1246
1531
  }
1247
1532
  );
1248
1533
  CardContent.displayName = "CardContent";
1534
+
1535
+ // src/components/Surfaces/Card/CardFooter.tsx
1536
+ import React7 from "react";
1537
+ import { Fragment as Fragment5, jsx as jsx33, jsxs as jsxs13 } from "react/jsx-runtime";
1538
+ var CardFooter = React7.forwardRef(
1539
+ ({ className, text, action, children }, ref) => {
1540
+ return /* @__PURE__ */ jsx33(
1541
+ "div",
1542
+ {
1543
+ ref,
1544
+ className: cn(
1545
+ "flex items-center justify-between p-6 bg-white dark:bg-gray-900 rounded-b-xl",
1546
+ className
1547
+ ),
1548
+ children: children || /* @__PURE__ */ jsxs13(Fragment5, { children: [
1549
+ text && /* @__PURE__ */ jsx33("div", { className: "text-sm text-gray-500 dark:text-gray-400", children: text }),
1550
+ action && /* @__PURE__ */ jsx33("div", { className: "ml-auto flex items-center gap-2", children: action })
1551
+ ] })
1552
+ }
1553
+ );
1554
+ }
1555
+ );
1556
+ CardFooter.displayName = "CardFooter";
1249
1557
  export {
1250
1558
  Button_default as Button,
1251
1559
  Card,
1252
1560
  CardContent,
1561
+ CardFooter,
1253
1562
  CardHeader,
1254
1563
  Carousel,
1255
1564
  Dialog,
@@ -1263,7 +1572,11 @@ export {
1263
1572
  IconButton_default as IconButton,
1264
1573
  InputField,
1265
1574
  MultiSelect,
1575
+ SearchBar,
1266
1576
  Select,
1577
+ Separator,
1578
+ TabList,
1579
+ TabPanel,
1267
1580
  Table_default as Table,
1268
1581
  TableBody_default as TableBody,
1269
1582
  TableCell_default as TableCell,
@@ -1,7 +1,7 @@
1
1
  import * as React$1 from 'react';
2
- import { ReactNode, CSSProperties, HTMLAttributes } from 'react';
3
- import { P as PopoverProps } from '../Input-CBAdjRy6.js';
4
- export { I as Input, a as InputProps } from '../Input-CBAdjRy6.js';
2
+ import { ReactNode } from 'react';
3
+ import { P as PopoverProps, S as ShowWithAnimationProps } from '../types-BSufqQYT.js';
4
+ export { I as Input, a as InputProps } from '../types-BSufqQYT.js';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
6
 
7
7
  declare function Popover(props: PopoverProps): React$1.ReactPortal | null;
@@ -59,31 +59,7 @@ interface SpinnerProps {
59
59
  */
60
60
  declare function Spinner({ size, thickness, color, className, }: SpinnerProps): react_jsx_runtime.JSX.Element;
61
61
 
62
- type AnimationStyles = {
63
- children: {
64
- from: CSSProperties;
65
- active: CSSProperties;
66
- to?: CSSProperties;
67
- };
68
- otherwise?: {
69
- from: CSSProperties;
70
- active: CSSProperties;
71
- to?: CSSProperties;
72
- };
73
- };
74
- type AnimationsType = 'fade' | 'slide';
75
- type ShowWhenProps = {
76
- when: boolean;
77
- children: ReactNode;
78
- otherwise?: ReactNode;
79
- removeOnHide?: boolean;
80
- animationDuration?: number;
81
- animationType?: AnimationsType;
82
- animationStyle?: AnimationStyles;
83
- containerProps?: HTMLAttributes<HTMLDivElement>;
84
- } & HTMLAttributes<HTMLDivElement>;
85
-
86
- declare function ShowWithAnimation(props: ShowWhenProps): react_jsx_runtime.JSX.Element | null;
62
+ declare function ShowWithAnimation(props: ShowWithAnimationProps): react_jsx_runtime.JSX.Element | null;
87
63
 
88
64
  type ShowProps = {
89
65
  when: boolean;
@@ -92,4 +68,4 @@ type ShowProps = {
92
68
  };
93
69
  declare function Show({ when, children, otherwise }: ShowProps): ReactNode;
94
70
 
95
- export { Popover, PopoverProps, Ripple, type RippleProps, type RippleRef, Show, type ShowProps, type ShowWhenProps, ShowWithAnimation, Spinner, type SpinnerColor, type SpinnerProps };
71
+ export { Popover, PopoverProps, Ripple, type RippleProps, type RippleRef, Show, type ShowProps, ShowWithAnimation, ShowWithAnimationProps, Spinner, type SpinnerColor, type SpinnerProps };
@@ -5,7 +5,7 @@ import {
5
5
  Show,
6
6
  ShowWithAnimation,
7
7
  Spinner
8
- } from "../chunk-CRWBYFRD.js";
8
+ } from "../chunk-62RFRYVU.js";
9
9
  import "../chunk-MCQS3QNN.js";
10
10
  import "../chunk-U65NGM6F.js";
11
11
  export {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { HTMLAttributes, RefObject, ReactNode, InputHTMLAttributes } from 'react';
2
+ import { HTMLAttributes, RefObject, ReactNode, InputHTMLAttributes, CSSProperties } from 'react';
3
3
 
4
4
  type PopoverPosition = `${'top' | 'bottom' | 'left' | 'right'}-${'start' | 'center' | 'end'}`;
5
5
  type PopoverProps = HTMLAttributes<HTMLDivElement> & {
@@ -38,4 +38,28 @@ declare const Input: React.ForwardRefExoticComponent<{
38
38
  inputContainerProps?: HTMLAttributes<HTMLDivElement>;
39
39
  } & Omit<InputHTMLAttributes<HTMLInputElement>, "required"> & React.RefAttributes<HTMLInputElement>>;
40
40
 
41
- export { Input as I, type PopoverProps as P, type InputProps as a };
41
+ type AnimationStyles = {
42
+ children: {
43
+ from: CSSProperties;
44
+ active: CSSProperties;
45
+ to?: CSSProperties;
46
+ };
47
+ otherwise?: {
48
+ from: CSSProperties;
49
+ active: CSSProperties;
50
+ to?: CSSProperties;
51
+ };
52
+ };
53
+ type AnimationsType = 'fade' | 'slide';
54
+ type ShowWithAnimationProps = {
55
+ when: boolean;
56
+ children: ReactNode;
57
+ otherwise?: ReactNode;
58
+ removeOnHide?: boolean;
59
+ animationDuration?: number;
60
+ animationType?: AnimationsType;
61
+ animationStyle?: AnimationStyles;
62
+ containerProps?: HTMLAttributes<HTMLDivElement>;
63
+ } & HTMLAttributes<HTMLDivElement>;
64
+
65
+ export { Input as I, type PopoverProps as P, type ShowWithAnimationProps as S, type InputProps as a };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optigrit/optigrit-ui",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "UI components library for optigrit apps",
5
5
  "license": "ISC",
6
6
  "author": "",