fis-component 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +103 -87
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/src/components/Select/index.d.ts +2 -2
- package/dist/cjs/types/src/components/Select/types.d.ts +4 -0
- package/dist/cjs/types/src/components/Switch/Switch.stories.d.ts +2 -2
- package/dist/cjs/types/src/components/Switch/index.d.ts +4 -0
- package/dist/cjs/types/src/components/Switch/styles.d.ts +1 -0
- package/dist/cjs/types/src/components/Table/ColumnCell/index.d.ts +4 -0
- package/dist/cjs/types/src/components/Table/HeaderCell/index.d.ts +1 -0
- package/dist/cjs/types/src/components/Tooltip/index.d.ts +1 -1
- package/dist/esm/index.js +103 -87
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/src/components/Select/index.d.ts +2 -2
- package/dist/esm/types/src/components/Select/types.d.ts +4 -0
- package/dist/esm/types/src/components/Switch/Switch.stories.d.ts +2 -2
- package/dist/esm/types/src/components/Switch/index.d.ts +4 -0
- package/dist/esm/types/src/components/Switch/styles.d.ts +1 -0
- package/dist/esm/types/src/components/Table/ColumnCell/index.d.ts +4 -0
- package/dist/esm/types/src/components/Table/HeaderCell/index.d.ts +1 -0
- package/dist/esm/types/src/components/Tooltip/index.d.ts +1 -1
- package/dist/index.d.ts +15 -2
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { SelectProps } from "./types";
|
|
2
|
-
declare const FISSelect: import("react").ForwardRefExoticComponent<SelectProps<string | number> & import("react").RefAttributes<
|
|
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
|
|
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
|
|
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
|
@@ -63122,6 +63122,12 @@ const DivSwitchKnobSC = styled.div `
|
|
|
63122
63122
|
left: ${getTheme("com/switch/item/size-md/left-padding")};
|
|
63123
63123
|
`}
|
|
63124
63124
|
`;
|
|
63125
|
+
const DivWrapperSC$6 = styled.div `
|
|
63126
|
+
display: flex;
|
|
63127
|
+
flex-direction: column;
|
|
63128
|
+
gap: ${getTheme("com/input/vertical-gap")};
|
|
63129
|
+
width: fit-content;
|
|
63130
|
+
`;
|
|
63125
63131
|
const DivSwitchContainerSC = styled.div `
|
|
63126
63132
|
display: flex;
|
|
63127
63133
|
align-items: flex-start;
|
|
@@ -63189,9 +63195,29 @@ const DivSwitchContainerSC = styled.div `
|
|
|
63189
63195
|
`}
|
|
63190
63196
|
`;
|
|
63191
63197
|
|
|
63192
|
-
const
|
|
63198
|
+
const DivLabelSC = styled.div `
|
|
63199
|
+
width: 100%;
|
|
63200
|
+
display: flex;
|
|
63201
|
+
align-items: center;
|
|
63202
|
+
`;
|
|
63203
|
+
const LabelTextSC = styled.label `
|
|
63204
|
+
${getTheme("Label/Sm")}
|
|
63205
|
+
color: ${getTheme("com/input/label/label/color-text")};
|
|
63206
|
+
`;
|
|
63207
|
+
const SpanRequiredSC = styled.span `
|
|
63208
|
+
${getTheme("Label/Sm")}
|
|
63209
|
+
color: ${getTheme("com/input/label/required-mark/color-text")};
|
|
63210
|
+
`;
|
|
63211
|
+
|
|
63212
|
+
const FISInputLabel = (props) => {
|
|
63213
|
+
const { textLabel, required, iconLabel, onClickIconLabel } = props;
|
|
63214
|
+
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 }))] }));
|
|
63215
|
+
};
|
|
63216
|
+
FISInputLabel.displayName = "FISInputLabel";
|
|
63217
|
+
|
|
63218
|
+
const FISSwitch = forwardRef(({ isOn, disabled = false, size = "md", label, subLabel, onToggle, textLabel = "", required, iconLabel, onClickIconLabel, ...props }, ref) => {
|
|
63193
63219
|
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,
|
|
63220
|
+
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
63221
|
});
|
|
63196
63222
|
// Add display name for better debugging experience
|
|
63197
63223
|
FISSwitch.displayName = "FISSwitch";
|
|
@@ -65285,26 +65311,6 @@ const SpanHintSC$3 = styled.span `
|
|
|
65285
65311
|
}
|
|
65286
65312
|
`;
|
|
65287
65313
|
|
|
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
65314
|
/**
|
|
65309
65315
|
* A utility function to merge multiple React refs into a single callback function.
|
|
65310
65316
|
* This function accepts any number of refs as arguments and returns a callback function.
|
|
@@ -66493,13 +66499,13 @@ const FISInputArea = forwardRef((props, ref) => {
|
|
|
66493
66499
|
"input-area-icon": iconSuffix,
|
|
66494
66500
|
}) }), iconSuffix && (jsx(DivIconSC$1, { className: classNames({
|
|
66495
66501
|
"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({
|
|
66502
|
+
}), 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
66503
|
disabled,
|
|
66498
66504
|
negative,
|
|
66499
66505
|
positive,
|
|
66500
66506
|
}), children: message ? message : "" }), jsx(DivCountSC, { children: showCount && maxLength > 0 && (jsxs("span", { className: classNames("text-area__count", {
|
|
66501
66507
|
negative: getCurrentValue()?.length > maxLength,
|
|
66502
|
-
}), children: [getCurrentValue()?.length, "/", maxLength] })) })] })] }));
|
|
66508
|
+
}), children: [getCurrentValue()?.length, "/", maxLength] })) })] }))] }));
|
|
66503
66509
|
});
|
|
66504
66510
|
FISInputArea.displayName = "FISInputArea";
|
|
66505
66511
|
|
|
@@ -72554,28 +72560,36 @@ const DivHeaderCellContainerSC = styled.div `
|
|
|
72554
72560
|
justify-content: ${(props) => props.$textAlign === "right" ? "flex-end" : "space-between"};
|
|
72555
72561
|
width: 100%;
|
|
72556
72562
|
gap: ${getTheme("com/table/title-cell/default/label/vertical-gap")};
|
|
72563
|
+
.label-container {
|
|
72564
|
+
display: flex;
|
|
72565
|
+
gap: 4px;
|
|
72557
72566
|
|
|
72558
|
-
|
|
72559
|
-
|
|
72560
|
-
|
|
72561
|
-
|
|
72562
|
-
|
|
72563
|
-
|
|
72567
|
+
.label {
|
|
72568
|
+
${getTheme("Label/XS")};
|
|
72569
|
+
width: 100%;
|
|
72570
|
+
display: inline-block;
|
|
72571
|
+
${(props) => (props.$textAlign === "right" ? "text-align: end" : "")};
|
|
72572
|
+
color: ${(props) => getTheme(`com/table/title-cell/${props?.$disabled ? "disable" : "default"}/label/color-text`)};
|
|
72564
72573
|
|
|
72565
|
-
|
|
72574
|
+
${(props) => {
|
|
72566
72575
|
if (props.$hasTruncateLabel) {
|
|
72567
72576
|
return css `
|
|
72568
|
-
|
|
72569
|
-
|
|
72570
|
-
|
|
72571
|
-
|
|
72577
|
+
white-space: nowrap;
|
|
72578
|
+
overflow: hidden;
|
|
72579
|
+
text-overflow: ellipsis;
|
|
72580
|
+
`;
|
|
72572
72581
|
}
|
|
72573
72582
|
else {
|
|
72574
72583
|
return css `
|
|
72575
|
-
|
|
72576
|
-
|
|
72584
|
+
white-space: pre-wrap;
|
|
72585
|
+
`;
|
|
72577
72586
|
}
|
|
72578
72587
|
}};
|
|
72588
|
+
}
|
|
72589
|
+
.required-asterisk {
|
|
72590
|
+
${getTheme("Label/XS")};
|
|
72591
|
+
color: #D92D20;
|
|
72592
|
+
}
|
|
72579
72593
|
}
|
|
72580
72594
|
|
|
72581
72595
|
.right-component-father {
|
|
@@ -72609,8 +72623,8 @@ const DivHeaderCellContainerSC = styled.div `
|
|
|
72609
72623
|
}
|
|
72610
72624
|
`;
|
|
72611
72625
|
|
|
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 }) }))] }) }));
|
|
72626
|
+
const FISTableHeaderCell = forwardRef(({ className, label, description, rightComponent, disabled, hasRightDivider = true, hasTruncateLabel = false, onlyIcon = false, textAlign = "left", required, ...rest }, ref) => {
|
|
72627
|
+
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
72628
|
});
|
|
72615
72629
|
FISTableHeaderCell.displayName = "FISTableHeaderCell";
|
|
72616
72630
|
|
|
@@ -72910,8 +72924,8 @@ const DivIconSC = styled.div `
|
|
|
72910
72924
|
}}
|
|
72911
72925
|
`;
|
|
72912
72926
|
|
|
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 })] })) }));
|
|
72927
|
+
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) => {
|
|
72928
|
+
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
72929
|
});
|
|
72916
72930
|
FISTableCell.displayName = "FISTableCell";
|
|
72917
72931
|
|
|
@@ -74324,48 +74338,6 @@ const FISSplitButton = forwardRef((props, ref) => {
|
|
|
74324
74338
|
});
|
|
74325
74339
|
FISSplitButton.displayName = "FISSplitButton";
|
|
74326
74340
|
|
|
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
74341
|
const InputSC = styled.input `
|
|
74370
74342
|
width: 100%;
|
|
74371
74343
|
cursor: pointer;
|
|
@@ -74443,7 +74415,7 @@ const InputSC = styled.input `
|
|
|
74443
74415
|
}
|
|
74444
74416
|
}
|
|
74445
74417
|
`;
|
|
74446
|
-
const DivWrapperSC = styled.div `
|
|
74418
|
+
const DivWrapperSC$1 = styled.div `
|
|
74447
74419
|
width: 100%;
|
|
74448
74420
|
display: flex;
|
|
74449
74421
|
align-items: center;
|
|
@@ -74647,10 +74619,52 @@ const FISSelectItem = forwardRef((props, ref) => {
|
|
|
74647
74619
|
iconPrefix: iconPrefix,
|
|
74648
74620
|
negative: negative,
|
|
74649
74621
|
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 }))] }) }));
|
|
74622
|
+
}), "$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
74623
|
});
|
|
74652
74624
|
FISSelectItem.displayName = "FISSelectItem";
|
|
74653
74625
|
|
|
74626
|
+
const DivWrapperSC = styled.div `
|
|
74627
|
+
width: 100%;
|
|
74628
|
+
display: flex;
|
|
74629
|
+
flex-direction: column;
|
|
74630
|
+
gap: ${getTheme("com/input/vertical-gap")};
|
|
74631
|
+
`;
|
|
74632
|
+
const preventSelection = css `
|
|
74633
|
+
user-select: none !important;
|
|
74634
|
+
-webkit-user-select: none !important;
|
|
74635
|
+
-moz-user-select: none !important;
|
|
74636
|
+
-ms-user-select: none !important;
|
|
74637
|
+
cursor: pointer !important;
|
|
74638
|
+
`;
|
|
74639
|
+
const DivInputWrapperSC = styled.div `
|
|
74640
|
+
position: relative;
|
|
74641
|
+
display: inline-block;
|
|
74642
|
+
width: 100%;
|
|
74643
|
+
|
|
74644
|
+
${(props) => props.$hasValue &&
|
|
74645
|
+
css `
|
|
74646
|
+
${preventSelection}
|
|
74647
|
+
|
|
74648
|
+
input {
|
|
74649
|
+
${preventSelection}
|
|
74650
|
+
pointer-events: none;
|
|
74651
|
+
}
|
|
74652
|
+
`}
|
|
74653
|
+
`;
|
|
74654
|
+
const DivDropdownMenuSC = styled.div `
|
|
74655
|
+
margin-top: ${getTheme("com/select/vertical-gap")};
|
|
74656
|
+
`;
|
|
74657
|
+
const SelectedTagsWrapper = styled.div `
|
|
74658
|
+
display: flex;
|
|
74659
|
+
flex-wrap: wrap;
|
|
74660
|
+
gap: ${getTheme("com/combo-box/selected-data/horizontal-gap")};
|
|
74661
|
+
width: 100%;
|
|
74662
|
+
max-height: calc(
|
|
74663
|
+
2 * ${getTheme("com/chips-button/size-xs/height")} +
|
|
74664
|
+
${getTheme("com/combo-box/selected-data/horizontal-gap")}
|
|
74665
|
+
);
|
|
74666
|
+
`;
|
|
74667
|
+
|
|
74654
74668
|
function isMenuSize(value) {
|
|
74655
74669
|
return value === "sm" || value === "md";
|
|
74656
74670
|
}
|
|
@@ -74664,7 +74678,9 @@ const FISSelect = forwardRef(({ className, style, size = "md", options, value, d
|
|
|
74664
74678
|
const inputRef = useRef(null);
|
|
74665
74679
|
// Expose focus and openDropdown methods via ref
|
|
74666
74680
|
useImperativeHandle(ref, () => ({
|
|
74667
|
-
|
|
74681
|
+
focus: () => {
|
|
74682
|
+
inputRef.current?.focus();
|
|
74683
|
+
},
|
|
74668
74684
|
openDropdown: () => {
|
|
74669
74685
|
if (!disabled && !isOpen) {
|
|
74670
74686
|
setIsOpen(true);
|
|
@@ -74845,7 +74861,7 @@ const FISSelect = forwardRef(({ className, style, size = "md", options, value, d
|
|
|
74845
74861
|
}
|
|
74846
74862
|
return selectInput;
|
|
74847
74863
|
};
|
|
74848
|
-
return (jsxs(DivWrapperSC
|
|
74864
|
+
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
74865
|
...styles.popper,
|
|
74850
74866
|
width: referenceElement?.offsetWidth,
|
|
74851
74867
|
zIndex: 9999,
|