@scaleflex/ui-tw 0.0.38 → 0.0.40
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/combobox/combobox-multi-inline/combobox-multi-inline.component.d.ts +1 -1
- package/combobox/combobox-multi-inline/combobox-multi-inline.component.js +8 -3
- package/combobox/combobox-multi-tag/combobox-multi-tag.component.d.ts +1 -1
- package/combobox/combobox-multi-tag/combobox-multi-tag.component.js +8 -3
- package/combobox/combobox-single/combobox-single.component.d.ts +1 -1
- package/combobox/combobox-single/combobox-single.component.js +8 -3
- package/combobox/combobox.component.d.ts +1 -1
- package/combobox/combobox.component.js +5 -3
- package/combobox/combobox.types.d.ts +4 -0
- package/date-picker/date-picker.component.d.ts +1 -1
- package/date-picker/date-picker.component.js +10 -5
- package/date-picker/date-picker.types.d.ts +5 -0
- package/form/components/form-password-field.component.js +2 -2
- package/input/index.d.ts +0 -1
- package/input/index.js +1 -2
- package/package.json +2 -2
- package/password/index.d.ts +1 -0
- package/password/index.js +1 -0
- package/password/password.component.d.ts +3 -0
- package/{input/components/password-input.component.js → password/password.component.js} +2 -2
- package/search/index.d.ts +1 -0
- package/search/index.js +1 -0
- package/search/search.component.d.ts +3 -0
- package/search/search.component.js +70 -0
- package/search/search.constants.d.ts +24 -0
- package/search/search.constants.js +15 -0
- package/select/components/selector.d.ts +1 -1
- package/select/components/selector.js +12 -7
- package/select/select.types.d.ts +5 -2
- package/input/components/password-input.component.d.ts +0 -3
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ComboboxMultiInlineProps } from '../combobox.types';
|
|
3
|
-
export declare function ComboboxMultiInline({ options, value, onChange, placeholder, className, disabled, size, readOnly, showClear, popoverClassName, onBlur, showGroupSeparator, ...rest }: ComboboxMultiInlineProps): React.JSX.Element;
|
|
3
|
+
export declare function ComboboxMultiInline({ options, value, onChange, placeholder, className, disabled, size, readOnly, showClear, popoverClassName, onBlur, showGroupSeparator, defaultOpen, popoverContentProps, ...rest }: ComboboxMultiInlineProps): React.JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["options", "value", "onChange", "placeholder", "className", "disabled", "size", "readOnly", "showClear", "popoverClassName", "onBlur", "showGroupSeparator"];
|
|
4
|
+
var _excluded = ["options", "value", "onChange", "placeholder", "className", "disabled", "size", "readOnly", "showClear", "popoverClassName", "onBlur", "showGroupSeparator", "defaultOpen", "popoverContentProps"];
|
|
5
5
|
import { Popover } from '@scaleflex/ui-tw/popover';
|
|
6
6
|
import { FormSize } from '@scaleflex/ui-tw/types/form-size';
|
|
7
7
|
import React from 'react';
|
|
@@ -27,8 +27,11 @@ export function ComboboxMultiInline(_ref) {
|
|
|
27
27
|
onBlur = _ref.onBlur,
|
|
28
28
|
_ref$showGroupSeparat = _ref.showGroupSeparator,
|
|
29
29
|
showGroupSeparator = _ref$showGroupSeparat === void 0 ? false : _ref$showGroupSeparat,
|
|
30
|
+
_ref$defaultOpen = _ref.defaultOpen,
|
|
31
|
+
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
|
|
32
|
+
popoverContentProps = _ref.popoverContentProps,
|
|
30
33
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
31
|
-
var _useState = useState(
|
|
34
|
+
var _useState = useState(defaultOpen),
|
|
32
35
|
_useState2 = _slicedToArray(_useState, 2),
|
|
33
36
|
open = _useState2[0],
|
|
34
37
|
setOpen = _useState2[1];
|
|
@@ -62,6 +65,7 @@ export function ComboboxMultiInline(_ref) {
|
|
|
62
65
|
};
|
|
63
66
|
return /*#__PURE__*/React.createElement(Popover, {
|
|
64
67
|
open: open,
|
|
68
|
+
defaultOpen: defaultOpen,
|
|
65
69
|
onOpenChange: onOpenChange
|
|
66
70
|
}, /*#__PURE__*/React.createElement(ComboboxTrigger, {
|
|
67
71
|
open: open,
|
|
@@ -80,6 +84,7 @@ export function ComboboxMultiInline(_ref) {
|
|
|
80
84
|
value: value,
|
|
81
85
|
onSelect: toggleValue,
|
|
82
86
|
size: size,
|
|
83
|
-
multiple: true
|
|
87
|
+
multiple: true,
|
|
88
|
+
popoverContentProps: popoverContentProps
|
|
84
89
|
}));
|
|
85
90
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { ComboboxMultiTagProps } from '../combobox.types';
|
|
3
|
-
export declare function ComboboxMultiTag({ options, value, onChange, placeholder, className, disabled, size, readOnly, popoverClassName, onBlur, showGroupSeparator, ...rest }: ComboboxMultiTagProps): React.JSX.Element;
|
|
3
|
+
export declare function ComboboxMultiTag({ options, value, onChange, placeholder, className, disabled, size, readOnly, popoverClassName, onBlur, showGroupSeparator, defaultOpen, popoverContentProps, ...rest }: ComboboxMultiTagProps): React.JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["options", "value", "onChange", "placeholder", "className", "disabled", "size", "readOnly", "popoverClassName", "onBlur", "showGroupSeparator"];
|
|
4
|
+
var _excluded = ["options", "value", "onChange", "placeholder", "className", "disabled", "size", "readOnly", "popoverClassName", "onBlur", "showGroupSeparator", "defaultOpen", "popoverContentProps"];
|
|
5
5
|
import { ButtonVariant, buttonVariants } from '@scaleflex/ui-tw/button';
|
|
6
6
|
import { buttonBaseClassNames } from '@scaleflex/ui-tw/button/button.constants';
|
|
7
7
|
import { createClearHandlers } from '@scaleflex/ui-tw/combobox/combobox.utils';
|
|
@@ -34,10 +34,13 @@ export function ComboboxMultiTag(_ref) {
|
|
|
34
34
|
onBlur = _ref.onBlur,
|
|
35
35
|
_ref$showGroupSeparat = _ref.showGroupSeparator,
|
|
36
36
|
showGroupSeparator = _ref$showGroupSeparat === void 0 ? false : _ref$showGroupSeparat,
|
|
37
|
+
_ref$defaultOpen = _ref.defaultOpen,
|
|
38
|
+
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
|
|
39
|
+
popoverContentProps = _ref.popoverContentProps,
|
|
37
40
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
38
41
|
var _getToolbarSizes = getToolbarSizes(size),
|
|
39
42
|
buttonSize = _getToolbarSizes.buttonSize;
|
|
40
|
-
var _useState = useState(
|
|
43
|
+
var _useState = useState(defaultOpen),
|
|
41
44
|
_useState2 = _slicedToArray(_useState, 2),
|
|
42
45
|
open = _useState2[0],
|
|
43
46
|
setOpen = _useState2[1];
|
|
@@ -73,6 +76,7 @@ export function ComboboxMultiTag(_ref) {
|
|
|
73
76
|
handleOnTriggerKeyDown = _createClearHandlers.onKeyDown;
|
|
74
77
|
return /*#__PURE__*/React.createElement(Popover, {
|
|
75
78
|
open: open,
|
|
79
|
+
defaultOpen: defaultOpen,
|
|
76
80
|
onOpenChange: onOpenChange
|
|
77
81
|
}, /*#__PURE__*/React.createElement(PopoverTrigger, {
|
|
78
82
|
asChild: true
|
|
@@ -128,6 +132,7 @@ export function ComboboxMultiTag(_ref) {
|
|
|
128
132
|
size: size,
|
|
129
133
|
multiple: true,
|
|
130
134
|
className: popoverClassName,
|
|
131
|
-
showGroupSeparator: showGroupSeparator
|
|
135
|
+
showGroupSeparator: showGroupSeparator,
|
|
136
|
+
popoverContentProps: popoverContentProps
|
|
132
137
|
}));
|
|
133
138
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { ComboboxSingleProps } from '../combobox.types';
|
|
3
|
-
export declare function ComboboxSingle({ options, value, onChange, placeholder, className, disabled, popoverClassName, size, readOnly, showClear, formItemId, onBlur, showGroupSeparator, ...rest }: ComboboxSingleProps): React.JSX.Element;
|
|
3
|
+
export declare function ComboboxSingle({ options, value, onChange, placeholder, className, disabled, popoverClassName, size, readOnly, showClear, formItemId, onBlur, showGroupSeparator, defaultOpen, popoverContentProps, ...rest }: ComboboxSingleProps): React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["options", "value", "onChange", "placeholder", "className", "disabled", "popoverClassName", "size", "readOnly", "showClear", "formItemId", "onBlur", "showGroupSeparator"];
|
|
3
|
+
var _excluded = ["options", "value", "onChange", "placeholder", "className", "disabled", "popoverClassName", "size", "readOnly", "showClear", "formItemId", "onBlur", "showGroupSeparator", "defaultOpen", "popoverContentProps"];
|
|
4
4
|
import { Popover } from '@scaleflex/ui-tw/popover';
|
|
5
5
|
import { FormSize } from '@scaleflex/ui-tw/types/form-size';
|
|
6
6
|
import * as React from 'react';
|
|
@@ -29,8 +29,11 @@ export function ComboboxSingle(_ref) {
|
|
|
29
29
|
onBlur = _ref.onBlur,
|
|
30
30
|
_ref$showGroupSeparat = _ref.showGroupSeparator,
|
|
31
31
|
showGroupSeparator = _ref$showGroupSeparat === void 0 ? false : _ref$showGroupSeparat,
|
|
32
|
+
_ref$defaultOpen = _ref.defaultOpen,
|
|
33
|
+
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
|
|
34
|
+
popoverContentProps = _ref.popoverContentProps,
|
|
32
35
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
33
|
-
var _useState = useState(
|
|
36
|
+
var _useState = useState(defaultOpen),
|
|
34
37
|
_useState2 = _slicedToArray(_useState, 2),
|
|
35
38
|
open = _useState2[0],
|
|
36
39
|
setOpen = _useState2[1];
|
|
@@ -55,6 +58,7 @@ export function ComboboxSingle(_ref) {
|
|
|
55
58
|
};
|
|
56
59
|
return /*#__PURE__*/React.createElement(Popover, {
|
|
57
60
|
open: open,
|
|
61
|
+
defaultOpen: defaultOpen,
|
|
58
62
|
onOpenChange: onOpenChange
|
|
59
63
|
}, /*#__PURE__*/React.createElement(ComboboxTrigger, {
|
|
60
64
|
open: open,
|
|
@@ -73,6 +77,7 @@ export function ComboboxSingle(_ref) {
|
|
|
73
77
|
value: value,
|
|
74
78
|
onSelect: onSelect,
|
|
75
79
|
size: size,
|
|
76
|
-
showGroupSeparator: showGroupSeparator
|
|
80
|
+
showGroupSeparator: showGroupSeparator,
|
|
81
|
+
popoverContentProps: popoverContentProps
|
|
77
82
|
}));
|
|
78
83
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { ComboboxContentProps, ComboboxTriggerProps } from './combobox.types';
|
|
3
3
|
export declare function ComboboxTrigger({ children, open, disabled, readOnly, size, className, selected, showClear, onClearAll, formItemId, ...rest }: ComboboxTriggerProps): React.JSX.Element;
|
|
4
|
-
export declare function ComboboxContent({ options, value: selectedValue, onSelect, size, multiple, className, showGroupSeparator, }: ComboboxContentProps): React.JSX.Element;
|
|
4
|
+
export declare function ComboboxContent({ options, value: selectedValue, onSelect, size, multiple, className, showGroupSeparator, popoverContentProps, }: ComboboxContentProps): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
1
2
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
4
|
var _excluded = ["children", "open", "disabled", "readOnly", "size", "className", "selected", "showClear", "onClearAll", "formItemId"];
|
|
@@ -86,10 +87,11 @@ export function ComboboxContent(_ref2) {
|
|
|
86
87
|
multiple = _ref2$multiple === void 0 ? false : _ref2$multiple,
|
|
87
88
|
className = _ref2.className,
|
|
88
89
|
_ref2$showGroupSepara = _ref2.showGroupSeparator,
|
|
89
|
-
showGroupSeparator = _ref2$showGroupSepara === void 0 ? false : _ref2$showGroupSepara
|
|
90
|
-
|
|
90
|
+
showGroupSeparator = _ref2$showGroupSepara === void 0 ? false : _ref2$showGroupSepara,
|
|
91
|
+
popoverContentProps = _ref2.popoverContentProps;
|
|
92
|
+
return /*#__PURE__*/React.createElement(PopoverContent, _extends({
|
|
91
93
|
className: cn('p-0', className)
|
|
92
|
-
}, /*#__PURE__*/React.createElement(Command, null, /*#__PURE__*/React.createElement(CommandInput, {
|
|
94
|
+
}, popoverContentProps), /*#__PURE__*/React.createElement(Command, null, /*#__PURE__*/React.createElement(CommandInput, {
|
|
93
95
|
size: size,
|
|
94
96
|
placeholder: "Search..."
|
|
95
97
|
}), /*#__PURE__*/React.createElement(CommandList, null, /*#__PURE__*/React.createElement(CommandEmpty, {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
1
2
|
import { SelectOption } from '@scaleflex/ui-tw/form';
|
|
2
3
|
import { FormSizeType } from '@scaleflex/ui-tw/types/form-size';
|
|
3
4
|
import { Command as CommandPrimitive } from 'cmdk';
|
|
@@ -26,6 +27,7 @@ export type ComboboxContentProps = {
|
|
|
26
27
|
multiple?: boolean;
|
|
27
28
|
className?: string;
|
|
28
29
|
showGroupSeparator?: boolean;
|
|
30
|
+
popoverContentProps?: ComponentProps<typeof PopoverPrimitive.Content>;
|
|
29
31
|
};
|
|
30
32
|
export interface CommandInputProps extends Omit<ComponentProps<typeof CommandPrimitive.Input>, 'size'> {
|
|
31
33
|
size?: FormSizeType;
|
|
@@ -48,11 +50,13 @@ interface ComboboxCommonProps {
|
|
|
48
50
|
className?: string;
|
|
49
51
|
disabled?: boolean;
|
|
50
52
|
readOnly?: boolean;
|
|
53
|
+
defaultOpen?: boolean;
|
|
51
54
|
size?: FormSizeType;
|
|
52
55
|
popoverClassName?: string;
|
|
53
56
|
'aria-invalid'?: boolean;
|
|
54
57
|
formItemId?: string;
|
|
55
58
|
showGroupSeparator?: boolean;
|
|
59
|
+
popoverContentProps?: ComponentProps<typeof PopoverPrimitive.Content>;
|
|
56
60
|
}
|
|
57
61
|
export interface ComboboxSingleProps extends ComboboxCommonProps {
|
|
58
62
|
value: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DatePickerProps } from './date-picker.types';
|
|
3
|
-
declare function DatePicker({ minDate, maxDate, readOnly, defaultDate, size, invalidDateText, disabled, onChange, ...rest }: DatePickerProps): React.JSX.Element;
|
|
3
|
+
declare function DatePicker({ minDate, maxDate, readOnly, defaultDate, size, invalidDateText, disabled, onChange, popoverClassName, defaultOpen, popoverContentProps, ...rest }: DatePickerProps): React.JSX.Element;
|
|
4
4
|
export { DatePicker };
|
|
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
5
|
-
var _excluded = ["minDate", "maxDate", "readOnly", "defaultDate", "size", "invalidDateText", "disabled", "onChange"];
|
|
5
|
+
var _excluded = ["minDate", "maxDate", "readOnly", "defaultDate", "size", "invalidDateText", "disabled", "onChange", "popoverClassName", "defaultOpen", "popoverContentProps"];
|
|
6
6
|
import { Button } from '@scaleflex/ui-tw/button';
|
|
7
7
|
import { Calendar } from '@scaleflex/ui-tw/calendar';
|
|
8
8
|
import { Input } from '@scaleflex/ui-tw/input';
|
|
@@ -27,8 +27,12 @@ function DatePicker(_ref) {
|
|
|
27
27
|
invalidDateText = _ref.invalidDateText,
|
|
28
28
|
disabled = _ref.disabled,
|
|
29
29
|
onChange = _ref.onChange,
|
|
30
|
+
popoverClassName = _ref.popoverClassName,
|
|
31
|
+
_ref$defaultOpen = _ref.defaultOpen,
|
|
32
|
+
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
|
|
33
|
+
popoverContentProps = _ref.popoverContentProps,
|
|
30
34
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
31
|
-
var _useState = useState(
|
|
35
|
+
var _useState = useState(defaultOpen),
|
|
32
36
|
_useState2 = _slicedToArray(_useState, 2),
|
|
33
37
|
open = _useState2[0],
|
|
34
38
|
setOpen = _useState2[1];
|
|
@@ -89,6 +93,7 @@ function DatePicker(_ref) {
|
|
|
89
93
|
}
|
|
90
94
|
}, rest)), /*#__PURE__*/React.createElement(Popover, {
|
|
91
95
|
open: open,
|
|
96
|
+
defaultOpen: defaultOpen,
|
|
92
97
|
onOpenChange: setOpen
|
|
93
98
|
}, /*#__PURE__*/React.createElement(PopoverTrigger, {
|
|
94
99
|
asChild: true
|
|
@@ -107,12 +112,12 @@ function DatePicker(_ref) {
|
|
|
107
112
|
className: iconSizeInTriggerOptions[size]
|
|
108
113
|
}), /*#__PURE__*/React.createElement("span", {
|
|
109
114
|
className: "sr-only"
|
|
110
|
-
}, "Select date"))), /*#__PURE__*/React.createElement(PopoverContent, {
|
|
111
|
-
className:
|
|
115
|
+
}, "Select date"))), /*#__PURE__*/React.createElement(PopoverContent, _extends({
|
|
116
|
+
className: cn('w-auto overflow-hidden p-0', popoverClassName),
|
|
112
117
|
align: "end",
|
|
113
118
|
alignOffset: -8,
|
|
114
119
|
sideOffset: 10
|
|
115
|
-
}, /*#__PURE__*/React.createElement(Calendar, {
|
|
120
|
+
}, popoverContentProps), /*#__PURE__*/React.createElement(Calendar, {
|
|
116
121
|
mode: "single",
|
|
117
122
|
selected: selectedDate,
|
|
118
123
|
captionLayout: "dropdown",
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
1
2
|
import { FormSizeType } from '@scaleflex/ui-tw/types/form-size';
|
|
3
|
+
import { ComponentProps } from 'react';
|
|
2
4
|
export type DatePickerProps = {
|
|
3
5
|
minDate?: Date;
|
|
4
6
|
maxDate?: Date;
|
|
@@ -6,6 +8,9 @@ export type DatePickerProps = {
|
|
|
6
8
|
readOnly?: boolean;
|
|
7
9
|
size?: FormSizeType;
|
|
8
10
|
invalidDateText?: string;
|
|
11
|
+
popoverClassName?: string;
|
|
9
12
|
disabled?: boolean;
|
|
13
|
+
defaultOpen?: boolean;
|
|
10
14
|
onChange?: (date: Date) => void;
|
|
15
|
+
popoverContentProps?: ComponentProps<typeof PopoverPrimitive.Content>;
|
|
11
16
|
};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
var _excluded = ["inputProps"];
|
|
4
|
-
import {
|
|
4
|
+
import { Password } from '@scaleflex/ui-tw/password';
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import { FormFieldGroup } from './form-field-group.component';
|
|
7
7
|
function FormPasswordField(_ref) {
|
|
8
8
|
var inputProps = _ref.inputProps,
|
|
9
9
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
10
10
|
return /*#__PURE__*/React.createElement(FormFieldGroup, rest, function (field, args) {
|
|
11
|
-
return /*#__PURE__*/React.createElement(
|
|
11
|
+
return /*#__PURE__*/React.createElement(Password, _extends({
|
|
12
12
|
placeholder: inputProps === null || inputProps === void 0 ? void 0 : inputProps.placeholder
|
|
13
13
|
}, args, inputProps, field));
|
|
14
14
|
});
|
package/input/index.d.ts
CHANGED
package/input/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scaleflex/ui-tw",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.40",
|
|
4
4
|
"author": "scaleflex",
|
|
5
5
|
"repository": "github:scaleflex/ui",
|
|
6
6
|
"homepage": "https://github.com/scaleflex/ui/blob/master/README.md",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"@radix-ui/react-slot": "^1.1.2",
|
|
23
23
|
"@radix-ui/react-switch": "^1.0.1",
|
|
24
24
|
"@radix-ui/react-tooltip": "^1.2.6",
|
|
25
|
-
"@scaleflex/icons-tw": "^0.0.
|
|
25
|
+
"@scaleflex/icons-tw": "^0.0.40",
|
|
26
26
|
"@types/lodash.merge": "^4.6.9",
|
|
27
27
|
"class-variance-authority": "^0.7.1",
|
|
28
28
|
"cmdk": "^1.1.1",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Password } from './password.component';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Password } from './password.component';
|
|
@@ -4,10 +4,10 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
4
4
|
var _excluded = ["className", "size", "disabled", "readOnly"];
|
|
5
5
|
import EyeClosed from '@scaleflex/icons-tw/eye-closed';
|
|
6
6
|
import EyeOpen from '@scaleflex/icons-tw/eye-open';
|
|
7
|
+
import { Input } from '@scaleflex/ui-tw/input';
|
|
7
8
|
import { cn } from '@scaleflex/ui-tw/utils/cn';
|
|
8
9
|
import React, { useState } from 'react';
|
|
9
|
-
|
|
10
|
-
export function PasswordInput(_ref) {
|
|
10
|
+
export function Password(_ref) {
|
|
11
11
|
var className = _ref.className,
|
|
12
12
|
size = _ref.size,
|
|
13
13
|
disabled = _ref.disabled,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Search } from './search.component';
|
package/search/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Search } from './search.component';
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
5
|
+
var _excluded = ["className", "size", "disabled", "readOnly"];
|
|
6
|
+
import { buttonVariants } from '@scaleflex/ui-tw/button';
|
|
7
|
+
import { ButtonVariant, buttonBaseClassNames } from '@scaleflex/ui-tw/button/button.constants';
|
|
8
|
+
import { Input } from '@scaleflex/ui-tw/input';
|
|
9
|
+
import { crossSizeOptions, iconSizeOptions, searchPaddingMap } from '@scaleflex/ui-tw/search/search.constants';
|
|
10
|
+
import { focusRingClassNames } from '@scaleflex/ui-tw/styles/shared-classes';
|
|
11
|
+
import { FormSize } from '@scaleflex/ui-tw/types/form-size';
|
|
12
|
+
import { cn } from '@scaleflex/ui-tw/utils/cn';
|
|
13
|
+
import { Search as SearchIcon, XIcon } from 'lucide-react';
|
|
14
|
+
import React, { useState } from 'react';
|
|
15
|
+
export function Search(_ref) {
|
|
16
|
+
var _rest$value$toString, _rest$value;
|
|
17
|
+
var className = _ref.className,
|
|
18
|
+
_ref$size = _ref.size,
|
|
19
|
+
size = _ref$size === void 0 ? FormSize.Md : _ref$size,
|
|
20
|
+
disabled = _ref.disabled,
|
|
21
|
+
readOnly = _ref.readOnly,
|
|
22
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
23
|
+
var padding = searchPaddingMap[size];
|
|
24
|
+
var iconSize = iconSizeOptions[size];
|
|
25
|
+
var crossSize = crossSizeOptions[size];
|
|
26
|
+
var _useState = useState((_rest$value$toString = (_rest$value = rest.value) === null || _rest$value === void 0 ? void 0 : _rest$value.toString()) !== null && _rest$value$toString !== void 0 ? _rest$value$toString : ''),
|
|
27
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
28
|
+
value = _useState2[0],
|
|
29
|
+
setValue = _useState2[1];
|
|
30
|
+
var handleClear = function handleClear() {
|
|
31
|
+
var _rest$onChange;
|
|
32
|
+
var syntheticEvent = {
|
|
33
|
+
target: {
|
|
34
|
+
value: ''
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
setValue('');
|
|
38
|
+
(_rest$onChange = rest.onChange) === null || _rest$onChange === void 0 || _rest$onChange.call(rest, syntheticEvent);
|
|
39
|
+
};
|
|
40
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
41
|
+
className: "relative w-full"
|
|
42
|
+
}, /*#__PURE__*/React.createElement(SearchIcon, {
|
|
43
|
+
className: cn('text-muted-foreground pointer-events-none absolute top-1/2 -translate-y-1/2', iconSize, padding.icon)
|
|
44
|
+
}), /*#__PURE__*/React.createElement(Input, _extends({
|
|
45
|
+
value: value,
|
|
46
|
+
onChange: function onChange(e) {
|
|
47
|
+
var _rest$onChange2;
|
|
48
|
+
setValue(e.target.value);
|
|
49
|
+
(_rest$onChange2 = rest.onChange) === null || _rest$onChange2 === void 0 || _rest$onChange2.call(rest, e);
|
|
50
|
+
},
|
|
51
|
+
type: "search",
|
|
52
|
+
size: size,
|
|
53
|
+
disabled: disabled,
|
|
54
|
+
readOnly: readOnly,
|
|
55
|
+
className: cn('[&::-webkit-search-cancel-button]:hidden [&::-webkit-search-cancel-button]:appearance-none', padding.input, className)
|
|
56
|
+
}, rest)), value && !readOnly && !disabled && /*#__PURE__*/React.createElement("button", {
|
|
57
|
+
role: "button",
|
|
58
|
+
tabIndex: 0,
|
|
59
|
+
onClick: handleClear,
|
|
60
|
+
"data-clear-icon": "true",
|
|
61
|
+
"aria-label": "Clear",
|
|
62
|
+
className: cn.apply(void 0, _toConsumableArray(buttonBaseClassNames).concat([focusRingClassNames, buttonVariants({
|
|
63
|
+
size: crossSize,
|
|
64
|
+
variant: ButtonVariant.GhostSecondary
|
|
65
|
+
}), 'absolute top-1/2 right-2 -translate-y-1/2']))
|
|
66
|
+
}, /*#__PURE__*/React.createElement(XIcon, {
|
|
67
|
+
"data-clear-icon": true,
|
|
68
|
+
className: cn('shrink-0 hover:opacity-80')
|
|
69
|
+
})));
|
|
70
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const searchPaddingMap: {
|
|
2
|
+
readonly sm: {
|
|
3
|
+
readonly icon: "left-2.5";
|
|
4
|
+
readonly input: "pl-7 pr-9";
|
|
5
|
+
};
|
|
6
|
+
readonly md: {
|
|
7
|
+
readonly icon: "left-3.5";
|
|
8
|
+
readonly input: "pl-9 pr-11";
|
|
9
|
+
};
|
|
10
|
+
readonly lg: {
|
|
11
|
+
readonly icon: "left-3.5";
|
|
12
|
+
readonly input: "pl-10 pr-12";
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare const iconSizeOptions: {
|
|
16
|
+
readonly sm: "size-3";
|
|
17
|
+
readonly md: "size-4";
|
|
18
|
+
readonly lg: "size-4.5";
|
|
19
|
+
};
|
|
20
|
+
export declare const crossSizeOptions: {
|
|
21
|
+
readonly sm: "icon-xs";
|
|
22
|
+
readonly md: "icon-sm";
|
|
23
|
+
readonly lg: "icon-md";
|
|
24
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { ButtonSize } from '@scaleflex/ui-tw/button';
|
|
3
|
+
import { FormSize } from '@scaleflex/ui-tw/types/form-size';
|
|
4
|
+
export var searchPaddingMap = _defineProperty(_defineProperty(_defineProperty({}, FormSize.Sm, {
|
|
5
|
+
icon: 'left-2.5',
|
|
6
|
+
input: 'pl-7 pr-9'
|
|
7
|
+
}), FormSize.Md, {
|
|
8
|
+
icon: 'left-3.5',
|
|
9
|
+
input: 'pl-9 pr-11'
|
|
10
|
+
}), FormSize.Lg, {
|
|
11
|
+
icon: 'left-3.5',
|
|
12
|
+
input: 'pl-10 pr-12'
|
|
13
|
+
});
|
|
14
|
+
export var iconSizeOptions = _defineProperty(_defineProperty(_defineProperty({}, FormSize.Sm, 'size-3'), FormSize.Md, 'size-4'), FormSize.Lg, 'size-4.5');
|
|
15
|
+
export var crossSizeOptions = _defineProperty(_defineProperty(_defineProperty({}, FormSize.Sm, ButtonSize.IconXs), FormSize.Md, ButtonSize.IconSm), FormSize.Lg, ButtonSize.IconMd);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { SelectorProps } from '../select.types';
|
|
3
|
-
export declare function Selector({ value, onChange, placeholder, disabled, readOnly, size, className, icon, options, showGroupSeparator, formItemId, popoverClassName, ...rest }: SelectorProps): React.JSX.Element;
|
|
3
|
+
export declare function Selector({ value, onChange, placeholder, disabled, readOnly, size, className, icon, options, showGroupSeparator, formItemId, popoverClassName, selectorContentProps, defaultOpen, triggerProps, ...rest }: SelectorProps): React.JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
1
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
|
-
var _excluded = ["value", "onChange", "placeholder", "disabled", "readOnly", "size", "className", "icon", "options", "showGroupSeparator", "formItemId", "popoverClassName"];
|
|
3
|
+
var _excluded = ["value", "onChange", "placeholder", "disabled", "readOnly", "size", "className", "icon", "options", "showGroupSeparator", "formItemId", "popoverClassName", "selectorContentProps", "defaultOpen", "triggerProps"];
|
|
3
4
|
import { isOptionGroup } from '@scaleflex/ui-tw/form';
|
|
4
5
|
import React from 'react';
|
|
5
6
|
import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue } from '../';
|
|
@@ -17,23 +18,27 @@ export function Selector(_ref) {
|
|
|
17
18
|
showGroupSeparator = _ref.showGroupSeparator,
|
|
18
19
|
formItemId = _ref.formItemId,
|
|
19
20
|
popoverClassName = _ref.popoverClassName,
|
|
21
|
+
selectorContentProps = _ref.selectorContentProps,
|
|
22
|
+
defaultOpen = _ref.defaultOpen,
|
|
23
|
+
triggerProps = _ref.triggerProps,
|
|
20
24
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
21
|
-
return /*#__PURE__*/React.createElement(Select, {
|
|
25
|
+
return /*#__PURE__*/React.createElement(Select, _extends({
|
|
22
26
|
value: value,
|
|
23
27
|
onValueChange: readOnly ? undefined : onChange,
|
|
24
|
-
disabled: disabled || readOnly
|
|
25
|
-
|
|
28
|
+
disabled: disabled || readOnly,
|
|
29
|
+
defaultOpen: defaultOpen
|
|
30
|
+
}, rest), /*#__PURE__*/React.createElement(SelectTrigger, _extends({
|
|
26
31
|
id: formItemId,
|
|
27
32
|
"aria-invalid": rest['aria-invalid'],
|
|
28
33
|
size: size,
|
|
29
34
|
readOnly: readOnly,
|
|
30
35
|
className: className,
|
|
31
36
|
icon: icon
|
|
32
|
-
}, /*#__PURE__*/React.createElement(SelectValue, {
|
|
37
|
+
}, triggerProps), /*#__PURE__*/React.createElement(SelectValue, {
|
|
33
38
|
placeholder: placeholder
|
|
34
|
-
})), /*#__PURE__*/React.createElement(SelectContent, {
|
|
39
|
+
})), /*#__PURE__*/React.createElement(SelectContent, _extends({
|
|
35
40
|
className: popoverClassName
|
|
36
|
-
}, options.map(function (option, groupIndex) {
|
|
41
|
+
}, selectorContentProps), options.map(function (option, groupIndex) {
|
|
37
42
|
if (isOptionGroup(option)) {
|
|
38
43
|
return /*#__PURE__*/React.createElement(SelectGroup, {
|
|
39
44
|
key: groupIndex
|
package/select/select.types.d.ts
CHANGED
|
@@ -21,7 +21,8 @@ export interface SelectLabelProps extends ComponentProps<typeof SelectPrimitive.
|
|
|
21
21
|
}
|
|
22
22
|
export interface SelectIconProps extends ComponentProps<'span'>, Pick<SelectTriggerProps, 'size' | 'icon'> {
|
|
23
23
|
}
|
|
24
|
-
export interface SelectorProps {
|
|
24
|
+
export interface SelectorProps extends SelectProps {
|
|
25
|
+
options: SelectOption[];
|
|
25
26
|
value?: string;
|
|
26
27
|
onChange?: (value: string) => void;
|
|
27
28
|
placeholder?: string;
|
|
@@ -30,9 +31,11 @@ export interface SelectorProps {
|
|
|
30
31
|
size?: FormSizeType;
|
|
31
32
|
className?: string;
|
|
32
33
|
icon?: ReactElement;
|
|
33
|
-
|
|
34
|
+
defaultOpen?: boolean;
|
|
34
35
|
showGroupSeparator?: boolean;
|
|
35
36
|
formItemId?: string;
|
|
36
37
|
popoverClassName?: string;
|
|
38
|
+
selectorContentProps?: ComponentProps<typeof SelectPrimitive.Content>;
|
|
37
39
|
'aria-invalid'?: boolean;
|
|
40
|
+
triggerProps?: Omit<ComponentProps<typeof SelectPrimitive.Trigger>, 'aria-invalid'>;
|
|
38
41
|
}
|