bianic-ui 2.10.1 → 2.10.2-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +49 -49
  2. package/dist/cjs/Empty.svg +12 -12
  3. package/dist/cjs/index.js +126 -70
  4. package/dist/cjs/lib.css +1 -1
  5. package/dist/cjs/types/components/Countdown/index.d.ts +1 -0
  6. package/dist/cjs/types/components/Forms/SelectInput/index.d.ts +1 -1
  7. package/dist/cjs/types/components/Icons/Unlinked.d.ts +4 -0
  8. package/dist/cjs/types/components/Icons/index.d.ts +2 -1
  9. package/dist/cjs/types/components/Popover/PropInterface.d.ts +2 -0
  10. package/dist/cjs/types/components/Popover/configs.d.ts +8 -8
  11. package/dist/cjs/types/components/Popover/index.d.ts +1 -1
  12. package/dist/cjs/types/components/Table/TableUtility/TableFooterController.d.ts +2 -1
  13. package/dist/cjs/types/components/Table/TableUtility/TableHeaderController.d.ts +2 -1
  14. package/dist/cjs/types/components/Tooltip/PropsInterface.d.ts +1 -0
  15. package/dist/cjs/types/stories/Banner.stories.d.ts +1 -0
  16. package/dist/cjs/types/stories/Icons/Unlinked.stories.d.ts +14 -0
  17. package/dist/esm/Empty.svg +12 -12
  18. package/dist/esm/index.js +127 -72
  19. package/dist/esm/lib.css +1 -1
  20. package/dist/esm/types/components/Countdown/index.d.ts +1 -0
  21. package/dist/esm/types/components/Forms/SelectInput/index.d.ts +1 -1
  22. package/dist/esm/types/components/Icons/Unlinked.d.ts +4 -0
  23. package/dist/esm/types/components/Icons/index.d.ts +2 -1
  24. package/dist/esm/types/components/Popover/PropInterface.d.ts +2 -0
  25. package/dist/esm/types/components/Popover/configs.d.ts +8 -8
  26. package/dist/esm/types/components/Popover/index.d.ts +1 -1
  27. package/dist/esm/types/components/Table/TableUtility/TableFooterController.d.ts +2 -1
  28. package/dist/esm/types/components/Table/TableUtility/TableHeaderController.d.ts +2 -1
  29. package/dist/esm/types/components/Tooltip/PropsInterface.d.ts +1 -0
  30. package/dist/esm/types/stories/Banner.stories.d.ts +1 -0
  31. package/dist/esm/types/stories/Icons/Unlinked.stories.d.ts +14 -0
  32. package/dist/index.d.ts +12 -6
  33. package/package.json +143 -143
  34. package/src/font/SansCode/README.txt +88 -88
  35. package/src/style/color.css +650 -650
  36. package/src/style/scrollbar.css +78 -78
  37. package/tailwind.config.js +592 -574
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  export interface CountdownProps extends React.ComponentPropsWithoutRef<'div'> {
3
3
  seconds: number;
4
+ maxSeconds: number;
4
5
  variant?: 'countdown' | 'success';
5
6
  }
6
7
  declare const Countdown: React.ForwardRefExoticComponent<CountdownProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import SelectInputProps from './PropsInterface';
