phx-react 1.3.1416 → 1.3.1417

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.
@@ -19,7 +19,7 @@ export interface PHXSelectWithActionProps {
19
19
  suffix?: ReactNode;
20
20
  placeholder?: string;
21
21
  options: Array<SelectOption>;
22
- defaultValue?: string;
22
+ value?: string;
23
23
  search?: Search;
24
24
  onChange?(value: string): void;
25
25
  searchPlaceholder?: string;
@@ -35,4 +35,4 @@ export interface PHXSelectWithActionProps {
35
35
  onClick(): void;
36
36
  };
37
37
  }
38
- export declare function PHXSelectWithAction({ addNew, className, emptySearchState, emptyState, error, search, helpText, label, loading, maxHeight, onChange, options, placeholder, searchPlaceholder, suffix, defaultValue, }: PHXSelectWithActionProps): React.JSX.Element;
38
+ export declare function PHXSelectWithAction({ addNew, className, emptySearchState, emptyState, error, helpText, label, loading, maxHeight, onChange, options, placeholder, search, searchPlaceholder, suffix, value: defaultValue, }: PHXSelectWithActionProps): React.JSX.Element;
@@ -3,45 +3,75 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.PHXSelectWithAction = PHXSelectWithAction;
5
5
  var tslib_1 = require("tslib");
6
- var react_1 = require("@headlessui/react");
7
6
  var image_1 = tslib_1.__importDefault(require("next/image"));
8
- var react_2 = require("react");
7
+ var react_1 = require("react");
9
8
  var pencil_icon_svg_1 = tslib_1.__importDefault(require("../../assets/icons/pencil-icon.svg"));
10
9
  var plus_circle_icon_svg_1 = tslib_1.__importDefault(require("../../assets/icons/plus-circle-icon.svg"));
11
10
  var search_icon_svg_1 = tslib_1.__importDefault(require("../../assets/icons/search-icon.svg"));
12
11
  var chevron_down_icon_svg_1 = tslib_1.__importDefault(require("../../assets/icons/chevron-down-icon.svg"));
13
12
  var useDebounce_1 = tslib_1.__importDefault(require("../Func/useDebounce"));
14
- var react_3 = tslib_1.__importDefault(require("react"));
13
+ var react_2 = tslib_1.__importDefault(require("react"));
15
14
  var types_1 = require("../types");
16
15
  var IconLoading_1 = require("../../commons/IconLoading");
17
16
  var Text_1 = require("../Text/Text");
18
17
  var ADD_NEW_VALUE = 'ADD_NEW';
