@oneplatformdev/ui 0.1.10-87 → 0.1.10-88

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-88 (2025-11-25)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated @oneplatformdev/utils to 0.1.1-137
6
+ - Updated @oneplatformdev/hooks to 0.1.0-123
7
+ - Updated @oneplatformdev/tokens to 0.0.1-110
8
+
1
9
  ## 0.1.10-87 (2025-11-21)
2
10
 
3
11
  ### 🧱 Updated Dependencies
@@ -1,5 +1,5 @@
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";
1
+ import { jsx as t, jsxs as c, Fragment as F } from "react/jsx-runtime";
2
+ import { forwardRef as $, useRef as ee, useState as p, useCallback as m, useEffect as te, useMemo as k, useLayoutEffect as oe } from "react";
3
3
  import { LoadingMask as ne } from "../LoadingMask/LoadingMask.js";
4
4
  import "../LoadingMask/RenderLoadingMask.js";
5
5
  import { Popover as re, PopoverTrigger as ae, PopoverContent as se } from "../Popover/Popover.js";
@@ -19,85 +19,85 @@ const Ee = $(
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 = ee(!1), [s, N] = p(!1), [a, L] = p(""), [i, S] = p(), [o, l] = p(!1), [n, V] = p([]), [W, X] = p([]), b = m((e) => {
29
+ const u = (y) => {
30
30
  const r = [];
31
- m && r.push(m);
31
+ i && r.push(i);
32
32
  const T = (A) => {
33
33
  if (A)
34
- for (const y of A)
35
- r.push(y), y.items && y.items.length && T(y.items);
34
+ for (const C of A)
35
+ r.push(C), C.items && C.items.length && T(C.items);
36
36
  };
37
- T(b), X(r);
37
+ T(y), X(r);
38
38
  };
39
- V((b) => {
40
- let r = b;
41
- return typeof e == "function" ? r = e(b) : r = e, u(r), r;
39
+ V((y) => {
40
+ let r = y;
41
+ return typeof e == "function" ? r = e(y) : r = e, u(r), r;
42
42
  });
43
- }, []);
43
+ }, [i]);
44
44
  te(() => {
45
- C?.length && S(C);
46
- }, [C]);
45
+ v?.length && b(v);
46
+ }, [v]);
47
47
  const J = async () => {
48
- s || (M(), N(""));
49
- }, M = p(async (e) => {
50
- i(!0);
48
+ s || (M(), L(""));
49
+ }, M = m(async (e) => {
50
+ l(!0);
51
51
  try {
52
52
  const u = await H(e);
53
- S(u);
53
+ b(u);
54
54
  } catch (u) {
55
55
  console.error("Unexpected error while get option:", u);
56
56
  } finally {
57
- i(!1);
57
+ l(!1);
58
58
  }
59
- }, []), K = ue(M, 1e3, {
59
+ }, [b]), K = ue(M, 1e3, {
60
60
  leading: !1,
61
61
  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);
62
+ }), Q = m((e) => {
63
+ l(!0), L(e), K(e);
64
+ }, []), j = m((e) => {
65
+ R(e.value), S(e), l(!1);
66
+ }, []), Y = m(() => {
67
+ j({ value: "", label: "" }), S(void 0), l(!1);
68
68
  }, []), B = k(() => !!a && !n.length && !o, [o, n.length, a]), D = k(() => !n.length && !o, [o, n.length, a]), d = k(() => ({
69
69
  options: n,
70
- setOptions: S,
71
- selectedOption: m,
72
- setSelectedOption: L,
70
+ setOptions: b,
71
+ selectedOption: i,
72
+ setSelectedOption: S,
73
73
  search: a || "",
74
- setSearch: N,
74
+ setSearch: L,
75
75
  open: s,
76
- setOpen: O,
76
+ setOpen: N,
77
77
  loading: o,
78
- setLoading: i,
78
+ setLoading: l,
79
79
  isEmptyList: D,
80
80
  isSearchedEmptyList: B
81
- }), [o, s, n, a, m, D, B]), Z = p(() => {
82
- if (!v) {
83
- w.current = !0;
81
+ }), [o, s, n, a, i, D, B]), Z = m(() => {
82
+ if (!w) {
83
+ O.current = !0;
84
84
  return;
85
85
  }
86
- v(d).finally(() => {
87
- w.current = !0;
86
+ w(d).finally(() => {
87
+ O.current = !0;
88
88
  });
89
- }, [d, v]);
89
+ }, [d, w]);
90
90
  return oe(() => (Z(), () => {
91
- w.current = !1;
92
- }), []), /* @__PURE__ */ t("div", { className: "w-full", ref: G, children: /* @__PURE__ */ l(
91
+ O.current = !1;
92
+ }), []), /* @__PURE__ */ t("div", { className: "w-full", ref: G, children: /* @__PURE__ */ c(
93
93
  re,
94
94
  {
95
95
  open: s,
96
96
  onOpenChange: (e) => {
97
- O(e), e && J();
97
+ N(e), e && J();
98
98
  },
99
99
  children: [
100
- /* @__PURE__ */ t(ae, { asChild: !0, className: "border-input", children: /* @__PURE__ */ l(
100
+ /* @__PURE__ */ t(ae, { asChild: !0, className: "border-input", children: /* @__PURE__ */ c(
101
101
  ie,
102
102
  {
103
103
  variant: "outline",
@@ -112,7 +112,7 @@ const Ee = $(
112
112
  ),
113
113
  disabled: _,
114
114
  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 }) }),
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 || i?.label : /* @__PURE__ */ t("span", { className: "text-gray-400", children: U }) }),
116
116
  h ? /* @__PURE__ */ t(
117
117
  "div",
118
118
  {
@@ -136,7 +136,7 @@ const Ee = $(
136
136
  {
137
137
  className: "w-(--radix-popper-anchor-width) max-w-none p-0",
138
138
  align: "start",
139
- children: /* @__PURE__ */ l(le, { shouldFilter: !1, children: [
139
+ children: /* @__PURE__ */ c(le, { shouldFilter: !1, children: [
140
140
  /* @__PURE__ */ t(
141
141
  ce,
142
142
  {
@@ -146,17 +146,17 @@ const Ee = $(
146
146
  }
147
147
  ),
148
148
  typeof x == "function" ? x(d) : x,
149
- /* @__PURE__ */ t(pe, { children: /* @__PURE__ */ l(
149
+ /* @__PURE__ */ t(pe, { children: /* @__PURE__ */ c(
150
150
  me,
151
151
  {
152
152
  className: P(!n.length && "p-0 shadow-none"),
153
153
  children: [
154
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: [
155
+ !o && !!a && /* @__PURE__ */ t(F, { children: f ? /* @__PURE__ */ c(I, { className: "flex flex-col gap-3 py-5 px-3 items-center", children: [
156
156
  /* @__PURE__ */ t("span", { children: E }),
157
157
  typeof f == "function" ? f(d) : f
158
158
  ] }) : /* @__PURE__ */ t(I, { children: E }) }),
159
- !o && /* @__PURE__ */ l(F, { children: [
159
+ !o && /* @__PURE__ */ c(F, { children: [
160
160
  !!n.length && g && /* @__PURE__ */ t(
161
161
  de,
162
162
  {
@@ -172,7 +172,7 @@ const Ee = $(
172
172
  value: h,
173
173
  options: n,
174
174
  onChangeOption: j,
175
- setOpen: O
175
+ setOpen: N
176
176
  }
177
177
  )
178
178
  ] })
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","sources":["../../src/Combobox/Combobox.tsx"],"sourcesContent":["import {\n Dispatch,\n forwardRef, SetStateAction,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { LoadingMask } from '../LoadingMask';\nimport { Popover, PopoverContent, PopoverTrigger } from '../Popover';\nimport { Button } from '../Button';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '../Command';\nimport { cn } from '@oneplatformdev/utils';\nimport { useDebounceCallback } from '@oneplatformdev/hooks';\nimport { ChevronsUpDown, X } from 'lucide-react';\nimport {\n ComboboxCallbackStateParams,\n ComboboxOption,\n ComboboxProps,\n} from './Combobox.types';\nimport { ComboboxOptions } from './ComboboxOptions'; // TODO: refactor next component | nlt code\n\n// TODO: refactor next component | nlt code\nexport const Combobox = forwardRef<HTMLDivElement, ComboboxProps>(\n (props, ref) => {\n const {\n value,\n onChange,\n placeholder,\n disabled,\n searchLabel = 'Type to search...',\n fetchOptions,\n options: itemOptions,\n emptyLabel = 'No options',\n emptyAction,\n commandInputAction,\n listHeadAction,\n onMount,\n } = props;\n const isMounted = useRef(false);\n const [open, setOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState('');\n const [selectedOption, setSelectedOption] = useState<ComboboxOption>();\n const [loading, setLoading] = useState(false);\n\n 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 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 }, [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","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-88",
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-110",
109
+ "@oneplatformdev/hooks": "^0.1.0-123",
110
+ "@oneplatformdev/utils": "^0.1.1-137"
111
111
  }
112
112
  }