@scaleflex/ui-tw 0.0.152 → 0.0.154
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/button/button.types.d.ts +4 -4
- package/button/components/end-icon.js +3 -0
- package/button/components/start-icon.js +12 -6
- package/color-picker/color-picker.component.js +6 -3
- package/color-picker/color-picker.types.d.ts +4 -4
- package/combobox/combobox-multi-checkbox/combobox-multi-checkbox.component.js +8 -4
- package/combobox/combobox-multi-inline/combobox-multi-inline.component.js +6 -3
- package/combobox/combobox-multi-tag/combobox-multi-tag.component.js +1 -1
- package/combobox/combobox-single/combobox-single.component.js +3 -3
- package/combobox/combobox-users/combobox-users.component.js +9 -8
- package/combobox/combobox.component.js +22 -14
- package/combobox/combobox.types.d.ts +8 -8
- package/command/command.component.js +23 -12
- package/command/command.utils.d.ts +2 -2
- package/command/command.utils.js +1 -1
- package/dialog/dialog.component.d.ts +1 -1
- package/dialog/dialog.component.js +4 -2
- package/dialog/dialog.types.d.ts +2 -0
- package/dropdown-menu/dropdown-menu.component.d.ts +1 -1
- package/dropdown-menu/dropdown-menu.component.js +10 -4
- package/dropdown-menu/dropdown-menu.constants.d.ts +3 -3
- package/dropdown-menu/dropdown-menu.constants.js +1 -1
- package/form/components/form-checkbox-field.component.js +4 -2
- package/form/components/form-checkbox-group-field.component.js +7 -5
- package/form/components/form-field-group.component.js +7 -5
- package/form/components/form-radio-group-field.component.js +7 -5
- package/form/components/form-switch-field.component.js +6 -4
- package/form/form.types.d.ts +24 -24
- package/input-tags/input-tags.component.js +16 -19
- package/label/components/label-icon.js +8 -3
- package/label/label.types.d.ts +4 -4
- package/package.json +2 -2
- package/select/components/select-icon.js +3 -0
- package/select/components/selector.js +13 -9
- package/select/select.types.d.ts +5 -5
- package/textarea/components/textarea-with-actions.js +7 -5
- package/textarea/textarea.types.d.ts +2 -2
- package/tooltip/tooltip.component.js +3 -2
- package/tooltip/tooltip.types.d.ts +1 -1
- package/truncated-text/index.d.ts +2 -0
- package/truncated-text/index.js +1 -0
- package/truncated-text/truncated-text.component.d.ts +4 -0
- package/truncated-text/truncated-text.component.js +40 -0
- package/truncated-text/truncated-text.constants.d.ts +1 -0
- package/truncated-text/truncated-text.constants.js +1 -0
- package/truncated-text/truncated-text.types.d.ts +7 -0
- package/truncated-text/truncated-text.types.js +1 -0
- package/truncated-text/truncated-text.utils.d.ts +1 -0
- package/truncated-text/truncated-text.utils.js +4 -0
|
@@ -55,7 +55,9 @@ function TextareaWithActions(_ref) {
|
|
|
55
55
|
}
|
|
56
56
|
onBlur === null || onBlur === void 0 || onBlur(e);
|
|
57
57
|
};
|
|
58
|
-
var
|
|
58
|
+
var resolvedLeftToolbar = typeof leftToolbar === 'function' ? leftToolbar() : leftToolbar;
|
|
59
|
+
var resolvedRightToolbar = typeof rightToolbar === 'function' ? rightToolbar() : rightToolbar;
|
|
60
|
+
var hasBottomArea = resolvedLeftToolbar || resolvedRightToolbar || showCharCount;
|
|
59
61
|
return /*#__PURE__*/React.createElement("div", {
|
|
60
62
|
className: "relative"
|
|
61
63
|
}, /*#__PURE__*/React.createElement(Textarea, _extends({}, textareaProps, {
|
|
@@ -73,12 +75,12 @@ function TextareaWithActions(_ref) {
|
|
|
73
75
|
className: cn('bg-background absolute right-2.5 bottom-0.25 left-1.5', textareaBottomActionAreaPadding[size]),
|
|
74
76
|
onClick: handleActionClick,
|
|
75
77
|
tabIndex: -1
|
|
76
|
-
},
|
|
78
|
+
}, resolvedLeftToolbar && /*#__PURE__*/React.createElement("div", {
|
|
77
79
|
className: "absolute bottom-1.5 left-0 flex items-center gap-0.5"
|
|
78
|
-
},
|
|
80
|
+
}, resolvedLeftToolbar), /*#__PURE__*/React.createElement("div", {
|
|
79
81
|
className: "absolute right-0 bottom-1.5 flex items-center gap-0.5"
|
|
80
82
|
}, showCharCount && /*#__PURE__*/React.createElement("span", {
|
|
81
|
-
className: cn(textareaCharCountTextSizeOptions[size],
|
|
82
|
-
}, currentLength, "/", maxCharCount),
|
|
83
|
+
className: cn(textareaCharCountTextSizeOptions[size], resolvedRightToolbar && 'mr-1', charCountColorClass, disabled && 'opacity-50')
|
|
84
|
+
}, currentLength, "/", maxCharCount), resolvedRightToolbar)));
|
|
83
85
|
}
|
|
84
86
|
export { TextareaWithActions };
|
|
@@ -8,8 +8,8 @@ export interface TextareaProps extends Omit<ComponentProps<'textarea'>, 'size'>
|
|
|
8
8
|
maxCharCount?: number;
|
|
9
9
|
}
|
|
10
10
|
export interface TextareaWithActionsProps extends TextareaProps {
|
|
11
|
-
leftToolbar?: ReactElement;
|
|
12
|
-
rightToolbar?: ReactElement;
|
|
11
|
+
leftToolbar?: ReactElement | (() => ReactElement);
|
|
12
|
+
rightToolbar?: ReactElement | (() => ReactElement);
|
|
13
13
|
}
|
|
14
14
|
export interface RightToolbarButtonsProps {
|
|
15
15
|
size?: FormSizeType;
|
|
@@ -64,7 +64,8 @@ function WithTooltip(_ref5) {
|
|
|
64
64
|
delayDuration = _ref5.delayDuration,
|
|
65
65
|
open = _ref5.open,
|
|
66
66
|
otherProps = _objectWithoutProperties(_ref5, _excluded3);
|
|
67
|
-
|
|
67
|
+
var resolvedContent = typeof content === 'function' ? content() : content;
|
|
68
|
+
if (!resolvedContent) return children;
|
|
68
69
|
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
69
70
|
open: open,
|
|
70
71
|
delayDuration: delayDuration || 700
|
|
@@ -72,6 +73,6 @@ function WithTooltip(_ref5) {
|
|
|
72
73
|
asChild: true
|
|
73
74
|
}, children), /*#__PURE__*/React.createElement(TooltipContent, _extends({
|
|
74
75
|
variant: variant
|
|
75
|
-
}, otherProps),
|
|
76
|
+
}, otherProps), resolvedContent));
|
|
76
77
|
}
|
|
77
78
|
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider, WithTooltip };
|
|
@@ -5,7 +5,7 @@ export type TooltipVariantType = (typeof TooltipVariant)[keyof typeof TooltipVar
|
|
|
5
5
|
export interface WithTooltipProps extends Omit<ComponentProps<typeof TooltipPrimitive.Content>, 'content'> {
|
|
6
6
|
children: ReactElement;
|
|
7
7
|
open?: boolean;
|
|
8
|
-
content?: ReactElement | undefined | string;
|
|
8
|
+
content?: ReactElement | undefined | string | (() => ReactElement);
|
|
9
9
|
variant?: TooltipVariantType;
|
|
10
10
|
delayDuration?: number;
|
|
11
11
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TruncatedText } from './truncated-text.component';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { WithTooltip } from '@scaleflex/ui-tw/tooltip';
|
|
3
|
+
import { cn } from '@scaleflex/ui-tw/utils/cn';
|
|
4
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
5
|
+
import { truncateTooltip } from './truncated-text.utils';
|
|
6
|
+
function TruncatedText(_ref) {
|
|
7
|
+
var children = _ref.children,
|
|
8
|
+
className = _ref.className,
|
|
9
|
+
_ref$tooltipSide = _ref.tooltipSide,
|
|
10
|
+
tooltipSide = _ref$tooltipSide === void 0 ? 'top' : _ref$tooltipSide;
|
|
11
|
+
var textRef = useRef(null);
|
|
12
|
+
var _useState = useState(false),
|
|
13
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
14
|
+
isTruncated = _useState2[0],
|
|
15
|
+
setIsTruncated = _useState2[1];
|
|
16
|
+
useEffect(function () {
|
|
17
|
+
var checkTruncation = function checkTruncation() {
|
|
18
|
+
var element = textRef.current;
|
|
19
|
+
if (element) {
|
|
20
|
+
setIsTruncated(element.scrollWidth > element.clientWidth);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
checkTruncation();
|
|
24
|
+
var resizeObserver = new ResizeObserver(checkTruncation);
|
|
25
|
+
if (textRef.current) {
|
|
26
|
+
resizeObserver.observe(textRef.current);
|
|
27
|
+
}
|
|
28
|
+
return function () {
|
|
29
|
+
return resizeObserver.disconnect();
|
|
30
|
+
};
|
|
31
|
+
}, [children]);
|
|
32
|
+
return /*#__PURE__*/React.createElement(WithTooltip, {
|
|
33
|
+
side: tooltipSide,
|
|
34
|
+
content: isTruncated ? truncateTooltip(children) : undefined
|
|
35
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
36
|
+
ref: textRef,
|
|
37
|
+
className: cn('block min-w-0 truncate', className)
|
|
38
|
+
}, children));
|
|
39
|
+
}
|
|
40
|
+
export { TruncatedText };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const TOOLTIP_MAX_LENGTH = 250;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var TOOLTIP_MAX_LENGTH = 250;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
2
|
+
import type { ComponentProps } from 'react';
|
|
3
|
+
export interface TruncatedTextProps {
|
|
4
|
+
children: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
tooltipSide?: ComponentProps<typeof TooltipPrimitive.Content>['side'];
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function truncateTooltip(text: string): string;
|