@xwadex/fesd-next 0.3.41 → 0.3.42

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.
@@ -1,7 +1,11 @@
1
1
  import * as AccordionPrimitive from "@radix-ui/react-accordion";
2
- import type { ComponentProps } from "../../types/index.js";
3
- declare function Accordion({ ...props }: ComponentProps<typeof AccordionPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
- declare function AccordionItem({ className, ...props }: ComponentProps<typeof AccordionPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
5
- declare function AccordionTrigger({ className, children, ...props }: ComponentProps<typeof AccordionPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
- declare function AccordionContent({ className, children, ...props }: ComponentProps<typeof AccordionPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
- export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
2
+ import type { ShadcnBaseProps } from "../../types/index.js";
3
+ type AccordionProps<T extends React.ElementType> = ShadcnBaseProps<T, React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>> & {
4
+ as?: React.ElementType;
5
+ onChange?: (value?: string | string[]) => void;
6
+ };
7
+ declare function Accordion<T extends React.ElementType = "div">({ as, value, onChange, children, className, ...props }: AccordionProps<T>): import("react/jsx-runtime").JSX.Element;
8
+ declare namespace Accordion {
9
+ var displayName: string;
10
+ }
11
+ export default Accordion;
@@ -1,50 +1,14 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useEffect } from "react";
3
4
  import * as AccordionPrimitive from "@radix-ui/react-accordion";
4
- import { ChevronDownIcon } from "lucide-react";
5
- import { cn } from "../../utils/index.js";
6
- import { useMounted } from "../../hooks/index.js";
7
- function Accordion({ ...props }) {
8
- return _jsx(AccordionPrimitive.Root, { "data-slot": "accordion", ...props });
9
- }
10
- function AccordionItem({ className, ...props }) {
11
- return (_jsx(AccordionPrimitive.Item, { "data-slot": "accordion-item", className: className, ...props }));
12
- }
13
- function AccordionTrigger({ className, children, ...props }) {
14
- return (_jsx(AccordionPrimitive.Header, { className: "flex", children: _jsxs(AccordionPrimitive.Trigger, { "data-slot": "accordion-trigger", className: cn(`
15
- focus-visible:border-ring
16
- focus-visible:ring-ring/50
17
- flex
18
- flex-1
19
- items-start
20
- justify-between
21
- gap-4
22
- rounded-md
23
- py-4
24
- text-left
25
- text-sm
26
- font-medium
27
- transition-all
28
- outline-none
29
- focus-visible:ring-[3px]
30
- disabled:pointer-events-none
31
- disabled:opacity-50
32
- [&[data-state=open]>svg]:rotate-180`, className), ...props, children: [children, _jsx(ChevronDownIcon, { className: `
33
- text-muted-foreground
34
- pointer-events-none
35
- size-4
36
- shrink-0
37
- translate-y-0.5
38
- transition-transform
39
- duration-200` })] }) }));
40
- }
41
- function AccordionContent({ className, children, ...props }) {
42
- const { isMounded } = useMounted();
43
- return (_jsx(AccordionPrimitive.Content, { "data-slot": "accordion-content", className: cn(`
44
- overflow-hidden
45
- text-sm`, isMounded && `
46
- data-[state=closed]:animate-accordion-up2
47
- data-[state=open]:animate-accordion-down2
48
- `), ...props, children: _jsx("div", { className: cn("pt-0 pb-4 group-data-[state=closed]:text-red", className), children: children }) }));
49
- }
50
- export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
5
+ function Accordion({ as, value, onChange, children, className, ...props }) {
6
+ const Component = as || "div";
7
+ useEffect(() => {
8
+ console.log(value);
9
+ onChange?.(value);
10
+ }, [value]);
11
+ return (_jsx(AccordionPrimitive.Root, { asChild: true, "data-slot": "accordion", ...props, children: _jsx(Component, { children: children }) }));
12
+ }
13
+ Accordion.displayName = "Accordion";
14
+ export default Accordion;
@@ -0,0 +1,10 @@
1
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
2
+ import type { ShadcnBaseProps } from "../../types/index.js";
3
+ type AccordionContentProps<T extends React.ElementType> = ShadcnBaseProps<T, React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>> & {
4
+ as?: React.ElementType;
5
+ };
6
+ declare function AccordionContent<T extends React.ElementType = "div">({ as, className, children, ...props }: AccordionContentProps<T>): import("react/jsx-runtime").JSX.Element;
7
+ declare namespace AccordionContent {
8
+ var displayName: string;
9
+ }
10
+ export default AccordionContent;
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
4
+ import { useMounted } from "../../hooks/index.js";
5
+ import { cn } from "../../utils/index.js";
6
+ function AccordionContent({ as, className, children, ...props }) {
7
+ const Component = as || "div";
8
+ const { isMounded } = useMounted();
9
+ return (_jsx(AccordionPrimitive.Content, { asChild: true, "data-slot": "accordion-content", className: cn(`
10
+ overflow-hidden
11
+ text-sm`, isMounded && `
12
+ data-[state=closed]:animate-accordion-up2
13
+ data-[state=open]:animate-accordion-down2
14
+ `), ...props, children: _jsx(Component, { children: children }) }));
15
+ }
16
+ AccordionContent.displayName = "AccordionContent";
17
+ export default AccordionContent;
@@ -0,0 +1,10 @@
1
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
2
+ import type { ShadcnBaseProps } from "../../types/index.js";
3
+ type AccordionItemProps<T extends React.ElementType> = ShadcnBaseProps<T, React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>> & {
4
+ as?: React.ElementType;
5
+ };
6
+ declare function AccordionItem<T extends React.ElementType = "div">({ as, className, children, ...props }: AccordionItemProps<T>): import("react/jsx-runtime").JSX.Element;
7
+ declare namespace AccordionItem {
8
+ var displayName: string;
9
+ }
10
+ export default AccordionItem;
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
4
+ function AccordionItem({ as, className, children, ...props }) {
5
+ const Component = as || "div";
6
+ return (_jsx(AccordionPrimitive.Item, { asChild: true, "data-slot": "accordion-item", className: className, ...props, children: _jsx(Component, { children: children }) }));
7
+ }
8
+ AccordionItem.displayName = "AccordionItem";
9
+ export default AccordionItem;
@@ -0,0 +1,10 @@
1
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
2
+ import type { ShadcnBaseProps } from "../../types/index.js";
3
+ type AccordionTriggerProps<T extends React.ElementType> = ShadcnBaseProps<T, React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>> & {
4
+ as?: React.ElementType;
5
+ };
6
+ declare function AccordionTrigger<T extends React.ElementType = "button">({ as, children, className, ...props }: AccordionTriggerProps<T>): import("react/jsx-runtime").JSX.Element;
7
+ declare namespace AccordionTrigger {
8
+ var displayName: string;
9
+ }
10
+ export default AccordionTrigger;
@@ -0,0 +1,84 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
4
+ import { cn } from "../../utils/index.js";
5
+ function AccordionTrigger({ as, children, className, ...props }) {
6
+ const Component = as || "button";
7
+ const isButton = Component === "button";
8
+ return (_jsx(AccordionPrimitive.Header, { asChild: true, children: _jsx(AccordionPrimitive.Trigger, { asChild: true, "data-slot": "accordion-trigger", ...props, children: _jsx(Component, { type: isButton ? "button" : undefined, role: !isButton ? "button" : undefined, "aria-expanded": props["aria-expanded"], "aria-controls": props["aria-controls"], tabIndex: 0, className: cn(`outline-none
9
+ focus-visible:border-ring
10
+ focus-visible:ring-ring/50
11
+ disabled:pointer-events-none
12
+ disabled:opacity-50`, className), children: children }) }) }));
13
+ }
14
+ // type AccordionTriggerProps<T extends React.ElementType
15
+ // > = ShadcnBaseProps<T, React.ComponentPropsWithoutRef<
16
+ // typeof AccordionPrimitive.Trigger>
17
+ // > & {
18
+ // defaultIcon?: boolean
19
+ // className?: string
20
+ // children?: React.ReactNode
21
+ // }
22
+ // function AccordionTrigger<T extends React.ElementType = "button">({
23
+ // as,
24
+ // asChild,
25
+ // children,
26
+ // className,
27
+ // defaultIcon,
28
+ // ...props
29
+ // }: AccordionTriggerProps<T>) {
30
+ // const Component = as || "button"
31
+ // const isButton = Component === "button"
32
+ // const isUseIcon = defaultIcon && `
33
+ // flex
34
+ // flex-1
35
+ // items-start
36
+ // justify-between
37
+ // gap-4
38
+ // rounded-md
39
+ // text-left
40
+ // focus-visible:ring-[3px]
41
+ // [&[data-state=open]>svg]:rotate-180
42
+ // `
43
+ // return (
44
+ // <AccordionPrimitive.Header asChild>
45
+ // <AccordionPrimitive.Trigger
46
+ // asChild
47
+ // data-slot="accordion-trigger"
48
+ // {...props}
49
+ // >
50
+ // <Component
51
+ // type={isButton ? "button" : undefined}
52
+ // role={!isButton ? "button" : undefined}
53
+ // aria-expanded={props["aria-expanded"]}
54
+ // aria-controls={props["aria-controls"]}
55
+ // tabIndex={0}
56
+ // className={cn(`
57
+ // outline-none
58
+ // focus-visible:border-ring
59
+ // focus-visible:ring-ring/50
60
+ // disabled:pointer-events-none
61
+ // disabled:opacity-50`,
62
+ // isUseIcon,
63
+ // className
64
+ // )}
65
+ // >
66
+ // {children}
67
+ // {isUseIcon && <ChevronDownIcon
68
+ // className={`
69
+ // text-muted-foreground
70
+ // pointer-events-none
71
+ // size-4
72
+ // shrink-0
73
+ // translate-y-0.5
74
+ // transition-transform
75
+ // duration-200
76
+ // `}
77
+ // />}
78
+ // </Component>
79
+ // </AccordionPrimitive.Trigger>
80
+ // </AccordionPrimitive.Header>
81
+ // )
82
+ // }
83
+ AccordionTrigger.displayName = "AccordionTrigger";
84
+ export default AccordionTrigger;
@@ -1 +1,10 @@
1
- export * from "./accordion";
1
+ import { default as AccordionRoot } from "./accordion";
2
+ import { default as AccordionContent } from "./accordionContent";
3
+ import { default as AccordionItem } from "./accordionItem";
4
+ import { default as AccordionTrigger } from "./accordionTrigger";
5
+ export declare const Accordions: {
6
+ Root: typeof AccordionRoot;
7
+ Content: typeof AccordionContent;
8
+ Item: typeof AccordionItem;
9
+ Trigger: typeof AccordionTrigger;
10
+ };
@@ -1 +1,11 @@
1
- export * from "./accordion";
1
+ import { default as AccordionRoot } from "./accordion";
2
+ import { default as AccordionContent } from "./accordionContent";
3
+ import { default as AccordionItem } from "./accordionItem";
4
+ import { default as AccordionTrigger } from "./accordionTrigger";
5
+ export const Accordions = {
6
+ Root: AccordionRoot,
7
+ Content: AccordionContent,
8
+ Item: AccordionItem,
9
+ Trigger: AccordionTrigger
10
+ };
11
+ // export * from "./accordion"
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { use, createContext, } from "react";
2
+ import { use, createContext } from "react";
3
3
  export const DragResizeContext = Object.assign(createContext(undefined), { displayName: "DragResizeContext" });
4
4
  export const useDragResizeContext = () => {
5
5
  const context = use(DragResizeContext);
@@ -1 +1,5 @@
1
1
  export type { ComponentProps } from "react";
2
+ export type ShadcnBaseProps<T extends React.ElementType, P = {}> = {
3
+ as?: T;
4
+ ref?: React.Ref<any>;
5
+ } & P & Omit<React.ComponentPropsWithoutRef<T>, keyof P | "as" | "ref">;
package/package.json CHANGED
@@ -1,58 +1,58 @@
1
1
  {
2
- "name": "@xwadex/fesd-next",
3
- "version": "0.3.41",
4
- "private": false,
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "import": "./dist/index.js",
10
- "types": "./dist/index.d.ts"
11
- },
12
- "./components": {
13
- "import": "./dist/components/index.js",
14
- "types": "./dist/components/index.d.ts"
15
- },
16
- "./hooks": {
17
- "import": "./dist/hooks/index.js",
18
- "types": "./dist/hooks/index.d.ts"
19
- },
20
- "./utils": {
21
- "import": "./dist/utils/index.js",
22
- "types": "./dist/utils/index.d.ts"
23
- },
24
- "./types": {
25
- "import": "./dist/types/index.js",
26
- "types": "./dist/types/index.d.ts"
27
- },
28
- "./styles": {
29
- "default": "./dist/styles/defaults.css"
30
- },
31
- "./styles/*": {
32
- "default": "./dist/styles/*"
33
- }
34
- },
35
- "files": [
36
- "dist"
37
- ],
38
- "scripts": {
39
- "clean": "rm -rf dist",
40
- "build": "npm run clean && tsc --project tsconfig.json && tsc-alias && node copy-scss.js"
41
- },
42
- "peerDependencies": {
43
- "react": ">=18",
44
- "react-dom": ">=18",
45
- "next": ">=13",
46
- "@radix-ui/react-accordion": "^1.2.11",
47
- "@radix-ui/react-slot": "^1.2.3",
48
- "tailwindcss": ">=3",
49
- "postcss": ">=8",
50
- "class-variance-authority": "^0.7.1",
51
- "clsx": "^2.1.1",
52
- "tailwind-merge": "^3.3.1",
53
- "tua-body-scroll-lock": "^1.5.3",
54
- "react-sortablejs": "^6.1.4",
55
- "motion": "^12.18.1",
56
- "tw-animate-css": "^1.3.4"
57
- }
2
+ "name": "@xwadex/fesd-next",
3
+ "version": "0.3.42",
4
+ "private": false,
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./dist/index.js",
10
+ "types": "./dist/index.d.ts"
11
+ },
12
+ "./components": {
13
+ "import": "./dist/components/index.js",
14
+ "types": "./dist/components/index.d.ts"
15
+ },
16
+ "./hooks": {
17
+ "import": "./dist/hooks/index.js",
18
+ "types": "./dist/hooks/index.d.ts"
19
+ },
20
+ "./utils": {
21
+ "import": "./dist/utils/index.js",
22
+ "types": "./dist/utils/index.d.ts"
23
+ },
24
+ "./types": {
25
+ "import": "./dist/types/index.js",
26
+ "types": "./dist/types/index.d.ts"
27
+ },
28
+ "./styles": {
29
+ "default": "./dist/styles/defaults.css"
30
+ },
31
+ "./styles/*": {
32
+ "default": "./dist/styles/*"
33
+ }
34
+ },
35
+ "files": [
36
+ "dist"
37
+ ],
38
+ "scripts": {
39
+ "clean": "rm -rf dist",
40
+ "build": "npm run clean && tsc --project tsconfig.json && tsc-alias && node copy-scss.js"
41
+ },
42
+ "peerDependencies": {
43
+ "react": ">=18",
44
+ "react-dom": ">=18",
45
+ "next": ">=13",
46
+ "@radix-ui/react-accordion": "^1.2.11",
47
+ "@radix-ui/react-slot": "^1.2.3",
48
+ "tailwindcss": ">=3",
49
+ "postcss": ">=8",
50
+ "class-variance-authority": "^0.7.1",
51
+ "clsx": "^2.1.1",
52
+ "tailwind-merge": "^3.3.1",
53
+ "tua-body-scroll-lock": "^1.5.3",
54
+ "react-sortablejs": "^6.1.4",
55
+ "motion": "^12.18.1",
56
+ "tw-animate-css": "^1.3.4"
57
+ }
58
58
  }