@oneplatformdev/ui 0.1.10-87 → 0.1.10-89

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