@oneplatformdev/ui 0.1.10-93 → 0.1.10-94

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-94 (2025-11-25)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated @oneplatformdev/utils to 0.1.1-143
6
+ - Updated @oneplatformdev/hooks to 0.1.0-129
7
+ - Updated @oneplatformdev/tokens to 0.0.1-116
8
+
1
9
  ## 0.1.10-93 (2025-11-25)
2
10
 
3
11
  ### 🧱 Updated Dependencies
@@ -1,46 +1,45 @@
1
- import { jsx as t, jsxs as p, Fragment as H } from "react/jsx-runtime";
2
- import { forwardRef as te, useRef as ne, useState as d, useCallback as u, useEffect as oe, useMemo as j, useLayoutEffect as re } from "react";
1
+ import { jsx as t, jsxs as c, Fragment as H } from "react/jsx-runtime";
2
+ import { forwardRef as te, useRef as ne, useState as d, useCallback as p, useEffect as oe, useMemo as R, useLayoutEffect as re } from "react";
3
3
  import { LoadingMask as ae } from "../LoadingMask/LoadingMask.js";
4
4
  import "../LoadingMask/RenderLoadingMask.js";
5
5
  import { Popover as se, PopoverTrigger as ie, PopoverContent as le } from "../Popover/Popover.js";
6
6
  import { Button as ce } from "../Button/Button.js";
7
7
  import "../Button/buttonVariants.js";
8
- import { Command as pe, CommandInput as de, CommandList as ue, CommandGroup as me, CommandEmpty as V, CommandItem as fe } from "../Command/Command.js";
9
- import { cn as R } from "@oneplatformdev/utils";
8
+ import { Command as de, CommandInput as pe, CommandList as ue, CommandGroup as me, CommandEmpty as V, CommandItem as fe } from "../Command/Command.js";
9
+ import { cn as j } from "@oneplatformdev/utils";
10
10
  import { useDebounceCallback as he } from "@oneplatformdev/hooks";
11
11
  import { X as ge, ChevronsUpDown as be } from "lucide-react";
12
12
  import { ComboboxOptions as ve } from "./ComboboxOptions.js";
