react-restyle-components 0.3.77 → 0.3.81
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/lib/src/core-components/index.d.ts +0 -10
- package/lib/src/core-components/index.d.ts.map +1 -1
- package/lib/src/core-components/index.js +0 -10
- package/lib/src/core-components/src/components/Badge/Badge.d.ts +5 -5
- package/lib/src/core-components/src/components/FormField/FormField.d.ts +38 -3
- package/lib/src/core-components/src/components/FormField/FormField.d.ts.map +1 -1
- package/lib/src/core-components/src/components/FormField/FormField.js +77 -4
- package/lib/src/core-components/src/components/FormField/components/CheckboxGroupInput.d.ts +20 -0
- package/lib/src/core-components/src/components/FormField/components/CheckboxGroupInput.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/CheckboxGroupInput.js +37 -0
- package/lib/src/core-components/src/components/FormField/components/CheckboxInput.d.ts +17 -0
- package/lib/src/core-components/src/components/FormField/components/CheckboxInput.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/CheckboxInput.js +8 -0
- package/lib/src/core-components/src/components/FormField/components/CssMultilineInput.d.ts +22 -0
- package/lib/src/core-components/src/components/FormField/components/CssMultilineInput.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/CssMultilineInput.js +168 -0
- package/lib/src/core-components/src/components/FormField/components/DatePickerInput.d.ts +18 -0
- package/lib/src/core-components/src/components/FormField/components/DatePickerInput.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/DatePickerInput.js +29 -0
- package/lib/src/core-components/src/components/FormField/components/DropdownInput.d.ts +18 -0
- package/lib/src/core-components/src/components/FormField/components/DropdownInput.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/DropdownInput.js +70 -0
- package/lib/src/core-components/src/components/FormField/components/OtpInput.d.ts +18 -0
- package/lib/src/core-components/src/components/FormField/components/OtpInput.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/OtpInput.js +81 -0
- package/lib/src/core-components/src/components/FormField/components/PasswordInput.d.ts +17 -0
- package/lib/src/core-components/src/components/FormField/components/PasswordInput.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/PasswordInput.js +18 -0
- package/lib/src/core-components/src/components/FormField/components/PinInput.d.ts +18 -0
- package/lib/src/core-components/src/components/FormField/components/PinInput.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/PinInput.js +75 -0
- package/lib/src/core-components/src/components/FormField/components/RadioInput.d.ts +23 -0
- package/lib/src/core-components/src/components/FormField/components/RadioInput.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/RadioInput.js +54 -0
- package/lib/src/core-components/src/components/FormField/components/TextDropdownInput.d.ts +20 -0
- package/lib/src/core-components/src/components/FormField/components/TextDropdownInput.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/TextDropdownInput.js +94 -0
- package/lib/src/core-components/src/components/FormField/components/ToggleInput.d.ts +17 -0
- package/lib/src/core-components/src/components/FormField/components/ToggleInput.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/ToggleInput.js +36 -0
- package/lib/src/core-components/src/components/FormField/components/index.d.ts +12 -0
- package/lib/src/core-components/src/components/FormField/components/index.d.ts.map +1 -0
- package/lib/src/core-components/src/components/FormField/components/index.js +11 -0
- package/lib/src/core-components/src/components/{Input/CSSMultilineInput → FormField}/css-properties.d.ts.map +1 -1
- package/lib/src/core-components/src/components/{Form → FormField}/toggle.css +1 -0
- package/lib/src/core-components/src/components/index.d.ts +1 -2
- package/lib/src/core-components/src/components/index.d.ts.map +1 -1
- package/lib/src/core-components/src/components/index.js +1 -2
- package/lib/src/core-components/src/core-components/CoreButton/CoreButton.d.ts +2 -2
- package/lib/src/core-components/src/core-components/atoms/Input/Input.d.ts +5 -1
- package/lib/src/core-components/src/core-components/atoms/Input/Input.d.ts.map +1 -1
- package/lib/src/core-components/src/core-components/atoms/Input/Input.js +62 -2
- package/lib/src/core-components/src/core-components/atoms/Label/Label.d.ts +2 -0
- package/lib/src/core-components/src/core-components/atoms/Label/Label.d.ts.map +1 -1
- package/lib/src/core-components/src/core-components/atoms/Label/Label.js +16 -3
- package/lib/src/core-components/src/core-components/atoms/Textarea/Textarea.d.ts +5 -1
- package/lib/src/core-components/src/core-components/atoms/Textarea/Textarea.d.ts.map +1 -1
- package/lib/src/core-components/src/core-components/atoms/Textarea/Textarea.js +59 -2
- package/lib/src/core-components/src/tc.global.css +8 -2
- package/lib/src/core-components/src/tc.module.css +1 -1
- package/lib/src/core-components/src/utils/utility.util.d.ts +1 -0
- package/lib/src/core-components/src/utils/utility.util.d.ts.map +1 -1
- package/lib/src/core-components/src/utils/utility.util.js +9 -0
- package/package.json +1 -1
- package/lib/src/core-components/src/components/Form/form.component.d.ts +0 -106
- package/lib/src/core-components/src/components/Form/form.component.d.ts.map +0 -1
- package/lib/src/core-components/src/components/Form/form.component.js +0 -88
- package/lib/src/core-components/src/components/Input/CSSMultilineInput/css-multiline-input.component.d.ts +0 -13
- package/lib/src/core-components/src/components/Input/CSSMultilineInput/css-multiline-input.component.d.ts.map +0 -1
- package/lib/src/core-components/src/components/Input/CSSMultilineInput/css-multiline-input.component.js +0 -103
- package/lib/src/core-components/src/components/Input/InputDropdown/input-dropdown.component.d.ts +0 -10
- package/lib/src/core-components/src/components/Input/InputDropdown/input-dropdown.component.d.ts.map +0 -1
- package/lib/src/core-components/src/components/Input/InputDropdown/input-dropdown.component.js +0 -44
- package/lib/src/core-components/src/components/Input/InputOTP/input-otp.component.d.ts +0 -14
- package/lib/src/core-components/src/components/Input/InputOTP/input-otp.component.d.ts.map +0 -1
- package/lib/src/core-components/src/components/Input/InputOTP/input-otp.component.js +0 -62
- package/lib/src/core-components/src/components/Input/InputOTP/input-otp.styles.css +0 -35
- package/lib/src/core-components/src/components/Input/InputPin/input-pin.component.d.ts +0 -16
- package/lib/src/core-components/src/components/Input/InputPin/input-pin.component.d.ts.map +0 -1
- package/lib/src/core-components/src/components/Input/InputPin/input-pin.component.js +0 -76
- package/lib/src/core-components/src/components/Input/InputPin/input.styles.css +0 -35
- package/lib/src/core-components/src/components/check-box/checkBox.component.d.ts +0 -12
- package/lib/src/core-components/src/components/check-box/checkBox.component.d.ts.map +0 -1
- package/lib/src/core-components/src/components/check-box/checkBox.component.js +0 -20
- package/lib/src/core-components/src/components/date-picker/date-picker.component.d.ts +0 -12
- package/lib/src/core-components/src/components/date-picker/date-picker.component.d.ts.map +0 -1
- package/lib/src/core-components/src/components/date-picker/date-picker.component.js +0 -20
- package/lib/src/core-components/src/components/input-dropdown/input-dropdown.component.d.ts +0 -10
- package/lib/src/core-components/src/components/input-dropdown/input-dropdown.component.d.ts.map +0 -1
- package/lib/src/core-components/src/components/input-dropdown/input-dropdown.component.js +0 -44
- package/lib/src/core-components/src/components/radio/radio.component.d.ts +0 -9
- package/lib/src/core-components/src/components/radio/radio.component.d.ts.map +0 -1
- package/lib/src/core-components/src/components/radio/radio.component.js +0 -20
- package/lib/src/core-components/src/components/text-input-dropdown/text-input-dropdown.component.d.ts +0 -16
- package/lib/src/core-components/src/components/text-input-dropdown/text-input-dropdown.component.d.ts.map +0 -1
- package/lib/src/core-components/src/components/text-input-dropdown/text-input-dropdown.component.js +0 -91
- /package/lib/src/core-components/src/components/{Input/CSSMultilineInput → FormField}/css-properties.d.ts +0 -0
- /package/lib/src/core-components/src/components/{Input/CSSMultilineInput → FormField}/css-properties.js +0 -0
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
.-z-1 {
|
|
2
|
-
z-index: -1;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.origin-0 {
|
|
6
|
-
transform-origin: 0%;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
input:focus ~ label,
|
|
10
|
-
input:not(:placeholder-shown) ~ label,
|
|
11
|
-
textarea:focus ~ label,
|
|
12
|
-
textarea:not(:placeholder-shown) ~ label,
|
|
13
|
-
select:focus ~ label,
|
|
14
|
-
select:not([value='']):valid ~ label {
|
|
15
|
-
/* @apply transform; scale-75; -translate-y-6; */
|
|
16
|
-
--tw-translate-x: 0;
|
|
17
|
-
--tw-translate-y: 0;
|
|
18
|
-
--tw-rotate: 0;
|
|
19
|
-
--tw-skew-x: 0;
|
|
20
|
-
--tw-skew-y: 0;
|
|
21
|
-
transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y))
|
|
22
|
-
rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
|
|
23
|
-
scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
24
|
-
--tw-scale-x: 0.75;
|
|
25
|
-
--tw-scale-y: 0.75;
|
|
26
|
-
--tw-translate-y: -1.5rem;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
input:focus ~ label,
|
|
30
|
-
select:focus ~ label {
|
|
31
|
-
/* @apply text-black; left-0; */
|
|
32
|
-
--tw-text-opacity: 1;
|
|
33
|
-
color: '#696969';
|
|
34
|
-
left: 0px;
|
|
35
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
interface CheckBoxProps {
|
|
2
|
-
title: string;
|
|
3
|
-
data: Array<any>;
|
|
4
|
-
className?: string;
|
|
5
|
-
disable?: boolean;
|
|
6
|
-
fill?: string;
|
|
7
|
-
stroke?: string;
|
|
8
|
-
onChange: (items: any) => void;
|
|
9
|
-
}
|
|
10
|
-
export declare const CheckBox: ({ title, data, className, fill, stroke, onChange, }: CheckBoxProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=checkBox.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkBox.component.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/check-box/checkBox.component.tsx"],"names":[],"mappings":"AAMA,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,QAAQ,wDAOlB,aAAa,4CAoCf,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import s from '../../tc.module.css';
|
|
4
|
-
import { cn } from '../../utils';
|
|
5
|
-
import { InputWrapper } from '../Form/form.component';
|
|
6
|
-
import { Icon } from '..';
|
|
7
|
-
export const CheckBox = ({ title = 'Banks', data = [{ title: 'SBI Bank', checked: false }], className, fill = '#E7503D', stroke = '#E7503D', onChange, }) => {
|
|
8
|
-
const [list, setList] = useState(data);
|
|
9
|
-
const width = 20;
|
|
10
|
-
return (_jsx(InputWrapper, { label: title, children: list?.map((item, index) => (_jsxs("div", { className: `${cn(s.flex, s['flex-row'], s['items-center'])} ${className}`, onClick: () => {
|
|
11
|
-
const result = list?.map((e, i) => {
|
|
12
|
-
if (i === index)
|
|
13
|
-
return { ...e, checked: !item.checked };
|
|
14
|
-
else
|
|
15
|
-
return { ...e };
|
|
16
|
-
});
|
|
17
|
-
setList(result);
|
|
18
|
-
onChange(result?.filter((item) => item.checked));
|
|
19
|
-
}, children: [_jsx("div", { className: cn(s.flex, s['gap-2']), children: item.checked ? (_jsx(Icon, { nameIcon: "ImCheckboxChecked" })) : (_jsx(Icon, { nameIcon: "ImCheckboxUnchecked" })) }), _jsx("span", { className: cn(s['text-sm'], s['font-medium'], s['ml-2']), children: item?.title })] }, index))) }));
|
|
20
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import 'react-datepicker/dist/react-datepicker.css';
|
|
2
|
-
interface DatePickerProps {
|
|
3
|
-
title: string;
|
|
4
|
-
value?: string;
|
|
5
|
-
className?: string;
|
|
6
|
-
disable?: boolean;
|
|
7
|
-
showFormat?: string;
|
|
8
|
-
placeholder?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare const DatePickerComp: ({ title, className, disable, value, showFormat, placeholder, }: DatePickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=date-picker.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.component.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/date-picker/date-picker.component.tsx"],"names":[],"mappings":"AAEA,OAAO,4CAA4C,CAAC;AAOpD,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,mEAOxB,eAAe,4CAkDjB,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, forwardRef } from 'react';
|
|
3
|
-
import DatePicker from 'react-datepicker';
|
|
4
|
-
import 'react-datepicker/dist/react-datepicker.css';
|
|
5
|
-
import { Icon } from '..';
|
|
6
|
-
import dayjs from 'dayjs';
|
|
7
|
-
import { InputWrapper } from '../Form/form.component';
|
|
8
|
-
import s from '../../tc.module.css';
|
|
9
|
-
import { cn } from '../../utils';
|
|
10
|
-
export const DatePickerComp = ({ title = 'Title', className, disable, value, showFormat = 'yyyy-MM-dd', placeholder = 'Select Date', }) => {
|
|
11
|
-
const [pickedDate, setPickedDate] = useState(value && dayjs(value).toDate());
|
|
12
|
-
const CustomInput = forwardRef((props, ref) => {
|
|
13
|
-
return (_jsxs("div", { onClick: !disable && props.onClick, ref: ref, className: cn(s['border-gray-light'], s['place-items-center'], s['border'], s['rounded-md'], s['px-2'], s.flex), children: [_jsx("label", { className: cn(s['mr-3'], s['font-arimaRegular'], s['text-primaryCharcoal'], s['text-lg']), children: props.value || props.placeholder }), _jsx(Icon, { nameIcon: "ImCalendar" })] }));
|
|
14
|
-
});
|
|
15
|
-
CustomInput.displayName = 'CustomInput';
|
|
16
|
-
const handleChanges = (date) => {
|
|
17
|
-
setPickedDate(date);
|
|
18
|
-
};
|
|
19
|
-
return (_jsx(InputWrapper, { label: title, children: _jsx("div", { className: cn(s.flex, s['zIndex-999'], className), children: _jsx(DatePicker, { selected: pickedDate || new Date(), dateFormat: showFormat, placeholder: placeholder, onChange: handleChanges, customInput: _jsx(CustomInput, {}) }) }) }));
|
|
20
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
interface InputDropdownProps {
|
|
2
|
-
title: string;
|
|
3
|
-
items: Array<string>;
|
|
4
|
-
hasError?: boolean;
|
|
5
|
-
className?: string;
|
|
6
|
-
onChange?: (item: string) => void;
|
|
7
|
-
}
|
|
8
|
-
export declare const InputDropdown: ({ items, className, hasError, title, onChange, }: InputDropdownProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=input-dropdown.component.d.ts.map
|
package/lib/src/core-components/src/components/input-dropdown/input-dropdown.component.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-dropdown.component.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/input-dropdown/input-dropdown.component.tsx"],"names":[],"mappings":"AAIA,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,aAAa,qDAMvB,kBAAkB,4CAsIpB,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect, useRef } from 'react';
|
|
3
|
-
import s from '../../tc.module.css';
|
|
4
|
-
import { cn } from '../../utils';
|
|
5
|
-
import { Icon } from '../';
|
|
6
|
-
export const InputDropdown = ({ items, className, hasError, title, onChange, }) => {
|
|
7
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
8
|
-
const [value, setValue] = useState('');
|
|
9
|
-
const [filteredItems, setFilteredItems] = useState(items);
|
|
10
|
-
const useOutsideAlerter = (ref) => {
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
function handleClickOutside(event) {
|
|
13
|
-
if (ref.current &&
|
|
14
|
-
!ref.current.contains(event.target) &&
|
|
15
|
-
isOpen &&
|
|
16
|
-
isOpen)
|
|
17
|
-
setIsOpen(!isOpen);
|
|
18
|
-
}
|
|
19
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
20
|
-
return () => {
|
|
21
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
22
|
-
};
|
|
23
|
-
}, [ref]);
|
|
24
|
-
};
|
|
25
|
-
const handleInputChange = (event) => {
|
|
26
|
-
const inputValue = event.target.value;
|
|
27
|
-
setValue(inputValue);
|
|
28
|
-
const filtered = items.filter((item) => item.toLowerCase().includes(inputValue.toLowerCase()));
|
|
29
|
-
setFilteredItems(filtered);
|
|
30
|
-
onChange && onChange(inputValue);
|
|
31
|
-
};
|
|
32
|
-
const wrapperRef = useRef(null);
|
|
33
|
-
useOutsideAlerter(wrapperRef);
|
|
34
|
-
return (_jsxs("div", { className: cn(className, s['relative']), children: [_jsxs("div", { className: cn(s['flex'], s['flex-row'], s['items-center']), children: [_jsx("input", { type: "text", name: "name", placeholder: title, value: value, className: cn(s['pt-3'], s['pb-2'], s['w-full'], s['px-0'], s['mt-0'], s['bg-transparent'], s['border-gray-secondary'], s['border-0'], s['border-b'], s['appearance-none'], s['focus:outline-none'], s['focus:ring-0'], s['font-arimaRegular'], s['text-md']), onClick: () => {
|
|
35
|
-
setIsOpen(!isOpen);
|
|
36
|
-
}, onChange: handleInputChange }), !isOpen && (_jsx(_Fragment, { children: _jsx(Icon, { nameIcon: "MdKeyboardArrowDown", propsIcon: { size: '24', color: '#000000' }, onClick: () => {
|
|
37
|
-
setIsOpen(!isOpen);
|
|
38
|
-
} }) })), isOpen && (_jsx(Icon, { nameIcon: "MdKeyboardArrowUp", propsIcon: { size: '24', color: '#000000' }, onClick: () => {
|
|
39
|
-
setIsOpen(!isOpen);
|
|
40
|
-
} }))] }), isOpen && (_jsx("div", { className: cn(s['z-10'], s['w-full'], s['absolute'], s['text-base'], s['list-none'], s['bg-white'], s['rounded'], s['divide-y'], s['divide-gray-100'], s['shadow'], s['dark:bg-gray-700']), ref: wrapperRef, children: _jsx("ul", { className: s['py-1'], children: filteredItems?.map((item, index) => (_jsx("li", { className: cn(s['block'], s['py-2'], s['px-4'], s['text-md'], s['hover:bg-gray-100'], s['dark:hover:bg-gray-600'], s['dark:text-gray-200'], s['font-arimaRegular']), onClick: () => {
|
|
41
|
-
setValue(item);
|
|
42
|
-
setIsOpen(!isOpen);
|
|
43
|
-
}, children: item }, index))) }) })), hasError && (_jsx("span", { className: cn(s['text-red'], s['text-4xs']), id: "error", children: `${title} is required` }))] }));
|
|
44
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
interface RadioProps {
|
|
2
|
-
title: string;
|
|
3
|
-
data: Array<any>;
|
|
4
|
-
className?: string;
|
|
5
|
-
onChange: (item: any) => void;
|
|
6
|
-
}
|
|
7
|
-
export declare const Radio: ({ title, data, className, onChange, }: RadioProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=radio.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"radio.component.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/radio/radio.component.tsx"],"names":[],"mappings":"AAMA,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,KAAA,KAAK,IAAI,CAAC;CAC1B;AAED,eAAO,MAAM,KAAK,0CAKf,UAAU,4CAuCZ,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { Icon } from '..';
|
|
4
|
-
import { InputWrapper } from '../Form/form.component';
|
|
5
|
-
import s from '../../tc.module.css';
|
|
6
|
-
import { cn } from '../../utils';
|
|
7
|
-
export const Radio = ({ title = 'Source', data = [], className, onChange, }) => {
|
|
8
|
-
const [list, setList] = useState(data);
|
|
9
|
-
const width = 20;
|
|
10
|
-
return (_jsx(_Fragment, { children: _jsx(InputWrapper, { label: title, children: list?.map((item, index) => (_jsx("div", { className: cn(className, s['flex'], s['items-center'], s['mb-1']), onClick: () => {
|
|
11
|
-
const result = list?.map((e, i) => {
|
|
12
|
-
if (i == index)
|
|
13
|
-
return { ...e, checked: true };
|
|
14
|
-
else
|
|
15
|
-
return { ...e, checked: false };
|
|
16
|
-
});
|
|
17
|
-
setList(result);
|
|
18
|
-
onChange(result?.find((item) => item.checked));
|
|
19
|
-
}, children: _jsxs("div", { className: cn(s['flex'], s['flex-row'], s['gap-1'], s['items-center']), children: [item.checked ? (_jsx(Icon, { nameIcon: "ImRadioChecked" })) : (_jsx(Icon, { nameIcon: "ImRadioUnchecked" })), _jsx("span", { className: cn(s['text-4xs']), children: item?.title })] }) }, index))) }) }));
|
|
20
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface TextInputDropdownProps {
|
|
3
|
-
placeholder?: string;
|
|
4
|
-
items: Array<string>;
|
|
5
|
-
hasError?: boolean;
|
|
6
|
-
className?: string;
|
|
7
|
-
value?: string;
|
|
8
|
-
defaultValue?: string;
|
|
9
|
-
onChange?: (item: string) => void;
|
|
10
|
-
onBlur?: (event: React.FocusEvent<HTMLInputElement> | null, value?: string) => void;
|
|
11
|
-
disabled?: boolean;
|
|
12
|
-
allowCustomInput?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare const TextInputDropdown: ({ items, className, hasError, placeholder, value: controlledValue, defaultValue, onChange, onBlur, disabled, allowCustomInput, }: TextInputDropdownProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=text-input-dropdown.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text-input-dropdown.component.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/text-input-dropdown/text-input-dropdown.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAKzD,UAAU,sBAAsB;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAChD,KAAK,CAAC,EAAE,MAAM,KACX,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,iBAAiB,qIAW3B,sBAAsB,4CA0PxB,CAAC"}
|
package/lib/src/core-components/src/components/text-input-dropdown/text-input-dropdown.component.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect, useRef } from 'react';
|
|
3
|
-
import s from '../../tc.module.css';
|
|
4
|
-
import { cn } from '../../utils';
|
|
5
|
-
import { Icon } from '../';
|
|
6
|
-
export const TextInputDropdown = ({ items, className, hasError, placeholder = 'Select an option', value: controlledValue, defaultValue = '', onChange, onBlur, disabled = false, allowCustomInput = true, }) => {
|
|
7
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
8
|
-
const [internalValue, setInternalValue] = useState(defaultValue);
|
|
9
|
-
const [filteredItems, setFilteredItems] = useState(items);
|
|
10
|
-
const [isEditing, setIsEditing] = useState(false);
|
|
11
|
-
// Use controlled value if provided, otherwise use internal state
|
|
12
|
-
const value = controlledValue !== undefined ? controlledValue : internalValue;
|
|
13
|
-
const useOutsideAlerter = (ref) => {
|
|
14
|
-
useEffect(() => {
|
|
15
|
-
function handleClickOutside(event) {
|
|
16
|
-
if (ref.current && !ref.current.contains(event.target) && isOpen) {
|
|
17
|
-
setIsOpen(false);
|
|
18
|
-
setIsEditing(false);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
22
|
-
return () => {
|
|
23
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
24
|
-
};
|
|
25
|
-
}, [ref, isOpen]);
|
|
26
|
-
};
|
|
27
|
-
// Update filtered items when items prop changes
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
setFilteredItems(items);
|
|
30
|
-
}, [items]);
|
|
31
|
-
// Filter items based on current input value
|
|
32
|
-
useEffect(() => {
|
|
33
|
-
if (isEditing && value) {
|
|
34
|
-
const filtered = items.filter((item) => item.toLowerCase().includes(value.toLowerCase()));
|
|
35
|
-
setFilteredItems(filtered);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
setFilteredItems(items);
|
|
39
|
-
}
|
|
40
|
-
}, [value, items, isEditing]);
|
|
41
|
-
const handleInputChange = (event) => {
|
|
42
|
-
const inputValue = event.target.value;
|
|
43
|
-
if (controlledValue === undefined) {
|
|
44
|
-
setInternalValue(inputValue);
|
|
45
|
-
}
|
|
46
|
-
setIsEditing(true);
|
|
47
|
-
// Filter items based on input
|
|
48
|
-
const filtered = items.filter((item) => item.toLowerCase().includes(inputValue.toLowerCase()));
|
|
49
|
-
setFilteredItems(filtered);
|
|
50
|
-
onChange && onChange(inputValue);
|
|
51
|
-
};
|
|
52
|
-
const handleItemSelect = (item) => {
|
|
53
|
-
if (controlledValue === undefined) {
|
|
54
|
-
setInternalValue(item);
|
|
55
|
-
}
|
|
56
|
-
setIsOpen(false);
|
|
57
|
-
setIsEditing(false);
|
|
58
|
-
onChange && onChange(item);
|
|
59
|
-
if (item)
|
|
60
|
-
onBlur && onBlur(null, item); // Trigger onBlur when selection changes
|
|
61
|
-
};
|
|
62
|
-
const handleInputClick = () => {
|
|
63
|
-
if (!disabled) {
|
|
64
|
-
setIsOpen(!isOpen);
|
|
65
|
-
setIsEditing(true);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
const handleInputFocus = () => {
|
|
69
|
-
if (!disabled) {
|
|
70
|
-
setIsEditing(true);
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
const handleInputBlur = (event) => {
|
|
74
|
-
// Small delay to allow item selection to complete
|
|
75
|
-
setTimeout(() => {
|
|
76
|
-
setIsEditing(false);
|
|
77
|
-
}, 150);
|
|
78
|
-
onBlur && onBlur(event, value);
|
|
79
|
-
};
|
|
80
|
-
const wrapperRef = useRef(null);
|
|
81
|
-
useOutsideAlerter(wrapperRef);
|
|
82
|
-
return (_jsxs("div", { className: cn(className, s['relative']), children: [_jsxs("div", { className: cn(s['flex'], s['flex-row'], s['items-center'], s['leading-4'], s['p-2'], s['dark:bg-boxdark'], s['focus:outline-none'], s['focus:ring'], s['block'], s['w-full'], s['shadow-sm'], s['sm:text-base'], s['border'], s['rounded-md'], {
|
|
83
|
-
[s['border-red']]: hasError,
|
|
84
|
-
[s['border-gray-300']]: !hasError,
|
|
85
|
-
}), children: [_jsx("input", { type: "text", name: "name", placeholder: placeholder, value: value, disabled: disabled, className: cn(s['w-full'], s['bg-transparent'], s['border-0'], s['appearance-none'], s['focus:outline-none'], s['focus:ring-0'], s['font-arimaRegular'], s['text-md'], disabled && s['cursor-not-allowed'], disabled && s['opacity-50']), onClick: handleInputClick, onChange: allowCustomInput ? handleInputChange : undefined, onFocus: handleInputFocus, onBlur: handleInputBlur, readOnly: !allowCustomInput }), !disabled && (_jsx(Icon, { nameIcon: isOpen ? 'MdKeyboardArrowUp' : 'MdKeyboardArrowDown', propsIcon: { size: '16', color: '#000000' }, onClick: handleInputClick }))] }), isOpen && !disabled && (_jsx("div", { className: cn(s['z-10'], s['w-full'], s['absolute'], s['text-base'], s['list-none'], s['bg-white'], s['rounded'], s['divide-y'], s['divide-gray-100'], s['shadow'], s['dark:bg-gray-700'], s['max-h-60'], s['overflow-y-auto']), ref: wrapperRef, children: _jsxs("ul", { className: s['py-1'], children: [filteredItems.length > 0 ? (filteredItems.map((item, index) => (_jsx("li", { className: cn(s['block'], s['py-2'], s['px-4'], s['text-md'], s['hover:bg-gray-100'], s['dark:hover:bg-gray-600'], s['dark:text-gray-200'], s['font-arimaRegular'], s['cursor-pointer'],
|
|
86
|
-
// Highlight if this item matches current value
|
|
87
|
-
value === item && s['bg-blue-50'], value === item && s['text-blue-700']), onClick: () => handleItemSelect(item), children: item }, index)))) : (_jsx("li", { className: cn(s['block'], s['py-2'], s['px-4'], s['text-md'], s['text-gray-500'], s['font-arimaRegular']), children: allowCustomInput ? 'No matches found' : 'No options available' })), allowCustomInput &&
|
|
88
|
-
value &&
|
|
89
|
-
!items.includes(value) &&
|
|
90
|
-
isEditing && (_jsx("li", { className: cn(s['block'], s['py-2'], s['px-4'], s['text-md'], s['hover:bg-gray-100'], s['dark:hover:bg-gray-600'], s['dark:text-gray-200'], s['font-arimaRegular'], s['cursor-pointer'], s['border-t'], s['border-gray-200'], s['bg-green-50'], s['text-green-700']), onClick: () => handleItemSelect(value), children: _jsxs("span", { className: cn(s.flex, s['ml-2'], s['items-center'], s['gap-1']), children: [_jsx(Icon, { nameIcon: "MdAdd", propsIcon: { size: '16', color: '#059669' } }), "\"", value, "\""] }) }))] }) }))] }));
|
|
91
|
-
};
|
|
File without changes
|
|
File without changes
|