@plexui/ui 0.11.0 → 0.12.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/es/components/Accordion/Accordion.js +16 -0
- package/dist/es/components/Accordion/Accordion.js.map +1 -0
- package/dist/es/components/Accordion/Accordion.module.css +89 -0
- package/dist/es/components/Accordion/index.js +2 -0
- package/dist/es/components/Accordion/index.js.map +1 -0
- package/dist/es/components/Progress/Progress.module.css +1 -0
- package/dist/es/styles/variables-components.css +23 -0
- package/dist/types/components/Accordion/Accordion.d.ts +26 -0
- package/dist/types/components/Accordion/index.d.ts +1 -0
- package/dist/types/components/FloatingLabelSelect/FloatingLabelSelect.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import {} from "react";
|
|
5
|
+
import { Accordion as RadixAccordion } from "radix-ui";
|
|
6
|
+
import { ChevronDownMd } from "../Icon";
|
|
7
|
+
import s from "./Accordion.module.css";
|
|
8
|
+
const AccordionRoot = ({ className, ...restProps }) => (_jsx(RadixAccordion.Root, { className: clsx(s.Root, className), ...restProps }));
|
|
9
|
+
const AccordionItem = ({ className, ...restProps }) => (_jsx(RadixAccordion.Item, { className: clsx(s.Item, className), ...restProps }));
|
|
10
|
+
const AccordionTrigger = ({ className, children, ref, ...restProps }) => (_jsx(RadixAccordion.Header, { className: s.Header, children: _jsxs(RadixAccordion.Trigger, { ref: ref, className: clsx(s.Trigger, className), ...restProps, children: [children, _jsx(ChevronDownMd, { className: s.Chevron, "aria-hidden": true })] }) }));
|
|
11
|
+
const AccordionContent = ({ className, children, ...restProps }) => (_jsx(RadixAccordion.Content, { className: clsx(s.Content, className), ...restProps, children: _jsx("div", { className: s.ContentInner, children: children }) }));
|
|
12
|
+
export const Accordion = AccordionRoot;
|
|
13
|
+
Accordion.Item = AccordionItem;
|
|
14
|
+
Accordion.Trigger = AccordionTrigger;
|
|
15
|
+
Accordion.Content = AccordionContent;
|
|
16
|
+
//# sourceMappingURL=Accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAiC,MAAM,OAAO,CAAA;AACrD,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,CAAC,MAAM,wBAAwB,CAAA;AAUtC,MAAM,aAAa,GAAG,CAAC,EACrB,SAAS,EACT,GAAG,SAAS,EACG,EAAE,EAAE,CAAC,CACpB,KAAC,cAAc,CAAC,IAAI,IAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,KAAM,SAAS,GAAI,CAC3E,CAAA;AAUD,MAAM,aAAa,GAAG,CAAC,EACrB,SAAS,EACT,GAAG,SAAS,EACO,EAAE,EAAE,CAAC,CACxB,KAAC,cAAc,CAAC,IAAI,IAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,KAAM,SAAS,GAAI,CAC3E,CAAA;AAaD,MAAM,gBAAgB,GAAG,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,SAAS,EACU,EAAE,EAAE,CAAC,CAC3B,KAAC,cAAc,CAAC,MAAM,IAAC,SAAS,EAAE,CAAC,CAAC,MAAM,YACxC,MAAC,cAAc,CAAC,OAAO,IACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,KACjC,SAAS,aAEZ,QAAQ,EACT,KAAC,aAAa,IAAC,SAAS,EAAE,CAAC,CAAC,OAAO,wBAAgB,IAC5B,GACH,CACzB,CAAA;AAYD,MAAM,gBAAgB,GAAG,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,SAAS,EACU,EAAE,EAAE,CAAC,CAC3B,KAAC,cAAc,CAAC,OAAO,IAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,KAAM,SAAS,YAC1E,cAAK,SAAS,EAAE,CAAC,CAAC,YAAY,YAAG,QAAQ,GAAO,GACzB,CAC1B,CAAA;AAYD,MAAM,CAAC,MAAM,SAAS,GAAG,aAAmC,CAAA;AAC5D,SAAS,CAAC,IAAI,GAAG,aAAa,CAAA;AAC9B,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAA;AACpC,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAA","sourcesContent":["\"use client\"\n\nimport clsx from \"clsx\"\nimport { type ComponentProps, type Ref } from \"react\"\nimport { Accordion as RadixAccordion } from \"radix-ui\"\nimport { ChevronDownMd } from \"../Icon\"\nimport s from \"./Accordion.module.css\"\n\n/* ------------------------------------------------------------------ */\n/* Root */\n/* ------------------------------------------------------------------ */\n\nexport type AccordionProps = ComponentProps<typeof RadixAccordion.Root> & {\n className?: string\n}\n\nconst AccordionRoot = ({\n className,\n ...restProps\n}: AccordionProps) => (\n <RadixAccordion.Root className={clsx(s.Root, className)} {...restProps} />\n)\n\n/* ------------------------------------------------------------------ */\n/* Item */\n/* ------------------------------------------------------------------ */\n\nexport type AccordionItemProps = ComponentProps<typeof RadixAccordion.Item> & {\n className?: string\n}\n\nconst AccordionItem = ({\n className,\n ...restProps\n}: AccordionItemProps) => (\n <RadixAccordion.Item className={clsx(s.Item, className)} {...restProps} />\n)\n\n/* ------------------------------------------------------------------ */\n/* Trigger */\n/* ------------------------------------------------------------------ */\n\nexport type AccordionTriggerProps = ComponentProps<\n typeof RadixAccordion.Trigger\n> & {\n className?: string\n ref?: Ref<HTMLButtonElement>\n}\n\nconst AccordionTrigger = ({\n className,\n children,\n ref,\n ...restProps\n}: AccordionTriggerProps) => (\n <RadixAccordion.Header className={s.Header}>\n <RadixAccordion.Trigger\n ref={ref}\n className={clsx(s.Trigger, className)}\n {...restProps}\n >\n {children}\n <ChevronDownMd className={s.Chevron} aria-hidden />\n </RadixAccordion.Trigger>\n </RadixAccordion.Header>\n)\n\n/* ------------------------------------------------------------------ */\n/* Content */\n/* ------------------------------------------------------------------ */\n\nexport type AccordionContentProps = ComponentProps<\n typeof RadixAccordion.Content\n> & {\n className?: string\n}\n\nconst AccordionContent = ({\n className,\n children,\n ...restProps\n}: AccordionContentProps) => (\n <RadixAccordion.Content className={clsx(s.Content, className)} {...restProps}>\n <div className={s.ContentInner}>{children}</div>\n </RadixAccordion.Content>\n)\n\n/* ------------------------------------------------------------------ */\n/* Export — compound API */\n/* ------------------------------------------------------------------ */\n\ntype AccordionComponent = typeof AccordionRoot & {\n Item: typeof AccordionItem\n Trigger: typeof AccordionTrigger\n Content: typeof AccordionContent\n}\n\nexport const Accordion = AccordionRoot as AccordionComponent\nAccordion.Item = AccordionItem\nAccordion.Trigger = AccordionTrigger\nAccordion.Content = AccordionContent\n"]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
@layer components {.Root {
|
|
2
|
+
width: 100%;
|
|
3
|
+
}.Item {
|
|
4
|
+
border-bottom: var(--accordion-item-divider-width) solid
|
|
5
|
+
var(--accordion-item-divider-color);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.Item:last-child {
|
|
9
|
+
border-bottom: 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.Item[data-disabled] {
|
|
13
|
+
opacity: var(--accordion-item-disabled-opacity);
|
|
14
|
+
}.Header {
|
|
15
|
+
display: flex;
|
|
16
|
+
margin: 0;
|
|
17
|
+
}.Trigger {
|
|
18
|
+
display: flex;
|
|
19
|
+
flex: 1;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: space-between;
|
|
22
|
+
gap: var(--accordion-trigger-gap);
|
|
23
|
+
width: 100%;
|
|
24
|
+
padding: var(--accordion-trigger-padding-block) 0;
|
|
25
|
+
border: 0;
|
|
26
|
+
background: transparent;
|
|
27
|
+
font-family: inherit;
|
|
28
|
+
font-size: var(--accordion-trigger-font-size);
|
|
29
|
+
font-weight: var(--accordion-trigger-font-weight);
|
|
30
|
+
line-height: var(--accordion-trigger-line-height);
|
|
31
|
+
text-align: left;
|
|
32
|
+
color: var(--accordion-trigger-color);
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
outline: none;
|
|
35
|
+
transition: color var(--accordion-transition-duration)
|
|
36
|
+
var(--accordion-transition-ease);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.Trigger:focus-visible {
|
|
40
|
+
border-radius: var(--accordion-trigger-focus-radius);
|
|
41
|
+
outline: 2px solid var(--accordion-trigger-focus-ring-color);
|
|
42
|
+
outline-offset: 2px;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.Trigger:disabled,
|
|
46
|
+
.Trigger[data-disabled] {
|
|
47
|
+
cursor: not-allowed;
|
|
48
|
+
}.Chevron {
|
|
49
|
+
flex-shrink: 0;
|
|
50
|
+
width: var(--accordion-icon-size);
|
|
51
|
+
height: var(--accordion-icon-size);
|
|
52
|
+
color: var(--accordion-icon-color);
|
|
53
|
+
transition: transform var(--accordion-transition-duration)
|
|
54
|
+
var(--accordion-transition-ease);
|
|
55
|
+
}.Trigger[data-state="open"] .Chevron {
|
|
56
|
+
transform: rotate(180deg);
|
|
57
|
+
}.Content {
|
|
58
|
+
overflow: hidden;
|
|
59
|
+
font-size: var(--accordion-content-font-size);
|
|
60
|
+
line-height: var(--accordion-content-line-height);
|
|
61
|
+
color: var(--accordion-content-color);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.Content[data-state="open"] {
|
|
65
|
+
animation: accordion-down var(--accordion-transition-duration)
|
|
66
|
+
var(--accordion-transition-ease);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.Content[data-state="closed"] {
|
|
70
|
+
animation: accordion-up var(--accordion-transition-duration)
|
|
71
|
+
var(--accordion-transition-ease);
|
|
72
|
+
}.ContentInner {
|
|
73
|
+
padding-bottom: var(--accordion-content-padding-bottom);
|
|
74
|
+
}@keyframes accordion-down {
|
|
75
|
+
from {
|
|
76
|
+
height: 0;
|
|
77
|
+
}
|
|
78
|
+
to {
|
|
79
|
+
height: var(--radix-accordion-content-height);
|
|
80
|
+
}
|
|
81
|
+
}@keyframes accordion-up {
|
|
82
|
+
from {
|
|
83
|
+
height: var(--radix-accordion-content-height);
|
|
84
|
+
}
|
|
85
|
+
to {
|
|
86
|
+
height: 0;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Accordion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAKV,MAAM,aAAa,CAAA","sourcesContent":["export {\n Accordion,\n type AccordionProps,\n type AccordionItemProps,\n type AccordionTriggerProps,\n type AccordionContentProps,\n} from \"./Accordion\"\n"]}
|
|
@@ -127,6 +127,29 @@
|
|
|
127
127
|
--separator-color: var(--color-border);
|
|
128
128
|
--separator-thickness: 1px;
|
|
129
129
|
|
|
130
|
+
/* =============================================
|
|
131
|
+
Accordion
|
|
132
|
+
============================================= */
|
|
133
|
+
--accordion-item-divider-color: var(--color-border);
|
|
134
|
+
--accordion-item-divider-width: 1px;
|
|
135
|
+
--accordion-item-disabled-opacity: 0.5;
|
|
136
|
+
--accordion-trigger-color: var(--color-text);
|
|
137
|
+
--accordion-trigger-font-size: var(--font-text-sm-size);
|
|
138
|
+
--accordion-trigger-font-weight: var(--font-weight-semibold);
|
|
139
|
+
--accordion-trigger-line-height: var(--font-text-sm-line-height);
|
|
140
|
+
--accordion-trigger-padding-block: calc(var(--spacing) * 2.5);
|
|
141
|
+
--accordion-trigger-gap: calc(var(--spacing) * 3);
|
|
142
|
+
--accordion-trigger-focus-ring-color: var(--color-ring);
|
|
143
|
+
--accordion-trigger-focus-radius: var(--radius-sm);
|
|
144
|
+
--accordion-icon-color: var(--color-text-secondary);
|
|
145
|
+
--accordion-icon-size: 16px;
|
|
146
|
+
--accordion-content-color: var(--color-text);
|
|
147
|
+
--accordion-content-font-size: var(--font-text-sm-size);
|
|
148
|
+
--accordion-content-line-height: var(--font-text-sm-line-height);
|
|
149
|
+
--accordion-content-padding-bottom: calc(var(--spacing) * 2.5);
|
|
150
|
+
--accordion-transition-duration: var(--transition-duration-basic);
|
|
151
|
+
--accordion-transition-ease: var(--transition-ease-basic);
|
|
152
|
+
|
|
130
153
|
/* =============================================
|
|
131
154
|
Checkbox
|
|
132
155
|
============================================= */
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ComponentProps, type Ref } from "react";
|
|
2
|
+
import { Accordion as RadixAccordion } from "radix-ui";
|
|
3
|
+
export type AccordionProps = ComponentProps<typeof RadixAccordion.Root> & {
|
|
4
|
+
className?: string;
|
|
5
|
+
};
|
|
6
|
+
declare const AccordionRoot: ({ className, ...restProps }: AccordionProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export type AccordionItemProps = ComponentProps<typeof RadixAccordion.Item> & {
|
|
8
|
+
className?: string;
|
|
9
|
+
};
|
|
10
|
+
declare const AccordionItem: ({ className, ...restProps }: AccordionItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export type AccordionTriggerProps = ComponentProps<typeof RadixAccordion.Trigger> & {
|
|
12
|
+
className?: string;
|
|
13
|
+
ref?: Ref<HTMLButtonElement>;
|
|
14
|
+
};
|
|
15
|
+
declare const AccordionTrigger: ({ className, children, ref, ...restProps }: AccordionTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export type AccordionContentProps = ComponentProps<typeof RadixAccordion.Content> & {
|
|
17
|
+
className?: string;
|
|
18
|
+
};
|
|
19
|
+
declare const AccordionContent: ({ className, children, ...restProps }: AccordionContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
type AccordionComponent = typeof AccordionRoot & {
|
|
21
|
+
Item: typeof AccordionItem;
|
|
22
|
+
Trigger: typeof AccordionTrigger;
|
|
23
|
+
Content: typeof AccordionContent;
|
|
24
|
+
};
|
|
25
|
+
export declare const Accordion: AccordionComponent;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Accordion, type AccordionProps, type AccordionItemProps, type AccordionTriggerProps, type AccordionContentProps, } from "./Accordion";
|
|
@@ -23,4 +23,4 @@ export declare const FloatingLabelSelect: import("react").ForwardRefExoticCompon
|
|
|
23
23
|
children?: React.ReactNode;
|
|
24
24
|
className?: string;
|
|
25
25
|
"aria-describedby"?: string;
|
|
26
|
-
} & Omit<import("react").HTMLAttributes<HTMLDivElement>, "
|
|
26
|
+
} & Omit<import("react").HTMLAttributes<HTMLDivElement>, "tabIndex" | "role" | "aria-describedby" | "children"> & import("react").RefAttributes<HTMLDivElement>>;
|