fis-component 0.1.8 → 0.1.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.
@@ -1,3 +1,3 @@
1
- import { SelectProps } from "./types";
2
- declare const FISSelect: import("react").ForwardRefExoticComponent<SelectProps<string | number> & import("react").RefAttributes<HTMLInputElement>>;
1
+ import { FISSelectRef, SelectProps } from "./types";
2
+ declare const FISSelect: import("react").ForwardRefExoticComponent<SelectProps<string | number> & import("react").RefAttributes<FISSelectRef>>;
3
3
  export default FISSelect;
@@ -43,4 +43,8 @@ export type MultiSelectProps<T extends string | number> = BaseSelectProps<T> & {
43
43
  displayValue?: (items: SelectOptionItem<T>[]) => string;
44
44
  };
45
45
  export type SelectProps<T extends string | number> = SingleSelectProps<T> | MultiSelectProps<T>;
46
+ export interface FISSelectRef {
47
+ focus: () => void;
48
+ openDropdown: () => void;
49
+ }
46
50
  export {};
@@ -1,5 +1,5 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import FISSwitch from '.';
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import FISSwitch from ".";
3
3
  declare const meta: Meta<typeof FISSwitch>;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof FISSwitch>;
@@ -46,6 +46,10 @@ interface SwitchProps {
46
46
  * - Used to update the `isOn` state.
47
47
  */
48
48
  onToggle: () => void;
49
+ textLabel?: string;
50
+ required?: boolean;
51
+ iconLabel?: React.ReactNode;
52
+ onClickIconLabel?: () => void;
49
53
  }
50
54
  declare const FISSwitch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLDivElement>>;
51
55
  export default FISSwitch;
@@ -13,6 +13,7 @@ export declare const DivSwitchKnobSC: import("styled-components/dist/types").ISt
13
13
  $isOn: boolean;
14
14
  $size: SwitchSize;
15
15
  }>> & string;
16
+ export declare const DivWrapperSC: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
16
17
  export declare const DivSwitchContainerSC: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
17
18
  $size: SwitchSize;
18
19
  $isOn: boolean;
@@ -1,4 +1,5 @@
1
1
  import { DetailedHTMLProps, HTMLAttributes, ReactElement } from "react";
2
+ import { TooltipPlacement } from "antd/es/tooltip";
2
3
  interface ColumnCellProps extends Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref" | "content"> {
3
4
  className?: string;
4
5
  textAlign?: string;
@@ -9,6 +10,9 @@ interface ColumnCellProps extends Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivE
9
10
  icon?: ReactElement;
10
11
  disabled?: boolean;
11
12
  hasBorder?: boolean;
13
+ tooltip?: boolean;
14
+ placement?: TooltipPlacement;
15
+ variantTooltip?: "primary" | "secondary";
12
16
  }
13
17
  declare const FISTableCell: import("react").ForwardRefExoticComponent<ColumnCellProps & import("react").RefAttributes<HTMLLabelElement>>;
14
18
  export default FISTableCell;
@@ -9,6 +9,7 @@ interface HeaderCellProps extends Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivE
9
9
  hasRightDivider?: boolean;
10
10
  hasTruncateLabel?: boolean;
11
11
  onlyIcon?: boolean;
12
+ required?: boolean;
12
13
  }
13
14
  declare const FISTableHeaderCell: import("react").ForwardRefExoticComponent<HeaderCellProps & import("react").RefAttributes<HTMLLabelElement>>;
14
15
  export default FISTableHeaderCell;
