@oneplatformdev/ui 0.1.10-89 → 0.1.10-90

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