@oneplatformdev/ui 0.1.10-70 → 0.1.10-72
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 +16 -0
- package/Combobox/Combobox.d.ts.map +1 -1
- package/Combobox/Combobox.js +96 -92
- package/Combobox/Combobox.js.map +1 -1
- package/Dialog/Dialog.d.ts.map +1 -1
- package/Dialog/Dialog.js +35 -28
- package/Dialog/Dialog.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
## 0.1.10-72 (2025-11-03)
|
|
2
|
+
|
|
3
|
+
### 🧱 Updated Dependencies
|
|
4
|
+
|
|
5
|
+
- Updated @oneplatformdev/utils to 0.1.1-121
|
|
6
|
+
- Updated @oneplatformdev/hooks to 0.1.0-107
|
|
7
|
+
- Updated @oneplatformdev/tokens to 0.0.1-94
|
|
8
|
+
|
|
9
|
+
## 0.1.10-71 (2025-11-03)
|
|
10
|
+
|
|
11
|
+
### 🧱 Updated Dependencies
|
|
12
|
+
|
|
13
|
+
- Updated @oneplatformdev/utils to 0.1.1-120
|
|
14
|
+
- Updated @oneplatformdev/hooks to 0.1.0-106
|
|
15
|
+
- Updated @oneplatformdev/tokens to 0.0.1-93
|
|
16
|
+
|
|
1
17
|
## 0.1.10-70 (2025-10-22)
|
|
2
18
|
|
|
3
19
|
### 🧱 Updated Dependencies
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/Combobox/Combobox.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAGL,aAAa,EACd,MAAM,kBAAkB,CAAC;AAI1B,eAAO,MAAM,QAAQ,
|
|
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,0GAuPpB,CAAC"}
|
package/Combobox/Combobox.js
CHANGED
|
@@ -1,112 +1,116 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { LoadingMask as
|
|
1
|
+
import { jsx as t, jsxs as l, Fragment as F } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as $, useRef as ee, useState as c, useCallback as p, useEffect as te, useMemo as k, useLayoutEffect as oe } from "react";
|
|
3
|
+
import { LoadingMask as ne } from "../LoadingMask/LoadingMask.js";
|
|
4
4
|
import "../LoadingMask/RenderLoadingMask.js";
|
|
5
|
-
import { Popover as
|
|
6
|
-
import { Button as
|
|
5
|
+
import { Popover as re, PopoverTrigger as ae, PopoverContent as se } from "../Popover/Popover.js";
|
|
6
|
+
import { Button as ie } from "../Button/Button.js";
|
|
7
7
|
import "../Button/buttonVariants.js";
|
|
8
|
-
import { Command as
|
|
8
|
+
import { Command as le, CommandInput as ce, CommandList as pe, CommandGroup as me, CommandEmpty as I, CommandItem as de } from "../Command/Command.js";
|
|
9
9
|
import { cn as P } from "@oneplatformdev/utils";
|
|
10
|
-
import { useDebounceCallback as
|
|
11
|
-
import { X as
|
|
12
|
-
import { ComboboxOptions as
|
|
13
|
-
const
|
|
14
|
-
(
|
|
10
|
+
import { useDebounceCallback as ue } from "@oneplatformdev/hooks";
|
|
11
|
+
import { X as he, ChevronsUpDown as fe } from "lucide-react";
|
|
12
|
+
import { ComboboxOptions as ge } from "./ComboboxOptions.js";
|
|
13
|
+
const Ee = $(
|
|
14
|
+
(z, G) => {
|
|
15
15
|
const {
|
|
16
16
|
value: u,
|
|
17
|
-
onChange:
|
|
18
|
-
placeholder:
|
|
19
|
-
disabled:
|
|
20
|
-
searchLabel:
|
|
21
|
-
fetchOptions:
|
|
22
|
-
options:
|
|
23
|
-
emptyLabel:
|
|
17
|
+
onChange: R,
|
|
18
|
+
placeholder: U,
|
|
19
|
+
disabled: _,
|
|
20
|
+
searchLabel: q = "Type to search...",
|
|
21
|
+
fetchOptions: H,
|
|
22
|
+
options: y,
|
|
23
|
+
emptyLabel: E = "No options",
|
|
24
24
|
emptyAction: h,
|
|
25
|
-
commandInputAction:
|
|
25
|
+
commandInputAction: C,
|
|
26
26
|
listHeadAction: f,
|
|
27
|
-
onMount:
|
|
28
|
-
} =
|
|
27
|
+
onMount: x
|
|
28
|
+
} = z, v = ee(!1), [s, w] = c(!1), [r, O] = c(""), [N, L] = c(), [o, i] = c(!1), [n, V] = c([]), [W, X] = c([]), S = p((e) => {
|
|
29
29
|
const d = (g) => {
|
|
30
|
-
const
|
|
31
|
-
|
|
30
|
+
const a = [], T = (A) => {
|
|
31
|
+
if (A)
|
|
32
|
+
for (const b of A)
|
|
33
|
+
a.push(b), b.items && b.items.length && T(b.items);
|
|
34
|
+
};
|
|
35
|
+
T(g), X(a);
|
|
32
36
|
};
|
|
33
|
-
|
|
34
|
-
let
|
|
35
|
-
return typeof e == "function" ?
|
|
37
|
+
V((g) => {
|
|
38
|
+
let a = g;
|
|
39
|
+
return typeof e == "function" ? a = e(g) : a = e, d(a), a;
|
|
36
40
|
});
|
|
37
41
|
}, []);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}, [
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
},
|
|
44
|
-
|
|
42
|
+
te(() => {
|
|
43
|
+
y?.length && S(y);
|
|
44
|
+
}, [y]);
|
|
45
|
+
const J = async () => {
|
|
46
|
+
s || (M(), O(""));
|
|
47
|
+
}, M = p(async (e) => {
|
|
48
|
+
i(!0);
|
|
45
49
|
try {
|
|
46
|
-
const d = await
|
|
47
|
-
|
|
50
|
+
const d = await H(e);
|
|
51
|
+
S(d);
|
|
48
52
|
} catch (d) {
|
|
49
53
|
console.error("Unexpected error while get option:", d);
|
|
50
54
|
} finally {
|
|
51
|
-
|
|
55
|
+
i(!1);
|
|
52
56
|
}
|
|
53
|
-
}, []),
|
|
57
|
+
}, []), K = ue(M, 1e3, {
|
|
54
58
|
leading: !1,
|
|
55
59
|
trailing: !0
|
|
56
|
-
}),
|
|
57
|
-
|
|
58
|
-
}, []),
|
|
59
|
-
|
|
60
|
-
}, []),
|
|
61
|
-
|
|
62
|
-
}, []),
|
|
60
|
+
}), Q = p((e) => {
|
|
61
|
+
i(!0), O(e), K(e);
|
|
62
|
+
}, []), j = p((e) => {
|
|
63
|
+
R(e.value), L(e), i(!1);
|
|
64
|
+
}, []), Y = p(() => {
|
|
65
|
+
j({ value: "", label: "" }), L(void 0), i(!1);
|
|
66
|
+
}, []), B = k(() => !!r && !n.length && !o, [o, n.length, r]), D = k(() => !n.length && !o, [o, n.length, r]), m = k(() => ({
|
|
63
67
|
options: n,
|
|
64
|
-
setOptions:
|
|
65
|
-
selectedOption:
|
|
66
|
-
setSelectedOption:
|
|
68
|
+
setOptions: S,
|
|
69
|
+
selectedOption: N,
|
|
70
|
+
setSelectedOption: L,
|
|
67
71
|
search: r || "",
|
|
68
|
-
setSearch:
|
|
69
|
-
open:
|
|
70
|
-
setOpen:
|
|
72
|
+
setSearch: O,
|
|
73
|
+
open: s,
|
|
74
|
+
setOpen: w,
|
|
71
75
|
loading: o,
|
|
72
|
-
setLoading:
|
|
73
|
-
isEmptyList:
|
|
74
|
-
isSearchedEmptyList:
|
|
75
|
-
}), [o,
|
|
76
|
-
if (!
|
|
77
|
-
|
|
76
|
+
setLoading: i,
|
|
77
|
+
isEmptyList: D,
|
|
78
|
+
isSearchedEmptyList: B
|
|
79
|
+
}), [o, s, n, r, N, D, B]), Z = p(() => {
|
|
80
|
+
if (!x) {
|
|
81
|
+
v.current = !0;
|
|
78
82
|
return;
|
|
79
83
|
}
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
x(m).finally(() => {
|
|
85
|
+
v.current = !0;
|
|
82
86
|
});
|
|
83
|
-
}, [m,
|
|
84
|
-
return
|
|
85
|
-
|
|
86
|
-
}), []), /* @__PURE__ */ t("div", { className: "w-full", ref:
|
|
87
|
-
|
|
87
|
+
}, [m, x]);
|
|
88
|
+
return oe(() => (Z(), () => {
|
|
89
|
+
v.current = !1;
|
|
90
|
+
}), []), /* @__PURE__ */ t("div", { className: "w-full", ref: G, children: /* @__PURE__ */ l(
|
|
91
|
+
re,
|
|
88
92
|
{
|
|
89
|
-
open:
|
|
93
|
+
open: s,
|
|
90
94
|
onOpenChange: (e) => {
|
|
91
|
-
|
|
95
|
+
w(e), e && J();
|
|
92
96
|
},
|
|
93
97
|
children: [
|
|
94
|
-
/* @__PURE__ */ t(
|
|
95
|
-
|
|
98
|
+
/* @__PURE__ */ t(ae, { asChild: !0, className: "border-input", children: /* @__PURE__ */ l(
|
|
99
|
+
ie,
|
|
96
100
|
{
|
|
97
101
|
variant: "outline",
|
|
98
102
|
role: "combobox",
|
|
99
103
|
size: "lg",
|
|
100
|
-
"aria-expanded":
|
|
104
|
+
"aria-expanded": s,
|
|
101
105
|
className: P(
|
|
102
106
|
"w-full justify-between font-normal text-sm bg-transparent relative p-3",
|
|
103
107
|
"border border-border",
|
|
104
|
-
|
|
108
|
+
s && "border-2 outline-hidden ring-1 ring-ring",
|
|
105
109
|
"focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring"
|
|
106
110
|
),
|
|
107
|
-
disabled:
|
|
111
|
+
disabled: _,
|
|
108
112
|
children: [
|
|
109
|
-
/* @__PURE__ */ t("span", { className: "truncate max-w-[calc(100%-1.5rem)] overflow-hidden whitespace-nowrap", children: u ?
|
|
113
|
+
/* @__PURE__ */ t("span", { className: "truncate max-w-[calc(100%-1.5rem)] overflow-hidden whitespace-nowrap", children: u ? W.find((e) => e.value === u)?.label || N?.label : /* @__PURE__ */ t("span", { className: "text-gray-400", children: U }) }),
|
|
110
114
|
u ? /* @__PURE__ */ t(
|
|
111
115
|
"div",
|
|
112
116
|
{
|
|
@@ -117,42 +121,42 @@ const Pe = Y(
|
|
|
117
121
|
"opacity-50 cursor-pointer hover:opacity-100"
|
|
118
122
|
),
|
|
119
123
|
onClick: (e) => {
|
|
120
|
-
e.stopPropagation(),
|
|
124
|
+
e.stopPropagation(), Y();
|
|
121
125
|
},
|
|
122
|
-
children: /* @__PURE__ */ t(
|
|
126
|
+
children: /* @__PURE__ */ t(he, {})
|
|
123
127
|
}
|
|
124
|
-
) : /* @__PURE__ */ t(
|
|
128
|
+
) : /* @__PURE__ */ t(fe, { className: "opacity-50 w-4 h-4" })
|
|
125
129
|
]
|
|
126
130
|
}
|
|
127
131
|
) }),
|
|
128
132
|
/* @__PURE__ */ t(
|
|
129
|
-
|
|
133
|
+
se,
|
|
130
134
|
{
|
|
131
135
|
className: "w-(--radix-popper-anchor-width) max-w-none p-0",
|
|
132
136
|
align: "start",
|
|
133
|
-
children: /* @__PURE__ */
|
|
137
|
+
children: /* @__PURE__ */ l(le, { shouldFilter: !1, children: [
|
|
134
138
|
/* @__PURE__ */ t(
|
|
135
|
-
|
|
139
|
+
ce,
|
|
136
140
|
{
|
|
137
|
-
placeholder:
|
|
141
|
+
placeholder: q,
|
|
138
142
|
value: r,
|
|
139
|
-
onValueChange:
|
|
143
|
+
onValueChange: Q
|
|
140
144
|
}
|
|
141
145
|
),
|
|
142
|
-
typeof
|
|
143
|
-
/* @__PURE__ */ t(
|
|
144
|
-
|
|
146
|
+
typeof C == "function" ? C(m) : C,
|
|
147
|
+
/* @__PURE__ */ t(pe, { children: /* @__PURE__ */ l(
|
|
148
|
+
me,
|
|
145
149
|
{
|
|
146
150
|
className: P(!n.length && "p-0 shadow-none"),
|
|
147
151
|
children: [
|
|
148
|
-
o && /* @__PURE__ */ t(
|
|
149
|
-
!o && !!r && /* @__PURE__ */ t(
|
|
150
|
-
/* @__PURE__ */ t("span", { children:
|
|
152
|
+
o && /* @__PURE__ */ t(ne, { fullWidth: !0 }),
|
|
153
|
+
!o && !!r && /* @__PURE__ */ t(F, { children: h ? /* @__PURE__ */ l(I, { className: "flex flex-col gap-3 py-5 px-3 items-center", children: [
|
|
154
|
+
/* @__PURE__ */ t("span", { children: E }),
|
|
151
155
|
typeof h == "function" ? h(m) : h
|
|
152
|
-
] }) : /* @__PURE__ */ t(
|
|
153
|
-
!o && /* @__PURE__ */
|
|
156
|
+
] }) : /* @__PURE__ */ t(I, { children: E }) }),
|
|
157
|
+
!o && /* @__PURE__ */ l(F, { children: [
|
|
154
158
|
!!n.length && f && /* @__PURE__ */ t(
|
|
155
|
-
|
|
159
|
+
de,
|
|
156
160
|
{
|
|
157
161
|
asChild: !0,
|
|
158
162
|
className: "w-full",
|
|
@@ -161,12 +165,12 @@ const Pe = Y(
|
|
|
161
165
|
"combobox-list-head-action"
|
|
162
166
|
),
|
|
163
167
|
/* @__PURE__ */ t(
|
|
164
|
-
|
|
168
|
+
ge,
|
|
165
169
|
{
|
|
166
170
|
value: u,
|
|
167
171
|
options: n,
|
|
168
|
-
onChangeOption:
|
|
169
|
-
setOpen:
|
|
172
|
+
onChangeOption: j,
|
|
173
|
+
setOpen: w
|
|
170
174
|
}
|
|
171
175
|
)
|
|
172
176
|
] })
|
|
@@ -182,6 +186,6 @@ const Pe = Y(
|
|
|
182
186
|
}
|
|
183
187
|
);
|
|
184
188
|
export {
|
|
185
|
-
|
|
189
|
+
Ee as Combobox
|
|
186
190
|
};
|
|
187
191
|
//# sourceMappingURL=Combobox.js.map
|
package/Combobox/Combobox.js.map
CHANGED
|
@@ -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 = next.map(o => [o, ...(o.items || []).flat()]).flat();\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","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":";;;;;;;;;;;;AAgCO,MAAMA,KAAWC;AAAA,EACtB,CAACC,GAAOC,MAAQ;AACd,UAAM;AAAA,MACJ,OAAAC;AAAA,MACA,UAAAC;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,IACEb,GACEc,IAAYC,EAAO,EAAK,GACxB,CAACC,GAAMC,CAAO,IAAIC,EAAS,EAAK,GAChC,CAACC,GAAYC,CAAa,IAAIF,EAAS,EAAE,GACzC,CAACG,GAAgBC,CAAiB,IAAIJ,EAAA,GACtC,CAACK,GAASC,CAAU,IAAIN,EAAS,EAAK,GAEtC,CAACO,GAASC,CAAW,IAAIR,EAA2B,CAAA,CAAE,GACtD,CAACS,GAAgBC,CAAiB,IAAIV,EAA2B,CAAA,CAAE,GACnEW,IAAyDC,EAAY,CAACC,MAAW;AACrF,YAAMC,IAAU,CAACC,MAA2B;AAC1C,cAAMC,IAAMD,EAAK,IAAI,CAAAE,MAAK,CAACA,GAAG,IAAIA,EAAE,SAAS,CAAA,GAAI,KAAA,CAAM,CAAC,EAAE,KAAA;AAC1D,QAAAP,EAAkBM,CAAG;AAAA,MACvB;AACA,MAAAR,EAAY,CAACU,MAAS;AACpB,YAAIH,IAAyBG;AAC7B,eAAG,OAAOL,KAAW,aAAYE,IAAOF,EAAOK,CAAI,IAC9CH,IAAOF,GACZC,EAAQC,CAAI,GACLA;AAAA,MACT,CAAC;AAAA,IACH,GAAG,CAAA,CAAE;AAEL,IAAAI,EAAU,MAAM;AACd,MAAA7B,GAAa,UAAUqB,EAAWrB,CAAW;AAAA,IAC/C,GAAG,CAACA,CAAW,CAAC;AAEhB,UAAM8B,IAAoB,YAAY;AACpC,MAAKtB,MACHuB,EAAA,GACAnB,EAAc,EAAE;AAAA,IAEpB,GAEMmB,IAAUT,EAAY,OAAOU,MAAoB;AACrD,MAAAhB,EAAW,EAAI;AACf,UAAI;AACF,cAAMiB,IAAiB,MAAMlC,EAAaiC,CAAM;AAChD,QAAAX,EAAWY,CAAc;AAAA,MAC3B,SAASC,GAAO;AACd,gBAAQ,MAAM,sCAAsCA,CAAK;AAAA,MAC3D,UAAA;AACE,QAAAlB,EAAW,EAAK;AAAA,MAClB;AAAA,IACF,GAAG,CAAA,CAAE,GAECmB,IAAmBC,GAAoBL,GAAS,KAAM;AAAA,MAC1D,SAAS;AAAA,MACT,UAAU;AAAA,IAAA,CACX,GAEKM,IAAqBf,EAAY,CAAC5B,MAAkB;AACxD,MAAAsB,EAAW,EAAI,GACfJ,EAAclB,CAAK,GACnByC,EAAiBzC,CAAK;AAAA,IACxB,GAAG,CAAA,CAAE,GAEC4C,IAAiBhB,EAAY,CAACiB,MAA2B;AAC7D,MAAA5C,EAAS4C,EAAO,KAAK,GACrBzB,EAAkByB,CAAM,GACxBvB,EAAW,EAAK;AAAA,IAClB,GAAG,CAAA,CAAE,GAECwB,IAAuBlB,EAAY,MAAM;AAC7C,MAAAgB,EAAe,EAAE,OAAO,IAAI,OAAO,IAAI,GACvCxB,EAAkB,MAAS,GAC3BE,EAAW,EAAK;AAAA,IAClB,GAAG,CAAA,CAAE,GAECyB,IAAsBC,EAAQ,MAC3B,EAAQ/B,KAAe,CAACM,EAAQ,UAAU,CAACF,GACjD,CAACA,GAASE,EAAQ,QAAQN,CAAU,CAAC,GAElCgC,IAAcD,EAAQ,MACnB,CAACzB,EAAQ,UAAU,CAACF,GAC1B,CAACA,GAASE,EAAQ,QAAQN,CAAU,CAAC,GAElCiC,IACJF,EAAQ,OACC;AAAA,MACL,SAAAzB;AAAA,MACA,YAAAI;AAAA,MACA,gBAAAR;AAAA,MACA,mBAAAC;AAAA,MACA,QAAQH,KAAc;AAAA,MACtB,WAAWC;AAAA,MACX,MAAAJ;AAAA,MACA,SAAAC;AAAA,MACA,SAAAM;AAAA,MACA,YAAAC;AAAA,MACA,aAAA2B;AAAA,MACA,qBAAAF;AAAA,IAAA,IAED,CAAC1B,GAASP,GAAMS,GAASN,GAAYE,GAAgB8B,GAAaF,CAAmB,CAAC,GAErFI,IAAavB,EAAY,MAAM;AACnC,UAAI,CAACjB,GAAS;AACZ,QAAAC,EAAU,UAAU;AACpB;AAAA,MACF;AACA,MAAAD,EAAQuC,CAA2B,EAAE,QAAQ,MAAM;AACjD,QAAAtC,EAAU,UAAU;AAAA,MACtB,CAAC;AAAA,IACH,GAAG,CAACsC,GAA6BvC,CAAO,CAAC;AAEzC,WAAAyC,GAAgB,OACdD,EAAA,GACO,MAAM;AACX,MAAAvC,EAAU,UAAU;AAAA,IACtB,IACC,CAAA,CAAE,GAGH,gBAAAyC,EAAC,OAAA,EAAI,WAAU,UAAS,KAAAtD,GACtB,UAAA,gBAAAuD;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAAzC;AAAA,QACA,cAAc,CAAC0C,MAAY;AACzB,UAAAzC,EAAQyC,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,iBAAe5C;AAAA,cACf,WAAW6C;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA7C,KAAQ;AAAA,gBACR;AAAA,cAAA;AAAA,cAEF,UAAAX;AAAA,cAEA,UAAA;AAAA,gBAAA,gBAAAkD,EAAC,QAAA,EAAK,WAAU,wEACb,UAAArD,IACCyB,EAAe,KAAK,CAACoB,MAAWA,EAAO,UAAU7C,CAAK,GAAG,SACzDmB,GAAgB,QAEhB,gBAAAkC,EAAC,UAAK,WAAU,iBAAiB,aAAY,EAAA,CAEjD;AAAA,gBACCrD,IACC,gBAAAqD;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,aAAa5D;AAAA,oBACb,OAAOa;AAAA,oBACP,eAAe0B;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAEhB,OAAOlC,KAAuB,aAC3BA,EAAmByC,CAA2B,IAC9CzC;AAAA,kCACHwD,IAAA,EACC,UAAA,gBAAAX;AAAA,kBAACY;AAAA,kBAAA;AAAA,oBACC,WAAWP,EAAG,CAACpC,EAAQ,UAAU,iBAAiB;AAAA,oBAEjD,UAAA;AAAA,sBAAAF,KAAW,gBAAAgC,EAACc,IAAA,EAAY,WAAS,GAAA,CAAC;AAAA,sBAClC,CAAC9C,KAAW,EAAQJ,4BAEhB,UAAAT,IACC,gBAAA8C,EAACc,GAAA,EAAa,WAAU,8CACtB,UAAA;AAAA,wBAAA,gBAAAf,EAAC,UAAM,UAAA9C,EAAA,CAAW;AAAA,wBACjB,OAAOC,KAAgB,aACpBA,EAAY0C,CAA2B,IACvC1C;AAAA,sBAAA,EAAA,CACN,IAEA,gBAAA6C,EAACe,GAAA,EAAc,UAAA7D,EAAA,CAAW,GAE9B;AAAA,sBAED,CAACc,KACA,gBAAAiC,EAAAe,GAAA,EACG,UAAA;AAAA,wBAAA,EAAQ9C,EAAQ,UAAWb,KAC1B,gBAAA2C;AAAA,0BAACiB;AAAA,0BAAA;AAAA,4BAEC,SAAO;AAAA,4BACP,WAAU;AAAA,4BAET,UAAA,OAAO5D,KAAmB,aACvBA,EAAewC,CAA2B,IAC1CxC;AAAA,0BAAA;AAAA,0BANA;AAAA,wBAAA;AAAA,wBASR,gBAAA2C;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAAvE;AAAA,4BACA,SAAAuB;AAAA,4BACA,gBAAAqB;AAAA,4BACA,SAAA7B;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;"}
|
|
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 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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"}
|
package/Dialog/Dialog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAKzD,iBAAS,MAAM,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnE;AAED,iBAAS,aAAa,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAE7E;AAED,iBAAS,YAAY,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAE3E;AAED,iBAAS,WAAW,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEzE;AAED,iBAAS,aAAa,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAW7E;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACnF,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAKzD,iBAAS,MAAM,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnE;AAED,iBAAS,aAAa,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAE7E;AAED,iBAAS,YAAY,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAE3E;AAED,iBAAS,WAAW,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEzE;AAED,iBAAS,aAAa,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAW7E;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACnF,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,2CA+CA;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQzE;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWzE;AAED,iBAAS,WAAW,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQzE;AAED,iBAAS,iBAAiB,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,2CAQrF;AAED,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,eAAe,EAChB,CAAA"}
|
package/Dialog/Dialog.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
2
|
import * as o from "@radix-ui/react-dialog";
|
|
3
3
|
import { XIcon as c } from "lucide-react";
|
|
4
4
|
import { cn as n } from "@oneplatformdev/utils";
|
|
5
5
|
function x({
|
|
6
6
|
...t
|
|
7
7
|
}) {
|
|
8
|
-
return /* @__PURE__ */
|
|
8
|
+
return /* @__PURE__ */ e(o.Root, { "data-slot": "dialog", ...t });
|
|
9
9
|
}
|
|
10
10
|
function v({
|
|
11
11
|
...t
|
|
12
12
|
}) {
|
|
13
|
-
return /* @__PURE__ */
|
|
13
|
+
return /* @__PURE__ */ e(o.Trigger, { "data-slot": "dialog-trigger", ...t });
|
|
14
14
|
}
|
|
15
15
|
function g({
|
|
16
16
|
...t
|
|
17
17
|
}) {
|
|
18
|
-
return /* @__PURE__ */
|
|
18
|
+
return /* @__PURE__ */ e(o.Portal, { "data-slot": "dialog-portal", ...t });
|
|
19
19
|
}
|
|
20
20
|
function h({
|
|
21
21
|
...t
|
|
22
22
|
}) {
|
|
23
|
-
return /* @__PURE__ */
|
|
23
|
+
return /* @__PURE__ */ e(o.Close, { "data-slot": "dialog-close", ...t });
|
|
24
24
|
}
|
|
25
25
|
function u({
|
|
26
26
|
className: t,
|
|
27
|
-
...
|
|
27
|
+
...a
|
|
28
28
|
}) {
|
|
29
|
-
return /* @__PURE__ */
|
|
29
|
+
return /* @__PURE__ */ e(
|
|
30
30
|
o.Overlay,
|
|
31
31
|
{
|
|
32
32
|
"data-slot": "dialog-overlay",
|
|
@@ -34,19 +34,19 @@ function u({
|
|
|
34
34
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
35
35
|
t
|
|
36
36
|
),
|
|
37
|
-
...
|
|
37
|
+
...a
|
|
38
38
|
}
|
|
39
39
|
);
|
|
40
40
|
}
|
|
41
41
|
function D(t) {
|
|
42
42
|
const {
|
|
43
|
-
className:
|
|
43
|
+
className: a,
|
|
44
44
|
children: i,
|
|
45
45
|
showCloseButton: l = !0,
|
|
46
46
|
style: r,
|
|
47
47
|
...d
|
|
48
48
|
} = t;
|
|
49
|
-
return /* @__PURE__ */
|
|
49
|
+
return /* @__PURE__ */ e(g, { "data-slot": "dialog-portal", children: /* @__PURE__ */ e(u, { children: /* @__PURE__ */ s(
|
|
50
50
|
o.Content,
|
|
51
51
|
{
|
|
52
52
|
"data-slot": "dialog-content",
|
|
@@ -55,7 +55,7 @@ function D(t) {
|
|
|
55
55
|
"grid w-full max-w-[calc(100%-2rem)] gap-4 sm:max-w-2xl",
|
|
56
56
|
"bg-background rounded-lg border p-6 shadow-lg duration-200",
|
|
57
57
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
58
|
-
|
|
58
|
+
a
|
|
59
59
|
),
|
|
60
60
|
...d,
|
|
61
61
|
style: {
|
|
@@ -68,10 +68,17 @@ function D(t) {
|
|
|
68
68
|
o.Close,
|
|
69
69
|
{
|
|
70
70
|
"data-slot": "dialog-close",
|
|
71
|
-
className:
|
|
71
|
+
className: n(
|
|
72
|
+
"absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100",
|
|
73
|
+
"data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",
|
|
74
|
+
"ring-offset-background focus:ring-ring focus:ring-2 focus:ring-offset-2 focus:outline-hidden",
|
|
75
|
+
"disabled:pointer-events-none [&_svg]:pointer-events-none",
|
|
76
|
+
"[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
77
|
+
"cursor-pointer size-10 flex items-center justify-center"
|
|
78
|
+
),
|
|
72
79
|
children: [
|
|
73
|
-
/* @__PURE__ */
|
|
74
|
-
/* @__PURE__ */
|
|
80
|
+
/* @__PURE__ */ e(c, {}),
|
|
81
|
+
/* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
|
|
75
82
|
]
|
|
76
83
|
}
|
|
77
84
|
)
|
|
@@ -79,18 +86,18 @@ function D(t) {
|
|
|
79
86
|
}
|
|
80
87
|
) }) });
|
|
81
88
|
}
|
|
82
|
-
function y({ className: t, ...
|
|
83
|
-
return /* @__PURE__ */
|
|
89
|
+
function y({ className: t, ...a }) {
|
|
90
|
+
return /* @__PURE__ */ e(
|
|
84
91
|
"div",
|
|
85
92
|
{
|
|
86
93
|
"data-slot": "dialog-header",
|
|
87
94
|
className: n("flex flex-col gap-2 text-center sm:text-left", t),
|
|
88
|
-
...
|
|
95
|
+
...a
|
|
89
96
|
}
|
|
90
97
|
);
|
|
91
98
|
}
|
|
92
|
-
function b({ className: t, ...
|
|
93
|
-
return /* @__PURE__ */
|
|
99
|
+
function b({ className: t, ...a }) {
|
|
100
|
+
return /* @__PURE__ */ e(
|
|
94
101
|
"div",
|
|
95
102
|
{
|
|
96
103
|
"data-slot": "dialog-footer",
|
|
@@ -98,33 +105,33 @@ function b({ className: t, ...e }) {
|
|
|
98
105
|
"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
|
|
99
106
|
t
|
|
100
107
|
),
|
|
101
|
-
...
|
|
108
|
+
...a
|
|
102
109
|
}
|
|
103
110
|
);
|
|
104
111
|
}
|
|
105
112
|
function N({
|
|
106
113
|
className: t,
|
|
107
|
-
...
|
|
114
|
+
...a
|
|
108
115
|
}) {
|
|
109
|
-
return /* @__PURE__ */
|
|
116
|
+
return /* @__PURE__ */ e(
|
|
110
117
|
o.Title,
|
|
111
118
|
{
|
|
112
119
|
"data-slot": "dialog-title",
|
|
113
120
|
className: n("text-lg leading-none font-semibold", t),
|
|
114
|
-
...
|
|
121
|
+
...a
|
|
115
122
|
}
|
|
116
123
|
);
|
|
117
124
|
}
|
|
118
|
-
function
|
|
125
|
+
function z({
|
|
119
126
|
className: t,
|
|
120
|
-
...
|
|
127
|
+
...a
|
|
121
128
|
}) {
|
|
122
|
-
return /* @__PURE__ */
|
|
129
|
+
return /* @__PURE__ */ e(
|
|
123
130
|
o.Description,
|
|
124
131
|
{
|
|
125
132
|
"data-slot": "dialog-description",
|
|
126
133
|
className: n("text-muted-foreground text-sm", t),
|
|
127
|
-
...
|
|
134
|
+
...a
|
|
128
135
|
}
|
|
129
136
|
);
|
|
130
137
|
}
|
|
@@ -132,7 +139,7 @@ export {
|
|
|
132
139
|
x as Dialog,
|
|
133
140
|
h as DialogClose,
|
|
134
141
|
D as DialogContent,
|
|
135
|
-
|
|
142
|
+
z as DialogDescription,
|
|
136
143
|
b as DialogFooter,
|
|
137
144
|
y as DialogHeader,
|
|
138
145
|
u as DialogOverlay,
|
package/Dialog/Dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sources":["../../src/Dialog/Dialog.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"@oneplatformdev/utils\"\n\nfunction Dialog({\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent(props: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean\n}) {\n const {\n className,\n children,\n showCloseButton = true,\n style,\n ...rest\n } = props;\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay>\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-[50%] left-[50%] z-50 translate-x-[-50%] translate-y-[-50%]',\n 'grid w-full max-w-[calc(100%-2rem)] gap-4 sm:max-w-2xl',\n 'bg-background rounded-lg border p-6 shadow-lg duration-200',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',\n className\n )}\n {...rest}\n style={{\n pointerEvents: 'auto',\n ...(style || {}),\n }}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className
|
|
1
|
+
{"version":3,"file":"Dialog.js","sources":["../../src/Dialog/Dialog.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"@oneplatformdev/utils\"\n\nfunction Dialog({\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent(props: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean\n}) {\n const {\n className,\n children,\n showCloseButton = true,\n style,\n ...rest\n } = props;\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay>\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'fixed top-[50%] left-[50%] z-50 translate-x-[-50%] translate-y-[-50%]',\n 'grid w-full max-w-[calc(100%-2rem)] gap-4 sm:max-w-2xl',\n 'bg-background rounded-lg border p-6 shadow-lg duration-200',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',\n className\n )}\n {...rest}\n style={{\n pointerEvents: 'auto',\n ...(style || {}),\n }}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className={cn(\n 'absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100',\n 'data-[state=open]:bg-accent data-[state=open]:text-muted-foreground',\n 'ring-offset-background focus:ring-ring focus:ring-2 focus:ring-offset-2 focus:outline-hidden',\n 'disabled:pointer-events-none [&_svg]:pointer-events-none',\n '[&_svg]:shrink-0 [&_svg:not([class*=\\'size-\\'])]:size-4',\n 'cursor-pointer size-10 flex items-center justify-center',\n )}\n >\n <XIcon/>\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogOverlay>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogTitle({\n className,\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n DialogPrimitive\n}\n"],"names":["Dialog","props","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","className","jsx","cn","DialogContent","children","showCloseButton","style","rest","jsxs","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":";;;;AAQA,SAASA,EAAO;AAAA,EACE,GAAGC;AACL,GAAsD;AACpE,2BAAQC,EAAgB,MAAhB,EAAqB,aAAU,UAAU,GAAGD,GAAO;AAC7D;AAEA,SAASE,EAAc;AAAA,EACE,GAAGF;AACL,GAAyD;AAC9E,2BAAQC,EAAgB,SAAhB,EAAwB,aAAU,kBAAkB,GAAGD,GAAO;AACxE;AAEA,SAASG,EAAa;AAAA,EACE,GAAGH;AACL,GAAwD;AAC5E,2BAAQC,EAAgB,QAAhB,EAAuB,aAAU,iBAAiB,GAAGD,GAAO;AACtE;AAEA,SAASI,EAAY;AAAA,EACE,GAAGJ;AACL,GAAuD;AAC1E,2BAAQC,EAAgB,OAAhB,EAAsB,aAAU,gBAAgB,GAAGD,GAAO;AACpE;AAEA,SAASK,EAAc;AAAA,EACE,WAAAC;AAAA,EACA,GAAGN;AACL,GAAyD;AAC9E,SACE,gBAAAO;AAAA,IAACN,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWO;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAED,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASS,EAAcT,GAEpB;AACD,QAAM;AAAA,IACJ,WAAAM;AAAA,IACA,UAAAI;AAAA,IACA,iBAAAC,IAAkB;AAAA,IAClB,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDb;AACJ,SACE,gBAAAO,EAACJ,GAAA,EAAa,aAAU,iBACtB,4BAACE,GAAA,EACC,UAAA,gBAAAS;AAAA,IAACb,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWO;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACAF;AAAA,MAAA;AAAA,MAED,GAAGO;AAAA,MACJ,OAAO;AAAA,QACL,eAAe;AAAA,QACf,GAAID,KAAS,CAAA;AAAA,MAAC;AAAA,MAGf,UAAA;AAAA,QAAAF;AAAA,QACAC,KACC,gBAAAG;AAAA,UAACb,EAAgB;AAAA,UAAhB;AAAA,YACC,aAAU;AAAA,YACV,WAAWO;AAAA,cACT;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YAAA;AAAA,YAGF,UAAA;AAAA,cAAA,gBAAAD,EAACQ,GAAA,EAAK;AAAA,cACN,gBAAAR,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,QAAA,CAAK;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACjC;AAAA,IAAA;AAAA,EAAA,GAGN,EAAA,CACF;AAEJ;AAEA,SAASS,EAAa,EAAE,WAAAV,GAAW,GAAGN,KAAsC;AAC1E,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,gDAAgDF,CAAS;AAAA,MACtE,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASiB,EAAa,EAAE,WAAAX,GAAW,GAAGN,KAAsC;AAC1E,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAED,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASkB,EAAY;AAAA,EACE,WAAAZ;AAAA,EACA,GAAGN;AACL,GAAuD;AAC1E,SACE,gBAAAO;AAAA,IAACN,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWO,EAAG,sCAAsCF,CAAS;AAAA,MAC5D,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASmB,EAAkB;AAAA,EACE,WAAAb;AAAA,EACA,GAAGN;AACL,GAA6D;AACtF,SACE,gBAAAO;AAAA,IAACN,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWO,EAAG,iCAAiCF,CAAS;AAAA,MACvD,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneplatformdev/ui",
|
|
3
|
-
"version": "0.1.10-
|
|
3
|
+
"version": "0.1.10-72",
|
|
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/
|
|
109
|
-
"@oneplatformdev/utils": "^0.1.1-
|
|
110
|
-
"@oneplatformdev/
|
|
108
|
+
"@oneplatformdev/hooks": "^0.1.0-107",
|
|
109
|
+
"@oneplatformdev/utils": "^0.1.1-121",
|
|
110
|
+
"@oneplatformdev/tokens": "^0.0.1-94"
|
|
111
111
|
}
|
|
112
112
|
}
|