@@ -16,7 +16,7 @@ interface TooltipProps extends Omit<TooltipPropsAntd, "variant" | "title"> {
16
16
  /** Additional class names to apply to the tooltip*/
17
17
  className?: string | undefined;
18
18
  /** The color of the tooltip */
19
- variant: TooltipColor;
19
+ variant?: TooltipColor;
20
20
  /** The tooltip title, which can be a custom object or a React node */
21
21
  title: TooltipTitleCustom | React.ReactNode;
22
22
  /** The size of the tooltip (optional) */
package/dist/esm/index.js CHANGED
@@ -61873,6 +61873,11 @@ function SeparatorIcon(props) {
61873
61873
  return (jsx("svg", { width: width, height: height, viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest, children: jsx("path", { d: "M3.5 11L8.5 1", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round" }) }));
61874
61874
  }
61875
61875
 
61876
+ function HomeIcon(props) {
61877
+ const { width = 16, height = 16, ...rest } = props;
61878
+ return (jsx("svg", { width: width, height: height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest, children: jsx("path", { d: "M5.33333 11.3333H10.6667M7.34513 1.84267L2.82359 5.35942C2.52135 5.5945 2.37022 5.71204 2.26135 5.85925C2.16491 5.98964 2.09307 6.13653 2.04935 6.29271C2 6.46902 2 6.66047 2 7.04338V11.8667C2 12.6134 2 12.9868 2.14532 13.272C2.27316 13.5229 2.47713 13.7268 2.72801 13.8547C3.01323 14 3.3866 14 4.13333 14H11.8667C12.6134 14 12.9868 14 13.272 13.8547C13.5229 13.7268 13.7268 13.5229 13.8547 13.272C14 12.9868 14 12.6134 14 11.8667V7.04338C14 6.66047 14 6.46902 13.9506 6.29271C13.9069 6.13653 13.8351 5.98964 13.7386 5.85925C13.6298 5.71204 13.4787 5.5945 13.1764 5.35942L8.65487 1.84267C8.42065 1.6605 8.30354 1.56942 8.17423 1.53441C8.06013 1.50351 7.93987 1.50351 7.82577 1.53441C7.69646 1.56942 7.57935 1.6605 7.34513 1.84267Z", stroke: "currentColor", "stroke-linecap": "round", "stroke-linejoin": "round" }) }));
61879
+ }
61880
+
61876
61881
  function CloseIcon(props) {
61877
61882
  const { width = 16, height = 16, ...rest } = props;
61878
61883
  return (jsx("svg", { width: width, height: height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest, children: jsx("path", { d: "M12.6671 3.33325L3.33374 12.6666M3.33374 3.33325L12.6671 12.6666", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }));
@@ -63122,6 +63127,12 @@ const DivSwitchKnobSC = styled.div `
63122
63127
  left: ${getTheme("com/switch/item/size-md/left-padding")};
63123
63128
  `}
63124
63129
  `;
63130
+ const DivWrapperSC$6 = styled.div `
63131
+ display: flex;
63132
+ flex-direction: column;
63133
+ gap: ${getTheme("com/input/vertical-gap")};
63134
+ width: fit-content;
63135
+ `;
63125
63136
  const DivSwitchContainerSC = styled.div `
63126
63137
  display: flex;
63127
63138
  align-items: flex-start;
@@ -63189,9 +63200,29 @@ const DivSwitchContainerSC = styled.div `
63189
63200
  `}
63190
63201
  `;
63191
63202
 
63192
- const FISSwitch = forwardRef(({ isOn, disabled = false, size = "md", label, subLabel, onToggle, ...props }, ref) => {
63203
+ const DivLabelSC = styled.div `
63204
+ width: 100%;
63205
+ display: flex;
63206
+ align-items: center;
63207
+ `;
63208
+ const LabelTextSC = styled.label `
63209
+ ${getTheme("Label/Sm")}
63210
+ color: ${getTheme("com/input/label/label/color-text")};
63211
+ `;
63212
+ const SpanRequiredSC = styled.span `
63213
+ ${getTheme("Label/Sm")}
63214
+ color: ${getTheme("com/input/label/required-mark/color-text")};
63215
+ `;
63216
+
63217
+ const FISInputLabel = (props) => {
63218
+ const { textLabel, required, iconLabel, onClickIconLabel } = props;
63219
+ return (jsxs(DivLabelSC, { children: [jsxs(LabelTextSC, { children: [textLabel, required && jsx(SpanRequiredSC, { children: "\u00A0*" })] }), iconLabel && (jsx(FISIconButton, { size: "xs", variant: "tertiary-invisible", icon: iconLabel, onClick: onClickIconLabel }))] }));
63220
+ };
63221
+ FISInputLabel.displayName = "FISInputLabel";
63222
+
63223
+ const FISSwitch = forwardRef(({ isOn, disabled = false, size = "md", label, subLabel, onToggle, textLabel = "", required, iconLabel, onClickIconLabel, ...props }, ref) => {
63193
63224
  const labelContent = label || subLabel ? (jsxs(DivSwitchLabelContainerSC, { children: [label && jsx(SpanLabelSC$2, { "$size": size, children: label }), subLabel && jsx(SpanSubLabelSC$1, { "$size": size, children: subLabel })] })) : null;
63194
- return (jsxs(DivSwitchContainerSC, { ref: ref, "$size": size, "$isOn": isOn, "$disabled": disabled, onClick: () => !disabled && onToggle(), ...props, children: [jsx(DivSwitchTrackSC, { "$isOn": isOn, children: jsx(DivSwitchKnobSC, { "$isOn": isOn, "$size": size }) }), labelContent] }));
63225
+ return (jsxs(DivWrapperSC$6, { ...props, onClick: () => !disabled && onToggle(), children: [(textLabel || iconLabel) && (jsx(FISInputLabel, { textLabel: textLabel, required: required, iconLabel: iconLabel, onClickIconLabel: onClickIconLabel })), jsxs(DivSwitchContainerSC, { ref: ref, "$size": size, "$isOn": isOn, "$disabled": disabled, children: [jsx(DivSwitchTrackSC, { "$isOn": isOn, children: jsx(DivSwitchKnobSC, { "$isOn": isOn, "$size": size }) }), labelContent] })] }));
63195
63226
  });
63196
63227
  // Add display name for better debugging experience
63197
63228
  FISSwitch.displayName = "FISSwitch";
@@ -64210,7 +64241,7 @@ const BreadcrumbEllipsis = () => (jsxs(Fragment, { children: [jsx(DivIconDotSC,
64210
64241
  const FISBreadcrumb = ({ items, className }) => {
64211
64242
  if (items.length === 0)
64212
64243
  return null;
64213
- return (jsxs(DivContainerSC$9, { className: className, children: [items?.[0]?.icon && (jsxs(Fragment, { children: [jsx(FISIconButton, { size: "xs", icon: items?.[0]?.icon, variant: "tertiary-invisible", onClick: items[0].onClick }), jsx(DivSeparatorIconSC$1, { children: jsx(SeparatorIcon, {}) })] })), items.length > MAX_VISIBLE_ITEMS ? (jsxs(Fragment, { children: [items.slice(1, 2).map((item, index) => (jsxs(React__default.Fragment, { children: [jsx(BreadcrumbItem, { ...item }), jsx(DivSeparatorIconSC$1, { children: jsx(SeparatorIcon, {}) })] }, index))), jsx(BreadcrumbEllipsis, {}), items.slice(-2).map((item, index) => (jsxs(React__default.Fragment, { children: [jsx(BreadcrumbItem, { ...item }), jsx(DivSeparatorIconSC$1, { children: jsx(SeparatorIcon, {}) })] }, `end-${index}`)))] })) : (jsx(Fragment, { children: items.slice(1).map((item, index) => (jsxs(React__default.Fragment, { children: [jsx(BreadcrumbItem, { ...item }), jsx(DivSeparatorIconSC$1, { children: jsx(SeparatorIcon, {}) })] }, index))) }))] }));
64244
+ return (jsxs(DivContainerSC$9, { className: className, children: [jsxs(Fragment, { children: [jsx(FISIconButton, { size: "xs", icon: items?.[0]?.icon ?? jsx(HomeIcon, {}), variant: "tertiary-invisible", onClick: items[0].onClick }), jsx(DivSeparatorIconSC$1, { children: jsx(SeparatorIcon, {}) })] }), items.length > MAX_VISIBLE_ITEMS ? (jsxs(Fragment, { children: [items.slice(1, 2).map((item, index) => (jsxs(React__default.Fragment, { children: [jsx(BreadcrumbItem, { ...item }), jsx(DivSeparatorIconSC$1, { children: jsx(SeparatorIcon, {}) })] }, index))), jsx(BreadcrumbEllipsis, {}), items.slice(-2).map((item, index) => (jsxs(React__default.Fragment, { children: [jsx(BreadcrumbItem, { ...item }), jsx(DivSeparatorIconSC$1, { children: jsx(SeparatorIcon, {}) })] }, `end-${index}`)))] })) : (jsx(Fragment, { children: items.slice(1).map((item, index) => (jsxs(React__default.Fragment, { children: [jsx(BreadcrumbItem, { ...item }), jsx(DivSeparatorIconSC$1, { children: jsx(SeparatorIcon, {}) })] }, index))) }))] }));
64214
64245
  };
64215
64246
  FISBreadcrumb.displayName = "FISBreadcrumb";
64216
64247
 
@@ -65285,26 +65316,6 @@ const SpanHintSC$3 = styled.span `
65285
65316
  }
65286
65317
  `;
65287
65318
 
65288
- const DivLabelSC = styled.div `
65289
- width: 100%;
65290
- display: flex;
65291
- align-items: center;
65292
- `;
65293
- const LabelTextSC = styled.label `
65294
- ${getTheme("Label/Sm")}
65295
- color: ${getTheme("com/input/label/label/color-text")};
65296
- `;
65297
- const SpanRequiredSC = styled.span `
65298
- ${getTheme("Label/Sm")}
65299
- color: ${getTheme("com/input/label/required-mark/color-text")};
65300
- `;
65301
-
65302
- const FISInputLabel = (props) => {
65303
- const { textLabel, required, iconLabel, onClickIconLabel } = props;
65304
- return (jsxs(DivLabelSC, { children: [jsxs(LabelTextSC, { children: [textLabel, required && jsx(SpanRequiredSC, { children: "\u00A0*" })] }), iconLabel && (jsx(FISIconButton, { size: "xs", variant: "tertiary-invisible", icon: iconLabel, onClick: onClickIconLabel }))] }));
65305
- };
65306
- FISInputLabel.displayName = "FISInputLabel";
65307
-
65308
65319
  /**
65309
65320
  * A utility function to merge multiple React refs into a single callback function.
65310
65321
  * This function accepts any number of refs as arguments and returns a callback function.
@@ -66493,13 +66504,13 @@ const FISInputArea = forwardRef((props, ref) => {
66493
66504
  "input-area-icon": iconSuffix,
66494
66505
  }) }), iconSuffix && (jsx(DivIconSC$1, { className: classNames({
66495
66506
  "input-area-lg": size === "lg",
66496
- }), children: jsx(FISIconButton, { variant: "tertiary-invisible", size: "sm", icon: iconSuffix, onClick: onClickIconSuffix }) })), jsx(DivResizeSC, { id: "resizeHandle", onMouseDown: handleResize, children: jsx(ResizeIcon, {}) })] }), jsxs(DivBottomSC, { children: [jsx(SpanHintSC$2, { className: classNames({
66507
+ }), children: jsx(FISIconButton, { variant: "tertiary-invisible", size: "sm", icon: iconSuffix, onClick: onClickIconSuffix }) })), jsx(DivResizeSC, { id: "resizeHandle", onMouseDown: handleResize, children: jsx(ResizeIcon, {}) })] }), (!!message || (showCount && maxLength > 0)) && (jsxs(DivBottomSC, { children: [jsx(SpanHintSC$2, { className: classNames({
66497
66508
  disabled,
66498
66509
  negative,
66499
66510
  positive,
66500
66511
  }), children: message ? message : "" }), jsx(DivCountSC, { children: showCount && maxLength > 0 && (jsxs("span", { className: classNames("text-area__count", {
66501
66512
  negative: getCurrentValue()?.length > maxLength,
66502
- }), children: [getCurrentValue()?.length, "/", maxLength] })) })] })] }));
66513
+ }), children: [getCurrentValue()?.length, "/", maxLength] })) })] }))] }));
66503
66514
  });
66504
66515
  FISInputArea.displayName = "FISInputArea";
66505
66516
 
@@ -72554,28 +72565,36 @@ const DivHeaderCellContainerSC = styled.div `
72554
72565
  justify-content: ${(props) => props.$textAlign === "right" ? "flex-end" : "space-between"};
72555
72566
  width: 100%;
72556
72567
  gap: ${getTheme("com/table/title-cell/default/label/vertical-gap")};
72568
+ .label-container {
72569
+ display: flex;
72570
+ gap: 4px;
72557
72571
 
72558
- .label {
72559
- ${getTheme("Label/XS")};
72560
- width: 100%;
72561
- display: inline-block;
72562
- ${(props) => (props.$textAlign === "right" ? "text-align: end" : "")};
72563
- color: ${(props) => getTheme(`com/table/title-cell/${props?.$disabled ? "disable" : "default"}/label/color-text`)};
72572
+ .label {
72573
+ ${getTheme("Label/XS")};
72574
+ width: 100%;
72575
+ display: inline-block;
72576
+ ${(props) => (props.$textAlign === "right" ? "text-align: end" : "")};
72577
+ color: ${(props) => getTheme(`com/table/title-cell/${props?.$disabled ? "disable" : "default"}/label/color-text`)};
72564
72578
 
72565
- ${(props) => {
72579
+ ${(props) => {
72566
72580
  if (props.$hasTruncateLabel) {
72567
72581
  return css `
72568
- white-space: nowrap;
72569
- overflow: hidden;
72570
- text-overflow: ellipsis;
72571
- `;
72582
+ white-space: nowrap;
72583
+ overflow: hidden;
72584
+ text-overflow: ellipsis;
72585
+ `;
72572
72586
  }
72573
72587
  else {
72574
72588
  return css `
72575
- white-space: pre-wrap;
72576
- `;
72589
+ white-space: pre-wrap;
72590
+ `;
72577
72591
  }
72578
72592
  }};
72593
+ }
72594
+ .required-asterisk {
72595
+ ${getTheme("Label/XS")};
72596
+ color: #D92D20;
72597
+ }
72579
72598
  }
72580
72599
 
72581
72600
  .right-component-father {
@@ -72609,8 +72628,8 @@ const DivHeaderCellContainerSC = styled.div `
72609
72628
  }
72610
72629
  `;
72611
72630
 
72612
- const FISTableHeaderCell = forwardRef(({ className, label, description, rightComponent, disabled, hasRightDivider = true, hasTruncateLabel = false, onlyIcon = false, textAlign = "left", ...rest }, ref) => {
72613
- return (jsx(DivHeaderCellContainerSC, { ref: ref, className: classNames("header-cell-container", className), "$textAlign": textAlign, "$disabled": disabled, "$hasTruncateLabel": hasTruncateLabel, "$hasRightDivider": hasRightDivider, "$onlyIcon": onlyIcon, ...rest, children: jsxs("div", { className: "header-cell-content", children: [jsxs("div", { className: "cell-content title", children: [label && jsx("div", { className: "label", children: label }), rightComponent && (jsx("div", { className: "right-component-father", children: rightComponent }))] }), description && (jsx("div", { className: "cell-content", children: jsx("div", { className: "description", children: description }) }))] }) }));
72631
+ const FISTableHeaderCell = forwardRef(({ className, label, description, rightComponent, disabled, hasRightDivider = true, hasTruncateLabel = false, onlyIcon = false, textAlign = "left", required, ...rest }, ref) => {
72632
+ return (jsx(DivHeaderCellContainerSC, { ref: ref, className: classNames("header-cell-container", className), "$textAlign": textAlign, "$disabled": disabled, "$hasTruncateLabel": hasTruncateLabel, "$hasRightDivider": hasRightDivider, "$onlyIcon": onlyIcon, ...rest, children: jsxs("div", { className: "header-cell-content", children: [jsxs("div", { className: "cell-content title", children: [label && (jsxs("div", { className: "label-container", children: [jsx("div", { className: "label", children: label }), required && jsx("div", { className: "required-asterisk", children: "*" })] })), rightComponent && (jsx("div", { className: "right-component-father", children: rightComponent }))] }), description && (jsx("div", { className: "cell-content", children: jsx("div", { className: "description", children: description }) }))] }) }));
72614
72633
  });
72615
72634
  FISTableHeaderCell.displayName = "FISTableHeaderCell";
72616
72635
 
@@ -72910,8 +72929,8 @@ const DivIconSC = styled.div `
72910
72929
  }}
72911
72930
  `;
72912
72931
 
72913
- const FISTableCell = forwardRef(({ className, textAlign, variant = COLUMN_VARIANT.PRIMARY, content, description, icon, disabled, hasBorder, onChange, contentWrapText = false, ...rest }, ref) => {
72914
- return (jsx(DivColumnCellContainerSC, { "$hasBorder": hasBorder, "$disabled": disabled, "$variant": variant, "$textAlign": textAlign, "$contentWrapText": contentWrapText, "$hasContent": content ? "true" : undefined, "$hasDescription": description, ref: ref, className: classNames("column-cell-container", className), ...rest, children: textAlign === COLUMN_TEXT_ALIGN.SINGLE_LINE ? (jsxs("div", { className: "single-line-content", children: [icon && (jsx("div", { className: "icon-box", children: jsx(DivIconSC, { "$textAlign": textAlign, "$variant": variant, "$disabled": disabled, "$hasContent": content ? "true" : undefined, "$hasDescription": description, children: icon }) })), (content || description) && (jsxs("div", { className: "content-box", children: [content && jsx("div", { className: "content", children: content }), description && (jsx("div", { className: "description", children: description }))] }))] })) : (jsxs("div", { className: "left-right-content", children: [(icon || content) && (jsxs("div", { className: "content-box", children: [icon && (jsx(DivIconSC, { "$textAlign": textAlign, "$variant": variant, "$disabled": disabled, "$hasContent": content ? "true" : undefined, "$hasDescription": description, children: icon })), content && jsx("div", { className: "content", children: content })] })), description && jsx("div", { className: "description", children: description })] })) }));
72932
+ const FISTableCell = forwardRef(({ className, textAlign, variant = COLUMN_VARIANT.PRIMARY, content, description, icon, disabled, hasBorder, onChange, contentWrapText = false, tooltip = false, placement = "top", variantTooltip = "primary", ...rest }, ref) => {
72933
+ return (jsx(FISTooltip, { variant: variantTooltip, placement: placement, title: tooltip ? content || "" : undefined, children: jsx(DivColumnCellContainerSC, { "$hasBorder": hasBorder, "$disabled": disabled, "$variant": variant, "$textAlign": textAlign, "$contentWrapText": contentWrapText, "$hasContent": content ? "true" : undefined, "$hasDescription": description, ref: ref, className: classNames("column-cell-container", className), ...rest, children: textAlign === COLUMN_TEXT_ALIGN.SINGLE_LINE ? (jsxs("div", { className: "single-line-content", children: [icon && (jsx("div", { className: "icon-box", children: jsx(DivIconSC, { "$textAlign": textAlign, "$variant": variant, "$disabled": disabled, "$hasContent": content ? "true" : undefined, "$hasDescription": description, children: icon }) })), (content || description) && (jsxs("div", { className: "content-box", children: [content && jsx("div", { className: "content", children: content }), description && (jsx("div", { className: "description", children: description }))] }))] })) : (jsxs("div", { className: "left-right-content", children: [(icon || content) && (jsxs("div", { className: "content-box", children: [icon && (jsx(DivIconSC, { "$textAlign": textAlign, "$variant": variant, "$disabled": disabled, "$hasContent": content ? "true" : undefined, "$hasDescription": description, children: icon })), content && jsx("div", { className: "content", children: content })] })), description && jsx("div", { className: "description", children: description })] })) }) }));
72915
72934
  });
72916
72935
  FISTableCell.displayName = "FISTableCell";
72917
72936
 
@@ -74324,48 +74343,6 @@ const FISSplitButton = forwardRef((props, ref) => {
74324
74343
  });
74325
74344
  FISSplitButton.displayName = "FISSplitButton";
74326
74345
 
74327
- const DivWrapperSC$1 = styled.div `
74328
- width: 100%;
74329
- display: flex;
74330
- flex-direction: column;
74331
- gap: ${getTheme("com/input/vertical-gap")};
74332
- `;
74333
- const preventSelection = css `
74334
- user-select: none !important;
74335
- -webkit-user-select: none !important;
74336
- -moz-user-select: none !important;
74337
- -ms-user-select: none !important;
74338
- cursor: pointer !important;
74339
- `;
74340
- const DivInputWrapperSC = styled.div `
74341
- position: relative;
74342
- display: inline-block;
74343
- width: 100%;
74344
-
74345
- ${(props) => props.$hasValue &&
74346
- css `
74347
- ${preventSelection}
74348
-
74349
- input {
74350
- ${preventSelection}
74351
- pointer-events: none;
74352
- }
74353
- `}
74354
- `;
74355
- const DivDropdownMenuSC = styled.div `
74356
- margin-top: ${getTheme("com/select/vertical-gap")};
74357
- `;
74358
- const SelectedTagsWrapper = styled.div `
74359
- display: flex;
74360
- flex-wrap: wrap;
74361
- gap: ${getTheme("com/combo-box/selected-data/horizontal-gap")};
74362
- width: 100%;
74363
- max-height: calc(
74364
- 2 * ${getTheme("com/chips-button/size-xs/height")} +
74365
- ${getTheme("com/combo-box/selected-data/horizontal-gap")}
74366
- );
74367
- `;
74368
-
74369
74346
  const InputSC = styled.input `
74370
74347
  width: 100%;
74371
74348
  cursor: pointer;
@@ -74443,7 +74420,7 @@ const InputSC = styled.input `
74443
74420
  }
74444
74421
  }
74445
74422
  `;
74446
- const DivWrapperSC = styled.div `
74423
+ const DivWrapperSC$1 = styled.div `
74447
74424
  width: 100%;
74448
74425
  display: flex;
74449
74426
  align-items: center;
@@ -74647,10 +74624,52 @@ const FISSelectItem = forwardRef((props, ref) => {
74647
74624
  iconPrefix: iconPrefix,
74648
74625
  negative: negative,
74649
74626
  activeDropdown: activeDropdown,
74650
- }), "$size": size, "$activeDropdown": activeDropdown, children: jsxs(DivWrapperSC, { children: [iconPrefix && (jsx(DivIconPrefixSC, { "$size": size, children: iconPrefix })), jsx(InputSC, { ...rest, ref: ref, disabled: disabled, "$size": size, autoComplete: "off" }), iconSuffix && (jsx(DivIconSuffixSC, { "$size": size, "$disabled": disabled, children: iconSuffix }))] }) }));
74627
+ }), "$size": size, "$activeDropdown": activeDropdown, children: jsxs(DivWrapperSC$1, { children: [iconPrefix && (jsx(DivIconPrefixSC, { "$size": size, children: iconPrefix })), jsx(InputSC, { ...rest, ref: ref, disabled: disabled, "$size": size, autoComplete: "off" }), iconSuffix && (jsx(DivIconSuffixSC, { "$size": size, "$disabled": disabled, children: iconSuffix }))] }) }));
74651
74628
  });
74652
74629
  FISSelectItem.displayName = "FISSelectItem";
74653
74630
 
74631
+ const DivWrapperSC = styled.div `
74632
+ width: 100%;
74633
+ display: flex;
74634
+ flex-direction: column;
74635
+ gap: ${getTheme("com/input/vertical-gap")};
74636
+ `;
74637
+ const preventSelection = css `
74638
+ user-select: none !important;
74639
+ -webkit-user-select: none !important;
74640
+ -moz-user-select: none !important;
74641
+ -ms-user-select: none !important;
74642
+ cursor: pointer !important;
74643
+ `;
74644
+ const DivInputWrapperSC = styled.div `
74645
+ position: relative;
74646
+ display: inline-block;
74647
+ width: 100%;
74648
+
74649
+ ${(props) => props.$hasValue &&
74650
+ css `
74651
+ ${preventSelection}
74652
+
74653
+ input {
74654
+ ${preventSelection}
74655
+ pointer-events: none;
74656
+ }
74657
+ `}
74658
+ `;
74659
+ const DivDropdownMenuSC = styled.div `
74660
+ margin-top: ${getTheme("com/select/vertical-gap")};
74661
+ `;
74662
+ const SelectedTagsWrapper = styled.div `
74663
+ display: flex;
74664
+ flex-wrap: wrap;
74665
+ gap: ${getTheme("com/combo-box/selected-data/horizontal-gap")};
74666
+ width: 100%;
74667
+ max-height: calc(
74668
+ 2 * ${getTheme("com/chips-button/size-xs/height")} +
74669
+ ${getTheme("com/combo-box/selected-data/horizontal-gap")}
74670
+ );
74671
+ `;
74672
+
74654
74673
  function isMenuSize(value) {
74655
74674
  return value === "sm" || value === "md";
74656
74675
  }
@@ -74664,7 +74683,9 @@ const FISSelect = forwardRef(({ className, style, size = "md", options, value, d
74664
74683
  const inputRef = useRef(null);
74665
74684
  // Expose focus and openDropdown methods via ref
74666
74685
  useImperativeHandle(ref, () => ({
74667
- ...inputRef.current,
74686
+ focus: () => {
74687
+ inputRef.current?.focus();
74688
+ },
74668
74689
  openDropdown: () => {
74669
74690
  if (!disabled && !isOpen) {
74670
74691
  setIsOpen(true);
@@ -74845,7 +74866,7 @@ const FISSelect = forwardRef(({ className, style, size = "md", options, value, d
74845
74866
  }
74846
74867
  return selectInput;
74847
74868
  };
74848
- return (jsxs(DivWrapperSC$1, { className: className, style: style, children: [(textLabel || iconLabel) && (jsx(FISInputLabel, { textLabel: textLabel, required: required, iconLabel: iconLabel, onClickIconLabel: onClickIconLabel })), renderSelectInput(), message && (jsx(SpanHintSC$3, { className: classNames({ disabled, negative, positive }), children: message })), multi && !hideChip && Array.isArray(value) && value.length > 0 && (jsx(SelectedTagsWrapper, { children: jsx(MultipleValue, { options: selectedItems, onRemove: handleOptionRemove }) })), isOpen && (jsx(Portal, { portal: portal, children: jsx(DivDropdownMenuSC, { ref: setPopperElement, style: {
74869
+ return (jsxs(DivWrapperSC, { className: className, style: style, children: [(textLabel || iconLabel) && (jsx(FISInputLabel, { textLabel: textLabel, required: required, iconLabel: iconLabel, onClickIconLabel: onClickIconLabel })), renderSelectInput(), message && (jsx(SpanHintSC$3, { className: classNames({ disabled, negative, positive }), children: message })), multi && !hideChip && Array.isArray(value) && value.length > 0 && (jsx(SelectedTagsWrapper, { children: jsx(MultipleValue, { options: selectedItems, onRemove: handleOptionRemove }) })), isOpen && (jsx(Portal, { portal: portal, children: jsx(DivDropdownMenuSC, { ref: setPopperElement, style: {
74849
74870
  ...styles.popper,
74850
74871
  width: referenceElement?.offsetWidth,
74851
74872
  zIndex: 9999,