@oneplatformdev/ui 0.1.10-90 → 0.1.10-91

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-91 (2025-11-25)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated @oneplatformdev/utils to 0.1.1-140
6
+ - Updated @oneplatformdev/hooks to 0.1.0-126
7
+ - Updated @oneplatformdev/tokens to 0.0.1-113
8
+
1
9
  ## 0.1.10-90 (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,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,0GA8PpB,CAAC"}
@@ -1,122 +1,130 @@
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 i, Fragment as V } from "react/jsx-runtime";
2
+ import { forwardRef as ee, useRef as te, useState as d, 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
5
  import { Popover as ae, PopoverTrigger as se, PopoverContent as ie } from "../Popover/Popover.js";
6
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 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 me, CommandEmpty as W, CommandItem as ue } 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 Ce = (O) => {
14
+ const { value: u, flattenOptions: n = [], selectedOption: S } = O;
15
+ if (!u) return "No value for render label";
16
+ const C = [n.find((f) => String(f.value).toLowerCase() === String(u).toLowerCase()), S].filter(Boolean).map((f) => f.label).find(Boolean);
17
+ return C || u;
18
+ }, Ee = ee(
19
+ (O, u) => {
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: N,
24
+ disabled: C,
25
+ searchLabel: f = "Type to search...",
26
+ fetchOptions: X,
27
+ options: L,
28
+ emptyLabel: F = "No options",
29
+ emptyAction: v,
30
+ commandInputAction: k,
31
+ listHeadAction: y,
32
+ onMount: B
33
+ } = O, P = te(!1), [l, D] = d(!1), [a, E] = d(""), [c, M] = d(), [o, p] = d(!1), [r, _] = d([]), [I, J] = d([]), h = m((e) => {
34
+ const b = (j) => {
35
+ const s = [], q = (w) => {
36
+ if (w)
37
+ for (const x of w)
38
+ s.push(x), x.items && x.items.length && q(x.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
+ q(j);
41
+ const H = c || s.find((w) => !!n && String(w.value) === String(n));
42
+ H && s.push(H), J(s);
38
43
  };
39
- W((y) => {
40
- let r = y;
41
- return typeof e == "function" ? r = e(y) : r = e, f(r), r;
44
+ _((j) => {
45
+ const s = typeof e == "function" ? e(j) : e;
46
+ return b(s), s;
42
47
  });
43
- }, [d, a]);
48
+ }, [c, n]);
44
49
  ne(() => {
45
- x?.length && b(x);
46
- }, [x]);
50
+ L?.length && h(L);
51
+ }, [L]);
47
52
  const K = async () => {
48
- i || (j(), L(""));
49
- }, j = m(async (e) => {
50
- l(!0);
53
+ l || (R(), E(""));
54
+ }, R = m(async (e) => {
55
+ p(!0);
51
56
  try {
52
- const f = await V(e);
53
- b(f);
54
- } catch (f) {
55
- console.error("Unexpected error while get option:", f);
57
+ const b = await X(e);
58
+ h(b);
59
+ } catch (b) {
60
+ console.error("Unexpected error while get option:", b);
56
61
  } finally {
57
- l(!1);
62
+ p(!1);
58
63
  }
59
- }, [b]), Q = fe(j, 1e3, {
64
+ }, [h]), Q = fe(R, 1e3, {
60
65
  leading: !1,
61
66
  trailing: !0
62
67
  }), Y = m((e) => {
63
- l(!0), L(e), Q(e);
64
- }, []), B = m((e) => {
65
- U(e.value), k(e), l(!1);
68
+ p(!0), E(e), Q(e);
69
+ }, []), z = m((e) => {
70
+ S(e.value), M(e), p(!1);
66
71
  }, []), 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,
70
- setOptions: b,
71
- selectedOption: d,
72
- setSelectedOption: k,
73
- search: s || "",
74
- setSearch: L,
75
- 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;
72
+ z({ value: "", label: "" }), M(void 0), p(!1);
73
+ }, []), G = T(() => !!a && !r.length && !o, [o, r.length, a]), U = T(() => !r.length && !o, [o, r.length, a]), g = T(() => ({
74
+ options: r,
75
+ setOptions: h,
76
+ selectedOption: c,
77
+ setSelectedOption: M,
78
+ search: a || "",
79
+ setSearch: E,
80
+ open: l,
81
+ setOpen: D,
82
+ loading: o,
83
+ setLoading: p,
84
+ isEmptyList: U,
85
+ isSearchedEmptyList: G
86
+ }), [o, l, r, a, c, U, G, h]), $ = m(() => {
87
+ if (!B) {
88
+ P.current = !0;
84
89
  return;
85
90
  }
86
- O(u).finally(() => {
87
- N.current = !0;
91
+ B(g).finally(() => {
92
+ P.current = !0;
88
93
  });
89
- }, [u, O]);
94
+ }, [g, B]);
90
95
  return oe(() => ($(), () => {
91
- N.current = !1;
92
- }), []), /* @__PURE__ */ t("div", { className: "w-full", ref: R, children: /* @__PURE__ */ c(
96
+ P.current = !1;
97
+ }), []), /* @__PURE__ */ t("div", { className: "w-full", ref: u, children: /* @__PURE__ */ i(
93
98
  ae,
94
99
  {
95
- open: i,
100
+ open: l,
96
101
  onOpenChange: (e) => {
97
- S(e), e && K();
102
+ D(e), e && K();
98
103
  },
99
104
  children: [
100
- /* @__PURE__ */ t(se, { asChild: !0, className: "border-input", children: /* @__PURE__ */ c(
105
+ /* @__PURE__ */ t(se, { asChild: !0, className: "border-input", children: /* @__PURE__ */ i(
101
106
  le,
102
107
  {
103
108
  variant: "outline",
104
109
  role: "combobox",
105
110
  size: "lg",
106
- "aria-expanded": i,
107
- className: E(
111
+ "aria-expanded": l,
112
+ className: A(
108
113
  "w-full justify-between font-normal text-sm bg-transparent relative p-3",
109
114
  "border border-border",
110
- i && "border-2 outline-hidden ring-1 ring-ring",
115
+ l && "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
- disabled: q,
118
+ disabled: C,
114
119
  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(
120
+ /* @__PURE__ */ i("span", { className: "truncate max-w-[calc(100%-1.5rem)] overflow-hidden whitespace-nowrap", children: [
121
+ n ? I.find((e) => String(e.value).toLowerCase() === String(n).toLowerCase())?.label || c?.label : /* @__PURE__ */ t("span", { className: "text-gray-400", children: N }),
122
+ n ? Ce({ value: n, flattenOptions: I, selectedOption: c }) : /* @__PURE__ */ t("span", { className: "text-gray-400", children: N })
123
+ ] }),
124
+ n ? /* @__PURE__ */ t(
117
125
  "div",
118
126
  {
119
- className: E(
127
+ className: A(
120
128
  "absolute top-0 right-1",
121
129
  "flex items-center justify-center",
122
130
  "w-9 aspect-square [&_svg]:size-5",
@@ -136,43 +144,43 @@ const Me = ee(
136
144
  {
137
145
  className: "w-(--radix-popper-anchor-width) max-w-none p-0",
138
146
  align: "start",
139
- children: /* @__PURE__ */ c(ce, { shouldFilter: !1, children: [
147
+ children: /* @__PURE__ */ i(ce, { shouldFilter: !1, children: [
140
148
  /* @__PURE__ */ t(
141
149
  pe,
142
150
  {
143
- placeholder: H,
144
- value: s,
151
+ placeholder: f,
152
+ value: a,
145
153
  onValueChange: Y
146
154
  }
147
155
  ),
148
- typeof w == "function" ? w(u) : w,
149
- /* @__PURE__ */ t(me, { children: /* @__PURE__ */ c(
150
- de,
156
+ typeof k == "function" ? k(g) : k,
157
+ /* @__PURE__ */ t(de, { children: /* @__PURE__ */ i(
158
+ me,
151
159
  {
152
- className: E(!o.length && "p-0 shadow-none"),
160
+ className: A(!r.length && "p-0 shadow-none"),
153
161
  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(
162
+ o && /* @__PURE__ */ t(re, { fullWidth: !0 }),
163
+ !o && !!a && /* @__PURE__ */ t(V, { children: v ? /* @__PURE__ */ i(W, { className: "flex flex-col gap-3 py-5 px-3 items-center", children: [
164
+ /* @__PURE__ */ t("span", { children: F }),
165
+ typeof v == "function" ? v(g) : v
166
+ ] }) : /* @__PURE__ */ t(W, { children: F }) }),
167
+ !o && /* @__PURE__ */ i(V, { children: [
168
+ !!r.length && y && /* @__PURE__ */ t(
161
169
  ue,
162
170
  {
163
171
  asChild: !0,
164
172
  className: "w-full",
165
- children: typeof g == "function" ? g(u) : g
173
+ children: typeof y == "function" ? y(g) : y
166
174
  },
167
175
  "combobox-list-head-action"
168
176
  ),
169
177
  /* @__PURE__ */ t(
170
178
  be,
171
179
  {
172
- value: a,
173
- options: o,
174
- onChangeOption: B,
175
- setOpen: S
180
+ value: n,
181
+ options: r,
182
+ onChangeOption: z,
183
+ setOpen: D
176
184
  }
177
185
  )
178
186
  ] })
@@ -188,6 +196,6 @@ const Me = ee(
188
196
  }
189
197
  );
190
198
  export {
191
- Me as Combobox
199
+ Ee as Combobox
192
200
  };
193
201
  //# 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 const current = selectedOption || res.find(o => !!value && String(o.value) === String(value));\n if(current) res.push(current)\n setFlattenOptions(res);\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 flattenOptions.find((o) => {\n return String(o.value).toLowerCase() === String(value).toLowerCase();\n })?.label ||\n selectedOption?.label\n ) : (\n <span className=\"text-gray-400\">{placeholder}</span>\n )}\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","current","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":";;;;;;;;;;;;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;AACT,cAAMK,IAAUxC,KAAkBoC,EAAI,KAAK,OAAK,CAAC,CAACtC,KAAS,OAAOI,EAAE,KAAK,MAAM,OAAOJ,CAAK,CAAC;AAC5F,QAAG0C,KAASJ,EAAI,KAAKI,CAAO,GAC5BV,EAAkBM,CAAG;AAAA,MACvB;AACA,MAAAP,EAAmB,CAACY,MAAS;AAC3B,cAAMN,IAAyB,OAAOF,KAAW,aAAaA,EAAOQ,CAAI,IAAIR;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,gBAAAoD,EAAC,QAAA,EAAK,WAAU,wEACb,UAAA;AAAA,kBAAA/D,IACCC,EAAe,KAAK,CAACG,MACZ,OAAOA,EAAE,KAAK,EAAE,kBAAkB,OAAOJ,CAAK,EAAE,YAAA,CACxD,GAAG,SACJE,GAAgB,QAEhB,gBAAA4D,EAAC,QAAA,EAAK,WAAU,iBAAiB,UAAApD,EAAA,CAAY;AAAA,kBAE9CV,IACGF,GAAqB,EAAE,OAAAE,GAAO,gBAAAC,GAAgB,gBAAAC,EAAA,CAAgB,IAC9D,gBAAA4D,EAAC,QAAA,EAAK,WAAU,iBAAiB,UAAApD,EAAA,CAAY;AAAA,gBAAA,GAEnD;AAAA,gBACCV,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-90",
3
+ "version": "0.1.10-91",
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-113",
109
+ "@oneplatformdev/hooks": "^0.1.0-126",
110
+ "@oneplatformdev/utils": "^0.1.1-140"
111
111
  }
112
112
  }