@cryptlex/web-components 3.8.2 → 4.1.0
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/dist/components/data-table/data-table-filter.es.js +178 -0
- package/dist/components/data-table/data-table-filter.es.js.map +1 -0
- package/dist/components/data-table/data-table.es.js +402 -153
- package/dist/components/data-table/data-table.es.js.map +1 -1
- package/dist/components/data-table/table-commons.es.js +267 -19
- package/dist/components/data-table/table-commons.es.js.map +1 -1
- package/dist/components/inputs/calendar.es.js +12 -12
- package/dist/components/inputs/calendar.es.js.map +1 -1
- package/dist/components/inputs/checkbox.es.js +13 -13
- package/dist/components/inputs/checkbox.es.js.map +1 -1
- package/dist/components/inputs/country-select.es.js +3 -3
- package/dist/components/inputs/form-field.es.js +1 -1
- package/dist/components/inputs/input-otp.es.js +2 -2
- package/dist/components/inputs/input-otp.es.js.map +1 -1
- package/dist/components/inputs/input.es.js +7 -7
- package/dist/components/inputs/input.es.js.map +1 -1
- package/dist/components/inputs/multi-select.es.js +7 -7
- package/dist/components/inputs/radio-group.es.js +1 -1
- package/dist/components/inputs/select.es.js +10 -10
- package/dist/components/inputs/select.es.js.map +1 -1
- package/dist/components/inputs/textarea.es.js +4 -4
- package/dist/components/key-value-card/key-value-card.es.js +6 -9
- package/dist/components/key-value-card/key-value-card.es.js.map +1 -1
- package/dist/components/ui/accordion.es.js +6 -6
- package/dist/components/ui/accordion.es.js.map +1 -1
- package/dist/components/ui/alert.es.js +4 -4
- package/dist/components/ui/avatar.es.js +1 -1
- package/dist/components/ui/badge.es.js +1 -1
- package/dist/components/ui/breadcrumb.es.js +2 -2
- package/dist/components/ui/breadcrumb.es.js.map +1 -1
- package/dist/components/ui/button.es.js +27 -25
- package/dist/components/ui/button.es.js.map +1 -1
- package/dist/components/ui/card.es.js +8 -8
- package/dist/components/ui/card.es.js.map +1 -1
- package/dist/components/ui/copy-button.es.js +12 -14
- package/dist/components/ui/copy-button.es.js.map +1 -1
- package/dist/components/ui/dialog.es.js +4 -4
- package/dist/components/ui/dialog.es.js.map +1 -1
- package/dist/components/ui/drawer.es.js +10 -10
- package/dist/components/ui/drawer.es.js.map +1 -1
- package/dist/components/ui/dropdown-menu.es.js +13 -13
- package/dist/components/ui/dropdown-menu.es.js.map +1 -1
- package/dist/components/ui/label.es.js +1 -1
- package/dist/components/ui/loader.es.js +3 -3
- package/dist/components/ui/pagination.es.js +2 -2
- package/dist/components/ui/pagination.es.js.map +1 -1
- package/dist/components/ui/popover.es.js +5 -5
- package/dist/components/ui/popover.es.js.map +1 -1
- package/dist/components/ui/separator.es.js +1 -1
- package/dist/components/ui/sheet.es.js +1 -1
- package/dist/components/ui/sidebar.es.js +105 -105
- package/dist/components/ui/sidebar.es.js.map +1 -1
- package/dist/components/ui/skeleton.es.js +1 -1
- package/dist/components/ui/static-data-table.es.js +1 -1
- package/dist/components/ui/table.es.js +8 -8
- package/dist/components/ui/table.es.js.map +1 -1
- package/dist/components/ui/tabs.es.js +1 -1
- package/dist/components/ui/tabs.es.js.map +1 -1
- package/dist/components/ui/timeline.es.js +3 -3
- package/dist/components/ui/timeline.es.js.map +1 -1
- package/dist/components/ui/tooltip.es.js +1 -1
- package/dist/index.es.d.ts +128 -32
- package/dist/index.es.js +237 -238
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-dropdown-menu@2.1.15_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-dropdown-menu/dist/index.es.js +10 -10
- package/dist/node_modules/.pnpm/@radix-ui_react-menu@2.1.15_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-menu/dist/index.es.js +4 -4
- package/dist/utils/{index.es.js → primitives.es.js} +1 -1
- package/dist/utils/primitives.es.js.map +1 -0
- package/dist/{hooks → utils}/use-mobile.es.js.map +1 -1
- package/lib/theme.css +10 -12
- package/lib/tokens.css +3 -3
- package/lib/utilities.css +8 -8
- package/package.json +9 -11
- package/dist/components/data-table/column-picker.es.js +0 -50
- package/dist/components/data-table/column-picker.es.js.map +0 -1
- package/dist/components/data-table/page-size.es.js +0 -25
- package/dist/components/data-table/page-size.es.js.map +0 -1
- package/dist/components/data-table/paginator.es.js +0 -64
- package/dist/components/data-table/paginator.es.js.map +0 -1
- package/dist/components/data-table/table-actions.es.js +0 -26
- package/dist/components/data-table/table-actions.es.js.map +0 -1
- package/dist/components/data-table/table-content.es.js +0 -65
- package/dist/components/data-table/table-content.es.js.map +0 -1
- package/dist/components/data-table/table-utils/constants.es.js +0 -288
- package/dist/components/data-table/table-utils/constants.es.js.map +0 -1
- package/dist/components/data-table/table-utils/createTableFetchFn.es.js +0 -25
- package/dist/components/data-table/table-utils/createTableFetchFn.es.js.map +0 -1
- package/dist/components/data-table/table-utils/date.es.js +0 -12
- package/dist/components/data-table/table-utils/date.es.js.map +0 -1
- package/dist/components/data-table/table-utils/string.es.js +0 -19
- package/dist/components/data-table/table-utils/string.es.js.map +0 -1
- package/dist/components/data-table/table-utils/types.es.js +0 -5
- package/dist/components/data-table/table-utils/types.es.js.map +0 -1
- package/dist/utils/index.es.js.map +0 -1
- /package/dist/{hooks → utils}/use-mobile.es.js +0 -0
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
function u({ className: n, checked: e, indeterminate:
|
|
6
|
-
return /* @__PURE__ */
|
|
7
|
-
|
|
8
|
-
e && !
|
|
1
|
+
import { jsxs as t, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useFieldContext as s } from "../../utils/form-context.es.js";
|
|
3
|
+
import { CircleDashed as a, Check as l } from "lucide-react";
|
|
4
|
+
import { cn as c } from "../../utils/primitives.es.js";
|
|
5
|
+
function u({ className: n, checked: e, indeterminate: r, ...i }) {
|
|
6
|
+
return /* @__PURE__ */ t("div", { className: "relative size-input", children: [
|
|
7
|
+
r && /* @__PURE__ */ o(a, { className: "pointer-events-none text-primary-foreground absolute size-icon top-2 left-2" }),
|
|
8
|
+
e && !r && /* @__PURE__ */ o(l, { className: "pointer-events-none text-primary-foreground absolute size-icon top-2 left-2" }),
|
|
9
9
|
/* @__PURE__ */ o(
|
|
10
10
|
"input",
|
|
11
11
|
{
|
|
12
12
|
checked: e,
|
|
13
13
|
type: "checkbox",
|
|
14
|
-
className:
|
|
14
|
+
className: c(
|
|
15
15
|
"appearance-none size-input border border-input bg-card checked:bg-primary rounded-none focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
16
16
|
n
|
|
17
17
|
),
|
|
18
|
-
...
|
|
18
|
+
...i
|
|
19
19
|
}
|
|
20
20
|
)
|
|
21
21
|
] });
|
|
22
22
|
}
|
|
23
|
-
function
|
|
24
|
-
const e =
|
|
23
|
+
function m({ ...n }) {
|
|
24
|
+
const e = s();
|
|
25
25
|
return /* @__PURE__ */ o(
|
|
26
26
|
u,
|
|
27
27
|
{
|
|
@@ -34,6 +34,6 @@ function h({ ...n }) {
|
|
|
34
34
|
}
|
|
35
35
|
export {
|
|
36
36
|
u as Checkbox,
|
|
37
|
-
|
|
37
|
+
m as TfCheckbox
|
|
38
38
|
};
|
|
39
39
|
//# sourceMappingURL=checkbox.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.es.js","sources":["../../../lib/components/inputs/checkbox.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport { useFieldContext } from \"@/utils/form-context\";\nimport { Check, CircleDashed } from \"lucide-react\";\nimport type * as React from \"react\";\n\nexport interface CheckboxProps\n\textends Omit<React.ComponentProps<\"input\">, \"type\" | \"value\"> {\n\tindeterminate?: boolean\n}\n\nexport function Checkbox({ className, checked, indeterminate, ...props }: CheckboxProps) {\n\treturn (\n\t\t<div className=\"relative size-input\">\n\t\t\t{indeterminate && <CircleDashed className=\"pointer-events-none absolute size-icon top-2 left-2\" />}\n\t\t\t{checked && !indeterminate && <Check className=\"pointer-events-none absolute size-icon top-2 left-2\" />}\n\t\t\t<input\n\t\t\t\tchecked={checked}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"appearance-none size-input border border-input bg-card checked:bg-primary rounded-none focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\n\t\t</div>\n\t);\n}\n\nexport interface TfCheckboxProps\n\textends Omit<\n\t\tReact.ComponentProps<typeof Checkbox>,\n\t\t\"onChange\" | \"onBlur\" | \"checked\"\n\t> { }\nexport function TfCheckbox({ ...props }: TfCheckboxProps) {\n\tconst field = useFieldContext<boolean>();\n\n\treturn (\n\t\t<Checkbox\n\t\t\tchecked={field.state.value}\n\t\t\tonChange={() => field.handleChange(!field.state.value)}\n\t\t\tonBlur={field.handleBlur}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n"],"names":["Checkbox","className","checked","indeterminate","props","jsxs","jsx","CircleDashed","Check","cn","TfCheckbox","field","useFieldContext"],"mappings":";;;;AAUO,SAASA,EAAS,EAAE,WAAAC,GAAW,SAAAC,GAAS,eAAAC,GAAe,GAAGC,KAAwB;AACxF,SACC,gBAAAC,EAAC,OAAA,EAAI,WAAU,uBACb,UAAA;AAAA,IAAAF,KAAiB,gBAAAG,EAACC,GAAA,EAAa,WAAU,
|
|
1
|
+
{"version":3,"file":"checkbox.es.js","sources":["../../../lib/components/inputs/checkbox.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport { useFieldContext } from \"@/utils/form-context\";\nimport { Check, CircleDashed } from \"lucide-react\";\nimport type * as React from \"react\";\n\nexport interface CheckboxProps\n\textends Omit<React.ComponentProps<\"input\">, \"type\" | \"value\"> {\n\tindeterminate?: boolean\n}\n\nexport function Checkbox({ className, checked, indeterminate, ...props }: CheckboxProps) {\n\treturn (\n\t\t<div className=\"relative size-input\">\n\t\t\t{indeterminate && <CircleDashed className=\"pointer-events-none text-primary-foreground absolute size-icon top-2 left-2\" />}\n\t\t\t{checked && !indeterminate && <Check className=\"pointer-events-none text-primary-foreground absolute size-icon top-2 left-2\" />}\n\t\t\t<input\n\t\t\t\tchecked={checked}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"appearance-none size-input border border-input bg-card checked:bg-primary rounded-none focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\n\t\t</div>\n\t);\n}\n\nexport interface TfCheckboxProps\n\textends Omit<\n\t\tReact.ComponentProps<typeof Checkbox>,\n\t\t\"onChange\" | \"onBlur\" | \"checked\"\n\t> { }\nexport function TfCheckbox({ ...props }: TfCheckboxProps) {\n\tconst field = useFieldContext<boolean>();\n\n\treturn (\n\t\t<Checkbox\n\t\t\tchecked={field.state.value}\n\t\t\tonChange={() => field.handleChange(!field.state.value)}\n\t\t\tonBlur={field.handleBlur}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n"],"names":["Checkbox","className","checked","indeterminate","props","jsxs","jsx","CircleDashed","Check","cn","TfCheckbox","field","useFieldContext"],"mappings":";;;;AAUO,SAASA,EAAS,EAAE,WAAAC,GAAW,SAAAC,GAAS,eAAAC,GAAe,GAAGC,KAAwB;AACxF,SACC,gBAAAC,EAAC,OAAA,EAAI,WAAU,uBACb,UAAA;AAAA,IAAAF,KAAiB,gBAAAG,EAACC,GAAA,EAAa,WAAU,8EAAA,CAA8E;AAAA,IACvHL,KAAW,CAACC,KAAiB,gBAAAG,EAACE,GAAA,EAAM,WAAU,+EAA8E;AAAA,IAC7H,gBAAAF;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,SAAAJ;AAAA,QACA,MAAK;AAAA,QACL,WAAWO;AAAA,UACV;AAAA,UACAR;AAAA,QAAA;AAAA,QAEA,GAAGG;AAAA,MAAA;AAAA,IAAA;AAAA,EACL,GAED;AAEF;AAOO,SAASM,EAAW,EAAE,GAAGN,KAA0B;AACzD,QAAMO,IAAQC,EAAA;AAEd,SACC,gBAAAN;AAAA,IAACN;AAAA,IAAA;AAAA,MACA,SAASW,EAAM,MAAM;AAAA,MACrB,UAAU,MAAMA,EAAM,aAAa,CAACA,EAAM,MAAM,KAAK;AAAA,MACrD,QAAQA,EAAM;AAAA,MACb,GAAGP;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as i, jsxs as o, Fragment as t } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { MultiSelect as l, TfMultiSelect as s } from "./multi-select.es.js";
|
|
3
3
|
function u(a) {
|
|
4
4
|
function n(r) {
|
|
5
5
|
return String.fromCodePoint(
|
|
@@ -269,12 +269,12 @@ const d = {
|
|
|
269
269
|
function c({
|
|
270
270
|
...a
|
|
271
271
|
}) {
|
|
272
|
-
return /* @__PURE__ */ i(
|
|
272
|
+
return /* @__PURE__ */ i(l, { ...a, options: e });
|
|
273
273
|
}
|
|
274
274
|
function C({
|
|
275
275
|
...a
|
|
276
276
|
}) {
|
|
277
|
-
return /* @__PURE__ */ i(
|
|
277
|
+
return /* @__PURE__ */ i(s, { ...a, options: e });
|
|
278
278
|
}
|
|
279
279
|
export {
|
|
280
280
|
c as CountrySelect,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsxs as l, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { cn as u } from "../../utils/index.es.js";
|
|
3
2
|
import { Info as p, CircleX as N } from "lucide-react";
|
|
4
3
|
import h from "react";
|
|
5
4
|
import { Label as x } from "../ui/label.es.js";
|
|
5
|
+
import { cn as u } from "../../utils/primitives.es.js";
|
|
6
6
|
function j({
|
|
7
7
|
field: a,
|
|
8
8
|
label: s,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as t, jsxs as u } from "react/jsx-runtime";
|
|
2
|
-
import { cn as n } from "../../utils/index.es.js";
|
|
3
2
|
import { OTPInput as l, OTPInputContext as p } from "input-otp";
|
|
4
3
|
import { Minus as m } from "lucide-react";
|
|
5
4
|
import * as d from "react";
|
|
5
|
+
import { cn as n } from "../../utils/primitives.es.js";
|
|
6
6
|
function v({
|
|
7
7
|
className: e,
|
|
8
8
|
containerClassName: r,
|
|
@@ -43,7 +43,7 @@ function P({
|
|
|
43
43
|
...i,
|
|
44
44
|
children: [
|
|
45
45
|
s,
|
|
46
|
-
a && /* @__PURE__ */ t("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ t("div", { className: "h-
|
|
46
|
+
a && /* @__PURE__ */ t("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ t("div", { className: "h-icon w-px animate-caret-blink bg-foreground duration-1000" }) })
|
|
47
47
|
]
|
|
48
48
|
}
|
|
49
49
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-otp.es.js","sources":["../../../lib/components/inputs/input-otp.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport { OTPInput, OTPInputContext } from \"input-otp\";\nimport { Minus } from \"lucide-react\";\nimport * as React from \"react\";\n\nexport function InputOTP({\n\tclassName,\n\tcontainerClassName,\n\t...props\n}: React.ComponentProps<typeof OTPInput>) {\n\treturn (\n\t\t<OTPInput\n\t\t\tcontainerClassName={cn(\n\t\t\t\t\"flex items-center gap-2 has-disabled:opacity-50\",\n\t\t\t\tcontainerClassName,\n\t\t\t)}\n\t\t\tclassName={cn(\"disabled:cursor-not-allowed\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function InputOTPGroup({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"div\">) {\n\treturn <div className={cn(\"flex items-center\", className)} {...props} />;\n}\n\nexport function InputOTPSlot({\n\tindex,\n\tclassName,\n\t...props\n}: React.ComponentProps<\"div\"> & { index: number }) {\n\tconst inputOTPContext = React.use(OTPInputContext);\n\tconst { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"relative flex h-input w-9 items-center justify-center border-2 border-input body transition-all\",\n\t\t\t\tisActive ? \"z-10 border-2 border-primary\" : \"\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{char}\n\t\t\t{hasFakeCaret && (\n\t\t\t\t<div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n\t\t\t\t\t<div className=\"h-
|
|
1
|
+
{"version":3,"file":"input-otp.es.js","sources":["../../../lib/components/inputs/input-otp.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport { OTPInput, OTPInputContext } from \"input-otp\";\nimport { Minus } from \"lucide-react\";\nimport * as React from \"react\";\n\nexport function InputOTP({\n\tclassName,\n\tcontainerClassName,\n\t...props\n}: React.ComponentProps<typeof OTPInput>) {\n\treturn (\n\t\t<OTPInput\n\t\t\tcontainerClassName={cn(\n\t\t\t\t\"flex items-center gap-2 has-disabled:opacity-50\",\n\t\t\t\tcontainerClassName,\n\t\t\t)}\n\t\t\tclassName={cn(\"disabled:cursor-not-allowed\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function InputOTPGroup({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"div\">) {\n\treturn <div className={cn(\"flex items-center\", className)} {...props} />;\n}\n\nexport function InputOTPSlot({\n\tindex,\n\tclassName,\n\t...props\n}: React.ComponentProps<\"div\"> & { index: number }) {\n\tconst inputOTPContext = React.use(OTPInputContext);\n\tconst { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"relative flex h-input w-9 items-center justify-center border-2 border-input body transition-all\",\n\t\t\t\tisActive ? \"z-10 border-2 border-primary\" : \"\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{char}\n\t\t\t{hasFakeCaret && (\n\t\t\t\t<div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n\t\t\t\t\t<div className=\"h-icon w-px animate-caret-blink bg-foreground duration-1000\" />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport function InputOTPSeparator({ ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div role=\"separator\" {...props}>\n\t\t\t<Minus />\n\t\t</div>\n\t);\n}\n"],"names":["InputOTP","className","containerClassName","props","jsx","OTPInput","cn","InputOTPGroup","InputOTPSlot","index","inputOTPContext","React","OTPInputContext","char","hasFakeCaret","isActive","jsxs","InputOTPSeparator","Minus"],"mappings":";;;;;AAKO,SAASA,EAAS;AAAA,EACxB,WAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,GAAGC;AACJ,GAA0C;AACzC,SACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,oBAAoBC;AAAA,QACnB;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,WAAWI,EAAG,+BAA+BL,CAAS;AAAA,MACrD,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASI,EAAc;AAAA,EAC7B,WAAAN;AAAA,EACA,GAAGE;AACJ,GAAgC;AAC/B,SAAO,gBAAAC,EAAC,SAAI,WAAWE,EAAG,qBAAqBL,CAAS,GAAI,GAAGE,GAAO;AACvE;AAEO,SAASK,EAAa;AAAA,EAC5B,OAAAC;AAAA,EACA,WAAAR;AAAA,EACA,GAAGE;AACJ,GAAoD;AACnD,QAAMO,IAAkBC,EAAM,IAAIC,CAAe,GAC3C,EAAE,MAAAC,GAAM,cAAAC,GAAc,UAAAC,MAAaL,EAAgB,MAAMD,CAAK;AAEpE,SACC,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWV;AAAA,QACV;AAAA,QACAS,IAAW,kCAAkC;AAAA,QAC7Cd;AAAA,MAAA;AAAA,MAEA,GAAGE;AAAA,MAEH,UAAA;AAAA,QAAAU;AAAA,QACAC,uBACC,OAAA,EAAI,WAAU,yEACd,UAAA,gBAAAV,EAAC,OAAA,EAAI,WAAU,8DAAA,CAA8D,EAAA,CAC9E;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIJ;AAEO,SAASa,EAAkB,EAAE,GAAGd,KAAsC;AAC5E,SACC,gBAAAC,EAAC,SAAI,MAAK,aAAa,GAAGD,GACzB,UAAA,gBAAAC,EAACc,KAAM,EAAA,CACR;AAEF;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { Button as
|
|
1
|
+
import { jsxs as u, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { useFieldContext as m } from "../../utils/form-context.es.js";
|
|
3
|
+
import { cn as r } from "../../utils/primitives.es.js";
|
|
4
|
+
import { Button as o } from "../ui/button.es.js";
|
|
5
5
|
function s({
|
|
6
6
|
className: a,
|
|
7
7
|
type: n,
|
|
@@ -17,19 +17,19 @@ function s({
|
|
|
17
17
|
type: n,
|
|
18
18
|
className: r(
|
|
19
19
|
"h-input input file:border-0 file:bg-transparent grow file:body file:font-medium",
|
|
20
|
-
e ? "pl-
|
|
20
|
+
e ? "pl-input" : ""
|
|
21
21
|
),
|
|
22
22
|
...l
|
|
23
23
|
}
|
|
24
24
|
),
|
|
25
|
-
t && /* @__PURE__ */ i(
|
|
25
|
+
t && /* @__PURE__ */ i(o, { ...t, variant: "neutral", size: "icon" })
|
|
26
26
|
] });
|
|
27
27
|
}
|
|
28
28
|
function g({
|
|
29
29
|
disabled: a,
|
|
30
30
|
...n
|
|
31
31
|
}) {
|
|
32
|
-
const e =
|
|
32
|
+
const e = m();
|
|
33
33
|
return /* @__PURE__ */ i(
|
|
34
34
|
s,
|
|
35
35
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.es.js","sources":["../../../lib/components/inputs/input.tsx"],"sourcesContent":["import { Button, type ButtonProps } from \"@/components/ui\";\nimport { cn } from \"@/utils\";\nimport { useFieldContext } from \"@/utils/form-context\";\nimport type { LucideIcon } from \"lucide-react\";\nimport type React from \"react\";\n\nexport type InputProps = React.ComponentProps<\"input\"> & {\n\ticon?: LucideIcon;\n\tbuttonProps?: ButtonProps;\n};\n\nexport function Input({\n\tclassName,\n\ttype,\n\ticon: Icon,\n\tbuttonProps,\n\t...props\n}: InputProps) {\n\treturn (\n\t\t<div className={cn(\"relative flex gap-1 items-center\", className)}>\n\t\t\t{Icon && (\n\t\t\t\t<Icon className=\"absolute left-2 size-icon text-muted-foreground\" />\n\t\t\t)}\n\t\t\t<input\n\t\t\t\ttype={type}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"h-input input file:border-0 file:bg-transparent grow file:body file:font-medium\",\n\t\t\t\t\tIcon ? \"pl-
|
|
1
|
+
{"version":3,"file":"input.es.js","sources":["../../../lib/components/inputs/input.tsx"],"sourcesContent":["import { Button, type ButtonProps } from \"@/components/ui\";\nimport { cn } from \"@/utils\";\nimport { useFieldContext } from \"@/utils/form-context\";\nimport type { LucideIcon } from \"lucide-react\";\nimport type React from \"react\";\nimport type { ComponentType } from \"react\";\n\nexport type FilterComp<T> = ComponentType<{ value: T; onChange: (value: T) => void }>;\n\nexport type InputProps = React.ComponentProps<\"input\"> & {\n\ticon?: LucideIcon;\n\tbuttonProps?: ButtonProps;\n};\n\nexport function Input({\n\tclassName,\n\ttype,\n\ticon: Icon,\n\tbuttonProps,\n\t...props\n}: InputProps) {\n\treturn (\n\t\t<div className={cn(\"relative flex gap-1 items-center\", className)}>\n\t\t\t{Icon && (\n\t\t\t\t<Icon className=\"absolute left-2 size-icon text-muted-foreground\" />\n\t\t\t)}\n\t\t\t<input\n\t\t\t\ttype={type}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"h-input input file:border-0 file:bg-transparent grow file:body file:font-medium\",\n\t\t\t\t\tIcon ? \"pl-input\" : \"\",\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t\t{buttonProps && (\n\t\t\t\t<Button {...buttonProps} variant={\"neutral\"} size={\"icon\"} />\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport function TfInput({\n\tdisabled,\n\t...props\n}: Omit<InputProps, \"value\" | \"id\" | \"name\" | \"onBlur\" | \"onChange\">) {\n\tconst field = useFieldContext<string | number>();\n\treturn (\n\t\t<Input\n\t\t\tdisabled={disabled || field.form.state.isSubmitting}\n\t\t\tvalue={field.state.value}\n\t\t\tid={field.name}\n\t\t\tname={field.name}\n\t\t\tonBlur={field.handleBlur}\n\t\t\tonChange={(e) =>\n\t\t\t\tfield.handleChange(\n\t\t\t\t\tprops.type === \"number\" ? e.target.valueAsNumber : e.target.value,\n\t\t\t\t)\n\t\t\t}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n"],"names":["Input","className","type","Icon","buttonProps","props","cn","jsx","Button","TfInput","disabled","field","useFieldContext","e"],"mappings":";;;;AAcO,SAASA,EAAM;AAAA,EACrB,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAMC;AAAA,EACN,aAAAC;AAAA,EACA,GAAGC;AACJ,GAAe;AACd,2BACE,OAAA,EAAI,WAAWC,EAAG,oCAAoCL,CAAS,GAC9D,UAAA;AAAA,IAAAE,KACA,gBAAAI,EAACJ,GAAA,EAAK,WAAU,kDAAA,CAAkD;AAAA,IAEnE,gBAAAI;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,MAAAL;AAAA,QACA,WAAWI;AAAA,UACV;AAAA,UACAH,IAAO,aAAa;AAAA,QAAA;AAAA,QAEpB,GAAGE;AAAA,MAAA;AAAA,IAAA;AAAA,IAEJD,uBACCI,GAAA,EAAQ,GAAGJ,GAAa,SAAS,WAAW,MAAM,OAAA,CAAQ;AAAA,EAAA,GAE7D;AAEF;AAEO,SAASK,EAAQ;AAAA,EACvB,UAAAC;AAAA,EACA,GAAGL;AACJ,GAAsE;AACrE,QAAMM,IAAQC,EAAA;AACd,SACC,gBAAAL;AAAA,IAACP;AAAA,IAAA;AAAA,MACA,UAAUU,KAAYC,EAAM,KAAK,MAAM;AAAA,MACvC,OAAOA,EAAM,MAAM;AAAA,MACnB,IAAIA,EAAM;AAAA,MACV,MAAMA,EAAM;AAAA,MACZ,QAAQA,EAAM;AAAA,MACd,UAAU,CAACE,MACVF,EAAM;AAAA,QACLN,EAAM,SAAS,WAAWQ,EAAE,OAAO,gBAAgBA,EAAE,OAAO;AAAA,MAAA;AAAA,MAG7D,GAAGR;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxs as d, Fragment as i, jsx as n } from "react/jsx-runtime";
|
|
2
2
|
import { DropdownMenu as M, DropdownMenuTrigger as k, DropdownMenuContent as w, DropdownMenuGroup as S, DropdownMenuCheckboxItem as s } from "../ui/dropdown-menu.es.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
3
|
+
import { useFieldContext as x } from "../../utils/form-context.es.js";
|
|
4
|
+
import B, { useCallback as h } from "react";
|
|
5
|
+
import { cn as j } from "../../utils/primitives.es.js";
|
|
6
6
|
function A({
|
|
7
7
|
options: r,
|
|
8
8
|
value: l,
|
|
@@ -11,7 +11,7 @@ function A({
|
|
|
11
11
|
className: m,
|
|
12
12
|
...u
|
|
13
13
|
}) {
|
|
14
|
-
const f =
|
|
14
|
+
const f = B.useCallback(() => {
|
|
15
15
|
const e = l ?? [];
|
|
16
16
|
return r.filter((t) => e.includes(t.value)).map((t, C, D) => /* @__PURE__ */ d(i, { children: [
|
|
17
17
|
t.label,
|
|
@@ -23,7 +23,7 @@ function A({
|
|
|
23
23
|
a() ? c([]) : c(r.map((e) => e.value));
|
|
24
24
|
}, p = h((e) => l.includes(e), [l]), a = h(() => l.length === r.length, [l, r]);
|
|
25
25
|
return /* @__PURE__ */ n(i, { children: /* @__PURE__ */ d(M, { children: [
|
|
26
|
-
/* @__PURE__ */ n(k, { ...u, asChild: !0, children: /* @__PURE__ */ n("button", { ...u, className:
|
|
26
|
+
/* @__PURE__ */ n(k, { ...u, asChild: !0, children: /* @__PURE__ */ n("button", { ...u, className: j("btn-dropdown", m), children: o || f() }) }),
|
|
27
27
|
/* @__PURE__ */ n(w, { children: /* @__PURE__ */ d(S, { children: [
|
|
28
28
|
/* @__PURE__ */ n(
|
|
29
29
|
s,
|
|
@@ -52,7 +52,7 @@ function A({
|
|
|
52
52
|
] }) });
|
|
53
53
|
}
|
|
54
54
|
function I({ ...r }) {
|
|
55
|
-
const l =
|
|
55
|
+
const l = x();
|
|
56
56
|
return /* @__PURE__ */ n(
|
|
57
57
|
A,
|
|
58
58
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { Root as t, Item as c, Indicator as s } from "../../node_modules/.pnpm/@radix-ui_react-radio-group@1.3.7_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-radio-group/dist/index.es.js";
|
|
3
|
-
import { cn as i } from "../../utils/index.es.js";
|
|
4
3
|
import { Check as n } from "lucide-react";
|
|
4
|
+
import { cn as i } from "../../utils/primitives.es.js";
|
|
5
5
|
function u({
|
|
6
6
|
className: o,
|
|
7
7
|
...r
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as e, Fragment as c, jsxs as m } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
3
|
+
import { useFieldContext as s } from "../../utils/form-context.es.js";
|
|
4
|
+
import * as f from "react";
|
|
5
|
+
import { DropdownMenu as h, DropdownMenuTrigger as p, DropdownMenuContent as g, DropdownMenuRadioGroup as w, DropdownMenuRadioItem as C } from "../ui/dropdown-menu.es.js";
|
|
6
|
+
import { cn as D } from "../../utils/primitives.es.js";
|
|
7
7
|
function M({
|
|
8
8
|
value: r,
|
|
9
9
|
setValue: l,
|
|
@@ -12,14 +12,14 @@ function M({
|
|
|
12
12
|
buttonLabel: t,
|
|
13
13
|
...u
|
|
14
14
|
}) {
|
|
15
|
-
const d =
|
|
15
|
+
const d = f.useCallback(() => {
|
|
16
16
|
var n;
|
|
17
17
|
return (n = o.find((i) => i.value === r)) == null ? void 0 : n.label;
|
|
18
18
|
}, [r]);
|
|
19
|
-
return /* @__PURE__ */ e(c, { children: /* @__PURE__ */ m(
|
|
20
|
-
/* @__PURE__ */ e(
|
|
21
|
-
/* @__PURE__ */ e(
|
|
22
|
-
|
|
19
|
+
return /* @__PURE__ */ e(c, { children: /* @__PURE__ */ m(h, { children: [
|
|
20
|
+
/* @__PURE__ */ e(p, { ...u, asChild: !0, children: /* @__PURE__ */ e("button", { className: D("btn-dropdown", a), ...u, children: t || d() }) }),
|
|
21
|
+
/* @__PURE__ */ e(g, { children: /* @__PURE__ */ e(w, { value: r, children: o.map((n) => /* @__PURE__ */ e(
|
|
22
|
+
C,
|
|
23
23
|
{
|
|
24
24
|
onSelect: () => {
|
|
25
25
|
l(n.value);
|
|
@@ -31,7 +31,7 @@ function M({
|
|
|
31
31
|
] }) });
|
|
32
32
|
}
|
|
33
33
|
function B({ ...r }) {
|
|
34
|
-
const l =
|
|
34
|
+
const l = s();
|
|
35
35
|
return /* @__PURE__ */ e(
|
|
36
36
|
M,
|
|
37
37
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.es.js","sources":["../../../lib/components/inputs/select.tsx"],"sourcesContent":["\"use client\";\nimport type { SelectionProps } from \"@/components/inputs/multi-select\";\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuTrigger,\n} from \"@/components/ui\";\nimport { cn } from \"@/utils\";\nimport { useFieldContext } from \"@/utils/form-context\";\nimport * as React from \"react\";\n\nexport interface SingleSelectProps extends SelectionProps<string> { }\n\nexport function SingleSelect({\n\tvalue,\n\tsetValue,\n\toptions,\n\tclassName,\n\tbuttonLabel,\n\t...props\n}: SingleSelectProps) {\n\tconst defaultButtonLabel = React.useCallback(() => {\n\t\treturn options.find((o) => o.value === value)?.label;\n\t}, [value]);\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu>\n\t\t\t\t<DropdownMenuTrigger {...props} asChild>\n\t\t\t\t\t<button className={cn(\"btn-dropdown\", className)} {...props}>\n\t\t\t\t\t\t{buttonLabel ? buttonLabel : defaultButtonLabel()}\n\t\t\t\t\t</button>\n\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t<DropdownMenuContent>\n\t\t\t\t\t<DropdownMenuRadioGroup value={value}>\n\t\t\t\t\t\t{options.map((opt) => (\n\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\t\t\tsetValue(opt.value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={opt.value}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{opt.label}\n\t\t\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</DropdownMenuRadioGroup>\n\t\t\t\t</DropdownMenuContent>\n\t\t\t</DropdownMenu>\n\t\t</>\n\t);\n}\n\nexport interface TfSingleSelectProps\n\textends Omit<SingleSelectProps, \"value\" | \"setValue\"> { }\nexport function TfSingleSelect({ ...props }: TfSingleSelectProps) {\n\tconst field = useFieldContext<string>();\n\n\treturn (\n\t\t<SingleSelect\n\t\t\tvalue={field.state.value}\n\t\t\tsetValue={field.handleChange}\n\t\t\tonBlur={field.handleBlur}\n\t\t\t{...props}\n\t\t/>\n\t);\n}
|
|
1
|
+
{"version":3,"file":"select.es.js","sources":["../../../lib/components/inputs/select.tsx"],"sourcesContent":["\"use client\";\nimport type { SelectionProps } from \"@/components/inputs/multi-select\";\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuTrigger,\n} from \"@/components/ui\";\nimport { cn } from \"@/utils\";\nimport { useFieldContext } from \"@/utils/form-context\";\nimport * as React from \"react\";\n\nexport interface SingleSelectProps extends SelectionProps<string> { }\n\nexport function SingleSelect({\n\tvalue,\n\tsetValue,\n\toptions,\n\tclassName,\n\tbuttonLabel,\n\t...props\n}: SingleSelectProps) {\n\tconst defaultButtonLabel = React.useCallback(() => {\n\t\treturn options.find((o) => o.value === value)?.label;\n\t}, [value]);\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu>\n\t\t\t\t<DropdownMenuTrigger {...props} asChild>\n\t\t\t\t\t<button className={cn(\"btn-dropdown\", className)} {...props}>\n\t\t\t\t\t\t{buttonLabel ? buttonLabel : defaultButtonLabel()}\n\t\t\t\t\t</button>\n\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t<DropdownMenuContent>\n\t\t\t\t\t<DropdownMenuRadioGroup value={value}>\n\t\t\t\t\t\t{options.map((opt) => (\n\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\t\t\tsetValue(opt.value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={opt.value}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{opt.label}\n\t\t\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</DropdownMenuRadioGroup>\n\t\t\t\t</DropdownMenuContent>\n\t\t\t</DropdownMenu>\n\t\t</>\n\t);\n}\n\nexport interface TfSingleSelectProps\n\textends Omit<SingleSelectProps, \"value\" | \"setValue\"> { }\nexport function TfSingleSelect({ ...props }: TfSingleSelectProps) {\n\tconst field = useFieldContext<string>();\n\n\treturn (\n\t\t<SingleSelect\n\t\t\tvalue={field.state.value}\n\t\t\tsetValue={field.handleChange}\n\t\t\tonBlur={field.handleBlur}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n"],"names":["SingleSelect","value","setValue","options","className","buttonLabel","props","defaultButtonLabel","React","_a","o","jsx","Fragment","DropdownMenu","DropdownMenuTrigger","cn","DropdownMenuContent","DropdownMenuRadioGroup","opt","DropdownMenuRadioItem","TfSingleSelect","field","useFieldContext"],"mappings":";;;;;;AAeO,SAASA,EAAa;AAAA,EAC5B,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,GAAGC;AACJ,GAAsB;AACrB,QAAMC,IAAqBC,EAAM,YAAY,MAAM;;AAClD,YAAOC,IAAAN,EAAQ,KAAK,CAACO,MAAMA,EAAE,UAAUT,CAAK,MAArC,gBAAAQ,EAAwC;AAAA,EAChD,GAAG,CAACR,CAAK,CAAC;AAEV,SACC,gBAAAU,EAAAC,GAAA,EACC,4BAACC,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAF,EAACG,KAAqB,GAAGR,GAAO,SAAO,IACtC,UAAA,gBAAAK,EAAC,YAAO,WAAWI,EAAG,gBAAgBX,CAAS,GAAI,GAAGE,GACpD,eAA4BC,KAC9B,GACD;AAAA,IACA,gBAAAI,EAACK,KACA,UAAA,gBAAAL,EAACM,GAAA,EAAuB,OAAAhB,GACtB,UAAAE,EAAQ,IAAI,CAACe,MACb,gBAAAP;AAAA,MAACQ;AAAA,MAAA;AAAA,QACA,UAAU,MAAM;AACf,UAAAjB,EAASgB,EAAI,KAAK;AAAA,QACnB;AAAA,QACA,OAAOA,EAAI;AAAA,QAEV,UAAAA,EAAI;AAAA,MAAA;AAAA,IAAA,CAEN,GACF,EAAA,CACD;AAAA,EAAA,EAAA,CACD,EAAA,CACD;AAEF;AAIO,SAASE,EAAe,EAAE,GAAGd,KAA8B;AACjE,QAAMe,IAAQC,EAAA;AAEd,SACC,gBAAAX;AAAA,IAACX;AAAA,IAAA;AAAA,MACA,OAAOqB,EAAM,MAAM;AAAA,MACnB,UAAUA,EAAM;AAAA,MAChB,QAAQA,EAAM;AAAA,MACb,GAAGf;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useFieldContext as i } from "../../utils/form-context.es.js";
|
|
3
|
+
import { cn as o } from "../../utils/primitives.es.js";
|
|
4
4
|
function u({
|
|
5
5
|
className: t,
|
|
6
6
|
...a
|
|
7
7
|
}) {
|
|
8
|
-
return /* @__PURE__ */ n("textarea", { className:
|
|
8
|
+
return /* @__PURE__ */ n("textarea", { className: o("flex input min-h-input", t), ...a });
|
|
9
9
|
}
|
|
10
10
|
function s({ disabled: t, ...a }) {
|
|
11
|
-
const e =
|
|
11
|
+
const e = i();
|
|
12
12
|
return /* @__PURE__ */ n(
|
|
13
13
|
u,
|
|
14
14
|
{
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { Badge as d } from "../ui/badge.es.js";
|
|
3
|
-
import "react";
|
|
4
|
-
import "../../utils/form-context.es.js";
|
|
5
|
-
import "../../utils/form-hook.es.js";
|
|
6
3
|
import { Card as i, CardHeader as f, CardTitle as m, CardContent as h } from "../ui/card.es.js";
|
|
7
4
|
import { Skeleton as x } from "../ui/skeleton.es.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
const
|
|
5
|
+
import { formatDate as u } from "../data-table/table-commons.es.js";
|
|
6
|
+
import { CopyButton as y } from "../ui/copy-button.es.js";
|
|
7
|
+
const B = ({
|
|
11
8
|
data: c,
|
|
12
9
|
label: o,
|
|
13
10
|
fields: l
|
|
@@ -22,10 +19,10 @@ const S = ({
|
|
|
22
19
|
case "copyButton":
|
|
23
20
|
return /* @__PURE__ */ t("span", { className: "flex items-center gap-2", children: [
|
|
24
21
|
r,
|
|
25
|
-
/* @__PURE__ */ e(
|
|
22
|
+
/* @__PURE__ */ e(y, { value: r })
|
|
26
23
|
] });
|
|
27
24
|
case "date":
|
|
28
|
-
return /* @__PURE__ */ e("span", { children:
|
|
25
|
+
return /* @__PURE__ */ e("span", { children: u(r) });
|
|
29
26
|
case "yesno":
|
|
30
27
|
return /* @__PURE__ */ e("span", { children: r ? "Yes" : "No" });
|
|
31
28
|
case "badge":
|
|
@@ -58,6 +55,6 @@ const S = ({
|
|
|
58
55
|
] });
|
|
59
56
|
};
|
|
60
57
|
export {
|
|
61
|
-
|
|
58
|
+
B as KeyValueCard
|
|
62
59
|
};
|
|
63
60
|
//# sourceMappingURL=key-value-card.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value-card.es.js","sources":["../../../lib/components/key-value-card/key-value-card.tsx"],"sourcesContent":["import { Badge } from \"@/components/ui/badge\";\nimport {\n\tCard,\n\tCardContent,\n\tCardHeader,\n\tCardTitle,\n\tCopyButton,\n\
|
|
1
|
+
{"version":3,"file":"key-value-card.es.js","sources":["../../../lib/components/key-value-card/key-value-card.tsx"],"sourcesContent":["import { Badge } from \"@/components/ui/badge\";\nimport {\n\tCard,\n\tCardContent,\n\tCardHeader,\n\tCardTitle,\n\tCopyButton,\n\tformatDate,\n\tSkeleton,\n} from \"@/index\";\n\n// Utility type to handle nested keys (dot notation) in any object\ntype NestedKeyOf<T> = T extends object\n\t? {\n\t\t[K in keyof T]: K extends string | number\n\t\t? `${K & string}` | `${K & string}.${NestedKeyOf<T[K]>}`\n\t\t: never;\n\t}[keyof T]\n\t: never;\n\n// DisplayField type that works with nested keys\nexport type DisplayField<T> = {\n\tdisplay: string;\n\taccessor: NestedKeyOf<T>;\n\ttype?:\n\t| \"text\"\n\t| \"badge\"\n\t| \"boolean\"\n\t| \"date\"\n\t| \"yesno\"\n\t| \"copyButton\"\n\t| \"link\"; // Field types\n\ttransform?: (value: any) => React.ReactNode;\n};\n\nexport interface KeyValueCardProps<T> {\n\tdata: T; // Ensure data is of type T\n\tlabel: string;\n\tfields: DisplayField<T>[];\n\tclassName?: string;\n}\n\nexport const KeyValueCard = <T extends {}>({\n\tdata,\n\tlabel,\n\tfields,\n}: KeyValueCardProps<T>) => {\n\tconst renderValue = (field: DisplayField<T>, value: any) => {\n\t\tif (field.transform) {\n\t\t\treturn field.transform(value);\n\t\t}\n\t\tif (value === undefined || value === null) {\n\t\t\treturn \"-\";\n\t\t}\n\t\tswitch (field.type) {\n\t\t\tcase \"link\":\n\t\t\t// return <Link to={value}>{value}</Link>;\n\t\t\tcase \"copyButton\":\n\t\t\t\treturn (\n\t\t\t\t\t<span className=\"flex items-center gap-2\">\n\t\t\t\t\t\t{value}\n\t\t\t\t\t\t<CopyButton value={value} />\n\t\t\t\t\t</span>\n\t\t\t\t);\n\t\t\tcase \"date\":\n\t\t\t\treturn <span>{formatDate(value)}</span>;\n\t\t\tcase \"yesno\":\n\t\t\t\treturn <span>{value ? \"Yes\" : \"No\"}</span>;\n\t\t\tcase \"badge\":\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"flex flex-wrap gap-1\">\n\t\t\t\t\t\t{Array.isArray(value)\n\t\t\t\t\t\t\t? value.map((item, index) => (\n\t\t\t\t\t\t\t\t<Badge key={index}>\n\t\t\t\t\t\t\t\t\t{typeof item === \"object\" ? item?.name || item?.id : item}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t: value}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\n\t\t\tcase \"boolean\":\n\t\t\t\treturn <span>{value.toString()}</span>;\n\t\t\tdefault:\n\t\t\t\treturn <span>{value}</span>;\n\t\t}\n\t};\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<CardTitle>{label}</CardTitle>\n\t\t\t</CardHeader>\n\t\t\t<CardContent>\n\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t{data\n\t\t\t\t\t\t? fields.map((field) => {\n\t\t\t\t\t\t\t// TODO: improve this\n\t\t\t\t\t\t\tconst value = field.accessor\n\t\t\t\t\t\t\t\t? field.accessor\n\t\t\t\t\t\t\t\t\t.split(\".\")\n\t\t\t\t\t\t\t\t\t.reduce(\n\t\t\t\t\t\t\t\t\t\t(obj, key) =>\n\t\t\t\t\t\t\t\t\t\t\tobj && key in obj ? obj[key] : undefined,\n\t\t\t\t\t\t\t\t\t\tdata as Record<string, any>,\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={field.display}\n\t\t\t\t\t\t\t\t\tclassName=\"flex w-full flex-col md:flex-row justify-between first:pt-0 last:pb-0\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<p className=\"text-sm flex w-full justify-start col-span-1\">\n\t\t\t\t\t\t\t\t\t\t{field.display}\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<div className=\"text-sm flex w-full justify-start text-wrap break-all\">\n\t\t\t\t\t\t\t\t\t\t{renderValue(field, value)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t: fields.map((_, index) => (\n\t\t\t\t\t\t\t<Skeleton key={index} className=\"h-12 w-full\" />\n\t\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</CardContent>\n\t\t</Card>\n\t);\n};\n"],"names":["KeyValueCard","data","label","fields","renderValue","field","value","jsxs","jsx","CopyButton","formatDate","item","index","Badge","Card","CardHeader","CardTitle","CardContent","obj","key","_","Skeleton"],"mappings":";;;;;;AA0CO,MAAMA,IAAe,CAAe;AAAA,EAC1C,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AACD,MAA4B;AAC3B,QAAMC,IAAc,CAACC,GAAwBC,MAAe;AAC3D,QAAID,EAAM;AACT,aAAOA,EAAM,UAAUC,CAAK;AAE7B,QAA2BA,KAAU;AACpC,aAAO;AAER,YAAQD,EAAM,MAAA;AAAA,MACb,KAAK;AAAA,MAEL,KAAK;AACJ,eACC,gBAAAE,EAAC,QAAA,EAAK,WAAU,2BACd,UAAA;AAAA,UAAAD;AAAA,UACD,gBAAAE,EAACC,KAAW,OAAAH,EAAA,CAAc;AAAA,QAAA,GAC3B;AAAA,MAEF,KAAK;AACJ,eAAO,gBAAAE,EAAC,QAAA,EAAM,UAAAE,EAAWJ,CAAK,GAAE;AAAA,MACjC,KAAK;AACJ,eAAO,gBAAAE,EAAC,QAAA,EAAM,UAAAF,IAAQ,QAAQ,MAAK;AAAA,MACpC,KAAK;AACJ,eACC,gBAAAE,EAAC,OAAA,EAAI,WAAU,wBACb,UAAA,MAAM,QAAQF,CAAK,IACjBA,EAAM,IAAI,CAACK,GAAMC,wBACjBC,GAAA,EACC,UAAA,OAAOF,KAAS,YAAWA,KAAA,gBAAAA,EAAM,UAAQA,KAAA,gBAAAA,EAAM,MAAKA,EAAA,GAD1CC,CAEZ,CACA,IACCN,EAAA,CACJ;AAAA,MAGF,KAAK;AACJ,eAAO,gBAAAE,EAAC,QAAA,EAAM,UAAAF,EAAM,SAAA,GAAW;AAAA,MAChC;AACC,eAAO,gBAAAE,EAAC,UAAM,UAAAF,EAAA,CAAM;AAAA,IAAA;AAAA,EAEvB;AAEA,2BACEQ,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAN,EAACO,GAAA,EACA,UAAA,gBAAAP,EAACQ,GAAA,EAAW,UAAAd,EAAA,CAAM,GACnB;AAAA,IACA,gBAAAM,EAACS,GAAA,EACA,UAAA,gBAAAT,EAAC,OAAA,EAAI,WAAU,uBACb,UAAAP,IACEE,EAAO,IAAI,CAACE,MAAU;AAEvB,YAAMC,IAAQD,EAAM,WACjBA,EAAM,SACN,MAAM,GAAG,EACT;AAAA,QACA,CAACa,GAAKC,MACLD,KAAOC,KAAOD,IAAMA,EAAIC,CAAG,IAAI;AAAA,QAChClB;AAAA,MAAA,IAEA;AAEH,aACC,gBAAAM;AAAA,QAAC;AAAA,QAAA;AAAA,UAEA,WAAU;AAAA,UAEV,UAAA;AAAA,YAAA,gBAAAC,EAAC,KAAA,EAAE,WAAU,gDACX,UAAAH,EAAM,SACR;AAAA,8BACC,OAAA,EAAI,WAAU,yDACb,UAAAD,EAAYC,GAAOC,CAAK,EAAA,CAC1B;AAAA,UAAA;AAAA,QAAA;AAAA,QARKD,EAAM;AAAA,MAAA;AAAA,IAWd,CAAC,IACCF,EAAO,IAAI,CAACiB,GAAGR,MAChB,gBAAAJ,EAACa,GAAA,EAAqB,WAAU,cAAA,GAAjBT,CAA+B,CAC9C,GACH,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { jsx as t, jsxs as a } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { Root as i, Item as s, Header as c, Trigger as d, Content as m } from "../../node_modules/.pnpm/@radix-ui_react-accordion@1.2.11_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-accordion/dist/index.es.js";
|
|
2
|
+
import { Root as i, Item as c, Header as s, Trigger as d, Content as m } from "../../node_modules/.pnpm/@radix-ui_react-accordion@1.2.11_@types_react-dom@19.1.0_@types_react@19.1.0_react-dom@19.1.0_react@19.1.0/node_modules/@radix-ui/react-accordion/dist/index.es.js";
|
|
4
3
|
import { ChevronDown as l } from "lucide-react";
|
|
4
|
+
import { cn as r } from "../../utils/primitives.es.js";
|
|
5
5
|
const x = i;
|
|
6
6
|
function h({
|
|
7
7
|
className: e,
|
|
8
8
|
...o
|
|
9
9
|
}) {
|
|
10
|
-
return /* @__PURE__ */ t(
|
|
10
|
+
return /* @__PURE__ */ t(c, { className: r("border-b", e), ...o });
|
|
11
11
|
}
|
|
12
12
|
function b({
|
|
13
13
|
className: e,
|
|
14
14
|
children: o,
|
|
15
15
|
...n
|
|
16
16
|
}) {
|
|
17
|
-
return /* @__PURE__ */ t(
|
|
17
|
+
return /* @__PURE__ */ t(s, { className: "flex", children: /* @__PURE__ */ a(
|
|
18
18
|
d,
|
|
19
19
|
{
|
|
20
20
|
className: r(
|
|
21
|
-
"flex flex-1 items-center justify-between py-
|
|
21
|
+
"flex flex-1 items-center justify-between py-icon body font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",
|
|
22
22
|
e
|
|
23
23
|
),
|
|
24
24
|
...n,
|
|
@@ -39,7 +39,7 @@ function N({
|
|
|
39
39
|
{
|
|
40
40
|
className: "overflow-hidden body data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
41
41
|
...n,
|
|
42
|
-
children: /* @__PURE__ */ t("div", { className: r("pb-
|
|
42
|
+
children: /* @__PURE__ */ t("div", { className: r("pb-icon pt-0", e), children: o })
|
|
43
43
|
}
|
|
44
44
|
);
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.es.js","sources":["../../../lib/components/ui/accordion.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDown } from \"lucide-react\";\nimport type * as React from \"react\";\n\nexport const Accordion = AccordionPrimitive.Root;\n\nexport function AccordionItem({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n\treturn (\n\t\t<AccordionPrimitive.Item className={cn(\"border-b\", className)} {...props} />\n\t);\n}\n\nexport function AccordionTrigger({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n\treturn (\n\t\t<AccordionPrimitive.Header className=\"flex\">\n\t\t\t<AccordionPrimitive.Trigger\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-1 items-center justify-between py-
|
|
1
|
+
{"version":3,"file":"accordion.es.js","sources":["../../../lib/components/ui/accordion.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDown } from \"lucide-react\";\nimport type * as React from \"react\";\n\nexport const Accordion = AccordionPrimitive.Root;\n\nexport function AccordionItem({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n\treturn (\n\t\t<AccordionPrimitive.Item className={cn(\"border-b\", className)} {...props} />\n\t);\n}\n\nexport function AccordionTrigger({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n\treturn (\n\t\t<AccordionPrimitive.Header className=\"flex\">\n\t\t\t<AccordionPrimitive.Trigger\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-1 items-center justify-between py-icon body font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t\t<ChevronDown className=\"size-icon shrink-0 text-muted-foreground transition-transform duration-200\" />\n\t\t\t</AccordionPrimitive.Trigger>\n\t\t</AccordionPrimitive.Header>\n\t);\n}\n\nexport function AccordionContent({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n\treturn (\n\t\t<AccordionPrimitive.Content\n\t\t\tclassName=\"overflow-hidden body data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className={cn(\"pb-icon pt-0\", className)}>{children}</div>\n\t\t</AccordionPrimitive.Content>\n\t);\n}\n"],"names":["Accordion","AccordionPrimitive.Root","AccordionItem","className","props","jsx","AccordionPrimitive.Item","cn","AccordionTrigger","children","AccordionPrimitive.Header","jsxs","AccordionPrimitive.Trigger","ChevronDown","AccordionContent","AccordionPrimitive.Content"],"mappings":";;;;AAKO,MAAMA,IAAYC;AAElB,SAASC,EAAc;AAAA,EAC7B,WAAAC;AAAA,EACA,GAAGC;AACJ,GAAyD;AACxD,SACC,gBAAAC,EAACC,GAAA,EAAwB,WAAWC,EAAG,YAAYJ,CAAS,GAAI,GAAGC,GAAO;AAE5E;AAEO,SAASI,EAAiB;AAAA,EAChC,WAAAL;AAAA,EACA,UAAAM;AAAA,EACA,GAAGL;AACJ,GAA4D;AAC3D,SACC,gBAAAC,EAACK,GAAA,EAA0B,WAAU,QACpC,UAAA,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACA,WAAWL;AAAA,QACV;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,MAEH,UAAA;AAAA,QAAAK;AAAA,QACD,gBAAAJ,EAACQ,GAAA,EAAY,WAAU,6EAAA,CAA6E;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEtG;AAEF;AAEO,SAASC,EAAiB;AAAA,EAChC,WAAAX;AAAA,EACA,UAAAM;AAAA,EACA,GAAGL;AACJ,GAA4D;AAC3D,SACC,gBAAAC;AAAA,IAACU;AAAAA,IAAA;AAAA,MACA,WAAU;AAAA,MACT,GAAGX;AAAA,MAEJ,4BAAC,OAAA,EAAI,WAAWG,EAAG,gBAAgBJ,CAAS,GAAI,UAAAM,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG5D;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as d, jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
const n =
|
|
2
|
+
import { cva as i } from "class-variance-authority";
|
|
3
|
+
import { cn as c } from "../../utils/primitives.es.js";
|
|
4
|
+
const n = i(
|
|
5
5
|
"transition-colors border border-dotted p-2 text-foreground text-sm inline-flex items-start gap-2",
|
|
6
6
|
{
|
|
7
7
|
variants: {
|
|
@@ -17,7 +17,7 @@ const n = c(
|
|
|
17
17
|
}
|
|
18
18
|
);
|
|
19
19
|
function f({ children: r, className: s, variant: o, icon: e, ...a }) {
|
|
20
|
-
return /* @__PURE__ */ d("div", { role: "alert", className:
|
|
20
|
+
return /* @__PURE__ */ d("div", { role: "alert", className: c(n({ variant: o }), s), ...a, children: [
|
|
21
21
|
e && /* @__PURE__ */ t(e, { className: "size-icon mt-1" }),
|
|
22
22
|
/* @__PURE__ */ t("span", { className: "w-full", children: r })
|
|
23
23
|
] });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
2
2
|
import { Root as i } from "../../node_modules/.pnpm/@radix-ui_react-slot@1.2.3_@types_react@19.1.0_react@19.1.0/node_modules/@radix-ui/react-slot/dist/index.es.js";
|
|
3
|
-
import { cn as n } from "../../utils/index.es.js";
|
|
4
3
|
import { ChevronRight as s, DotSquare as c } from "lucide-react";
|
|
4
|
+
import { cn as n } from "../../utils/primitives.es.js";
|
|
5
5
|
function p({ ...r }) {
|
|
6
6
|
return /* @__PURE__ */ a("nav", { "aria-label": "breadcrumb", ...r });
|
|
7
7
|
}
|
|
@@ -88,7 +88,7 @@ function B({
|
|
|
88
88
|
className: n("flex size-9 items-center justify-center", r),
|
|
89
89
|
...e,
|
|
90
90
|
children: [
|
|
91
|
-
/* @__PURE__ */ a(c, { className: "size-
|
|
91
|
+
/* @__PURE__ */ a(c, { className: "size-icon" }),
|
|
92
92
|
/* @__PURE__ */ a("span", { className: "sr-only", children: "More" })
|
|
93
93
|
]
|
|
94
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.es.js","sources":["../../../lib/components/ui/breadcrumb.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { ChevronRight, DotSquare } from \"lucide-react\";\n\nexport function Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n\treturn <nav aria-label=\"breadcrumb\" {...props} />;\n}\n\nexport function BreadcrumbList({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"ol\">) {\n\treturn (\n\t\t<ol\n\t\t\tclassName={cn(\n\t\t\t\t\"flex flex-wrap items-center gap-1.5 break-words body text-muted-foreground sm:gap-2.5\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function BreadcrumbItem({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"li\">) {\n\treturn (\n\t\t<li\n\t\t\tclassName={cn(\"inline-flex items-center gap-1.5\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function BreadcrumbLink({\n\tasChild,\n\tclassName,\n\t...props\n}: React.ComponentProps<\"a\"> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : \"a\";\n\n\treturn (\n\t\t<Comp\n\t\t\tclassName={cn(\"transition-colors hover:text-foreground\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function BreadcrumbPage({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t<span\n\t\t\trole=\"link\"\n\t\t\taria-disabled=\"true\"\n\t\t\taria-current=\"page\"\n\t\t\tclassName={cn(\"font-normal text-foreground\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function BreadcrumbSeparator({\n\tchildren,\n\tclassName,\n\t...props\n}: React.ComponentProps<\"li\">) {\n\treturn (\n\t\t<li\n\t\t\trole=\"presentation\"\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName={cn(\"[&>svg]:size-icon\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children ?? <ChevronRight />}\n\t\t</li>\n\t);\n}\n\nexport function BreadcrumbEllipsis({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t<span\n\t\t\trole=\"presentation\"\n\t\t\taria-hidden=\"true\"\n\t\t\t// TODO why 9??\n\t\t\tclassName={cn(\"flex size-9 items-center justify-center\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<DotSquare className=\"size-
|
|
1
|
+
{"version":3,"file":"breadcrumb.es.js","sources":["../../../lib/components/ui/breadcrumb.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\nimport { ChevronRight, DotSquare } from \"lucide-react\";\n\nexport function Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n\treturn <nav aria-label=\"breadcrumb\" {...props} />;\n}\n\nexport function BreadcrumbList({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"ol\">) {\n\treturn (\n\t\t<ol\n\t\t\tclassName={cn(\n\t\t\t\t\"flex flex-wrap items-center gap-1.5 break-words body text-muted-foreground sm:gap-2.5\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function BreadcrumbItem({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"li\">) {\n\treturn (\n\t\t<li\n\t\t\tclassName={cn(\"inline-flex items-center gap-1.5\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function BreadcrumbLink({\n\tasChild,\n\tclassName,\n\t...props\n}: React.ComponentProps<\"a\"> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : \"a\";\n\n\treturn (\n\t\t<Comp\n\t\t\tclassName={cn(\"transition-colors hover:text-foreground\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function BreadcrumbPage({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t<span\n\t\t\trole=\"link\"\n\t\t\taria-disabled=\"true\"\n\t\t\taria-current=\"page\"\n\t\t\tclassName={cn(\"font-normal text-foreground\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function BreadcrumbSeparator({\n\tchildren,\n\tclassName,\n\t...props\n}: React.ComponentProps<\"li\">) {\n\treturn (\n\t\t<li\n\t\t\trole=\"presentation\"\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName={cn(\"[&>svg]:size-icon\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children ?? <ChevronRight />}\n\t\t</li>\n\t);\n}\n\nexport function BreadcrumbEllipsis({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t<span\n\t\t\trole=\"presentation\"\n\t\t\taria-hidden=\"true\"\n\t\t\t// TODO why 9??\n\t\t\tclassName={cn(\"flex size-9 items-center justify-center\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<DotSquare className=\"size-icon\" />\n\t\t\t<span className=\"sr-only\">More</span>\n\t\t</span>\n\t);\n}\n"],"names":["Breadcrumb","props","jsx","BreadcrumbList","className","cn","BreadcrumbItem","BreadcrumbLink","asChild","Slot","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRight","BreadcrumbEllipsis","jsxs","DotSquare"],"mappings":";;;;AAMO,SAASA,EAAW,EAAE,GAAGC,KAAsC;AACrE,SAAO,gBAAAC,EAAC,OAAA,EAAI,cAAW,cAAc,GAAGD,GAAO;AAChD;AAEO,SAASE,EAAe;AAAA,EAC9B,WAAAC;AAAA,EACA,GAAGH;AACJ,GAA+B;AAC9B,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWG;AAAA,QACV;AAAA,QACAD;AAAA,MAAA;AAAA,MAEA,GAAGH;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASK,EAAe;AAAA,EAC9B,WAAAF;AAAA,EACA,GAAGH;AACJ,GAA+B;AAC9B,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWG,EAAG,oCAAoCD,CAAS;AAAA,MAC1D,GAAGH;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASM,EAAe;AAAA,EAC9B,SAAAC;AAAA,EACA,WAAAJ;AAAA,EACA,GAAGH;AACJ,GAAsD;AAGrD,SACC,gBAAAC;AAAA,IAHYM,IAAUC,IAAO;AAAA,IAG5B;AAAA,MACA,WAAWJ,EAAG,2CAA2CD,CAAS;AAAA,MACjE,GAAGH;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASS,EAAe;AAAA,EAC9B,WAAAN;AAAA,EACA,GAAGH;AACJ,GAAiC;AAChC,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAK;AAAA,MACL,iBAAc;AAAA,MACd,gBAAa;AAAA,MACb,WAAWG,EAAG,+BAA+BD,CAAS;AAAA,MACrD,GAAGH;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASU,EAAoB;AAAA,EACnC,UAAAC;AAAA,EACA,WAAAR;AAAA,EACA,GAAGH;AACJ,GAA+B;AAC9B,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,WAAWG,EAAG,qBAAqBD,CAAS;AAAA,MAC3C,GAAGH;AAAA,MAEH,UAAAW,uBAAaC,GAAA,CAAA,CAAa;AAAA,IAAA;AAAA,EAAA;AAG9B;AAEO,SAASC,EAAmB;AAAA,EAClC,WAAAV;AAAA,EACA,GAAGH;AACJ,GAAiC;AAChC,SACC,gBAAAc;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAK;AAAA,MACL,eAAY;AAAA,MAEZ,WAAWV,EAAG,2CAA2CD,CAAS;AAAA,MACjE,GAAGH;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAC,EAACc,GAAA,EAAU,WAAU,YAAA,CAAY;AAAA,QACjC,gBAAAd,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,OAAA,CAAI;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGjC;"}
|