@oneplatformdev/ui 0.1.10-90 → 0.1.10-92
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/CHANGELOG.md +16 -0
- package/Combobox/Combobox.d.ts.map +1 -1
- package/Combobox/Combobox.js +103 -97
- package/Combobox/Combobox.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
## 0.1.10-92 (2025-11-25)
|
|
2
|
+
|
|
3
|
+
### 🧱 Updated Dependencies
|
|
4
|
+
|
|
5
|
+
- Updated @oneplatformdev/utils to 0.1.1-141
|
|
6
|
+
- Updated @oneplatformdev/hooks to 0.1.0-127
|
|
7
|
+
- Updated @oneplatformdev/tokens to 0.0.1-114
|
|
8
|
+
|
|
9
|
+
## 0.1.10-91 (2025-11-25)
|
|
10
|
+
|
|
11
|
+
### 🧱 Updated Dependencies
|
|
12
|
+
|
|
13
|
+
- Updated @oneplatformdev/utils to 0.1.1-140
|
|
14
|
+
- Updated @oneplatformdev/hooks to 0.1.0-126
|
|
15
|
+
- Updated @oneplatformdev/tokens to 0.0.1-113
|
|
16
|
+
|
|
1
17
|
## 0.1.10-90 (2025-11-25)
|
|
2
18
|
|
|
3
19
|
### 🧱 Updated Dependencies
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/Combobox/Combobox.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAGL,aAAa,EACd,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/Combobox/Combobox.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAGL,aAAa,EACd,MAAM,kBAAkB,CAAC;AAqB1B,eAAO,MAAM,QAAQ,0GA+PpB,CAAC"}
|
package/Combobox/Combobox.js
CHANGED
|
@@ -1,122 +1,128 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import { forwardRef as ee, useRef as te, useState as
|
|
1
|
+
import { jsx as t, jsxs as d, Fragment as V } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as ee, useRef as te, useState as u, useCallback as m, useEffect as ne, useMemo as T, useLayoutEffect as oe } from "react";
|
|
3
3
|
import { LoadingMask as re } from "../LoadingMask/LoadingMask.js";
|
|
4
4
|
import "../LoadingMask/RenderLoadingMask.js";
|
|
5
|
-
import { Popover as ae, PopoverTrigger as se, PopoverContent as
|
|
6
|
-
import { Button as
|
|
5
|
+
import { Popover as ae, PopoverTrigger as se, PopoverContent as le } from "../Popover/Popover.js";
|
|
6
|
+
import { Button as ie } from "../Button/Button.js";
|
|
7
7
|
import "../Button/buttonVariants.js";
|
|
8
|
-
import { Command as ce, CommandInput as pe, CommandList as
|
|
9
|
-
import { cn as
|
|
8
|
+
import { Command as ce, CommandInput as pe, CommandList as de, CommandGroup as ue, CommandEmpty as W, CommandItem as me } from "../Command/Command.js";
|
|
9
|
+
import { cn as A } from "@oneplatformdev/utils";
|
|
10
10
|
import { useDebounceCallback as fe } from "@oneplatformdev/hooks";
|
|
11
11
|
import { X as he, ChevronsUpDown as ge } from "lucide-react";
|
|
12
12
|
import { ComboboxOptions as be } from "./ComboboxOptions.js";
|
|
13
|
-
const
|
|
14
|
-
|
|
13
|
+
const ve = (O) => {
|
|
14
|
+
const { value: f, flattenOptions: n = [], selectedOption: S } = O;
|
|
15
|
+
if (!f) return "No value for render label";
|
|
16
|
+
const C = [n.find((h) => String(h.value).toLowerCase() === String(f).toLowerCase()), S].filter(Boolean).map((h) => h.label).find(Boolean);
|
|
17
|
+
return C || f;
|
|
18
|
+
}, Ee = ee(
|
|
19
|
+
(O, f) => {
|
|
15
20
|
const {
|
|
16
|
-
value:
|
|
17
|
-
onChange:
|
|
18
|
-
placeholder:
|
|
19
|
-
disabled:
|
|
20
|
-
searchLabel:
|
|
21
|
-
fetchOptions:
|
|
22
|
-
options:
|
|
23
|
-
emptyLabel:
|
|
24
|
-
emptyAction:
|
|
25
|
-
commandInputAction:
|
|
26
|
-
listHeadAction:
|
|
27
|
-
onMount:
|
|
28
|
-
} =
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
if (
|
|
32
|
-
for (const
|
|
33
|
-
|
|
21
|
+
value: n,
|
|
22
|
+
onChange: S,
|
|
23
|
+
placeholder: F,
|
|
24
|
+
disabled: C,
|
|
25
|
+
searchLabel: h = "Type to search...",
|
|
26
|
+
fetchOptions: X,
|
|
27
|
+
options: N,
|
|
28
|
+
emptyLabel: I = "No options",
|
|
29
|
+
emptyAction: y,
|
|
30
|
+
commandInputAction: L,
|
|
31
|
+
listHeadAction: w,
|
|
32
|
+
onMount: k
|
|
33
|
+
} = O, B = te(!1), [i, P] = u(!1), [a, D] = u(""), [c, E] = u(), [r, p] = u(!1), [o, _] = u([]), [R, J] = u([]), g = m((e) => {
|
|
34
|
+
const v = (M) => {
|
|
35
|
+
const s = [], H = (x) => {
|
|
36
|
+
if (x)
|
|
37
|
+
for (const l of x)
|
|
38
|
+
s.push(l), l.items && l.items.length && H(l.items);
|
|
34
39
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
H(M), J((x) => {
|
|
41
|
+
const l = c || s.find((j) => !!n && String(j.value) === String(n)) || x.find((j) => !!n && String(j.value) === String(n));
|
|
42
|
+
return l ? [l, ...s] : s;
|
|
43
|
+
});
|
|
38
44
|
};
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return
|
|
45
|
+
_((M) => {
|
|
46
|
+
const s = typeof e == "function" ? e(M) : e;
|
|
47
|
+
return v(s), s;
|
|
42
48
|
});
|
|
43
|
-
}, [
|
|
44
|
-
ne(() => {
|
|
45
|
-
|
|
46
|
-
}, [
|
|
49
|
+
}, [c, n]);
|
|
50
|
+
console.log("value", n), console.log("selectedOption", c), console.log("options", o), console.log("flattenOptions", R), ne(() => {
|
|
51
|
+
N?.length && g(N);
|
|
52
|
+
}, [N]);
|
|
47
53
|
const K = async () => {
|
|
48
|
-
i || (
|
|
49
|
-
},
|
|
50
|
-
|
|
54
|
+
i || (z(), D(""));
|
|
55
|
+
}, z = m(async (e) => {
|
|
56
|
+
p(!0);
|
|
51
57
|
try {
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
} catch (
|
|
55
|
-
console.error("Unexpected error while get option:",
|
|
58
|
+
const v = await X(e);
|
|
59
|
+
g(v);
|
|
60
|
+
} catch (v) {
|
|
61
|
+
console.error("Unexpected error while get option:", v);
|
|
56
62
|
} finally {
|
|
57
|
-
|
|
63
|
+
p(!1);
|
|
58
64
|
}
|
|
59
|
-
}, [
|
|
65
|
+
}, [g]), Q = fe(z, 1e3, {
|
|
60
66
|
leading: !1,
|
|
61
67
|
trailing: !0
|
|
62
68
|
}), Y = m((e) => {
|
|
63
|
-
|
|
64
|
-
}, []),
|
|
65
|
-
|
|
69
|
+
p(!0), D(e), Q(e);
|
|
70
|
+
}, []), G = m((e) => {
|
|
71
|
+
S(e.value), E(e), p(!1);
|
|
66
72
|
}, []), Z = m(() => {
|
|
67
|
-
|
|
68
|
-
}, []),
|
|
73
|
+
G({ value: "", label: "" }), E(void 0), p(!1);
|
|
74
|
+
}, []), U = T(() => !!a && !o.length && !r, [r, o.length, a]), q = T(() => !o.length && !r, [r, o.length, a]), b = T(() => ({
|
|
69
75
|
options: o,
|
|
70
|
-
setOptions:
|
|
71
|
-
selectedOption:
|
|
72
|
-
setSelectedOption:
|
|
73
|
-
search:
|
|
74
|
-
setSearch:
|
|
76
|
+
setOptions: g,
|
|
77
|
+
selectedOption: c,
|
|
78
|
+
setSelectedOption: E,
|
|
79
|
+
search: a || "",
|
|
80
|
+
setSearch: D,
|
|
75
81
|
open: i,
|
|
76
|
-
setOpen:
|
|
77
|
-
loading:
|
|
78
|
-
setLoading:
|
|
79
|
-
isEmptyList:
|
|
80
|
-
isSearchedEmptyList:
|
|
81
|
-
}), [
|
|
82
|
-
if (!
|
|
83
|
-
|
|
82
|
+
setOpen: P,
|
|
83
|
+
loading: r,
|
|
84
|
+
setLoading: p,
|
|
85
|
+
isEmptyList: q,
|
|
86
|
+
isSearchedEmptyList: U
|
|
87
|
+
}), [r, i, o, a, c, q, U, g]), $ = m(() => {
|
|
88
|
+
if (!k) {
|
|
89
|
+
B.current = !0;
|
|
84
90
|
return;
|
|
85
91
|
}
|
|
86
|
-
|
|
87
|
-
|
|
92
|
+
k(b).finally(() => {
|
|
93
|
+
B.current = !0;
|
|
88
94
|
});
|
|
89
|
-
}, [
|
|
95
|
+
}, [b, k]);
|
|
90
96
|
return oe(() => ($(), () => {
|
|
91
|
-
|
|
92
|
-
}), []), /* @__PURE__ */ t("div", { className: "w-full", ref:
|
|
97
|
+
B.current = !1;
|
|
98
|
+
}), []), /* @__PURE__ */ t("div", { className: "w-full", ref: f, children: /* @__PURE__ */ d(
|
|
93
99
|
ae,
|
|
94
100
|
{
|
|
95
101
|
open: i,
|
|
96
102
|
onOpenChange: (e) => {
|
|
97
|
-
|
|
103
|
+
P(e), e && K();
|
|
98
104
|
},
|
|
99
105
|
children: [
|
|
100
|
-
/* @__PURE__ */ t(se, { asChild: !0, className: "border-input", children: /* @__PURE__ */
|
|
101
|
-
|
|
106
|
+
/* @__PURE__ */ t(se, { asChild: !0, className: "border-input", children: /* @__PURE__ */ d(
|
|
107
|
+
ie,
|
|
102
108
|
{
|
|
103
109
|
variant: "outline",
|
|
104
110
|
role: "combobox",
|
|
105
111
|
size: "lg",
|
|
106
112
|
"aria-expanded": i,
|
|
107
|
-
className:
|
|
113
|
+
className: A(
|
|
108
114
|
"w-full justify-between font-normal text-sm bg-transparent relative p-3",
|
|
109
115
|
"border border-border",
|
|
110
116
|
i && "border-2 outline-hidden ring-1 ring-ring",
|
|
111
117
|
"focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring"
|
|
112
118
|
),
|
|
113
|
-
disabled:
|
|
119
|
+
disabled: C,
|
|
114
120
|
children: [
|
|
115
|
-
/* @__PURE__ */ t("span", { className: "truncate max-w-[calc(100%-1.5rem)] overflow-hidden whitespace-nowrap", children:
|
|
116
|
-
|
|
121
|
+
/* @__PURE__ */ t("span", { className: "truncate max-w-[calc(100%-1.5rem)] overflow-hidden whitespace-nowrap", children: n ? ve({ value: n, flattenOptions: R, selectedOption: c }) : /* @__PURE__ */ t("span", { className: "text-gray-400", children: F }) }),
|
|
122
|
+
n ? /* @__PURE__ */ t(
|
|
117
123
|
"div",
|
|
118
124
|
{
|
|
119
|
-
className:
|
|
125
|
+
className: A(
|
|
120
126
|
"absolute top-0 right-1",
|
|
121
127
|
"flex items-center justify-center",
|
|
122
128
|
"w-9 aspect-square [&_svg]:size-5",
|
|
@@ -132,47 +138,47 @@ const Me = ee(
|
|
|
132
138
|
}
|
|
133
139
|
) }),
|
|
134
140
|
/* @__PURE__ */ t(
|
|
135
|
-
|
|
141
|
+
le,
|
|
136
142
|
{
|
|
137
143
|
className: "w-(--radix-popper-anchor-width) max-w-none p-0",
|
|
138
144
|
align: "start",
|
|
139
|
-
children: /* @__PURE__ */
|
|
145
|
+
children: /* @__PURE__ */ d(ce, { shouldFilter: !1, children: [
|
|
140
146
|
/* @__PURE__ */ t(
|
|
141
147
|
pe,
|
|
142
148
|
{
|
|
143
|
-
placeholder:
|
|
144
|
-
value:
|
|
149
|
+
placeholder: h,
|
|
150
|
+
value: a,
|
|
145
151
|
onValueChange: Y
|
|
146
152
|
}
|
|
147
153
|
),
|
|
148
|
-
typeof
|
|
149
|
-
/* @__PURE__ */ t(
|
|
150
|
-
|
|
154
|
+
typeof L == "function" ? L(b) : L,
|
|
155
|
+
/* @__PURE__ */ t(de, { children: /* @__PURE__ */ d(
|
|
156
|
+
ue,
|
|
151
157
|
{
|
|
152
|
-
className:
|
|
158
|
+
className: A(!o.length && "p-0 shadow-none"),
|
|
153
159
|
children: [
|
|
154
|
-
|
|
155
|
-
!
|
|
156
|
-
/* @__PURE__ */ t("span", { children:
|
|
157
|
-
typeof
|
|
158
|
-
] }) : /* @__PURE__ */ t(
|
|
159
|
-
!
|
|
160
|
-
!!o.length &&
|
|
161
|
-
|
|
160
|
+
r && /* @__PURE__ */ t(re, { fullWidth: !0 }),
|
|
161
|
+
!r && !!a && /* @__PURE__ */ t(V, { children: y ? /* @__PURE__ */ d(W, { className: "flex flex-col gap-3 py-5 px-3 items-center", children: [
|
|
162
|
+
/* @__PURE__ */ t("span", { children: I }),
|
|
163
|
+
typeof y == "function" ? y(b) : y
|
|
164
|
+
] }) : /* @__PURE__ */ t(W, { children: I }) }),
|
|
165
|
+
!r && /* @__PURE__ */ d(V, { children: [
|
|
166
|
+
!!o.length && w && /* @__PURE__ */ t(
|
|
167
|
+
me,
|
|
162
168
|
{
|
|
163
169
|
asChild: !0,
|
|
164
170
|
className: "w-full",
|
|
165
|
-
children: typeof
|
|
171
|
+
children: typeof w == "function" ? w(b) : w
|
|
166
172
|
},
|
|
167
173
|
"combobox-list-head-action"
|
|
168
174
|
),
|
|
169
175
|
/* @__PURE__ */ t(
|
|
170
176
|
be,
|
|
171
177
|
{
|
|
172
|
-
value:
|
|
178
|
+
value: n,
|
|
173
179
|
options: o,
|
|
174
|
-
onChangeOption:
|
|
175
|
-
setOpen:
|
|
180
|
+
onChangeOption: G,
|
|
181
|
+
setOpen: P
|
|
176
182
|
}
|
|
177
183
|
)
|
|
178
184
|
] })
|
|
@@ -188,6 +194,6 @@ const Me = ee(
|
|
|
188
194
|
}
|
|
189
195
|
);
|
|
190
196
|
export {
|
|
191
|
-
|
|
197
|
+
Ee as Combobox
|
|
192
198
|
};
|
|
193
199
|
//# sourceMappingURL=Combobox.js.map
|
package/Combobox/Combobox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","sources":["../../src/Combobox/Combobox.tsx"],"sourcesContent":["import {\n Dispatch,\n forwardRef, SetStateAction,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { LoadingMask } from '../LoadingMask';\nimport { Popover, PopoverContent, PopoverTrigger } from '../Popover';\nimport { Button } from '../Button';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '../Command';\nimport { cn } from '@oneplatformdev/utils';\nimport { useDebounceCallback } from '@oneplatformdev/hooks';\nimport { ChevronsUpDown, X } from 'lucide-react';\nimport {\n ComboboxCallbackStateParams,\n ComboboxOption,\n ComboboxProps,\n} from './Combobox.types';\nimport { ComboboxOptions } from './ComboboxOptions'; // TODO: refactor next component | nlt code\n\n// TODO: refactor next component | nlt code\nexport const Combobox = forwardRef<HTMLDivElement, ComboboxProps>(\n (props, ref) => {\n const {\n value,\n onChange,\n placeholder,\n disabled,\n searchLabel = 'Type to search...',\n fetchOptions,\n options: itemOptions,\n emptyLabel = 'No options',\n emptyAction,\n commandInputAction,\n listHeadAction,\n onMount,\n } = props;\n const isMounted = useRef(false);\n const [open, setOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState('');\n const [selectedOption, setSelectedOption] = useState<ComboboxOption>();\n const [loading, setLoading] = useState(false);\n\n const [options, _setOptions] = useState<ComboboxOption[]>([]);\n const [flattenOptions, setFlattenOptions] = useState<ComboboxOption[]>([]);\n const setOptions: Dispatch<SetStateAction<ComboboxOption[]>> = useCallback((stater) => {\n const flatten = (next: ComboboxOption[]) => {\n const res: ComboboxOption[] = [];\n const walk = (nodes?: ComboboxOption[]) => {\n if (!nodes) return;\n for (const node of nodes) {\n res.push(node);\n if (node.items && node.items.length) walk(node.items);\n }\n };\n walk(next);\n const current = selectedOption || res.find(o => !!value && String(o.value) === String(value));\n if(current) res.push(current)\n setFlattenOptions(res);\n }\n _setOptions((prev) => {\n let next: ComboboxOption[] = prev;\n if(typeof stater === 'function') next = stater(prev)\n else next = stater;\n flatten(next);\n return next;\n });\n }, [selectedOption, value])\n\n useEffect(() => {\n itemOptions?.length && setOptions(itemOptions);\n }, [itemOptions]);\n\n const handlePopoverOpen = async () => {\n if (!open) {\n void getData();\n setSearchTerm('');\n }\n };\n\n const getData = useCallback(async (search?: string) => {\n setLoading(true);\n try {\n const fetchedOptions = await fetchOptions(search);\n setOptions(fetchedOptions);\n } catch (error) {\n console.error('Unexpected error while get option:', error);\n } finally {\n setLoading(false);\n }\n }, [setOptions]);\n\n const debouncedGetData = useDebounceCallback(getData, 1000, {\n leading: false,\n trailing: true,\n });\n\n const handleSearchChange = useCallback((value: string) => {\n setLoading(true);\n setSearchTerm(value);\n debouncedGetData(value);\n }, []);\n\n const onChangeOption = useCallback((option: ComboboxOption) => {\n onChange(option.value);\n setSelectedOption(option);\n setLoading(false);\n }, []);\n\n const handleClearSelection = useCallback(() => {\n onChangeOption({ value: '', label: '' });\n setSelectedOption(undefined);\n setLoading(false);\n }, []);\n\n const isSearchedEmptyList = useMemo(() => {\n return Boolean(searchTerm) && !options.length && !loading;\n }, [loading, options.length, searchTerm])\n\n const isEmptyList = useMemo(() => {\n return !options.length && !loading;\n }, [loading, options.length, searchTerm])\n\n const comboboxCallbackStateParams =\n useMemo((): ComboboxCallbackStateParams => {\n return {\n options,\n setOptions,\n selectedOption,\n setSelectedOption,\n search: searchTerm || '',\n setSearch: setSearchTerm,\n open,\n setOpen,\n loading,\n setLoading,\n isEmptyList,\n isSearchedEmptyList,\n };\n }, [loading, open, options, searchTerm, selectedOption, isEmptyList, isSearchedEmptyList]);\n\n const runOnMount = useCallback(() => {\n if (!onMount) {\n isMounted.current = true;\n return;\n }\n onMount(comboboxCallbackStateParams)\n .finally(() => {\n isMounted.current = true;\n });\n }, [comboboxCallbackStateParams, onMount]);\n\n useLayoutEffect(() => {\n runOnMount();\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return (\n <div className=\"w-full\" ref={ref}>\n <Popover\n open={open}\n onOpenChange={(newOpen) => {\n setOpen(newOpen);\n if (newOpen) handlePopoverOpen();\n }}\n >\n <PopoverTrigger asChild className=\"border-input\">\n <Button\n variant=\"outline\"\n role=\"combobox\"\n size=\"lg\"\n aria-expanded={open}\n className={cn(\n 'w-full justify-between font-normal text-sm bg-transparent relative p-3',\n 'border border-border',\n open && 'border-2 outline-hidden ring-1 ring-ring',\n 'focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring'\n )}\n disabled={disabled}\n >\n <span className=\"truncate max-w-[calc(100%-1.5rem)] overflow-hidden whitespace-nowrap\">\n {value ? (\n flattenOptions.find((option) => option.value === value)?.label ||\n selectedOption?.label\n ) : (\n <span className=\"text-gray-400\">{placeholder}</span>\n )}\n </span>\n {value ? (\n <div\n className={cn(\n 'absolute top-0 right-1',\n 'flex items-center justify-center',\n 'w-9 aspect-square [&_svg]:size-5',\n 'opacity-50 cursor-pointer hover:opacity-100'\n )}\n onClick={(e) => {\n e.stopPropagation();\n handleClearSelection();\n }}\n >\n <X />\n </div>\n ) : (\n <ChevronsUpDown className=\"opacity-50 w-4 h-4\" />\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-(--radix-popper-anchor-width) max-w-none p-0\"\n align=\"start\"\n >\n <Command shouldFilter={false}>\n <CommandInput\n placeholder={searchLabel}\n value={searchTerm}\n onValueChange={handleSearchChange}\n />\n {typeof commandInputAction === 'function'\n ? commandInputAction(comboboxCallbackStateParams)\n : commandInputAction}\n <CommandList>\n <CommandGroup\n className={cn(!options.length && 'p-0 shadow-none')}\n >\n {loading && <LoadingMask fullWidth />}\n {!loading && Boolean(searchTerm) && (\n <>\n {emptyAction ? (\n <CommandEmpty className=\"flex flex-col gap-3 py-5 px-3 items-center\">\n <span>{emptyLabel}</span>\n {typeof emptyAction === 'function'\n ? emptyAction(comboboxCallbackStateParams)\n : emptyAction}\n </CommandEmpty>\n ) : (\n <CommandEmpty>{emptyLabel}</CommandEmpty>\n )}\n </>\n )}\n {!loading && (\n <>\n {Boolean(options.length) && listHeadAction && (\n <CommandItem\n key='combobox-list-head-action'\n asChild\n className='w-full'\n >\n {typeof listHeadAction === 'function'\n ? listHeadAction(comboboxCallbackStateParams)\n : listHeadAction}\n </CommandItem>\n )}\n <ComboboxOptions\n value={value}\n options={options}\n onChangeOption={onChangeOption}\n setOpen={setOpen}\n />\n </>\n )}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n </div>\n );\n }\n);\n"],"names":["Combobox","forwardRef","props","ref","value","onChange","placeholder","disabled","searchLabel","fetchOptions","itemOptions","emptyLabel","emptyAction","commandInputAction","listHeadAction","onMount","isMounted","useRef","open","setOpen","useState","searchTerm","setSearchTerm","selectedOption","setSelectedOption","loading","setLoading","options","_setOptions","flattenOptions","setFlattenOptions","setOptions","useCallback","stater","flatten","next","res","walk","nodes","node","current","o","prev","useEffect","handlePopoverOpen","getData","search","fetchedOptions","error","debouncedGetData","useDebounceCallback","handleSearchChange","onChangeOption","option","handleClearSelection","isSearchedEmptyList","useMemo","isEmptyList","comboboxCallbackStateParams","runOnMount","useLayoutEffect","jsx","jsxs","Popover","newOpen","PopoverTrigger","Button","cn","X","ChevronsUpDown","PopoverContent","Command","CommandInput","CommandList","CommandGroup","LoadingMask","CommandEmpty","Fragment","CommandItem","ComboboxOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Combobox.js","sources":["../../src/Combobox/Combobox.tsx"],"sourcesContent":["import {\n Dispatch,\n forwardRef, SetStateAction,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { LoadingMask } from '../LoadingMask';\nimport { Popover, PopoverContent, PopoverTrigger } from '../Popover';\nimport { Button } from '../Button';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '../Command';\nimport { cn } from '@oneplatformdev/utils';\nimport { useDebounceCallback } from '@oneplatformdev/hooks';\nimport { ChevronsUpDown, X } from 'lucide-react';\nimport {\n ComboboxCallbackStateParams,\n ComboboxOption,\n ComboboxProps,\n} from './Combobox.types';\nimport { ComboboxOptions } from './ComboboxOptions'; // TODO: refactor next component | nlt code\n\n\nconst getSelectRenderLabel = (params: {\n value: ComboboxProps['value'];\n flattenOptions: ComboboxOption[];\n selectedOption?: ComboboxOption;\n}): string => {\n const { value, flattenOptions = [], selectedOption } = params;\n if(!value) return 'No value for render label';\n const flattenedOption = flattenOptions.find(o => String(o.value).toLowerCase() === String(value).toLowerCase());\n const label = [flattenedOption, selectedOption]\n .filter(Boolean)\n .map(o => o!.label)\n .find(Boolean);\n if(!label) return value;\n return label;\n}\n\n// TODO: refactor next component | nlt code\nexport const Combobox = forwardRef<HTMLDivElement, ComboboxProps>(\n (props, ref) => {\n const {\n value,\n onChange,\n placeholder,\n disabled,\n searchLabel = 'Type to search...',\n fetchOptions,\n options: itemOptions,\n emptyLabel = 'No options',\n emptyAction,\n commandInputAction,\n listHeadAction,\n onMount,\n } = props;\n const isMounted = useRef(false);\n const [open, setOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState('');\n const [selectedOption, setSelectedOption] = useState<ComboboxOption>();\n const [loading, setLoading] = useState(false);\n\n const [options, setOptionsDispatch] = useState<ComboboxOption[]>([]);\n const [flattenOptions, setFlattenOptions] = useState<ComboboxOption[]>([]);\n const setOptions: Dispatch<SetStateAction<ComboboxOption[]>> = useCallback((stater) => {\n const flatten = (next: ComboboxOption[]) => {\n const res: ComboboxOption[] = [];\n const walk = (nodes?: ComboboxOption[]) => {\n if (!nodes) return;\n for (const node of nodes) {\n res.push(node);\n if (node.items && node.items.length) walk(node.items);\n }\n };\n walk(next);\n setFlattenOptions((prev) => {\n const current = selectedOption\n || res.find(o => !!value && String(o.value) === String(value))\n || prev.find(o => !!value && String(o.value) === String(value))\n if(current) return [current, ...res];\n return res;\n });\n }\n setOptionsDispatch((prev) => {\n const next: ComboboxOption[] = typeof stater === 'function' ? stater(prev) : stater;\n flatten(next);\n return next;\n });\n }, [selectedOption, value])\n\n console.log('value', value);\n console.log('selectedOption', selectedOption);\n console.log('options', options);\n console.log('flattenOptions', flattenOptions);\n\n useEffect(() => {\n itemOptions?.length && setOptions(itemOptions);\n }, [itemOptions]);\n\n const handlePopoverOpen = async () => {\n if (!open) {\n void getData();\n setSearchTerm('');\n }\n };\n\n const getData = useCallback(async (search?: string) => {\n setLoading(true);\n try {\n const fetchedOptions = await fetchOptions(search);\n setOptions(fetchedOptions);\n } catch (error) {\n console.error('Unexpected error while get option:', error);\n } finally {\n setLoading(false);\n }\n }, [setOptions]);\n\n const debouncedGetData = useDebounceCallback(getData, 1000, {\n leading: false,\n trailing: true,\n });\n\n const handleSearchChange = useCallback((value: string) => {\n setLoading(true);\n setSearchTerm(value);\n debouncedGetData(value);\n }, []);\n\n const onChangeOption = useCallback((option: ComboboxOption) => {\n onChange(option.value);\n setSelectedOption(option);\n setLoading(false);\n }, []);\n\n const handleClearSelection = useCallback(() => {\n onChangeOption({ value: '', label: '' });\n setSelectedOption(undefined);\n setLoading(false);\n }, []);\n\n const isSearchedEmptyList = useMemo(() => {\n return Boolean(searchTerm) && !options.length && !loading;\n }, [loading, options.length, searchTerm])\n\n const isEmptyList = useMemo(() => {\n return !options.length && !loading;\n }, [loading, options.length, searchTerm])\n\n const comboboxCallbackStateParams =\n useMemo((): ComboboxCallbackStateParams => {\n return {\n options,\n setOptions,\n selectedOption,\n setSelectedOption,\n search: searchTerm || '',\n setSearch: setSearchTerm,\n open,\n setOpen,\n loading,\n setLoading,\n isEmptyList,\n isSearchedEmptyList,\n };\n }, [loading, open, options, searchTerm, selectedOption, isEmptyList, isSearchedEmptyList, setOptions]);\n\n const runOnMount = useCallback(() => {\n if (!onMount) {\n isMounted.current = true;\n return;\n }\n onMount(comboboxCallbackStateParams)\n .finally(() => {\n isMounted.current = true;\n });\n }, [comboboxCallbackStateParams, onMount]);\n\n useLayoutEffect(() => {\n runOnMount();\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return (\n <div className=\"w-full\" ref={ref}>\n <Popover\n open={open}\n onOpenChange={(newOpen) => {\n setOpen(newOpen);\n if (newOpen) handlePopoverOpen();\n }}\n >\n <PopoverTrigger asChild className=\"border-input\">\n <Button\n variant=\"outline\"\n role=\"combobox\"\n size=\"lg\"\n aria-expanded={open}\n className={cn(\n 'w-full justify-between font-normal text-sm bg-transparent relative p-3',\n 'border border-border',\n open && 'border-2 outline-hidden ring-1 ring-ring',\n 'focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring'\n )}\n disabled={disabled}\n >\n <span className=\"truncate max-w-[calc(100%-1.5rem)] overflow-hidden whitespace-nowrap\">\n {value\n ? getSelectRenderLabel({ value, flattenOptions, selectedOption })\n : <span className=\"text-gray-400\">{placeholder}</span>\n }\n </span>\n {value ? (\n <div\n className={cn(\n 'absolute top-0 right-1',\n 'flex items-center justify-center',\n 'w-9 aspect-square [&_svg]:size-5',\n 'opacity-50 cursor-pointer hover:opacity-100'\n )}\n onClick={(e) => {\n e.stopPropagation();\n handleClearSelection();\n }}\n >\n <X />\n </div>\n ) : (\n <ChevronsUpDown className=\"opacity-50 w-4 h-4\" />\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-(--radix-popper-anchor-width) max-w-none p-0\"\n align=\"start\"\n >\n <Command shouldFilter={false}>\n <CommandInput\n placeholder={searchLabel}\n value={searchTerm}\n onValueChange={handleSearchChange}\n />\n {typeof commandInputAction === 'function'\n ? commandInputAction(comboboxCallbackStateParams)\n : commandInputAction}\n <CommandList>\n <CommandGroup\n className={cn(!options.length && 'p-0 shadow-none')}\n >\n {loading && <LoadingMask fullWidth />}\n {!loading && Boolean(searchTerm) && (\n <>\n {emptyAction ? (\n <CommandEmpty className=\"flex flex-col gap-3 py-5 px-3 items-center\">\n <span>{emptyLabel}</span>\n {typeof emptyAction === 'function'\n ? emptyAction(comboboxCallbackStateParams)\n : emptyAction}\n </CommandEmpty>\n ) : (\n <CommandEmpty>{emptyLabel}</CommandEmpty>\n )}\n </>\n )}\n {!loading && (\n <>\n {Boolean(options.length) && listHeadAction && (\n <CommandItem\n key='combobox-list-head-action'\n asChild\n className='w-full'\n >\n {typeof listHeadAction === 'function'\n ? listHeadAction(comboboxCallbackStateParams)\n : listHeadAction}\n </CommandItem>\n )}\n <ComboboxOptions\n value={value}\n options={options}\n onChangeOption={onChangeOption}\n setOpen={setOpen}\n />\n </>\n )}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n </div>\n );\n }\n);\n"],"names":["getSelectRenderLabel","params","value","flattenOptions","selectedOption","label","o","Combobox","forwardRef","props","ref","onChange","placeholder","disabled","searchLabel","fetchOptions","itemOptions","emptyLabel","emptyAction","commandInputAction","listHeadAction","onMount","isMounted","useRef","open","setOpen","useState","searchTerm","setSearchTerm","setSelectedOption","loading","setLoading","options","setOptionsDispatch","setFlattenOptions","setOptions","useCallback","stater","flatten","next","res","walk","nodes","node","prev","current","useEffect","handlePopoverOpen","getData","search","fetchedOptions","error","debouncedGetData","useDebounceCallback","handleSearchChange","onChangeOption","option","handleClearSelection","isSearchedEmptyList","useMemo","isEmptyList","comboboxCallbackStateParams","runOnMount","useLayoutEffect","jsx","jsxs","Popover","newOpen","PopoverTrigger","Button","cn","X","ChevronsUpDown","PopoverContent","Command","CommandInput","CommandList","CommandGroup","LoadingMask","CommandEmpty","Fragment","CommandItem","ComboboxOptions"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneplatformdev/ui",
|
|
3
|
-
"version": "0.1.10-
|
|
3
|
+
"version": "0.1.10-92",
|
|
4
4
|
"description": "UI component library for OnePlatform",
|
|
5
5
|
"author": "One Platform Development Team",
|
|
6
6
|
"keywords": [
|
|
@@ -105,8 +105,8 @@
|
|
|
105
105
|
"recharts": "^3.2.0",
|
|
106
106
|
"sonner": "^2.0.7",
|
|
107
107
|
"vaul": "^1.1.2",
|
|
108
|
-
"@oneplatformdev/tokens": "^0.0.1-
|
|
109
|
-
"@oneplatformdev/
|
|
110
|
-
"@oneplatformdev/
|
|
108
|
+
"@oneplatformdev/tokens": "^0.0.1-114",
|
|
109
|
+
"@oneplatformdev/utils": "^0.1.1-141",
|
|
110
|
+
"@oneplatformdev/hooks": "^0.1.0-127"
|
|
111
111
|
}
|
|
112
112
|
}
|