@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 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;AAI1B,eAAO,MAAM,QAAQ,0GA0PpB,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"}
@@ -1,122 +1,128 @@
1
- import { jsx as t, jsxs as c, Fragment as I } from "react/jsx-runtime";
2
- import { forwardRef as ee, useRef as te, useState as p, useCallback as m, useEffect as ne, useMemo as P, useLayoutEffect as oe } from "react";
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 ie } from "../Popover/Popover.js";
6
- import { Button as le } from "../Button/Button.js";
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 me, CommandGroup as de, CommandEmpty as z, CommandItem as ue } from "../Command/Command.js";
9
- import { cn as E } from "@oneplatformdev/utils";
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 Me = ee(
14
- (G, R) => {
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: a,
17
- onChange: U,
18
- placeholder: _,
19
- disabled: q,
20
- searchLabel: H = "Type to search...",
21
- fetchOptions: V,
22
- options: x,
23
- emptyLabel: M = "No options",
24
- emptyAction: h,
25
- commandInputAction: w,
26
- listHeadAction: g,
27
- onMount: O
28
- } = G, N = te(!1), [i, S] = p(!1), [s, L] = p(""), [d, k] = p(), [n, l] = p(!1), [o, W] = p([]), [X, J] = p([]), b = m((e) => {
29
- const f = (y) => {
30
- const r = [], A = (C) => {
31
- if (C)
32
- for (const v of C)
33
- r.push(v), v.items && v.items.length && A(v.items);
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
- A(y);
36
- const F = d || r.find((C) => !!a && String(C.value) === String(a));
37
- F && r.push(F), J(r);
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
- W((y) => {
40
- let r = y;
41
- return typeof e == "function" ? r = e(y) : r = e, f(r), r;
45
+ _((M) => {
46
+ const s = typeof e == "function" ? e(M) : e;
47
+ return v(s), s;
42
48
  });
43
- }, [d, a]);
44
- ne(() => {
45
- x?.length && b(x);
46
- }, [x]);
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 || (j(), L(""));
49
- }, j = m(async (e) => {
50
- l(!0);
54
+ i || (z(), D(""));
55
+ }, z = m(async (e) => {
56
+ p(!0);
51
57
  try {
52
- const f = await V(e);
53
- b(f);
54
- } catch (f) {
55
- console.error("Unexpected error while get option:", f);
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
- l(!1);
63
+ p(!1);
58
64
  }
59
- }, [b]), Q = fe(j, 1e3, {
65
+ }, [g]), Q = fe(z, 1e3, {
60
66
  leading: !1,
61
67
  trailing: !0
62
68
  }), Y = m((e) => {
63
- l(!0), L(e), Q(e);
64
- }, []), B = m((e) => {
65
- U(e.value), k(e), l(!1);
69
+ p(!0), D(e), Q(e);
70
+ }, []), G = m((e) => {
71
+ S(e.value), E(e), p(!1);
66
72
  }, []), Z = m(() => {
67
- B({ value: "", label: "" }), k(void 0), l(!1);
68
- }, []), D = P(() => !!s && !o.length && !n, [n, o.length, s]), T = P(() => !o.length && !n, [n, o.length, s]), u = P(() => ({
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: b,
71
- selectedOption: d,
72
- setSelectedOption: k,
73
- search: s || "",
74
- setSearch: L,
76
+ setOptions: g,
77
+ selectedOption: c,
78
+ setSelectedOption: E,
79
+ search: a || "",
80
+ setSearch: D,
75
81
  open: i,
76
- setOpen: S,
77
- loading: n,
78
- setLoading: l,
79
- isEmptyList: T,
80
- isSearchedEmptyList: D
81
- }), [n, i, o, s, d, T, D]), $ = m(() => {
82
- if (!O) {
83
- N.current = !0;
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
- O(u).finally(() => {
87
- N.current = !0;
92
+ k(b).finally(() => {
93
+ B.current = !0;
88
94
  });
89
- }, [u, O]);
95
+ }, [b, k]);
90
96
  return oe(() => ($(), () => {
91
- N.current = !1;
92
- }), []), /* @__PURE__ */ t("div", { className: "w-full", ref: R, children: /* @__PURE__ */ c(
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
- S(e), e && K();
103
+ P(e), e && K();
98
104
  },
99
105
  children: [
100
- /* @__PURE__ */ t(se, { asChild: !0, className: "border-input", children: /* @__PURE__ */ c(
101
- le,
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: E(
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: q,
119
+ disabled: C,
114
120
  children: [
115
- /* @__PURE__ */ t("span", { className: "truncate max-w-[calc(100%-1.5rem)] overflow-hidden whitespace-nowrap", children: a ? X.find((e) => e.value === a)?.label || d?.label : /* @__PURE__ */ t("span", { className: "text-gray-400", children: _ }) }),
116
- a ? /* @__PURE__ */ t(
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: E(
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
- ie,
141
+ le,
136
142
  {
137
143
  className: "w-(--radix-popper-anchor-width) max-w-none p-0",
138
144
  align: "start",
139
- children: /* @__PURE__ */ c(ce, { shouldFilter: !1, children: [
145
+ children: /* @__PURE__ */ d(ce, { shouldFilter: !1, children: [
140
146
  /* @__PURE__ */ t(
141
147
  pe,
142
148
  {
143
- placeholder: H,
144
- value: s,
149
+ placeholder: h,
150
+ value: a,
145
151
  onValueChange: Y
146
152
  }
147
153
  ),
148
- typeof w == "function" ? w(u) : w,
149
- /* @__PURE__ */ t(me, { children: /* @__PURE__ */ c(
150
- de,
154
+ typeof L == "function" ? L(b) : L,
155
+ /* @__PURE__ */ t(de, { children: /* @__PURE__ */ d(
156
+ ue,
151
157
  {
152
- className: E(!o.length && "p-0 shadow-none"),
158
+ className: A(!o.length && "p-0 shadow-none"),
153
159
  children: [
154
- n && /* @__PURE__ */ t(re, { fullWidth: !0 }),
155
- !n && !!s && /* @__PURE__ */ t(I, { children: h ? /* @__PURE__ */ c(z, { className: "flex flex-col gap-3 py-5 px-3 items-center", children: [
156
- /* @__PURE__ */ t("span", { children: M }),
157
- typeof h == "function" ? h(u) : h
158
- ] }) : /* @__PURE__ */ t(z, { children: M }) }),
159
- !n && /* @__PURE__ */ c(I, { children: [
160
- !!o.length && g && /* @__PURE__ */ t(
161
- ue,
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 g == "function" ? g(u) : g
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: a,
178
+ value: n,
173
179
  options: o,
174
- onChangeOption: B,
175
- setOpen: S
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
- Me as Combobox
197
+ Ee as Combobox
192
198
  };
193
199
  //# sourceMappingURL=Combobox.js.map
@@ -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-90",
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-112",
109
- "@oneplatformdev/hooks": "^0.1.0-125",
110
- "@oneplatformdev/utils": "^0.1.1-139"
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
  }