13
13
  const Ce = (S) => {
14
- const { value: m, flattenOptions: n = [], selectedOption: N } = S;
15
- if (!m) return "No value for render label";
16
- const C = [n.find((f) => String(f.value).toLowerCase() === String(m).toLowerCase()), N].filter(Boolean).map((f) => f.label).find(Boolean);
17
- return C || m;
18
- }, Ie = te(
19
- (S, m) => {
14
+ const { value: u, flattenOptions: n = [], selectedOption: N } = S;
15
+ if (!u) return "No value for render label";
16
+ const C = [n.find((m) => String(m.value).toLowerCase() === String(u).toLowerCase()), N].filter(Boolean).map((m) => m.label).find(Boolean);
17
+ return C || u;
18
+ }, Ee = te(
19
+ (S, u) => {
20
20
  const {
21
21
  value: n,
22
22
  onChange: N,
23
23
  placeholder: T,
24
24
  disabled: C,
25
- searchLabel: f = "Type to search...",
25
+ searchLabel: m = "Type to search...",
26
26
  fetchOptions: W,
27
27
  options: L,
28
28
  emptyLabel: A = "No options",
29
29
  emptyAction: y,
30
- commandInputAction: k,
30
+ commandInputAction: I,
31
31
  listHeadAction: w,
32
- onMount: B
33
- } = S, P = ne(!1), [l, D] = d(!1), [a, E] = d(""), [h, I] = d(), [o, c] = d(!1), [r, X] = d([]), [_, J] = d([]), g = u((e) => {
34
- const v = (M) => {
32
+ onMount: k
33
+ } = S, B = ne(!1), [i, P] = d(!1), [a, D] = d(""), [f, E] = d(), [o, l] = d(!1), [r, X] = d([]), [_, J] = d([]), h = p((e) => {
34
+ const b = (M) => {
35
35
  const s = [], q = (x) => {
36
36
  if (x)
37
- for (const i of x)
38
- s.push(i), i.items && i.items.length && q(i.items);
37
+ for (const v of x)
38
+ s.push(v), v.items && v.items.length && q(v.items);
39
39
  };
40
40
  q(M), J((x) => {
41
- const i = s.find((O) => !!n && String(O.value) === String(n));
42
- if (!i) {
43
- const O = h || i && x.find((ee) => !!n && String(ee.value) === String(n));
41
+ if (!s.find((O) => !!n && String(O.value) === String(n))) {
42
+ const O = f || x.find((ee) => !!n && String(ee.value) === String(n));
44
43
  if (O) return [O, ...s];
45
44
  }
46
45
  return s;
@@ -48,85 +47,85 @@ const Ce = (S) => {
48
47
  };
49
48
  X((M) => {
50
49
  const s = typeof e == "function" ? e(M) : e;
51
- return v(s), s;
50
+ return b(s), s;
52
51
  });
53
- }, [h, n]);
52
+ }, [f, n]);
54
53
  oe(() => {
55
- L?.length && g(L);
54
+ L?.length && h(L);
56
55
  }, [L]);
57
56
  const K = async () => {
58
- l || (F(), E(""));
59
- }, F = u(async (e) => {
60
- c(!0);
57
+ i || (F(), D(""));
58
+ }, F = p(async (e) => {
59
+ l(!0);
61
60
  try {
62
- const v = await W(e);
63
- g(v);
64
- } catch (v) {
65
- console.error("Unexpected error while get option:", v);
61
+ const b = await W(e);
62
+ h(b);
63
+ } catch (b) {
64
+ console.error("Unexpected error while get option:", b);
66
65
  } finally {
67
- c(!1);
66
+ l(!1);
68
67
  }
69
- }, [g]), Q = he(F, 1e3, {
68
+ }, [h]), Q = he(F, 1e3, {
70
69
  leading: !1,
71
70
  trailing: !0
72
- }), Y = u((e) => {
73
- c(!0), E(e), Q(e);
74
- }, []), z = u((e) => {
75
- N(e.value), I(e), c(!1);
76
- }, []), Z = u(() => {
77
- z({ value: "", label: "" }), I(void 0), c(!1);
78
- }, []), G = j(() => !!a && !r.length && !o, [o, r.length, a]), U = j(() => !r.length && !o, [o, r.length, a]), b = j(() => ({
71
+ }), Y = p((e) => {
72
+ l(!0), D(e), Q(e);
73
+ }, []), z = p((e) => {
74
+ N(e.value), E(e), l(!1);
75
+ }, []), Z = p(() => {
76
+ z({ value: "", label: "" }), E(void 0), l(!1);
77
+ }, []), G = R(() => !!a && !r.length && !o, [o, r.length, a]), U = R(() => !r.length && !o, [o, r.length, a]), g = R(() => ({
79
78
  options: r,
80
- setOptions: g,
81
- selectedOption: h,
82
- setSelectedOption: I,
79
+ setOptions: h,
80
+ selectedOption: f,
81
+ setSelectedOption: E,
83
82
  search: a || "",
84
- setSearch: E,
85
- open: l,
86
- setOpen: D,
83
+ setSearch: D,
84
+ open: i,
85
+ setOpen: P,
87
86
  loading: o,
88
- setLoading: c,
87
+ setLoading: l,
89
88
  isEmptyList: U,
90
89
  isSearchedEmptyList: G
91
- }), [o, l, r, a, h, U, G, g]), $ = u(() => {
92
- if (!B) {
93
- P.current = !0;
90
+ }), [o, i, r, a, f, U, G, h]), $ = p(() => {
91
+ if (!k) {
92
+ B.current = !0;
94
93
  return;
95
94
  }
96
- B(b).finally(() => {
97
- P.current = !0;
95
+ k(g).finally(() => {
96
+ B.current = !0;
98
97
  });
99
- }, [b, B]);
98
+ }, [g, k]);
100
99
  return re(() => ($(), () => {
101
- P.current = !1;
102
- }), []), /* @__PURE__ */ t("div", { className: "w-full", ref: m, children: /* @__PURE__ */ p(
100
+ B.current = !1;
101
+ }), []), /* @__PURE__ */ t("div", { className: "w-full", ref: u, children: /* @__PURE__ */ c(
103
102
  se,
104
103
  {
105
- open: l,
104
+ open: i,
106
105
  onOpenChange: (e) => {
107
- D(e), e && K();
106
+ P(e), e && K();
108
107
  },
109
108
  children: [
110
- /* @__PURE__ */ t(ie, { asChild: !0, className: "border-input", children: /* @__PURE__ */ p(
109
+ /* @__PURE__ */ t(ie, { asChild: !0, className: "border-input", children: /* @__PURE__ */ c(
111
110
  ce,
112
111
  {
113
112
  variant: "outline",
114
113
  role: "combobox",
115
114
  size: "lg",
116
- "aria-expanded": l,
117
- className: R(
115
+ "aria-expanded": i,
116
+ className: j(
118
117
  "w-full justify-between font-normal text-sm bg-transparent relative p-3",
119
118
  "border border-border",
120
- l && "border-2 outline-hidden ring-1 ring-ring",
119
+ i && "border-2 outline-hidden ring-1 ring-ring",
121
120
  "focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring"
122
121
  ),
123
122
  disabled: C,
124
123
  children: [
125
- /* @__PURE__ */ t("span", { className: "truncate max-w-[calc(100%-1.5rem)] overflow-hidden whitespace-nowrap", children: n ? Ce({ value: n, flattenOptions: _, selectedOption: h }) : /* @__PURE__ */ t("span", { className: "text-gray-400", children: T }) }),
124
+ /* @__PURE__ */ t("span", { className: "truncate max-w-[calc(100%-1.5rem)] overflow-hidden whitespace-nowrap", children: n ? Ce({ value: n, flattenOptions: _, selectedOption: f }) : /* @__PURE__ */ t("span", { className: "text-gray-400", children: T }) }),
126
125
  n ? /* @__PURE__ */ t(
127
126
  "div",
128
127
  {
129
- className: R(
128
+ className: j(
130
129
  "absolute top-0 right-1",
131
130
  "flex items-center justify-center",
132
131
  "w-9 aspect-square [&_svg]:size-5",
@@ -146,33 +145,33 @@ const Ce = (S) => {
146
145
  {
147
146
  className: "w-(--radix-popper-anchor-width) max-w-none p-0",
148
147
  align: "start",
149
- children: /* @__PURE__ */ p(pe, { shouldFilter: !1, children: [
148
+ children: /* @__PURE__ */ c(de, { shouldFilter: !1, children: [
150
149
  /* @__PURE__ */ t(
151
- de,
150
+ pe,
152
151
  {
153
- placeholder: f,
152
+ placeholder: m,
154
153
  value: a,
155
154
  onValueChange: Y
156
155
  }
157
156
  ),
158
- typeof k == "function" ? k(b) : k,
159
- /* @__PURE__ */ t(ue, { children: /* @__PURE__ */ p(
157
+ typeof I == "function" ? I(g) : I,
158
+ /* @__PURE__ */ t(ue, { children: /* @__PURE__ */ c(
160
159
  me,
161
160
  {
162
- className: R(!r.length && "p-0 shadow-none"),
161
+ className: j(!r.length && "p-0 shadow-none"),
163
162
  children: [
164
163
  o && /* @__PURE__ */ t(ae, { fullWidth: !0 }),
165
- !o && !!a && /* @__PURE__ */ t(H, { children: y ? /* @__PURE__ */ p(V, { className: "flex flex-col gap-3 py-5 px-3 items-center", children: [
164
+ !o && !!a && /* @__PURE__ */ t(H, { children: y ? /* @__PURE__ */ c(V, { className: "flex flex-col gap-3 py-5 px-3 items-center", children: [
166
165
  /* @__PURE__ */ t("span", { children: A }),
167
- typeof y == "function" ? y(b) : y
166
+ typeof y == "function" ? y(g) : y
168
167
  ] }) : /* @__PURE__ */ t(V, { children: A }) }),
169
- !o && /* @__PURE__ */ p(H, { children: [
168
+ !o && /* @__PURE__ */ c(H, { children: [
170
169
  !!r.length && w && /* @__PURE__ */ t(
171
170
  fe,
172
171
  {
173
172
  asChild: !0,
174
173
  className: "w-full",
175
- children: typeof w == "function" ? w(b) : w
174
+ children: typeof w == "function" ? w(g) : w
176
175
  },
177
176
  "combobox-list-head-action"
178
177
  ),
@@ -182,7 +181,7 @@ const Ce = (S) => {
182
181
  value: n,
183
182
  options: r,
184
183
  onChangeOption: z,
185
- setOpen: D
184
+ setOpen: P
186
185
  }
187
186
  )
188
187
  ] })
@@ -198,6 +197,6 @@ const Ce = (S) => {
198
197
  }
199
198
  );
200
199
  export {
201
- Ie as Combobox
200
+ Ee as Combobox
202
201
  };
203
202
  //# 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\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 isIncludedInRes = res.find(o => !!value && String(o.value) === String(value));\n\n if(!isIncludedInRes) {\n const current = selectedOption || isIncludedInRes && prev.find(o => !!value && String(o.value) === String(value))\n if(current) return [current, ...res];\n }\n\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 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","isIncludedInRes","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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"}
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 isIncludedInRes = res.find(o => !!value && String(o.value) === String(value));\n\n if(!isIncludedInRes) {\n const current = selectedOption || prev.find(o => !!value && String(o.value) === String(value))\n if(current) return [current, ...res];\n }\n\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 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":";;;;;;;;;;;;AAgCA,MAAMA,KAAuB,CAACC,MAIhB;AACZ,QAAM,EAAE,OAAAC,GAAO,gBAAAC,IAAiB,CAAA,GAAI,gBAAAC,MAAmBH;AACvD,MAAG,CAACC,EAAO,QAAO;AAElB,QAAMG,IAAQ,CADUF,EAAe,KAAK,CAAAG,MAAK,OAAOA,EAAE,KAAK,EAAE,YAAA,MAAkB,OAAOJ,CAAK,EAAE,aAAa,GAC9EE,CAAc,EAC3C,OAAO,OAAO,EACd,IAAI,CAAAE,MAAKA,EAAG,KAAK,EACjB,KAAK,OAAO;AACf,SAAID,KAAcH;AAEpB,GAGaK,KAAWC;AAAA,EACtB,CAACC,GAAOC,MAAQ;AACd,UAAM;AAAA,MACJ,OAAAR;AAAA,MACA,UAAAS;AAAA,MACA,aAAAC;AAAA,MACA,UAAAC;AAAA,MACA,aAAAC,IAAc;AAAA,MACd,cAAAC;AAAA,MACA,SAASC;AAAA,MACT,YAAAC,IAAa;AAAA,MACb,aAAAC;AAAA,MACA,oBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,SAAAC;AAAA,IAAA,IACEZ,GACEa,IAAYC,GAAO,EAAK,GACxB,CAACC,GAAMC,CAAO,IAAIC,EAAS,EAAK,GAChC,CAACC,GAAYC,CAAa,IAAIF,EAAS,EAAE,GACzC,CAACtB,GAAgByB,CAAiB,IAAIH,EAAA,GACtC,CAACI,GAASC,CAAU,IAAIL,EAAS,EAAK,GAEtC,CAACM,GAASC,CAAkB,IAAIP,EAA2B,CAAA,CAAE,GAC7D,CAACvB,GAAgB+B,CAAiB,IAAIR,EAA2B,CAAA,CAAE,GACnES,IAAyDC,EAAY,CAACC,MAAW;AACrF,YAAMC,IAAU,CAACC,MAA2B;AAC1C,cAAMC,IAAwB,CAAA,GACxBC,IAAO,CAACC,MAA6B;AACzC,cAAKA;AACL,uBAAWC,KAAQD;AACjB,cAAAF,EAAI,KAAKG,CAAI,GACTA,EAAK,SAASA,EAAK,MAAM,UAAQF,EAAKE,EAAK,KAAK;AAAA,QAExD;AACA,QAAAF,EAAKF,CAAI,GACTL,EAAkB,CAACU,MAAS;AAG1B,cAAG,CAFqBJ,EAAI,KAAK,CAAAlC,MAAK,CAAC,CAACJ,KAAS,OAAOI,EAAE,KAAK,MAAM,OAAOJ,CAAK,CAAC,GAE7D;AACnB,kBAAM2C,IAAWzC,KAAkBwC,EAAK,KAAK,QAAK,CAAC,CAAC1C,KAAS,OAAOI,GAAE,KAAK,MAAM,OAAOJ,CAAK,CAAC;AAC9F,gBAAG2C,EAAS,QAAO,CAACA,GAAS,GAAGL,CAAG;AAAA,UACrC;AAEA,iBAAOA;AAAA,QACT,CAAC;AAAA,MACH;AACA,MAAAP,EAAmB,CAACW,MAAS;AAC3B,cAAML,IAAyB,OAAOF,KAAW,aAAaA,EAAOO,CAAI,IAAIP;AAC7E,eAAAC,EAAQC,CAAI,GACLA;AAAA,MACT,CAAC;AAAA,IACH,GAAG,CAACnC,GAAgBF,CAAK,CAAC;AAE1B,IAAA4C,GAAU,MAAM;AACd,MAAA9B,GAAa,UAAUmB,EAAWnB,CAAW;AAAA,IAC/C,GAAG,CAACA,CAAW,CAAC;AAEhB,UAAM+B,IAAoB,YAAY;AACpC,MAAKvB,MACEwB,EAAA,GACLpB,EAAc,EAAE;AAAA,IAEpB,GAEMoB,IAAUZ,EAAY,OAAOa,MAAoB;AACrD,MAAAlB,EAAW,EAAI;AACf,UAAI;AACF,cAAMmB,IAAiB,MAAMnC,EAAakC,CAAM;AAChD,QAAAd,EAAWe,CAAc;AAAA,MAC3B,SAASC,GAAO;AACd,gBAAQ,MAAM,sCAAsCA,CAAK;AAAA,MAC3D,UAAA;AACE,QAAApB,EAAW,EAAK;AAAA,MAClB;AAAA,IACF,GAAG,CAACI,CAAU,CAAC,GAETiB,IAAmBC,GAAoBL,GAAS,KAAM;AAAA,MAC1D,SAAS;AAAA,MACT,UAAU;AAAA,IAAA,CACX,GAEKM,IAAqBlB,EAAY,CAAClC,MAAkB;AACxD,MAAA6B,EAAW,EAAI,GACfH,EAAc1B,CAAK,GACnBkD,EAAiBlD,CAAK;AAAA,IACxB,GAAG,CAAA,CAAE,GAECqD,IAAiBnB,EAAY,CAACoB,MAA2B;AAC7D,MAAA7C,EAAS6C,EAAO,KAAK,GACrB3B,EAAkB2B,CAAM,GACxBzB,EAAW,EAAK;AAAA,IAClB,GAAG,CAAA,CAAE,GAEC0B,IAAuBrB,EAAY,MAAM;AAC7C,MAAAmB,EAAe,EAAE,OAAO,IAAI,OAAO,IAAI,GACvC1B,EAAkB,MAAS,GAC3BE,EAAW,EAAK;AAAA,IAClB,GAAG,CAAA,CAAE,GAEC2B,IAAsBC,EAAQ,MAC3B,EAAQhC,KAAe,CAACK,EAAQ,UAAU,CAACF,GACjD,CAACA,GAASE,EAAQ,QAAQL,CAAU,CAAC,GAElCiC,IAAcD,EAAQ,MACnB,CAAC3B,EAAQ,UAAU,CAACF,GAC1B,CAACA,GAASE,EAAQ,QAAQL,CAAU,CAAC,GAElCkC,IACJF,EAAQ,OACC;AAAA,MACL,SAAA3B;AAAA,MACA,YAAAG;AAAA,MACA,gBAAA/B;AAAA,MACA,mBAAAyB;AAAA,MACA,QAAQF,KAAc;AAAA,MACtB,WAAWC;AAAA,MACX,MAAAJ;AAAA,MACA,SAAAC;AAAA,MACA,SAAAK;AAAA,MACA,YAAAC;AAAA,MACA,aAAA6B;AAAA,MACA,qBAAAF;AAAA,IAAA,IAED,CAAC5B,GAASN,GAAMQ,GAASL,GAAYvB,GAAgBwD,GAAaF,GAAqBvB,CAAU,CAAC,GAEjG2B,IAAa1B,EAAY,MAAM;AACnC,UAAI,CAACf,GAAS;AACZ,QAAAC,EAAU,UAAU;AACpB;AAAA,MACF;AACA,MAAAD,EAAQwC,CAA2B,EAChC,QAAQ,MAAM;AACb,QAAAvC,EAAU,UAAU;AAAA,MACtB,CAAC;AAAA,IACL,GAAG,CAACuC,GAA6BxC,CAAO,CAAC;AAEzC,WAAA0C,GAAgB,OACdD,EAAA,GACO,MAAM;AACX,MAAAxC,EAAU,UAAU;AAAA,IACtB,IACC,CAAA,CAAE,GAGH,gBAAA0C,EAAC,OAAA,EAAI,WAAU,UAAS,KAAAtD,GACtB,UAAA,gBAAAuD;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAA1C;AAAA,QACA,cAAc,CAAC2C,MAAY;AACzB,UAAA1C,EAAQ0C,CAAO,GACXA,KAASpB,EAAA;AAAA,QACf;AAAA,QAEA,UAAA;AAAA,UAAA,gBAAAiB,EAACI,IAAA,EAAe,SAAO,IAAC,WAAU,gBAChC,UAAA,gBAAAH;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,MAAK;AAAA,cACL,iBAAe7C;AAAA,cACf,WAAW8C;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA9C,KAAQ;AAAA,gBACR;AAAA,cAAA;AAAA,cAEF,UAAAX;AAAA,cAEA,UAAA;AAAA,gBAAA,gBAAAmD,EAAC,UAAK,WAAU,wEACb,UAAA9D,IACGF,GAAqB,EAAE,OAAAE,GAAO,gBAAAC,GAAgB,gBAAAC,GAAgB,IAC9D,gBAAA4D,EAAC,QAAA,EAAK,WAAU,iBAAiB,aAAY,GAEnD;AAAA,gBACC9D,IACC,gBAAA8D;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,WAAWM;AAAA,sBACT;AAAA,sBACA;AAAA,sBACA;AAAA,sBACA;AAAA,oBAAA;AAAA,oBAEF,SAAS,CAAC,MAAM;AACd,wBAAE,gBAAA,GACFb,EAAA;AAAA,oBACF;AAAA,oBAEA,4BAACc,IAAA,CAAA,CAAE;AAAA,kBAAA;AAAA,gBAAA,IAGL,gBAAAP,EAACQ,IAAA,EAAe,WAAU,qBAAA,CAAqB;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,GAGrD;AAAA,UACA,gBAAAR;AAAA,YAACS;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,OAAM;AAAA,cAEN,UAAA,gBAAAR,EAACS,IAAA,EAAQ,cAAc,IACrB,UAAA;AAAA,gBAAA,gBAAAV;AAAA,kBAACW;AAAA,kBAAA;AAAA,oBACC,aAAa7D;AAAA,oBACb,OAAOa;AAAA,oBACP,eAAe2B;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAEhB,OAAOnC,KAAuB,aAC3BA,EAAmB0C,CAA2B,IAC9C1C;AAAA,kCACHyD,IAAA,EACC,UAAA,gBAAAX;AAAA,kBAACY;AAAA,kBAAA;AAAA,oBACC,WAAWP,EAAG,CAACtC,EAAQ,UAAU,iBAAiB;AAAA,oBAEjD,UAAA;AAAA,sBAAAF,KAAW,gBAAAkC,EAACc,IAAA,EAAY,WAAS,GAAA,CAAC;AAAA,sBAClC,CAAChD,KAAW,EAAQH,4BAEhB,UAAAT,IACC,gBAAA+C,EAACc,GAAA,EAAa,WAAU,8CACtB,UAAA;AAAA,wBAAA,gBAAAf,EAAC,UAAM,UAAA/C,EAAA,CAAW;AAAA,wBACjB,OAAOC,KAAgB,aACpBA,EAAY2C,CAA2B,IACvC3C;AAAA,sBAAA,EAAA,CACN,IAEA,gBAAA8C,EAACe,GAAA,EAAc,UAAA9D,EAAA,CAAW,GAE9B;AAAA,sBAED,CAACa,KACA,gBAAAmC,EAAAe,GAAA,EACG,UAAA;AAAA,wBAAA,EAAQhD,EAAQ,UAAWZ,KAC1B,gBAAA4C;AAAA,0BAACiB;AAAA,0BAAA;AAAA,4BAEC,SAAO;AAAA,4BACP,WAAU;AAAA,4BAET,UAAA,OAAO7D,KAAmB,aACvBA,EAAeyC,CAA2B,IAC1CzC;AAAA,0BAAA;AAAA,0BANA;AAAA,wBAAA;AAAA,wBASR,gBAAA4C;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAAhF;AAAA,4BACA,SAAA8B;AAAA,4BACA,gBAAAuB;AAAA,4BACA,SAAA9B;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBACF,EAAA,CACF;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAAA,EAEJ,CACF;AAAA,cAAA,EAAA,CACF;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA,GAEJ;AAAA,EAEJ;AACF;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneplatformdev/ui",
3
- "version": "0.1.10-93",
3
+ "version": "0.1.10-94",
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-128",
109
- "@oneplatformdev/tokens": "^0.0.1-115",
110
- "@oneplatformdev/utils": "^0.1.1-142"
108
+ "@oneplatformdev/tokens": "^0.0.1-116",
109
+ "@oneplatformdev/utils": "^0.1.1-143",
110
+ "@oneplatformdev/hooks": "^0.1.0-129"
111
111
  }
112
112
  }