phx-react 1.3.1684 → 1.3.1685

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.
@@ -2,6 +2,14 @@ import React, { InputHTMLAttributes } from 'react';
2
2
  import { UseFormRegisterReturn } from 'react-hook-form';
3
3
  import { ComplexAction } from '../types';
4
4
  import * as OutlineIcons from '@heroicons/react/24/outline';
5
+ export interface ICustomSearchConfig {
6
+ onSearch: (value: string) => Promise<any[]>;
7
+ onClickSearchItem?: (item: any) => string;
8
+ renderItem?: (item: any) => React.ReactNode;
9
+ onAddNew?: (value: string) => void;
10
+ onClear?: () => void;
11
+ defaultText?: string;
12
+ }
5
13
  export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
6
14
  className?: string;
7
15
  label?: string;
@@ -23,5 +31,7 @@ export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
23
31
  suffixIcon?: keyof typeof OutlineIcons;
24
32
  labelAction?: ComplexAction;
25
33
  buttonAction?: ComplexAction;
34
+ searchConfig?: ICustomSearchConfig;
35
+ isSearchInput?: boolean;
26
36
  }
27
37
  export declare const PHXInput: React.FC<InputProps>;
@@ -2,12 +2,28 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PHXInput = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importDefault(require("react"));
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
6
  const types_1 = require("../types");
7
7
  const Button_1 = require("../Button");
8
8
  const ErrorMessage_1 = tslib_1.__importDefault(require("../../commons/ErrorMessage"));
9
9
  const OutlineIcons = tslib_1.__importStar(require("@heroicons/react/24/outline"));