19
18
  function PHXSelectWithAction(_a) {
20
- var addNew = _a.addNew, className = _a.className, emptySearchState = _a.emptySearchState, emptyState = _a.emptyState, error = _a.error, search = _a.search, helpText = _a.helpText, label = _a.label, loading = _a.loading, _b = _a.maxHeight, maxHeight = _b === void 0 ? '300px' : _b, onChange = _a.onChange, options = _a.options, _c = _a.placeholder, placeholder = _c === void 0 ? 'Lựa chọn' : _c, _d = _a.searchPlaceholder, searchPlaceholder = _d === void 0 ? 'Tìm kiếm' : _d, suffix = _a.suffix, defaultValue = _a.defaultValue;
21
- var _e = (0, react_2.useState)(''), searchQuery = _e[0], setSearchQuery = _e[1];
19
+ var addNew = _a.addNew, _b = _a.className, className = _b === void 0 ? '' : _b, emptySearchState = _a.emptySearchState, emptyState = _a.emptyState, error = _a.error, helpText = _a.helpText, label = _a.label, loading = _a.loading, _c = _a.maxHeight, maxHeight = _c === void 0 ? '300px' : _c, onChange = _a.onChange, options = _a.options, _d = _a.placeholder, placeholder = _d === void 0 ? 'Lựa chọn' : _d, search = _a.search, _e = _a.searchPlaceholder, searchPlaceholder = _e === void 0 ? 'Tìm kiếm' : _e, suffix = _a.suffix, defaultValue = _a.value;
20
+ var _f = (0, react_1.useState)(''), searchQuery = _f[0], setSearchQuery = _f[1];
21
+ var _g = (0, react_1.useState)(false), isOpen = _g[0], setIsOpen = _g[1];
22
+ var _h = (0, react_1.useState)(false), isLeaving = _h[0], setIsLeaving = _h[1];
22
23
  var deferredQuery = (0, useDebounce_1.default)(searchQuery, 300);
23
24
  var filteredOptions = options.filter(function (option) { return option.label.toLowerCase().includes(deferredQuery.toLowerCase()); });
24
- (0, react_2.useEffect)(function () {
25
+ var containerRef = (0, react_1.useRef)(null);
26
+ var inputRef = (0, react_1.useRef)(null);
27
+ (0, react_1.useEffect)(function () {
25
28
  search === null || search === void 0 ? void 0 : search.handleFilter(deferredQuery);
26
29
  }, [deferredQuery]);
27
- (0, react_2.useEffect)(function () {
30
+ (0, react_1.useEffect)(function () {
28
31
  setSearchQuery((search === null || search === void 0 ? void 0 : search.value) || '');
29
32
  }, [search]);
33
+ var handleClose = function () {
34
+ setIsLeaving(true);
35
+ setTimeout(function () {
36
+ setIsOpen(false);
37
+ setIsLeaving(false);
38
+ setSearchQuery('');
39
+ }, 100);
40
+ };
41
+ (0, react_1.useEffect)(function () {
42
+ var handleClickOutside = function (event) {
43
+ if (containerRef.current && !containerRef.current.contains(event.target)) {
44
+ handleClose();
45
+ }
46
+ };
47
+ if (isOpen) {
48
+ document.addEventListener('mousedown', handleClickOutside);
49
+ }
50
+ return function () {
51
+ document.removeEventListener('mousedown', handleClickOutside);
52
+ };
53
+ }, [isOpen]);
54
+ (0, react_1.useEffect)(function () {
55
+ if (isOpen && search && inputRef.current) {
56
+ inputRef.current.focus();
57
+ }
58
+ }, [isOpen, search]);
30
59
  var selectedOption = options.find(function (opt) { return opt.value === defaultValue; });
31
60
  var handleChange = function (option) {
32
61
  if (option === ADD_NEW_VALUE) {
33
62
  addNew === null || addNew === void 0 ? void 0 : addNew.onClick();
63
+ handleClose();
34
64
  return;
35
65
  }
36
66
  if (option && typeof option !== 'string') {
37
67
  onChange === null || onChange === void 0 ? void 0 : onChange(option.value);
38
- setSearchQuery('');
68
+ handleClose();
39
69
  }
40
70
  };
41
71
  var getEmptyState = function () {
42
72
  if (loading) {
43
- return (react_3.default.createElement("div", { className: 'flex items-center justify-center' },
44
- react_3.default.createElement(IconLoading_1.IconLoading, { color: 'bg-gray-50' })));
73
+ return (react_2.default.createElement("div", { className: 'flex items-center justify-center' },
74
+ react_2.default.createElement(IconLoading_1.IconLoading, { color: 'bg-gray-50' })));
45
75
  }
46
76
  if (options.length === 0 && deferredQuery) {
47
77
  return emptySearchState || "Kh\u00F4ng t\u00ECm th\u1EA5y ".concat(label.toLowerCase(), " n\u00E0o");
@@ -54,48 +84,50 @@ function PHXSelectWithAction(_a) {
54
84
  }
55
85
  return pencil_icon_svg_1.default;
56
86
  };
57
- return (react_3.default.createElement("div", { className: (0, types_1.classNames)('relative w-full', className) },
58
- react_3.default.createElement("div", { className: 'mb-1 flex items-center justify-between' },
59
- react_3.default.createElement(Text_1.PHXText, null, label),
60
- suffix && react_3.default.createElement("div", { className: 'text-sm font-medium' }, suffix)),
61
- react_3.default.createElement(react_1.Combobox, { onChange: handleChange, value: selectedOption || null }, function (_a) {
62
- var open = _a.open;
63
- return (react_3.default.createElement(react_3.default.Fragment, null,
64
- react_3.default.createElement("div", { className: 'relative' },
65
- react_3.default.createElement(react_1.Combobox.Button, { className: (0, types_1.classNames)('border-input bg-background shadow-sm mt-1 flex w-full items-center justify-between rounded-lg border-[0.5px] border-gray-500 py-1.5 pl-3 pr-2 text-xs hover:bg-gray-50', defaultValue ? '' : 'text-muted-foreground', error ? 'border-red-800 bg-red-50 hover:bg-red-50 focus:border-red-800 focus:bg-red-50' : '') },
66
- react_3.default.createElement("span", { className: 'truncate' }, (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || placeholder),
67
- react_3.default.createElement(image_1.default, { alt: '', width: 20, height: 20, className: (0, types_1.classNames)(' shrink-0 transition-transform', open ? 'rotate-180' : ''),
87
+ var isOptionSelected = function (option) { return option.value === defaultValue; };
88
+ return (react_2.default.createElement("div", { ref: containerRef, className: (0, types_1.classNames)('relative w-full', className) },
89
+ react_2.default.createElement("div", { className: 'mb-1 flex items-center justify-between' },
90
+ react_2.default.createElement(Text_1.PHXText, null, label),
91
+ suffix && react_2.default.createElement("div", { className: 'text-sm font-medium' }, suffix)),
92
+ react_2.default.createElement("div", { className: 'relative' },
93
+ react_2.default.createElement("button", { className: (0, types_1.classNames)('border-input bg-background shadow-sm mt-1 flex w-full items-center justify-between rounded-lg border-[0.5px] border-gray-500 py-1.5 pl-3 pr-2 text-xs hover:bg-gray-50', defaultValue ? '' : 'text-muted-foreground', error ? 'border-red-800 bg-red-50 hover:bg-red-50 focus:border-red-800 focus:bg-red-50' : ''), onClick: function () { return setIsOpen(!isOpen); }, type: 'button' },
94
+ react_2.default.createElement("span", { className: 'truncate' }, (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || placeholder),
95
+ react_2.default.createElement(image_1.default, { alt: '', className: (0, types_1.classNames)(' shrink-0 transition-transform', isOpen ? 'rotate-180' : ''), height: 20,
96
+ // @ts-ignore
97
+ src: chevron_down_icon_svg_1.default, width: 20 })),
98
+ isOpen && (react_2.default.createElement("div", { className: (0, types_1.classNames)('border-border shadow-lg absolute z-50 mt-1 w-full rounded-lg border bg-white transition-opacity duration-100', isLeaving ? 'opacity-0' : 'opacity-100') },
99
+ search && (react_2.default.createElement("div", { className: 'border-border border-b p-3' },
100
+ react_2.default.createElement("div", { className: 'relative' },
101
+ react_2.default.createElement(image_1.default, { alt: '', className: 'text-muted-foreground pointer-events-none absolute left-3 top-1/2 -translate-y-1/2', height: 13,
68
102
  // @ts-ignore
69
- src: chevron_down_icon_svg_1.default })),
70
- react_3.default.createElement(react_1.Transition, { afterLeave: function () { return setSearchQuery(''); }, leave: 'transition ease-in duration-100', leaveFrom: 'opacity-100', leaveTo: 'opacity-0', show: open },
71
- react_3.default.createElement(react_1.Combobox.Options, { className: 'border-border shadow-lg absolute z-50 mt-1 w-full rounded-lg border bg-white' },
72
- search && (react_3.default.createElement("div", { className: 'border-border border-b p-3' },
73
- react_3.default.createElement("div", { className: 'relative' },
74
- react_3.default.createElement(image_1.default, { alt: '', className: 'text-muted-foreground pointer-events-none absolute left-3 top-1/2 -translate-y-1/2', height: 13,
75
- // @ts-ignore
76
- src: search_icon_svg_1.default, width: 13 }),
77
- react_3.default.createElement(react_1.Combobox.Input, { className: 'shadow-sm w-full rounded-lg border-[0.5px] border-gray-500 py-1.5 pr-4 text-xs font-normal outline-none transition-colors 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', displayValue: function () { return searchQuery; }, onChange: function (e) { return setSearchQuery(e.target.value); }, placeholder: searchPlaceholder, style: { paddingLeft: '30px' } })))),
78
- react_3.default.createElement("div", { className: 'scrollbar-thin scrollbar-track-transparent scrollbar-thumb-gray-300 hover:scrollbar-thumb-gray-400 overflow-y-auto', style: { maxHeight: maxHeight } },
79
- addNew && (react_3.default.createElement(react_1.Combobox.Option, { className: (0, types_1.classNames)('border-border flex w-full cursor-pointer items-center gap-2 border-b px-4 py-3 text-sm transition-colors hover:bg-zinc-100'), value: ADD_NEW_VALUE },
80
- react_3.default.createElement(image_1.default, { alt: '', height: 13, src: plus_circle_icon_svg_1.default, width: 13 }),
81
- react_3.default.createElement(Text_1.PHXText, null, addNew.title))),
82
- react_3.default.createElement("div", { className: ' p-2' }, filteredOptions.length > 0 ? (filteredOptions.map(function (option) { return (react_3.default.createElement(react_1.Combobox.Option, { key: option.value, className: function (_a) {
83
- var active = _a.active, selected = _a.selected;
84
- return (0, types_1.classNames)('group flex w-full cursor-pointer items-center justify-between rounded-md ', selected
85
- ? 'bg-zinc-200 font-semibold text-gray-900'
86
- : active
87
- ? 'bg-zinc-100 text-gray-900 '
88
- : 'text-gray-900 hover:bg-zinc-100');
89
- }, value: option }, function () { return (react_3.default.createElement(react_3.default.Fragment, null,
90
- react_3.default.createElement("div", { className: 'max-w-[90%] px-2 py-2.5 transition-colors' },
91
- react_3.default.createElement(Text_1.PHXText, null, option.label)),
92
- react_3.default.createElement("div", { className: 'mr-1 flex h-8 w-8 items-center justify-center rounded-md hover:bg-gray-200' }, !!option.action && (react_3.default.createElement("div", { className: ' flex items-center opacity-0 transition-opacity group-hover:opacity-100 ', onClick: function () { var _a; return (_a = option.action) === null || _a === void 0 ? void 0 : _a.onClick(option.value); } },
93
- react_3.default.createElement(image_1.default, { alt: '', height: 13, src: getIconItem(option.action.type), width: 13 })))))); })); })) : (react_3.default.createElement("div", { className: ' px-3 py-8 text-center' },
94
- react_3.default.createElement(Text_1.PHXText, { as: 'div' }, getEmptyState()))))))))));
95
- }),
96
- react_3.default.createElement("div", { className: " ".concat(error ? 'block' : 'hidden') },
97
- react_3.default.createElement(Text_1.PHXText, { as: 'div', tone: 'error' }, error)),
98
- react_3.default.createElement("div", { className: " ".concat(helpText ? 'block' : 'hidden') },
99
- react_3.default.createElement(Text_1.PHXText, { as: 'div', tone: 'subdued' }, helpText))));
103
+ src: search_icon_svg_1.default, width: 13 }),
104
+ react_2.default.createElement("input", { ref: inputRef, className: 'shadow-sm w-full rounded-lg border-[0.5px] border-gray-500 py-1.5 pr-4 text-xs font-normal outline-none transition-colors 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', onChange: function (e) { return setSearchQuery(e.target.value); }, placeholder: searchPlaceholder, style: { paddingLeft: '30px' }, type: 'text', value: searchQuery })))),
105
+ react_2.default.createElement("div", { className: 'scrollbar-thin scrollbar-track-transparent scrollbar-thumb-gray-300 hover:scrollbar-thumb-gray-400 overflow-y-auto', style: { maxHeight: maxHeight } },
106
+ addNew && (react_2.default.createElement("button", { className: (0, types_1.classNames)('border-border flex w-full cursor-pointer items-center gap-2 border-b px-4 py-3 text-sm transition-colors hover:bg-zinc-100'), onClick: function () { return handleChange(ADD_NEW_VALUE); }, type: 'button' },
107
+ react_2.default.createElement(image_1.default, { alt: '', height: 13, src: plus_circle_icon_svg_1.default, width: 13 }),
108
+ react_2.default.createElement(Text_1.PHXText, null, addNew.title))),
109
+ react_2.default.createElement("div", { className: ' p-2' }, filteredOptions.length > 0 ? (filteredOptions.map(function (option) {
110
+ var selected = isOptionSelected(option);
111
+ return (react_2.default.createElement("button", { key: option.value, className: (0, types_1.classNames)('group flex w-full cursor-pointer items-center justify-between rounded-md ', selected ? 'bg-zinc-200 font-semibold text-gray-900' : 'text-gray-900 hover:bg-zinc-100'), onClick: function () { return handleChange(option); }, type: 'button' },
112
+ react_2.default.createElement("div", { className: 'max-w-[90%] px-2 py-2.5 text-left transition-colors' },
113
+ react_2.default.createElement(Text_1.PHXText, null, option.label)),
114
+ react_2.default.createElement("div", { className: 'mr-1 flex h-8 w-8 items-center justify-center rounded-md hover:bg-gray-200' }, !!option.action && (react_2.default.createElement("div", { className: ' flex items-center opacity-0 transition-opacity group-hover:opacity-100 ', onClick: function (e) {
115
+ var _a;
116
+ e.stopPropagation();
117
+ (_a = option.action) === null || _a === void 0 ? void 0 : _a.onClick(option.value);
118
+ }, onKeyDown: function (e) {
119
+ var _a;
120
+ if (e.key === 'Enter' || e.key === ' ') {
121
+ e.preventDefault();
122
+ (_a = option.action) === null || _a === void 0 ? void 0 : _a.onClick(option.value);
123
+ }
124
+ }, role: 'button', tabIndex: 0 },
125
+ react_2.default.createElement(image_1.default, { alt: '', height: 13, src: getIconItem(option.action.type), width: 13 }))))));
126
+ })) : (react_2.default.createElement("div", { className: ' px-3 py-8 text-center' },
127
+ react_2.default.createElement(Text_1.PHXText, { as: 'div' }, getEmptyState())))))))),
128
+ react_2.default.createElement("div", { className: "".concat(error ? 'mt-1 block' : 'hidden') },
129
+ react_2.default.createElement(Text_1.PHXText, { as: 'div', tone: 'error' }, error)),
130
+ react_2.default.createElement("div", { className: "".concat(helpText ? 'mt-1 block' : 'hidden') },
131
+ react_2.default.createElement(Text_1.PHXText, { as: 'div', tone: 'subdued' }, helpText))));
100
132
  }
101
133
  //# sourceMappingURL=SelectWithAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectWithAction.js","sourceRoot":"","sources":["../../../../src/components/SelectWithAction/SelectWithAction.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectWithAction.js","sourceRoot":"","sources":["../../../../src/components/SelectWithAction/SelectWithAction.tsx"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export interface PHXSelectWithActionProps {
19
19
  suffix?: ReactNode;
20
20
  placeholder?: string;
21
21
  options: Array<SelectOption>;
22
- defaultValue?: string;
22
+ value?: string;
23
23
  search?: Search;
24
24
  onChange?(value: string): void;
25
25
  searchPlaceholder?: string;
@@ -35,4 +35,4 @@ export interface PHXSelectWithActionProps {
35
35
  onClick(): void;
36
36
  };
37
37
  }
38
- export declare function PHXSelectWithAction({ addNew, className, emptySearchState, emptyState, error, search, helpText, label, loading, maxHeight, onChange, options, placeholder, searchPlaceholder, suffix, defaultValue, }: PHXSelectWithActionProps): React.JSX.Element;
38
+ export declare function PHXSelectWithAction({ addNew, className, emptySearchState, emptyState, error, helpText, label, loading, maxHeight, onChange, options, placeholder, search, searchPlaceholder, suffix, value: defaultValue, }: PHXSelectWithActionProps): React.JSX.Element;
@@ -1,7 +1,6 @@
1
1
  'use client';
2
- import { Combobox, Transition } from '@headlessui/react';
3
2
  import Image from 'next/image';
4
- import { useEffect, useState } from 'react';
3
+ import { useEffect, useRef, useState } from 'react';
5
4
  import PencilIcon from '../../assets/icons/pencil-icon.svg';
6
5
  import PlusIcon from '../../assets/icons/plus-circle-icon.svg';
7
6
  import SearchIcon from '../../assets/icons/search-icon.svg';
@@ -13,25 +12,56 @@ import { IconLoading } from '../../commons/IconLoading';
13
12
  import { PHXText } from '../Text/Text';
14
13
  var ADD_NEW_VALUE = 'ADD_NEW';
15
14
  export function PHXSelectWithAction(_a) {
16
- var addNew = _a.addNew, className = _a.className, emptySearchState = _a.emptySearchState, emptyState = _a.emptyState, error = _a.error, search = _a.search, helpText = _a.helpText, label = _a.label, loading = _a.loading, _b = _a.maxHeight, maxHeight = _b === void 0 ? '300px' : _b, onChange = _a.onChange, options = _a.options, _c = _a.placeholder, placeholder = _c === void 0 ? 'Lựa chọn' : _c, _d = _a.searchPlaceholder, searchPlaceholder = _d === void 0 ? 'Tìm kiếm' : _d, suffix = _a.suffix, defaultValue = _a.defaultValue;
17
- var _e = useState(''), searchQuery = _e[0], setSearchQuery = _e[1];
15
+ var addNew = _a.addNew, _b = _a.className, className = _b === void 0 ? '' : _b, emptySearchState = _a.emptySearchState, emptyState = _a.emptyState, error = _a.error, helpText = _a.helpText, label = _a.label, loading = _a.loading, _c = _a.maxHeight, maxHeight = _c === void 0 ? '300px' : _c, onChange = _a.onChange, options = _a.options, _d = _a.placeholder, placeholder = _d === void 0 ? 'Lựa chọn' : _d, search = _a.search, _e = _a.searchPlaceholder, searchPlaceholder = _e === void 0 ? 'Tìm kiếm' : _e, suffix = _a.suffix, defaultValue = _a.value;
16
+ var _f = useState(''), searchQuery = _f[0], setSearchQuery = _f[1];
17
+ var _g = useState(false), isOpen = _g[0], setIsOpen = _g[1];
18
+ var _h = useState(false), isLeaving = _h[0], setIsLeaving = _h[1];
18
19
  var deferredQuery = PHXUseDebounce(searchQuery, 300);
19
20
  var filteredOptions = options.filter(function (option) { return option.label.toLowerCase().includes(deferredQuery.toLowerCase()); });
21
+ var containerRef = useRef(null);
22
+ var inputRef = useRef(null);
20
23
  useEffect(function () {
21
24
  search === null || search === void 0 ? void 0 : search.handleFilter(deferredQuery);
22
25
  }, [deferredQuery]);
23
26
  useEffect(function () {
24
27
  setSearchQuery((search === null || search === void 0 ? void 0 : search.value) || '');
25
28
  }, [search]);
29
+ var handleClose = function () {
30
+ setIsLeaving(true);
31
+ setTimeout(function () {
32
+ setIsOpen(false);
33
+ setIsLeaving(false);
34
+ setSearchQuery('');
35
+ }, 100);
36
+ };
37
+ useEffect(function () {
38
+ var handleClickOutside = function (event) {
39
+ if (containerRef.current && !containerRef.current.contains(event.target)) {
40
+ handleClose();
41
+ }
42
+ };
43
+ if (isOpen) {
44
+ document.addEventListener('mousedown', handleClickOutside);
45
+ }
46
+ return function () {
47
+ document.removeEventListener('mousedown', handleClickOutside);
48
+ };
49
+ }, [isOpen]);
50
+ useEffect(function () {
51
+ if (isOpen && search && inputRef.current) {
52
+ inputRef.current.focus();
53
+ }
54
+ }, [isOpen, search]);
26
55
  var selectedOption = options.find(function (opt) { return opt.value === defaultValue; });
27
56
  var handleChange = function (option) {
28
57
  if (option === ADD_NEW_VALUE) {
29
58
  addNew === null || addNew === void 0 ? void 0 : addNew.onClick();
59
+ handleClose();
30
60
  return;
31
61
  }
32
62
  if (option && typeof option !== 'string') {
33
63
  onChange === null || onChange === void 0 ? void 0 : onChange(option.value);
34
- setSearchQuery('');
64
+ handleClose();
35
65
  }
36
66
  };
37
67
  var getEmptyState = function () {
@@ -50,48 +80,50 @@ export function PHXSelectWithAction(_a) {
50
80
  }
51
81
  return PencilIcon;
52
82
  };
53
- return (React.createElement("div", { className: classNames('relative w-full', className) },
83
+ var isOptionSelected = function (option) { return option.value === defaultValue; };
84
+ return (React.createElement("div", { ref: containerRef, className: classNames('relative w-full', className) },
54
85
  React.createElement("div", { className: 'mb-1 flex items-center justify-between' },
55
86
  React.createElement(PHXText, null, label),
56
87
  suffix && React.createElement("div", { className: 'text-sm font-medium' }, suffix)),
57
- React.createElement(Combobox, { onChange: handleChange, value: selectedOption || null }, function (_a) {
58
- var open = _a.open;
59
- return (React.createElement(React.Fragment, null,
60
- React.createElement("div", { className: 'relative' },
61
- React.createElement(Combobox.Button, { className: classNames('border-input bg-background shadow-sm mt-1 flex w-full items-center justify-between rounded-lg border-[0.5px] border-gray-500 py-1.5 pl-3 pr-2 text-xs hover:bg-gray-50', defaultValue ? '' : 'text-muted-foreground', error ? 'border-red-800 bg-red-50 hover:bg-red-50 focus:border-red-800 focus:bg-red-50' : '') },
62
- React.createElement("span", { className: 'truncate' }, (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || placeholder),
63
- React.createElement(Image, { alt: '', width: 20, height: 20, className: classNames(' shrink-0 transition-transform', open ? 'rotate-180' : ''),
88
+ React.createElement("div", { className: 'relative' },
89
+ React.createElement("button", { className: classNames('border-input bg-background shadow-sm mt-1 flex w-full items-center justify-between rounded-lg border-[0.5px] border-gray-500 py-1.5 pl-3 pr-2 text-xs hover:bg-gray-50', defaultValue ? '' : 'text-muted-foreground', error ? 'border-red-800 bg-red-50 hover:bg-red-50 focus:border-red-800 focus:bg-red-50' : ''), onClick: function () { return setIsOpen(!isOpen); }, type: 'button' },
90
+ React.createElement("span", { className: 'truncate' }, (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || placeholder),
91
+ React.createElement(Image, { alt: '', className: classNames(' shrink-0 transition-transform', isOpen ? 'rotate-180' : ''), height: 20,
92
+ // @ts-ignore
93
+ src: ChevronDownIcon, width: 20 })),
94
+ isOpen && (React.createElement("div", { className: classNames('border-border shadow-lg absolute z-50 mt-1 w-full rounded-lg border bg-white transition-opacity duration-100', isLeaving ? 'opacity-0' : 'opacity-100') },
95
+ search && (React.createElement("div", { className: 'border-border border-b p-3' },
96
+ React.createElement("div", { className: 'relative' },
97
+ React.createElement(Image, { alt: '', className: 'text-muted-foreground pointer-events-none absolute left-3 top-1/2 -translate-y-1/2', height: 13,
64
98
  // @ts-ignore
65
- src: ChevronDownIcon })),
66
- React.createElement(Transition, { afterLeave: function () { return setSearchQuery(''); }, leave: 'transition ease-in duration-100', leaveFrom: 'opacity-100', leaveTo: 'opacity-0', show: open },
67
- React.createElement(Combobox.Options, { className: 'border-border shadow-lg absolute z-50 mt-1 w-full rounded-lg border bg-white' },
68
- search && (React.createElement("div", { className: 'border-border border-b p-3' },
69
- React.createElement("div", { className: 'relative' },
70
- React.createElement(Image, { alt: '', className: 'text-muted-foreground pointer-events-none absolute left-3 top-1/2 -translate-y-1/2', height: 13,
71
- // @ts-ignore
72
- src: SearchIcon, width: 13 }),
73
- React.createElement(Combobox.Input, { className: 'shadow-sm w-full rounded-lg border-[0.5px] border-gray-500 py-1.5 pr-4 text-xs font-normal outline-none transition-colors 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', displayValue: function () { return searchQuery; }, onChange: function (e) { return setSearchQuery(e.target.value); }, placeholder: searchPlaceholder, style: { paddingLeft: '30px' } })))),
74
- React.createElement("div", { className: 'scrollbar-thin scrollbar-track-transparent scrollbar-thumb-gray-300 hover:scrollbar-thumb-gray-400 overflow-y-auto', style: { maxHeight: maxHeight } },
75
- addNew && (React.createElement(Combobox.Option, { className: classNames('border-border flex w-full cursor-pointer items-center gap-2 border-b px-4 py-3 text-sm transition-colors hover:bg-zinc-100'), value: ADD_NEW_VALUE },
76
- React.createElement(Image, { alt: '', height: 13, src: PlusIcon, width: 13 }),
77
- React.createElement(PHXText, null, addNew.title))),
78
- React.createElement("div", { className: ' p-2' }, filteredOptions.length > 0 ? (filteredOptions.map(function (option) { return (React.createElement(Combobox.Option, { key: option.value, className: function (_a) {
79
- var active = _a.active, selected = _a.selected;
80
- return classNames('group flex w-full cursor-pointer items-center justify-between rounded-md ', selected
81
- ? 'bg-zinc-200 font-semibold text-gray-900'
82
- : active
83
- ? 'bg-zinc-100 text-gray-900 '
84
- : 'text-gray-900 hover:bg-zinc-100');
85
- }, value: option }, function () { return (React.createElement(React.Fragment, null,
86
- React.createElement("div", { className: 'max-w-[90%] px-2 py-2.5 transition-colors' },
87
- React.createElement(PHXText, null, option.label)),
88
- React.createElement("div", { className: 'mr-1 flex h-8 w-8 items-center justify-center rounded-md hover:bg-gray-200' }, !!option.action && (React.createElement("div", { className: ' flex items-center opacity-0 transition-opacity group-hover:opacity-100 ', onClick: function () { var _a; return (_a = option.action) === null || _a === void 0 ? void 0 : _a.onClick(option.value); } },
89
- React.createElement(Image, { alt: '', height: 13, src: getIconItem(option.action.type), width: 13 })))))); })); })) : (React.createElement("div", { className: ' px-3 py-8 text-center' },
90
- React.createElement(PHXText, { as: 'div' }, getEmptyState()))))))))));
91
- }),
92
- React.createElement("div", { className: " ".concat(error ? 'block' : 'hidden') },
99
+ src: SearchIcon, width: 13 }),
100
+ React.createElement("input", { ref: inputRef, className: 'shadow-sm w-full rounded-lg border-[0.5px] border-gray-500 py-1.5 pr-4 text-xs font-normal outline-none transition-colors 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', onChange: function (e) { return setSearchQuery(e.target.value); }, placeholder: searchPlaceholder, style: { paddingLeft: '30px' }, type: 'text', value: searchQuery })))),
101
+ React.createElement("div", { className: 'scrollbar-thin scrollbar-track-transparent scrollbar-thumb-gray-300 hover:scrollbar-thumb-gray-400 overflow-y-auto', style: { maxHeight: maxHeight } },
102
+ addNew && (React.createElement("button", { className: classNames('border-border flex w-full cursor-pointer items-center gap-2 border-b px-4 py-3 text-sm transition-colors hover:bg-zinc-100'), onClick: function () { return handleChange(ADD_NEW_VALUE); }, type: 'button' },
103
+ React.createElement(Image, { alt: '', height: 13, src: PlusIcon, width: 13 }),
104
+ React.createElement(PHXText, null, addNew.title))),
105
+ React.createElement("div", { className: ' p-2' }, filteredOptions.length > 0 ? (filteredOptions.map(function (option) {
106
+ var selected = isOptionSelected(option);
107
+ return (React.createElement("button", { key: option.value, className: classNames('group flex w-full cursor-pointer items-center justify-between rounded-md ', selected ? 'bg-zinc-200 font-semibold text-gray-900' : 'text-gray-900 hover:bg-zinc-100'), onClick: function () { return handleChange(option); }, type: 'button' },
108
+ React.createElement("div", { className: 'max-w-[90%] px-2 py-2.5 text-left transition-colors' },
109
+ React.createElement(PHXText, null, option.label)),
110
+ React.createElement("div", { className: 'mr-1 flex h-8 w-8 items-center justify-center rounded-md hover:bg-gray-200' }, !!option.action && (React.createElement("div", { className: ' flex items-center opacity-0 transition-opacity group-hover:opacity-100 ', onClick: function (e) {
111
+ var _a;
112
+ e.stopPropagation();
113
+ (_a = option.action) === null || _a === void 0 ? void 0 : _a.onClick(option.value);
114
+ }, onKeyDown: function (e) {
115
+ var _a;
116
+ if (e.key === 'Enter' || e.key === ' ') {
117
+ e.preventDefault();
118
+ (_a = option.action) === null || _a === void 0 ? void 0 : _a.onClick(option.value);
119
+ }
120
+ }, role: 'button', tabIndex: 0 },
121
+ React.createElement(Image, { alt: '', height: 13, src: getIconItem(option.action.type), width: 13 }))))));
122
+ })) : (React.createElement("div", { className: ' px-3 py-8 text-center' },
123
+ React.createElement(PHXText, { as: 'div' }, getEmptyState())))))))),
124
+ React.createElement("div", { className: "".concat(error ? 'mt-1 block' : 'hidden') },
93
125
  React.createElement(PHXText, { as: 'div', tone: 'error' }, error)),
94
- React.createElement("div", { className: " ".concat(helpText ? 'block' : 'hidden') },
126
+ React.createElement("div", { className: "".concat(helpText ? 'mt-1 block' : 'hidden') },
95
127
  React.createElement(PHXText, { as: 'div', tone: 'subdued' }, helpText))));
96
128
  }
97
129
  //# sourceMappingURL=SelectWithAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectWithAction.js","sourceRoot":"","sources":["../../../../src/components/SelectWithAction/SelectWithAction.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectWithAction.js","sourceRoot":"","sources":["../../../../src/components/SelectWithAction/SelectWithAction.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.1416",
3
+ "version": "1.3.1417",
4
4
  "description": "PHX REACT",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",