3
- declare function SelectInput({ descText, disabled, size, id, isValid, label, options, required, selected, setSelected, onClickDropdown, children, dropContProps: { className: dropContClassName, ...restDropContProps }, ...props }: SelectInputProps): React.JSX.Element;
3
+ declare function SelectInput({ descText, disabled, size, id, isValid, label, options, readOnly, required, selected, setSelected, onClickDropdown, children, dropContProps: { className: dropContClassName, ...restDropContProps }, ...props }: SelectInputProps): React.JSX.Element;
4
4
  declare namespace SelectInput {
5
5
  var defaultProps: {
6
6
  descText: string;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { IconProps } from './interface';
3
+ declare const Unlinked: ({ className, fill, size, }: IconProps) => React.JSX.Element;
4
+ export default Unlinked;
@@ -15,9 +15,10 @@ export { default as BCNeutral } from './Neutral';
15
15
  export { default as BCNode } from './Node';
16
16
  export { default as BCOutlet } from './Outlet';
17
17
  export { default as BCPort } from './Port';
18
+ export { default as BCRhombus } from './Rhombus';
18
19
  export { default as BCSelectAllAdd } from './SelectAllAdd';
19
20
  export { default as BCSelectAllRemove } from './SelectAllRemove';
20
21
  export { default as BCSpinner } from './Spinner';
21
22
  export { default as BCStack } from './Stack';
22
- export { default as BCRhombus } from './Rhombus';
23
+ export { default as BCUnlinked } from './Unlinked';
23
24
  export { default as BCVirtualPort } from './VirtualPort';
@@ -7,6 +7,7 @@ export interface PopoverProps {
7
7
  title?: string;
8
8
  style?: React.CSSProperties;
9
9
  zIndex?: number;
10
+ color?: 'black' | 'white';
10
11
  direction?: 'top' | 'right' | 'bottom' | 'left' | 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
11
12
  }
12
13
  export interface PopoverItemProps {
@@ -16,5 +17,6 @@ export interface PopoverItemProps {
16
17
  style?: React.CSSProperties;
17
18
  title: string;
18
19
  zIndex?: number;
20
+ color?: 'black' | 'white';
19
21
  direction: 'top' | 'right' | 'bottom' | 'left' | 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
20
22
  }
@@ -2,42 +2,42 @@ declare const classConfig: {
2
2
  top: {
3
3
  tooltipContainer: string;
4
4
  triangleContainer: string;
5
- triangleShape: string;
5
+ triangleBorders: string;
6
6
  };
7
7
  right: {
8
8
  tooltipContainer: string;
9
9
  triangleContainer: string;
10
- triangleShape: string;
10
+ triangleBorders: string;
11
11
  };
12
12
  bottom: {
13
13
  tooltipContainer: string;
14
14
  triangleContainer: string;
15
- triangleShape: string;
15
+ triangleBorders: string;
16
16
  };
17
17
  left: {
18
18
  tooltipContainer: string;
19
19
  triangleContainer: string;
20
- triangleShape: string;
20
+ triangleBorders: string;
21
21
  };
22
22
  'top-right': {
23
23
  tooltipContainer: string;
24
24
  triangleContainer: string;
25
- triangleShape: string;
25
+ triangleBorders: string;
26
26
  };
27
27
  'top-left': {
28
28
  tooltipContainer: string;
29
29
  triangleContainer: string;
30
- triangleShape: string;
30
+ triangleBorders: string;
31
31
  };
32
32
  'bottom-right': {
33
33
  tooltipContainer: string;
34
34
  triangleContainer: string;
35
- triangleShape: string;
35
+ triangleBorders: string;
36
36
  };
37
37
  'bottom-left': {
38
38
  tooltipContainer: string;
39
39
  triangleContainer: string;
40
- triangleShape: string;
40
+ triangleBorders: string;
41
41
  };
42
42
  };
43
43
  export default classConfig;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { PopoverProps } from './PropInterface';
3
- declare function Popover({ className, children, content, direction, maxWidth, title, style, zIndex, }: PopoverProps): React.JSX.Element;
3
+ declare function Popover({ className, children, content, direction, maxWidth, title, style, zIndex, color, }: PopoverProps): React.JSX.Element;
4
4
  declare namespace Popover {
5
5
  var defaultProps: {
6
6
  direction: string;
@@ -1,6 +1,7 @@
1
1
  import { ComponentPropsWithoutRef, Dispatch, SetStateAction } from 'react';
2
2
  import React from 'react';
3
3
  interface TableFooterControllerProps extends ComponentPropsWithoutRef<'div'> {
4
+ size: 'sm' | 'md';
4
5
  currentPage: number;
5
6
  totalPages: number;
6
7
  pageSize: number;
@@ -8,5 +9,5 @@ interface TableFooterControllerProps extends ComponentPropsWithoutRef<'div'> {
8
9
  setPageSize: Dispatch<SetStateAction<number>>;
9
10
  isLoading?: boolean;
10
11
  }
11
- declare const TableFooterController: ({ currentPage, totalPages, pageSize, setCurrentPage, setPageSize, isLoading, }: TableFooterControllerProps) => React.JSX.Element;
12
+ declare const TableFooterController: ({ currentPage, totalPages, pageSize, setCurrentPage, setPageSize, isLoading, size, }: TableFooterControllerProps) => React.JSX.Element;
12
13
  export default TableFooterController;
@@ -1,9 +1,10 @@
1
1
  import React, { ComponentPropsWithoutRef, ReactNode } from 'react';
2
2
  interface TableHeaderControllerProps extends ComponentPropsWithoutRef<'div'> {
3
+ size?: 'sm' | 'md';
3
4
  buttonActions?: ReactNode[];
4
5
  totalData?: number;
5
6
  firstIndex?: number;
6
7
  lastIndex?: number;
7
8
  }
8
- declare const TableHeaderController: ({ buttonActions, totalData, firstIndex, lastIndex, }: TableHeaderControllerProps) => React.JSX.Element;
9
+ declare const TableHeaderController: ({ size, buttonActions, totalData, firstIndex, lastIndex, }: TableHeaderControllerProps) => React.JSX.Element;
9
10
  export default TableHeaderController;
@@ -10,6 +10,7 @@ interface TooltipProps extends Omit<ComponentPropsWithoutRef<'div'>, 'content'>
10
10
  direction?: 'top' | 'right' | 'bottom' | 'left' | 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
11
11
  }
12
12
  interface TooltipItemProps {
13
+ active?: boolean;
13
14
  anchorRef: RefObject<HTMLDivElement>;
14
15
  className?: string;
15
16
  content: ReactNode | string;
@@ -16,3 +16,4 @@ export declare const DemoIconButtonDanger: Story;
16
16
  export declare const DemoIconButtonInfo: Story;
17
17
  export declare const DemoIconButtonSuccess: Story;
18
18
  export declare const DemoIconButtonWarning: Story;
19
+ export declare const DemoMoreText: Story;
@@ -0,0 +1,14 @@
1
+ import type { StoryObj } from '@storybook/react-webpack5';
2
+ import React from 'react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: ({ className, fill, size, }: import("../../components/Icons/interface").IconProps) => React.JSX.Element;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ args: {};
11
+ };
12
+ export default meta;
13
+ type Story = StoryObj<typeof meta>;
14
+ export declare const Preview: Story;
@@ -1,12 +1,12 @@
1
- <svg width="92" height="92" viewBox="0 0 92 92" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M32.8825 12.968C33.8187 12.0283 35.0905 11.5 36.417 11.5H66.6521C69.4074 11.5 71.641 13.7336 71.641 16.489V75.1388C71.641 77.8941 69.4074 80.1278 66.6521 80.1278H25.8327C23.0774 80.1278 20.8437 77.8875 20.8438 75.1321C20.8438 56.1849 20.8438 44.6779 20.8438 27.1159C20.8438 25.7961 21.3667 24.528 22.2982 23.593L32.8825 12.968Z" fill="#DADEEB"/>
3
- <path d="M32.8825 12.968C33.8187 12.0283 35.0905 11.5 36.417 11.5H66.6521C69.4074 11.5 71.641 13.7336 71.641 16.489V75.1388C71.641 77.8941 69.4074 80.1278 66.6521 80.1278H25.8327C23.0774 80.1278 20.8437 77.8875 20.8438 75.1321C20.8438 56.1849 20.8438 44.6779 20.8438 27.1159C20.8438 25.7961 21.3667 24.528 22.2982 23.593L32.8825 12.968Z" fill="white" fill-opacity="0.5"/>
4
- <path d="M34.3638 11.5V16.1283C34.3638 21.0391 30.3828 25.02 25.472 25.02H20.8438L34.3638 11.5Z" fill="#DADEEB"/>
5
- <rect x="28.1716" y="32.6677" width="18.7253" height="4.07072" rx="1.99559" fill="#DADEEB"/>
6
- <rect x="28.1716" y="39.9949" width="36.6365" height="4.07072" rx="1.99559" fill="#DADEEB"/>
7
- <rect x="28.1716" y="47.3223" width="36.6365" height="4.07072" rx="1.99559" fill="#DADEEB"/>
8
- <rect x="28.1716" y="54.6497" width="36.6365" height="4.07072" rx="1.99559" fill="#DADEEB"/>
9
- <rect x="28.1716" y="61.9768" width="36.6365" height="4.07072" rx="1.99559" fill="#DADEEB"/>
10
- <path d="M58.7737 63.8789C63.267 59.3856 70.5519 59.3856 75.0452 63.8789C79.5382 68.3722 79.5384 75.6572 75.0452 80.1504C70.552 84.6436 63.267 84.6434 58.7737 80.1504C54.2804 75.6571 54.2804 68.3722 58.7737 63.8789Z" stroke="#54A0F9" stroke-width="1.70457"/>
11
- <path d="M75.6475 80.1499L81.9753 86.4778" stroke="#54A0F9" stroke-width="1.70457"/>
12
- </svg>
1
+ <svg width="92" height="92" viewBox="0 0 92 92" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M32.8825 12.968C33.8187 12.0283 35.0905 11.5 36.417 11.5H66.6521C69.4074 11.5 71.641 13.7336 71.641 16.489V75.1388C71.641 77.8941 69.4074 80.1278 66.6521 80.1278H25.8327C23.0774 80.1278 20.8437 77.8875 20.8438 75.1321C20.8438 56.1849 20.8438 44.6779 20.8438 27.1159C20.8438 25.7961 21.3667 24.528 22.2982 23.593L32.8825 12.968Z" fill="#DADEEB"/>
3
+ <path d="M32.8825 12.968C33.8187 12.0283 35.0905 11.5 36.417 11.5H66.6521C69.4074 11.5 71.641 13.7336 71.641 16.489V75.1388C71.641 77.8941 69.4074 80.1278 66.6521 80.1278H25.8327C23.0774 80.1278 20.8437 77.8875 20.8438 75.1321C20.8438 56.1849 20.8438 44.6779 20.8438 27.1159C20.8438 25.7961 21.3667 24.528 22.2982 23.593L32.8825 12.968Z" fill="white" fill-opacity="0.5"/>
4
+ <path d="M34.3638 11.5V16.1283C34.3638 21.0391 30.3828 25.02 25.472 25.02H20.8438L34.3638 11.5Z" fill="#DADEEB"/>
5
+ <rect x="28.1716" y="32.6677" width="18.7253" height="4.07072" rx="1.99559" fill="#DADEEB"/>
6
+ <rect x="28.1716" y="39.9949" width="36.6365" height="4.07072" rx="1.99559" fill="#DADEEB"/>
7
+ <rect x="28.1716" y="47.3223" width="36.6365" height="4.07072" rx="1.99559" fill="#DADEEB"/>
8
+ <rect x="28.1716" y="54.6497" width="36.6365" height="4.07072" rx="1.99559" fill="#DADEEB"/>
9
+ <rect x="28.1716" y="61.9768" width="36.6365" height="4.07072" rx="1.99559" fill="#DADEEB"/>
10
+ <path d="M58.7737 63.8789C63.267 59.3856 70.5519 59.3856 75.0452 63.8789C79.5382 68.3722 79.5384 75.6572 75.0452 80.1504C70.552 84.6436 63.267 84.6434 58.7737 80.1504C54.2804 75.6571 54.2804 68.3722 58.7737 63.8789Z" stroke="#54A0F9" stroke-width="1.70457"/>
11
+ <path d="M75.6475 80.1499L81.9753 86.4778" stroke="#54A0F9" stroke-width="1.70457"/>
12
+ </svg>
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import React, { useState, useEffect, forwardRef, useRef, cloneElement, useLayoutEffect, Children, useMemo, isValidElement, useCallback } from 'react';
1
+ import React, { useState, useEffect, forwardRef, useRef, useLayoutEffect, cloneElement, Children, useMemo, isValidElement, useCallback } from 'react';
2
2
  import { createPortal } from 'react-dom';
3
3
 
4
4
  function Accordions(_a) {
@@ -719,12 +719,29 @@ var variantConfig$2 = {
719
719
 
720
720
  function Banner(_a) {
721
721
  var children = _a.children, _b = _a.closeable, closeable = _b === void 0 ? true : _b, _c = _a.variant, variant = _c === void 0 ? 'black' : _c, open = _a.open, onClose = _a.onClose;
722
+ var textRef = useRef(null);
723
+ var _d = useState(false), isMultiLine = _d[0], setIsMultiLine = _d[1];
724
+ useLayoutEffect(function () {
725
+ var textElement = textRef.current;
726
+ if (!textElement)
727
+ return;
728
+ var observer = new ResizeObserver(function () {
729
+ var computedStyle = window.getComputedStyle(textElement);
730
+ var lineHeight = parseFloat(computedStyle.lineHeight);
731
+ var height = textElement.clientHeight;
732
+ if (lineHeight && height) {
733
+ setIsMultiLine(height > lineHeight * 1.5);
734
+ }
735
+ });
736
+ observer.observe(textElement);
737
+ return function () { return observer.disconnect(); };
738
+ }, [children]);
722
739
  if (open) {
723
- return (React.createElement("div", { className: "w-full h-[42px] py-[22px] text-size-base font-semibold flex justify-center items-center text-white relative ".concat(variantConfig$2[variant].bg) },
724
- React.createElement("div", { className: "w-full flex justify-center items-center gap-[10px]" },
725
- React.createElement("div", { className: "font-semibold font-segoe text-[14px] leading-[21px]" }, children),
726
- React.createElement("div", { className: "flex items-center justify-center" }, closeable && (React.createElement("button", { className: "ml-auto text-xs outline-2 text-white absolute right-4 w-[18px] h-[18px] flex justify-center items-center ".concat(variantConfig$2[variant].focus), type: "button", onClick: function () { return onClose(false); } },
727
- React.createElement(TbX, { className: "text-[18px] ".concat(variantConfig$2[variant].hover, " ").concat(variantConfig$2[variant].active) })))))));
740
+ return (React.createElement("div", { className: "relative flex min-h-fit w-full justify-center gap-x-[15px] py-[22px] pl-[15px] pr-[48px] text-size-base font-semibold text-white ".concat(variantConfig$2[variant].bg, " ").concat(isMultiLine ? 'items-start' : 'items-center') },
741
+ React.createElement("div", { className: "font-segoe text-[14px] font-semibold leading-[21px]", ref: textRef }, children),
742
+ React.createElement("div", { className: "absolute right-[15px]", style: { display: closeable ? 'block' : 'none' } },
743
+ React.createElement("button", { className: "flex h-[18px] w-[18px] items-center justify-center text-xs text-white outline-2 ".concat(variantConfig$2[variant].focus), type: "button", onClick: function () { return onClose(false); } },
744
+ React.createElement(TbX, { className: "text-[18px] ".concat(variantConfig$2[variant].hover, " ").concat(variantConfig$2[variant].active) })))));
728
745
  }
729
746
  }
730
747
  Banner.defaultProps = {
@@ -1743,17 +1760,24 @@ function Color() {
1743
1760
  }))));
1744
1761
  }
1745
1762
 
1746
- var BORDER_COLOR = {
1747
- countdown: 'border-bia-blue',
1748
- success: 'border-bia-green',
1749
- };
1750
1763
  var Countdown = React.forwardRef(function (_a, ref) {
1751
- var seconds = _a.seconds, _b = _a.variant, variant = _b === void 0 ? 'countdown' : _b, className = _a.className, props = __rest(_a, ["seconds", "variant", "className"]);
1764
+ var seconds = _a.seconds, maxSeconds = _a.maxSeconds, _b = _a.variant, variant = _b === void 0 ? 'countdown' : _b, className = _a.className, props = __rest(_a, ["seconds", "maxSeconds", "variant", "className"]);
1752
1765
  var isCountdown = variant === 'countdown';
1753
- var borderColor = BORDER_COLOR[variant];
1754
- return (React.createElement("div", __assign({ ref: ref, role: isCountdown ? 'timer' : 'status', "aria-live": "polite", "aria-atomic": "true", className: cn('flex aspect-square w-[120px] flex-col items-center justify-center rounded-radius-full border-[3px]', borderColor, className) }, props), isCountdown ? (React.createElement(React.Fragment, null,
1755
- React.createElement(Heading, { variant: "2" }, seconds),
1756
- React.createElement(Text, { variant: "small-text", className: "font-segoe text-bia-coolgrey" }, seconds === 1 ? 'second' : 'seconds'))) : (React.createElement(TbCheck, { size: 46, className: "text-bia-green", "aria-label": "Countdown complete" }))));
1766
+ var strokeWidth = 3;
1767
+ var size = 120;
1768
+ var radius = (size - strokeWidth) / 2;
1769
+ var circumference = 2 * Math.PI * radius;
1770
+ // Calculate how much stroke to show based on time remaining
1771
+ var strokeDashoffset = circumference - (seconds / maxSeconds) * circumference;
1772
+ return (React.createElement("div", __assign({ ref: ref, role: isCountdown ? 'timer' : 'status', "aria-live": "polite", "aria-atomic": "true", className: cn('relative flex aspect-square w-[120px] flex-col items-center justify-center rounded-radius-full', className) }, props, { style: { width: size, height: size } }),
1773
+ React.createElement("svg", { className: "absolute left-0 top-0 -rotate-90 transform" // Rotates SVG so progress starts at 12 o'clock
1774
+ , width: size, height: size },
1775
+ React.createElement("circle", { className: "text-bia-blue-light-90", stroke: "currentColor", fill: "transparent", strokeWidth: strokeWidth, cx: size / 2, cy: size / 2, r: radius }),
1776
+ isCountdown && (React.createElement("circle", { className: "text-bia-blue transition-all ease-linear ".concat(seconds !== maxSeconds ? 'duration-1000' : 'duration-0'), stroke: "currentColor", fill: "transparent", strokeWidth: strokeWidth, strokeDasharray: circumference, strokeDashoffset: strokeDashoffset, strokeLinecap: "round", cx: size / 2, cy: size / 2, r: radius })),
1777
+ React.createElement("circle", { className: "origin-center scale-y-[-1] text-bia-green transition-all ease-linear ".concat(isCountdown ? 'duration-0' : 'duration-1000'), stroke: "currentColor", fill: "transparent", strokeWidth: strokeWidth, strokeDasharray: circumference, strokeDashoffset: circumference - (isCountdown ? 0 : 1 / 1) * circumference, strokeLinecap: "round", cx: size / 2, cy: size / 2, r: radius })),
1778
+ isCountdown ? (React.createElement(React.Fragment, null,
1779
+ React.createElement(Heading, { key: seconds, variant: "2", className: "animate-number-drop" }, seconds),
1780
+ React.createElement(Text, { variant: "small-text", className: "font-segoe text-bia-coolgrey" }, seconds <= 1 ? 'second' : 'seconds'))) : (React.createElement(TbCheck, { size: 46, className: "text-bia-green", "aria-label": "Countdown complete" }))));
1757
1781
  });
1758
1782
  Countdown.displayName = 'Countdown';
1759
1783
 
@@ -1954,6 +1978,8 @@ var getContextualPopupStyle = function (anchorRef, popupRef, position) {
1954
1978
  var popupRect = popupRef.current.getBoundingClientRect();
1955
1979
  var popupHeight = popupRect.height;
1956
1980
  var popupWidth = popupRect.width;
1981
+ console.log('popupHeight', popupHeight);
1982
+ console.log('anchorHeight', anchorRect.height);
1957
1983
  switch (position) {
1958
1984
  case 'top':
1959
1985
  style.top = "".concat(anchorRect.top - popupHeight + window.scrollY - 5, "px");
@@ -2237,12 +2263,12 @@ function Tooltip(props) {
2237
2263
  }, [content, maxWidth, scrollWidth, offsetHeight]);
2238
2264
  return (React.createElement("div", { className: "tooltip-wrapper relative inline-flex h-fit w-fit flex-col", onMouseEnter: showTip, onMouseLeave: hideTip, ref: anchorRef },
2239
2265
  children,
2240
- active && (React.createElement(TooltipItem, { anchorRef: anchorRef, direction: direction, content: content, tooltipContainerRef: tooltipContainerRef, tooltipContainerStyle: tooltipContainerStyle, bgColor: bgColor, textColor: textColor, zIndex: zIndex, className: className, style: style }))));
2266
+ React.createElement(TooltipItem, { anchorRef: anchorRef, direction: direction, content: content, tooltipContainerRef: tooltipContainerRef, tooltipContainerStyle: tooltipContainerStyle, bgColor: bgColor, textColor: textColor, zIndex: zIndex, className: className, style: style, active: active })));
2241
2267
  }
2242
2268
  var TooltipItem = function (_a) {
2243
- var anchorRef = _a.anchorRef, className = _a.className, content = _a.content, direction = _a.direction, style = _a.style, tooltipContainerRef = _a.tooltipContainerRef, tooltipContainerStyle = _a.tooltipContainerStyle, _b = _a.bgColor, bgColor = _b === void 0 ? 'bia-black' : _b, _c = _a.textColor, textColor = _c === void 0 ? 'bia-white' : _c, zIndex = _a.zIndex;
2269
+ var anchorRef = _a.anchorRef, className = _a.className, content = _a.content, direction = _a.direction, style = _a.style, tooltipContainerRef = _a.tooltipContainerRef, tooltipContainerStyle = _a.tooltipContainerStyle, _b = _a.bgColor, bgColor = _b === void 0 ? 'bia-black' : _b, _c = _a.textColor, textColor = _c === void 0 ? 'bia-white' : _c, zIndex = _a.zIndex, _d = _a.active, active = _d === void 0 ? false : _d;
2244
2270
  var positionStyle = usePopupPosition(anchorRef, tooltipContainerRef, direction)[0];
2245
- return createPortal(React.createElement("div", { className: "tooltip-container break-word absolute inline-block break-all rounded-[4px] bg-".concat(bgColor, " px-[7px] py-[4px] text-size-sm text-").concat(textColor, " ").concat(className), style: __assign(__assign(__assign({ zIndex: zIndex }, positionStyle), tooltipContainerStyle), style), ref: tooltipContainerRef }, content), document.body);
2271
+ return createPortal(React.createElement("div", { className: "tooltip-container break-word absolute inline-block break-all rounded-[4px] bg-".concat(bgColor, " px-[7px] py-[4px] text-size-sm text-").concat(textColor, " ").concat(className), style: __assign(__assign(__assign(__assign({ zIndex: zIndex }, positionStyle), tooltipContainerStyle), style), { visibility: active ? 'visible' : 'hidden' }), ref: tooltipContainerRef }, content), document.body);
2246
2272
  };
2247
2273
  Tooltip.defaultProps = {
2248
2274
  delay: 400,
@@ -2519,7 +2545,7 @@ var sizeUnion$3 = ['md', 'sm', 'tn'];
2519
2545
  function Checkbox(_a) {
2520
2546
  var _b = _a.disabled, disabled = _b === void 0 ? false : _b, id = _a.id, _c = _a.size, size = _c === void 0 ? 'md' : _c, label = _a.label, _d = _a.onChange, onChange = _d === void 0 ? function () { } : _d, _e = _a.isIndeterminate, isIndeterminate = _e === void 0 ? false : _e, props = __rest(_a, ["disabled", "id", "size", "label", "onChange", "isIndeterminate"]);
2521
2547
  var _f = sizeConfig$9[validUnion(size, sizeUnion$3)], checkClass = _f.checkClass, labelClass = _f.labelClass;
2522
- var isValidIndeterminate = isIndeterminate && props.checked && !disabled;
2548
+ var isValidIndeterminate = isIndeterminate && props.checked;
2523
2549
  var backgroundClass = size === 'tn' && props.checked ? 'bg-bia-blue' : 'bg-bia-white';
2524
2550
  var peerCheckedClass = size === 'tn' ? '' : 'peer-checked:border-2';
2525
2551
  return (React.createElement("div", { className: "flex items-center" },
@@ -2617,10 +2643,10 @@ DefaultDropdownItem.defaultProps = {
2617
2643
 
2618
2644
  var sizeUnion$2 = ['md', 'sm'];
2619
2645
  function SelectInput(_a) {
2620
- var descText = _a.descText, _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.size, size = _c === void 0 ? 'md' : _c, id = _a.id, _d = _a.isValid, isValid = _d === void 0 ? null : _d, label = _a.label, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.required, required = _f === void 0 ? false : _f, selected = _a.selected, setSelected = _a.setSelected, _g = _a.onClickDropdown, onClickDropdown = _g === void 0 ? function () { } : _g, children = _a.children, _h = _a.dropContProps, _j = _h === void 0 ? {} : _h, _k = _j.className, dropContClassName = _k === void 0 ? '' : _k, restDropContProps = __rest(_j, ["className"]), props = __rest(_a, ["descText", "disabled", "size", "id", "isValid", "label", "options", "required", "selected", "setSelected", "onClickDropdown", "children", "dropContProps"]);
2621
- var _l = useState(false), isOpen = _l[0], setIsOpen = _l[1];
2646
+ var descText = _a.descText, _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.size, size = _c === void 0 ? 'md' : _c, id = _a.id, _d = _a.isValid, isValid = _d === void 0 ? null : _d, label = _a.label, _e = _a.options, options = _e === void 0 ? [] : _e, _f = _a.readOnly, readOnly = _f === void 0 ? false : _f, _g = _a.required, required = _g === void 0 ? false : _g, selected = _a.selected, setSelected = _a.setSelected, _h = _a.onClickDropdown, onClickDropdown = _h === void 0 ? function () { } : _h, children = _a.children, _j = _a.dropContProps, _k = _j === void 0 ? {} : _j, _l = _k.className, dropContClassName = _l === void 0 ? '' : _l, restDropContProps = __rest(_k, ["className"]), props = __rest(_a, ["descText", "disabled", "size", "id", "isValid", "label", "options", "readOnly", "required", "selected", "setSelected", "onClickDropdown", "children", "dropContProps"]);
2647
+ var _m = useState(false), isOpen = _m[0], setIsOpen = _m[1];
2622
2648
  var validatedSize = validUnion(size, sizeUnion$2);
2623
- var _m = sizeConfig$8[validatedSize], searchSize = _m.searchSize, iconSize = _m.iconSize;
2649
+ var _o = sizeConfig$8[validatedSize], searchSize = _o.searchSize, iconSize = _o.iconSize;
2624
2650
  var inputRef = useRef(null);
2625
2651
  var isObjectOptionItem = false;
2626
2652
  if (options.every(function (item) { return typeof item === 'object' && item !== null; }))
@@ -2636,12 +2662,10 @@ function SelectInput(_a) {
2636
2662
  if (!disabled && isExistValidation && !isValid)
2637
2663
  descColor = 'text-bia-red';
2638
2664
  var disabledClass = disabled ? 'cursor-not-allowed' : '';
2639
- return (React.createElement("div", { className: "bianic-fgc-container bianic-text-input-container field-group flex w-full flex-col" },
2640
- React.createElement("label", { htmlFor: id, className: "label pb-2 text-xs font-semibold" },
2641
- childrenElement(label),
2642
- required && React.createElement("span", { className: "p-1 text-bia-red" }, "*")),
2665
+ return (React.createElement("div", { className: "bianic-fgc-container bianic-text-input-container field-group flex w-full flex-col gap-y-2" },
2666
+ label && (React.createElement(FormLabel, { htmlFor: id, required: required, readOnly: readOnly }, label)),
2643
2667
  React.createElement("div", { className: "group relative w-full ".concat(disabledClass) },
2644
- React.createElement("input", __assign({ className: "bianic-fgc-target field peer w-full cursor-pointer rounded border border-bia-grey-dark-10 bg-primary-white pe-8 focus-visible:outline-none enabled:hover:rounded-b-none enabled:hover:border-b-bia-blue enabled:focus:rounded-b-none enabled:focus:border-b-bia-blue disabled:cursor-not-allowed disabled:bg-bia-grey-light-80 disabled:text-bia-coolgrey ".concat(searchSize), onClick: function () { return setIsOpen(!isOpen); }, value: selectedLabel, readOnly: true, id: id, disabled: disabled, ref: inputRef }, props)),
2668
+ React.createElement("input", __assign({ className: "bianic-fgc-target field peer w-full cursor-pointer rounded border border-bia-grey-dark-10 bg-primary-white pe-8 focus-visible:outline-none enabled:hover:rounded-b-none enabled:hover:border-b-bia-blue enabled:focus:rounded-b-none enabled:focus:border-b-bia-blue disabled:cursor-not-allowed disabled:bg-bia-grey-light-80 disabled:text-bia-coolgrey ".concat(searchSize), onClick: function () { return setIsOpen(!isOpen); }, value: selectedLabel, readOnly: true, id: id, disabled: disabled, ref: inputRef }, props)),
2645
2669
  React.createElement("div", { className: "pointer-events-none absolute inset-y-0 flex items-center pl-3 text-bia-coolgrey peer-disabled:text-bia-coolgrey-light-50 ".concat(iconSize) }, isOpen ? React.createElement(TbChevronUp, null) : React.createElement(TbChevronDown, null)),
2646
2670
  children === undefined && isOpen && (React.createElement("div", { className: "absolute z-10 w-full rounded-b-md border border-bia-grey-dark-10 bg-primary-white shadow-lg", ref: optionsRef, onClick: onClickDropdown }, options.map(function (option) {
2647
2671
  var isSelected = JSON.stringify(option) === JSON.stringify(selected);
@@ -3097,10 +3121,19 @@ var FormGroup = function (_a) {
3097
3121
  var children = _a.children, size = _a.size;
3098
3122
  var validSize = validUnion(size, sizeUnion$1);
3099
3123
  return (React.createElement("div", { className: "bianic-form-group flex items-end" }, Children.map(children, function (child) {
3100
- return React.isValidElement(child)
3101
- ? // Kirimkan handleItemClick sebagai props onClick ke setiap MenuItem
3102
- cloneElement(child, { size: validSize })
3103
- : child;
3124
+ var _a;
3125
+ if (!React.isValidElement(child))
3126
+ return child;
3127
+ if (typeof child.type === 'string') {
3128
+ var existingClassName = (_a = child.props.className) !== null && _a !== void 0 ? _a : '';
3129
+ var mergedClassName = [existingClassName, 'bianic-fgc-container']
3130
+ .filter(Boolean)
3131
+ .join(' ');
3132
+ return cloneElement(child, {
3133
+ className: mergedClassName,
3134
+ });
3135
+ }
3136
+ return cloneElement(child, { size: validSize });
3104
3137
  })));
3105
3138
  };
3106
3139
 
@@ -4038,6 +4071,12 @@ var Port = function (_a) {
4038
4071
  React.createElement("path", { d: "M11.9998 3.81818C16.5185 3.81818 20.1814 7.48121 20.1815 11.9998C20.1815 16.5185 16.5185 20.1815 11.9998 20.1815C7.4812 20.1814 3.81818 16.5185 3.81818 11.9998C3.81827 7.48127 7.48126 3.81828 11.9998 3.81818ZM12.0008 7.09064C11.7838 7.09064 11.5751 7.17744 11.4217 7.33088C11.2684 7.48427 11.1825 7.69214 11.1824 7.909V11.1815H7.909C7.69216 11.1816 7.48421 11.2684 7.33087 11.4217C7.17755 11.5751 7.09166 11.783 7.09161 11.9998C7.09161 12.2168 7.17743 12.4255 7.33087 12.5789C7.48419 12.7321 7.69224 12.8181 7.909 12.8182H11.1824V16.0906C11.1824 16.3076 11.2683 16.5163 11.4217 16.6697C11.5751 16.8231 11.7838 16.909 12.0008 16.909C12.2176 16.9089 12.4256 16.823 12.5789 16.6697C12.7324 16.5163 12.8182 16.3076 12.8182 16.0906V12.8182H16.0916C16.3084 12.8181 16.5164 12.7321 16.6697 12.5789C16.8232 12.4255 16.909 12.2168 16.909 11.9998C16.9089 11.7829 16.8231 11.5751 16.6697 11.4217C16.5164 11.2683 16.3085 11.1816 16.0916 11.1815H12.8182V7.909C12.8182 7.69213 12.7322 7.48428 12.5789 7.33088C12.4256 7.17755 12.2176 7.09076 12.0008 7.09064Z", fill: "inherit" })));
4039
4072
  };
4040
4073
 
4074
+ var Rhombus = function (_a) {
4075
+ var className = _a.className, _b = _a.fill, fill = _b === void 0 ? 'currentColor' : _b, _c = _a.size, size = _c === void 0 ? 20 : _c;
4076
+ return (React.createElement("svg", { className: className, width: size, height: size, viewBox: "0 0 24 24", fill: fill, xmlns: "http://www.w3.org/2000/svg" },
4077
+ React.createElement("path", { d: "M11.5884 7.24696C11.8417 7.09495 12.1583 7.09495 12.4116 7.24696L18.8567 11.114C19.3745 11.4247 19.3745 12.1753 18.8567 12.486L12.4116 16.353C12.1583 16.505 11.8417 16.505 11.5884 16.353L5.14332 12.486C4.62545 12.1753 4.62545 11.4247 5.14332 11.114L11.5884 7.24696Z", fill: "inherit" })));
4078
+ };
4079
+
4041
4080
  var SelectAllAdd = function (_a) {
4042
4081
  var className = _a.className, _b = _a.fill, fill = _b === void 0 ? 'currentColor' : _b, _c = _a.size, size = _c === void 0 ? 20 : _c;
4043
4082
  return (React.createElement("svg", { className: className, width: size, height: size, viewBox: "0 0 24 24", fill: fill, xmlns: "http://www.w3.org/2000/svg" },
@@ -4065,10 +4104,13 @@ var Stack = function (_a) {
4065
4104
  React.createElement("path", { d: "M11.5884 7.24696C11.8417 7.09495 12.1583 7.09495 12.4116 7.24696L18.8567 11.114C19.3745 11.4247 19.3745 12.1753 18.8567 12.486L12.4116 16.353C12.1583 16.505 11.8417 16.505 11.5884 16.353L5.14332 12.486C4.62545 12.1753 4.62545 11.4247 5.14332 11.114L11.5884 7.24696Z", fill: "inherit" })));
4066
4105
  };
4067
4106
 
4068
- var Rhombus = function (_a) {
4107
+ var Unlinked = function (_a) {
4069
4108
  var className = _a.className, _b = _a.fill, fill = _b === void 0 ? 'currentColor' : _b, _c = _a.size, size = _c === void 0 ? 20 : _c;
4070
4109
  return (React.createElement("svg", { className: className, width: size, height: size, viewBox: "0 0 24 24", fill: fill, xmlns: "http://www.w3.org/2000/svg" },
4071
- React.createElement("path", { d: "M11.5884 7.24696C11.8417 7.09495 12.1583 7.09495 12.4116 7.24696L18.8567 11.114C19.3745 11.4247 19.3745 12.1753 18.8567 12.486L12.4116 16.353C12.1583 16.505 11.8417 16.505 11.5884 16.353L5.14332 12.486C4.62545 12.1753 4.62545 11.4247 5.14332 11.114L11.5884 7.24696Z", fill: "inherit" })));
4110
+ React.createElement("path", { d: "M21.293 16.293C21.6835 15.9025 22.3165 15.9024 22.707 16.293C23.0975 16.6835 23.0975 17.3165 22.707 17.707L20.9141 19.5L22.707 21.293C23.0975 21.6835 23.0975 22.3165 22.707 22.707C22.3165 23.0975 21.6835 23.0975 21.293 22.707L19.5 20.9141L17.707 22.707C17.3165 23.0975 16.6835 23.0975 16.293 22.707C15.9024 22.3165 15.9024 21.6835 16.293 21.293L18.0859 19.5L16.293 17.707C15.9024 17.3165 15.9024 16.6835 16.293 16.293C16.6835 15.9025 17.3165 15.9024 17.707 16.293L19.5 18.0859L21.293 16.293Z", fill: "#2F2F2F" }),
4111
+ React.createElement("path", { d: "M5.33789 10.251C5.75171 9.88533 6.38331 9.92416 6.74902 10.3379C7.11467 10.7517 7.07583 11.3833 6.66211 11.749L6.16016 12.1924C5.79549 12.5578 5.50566 12.9912 5.30664 13.4678C5.10428 13.9525 5.00006 14.4728 5 14.998C5 15.5234 5.10422 16.0445 5.30664 16.5293C5.50905 17.0139 5.80525 17.454 6.17871 17.8232C6.94016 18.5762 7.9682 18.9979 9.03906 18.998C10.0861 18.998 11.0926 18.5947 11.8486 17.873L12.1973 17.4033C12.5268 16.9601 13.1535 16.8678 13.5967 17.1973C14.0399 17.5268 14.1322 18.1535 13.8027 18.5967L13.4053 19.1309C13.3751 19.1714 13.3416 19.2096 13.3057 19.2451C12.1697 20.3683 10.6365 20.998 9.03906 20.998C7.44166 20.9979 5.90831 20.3683 4.77246 19.2451C4.21094 18.6898 3.76524 18.0285 3.46094 17.2998C3.15659 16.5709 3 15.788 3 14.998C3.00006 14.2083 3.15665 13.4261 3.46094 12.6973C3.76524 11.9685 4.21094 11.3072 4.77246 10.752C4.78565 10.7389 4.79958 10.7262 4.81348 10.7139L5.33789 10.251Z", fill: "#2F2F2F" }),
4112
+ React.createElement("path", { d: "M14.293 8.29297C14.6835 7.90244 15.3165 7.90244 15.707 8.29297C16.0976 8.68349 16.0976 9.31651 15.707 9.70703L9.70703 15.707C9.31651 16.0976 8.68349 16.0976 8.29297 15.707C7.90244 15.3165 7.90244 14.6835 8.29297 14.293L14.293 8.29297Z", fill: "#2F2F2F" }),
4113
+ React.createElement("path", { d: "M14.999 3C16.5903 3.00014 18.116 3.6325 19.2412 4.75781C20.3663 5.88307 20.999 7.40877 20.999 9C20.9989 10.5913 20.3665 12.118 19.2412 13.2432C19.2247 13.2597 19.2071 13.2757 19.1895 13.291L18.6562 13.7549C18.2394 14.1171 17.6074 14.073 17.2451 13.6562C16.8829 13.2394 16.927 12.6074 17.3438 12.2451L17.8506 11.8057C18.5863 11.0578 18.999 10.0499 18.999 9C18.999 7.93919 18.5772 6.92206 17.8271 6.17188C17.0771 5.42168 16.0599 5.00014 14.999 5C13.9496 4.99993 12.9422 5.41159 12.1943 6.14648L11.7568 6.65332C11.3959 7.07118 10.7646 7.11762 10.3467 6.75684C9.92881 6.39588 9.88237 5.76463 10.2432 5.34668L10.7061 4.81055C10.722 4.79214 10.7387 4.77404 10.7559 4.75684C11.8812 3.63164 13.4076 2.99989 14.999 3Z", fill: "#2F2F2F" })));
4072
4114
  };
4073
4115
 
4074
4116
  var VirtualPort = function (_a) {
@@ -4271,65 +4313,76 @@ Pills.defaultProps = {
4271
4313
  var classConfig = {
4272
4314
  top: {
4273
4315
  tooltipContainer: 'bottom-[calc(100%+10px)] left-1/2 -translate-x-1/2',
4274
- triangleContainer: 'left-0 -bottom-[4px] flex justify-center w-full h-auto',
4275
- triangleShape: 'border-l-[8px] border-l-transparent border-t-[5px] border-t-primary-black border-r-[8px] border-r-transparent',
4316
+ // Positioned at the bottom, pointing down: needs right and bottom borders
4317
+ triangleContainer: 'left-0 -bottom-[3px] flex justify-center w-full h-auto',
4318
+ triangleBorders: 'border-r border-b',
4276
4319
  },
4277
4320
  right: {
4278
4321
  tooltipContainer: 'left-[calc(100%+10px)] top-1/2 -translate-y-1/2',
4279
- triangleContainer: '-left-[4px] bottom-0 flex items-center w-auto h-full',
4280
- triangleShape: 'border-t-[8px] border-t-transparent border-r-[5px] border-r-primary-black border-b-[8px] border-b-transparent',
4322
+ // Positioned on the left, pointing left: needs bottom and left borders
4323
+ triangleContainer: '-left-[3px] bottom-0 flex items-center w-auto h-full',
4324
+ triangleBorders: 'border-b border-l',
4281
4325
  },
4282
4326
  bottom: {
4283
- tooltipContainer: 'top-[calc(100%+10px)] left-1/2 -translate-x-1/2',
4284
- triangleContainer: 'px-[10px] left-0 -top-[9px] flex justify-center w-full h-auto',
4285
- triangleShape: 'border-l-[8px] border-l-transparent border-b-[5px] border-b-primary-black border-r-[8px] border-r-transparent',
4327
+ tooltipContainer: 'top-[calc(100%+20px)] left-1/2 -translate-x-1/2',
4328
+ // Positioned at the top, pointing up: needs left and top borders
4329
+ triangleContainer: 'px-[10px] left-0 -top-[3px] flex justify-center w-full h-auto',
4330
+ triangleBorders: 'border-l border-t',
4286
4331
  },
4287
4332
  left: {
4288
4333
  tooltipContainer: 'right-[calc(100%+10px)] top-1/2 -translate-y-1/2',
4289
- triangleContainer: '-right-[4px] bottom-0 flex items-center w-auto h-full',
4290
- triangleShape: 'border-t-[8px] border-t-transparent border-l-[5px] border-l-primary-black border-b-[8px] border-b-transparent',
4334
+ // Positioned on the right, pointing right: needs top and right borders
4335
+ triangleContainer: '-right-[3px] bottom-0 flex items-center w-auto h-full',
4336
+ triangleBorders: 'border-t border-r',
4291
4337
  },
4292
4338
  'top-right': {
4293
4339
  tooltipContainer: 'bottom-[calc(100%+10px)] right-0',
4294
- triangleContainer: 'px-[10px] left-0 -bottom-[4px] flex justify-end w-full h-auto',
4295
- triangleShape: 'border-l-[8px] border-l-transparent border-t-[5px] border-t-primary-black border-r-[8px] border-r-transparent',
4340
+ triangleContainer: 'px-[10px] left-0 -bottom-[3px] flex justify-end w-full h-auto',
4341
+ triangleBorders: 'border-r border-b',
4296
4342
  },
4297
4343
  'top-left': {
4298
4344
  tooltipContainer: 'bottom-[calc(100%+10px)] left-0',
4299
- triangleContainer: 'px-[10px] left-0 -bottom-[4px] flex justify-start w-full h-auto',
4300
- triangleShape: 'border-l-[8px] border-l-transparent border-t-[5px] border-t-primary-black border-r-[8px] border-r-transparent',
4345
+ triangleContainer: 'px-[10px] left-0 -bottom-[3px] flex justify-start w-full h-auto',
4346
+ triangleBorders: 'border-r border-b',
4301
4347
  },
4302
4348
  'bottom-right': {
4303
4349
  tooltipContainer: 'top-[calc(100%+10px)] right-0',
4304
- triangleContainer: 'px-[10px] left-0 -top-[9px] flex justify-end w-full h-auto',
4305
- triangleShape: 'border-l-[8px] border-l-transparent border-b-[5px] border-b-primary-black border-r-[8px] border-r-transparent',
4350
+ triangleContainer: 'px-[10px] left-0 -top-[3px] flex justify-end w-full h-auto',
4351
+ triangleBorders: 'border-l border-t',
4306
4352
  },
4307
4353
  'bottom-left': {
4308
4354
  tooltipContainer: 'top-[calc(100%+10px)] left-0',
4309
- triangleContainer: 'px-[10px] left-0 -top-[9px] flex justify-start w-full h-auto',
4310
- triangleShape: 'border-l-[8px] border-l-transparent border-b-[5px] border-b-primary-black border-r-[8px] border-r-transparent',
4355
+ triangleContainer: 'px-[10px] left-0 -top-[3px] flex justify-start w-full h-auto',
4356
+ triangleBorders: 'border-l border-t',
4311
4357
  },
4312
4358
  };
4313
4359
 
4314
4360
  function Popover(_a) {
4315
- var className = _a.className, children = _a.children, content = _a.content, _b = _a.direction, direction = _b === void 0 ? 'bottom' : _b; _a.maxWidth; var _c = _a.title, title = _c === void 0 ? '' : _c, style = _a.style, zIndex = _a.zIndex;
4361
+ var className = _a.className, children = _a.children, content = _a.content, _b = _a.direction, direction = _b === void 0 ? 'bottom' : _b; _a.maxWidth; var _c = _a.title, title = _c === void 0 ? '' : _c, style = _a.style, zIndex = _a.zIndex, _d = _a.color, color = _d === void 0 ? 'black' : _d;
4316
4362
  var wrapperRef = useRef(null);
4317
- var _d = useDetectOutsideClick(wrapperRef, false), isOpen = _d[0], setIsOpen = _d[1];
4363
+ var _e = useDetectOutsideClick(wrapperRef, false), isOpen = _e[0], setIsOpen = _e[1];
4318
4364
  return (React.createElement("div", { className: "Bianic-popover-Wrapper relative block h-fit w-fit", role: "button", ref: wrapperRef, onClick: function () { return setIsOpen(true); } },
4319
4365
  children,
4320
- isOpen && (React.createElement(PopoverItem, { title: title, content: content, anchorRef: wrapperRef, direction: direction, className: className, style: style, zIndex: zIndex }))));
4366
+ isOpen && (React.createElement(PopoverItem, { title: title, content: content, anchorRef: wrapperRef, direction: direction, className: className, style: style, zIndex: zIndex, color: color }))));
4321
4367
  }
4322
4368
  var PopoverItem = function (_a) {
4323
- var title = _a.title, content = _a.content, anchorRef = _a.anchorRef, direction = _a.direction, className = _a.className, style = _a.style, zIndex = _a.zIndex;
4369
+ var title = _a.title, content = _a.content, anchorRef = _a.anchorRef, direction = _a.direction, className = _a.className, style = _a.style, zIndex = _a.zIndex, _b = _a.color, color = _b === void 0 ? 'black' : _b;
4324
4370
  var popoverRef = useRef(null);
4325
4371
  var positionStyle = usePopupPosition(anchorRef, popoverRef, direction)[0];
4326
- var _b = classConfig[direction], triangleContainer = _b.triangleContainer, triangleShape = _b.triangleShape;
4327
- return createPortal(React.createElement("div", { ref: popoverRef, style: __assign(__assign(__assign({}, positionStyle), style), { zIndex: zIndex }), className: "Bianic-popover-Tip text-bia-sm absolute z-50 w-[245px] space-y-[5px] rounded-[4px] bg-primary-black px-[20px] py-[17.5px] text-primary-white ".concat(className) },
4328
- React.createElement("div", { className: "flex flex-col" },
4372
+ var _c = classConfig[direction], triangleContainer = _c.triangleContainer, triangleBorders = _c.triangleBorders;
4373
+ var triangleThemeClasses = color === 'white'
4374
+ ? "".concat(triangleBorders, " border-bia-grey bg-primary-white")
4375
+ : 'bg-primary-black';
4376
+ var colorClass = color === 'black'
4377
+ ? 'bg-primary-black text-primary-white'
4378
+ : 'bg-primary-white border border-bia-grey text-primary-black';
4379
+ console.log('positionStyle', positionStyle);
4380
+ return createPortal(React.createElement("div", { ref: popoverRef, style: __assign(__assign(__assign({}, positionStyle), style), { zIndex: zIndex }), className: "Bianic-popover absolute z-50 w-fit" },
4381
+ React.createElement("div", { className: "text-bia-sm flex w-[245px] flex-col space-y-[5px] rounded-[4px] px-[20px] py-[17.5px] ".concat(colorClass, " ").concat(className) },
4329
4382
  React.createElement("div", { className: "mb-[5px] font-humnst777 text-[16px] font-bold leading-[19.42px]" }, title),
4330
4383
  React.createElement("div", { className: "break-words font-segoe text-[12px] font-normal" }, content)),
4331
- React.createElement("div", { className: "triangle absolute ".concat(triangleContainer) },
4332
- React.createElement("div", { className: "h-0 w-0 ".concat(triangleShape) }))), document.body);
4384
+ React.createElement("div", { className: "triangle absolute ".concat(triangleContainer, " pointer-events-none") },
4385
+ React.createElement("div", { className: "h-[7px] w-[7px] rotate-45 transform ".concat(triangleThemeClasses) }))), document.body);
4333
4386
  };
4334
4387
  Popover.defaultProps = {
4335
4388
  direction: 'top',
@@ -4556,21 +4609,20 @@ SidebarContainer.displayName = 'SidebarContainer';
4556
4609
  var SidebarMenu = function (_a) {
4557
4610
  var _b = _a.color, color = _b === void 0 ? 'margueriteblue-dark-30' : _b, children = _a.children, _c = _a.isMinimized, isMinimized = _c === void 0 ? false : _c, _d = _a.activeId, activeId = _d === void 0 ? undefined : _d, _e = _a.setActiveId, setActiveId = _e === void 0 ? function () { } : _e;
4558
4611
  var _f = useState(false), isAllExpanded = _f[0], setIsAllExpanded = _f[1];
4559
- var menuClass = "transition-sidebar-menu-menu h-[60px]";
4560
4612
  var minimizedMenuClass = isMinimized
4561
4613
  ? 'opacity-100 h-1 w-full delay-[600ms] duration-300 ease-[cubic-bezier(0.68,-0.1,0.32,2)]'
4562
- : 'opacity-0 w-0 duration-200';
4614
+ : 'opacity-0 h-1 w-full duration-500 ease-[cubic-bezier(0.32,-1,0.68,1)]';
4563
4615
  return (React.createElement("div", null,
4564
- React.createElement("div", { className: "relative flex w-full text-bia-white ".concat(menuClass) },
4616
+ React.createElement("div", { className: "relative flex h-[60px] w-full text-bia-white" },
4565
4617
  React.createElement("div", { className: "absolute left-0 top-[27.5px] px-[17px] ".concat(minimizedMenuClass) },
4566
- React.createElement("div", { className: "h-[1px] w-full bg-white" })),
4567
- React.createElement("div", { className: "absolute bottom-[11px] flex w-full justify-between pl-[78px] pr-[25px]" },
4618
+ React.createElement("div", { className: "h-[1px] w-full bg-white opacity-35" })),
4619
+ React.createElement("div", { className: cn('transition-sidebar-item absolute bottom-[11px] flex w-full justify-between pr-[25px]', isMinimized ? 'pl-[58px]' : 'pl-[78px]') },
4568
4620
  React.createElement(Text, { variant: "small-text", className: cn('truncate text-bia-white delay-[400ms]', isMinimized
4569
4621
  ? 'opacity-0 duration-300 ease-in-out'
4570
4622
  : 'opacity-75 delay-1000 duration-700 ease-in-out') }, "Menu"),
4571
4623
  React.createElement(ContextualButton, { onClick: function () { return setIsAllExpanded(function (prev) { return !prev; }); }, icon: React.createElement(TbChevronsDown, { className: cn('truncate text-bia-white delay-[400ms]', isMinimized
4572
4624
  ? 'opacity-0 duration-300 ease-in-out'
4573
- : 'opacity-100 delay-1000 duration-700 ease-in-out'), size: 18 }), className: "ml-auto opacity-50 hover:opacity-100 ".concat(isAllExpanded ? 'rotate-180' : '') }))),
4625
+ : 'opacity-100 delay-1000 duration-700 ease-in-out'), size: 18 }), className: "ml-auto opacity-50 duration-300 ease-in hover:opacity-100 ".concat(isAllExpanded ? 'rotate-180' : '') }))),
4574
4626
  Children.map(children, function (child) {
4575
4627
  return isValidElement(child)
4576
4628
  ? cloneElement(child, {
@@ -5191,10 +5243,10 @@ var EmptyTable = function (_a) {
5191
5243
 
5192
5244
  var tableSizeOption = [10, 20, 50, 100, 999];
5193
5245
  var TableFooterController = function (_a) {
5194
- var currentPage = _a.currentPage, totalPages = _a.totalPages, pageSize = _a.pageSize, setCurrentPage = _a.setCurrentPage, setPageSize = _a.setPageSize, isLoading = _a.isLoading;
5246
+ var currentPage = _a.currentPage, totalPages = _a.totalPages, pageSize = _a.pageSize, setCurrentPage = _a.setCurrentPage, setPageSize = _a.setPageSize, isLoading = _a.isLoading, _b = _a.size, size = _b === void 0 ? 'sm' : _b;
5195
5247
  // Table Button
5196
5248
  var tableSizeRef = useRef(null);
5197
- var _b = useState(false), isShownTableSizeDropdown = _b[0], setIsShownTableSizeDropdown = _b[1];
5249
+ var _c = useState(false), isShownTableSizeDropdown = _c[0], setIsShownTableSizeDropdown = _c[1];
5198
5250
  var handlePageSizeChange = function (size) {
5199
5251
  setPageSize(size);
5200
5252
  setCurrentPage(1);
@@ -5204,19 +5256,22 @@ var TableFooterController = function (_a) {
5204
5256
  var displayValue = value === 999 ? 'All' : value;
5205
5257
  return React.createElement(DropdownItem, { key: value, content: displayValue, value: value });
5206
5258
  })));
5207
- return (React.createElement("div", { className: "table-controller-footer flex w-full justify-between gap-[5px] rounded-b-radius-lg border-t border-bia-grey bg-bia-grey-light-80 px-2.5 pb-[7px] pt-2" },
5259
+ var paddingSize = size === 'md' ? 'py-2.5 pt-[9px]' : 'py-[3.5px] pt-[4.5px]';
5260
+ return (React.createElement("div", { className: "table-controller-footer flex w-full justify-between gap-[5px] rounded-b-radius-lg border-t border-bia-grey bg-bia-grey-light-80 px-2.5 ".concat(paddingSize) },
5208
5261
  React.createElement("div", { className: "action-container flex gap-[5px]" }, totalPages > 0 && (React.createElement(PaginationBar, { size: "sm", currentPage: currentPage, totalPages: totalPages, onPageChange: setCurrentPage, position: 'center' }))),
5209
5262
  React.createElement(Button, { ref: tableSizeRef, label: pageSizeDisplay, minWidth: 0, size: "sm", iconRight: React.createElement(TbChevronDown, { size: 14 }), onClick: function () { return setIsShownTableSizeDropdown(function (oldState) { return !oldState; }); }, disabled: isLoading, className: "w-fit" }),
5210
5263
  tableSizeDropdown));
5211
5264
  };
5212
5265
 
5213
5266
  var TableHeaderController = function (_a) {
5214
- var buttonActions = _a.buttonActions, totalData = _a.totalData, firstIndex = _a.firstIndex, lastIndex = _a.lastIndex;
5267
+ var _b = _a.size, size = _b === void 0 ? 'sm' : _b, buttonActions = _a.buttonActions, totalData = _a.totalData, firstIndex = _a.firstIndex, lastIndex = _a.lastIndex;
5215
5268
  var isShowHelperText = totalData || firstIndex || lastIndex;
5216
- return (React.createElement("div", { className: "table-controller-header flex w-full justify-between rounded-t-radius-lg border-b border-bia-grey bg-bia-grey-light-80 px-2.5 pb-[7px] pt-2" },
5269
+ var paddingSize = size === 'md' ? 'py-[13px] pt-[14px] ' : 'py-[7px] pt-2';
5270
+ var textSize = size === 'md' ? 'normal-text' : 'small-text';
5271
+ return (React.createElement("div", { className: "table-controller-header flex w-full justify-between rounded-t-radius-lg border-b border-bia-grey bg-bia-grey-light-80 px-2.5 ".concat(paddingSize) },
5217
5272
  React.createElement("div", { className: "action-container flex grow gap-[5px] pe-2.5" }, buttonActions && (buttonActions === null || buttonActions === void 0 ? void 0 : buttonActions.map(function (button) { return button; }))),
5218
5273
  isShowHelperText && (React.createElement("div", { className: "flex max-h-[22px] items-center font-segoe" },
5219
- React.createElement(Text, { variant: "small-text", className: "text-bia-coolgrey" },
5274
+ React.createElement(Text, { variant: textSize, className: "text-bia-coolgrey" },
5220
5275
  "View ",
5221
5276
  lastIndex === 0 ? 0 : firstIndex,
5222
5277
  " - ",
@@ -5478,4 +5533,4 @@ var useTableDataHandler = function (initialData, options) {
5478
5533
  };
5479
5534
  };
5480
5535
 
5481
- export { Accordions, Alert, Avatar, AlertRoundedSquare as BCAlertRoundedSquare, CubeHeader as BCCubeHeader, Discrepancy as BCDiscrepancy, ExposedPort as BCExposedPort, FQAnalytical as BCFQAnalytical, FQGetaway as BCFQGetaway, FQModeler as BCFQModeler, FQOperation as BCFQOperation, FQWelldone as BCFQWelldone, Flowqount as BCFlowqount, Inlet as BCInlet, Legend as BCLegend, ModalBalance as BCModalBalance, Neutral as BCNeutral, Node as BCNode, Outlet as BCOutlet, Port as BCPort, Rhombus as BCRhombus, SelectAllAdd as BCSelectAllAdd, SelectAllRemove as BCSelectAllRemove, Spinner$1 as BCSpinner, Stack as BCStack, VirtualPort as BCVirtualPort, Badge, Banner, BlockLoading, Brand, Breadcrumb, Button, ButtonApp, Card, Checkbox, Color, ContextualButton, Countdown, DatePicker, Display, Divider, DropdownContainer, DropdownItem, EmptyTable, FileTree, FormGroup, FormGroupButton, FormGroupLabel, FormLabel, Heading, InfoPanel, Link, LiveSearch, MenuContainer, MenuItem, Modal, MonospaceBadge, Notification, P, PaginationBar, PickerCalendar, Pills, Popover, ProgressBar, ProgressCircle, Radio, ResizeableDiv, SegmentButtonGroup, SegmentButtonItem, SelectInput, SidebarContainer, SidebarItem, SidebarMenu, SidebarProfile, Slider, Spinner, Tab, TabMenu, Table, TableBody, TableCell, TableFooterController, TableHead, TableHeaderController, TableRow, TableSearchInput, TagLabel, Text, TextArea, TextInput, Toaster, Toggle, Tooltip, TreeItem, StepperItem as VerticalStepper, Window, getRelativeTime, useFileTree, useTableDataHandler };
5536
+ export { Accordions, Alert, Avatar, AlertRoundedSquare as BCAlertRoundedSquare, CubeHeader as BCCubeHeader, Discrepancy as BCDiscrepancy, ExposedPort as BCExposedPort, FQAnalytical as BCFQAnalytical, FQGetaway as BCFQGetaway, FQModeler as BCFQModeler, FQOperation as BCFQOperation, FQWelldone as BCFQWelldone, Flowqount as BCFlowqount, Inlet as BCInlet, Legend as BCLegend, ModalBalance as BCModalBalance, Neutral as BCNeutral, Node as BCNode, Outlet as BCOutlet, Port as BCPort, Rhombus as BCRhombus, SelectAllAdd as BCSelectAllAdd, SelectAllRemove as BCSelectAllRemove, Spinner$1 as BCSpinner, Stack as BCStack, Unlinked as BCUnlinked, VirtualPort as BCVirtualPort, Badge, Banner, BlockLoading, Brand, Breadcrumb, Button, ButtonApp, Card, Checkbox, Color, ContextualButton, Countdown, DatePicker, Display, Divider, DropdownContainer, DropdownItem, EmptyTable, FileTree, FormGroup, FormGroupButton, FormGroupLabel, FormLabel, Heading, InfoPanel, Link, LiveSearch, MenuContainer, MenuItem, Modal, MonospaceBadge, Notification, P, PaginationBar, PickerCalendar, Pills, Popover, ProgressBar, ProgressCircle, Radio, ResizeableDiv, SegmentButtonGroup, SegmentButtonItem, SelectInput, SidebarContainer, SidebarItem, SidebarMenu, SidebarProfile, Slider, Spinner, Tab, TabMenu, Table, TableBody, TableCell, TableFooterController, TableHead, TableHeaderController, TableRow, TableSearchInput, TagLabel, Text, TextArea, TextInput, Toaster, Toggle, Tooltip, TreeItem, StepperItem as VerticalStepper, Window, getRelativeTime, useFileTree, useTableDataHandler };