10
- const PHXInput = ({ className, error, errorType, errorMessageCustom, helpText, label, register, registerSelect, listOption, disabled, selected, prefix, suffix, prefixIcon, suffixIcon, labelAction, buttonAction, ...rest }) => {
10
+ const Loading_1 = require("../Loading");
11
+ function AddNewButton({ className = '', onAddNew, searchValue, setShowList, }) {
12
+ return (react_1.default.createElement("button", { "aria-expanded": 'false', "aria-haspopup": 'listbox', className: `inset-y-0 right-0 flex w-full items-center rounded-md px-2 py-3 pr-4 font-sans text-xs text-gray-600 transition-colors hover:bg-[#e3e3e3] focus:outline-none ${className}`, onClick: () => {
13
+ if (onAddNew) {
14
+ onAddNew(searchValue);
15
+ }
16
+ setShowList(false);
17
+ }, tabIndex: -1, type: 'button' },
18
+ react_1.default.createElement("p", { className: 'flex w-full items-center text-left' },
19
+ react_1.default.createElement("span", { className: 'flex items-center font-bold' },
20
+ react_1.default.createElement("svg", { className: 'mr-1', fill: 'none', height: '20', viewBox: '0 0 20 20', width: '20', xmlns: 'http://www.w3.org/2000/svg' },
21
+ react_1.default.createElement("path", { d: 'M5.83334 9.99995C5.83334 9.53971 6.20644 9.16661 6.66667 9.16661H9.16667V6.66661C9.16667 6.20637 9.53977 5.83328 10 5.83328C10.4602 5.83328 10.8333 6.20637 10.8333 6.66661V9.16661H13.3333C13.7936 9.16661 14.1667 9.53971 14.1667 9.99995C14.1667 10.4602 13.7936 10.8333 13.3333 10.8333H10.8333V13.3333C10.8333 13.7935 10.4602 14.1666 10 14.1666C9.53977 14.1666 9.16667 13.7935 9.16667 13.3333V10.8333H6.66667C6.20644 10.8333 5.83334 10.4602 5.83334 9.99995Z', fill: '#908E8E' }),
22
+ react_1.default.createElement("path", { clipRule: 'evenodd', d: 'M10 17.7777C14.2956 17.7777 17.7778 14.2955 17.7778 9.99995C17.7778 5.7044 14.2956 2.22217 10 2.22217C5.70446 2.22217 2.22223 5.7044 2.22223 9.99995C2.22223 14.2955 5.70446 17.7777 10 17.7777ZM10 16.1111C13.3751 16.1111 16.1111 13.375 16.1111 9.99995C16.1111 6.62487 13.3751 3.88883 10 3.88883C6.62493 3.88883 3.8889 6.62487 3.8889 9.99995C3.8889 13.375 6.62493 16.1111 10 16.1111Z', fill: '#908E8E', fillRule: 'evenodd' })),
23
+ "Th\u00EAm:"),
24
+ react_1.default.createElement("span", { className: 'ml-1 truncate' }, searchValue))));
25
+ }
26
+ const PHXInput = ({ className, error, errorType, errorMessageCustom, helpText, label, register, registerSelect, listOption, disabled, selected, prefix, suffix, prefixIcon, suffixIcon, labelAction, buttonAction, searchConfig, onChange, isSearchInput = false, ...rest }) => {
11
27
  const message = (type) => {
12
28
  let errorMessage = '';
13
29
  switch (type) {
@@ -36,13 +52,100 @@ const PHXInput = ({ className, error, errorType, errorMessageCustom, helpText, l
36
52
  };
37
53
  const PrefixIconComponent = prefixIcon ? OutlineIcons[prefixIcon] : null;
38
54
  const SuffixIconComponent = suffixIcon ? OutlineIcons[suffixIcon] : null;
39
- return (react_1.default.createElement("div", { className: className },
55
+ const isSearchMode = isSearchInput && !!searchConfig;
56
+ const wrapperRef = (0, react_1.useRef)(null);
57
+ const [showList, setShowList] = (0, react_1.useState)(false);
58
+ const [searchValue, setSearchValue] = (0, react_1.useState)(isSearchMode ? (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.defaultText) || '' : '');
59
+ const [listData, setListData] = (0, react_1.useState)([]);
60
+ const [loading, setLoading] = (0, react_1.useState)(false);
61
+ const [showAddnew, setShowAddNew] = (0, react_1.useState)(false);
62
+ const handleSearch = async () => {
63
+ if (!isSearchMode || !searchConfig || !searchValue) {
64
+ setListData([]);
65
+ return;
66
+ }
67
+ try {
68
+ setLoading(true);
69
+ const results = await searchConfig.onSearch(searchValue);
70
+ setListData(results || []);
71
+ setShowAddNew(true);
72
+ }
73
+ catch (e) {
74
+ console.error('Search Error:', e);
75
+ setListData([]);
76
+ }
77
+ finally {
78
+ setLoading(false);
79
+ }
80
+ };
81
+ (0, react_1.useEffect)(() => {
82
+ if (!isSearchMode)
83
+ return;
84
+ if (!loading) {
85
+ setLoading(true);
86
+ }
87
+ const timerId = setTimeout(() => {
88
+ handleSearch();
89
+ }, 300);
90
+ return () => clearTimeout(timerId);
91
+ }, [searchValue]);
92
+ (0, react_1.useEffect)(() => {
93
+ const handleClickOutside = (event) => {
94
+ var _a;
95
+ if (wrapperRef.current && !((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
96
+ setShowList(false);
97
+ }
98
+ };
99
+ document.addEventListener('mousedown', handleClickOutside);
100
+ return () => {
101
+ document.removeEventListener('mousedown', handleClickOutside);
102
+ };
103
+ }, [wrapperRef]);
104
+ const handleSelectItem = (item) => {
105
+ if (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.onClickSearchItem) {
106
+ const value = searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.onClickSearchItem(item);
107
+ setSearchValue(value);
108
+ }
109
+ else {
110
+ setSearchValue('');
111
+ }
112
+ setShowList(false);
113
+ };
114
+ const handleInputChange = (event) => {
115
+ const value = event.target.value;
116
+ if (!isSearchMode) {
117
+ if (onChange)
118
+ onChange(event);
119
+ return;
120
+ }
121
+ if (!showList)
122
+ setShowList(true);
123
+ if (!value && (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.onClear)) {
124
+ searchConfig.onClear();
125
+ }
126
+ setSearchValue(value);
127
+ };
128
+ const isExistName = listData === null || listData === void 0 ? void 0 : listData.some((item) => { var _a; return ((_a = item === null || item === void 0 ? void 0 : item.name) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === (searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()); });
129
+ const inputProps = isSearchMode
130
+ ? {
131
+ value: searchValue,
132
+ onChange: handleInputChange,
133
+ }
134
+ : {
135
+ onChange: (e) => {
136
+ if (onChange)
137
+ onChange(e);
138
+ },
139
+ };
140
+ return (react_1.default.createElement("div", { className: className, ref: wrapperRef },
40
141
  react_1.default.createElement("div", { className: (0, types_1.classNames)(label ? 'flex mb-1 text-xs font-normal text-gray-700' : 'hidden', label && (labelAction === null || labelAction === void 0 ? void 0 : labelAction.content) ? 'justify-between' : '') },
41
142
  label && react_1.default.createElement("label", null, label),
42
143
  (labelAction === null || labelAction === void 0 ? void 0 : labelAction.content) && (react_1.default.createElement("p", { className: 'text-blue-600 hover:cursor-pointer hover:text-blue-800 hover:underline', onClick: labelAction.onClick }, labelAction.content))),
43
144
  react_1.default.createElement("div", { className: (0, types_1.classNames)((buttonAction === null || buttonAction === void 0 ? void 0 : buttonAction.content) ? 'flex gap-x-2' : '') },
44
145
  react_1.default.createElement("div", { className: (0, types_1.classNames)((buttonAction === null || buttonAction === void 0 ? void 0 : buttonAction.content) ? 'relative flex-1' : 'relative') },
45
- react_1.default.createElement("input", { ...register, ...rest, disabled: disabled, className: (0, types_1.classNames)('block w-full border-[0.5px] rounded-lg border-gray-500 py-1.5 px-3 text-xs font-normal shadow-sm hover:bg-gray-50 focus:border-gray-500 focus:bg-gray-50 focus:outline-none focus:outline-offset-1 focus:outline-indigo-500 focus:ring-transparent', error ? 'border-red-800 bg-red-50 hover:bg-red-50 focus:border-red-800 focus:bg-red-50' : '', disabled ? 'bg-neutral-200 border-[0px] hover:bg-neutral-200' : '', (!prefix || !prefixIcon) && 'pl-3', (!suffix || !suffixIcon) && 'pr-3'), style: {
146
+ react_1.default.createElement("input", { ...register, ...rest, ...inputProps, disabled: disabled, onChange: (e) => {
147
+ handleInputChange(e);
148
+ }, className: (0, types_1.classNames)('block w-full border-[0.5px] rounded-lg border-gray-500 py-1.5 px-3 text-xs font-normal shadow-sm hover:bg-gray-50 focus:border-gray-500 focus:bg-gray-50 focus:outline-none focus:outline-offset-1 focus:outline-indigo-500 focus:ring-transparent', error ? 'border-red-800 bg-red-50 hover:bg-red-50 focus:border-red-800 focus:bg-red-50' : '', disabled ? 'bg-neutral-200 border-[0px] hover:bg-neutral-200' : '', (!prefix || !prefixIcon) && 'pl-3', (!suffix || !suffixIcon) && 'pr-3'), style: {
46
149
  paddingLeft: `${prefix ? prefix.length + 2 + 'ch' : prefixIcon ? 28 + 'px' : 12 + 'px'}`,
47
150
  paddingRight: `${suffix ? suffix.length + 2 + 'ch' : suffixIcon ? 28 + 'px' : 12 + 'px'}`,
48
151
  } }),
@@ -53,8 +156,11 @@ const PHXInput = ({ className, error, errorType, errorMessageCustom, helpText, l
53
156
  SuffixIconComponent && (react_1.default.createElement("div", { className: 'absolute inset-y-0 right-2.5 flex items-center text-gray-500' },
54
157
  react_1.default.createElement(SuffixIconComponent, { className: 'h-4 w-4' }))),
55
158
  listOption && (react_1.default.createElement("div", { className: 'absolute inset-y-0 right-0 flex items-center' },
56
- react_1.default.createElement("select", { id: 'unit', ...registerSelect, className: 'h-full rounded-md border-0 bg-transparent py-0 pl-2 pr-7 text-gray-600 focus:ring-2 focus:ring-inset focus:ring-indigo-600 text-xs font-normal' }, listOption.map((item) => (react_1.default.createElement(react_1.default.Fragment, null,
57
- react_1.default.createElement("option", { key: item.id, value: item.id, selected: selected === item.id }, item.name)))))))),
159
+ react_1.default.createElement("select", { id: 'unit', ...registerSelect, className: 'h-full rounded-md border-0 bg-transparent py-0 pl-2 pr-7 text-gray-600 focus:ring-2 focus:ring-inset focus:ring-indigo-600 text-xs font-normal' }, listOption.map((item) => (react_1.default.createElement("option", { key: item.id, value: item.id, selected: selected === item.id }, item.name)))))),
160
+ isSearchMode && showList && searchValue && (react_1.default.createElement("div", { className: 'absolute z-50 mt-1 w-full overflow-hidden rounded-xl bg-white drop-shadow-xl' }, !loading ? (listData.length > 0 ? (react_1.default.createElement("div", { className: 'r mt-[2px] max-h-[250px] min-w-full divide-gray-200 overflow-y-auto rounded-xl border-[0.5px] px-2 py-1 ' },
161
+ !isExistName && (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.onAddNew) && (react_1.default.createElement(AddNewButton, { className: '!mt-1 !py-[6px] !pl-1', onAddNew: (value) => { var _a; return (_a = searchConfig.onAddNew) === null || _a === void 0 ? void 0 : _a.call(searchConfig, value); }, searchValue: searchValue, setShowList: setShowList })),
162
+ listData.map((item) => (react_1.default.createElement("button", { key: Math.random(), "aria-expanded": 'false', "aria-haspopup": 'listbox', "aria-labelledby": 'headlessui-combobox-label-:rk: headlessui-combobox-button-:rm:', className: 'inset-y-0 right-0 my-1 mt-1 flex w-full items-center rounded-md px-2 py-[6px] pr-4 font-sans text-xs text-gray-600 transition-colors hover:bg-[#e3e3e3] focus:outline-none', "data-headlessui-state": '', disabled: item.is_selected, onClick: () => handleSelectItem(item), tabIndex: -1, type: 'button' }, (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.renderItem) && searchConfig.renderItem(item)))))) : (react_1.default.createElement("div", { className: 'bg-whitetext-center mt-1 rounded-[10px] border-[1px] shadow-gray-900' }, (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.onAddNew) && showAddnew && (react_1.default.createElement(AddNewButton, { onAddNew: (value) => { var _a; return (_a = searchConfig.onAddNew) === null || _a === void 0 ? void 0 : _a.call(searchConfig, value); }, searchValue: searchValue, setShowList: setShowList }))))) : (react_1.default.createElement("div", { className: 'mt-2 h-[50px] rounded-[10px] border-[1px] bg-white py-3 text-center shadow-gray-900' },
163
+ react_1.default.createElement(Loading_1.PHXSpinner, null)))))),
58
164
  (buttonAction === null || buttonAction === void 0 ? void 0 : buttonAction.content) && (react_1.default.createElement(Button_1.PHXButton, { onClick: buttonAction.onClick, secondary: true, size: 'micro' }, buttonAction.content))),
59
165
  helpText ? react_1.default.createElement("div", { className: 'mt-1 text-xs text-gray-500' }, helpText) : null,
60
166
  error && errorType ? react_1.default.createElement(ErrorMessage_1.default, { message: message(errorType) }) : null));
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,14 @@ import React, { InputHTMLAttributes } from 'react';
2
2
  import { UseFormRegisterReturn } from 'react-hook-form';
3
3
  import { ComplexAction } from '../types';
4
4
  import * as OutlineIcons from '@heroicons/react/24/outline';
5
+ export interface ICustomSearchConfig {
6
+ onSearch: (value: string) => Promise<any[]>;
7
+ onClickSearchItem?: (item: any) => string;
8
+ renderItem?: (item: any) => React.ReactNode;
9
+ onAddNew?: (value: string) => void;
10
+ onClear?: () => void;
11
+ defaultText?: string;
12
+ }
5
13
  export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
6
14
  className?: string;
7
15
  label?: string;
@@ -23,5 +31,7 @@ export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
23
31
  suffixIcon?: keyof typeof OutlineIcons;
24
32
  labelAction?: ComplexAction;
25
33
  buttonAction?: ComplexAction;
34
+ searchConfig?: ICustomSearchConfig;
35
+ isSearchInput?: boolean;
26
36
  }
27
37
  export declare const PHXInput: React.FC<InputProps>;
@@ -1,9 +1,25 @@
1
- import React from 'react';
1
+ import React, { useEffect, useRef, useState } from 'react';
2
2
  import { classNames } from '../types';
3
3
  import { PHXButton } from '../Button';
4
4
  import ErrorMessage from '../../commons/ErrorMessage';
5
5
  import * as OutlineIcons from '@heroicons/react/24/outline';
6
- export const PHXInput = ({ className, error, errorType, errorMessageCustom, helpText, label, register, registerSelect, listOption, disabled, selected, prefix, suffix, prefixIcon, suffixIcon, labelAction, buttonAction, ...rest }) => {
6
+ import { PHXSpinner } from '../Loading';
7
+ function AddNewButton({ className = '', onAddNew, searchValue, setShowList, }) {
8
+ return (React.createElement("button", { "aria-expanded": 'false', "aria-haspopup": 'listbox', className: `inset-y-0 right-0 flex w-full items-center rounded-md px-2 py-3 pr-4 font-sans text-xs text-gray-600 transition-colors hover:bg-[#e3e3e3] focus:outline-none ${className}`, onClick: () => {
9
+ if (onAddNew) {
10
+ onAddNew(searchValue);
11
+ }
12
+ setShowList(false);
13
+ }, tabIndex: -1, type: 'button' },
14
+ React.createElement("p", { className: 'flex w-full items-center text-left' },
15
+ React.createElement("span", { className: 'flex items-center font-bold' },
16
+ React.createElement("svg", { className: 'mr-1', fill: 'none', height: '20', viewBox: '0 0 20 20', width: '20', xmlns: 'http://www.w3.org/2000/svg' },
17
+ React.createElement("path", { d: 'M5.83334 9.99995C5.83334 9.53971 6.20644 9.16661 6.66667 9.16661H9.16667V6.66661C9.16667 6.20637 9.53977 5.83328 10 5.83328C10.4602 5.83328 10.8333 6.20637 10.8333 6.66661V9.16661H13.3333C13.7936 9.16661 14.1667 9.53971 14.1667 9.99995C14.1667 10.4602 13.7936 10.8333 13.3333 10.8333H10.8333V13.3333C10.8333 13.7935 10.4602 14.1666 10 14.1666C9.53977 14.1666 9.16667 13.7935 9.16667 13.3333V10.8333H6.66667C6.20644 10.8333 5.83334 10.4602 5.83334 9.99995Z', fill: '#908E8E' }),
18
+ React.createElement("path", { clipRule: 'evenodd', d: 'M10 17.7777C14.2956 17.7777 17.7778 14.2955 17.7778 9.99995C17.7778 5.7044 14.2956 2.22217 10 2.22217C5.70446 2.22217 2.22223 5.7044 2.22223 9.99995C2.22223 14.2955 5.70446 17.7777 10 17.7777ZM10 16.1111C13.3751 16.1111 16.1111 13.375 16.1111 9.99995C16.1111 6.62487 13.3751 3.88883 10 3.88883C6.62493 3.88883 3.8889 6.62487 3.8889 9.99995C3.8889 13.375 6.62493 16.1111 10 16.1111Z', fill: '#908E8E', fillRule: 'evenodd' })),
19
+ "Th\u00EAm:"),
20
+ React.createElement("span", { className: 'ml-1 truncate' }, searchValue))));
21
+ }
22
+ export const PHXInput = ({ className, error, errorType, errorMessageCustom, helpText, label, register, registerSelect, listOption, disabled, selected, prefix, suffix, prefixIcon, suffixIcon, labelAction, buttonAction, searchConfig, onChange, isSearchInput = false, ...rest }) => {
7
23
  const message = (type) => {
8
24
  let errorMessage = '';
9
25
  switch (type) {
@@ -32,13 +48,100 @@ export const PHXInput = ({ className, error, errorType, errorMessageCustom, help
32
48
  };
33
49
  const PrefixIconComponent = prefixIcon ? OutlineIcons[prefixIcon] : null;
34
50
  const SuffixIconComponent = suffixIcon ? OutlineIcons[suffixIcon] : null;
35
- return (React.createElement("div", { className: className },
51
+ const isSearchMode = isSearchInput && !!searchConfig;
52
+ const wrapperRef = useRef(null);
53
+ const [showList, setShowList] = useState(false);
54
+ const [searchValue, setSearchValue] = useState(isSearchMode ? (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.defaultText) || '' : '');
55
+ const [listData, setListData] = useState([]);
56
+ const [loading, setLoading] = useState(false);
57
+ const [showAddnew, setShowAddNew] = useState(false);
58
+ const handleSearch = async () => {
59
+ if (!isSearchMode || !searchConfig || !searchValue) {
60
+ setListData([]);
61
+ return;
62
+ }
63
+ try {
64
+ setLoading(true);
65
+ const results = await searchConfig.onSearch(searchValue);
66
+ setListData(results || []);
67
+ setShowAddNew(true);
68
+ }
69
+ catch (e) {
70
+ console.error('Search Error:', e);
71
+ setListData([]);
72
+ }
73
+ finally {
74
+ setLoading(false);
75
+ }
76
+ };
77
+ useEffect(() => {
78
+ if (!isSearchMode)
79
+ return;
80
+ if (!loading) {
81
+ setLoading(true);
82
+ }
83
+ const timerId = setTimeout(() => {
84
+ handleSearch();
85
+ }, 300);
86
+ return () => clearTimeout(timerId);
87
+ }, [searchValue]);
88
+ useEffect(() => {
89
+ const handleClickOutside = (event) => {
90
+ var _a;
91
+ if (wrapperRef.current && !((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
92
+ setShowList(false);
93
+ }
94
+ };
95
+ document.addEventListener('mousedown', handleClickOutside);
96
+ return () => {
97
+ document.removeEventListener('mousedown', handleClickOutside);
98
+ };
99
+ }, [wrapperRef]);
100
+ const handleSelectItem = (item) => {
101
+ if (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.onClickSearchItem) {
102
+ const value = searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.onClickSearchItem(item);
103
+ setSearchValue(value);
104
+ }
105
+ else {
106
+ setSearchValue('');
107
+ }
108
+ setShowList(false);
109
+ };
110
+ const handleInputChange = (event) => {
111
+ const value = event.target.value;
112
+ if (!isSearchMode) {
113
+ if (onChange)
114
+ onChange(event);
115
+ return;
116
+ }
117
+ if (!showList)
118
+ setShowList(true);
119
+ if (!value && (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.onClear)) {
120
+ searchConfig.onClear();
121
+ }
122
+ setSearchValue(value);
123
+ };
124
+ const isExistName = listData === null || listData === void 0 ? void 0 : listData.some((item) => { var _a; return ((_a = item === null || item === void 0 ? void 0 : item.name) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === (searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()); });
125
+ const inputProps = isSearchMode
126
+ ? {
127
+ value: searchValue,
128
+ onChange: handleInputChange,
129
+ }
130
+ : {
131
+ onChange: (e) => {
132
+ if (onChange)
133
+ onChange(e);
134
+ },
135
+ };
136
+ return (React.createElement("div", { className: className, ref: wrapperRef },
36
137
  React.createElement("div", { className: classNames(label ? 'flex mb-1 text-xs font-normal text-gray-700' : 'hidden', label && (labelAction === null || labelAction === void 0 ? void 0 : labelAction.content) ? 'justify-between' : '') },
37
138
  label && React.createElement("label", null, label),
38
139
  (labelAction === null || labelAction === void 0 ? void 0 : labelAction.content) && (React.createElement("p", { className: 'text-blue-600 hover:cursor-pointer hover:text-blue-800 hover:underline', onClick: labelAction.onClick }, labelAction.content))),
39
140
  React.createElement("div", { className: classNames((buttonAction === null || buttonAction === void 0 ? void 0 : buttonAction.content) ? 'flex gap-x-2' : '') },
40
141
  React.createElement("div", { className: classNames((buttonAction === null || buttonAction === void 0 ? void 0 : buttonAction.content) ? 'relative flex-1' : 'relative') },
41
- React.createElement("input", { ...register, ...rest, disabled: disabled, className: classNames('block w-full border-[0.5px] rounded-lg border-gray-500 py-1.5 px-3 text-xs font-normal shadow-sm hover:bg-gray-50 focus:border-gray-500 focus:bg-gray-50 focus:outline-none focus:outline-offset-1 focus:outline-indigo-500 focus:ring-transparent', error ? 'border-red-800 bg-red-50 hover:bg-red-50 focus:border-red-800 focus:bg-red-50' : '', disabled ? 'bg-neutral-200 border-[0px] hover:bg-neutral-200' : '', (!prefix || !prefixIcon) && 'pl-3', (!suffix || !suffixIcon) && 'pr-3'), style: {
142
+ React.createElement("input", { ...register, ...rest, ...inputProps, disabled: disabled, onChange: (e) => {
143
+ handleInputChange(e);
144
+ }, className: classNames('block w-full border-[0.5px] rounded-lg border-gray-500 py-1.5 px-3 text-xs font-normal shadow-sm hover:bg-gray-50 focus:border-gray-500 focus:bg-gray-50 focus:outline-none focus:outline-offset-1 focus:outline-indigo-500 focus:ring-transparent', error ? 'border-red-800 bg-red-50 hover:bg-red-50 focus:border-red-800 focus:bg-red-50' : '', disabled ? 'bg-neutral-200 border-[0px] hover:bg-neutral-200' : '', (!prefix || !prefixIcon) && 'pl-3', (!suffix || !suffixIcon) && 'pr-3'), style: {
42
145
  paddingLeft: `${prefix ? prefix.length + 2 + 'ch' : prefixIcon ? 28 + 'px' : 12 + 'px'}`,
43
146
  paddingRight: `${suffix ? suffix.length + 2 + 'ch' : suffixIcon ? 28 + 'px' : 12 + 'px'}`,
44
147
  } }),
@@ -49,8 +152,11 @@ export const PHXInput = ({ className, error, errorType, errorMessageCustom, help
49
152
  SuffixIconComponent && (React.createElement("div", { className: 'absolute inset-y-0 right-2.5 flex items-center text-gray-500' },
50
153
  React.createElement(SuffixIconComponent, { className: 'h-4 w-4' }))),
51
154
  listOption && (React.createElement("div", { className: 'absolute inset-y-0 right-0 flex items-center' },
52
- React.createElement("select", { id: 'unit', ...registerSelect, className: 'h-full rounded-md border-0 bg-transparent py-0 pl-2 pr-7 text-gray-600 focus:ring-2 focus:ring-inset focus:ring-indigo-600 text-xs font-normal' }, listOption.map((item) => (React.createElement(React.Fragment, null,
53
- React.createElement("option", { key: item.id, value: item.id, selected: selected === item.id }, item.name)))))))),
155
+ React.createElement("select", { id: 'unit', ...registerSelect, className: 'h-full rounded-md border-0 bg-transparent py-0 pl-2 pr-7 text-gray-600 focus:ring-2 focus:ring-inset focus:ring-indigo-600 text-xs font-normal' }, listOption.map((item) => (React.createElement("option", { key: item.id, value: item.id, selected: selected === item.id }, item.name)))))),
156
+ isSearchMode && showList && searchValue && (React.createElement("div", { className: 'absolute z-50 mt-1 w-full overflow-hidden rounded-xl bg-white drop-shadow-xl' }, !loading ? (listData.length > 0 ? (React.createElement("div", { className: 'r mt-[2px] max-h-[250px] min-w-full divide-gray-200 overflow-y-auto rounded-xl border-[0.5px] px-2 py-1 ' },
157
+ !isExistName && (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.onAddNew) && (React.createElement(AddNewButton, { className: '!mt-1 !py-[6px] !pl-1', onAddNew: (value) => { var _a; return (_a = searchConfig.onAddNew) === null || _a === void 0 ? void 0 : _a.call(searchConfig, value); }, searchValue: searchValue, setShowList: setShowList })),
158
+ listData.map((item) => (React.createElement("button", { key: Math.random(), "aria-expanded": 'false', "aria-haspopup": 'listbox', "aria-labelledby": 'headlessui-combobox-label-:rk: headlessui-combobox-button-:rm:', className: 'inset-y-0 right-0 my-1 mt-1 flex w-full items-center rounded-md px-2 py-[6px] pr-4 font-sans text-xs text-gray-600 transition-colors hover:bg-[#e3e3e3] focus:outline-none', "data-headlessui-state": '', disabled: item.is_selected, onClick: () => handleSelectItem(item), tabIndex: -1, type: 'button' }, (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.renderItem) && searchConfig.renderItem(item)))))) : (React.createElement("div", { className: 'bg-whitetext-center mt-1 rounded-[10px] border-[1px] shadow-gray-900' }, (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.onAddNew) && showAddnew && (React.createElement(AddNewButton, { onAddNew: (value) => { var _a; return (_a = searchConfig.onAddNew) === null || _a === void 0 ? void 0 : _a.call(searchConfig, value); }, searchValue: searchValue, setShowList: setShowList }))))) : (React.createElement("div", { className: 'mt-2 h-[50px] rounded-[10px] border-[1px] bg-white py-3 text-center shadow-gray-900' },
159
+ React.createElement(PHXSpinner, null)))))),
54
160
  (buttonAction === null || buttonAction === void 0 ? void 0 : buttonAction.content) && (React.createElement(PHXButton, { onClick: buttonAction.onClick, secondary: true, size: 'micro' }, buttonAction.content))),
55
161
  helpText ? React.createElement("div", { className: 'mt-1 text-xs text-gray-500' }, helpText) : null,
56
162
  error && errorType ? React.createElement(ErrorMessage, { message: message(errorType) }) : null));
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phx-react",
3
- "version": "1.3.1684",
3
+ "version": "1.3.1685",
4
4
  "description": "PHX REACT",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",