@spark-ui/components 10.9.0 → 10.11.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/CHANGELOG.md +12 -0
- package/dist/accordion/index.d.mts +13 -25
- package/dist/accordion/index.d.ts +13 -25
- package/dist/accordion/index.js +114 -250
- package/dist/accordion/index.js.map +1 -1
- package/dist/accordion/index.mjs +92 -134
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/alert-dialog/index.js +65 -12
- package/dist/alert-dialog/index.js.map +1 -1
- package/dist/alert-dialog/index.mjs +3 -3
- package/dist/avatar/index.js +65 -12
- package/dist/avatar/index.js.map +1 -1
- package/dist/avatar/index.mjs +2 -2
- package/dist/button/index.d.mts +1 -1
- package/dist/button/index.d.ts +1 -1
- package/dist/button/index.js +65 -12
- package/dist/button/index.js.map +1 -1
- package/dist/button/index.mjs +1 -1
- package/dist/carousel/index.js +65 -12
- package/dist/carousel/index.js.map +1 -1
- package/dist/carousel/index.mjs +2 -2
- package/dist/{chunk-7A5MVJB3.mjs → chunk-3PTXYZYN.mjs} +66 -13
- package/dist/chunk-3PTXYZYN.mjs.map +1 -0
- package/dist/{chunk-I7UIKCZK.mjs → chunk-5VKP2RR6.mjs} +2 -2
- package/dist/{chunk-QNYSDG6F.mjs → chunk-MKN2Y3W6.mjs} +2 -2
- package/dist/{chunk-ESSJY557.mjs → chunk-Z45YCYPH.mjs} +2 -2
- package/dist/collapsible/index.d.mts +18 -35
- package/dist/collapsible/index.d.ts +18 -35
- package/dist/collapsible/index.js +47 -78
- package/dist/collapsible/index.js.map +1 -1
- package/dist/collapsible/index.mjs +73 -4
- package/dist/collapsible/index.mjs.map +1 -1
- package/dist/combobox/index.js +65 -12
- package/dist/combobox/index.js.map +1 -1
- package/dist/combobox/index.mjs +3 -3
- package/dist/dialog/index.js +65 -12
- package/dist/dialog/index.js.map +1 -1
- package/dist/dialog/index.mjs +3 -3
- package/dist/drawer/index.js +65 -12
- package/dist/drawer/index.js.map +1 -1
- package/dist/drawer/index.mjs +2 -2
- package/dist/dropdown/index.js +65 -12
- package/dist/dropdown/index.js.map +1 -1
- package/dist/dropdown/index.mjs +3 -3
- package/dist/icon-button/index.js +65 -12
- package/dist/icon-button/index.js.map +1 -1
- package/dist/icon-button/index.mjs +2 -2
- package/dist/pagination/index.js +65 -12
- package/dist/pagination/index.js.map +1 -1
- package/dist/pagination/index.mjs +2 -2
- package/dist/popover/index.js +65 -12
- package/dist/popover/index.js.map +1 -1
- package/dist/popover/index.mjs +3 -3
- package/dist/scrolling-list/index.js +65 -12
- package/dist/scrolling-list/index.js.map +1 -1
- package/dist/scrolling-list/index.mjs +2 -2
- package/dist/snackbar/index.js +65 -12
- package/dist/snackbar/index.js.map +1 -1
- package/dist/snackbar/index.mjs +2 -2
- package/dist/stepper/index.js +65 -12
- package/dist/stepper/index.js.map +1 -1
- package/dist/stepper/index.mjs +2 -2
- package/dist/tabs/index.js +65 -12
- package/dist/tabs/index.js.map +1 -1
- package/dist/tabs/index.mjs +1 -1
- package/package.json +6 -7
- package/dist/chunk-3LEFXZNI.mjs +0 -97
- package/dist/chunk-3LEFXZNI.mjs.map +0 -1
- package/dist/chunk-7A5MVJB3.mjs.map +0 -1
- /package/dist/{chunk-I7UIKCZK.mjs.map → chunk-5VKP2RR6.mjs.map} +0 -0
- /package/dist/{chunk-QNYSDG6F.mjs.map → chunk-MKN2Y3W6.mjs.map} +0 -0
- /package/dist/{chunk-ESSJY557.mjs.map → chunk-Z45YCYPH.mjs.map} +0 -0
package/dist/accordion/index.mjs
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Collapsible
|
|
3
|
-
} from "../chunk-3LEFXZNI.mjs";
|
|
4
1
|
import {
|
|
5
2
|
Icon
|
|
6
3
|
} from "../chunk-UMUMFMFB.mjs";
|
|
@@ -10,48 +7,44 @@ import {
|
|
|
10
7
|
} from "../chunk-6QCEPQ3U.mjs";
|
|
11
8
|
|
|
12
9
|
// src/accordion/Accordion.tsx
|
|
13
|
-
import
|
|
14
|
-
import { mergeProps, normalizeProps, useMachine } from "@zag-js/react";
|
|
10
|
+
import { Accordion as BaseAccordion } from "@base-ui-components/react/accordion";
|
|
15
11
|
import { cx } from "class-variance-authority";
|
|
16
|
-
import { createContext, useContext
|
|
12
|
+
import { createContext, useContext } from "react";
|
|
13
|
+
|
|
14
|
+
// src/accordion/useRenderSlot.tsx
|
|
17
15
|
import { jsx } from "react/jsx-runtime";
|
|
16
|
+
function useRenderSlot(asChild, defaultTag) {
|
|
17
|
+
const Component = asChild ? Slot : defaultTag;
|
|
18
|
+
return asChild ? ({ ...props }) => /* @__PURE__ */ jsx(Component, { ...props }) : void 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// src/accordion/Accordion.tsx
|
|
22
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
18
23
|
var AccordionContext = createContext(null);
|
|
19
24
|
var Accordion = ({
|
|
20
25
|
asChild = false,
|
|
21
26
|
children,
|
|
22
|
-
collapsible = true,
|
|
23
|
-
className,
|
|
24
|
-
defaultValue,
|
|
25
27
|
design = "outlined",
|
|
26
|
-
|
|
28
|
+
hiddenUntilFound = true,
|
|
27
29
|
multiple = false,
|
|
28
|
-
|
|
29
|
-
onValueChange,
|
|
30
|
+
className,
|
|
30
31
|
ref,
|
|
31
32
|
...props
|
|
32
33
|
}) => {
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
value,
|
|
46
|
-
id: useId(),
|
|
47
|
-
onValueChange(details) {
|
|
48
|
-
onValueChange?.(details.value);
|
|
34
|
+
const renderSlot = useRenderSlot(asChild, "div");
|
|
35
|
+
return /* @__PURE__ */ jsx2(AccordionContext.Provider, { value: { design }, children: /* @__PURE__ */ jsx2(
|
|
36
|
+
BaseAccordion.Root,
|
|
37
|
+
{
|
|
38
|
+
"data-spark-component": "accordion",
|
|
39
|
+
ref,
|
|
40
|
+
openMultiple: multiple,
|
|
41
|
+
hiddenUntilFound,
|
|
42
|
+
className: cx("bg-surface h-fit rounded-lg", className),
|
|
43
|
+
render: renderSlot,
|
|
44
|
+
...props,
|
|
45
|
+
children
|
|
49
46
|
}
|
|
50
|
-
});
|
|
51
|
-
const Component = asChild ? Slot : "div";
|
|
52
|
-
const api = accordion.connect(service, normalizeProps);
|
|
53
|
-
const mergedProps = mergeProps(api.getRootProps(), localProps);
|
|
54
|
-
return /* @__PURE__ */ jsx(AccordionContext.Provider, { value: { ...api, design }, children: /* @__PURE__ */ jsx(Component, { "data-spark-component": "accordion", ref, ...mergedProps, children }) });
|
|
47
|
+
) });
|
|
55
48
|
};
|
|
56
49
|
Accordion.displayName = "Accordion";
|
|
57
50
|
var useAccordionContext = () => {
|
|
@@ -63,80 +56,41 @@ var useAccordionContext = () => {
|
|
|
63
56
|
};
|
|
64
57
|
|
|
65
58
|
// src/accordion/AccordionItem.tsx
|
|
66
|
-
import {
|
|
59
|
+
import { Accordion as BaseAccordion2 } from "@base-ui-components/react/accordion";
|
|
67
60
|
import { cx as cx2 } from "class-variance-authority";
|
|
68
|
-
|
|
69
|
-
// src/accordion/AccordionItemContext.tsx
|
|
70
|
-
import {
|
|
71
|
-
createContext as createContext2,
|
|
72
|
-
useContext as useContext2,
|
|
73
|
-
useState
|
|
74
|
-
} from "react";
|
|
75
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
76
|
-
var AccordionItemContext = createContext2(null);
|
|
77
|
-
var AccordionItemProvider = ({
|
|
78
|
-
value: valueProp,
|
|
79
|
-
disabled: disabledProp = false,
|
|
80
|
-
children
|
|
81
|
-
}) => {
|
|
82
|
-
const [value, setValue] = useState(valueProp);
|
|
83
|
-
const [disabled, setDisabled] = useState(disabledProp);
|
|
84
|
-
return /* @__PURE__ */ jsx2(AccordionItemContext.Provider, { value: { value, setValue, disabled, setDisabled }, children });
|
|
85
|
-
};
|
|
86
|
-
var useAccordionItemContext = () => {
|
|
87
|
-
const context = useContext2(AccordionItemContext);
|
|
88
|
-
if (!context) {
|
|
89
|
-
throw Error("useAccordionItemContext must be used within a AccordionItem provider");
|
|
90
|
-
}
|
|
91
|
-
return context;
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
// src/accordion/AccordionItem.tsx
|
|
95
61
|
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
96
62
|
var Item = ({
|
|
97
63
|
asChild = false,
|
|
98
64
|
className,
|
|
99
65
|
children,
|
|
100
|
-
disabled = false,
|
|
101
|
-
value,
|
|
102
66
|
ref,
|
|
103
67
|
...props
|
|
104
68
|
}) => {
|
|
105
|
-
const
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
"not-last:border-b-0",
|
|
110
|
-
{ "border-sm border-outline": accordion2.design === "outlined" },
|
|
111
|
-
className
|
|
112
|
-
),
|
|
113
|
-
asChild,
|
|
114
|
-
...props
|
|
115
|
-
};
|
|
116
|
-
const itemProps = accordion2.getItemProps({ value, ...disabled && { disabled } });
|
|
117
|
-
const mergedProps = mergeProps2(itemProps, localProps);
|
|
118
|
-
const item = accordion2.getItemState({ value });
|
|
119
|
-
const itemContentProps = accordion2.getItemContentProps({ value });
|
|
120
|
-
return /* @__PURE__ */ jsx3(AccordionItemProvider, { value, disabled, children: /* @__PURE__ */ jsx3(
|
|
121
|
-
Collapsible,
|
|
69
|
+
const accordion = useAccordionContext();
|
|
70
|
+
const renderSlot = useRenderSlot(asChild, "div");
|
|
71
|
+
return /* @__PURE__ */ jsx3(
|
|
72
|
+
BaseAccordion2.Item,
|
|
122
73
|
{
|
|
123
74
|
ref,
|
|
124
|
-
open: item.expanded,
|
|
125
75
|
"data-spark-component": "accordion-item",
|
|
126
|
-
|
|
127
|
-
|
|
76
|
+
render: renderSlot,
|
|
77
|
+
className: cx2(
|
|
78
|
+
"relative first:rounded-t-lg last:rounded-b-lg",
|
|
79
|
+
"not-last:border-b-0",
|
|
80
|
+
{ "border-sm border-outline": accordion.design === "outlined" },
|
|
81
|
+
className
|
|
82
|
+
),
|
|
83
|
+
...props,
|
|
128
84
|
children
|
|
129
85
|
}
|
|
130
|
-
)
|
|
86
|
+
);
|
|
131
87
|
};
|
|
132
88
|
Item.displayName = "Accordion.Item";
|
|
133
89
|
|
|
134
90
|
// src/accordion/AccordionItemContent.tsx
|
|
135
|
-
import {
|
|
136
|
-
import { mergeProps as mergeProps3 } from "@zag-js/react";
|
|
91
|
+
import { Accordion as BaseAccordion3 } from "@base-ui-components/react/accordion";
|
|
137
92
|
import { cx as cx3 } from "class-variance-authority";
|
|
138
93
|
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
139
|
-
var splitVisibilityProps = createSplitProps();
|
|
140
94
|
var ItemContent = ({
|
|
141
95
|
asChild = false,
|
|
142
96
|
className,
|
|
@@ -144,20 +98,23 @@ var ItemContent = ({
|
|
|
144
98
|
ref,
|
|
145
99
|
...props
|
|
146
100
|
}) => {
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
101
|
+
const renderSlot = useRenderSlot(asChild, "div");
|
|
102
|
+
return /* @__PURE__ */ jsx4(
|
|
103
|
+
BaseAccordion3.Panel,
|
|
104
|
+
{
|
|
105
|
+
ref,
|
|
106
|
+
"data-spark-component": "accordion-item-content",
|
|
107
|
+
className: cx3(
|
|
108
|
+
"[&>:first-child]:p-lg overflow-hidden",
|
|
109
|
+
"h-[var(--accordion-panel-height)] transition-all duration-200 data-[ending-style]:h-0 data-[starting-style]:h-0",
|
|
110
|
+
"text-body-1 text-on-surface",
|
|
111
|
+
className
|
|
112
|
+
),
|
|
113
|
+
render: renderSlot,
|
|
114
|
+
...props,
|
|
115
|
+
children
|
|
116
|
+
}
|
|
117
|
+
);
|
|
161
118
|
};
|
|
162
119
|
ItemContent.displayName = "Accordion.ItemContent";
|
|
163
120
|
|
|
@@ -184,8 +141,8 @@ var ItemHeader = ({
|
|
|
184
141
|
ItemHeader.displayName = "Accordion.ItemHeader";
|
|
185
142
|
|
|
186
143
|
// src/accordion/AccordionItemTrigger.tsx
|
|
144
|
+
import { Accordion as BaseAccordion4 } from "@base-ui-components/react/accordion";
|
|
187
145
|
import { ArrowHorizontalDown } from "@spark-ui/icons/ArrowHorizontalDown";
|
|
188
|
-
import { mergeProps as mergeProps4 } from "@zag-js/react";
|
|
189
146
|
import { cx as cx5 } from "class-variance-authority";
|
|
190
147
|
import { jsx as jsx6, jsxs } from "react/jsx-runtime";
|
|
191
148
|
var ItemTrigger = ({
|
|
@@ -195,39 +152,40 @@ var ItemTrigger = ({
|
|
|
195
152
|
ref,
|
|
196
153
|
...props
|
|
197
154
|
}) => {
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
155
|
+
const renderSlot = useRenderSlot(asChild, "button");
|
|
156
|
+
return /* @__PURE__ */ jsxs(
|
|
157
|
+
BaseAccordion4.Trigger,
|
|
158
|
+
{
|
|
159
|
+
ref,
|
|
160
|
+
"data-spark-component": "accordion-item-trigger",
|
|
161
|
+
render: renderSlot,
|
|
162
|
+
className: cx5(
|
|
163
|
+
"group",
|
|
164
|
+
"gap-lg min-h-sz-48 relative flex items-center justify-between",
|
|
165
|
+
"px-lg py-md text-headline-2 text-on-surface data-[panel-open]:rounded-b-0 w-full rounded-[inherit] text-left",
|
|
166
|
+
"hover:enabled:bg-surface-hovered focus:bg-surface-hovered",
|
|
167
|
+
"focus-visible:u-outline focus-visible:z-raised focus-visible:outline-hidden",
|
|
168
|
+
"disabled:opacity-dim-3 cursor-pointer disabled:cursor-not-allowed",
|
|
169
|
+
className
|
|
170
|
+
),
|
|
171
|
+
...props,
|
|
172
|
+
children: [
|
|
173
|
+
/* @__PURE__ */ jsx6("div", { className: "gap-lg flex grow items-center", children }),
|
|
174
|
+
/* @__PURE__ */ jsx6(
|
|
175
|
+
Icon,
|
|
176
|
+
{
|
|
177
|
+
intent: "neutral",
|
|
178
|
+
className: cx5(
|
|
179
|
+
"shrink-0 rotate-0 duration-100 ease-in motion-reduce:transition-none",
|
|
180
|
+
"group-data-[panel-open]:rotate-180"
|
|
181
|
+
),
|
|
182
|
+
size: "sm",
|
|
183
|
+
children: /* @__PURE__ */ jsx6(ArrowHorizontalDown, {})
|
|
184
|
+
}
|
|
185
|
+
)
|
|
186
|
+
]
|
|
187
|
+
}
|
|
215
188
|
);
|
|
216
|
-
const isOpen = !!mergedProps["aria-expanded"];
|
|
217
|
-
return /* @__PURE__ */ jsxs(Component, { ref, "data-spark-component": "accordion-item-trigger", ...mergedProps, children: [
|
|
218
|
-
/* @__PURE__ */ jsx6("div", { className: "gap-lg flex grow items-center", children }),
|
|
219
|
-
/* @__PURE__ */ jsx6(
|
|
220
|
-
Icon,
|
|
221
|
-
{
|
|
222
|
-
intent: "neutral",
|
|
223
|
-
className: cx5("shrink-0 rotate-0 duration-100 ease-in motion-reduce:transition-none", {
|
|
224
|
-
"rotate-180": isOpen
|
|
225
|
-
}),
|
|
226
|
-
size: "sm",
|
|
227
|
-
children: /* @__PURE__ */ jsx6(ArrowHorizontalDown, {})
|
|
228
|
-
}
|
|
229
|
-
)
|
|
230
|
-
] });
|
|
231
189
|
};
|
|
232
190
|
ItemTrigger.displayName = "Accordion.ItemTrigger";
|
|
233
191
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/accordion/Accordion.tsx","../../src/accordion/AccordionItem.tsx","../../src/accordion/AccordionItemContext.tsx","../../src/accordion/AccordionItemContent.tsx","../../src/accordion/AccordionItemHeader.tsx","../../src/accordion/AccordionItemTrigger.tsx","../../src/accordion/index.ts"],"sourcesContent":["import * as accordion from '@zag-js/accordion'\nimport { mergeProps, normalizeProps, type PropTypes, useMachine } from '@zag-js/react'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentPropsWithoutRef, createContext, Ref, useContext, useId } from 'react'\n\nimport { Slot } from '../slot'\n\ntype ExtentedZagInterface = Omit<\n accordion.Props,\n 'id' | 'ids' | 'orientation' | 'getRootNode' | 'onValueChange'\n> &\n Omit<ComponentPropsWithoutRef<'div'>, 'defaultChecked'>\n\nexport interface AccordionProps extends ExtentedZagInterface {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n /**\n * Whether an accordion item can be closed after it has been expanded.\n */\n collapsible?: boolean\n defaultValue?: accordion.Props['value']\n /**\n * Whether the accordion items are disabled\n */\n disabled?: boolean\n /**\n * Whether multiple accordion items can be expanded at the same time.\n */\n multiple?: boolean\n /**\n * The `value` of the accordion items that are currently being expanded.\n */\n value?: string[]\n /**\n * The callback fired when the state of expanded/collapsed accordion items changes.\n */\n onValueChange?: (value: string[]) => void\n design?: 'filled' | 'outlined'\n ref?: Ref<HTMLDivElement>\n}\n\nconst AccordionContext = createContext<\n | (accordion.Api<PropTypes> & {\n design: 'filled' | 'outlined'\n })\n | null\n>(null)\n\nexport const Accordion = ({\n asChild = false,\n children,\n collapsible = true,\n className,\n defaultValue,\n design = 'outlined',\n disabled = false,\n multiple = false,\n value,\n onValueChange,\n ref,\n ...props\n}: AccordionProps) => {\n const [machineProps, localProps] = accordion.splitProps({\n children,\n multiple,\n collapsible,\n value,\n disabled,\n className: cx('bg-surface rounded-lg h-fit', className),\n ...props,\n })\n\n const service = useMachine(accordion.machine, {\n ...machineProps,\n defaultValue,\n value,\n id: useId(),\n onValueChange(details) {\n onValueChange?.(details.value)\n },\n })\n\n const Component = asChild ? Slot : 'div'\n const api = accordion.connect(service, normalizeProps)\n\n const mergedProps = mergeProps(api.getRootProps(), localProps)\n\n return (\n <AccordionContext.Provider value={{ ...api, design }}>\n <Component data-spark-component=\"accordion\" ref={ref} {...mergedProps}>\n {children}\n </Component>\n </AccordionContext.Provider>\n )\n}\n\nAccordion.displayName = 'Accordion'\n\nexport const useAccordionContext = () => {\n const context = useContext(AccordionContext)\n\n if (!context) {\n throw Error('useAccordionContext must be used within a Accordion provider')\n }\n\n return context\n}\n","import { mergeProps } from '@zag-js/react'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Collapsible } from '../collapsible'\nimport { useAccordionContext } from './Accordion'\nimport { AccordionItemProvider } from './AccordionItemContext'\n\nexport interface AccordionItemProps extends ComponentPropsWithoutRef<'div'> {\n value: string\n asChild?: boolean\n disabled?: boolean\n ref?: Ref<HTMLDivElement>\n}\n\nexport const Item = ({\n asChild = false,\n className,\n children,\n disabled = false,\n value,\n ref,\n ...props\n}: AccordionItemProps) => {\n const accordion = useAccordionContext()\n\n const localProps = {\n className: cx(\n 'relative first:rounded-t-lg last:rounded-b-lg',\n 'not-last:border-b-0',\n { 'border-sm border-outline': accordion.design === 'outlined' },\n className\n ),\n asChild,\n ...props,\n }\n\n const itemProps = accordion.getItemProps({ value, ...(disabled && { disabled }) })\n const mergedProps = mergeProps(itemProps, localProps)\n\n const item = accordion.getItemState({ value })\n const itemContentProps = accordion.getItemContentProps({ value })\n\n return (\n <AccordionItemProvider value={value} disabled={disabled}>\n <Collapsible\n ref={ref}\n open={item.expanded}\n data-spark-component=\"accordion-item\"\n ids={{ content: itemContentProps.id }}\n {...mergedProps}\n >\n {children}\n </Collapsible>\n </AccordionItemProvider>\n )\n}\n\nItem.displayName = 'Accordion.Item'\n","import {\n createContext,\n Dispatch,\n type PropsWithChildren,\n SetStateAction,\n useContext,\n useState,\n} from 'react'\n\ninterface AccordionItemContextState {\n value: string\n setValue: Dispatch<SetStateAction<string>>\n disabled: boolean\n setDisabled: Dispatch<SetStateAction<boolean>>\n}\n\nconst AccordionItemContext = createContext<AccordionItemContextState | null>(null)\n\nexport const AccordionItemProvider = ({\n value: valueProp,\n disabled: disabledProp = false,\n children,\n}: PropsWithChildren<{ value: string; disabled?: boolean }>) => {\n const [value, setValue] = useState<string>(valueProp)\n const [disabled, setDisabled] = useState<boolean>(disabledProp)\n\n return (\n <AccordionItemContext.Provider value={{ value, setValue, disabled, setDisabled }}>\n {children}\n </AccordionItemContext.Provider>\n )\n}\n\nexport const useAccordionItemContext = () => {\n const context = useContext(AccordionItemContext)\n\n if (!context) {\n throw Error('useAccordionItemContext must be used within a AccordionItem provider')\n }\n\n return context\n}\n","import { createSplitProps } from '@spark-ui/internal-utils'\nimport { mergeProps } from '@zag-js/react'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Collapsible } from '../collapsible'\nimport { useAccordionContext } from './Accordion'\nimport { useAccordionItemContext } from './AccordionItemContext'\n\nexport interface AccordionItemContentProps extends ComponentPropsWithoutRef<'div'> {\n asChild?: boolean\n ref?: Ref<HTMLDivElement>\n}\n\nconst splitVisibilityProps = createSplitProps<{\n hidden?: boolean\n 'data-state'?: string\n}>()\n\nexport const ItemContent = ({\n asChild = false,\n className,\n children,\n ref,\n ...props\n}: AccordionItemContentProps) => {\n const accordion = useAccordionContext()\n const accordionItem = useAccordionItemContext()\n\n const localProps = {\n className: cx('[&>:first-child]:p-lg', 'text-body-1 text-on-surface', className),\n asChild,\n ...props,\n }\n const contentProps = accordion.getItemContentProps({\n value: accordionItem.value,\n ...(accordionItem.disabled && { disabled: accordionItem.disabled }),\n })\n\n const [, itemContentProps] = splitVisibilityProps(contentProps, ['hidden', 'data-state'])\n\n const mergedProps = mergeProps(itemContentProps, localProps)\n\n return (\n <Collapsible.Content ref={ref} data-spark-component=\"accordion-item-content\" {...mergedProps}>\n {children}\n </Collapsible.Content>\n )\n}\n\nItemContent.displayName = 'Accordion.ItemContent'\n","import { cx } from 'class-variance-authority'\nimport { type ComponentProps, Ref } from 'react'\n\nimport { Slot } from '../slot'\n\nexport interface AccordionItemHeaderProps extends ComponentProps<'h3'> {\n asChild?: boolean\n ref?: Ref<HTMLHeadingElement>\n}\n\nexport const ItemHeader = ({\n asChild = false,\n children,\n className,\n ref,\n}: AccordionItemHeaderProps) => {\n const Component = asChild ? Slot : 'h3'\n\n return (\n <Component\n ref={ref}\n data-spark-component=\"accordion-item-header\"\n className={cx('rounded-[inherit]', className)}\n >\n {children}\n </Component>\n )\n}\n\nItemHeader.displayName = 'Accordion.ItemHeader'\n","import { ArrowHorizontalDown } from '@spark-ui/icons/ArrowHorizontalDown'\nimport { mergeProps } from '@zag-js/react'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Icon } from '../icon'\nimport { Slot } from '../slot'\nimport { useAccordionContext } from './Accordion'\nimport { useAccordionItemContext } from './AccordionItemContext'\n\nexport interface AccordionItemTriggerProps extends ComponentPropsWithoutRef<'button'> {\n asChild?: boolean\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const ItemTrigger = ({\n asChild = false,\n children,\n className,\n ref,\n ...props\n}: AccordionItemTriggerProps) => {\n const { getItemTriggerProps } = useAccordionContext()\n const { value, disabled } = useAccordionItemContext()\n\n const Component = asChild ? Slot : 'button'\n\n const localProps = {\n ...props,\n className: cx(\n 'relative flex gap-lg justify-between items-center min-h-sz-48',\n 'w-full px-lg py-md text-left text-headline-2 text-on-surface rounded-[inherit] data-[state=open]:rounded-b-0',\n 'hover:enabled:bg-surface-hovered focus:bg-surface-hovered',\n 'focus-visible:u-outline focus-visible:outline-hidden focus-visible:z-raised',\n 'disabled:opacity-dim-3 cursor-pointer disabled:cursor-not-allowed',\n className\n ),\n }\n\n const mergedProps = mergeProps(\n getItemTriggerProps({ value, ...(disabled && { disabled }) }),\n localProps\n )\n\n const isOpen = !!mergedProps['aria-expanded']\n\n return (\n <Component ref={ref} data-spark-component=\"accordion-item-trigger\" {...mergedProps}>\n <div className=\"gap-lg flex grow items-center\">{children}</div>\n <Icon\n intent=\"neutral\"\n className={cx('shrink-0 rotate-0 duration-100 ease-in motion-reduce:transition-none', {\n 'rotate-180': isOpen,\n })}\n size=\"sm\"\n >\n <ArrowHorizontalDown />\n </Icon>\n </Component>\n )\n}\n\nItemTrigger.displayName = 'Accordion.ItemTrigger'\n","import { Accordion as Root } from './Accordion'\nimport { Item } from './AccordionItem'\nimport { ItemContent } from './AccordionItemContent'\nimport { ItemHeader } from './AccordionItemHeader'\nimport { ItemTrigger } from './AccordionItemTrigger'\n\nexport const Accordion: typeof Root & {\n Item: typeof Item\n ItemHeader: typeof ItemHeader\n ItemTrigger: typeof ItemTrigger\n ItemContent: typeof ItemContent\n} = Object.assign(Root, {\n Item,\n ItemHeader,\n ItemTrigger,\n ItemContent,\n})\n\nAccordion.displayName = 'Accordion'\nItem.displayName = 'Item'\nItemHeader.displayName = 'ItemHeader'\nItemTrigger.displayName = 'Accordion.Trigger'\nItemContent.displayName = 'Accordion.Content'\n\nexport { type AccordionProps } from './Accordion'\nexport { type AccordionItemHeaderProps } from './AccordionItemHeader'\nexport { type AccordionItemContentProps } from './AccordionItemContent'\nexport { type AccordionItemTriggerProps } from './AccordionItemTrigger'\n"],"mappings":";;;;;;;;;;;;AAAA,YAAY,eAAe;AAC3B,SAAS,YAAY,gBAAgC,kBAAkB;AACvE,SAAS,UAAU;AACnB,SAAwC,eAAoB,YAAY,aAAa;AAwF/E;AAhDN,IAAM,mBAAmB,cAKvB,IAAI;AAEC,IAAM,YAAY,CAAC;AAAA,EACxB,UAAU;AAAA,EACV;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAsB;AACpB,QAAM,CAAC,cAAc,UAAU,IAAc,qBAAW;AAAA,IACtD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,GAAG,+BAA+B,SAAS;AAAA,IACtD,GAAG;AAAA,EACL,CAAC;AAED,QAAM,UAAU,WAAqB,mBAAS;AAAA,IAC5C,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA,IAAI,MAAM;AAAA,IACV,cAAc,SAAS;AACrB,sBAAgB,QAAQ,KAAK;AAAA,IAC/B;AAAA,EACF,CAAC;AAED,QAAM,YAAY,UAAU,OAAO;AACnC,QAAM,MAAgB,kBAAQ,SAAS,cAAc;AAErD,QAAM,cAAc,WAAW,IAAI,aAAa,GAAG,UAAU;AAE7D,SACE,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,EAAE,GAAG,KAAK,OAAO,GACjD,8BAAC,aAAU,wBAAqB,aAAY,KAAW,GAAG,aACvD,UACH,GACF;AAEJ;AAEA,UAAU,cAAc;AAEjB,IAAM,sBAAsB,MAAM;AACvC,QAAM,UAAU,WAAW,gBAAgB;AAE3C,MAAI,CAAC,SAAS;AACZ,UAAM,MAAM,8DAA8D;AAAA,EAC5E;AAEA,SAAO;AACT;;;AC5GA,SAAS,cAAAA,mBAAkB;AAC3B,SAAS,MAAAC,WAAU;;;ACDnB;AAAA,EACE,iBAAAC;AAAA,EAIA,cAAAC;AAAA,EACA;AAAA,OACK;AAoBH,gBAAAC,YAAA;AAXJ,IAAM,uBAAuBF,eAAgD,IAAI;AAE1E,IAAM,wBAAwB,CAAC;AAAA,EACpC,OAAO;AAAA,EACP,UAAU,eAAe;AAAA,EACzB;AACF,MAAgE;AAC9D,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,SAAS;AACpD,QAAM,CAAC,UAAU,WAAW,IAAI,SAAkB,YAAY;AAE9D,SACE,gBAAAE,KAAC,qBAAqB,UAArB,EAA8B,OAAO,EAAE,OAAO,UAAU,UAAU,YAAY,GAC5E,UACH;AAEJ;AAEO,IAAM,0BAA0B,MAAM;AAC3C,QAAM,UAAUD,YAAW,oBAAoB;AAE/C,MAAI,CAAC,SAAS;AACZ,UAAM,MAAM,sEAAsE;AAAA,EACpF;AAEA,SAAO;AACT;;;ADIM,gBAAAE,YAAA;AA9BC,IAAM,OAAO,CAAC;AAAA,EACnB,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA0B;AACxB,QAAMC,aAAY,oBAAoB;AAEtC,QAAM,aAAa;AAAA,IACjB,WAAWC;AAAA,MACT;AAAA,MACA;AAAA,MACA,EAAE,4BAA4BD,WAAU,WAAW,WAAW;AAAA,MAC9D;AAAA,IACF;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AAEA,QAAM,YAAYA,WAAU,aAAa,EAAE,OAAO,GAAI,YAAY,EAAE,SAAS,EAAG,CAAC;AACjF,QAAM,cAAcE,YAAW,WAAW,UAAU;AAEpD,QAAM,OAAOF,WAAU,aAAa,EAAE,MAAM,CAAC;AAC7C,QAAM,mBAAmBA,WAAU,oBAAoB,EAAE,MAAM,CAAC;AAEhE,SACE,gBAAAD,KAAC,yBAAsB,OAAc,UACnC,0BAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,MAAM,KAAK;AAAA,MACX,wBAAqB;AAAA,MACrB,KAAK,EAAE,SAAS,iBAAiB,GAAG;AAAA,MACnC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH,GACF;AAEJ;AAEA,KAAK,cAAc;;;AE1DnB,SAAS,wBAAwB;AACjC,SAAS,cAAAI,mBAAkB;AAC3B,SAAS,MAAAC,WAAU;AA0Cf,gBAAAC,YAAA;AA9BJ,IAAM,uBAAuB,iBAG1B;AAEI,IAAM,cAAc,CAAC;AAAA,EAC1B,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAiC;AAC/B,QAAMC,aAAY,oBAAoB;AACtC,QAAM,gBAAgB,wBAAwB;AAE9C,QAAM,aAAa;AAAA,IACjB,WAAWC,IAAG,yBAAyB,+BAA+B,SAAS;AAAA,IAC/E;AAAA,IACA,GAAG;AAAA,EACL;AACA,QAAM,eAAeD,WAAU,oBAAoB;AAAA,IACjD,OAAO,cAAc;AAAA,IACrB,GAAI,cAAc,YAAY,EAAE,UAAU,cAAc,SAAS;AAAA,EACnE,CAAC;AAED,QAAM,CAAC,EAAE,gBAAgB,IAAI,qBAAqB,cAAc,CAAC,UAAU,YAAY,CAAC;AAExF,QAAM,cAAcE,YAAW,kBAAkB,UAAU;AAE3D,SACE,gBAAAH,KAAC,YAAY,SAAZ,EAAoB,KAAU,wBAAqB,0BAA0B,GAAG,aAC9E,UACH;AAEJ;AAEA,YAAY,cAAc;;;AClD1B,SAAS,MAAAI,WAAU;AAmBf,gBAAAC,YAAA;AATG,IAAM,aAAa,CAAC;AAAA,EACzB,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AACF,MAAgC;AAC9B,QAAM,YAAY,UAAU,OAAO;AAEnC,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,wBAAqB;AAAA,MACrB,WAAWC,IAAG,qBAAqB,SAAS;AAAA,MAE3C;AAAA;AAAA,EACH;AAEJ;AAEA,WAAW,cAAc;;;AC7BzB,SAAS,2BAA2B;AACpC,SAAS,cAAAC,mBAAkB;AAC3B,SAAS,MAAAC,WAAU;AA6Cf,SACE,OAAAC,MADF;AAhCG,IAAM,cAAc,CAAC;AAAA,EAC1B,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAiC;AAC/B,QAAM,EAAE,oBAAoB,IAAI,oBAAoB;AACpD,QAAM,EAAE,OAAO,SAAS,IAAI,wBAAwB;AAEpD,QAAM,YAAY,UAAU,OAAO;AAEnC,QAAM,aAAa;AAAA,IACjB,GAAG;AAAA,IACH,WAAWC;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,cAAcC;AAAA,IAClB,oBAAoB,EAAE,OAAO,GAAI,YAAY,EAAE,SAAS,EAAG,CAAC;AAAA,IAC5D;AAAA,EACF;AAEA,QAAM,SAAS,CAAC,CAAC,YAAY,eAAe;AAE5C,SACE,qBAAC,aAAU,KAAU,wBAAqB,0BAA0B,GAAG,aACrE;AAAA,oBAAAF,KAAC,SAAI,WAAU,iCAAiC,UAAS;AAAA,IACzD,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,QAAO;AAAA,QACP,WAAWC,IAAG,wEAAwE;AAAA,UACpF,cAAc;AAAA,QAChB,CAAC;AAAA,QACD,MAAK;AAAA,QAEL,0BAAAD,KAAC,uBAAoB;AAAA;AAAA,IACvB;AAAA,KACF;AAEJ;AAEA,YAAY,cAAc;;;ACxDnB,IAAMG,aAKT,OAAO,OAAO,WAAM;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEDA,WAAU,cAAc;AACxB,KAAK,cAAc;AACnB,WAAW,cAAc;AACzB,YAAY,cAAc;AAC1B,YAAY,cAAc;","names":["mergeProps","cx","createContext","useContext","jsx","jsx","accordion","cx","mergeProps","mergeProps","cx","jsx","accordion","cx","mergeProps","cx","jsx","cx","mergeProps","cx","jsx","cx","mergeProps","Accordion"]}
|
|
1
|
+
{"version":3,"sources":["../../src/accordion/Accordion.tsx","../../src/accordion/useRenderSlot.tsx","../../src/accordion/AccordionItem.tsx","../../src/accordion/AccordionItemContent.tsx","../../src/accordion/AccordionItemHeader.tsx","../../src/accordion/AccordionItemTrigger.tsx","../../src/accordion/index.ts"],"sourcesContent":["import { Accordion as BaseAccordion } from '@base-ui-components/react/accordion'\nimport { cx } from 'class-variance-authority'\nimport { ComponentProps, createContext, Ref, useContext } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\ntype ExtentedZagInterface = Omit<\n ComponentProps<typeof BaseAccordion.Root>,\n 'openMultiple' | 'render'\n>\n\nexport interface AccordionProps extends ExtentedZagInterface {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n /**\n * Whether the accordion items are disabled\n */\n disabled?: boolean\n /**\n * Whether multiple items can be open at the same time.\n */\n multiple?: boolean\n design?: 'filled' | 'outlined'\n ref?: Ref<HTMLDivElement>\n}\n\nconst AccordionContext = createContext<{\n design: 'filled' | 'outlined'\n} | null>(null)\n\nexport const Accordion = ({\n asChild = false,\n children,\n design = 'outlined',\n hiddenUntilFound = true,\n multiple = false,\n className,\n ref,\n ...props\n}: AccordionProps) => {\n const renderSlot = useRenderSlot(asChild, 'div')\n\n return (\n <AccordionContext.Provider value={{ design }}>\n <BaseAccordion.Root\n data-spark-component=\"accordion\"\n ref={ref}\n openMultiple={multiple}\n hiddenUntilFound={hiddenUntilFound}\n className={cx('bg-surface h-fit rounded-lg', className)}\n render={renderSlot}\n {...props}\n >\n {children}\n </BaseAccordion.Root>\n </AccordionContext.Provider>\n )\n}\n\nAccordion.displayName = 'Accordion'\n\nexport const useAccordionContext = () => {\n const context = useContext(AccordionContext)\n\n if (!context) {\n throw Error('useAccordionContext must be used within a Accordion provider')\n }\n\n return context\n}\n","import { Slot } from '../slot'\n\nexport function useRenderSlot(asChild: boolean, defaultTag: string) {\n const Component = asChild ? Slot : defaultTag\n\n return asChild ? ({ ...props }) => <Component {...props} /> : undefined\n}\n","import { Accordion as BaseAccordion } from '@base-ui-components/react/accordion'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentProps, Ref } from 'react'\n\nimport { useAccordionContext } from './Accordion'\nimport { useRenderSlot } from './useRenderSlot'\n\ntype ExtentedZagInterface = Omit<ComponentProps<typeof BaseAccordion.Item>, 'render'>\n\nexport interface AccordionItemProps extends ExtentedZagInterface {\n asChild?: boolean\n ref?: Ref<HTMLDivElement>\n}\n\nexport const Item = ({\n asChild = false,\n className,\n children,\n ref,\n ...props\n}: AccordionItemProps) => {\n const accordion = useAccordionContext()\n\n const renderSlot = useRenderSlot(asChild, 'div')\n\n return (\n <BaseAccordion.Item\n ref={ref}\n data-spark-component=\"accordion-item\"\n render={renderSlot}\n className={cx(\n 'relative first:rounded-t-lg last:rounded-b-lg',\n 'not-last:border-b-0',\n { 'border-sm border-outline': accordion.design === 'outlined' },\n className\n )}\n {...props}\n >\n {children}\n </BaseAccordion.Item>\n )\n}\n\nItem.displayName = 'Accordion.Item'\n","import { Accordion as BaseAccordion } from '@base-ui-components/react/accordion'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentProps, Ref } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\ntype ExtentedZagInterface = Omit<ComponentProps<typeof BaseAccordion.Panel>, 'render'>\n\nexport interface AccordionItemContentProps extends ExtentedZagInterface {\n asChild?: boolean\n ref?: Ref<HTMLDivElement>\n}\n\nexport const ItemContent = ({\n asChild = false,\n className,\n children,\n ref,\n ...props\n}: AccordionItemContentProps) => {\n const renderSlot = useRenderSlot(asChild, 'div')\n\n return (\n <BaseAccordion.Panel\n ref={ref}\n data-spark-component=\"accordion-item-content\"\n className={cx(\n '[&>:first-child]:p-lg overflow-hidden',\n 'h-[var(--accordion-panel-height)] transition-all duration-200 data-[ending-style]:h-0 data-[starting-style]:h-0',\n 'text-body-1 text-on-surface',\n className\n )}\n render={renderSlot}\n {...props}\n >\n {children}\n </BaseAccordion.Panel>\n )\n}\n\nItemContent.displayName = 'Accordion.ItemContent'\n","import { cx } from 'class-variance-authority'\nimport { type ComponentProps, Ref } from 'react'\n\nimport { Slot } from '../slot'\n\nexport interface AccordionItemHeaderProps extends ComponentProps<'h3'> {\n asChild?: boolean\n ref?: Ref<HTMLHeadingElement>\n}\n\nexport const ItemHeader = ({\n asChild = false,\n children,\n className,\n ref,\n}: AccordionItemHeaderProps) => {\n const Component = asChild ? Slot : 'h3'\n\n return (\n <Component\n ref={ref}\n data-spark-component=\"accordion-item-header\"\n className={cx('rounded-[inherit]', className)}\n >\n {children}\n </Component>\n )\n}\n\nItemHeader.displayName = 'Accordion.ItemHeader'\n","import { Accordion as BaseAccordion } from '@base-ui-components/react/accordion'\nimport { ArrowHorizontalDown } from '@spark-ui/icons/ArrowHorizontalDown'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentProps, Ref } from 'react'\n\nimport { Icon } from '../icon'\nimport { useRenderSlot } from './useRenderSlot'\n\ntype ExtentedZagInterface = Omit<ComponentProps<typeof BaseAccordion.Trigger>, 'render'>\n\nexport interface AccordionItemTriggerProps extends ExtentedZagInterface {\n asChild?: boolean\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const ItemTrigger = ({\n asChild = false,\n children,\n className,\n ref,\n ...props\n}: AccordionItemTriggerProps) => {\n const renderSlot = useRenderSlot(asChild, 'button')\n\n return (\n <BaseAccordion.Trigger\n ref={ref}\n data-spark-component=\"accordion-item-trigger\"\n render={renderSlot}\n className={cx(\n 'group',\n 'gap-lg min-h-sz-48 relative flex items-center justify-between',\n 'px-lg py-md text-headline-2 text-on-surface data-[panel-open]:rounded-b-0 w-full rounded-[inherit] text-left',\n 'hover:enabled:bg-surface-hovered focus:bg-surface-hovered',\n 'focus-visible:u-outline focus-visible:z-raised focus-visible:outline-hidden',\n 'disabled:opacity-dim-3 cursor-pointer disabled:cursor-not-allowed',\n className\n )}\n {...props}\n >\n <div className=\"gap-lg flex grow items-center\">{children}</div>\n <Icon\n intent=\"neutral\"\n className={cx(\n 'shrink-0 rotate-0 duration-100 ease-in motion-reduce:transition-none',\n 'group-data-[panel-open]:rotate-180'\n )}\n size=\"sm\"\n >\n <ArrowHorizontalDown />\n </Icon>\n </BaseAccordion.Trigger>\n )\n}\n\nItemTrigger.displayName = 'Accordion.ItemTrigger'\n","import { Accordion as Root } from './Accordion'\nimport { Item } from './AccordionItem'\nimport { ItemContent } from './AccordionItemContent'\nimport { ItemHeader } from './AccordionItemHeader'\nimport { ItemTrigger } from './AccordionItemTrigger'\n\nexport const Accordion: typeof Root & {\n Item: typeof Item\n ItemHeader: typeof ItemHeader\n ItemTrigger: typeof ItemTrigger\n ItemContent: typeof ItemContent\n} = Object.assign(Root, {\n Item,\n ItemHeader,\n ItemTrigger,\n ItemContent,\n})\n\nAccordion.displayName = 'Accordion'\nItem.displayName = 'Item'\nItemHeader.displayName = 'ItemHeader'\nItemTrigger.displayName = 'Accordion.Trigger'\nItemContent.displayName = 'Accordion.Content'\n\nexport { type AccordionProps } from './Accordion'\nexport { type AccordionItemHeaderProps } from './AccordionItemHeader'\nexport { type AccordionItemContentProps } from './AccordionItemContent'\nexport { type AccordionItemTriggerProps } from './AccordionItemTrigger'\n"],"mappings":"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","names":["jsx","BaseAccordion","cx","jsx","BaseAccordion","cx","BaseAccordion","cx","jsx","BaseAccordion","cx","cx","jsx","cx","BaseAccordion","cx","jsx","BaseAccordion","cx","Accordion"]}
|
|
@@ -436,6 +436,17 @@ var filledVariants = [
|
|
|
436
436
|
"enabled:active:bg-surface-hovered",
|
|
437
437
|
"focus-visible:bg-surface-hovered"
|
|
438
438
|
])
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
intent: "surfaceInverse",
|
|
442
|
+
design: "filled",
|
|
443
|
+
class: (0, import_internal_utils3.tw)([
|
|
444
|
+
"bg-surface-inverse",
|
|
445
|
+
"text-on-surface-inverse",
|
|
446
|
+
"hover:bg-surface-inverse-hovered",
|
|
447
|
+
"enabled:active:bg-surface-inverse-hovered",
|
|
448
|
+
"focus-visible:bg-surface-inverse-hovered"
|
|
449
|
+
])
|
|
439
450
|
}
|
|
440
451
|
];
|
|
441
452
|
|
|
@@ -541,6 +552,16 @@ var ghostVariants = [
|
|
|
541
552
|
"enabled:active:bg-surface/dim-5",
|
|
542
553
|
"focus-visible:bg-surface/dim-5"
|
|
543
554
|
])
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
intent: "surfaceInverse",
|
|
558
|
+
design: "ghost",
|
|
559
|
+
class: (0, import_internal_utils4.tw)([
|
|
560
|
+
"text-surface-inverse",
|
|
561
|
+
"hover:bg-surface-inverse/dim-5",
|
|
562
|
+
"enabled:active:bg-surface-inverse/dim-5",
|
|
563
|
+
"focus-visible:bg-surface-inverse/dim-5"
|
|
564
|
+
])
|
|
544
565
|
}
|
|
545
566
|
];
|
|
546
567
|
|
|
@@ -646,6 +667,16 @@ var outlinedVariants = [
|
|
|
646
667
|
"focus-visible:bg-surface/dim-5",
|
|
647
668
|
"text-surface"
|
|
648
669
|
])
|
|
670
|
+
},
|
|
671
|
+
{
|
|
672
|
+
intent: "surfaceInverse",
|
|
673
|
+
design: "outlined",
|
|
674
|
+
class: (0, import_internal_utils5.tw)([
|
|
675
|
+
"hover:bg-surface-inverse/dim-5",
|
|
676
|
+
"enabled:active:bg-surface-inverse/dim-5",
|
|
677
|
+
"focus-visible:bg-surface-inverse/dim-5",
|
|
678
|
+
"text-surface-inverse"
|
|
679
|
+
])
|
|
649
680
|
}
|
|
650
681
|
];
|
|
651
682
|
|
|
@@ -761,6 +792,17 @@ var tintedVariants = [
|
|
|
761
792
|
"enabled:active:bg-surface-hovered",
|
|
762
793
|
"focus-visible:bg-surface-hovered"
|
|
763
794
|
])
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
intent: "surfaceInverse",
|
|
798
|
+
design: "tinted",
|
|
799
|
+
class: (0, import_internal_utils6.tw)([
|
|
800
|
+
"bg-surface-inverse",
|
|
801
|
+
"text-on-surface-inverse",
|
|
802
|
+
"hover:bg-surface-inverse-hovered",
|
|
803
|
+
"enabled:active:bg-surface-inverse-hovered",
|
|
804
|
+
"focus-visible:bg-surface-inverse-hovered"
|
|
805
|
+
])
|
|
764
806
|
}
|
|
765
807
|
];
|
|
766
808
|
|
|
@@ -771,7 +813,7 @@ var contrastVariants = [
|
|
|
771
813
|
intent: "main",
|
|
772
814
|
design: "contrast",
|
|
773
815
|
class: (0, import_internal_utils7.tw)([
|
|
774
|
-
"text-main",
|
|
816
|
+
"text-main bg-surface",
|
|
775
817
|
"hover:bg-main-container-hovered",
|
|
776
818
|
"enabled:active:bg-main-container-hovered",
|
|
777
819
|
"focus-visible:bg-main-container-hovered"
|
|
@@ -781,7 +823,7 @@ var contrastVariants = [
|
|
|
781
823
|
intent: "support",
|
|
782
824
|
design: "contrast",
|
|
783
825
|
class: (0, import_internal_utils7.tw)([
|
|
784
|
-
"text-support",
|
|
826
|
+
"text-support bg-surface",
|
|
785
827
|
"hover:bg-support-container-hovered",
|
|
786
828
|
"enabled:active:bg-support-container-hovered",
|
|
787
829
|
"focus-visible:bg-support-container-hovered"
|
|
@@ -791,7 +833,7 @@ var contrastVariants = [
|
|
|
791
833
|
intent: "accent",
|
|
792
834
|
design: "contrast",
|
|
793
835
|
class: (0, import_internal_utils7.tw)([
|
|
794
|
-
"text-accent",
|
|
836
|
+
"text-accent bg-surface",
|
|
795
837
|
"hover:bg-accent-container-hovered",
|
|
796
838
|
"enabled:active:bg-accent-container-hovered",
|
|
797
839
|
"focus-visible:bg-accent-container-hovered"
|
|
@@ -801,7 +843,7 @@ var contrastVariants = [
|
|
|
801
843
|
intent: "basic",
|
|
802
844
|
design: "contrast",
|
|
803
845
|
class: (0, import_internal_utils7.tw)([
|
|
804
|
-
"text-basic",
|
|
846
|
+
"text-basic bg-surface",
|
|
805
847
|
"hover:bg-basic-container-hovered",
|
|
806
848
|
"enabled:active:bg-basic-container-hovered",
|
|
807
849
|
"focus-visible:bg-basic-container-hovered"
|
|
@@ -811,7 +853,7 @@ var contrastVariants = [
|
|
|
811
853
|
intent: "success",
|
|
812
854
|
design: "contrast",
|
|
813
855
|
class: (0, import_internal_utils7.tw)([
|
|
814
|
-
"text-success",
|
|
856
|
+
"text-success bg-surface",
|
|
815
857
|
"hover:bg-success-container-hovered",
|
|
816
858
|
"enabled:active:bg-success-container-hovered",
|
|
817
859
|
"focus-visible:bg-success-container-hovered"
|
|
@@ -821,7 +863,7 @@ var contrastVariants = [
|
|
|
821
863
|
intent: "alert",
|
|
822
864
|
design: "contrast",
|
|
823
865
|
class: (0, import_internal_utils7.tw)([
|
|
824
|
-
"text-alert",
|
|
866
|
+
"text-alert bg-surface",
|
|
825
867
|
"hover:bg-alert-container-hovered",
|
|
826
868
|
"enabled:active:bg-alert-container-hovered",
|
|
827
869
|
"focus-visible:bg-alert-container-hovered"
|
|
@@ -831,7 +873,7 @@ var contrastVariants = [
|
|
|
831
873
|
intent: "danger",
|
|
832
874
|
design: "contrast",
|
|
833
875
|
class: (0, import_internal_utils7.tw)([
|
|
834
|
-
"text-error",
|
|
876
|
+
"text-error bg-surface",
|
|
835
877
|
"hover:bg-error-container-hovered",
|
|
836
878
|
"enabled:active:bg-error-container-hovered",
|
|
837
879
|
"focus-visible:bg-error-container-hovered"
|
|
@@ -841,7 +883,7 @@ var contrastVariants = [
|
|
|
841
883
|
intent: "info",
|
|
842
884
|
design: "contrast",
|
|
843
885
|
class: (0, import_internal_utils7.tw)([
|
|
844
|
-
"text-info",
|
|
886
|
+
"text-info bg-surface",
|
|
845
887
|
"hover:bg-info-container-hovered",
|
|
846
888
|
"enabled:active:bg-info-container-hovered",
|
|
847
889
|
"focus-visible:bg-info-container-hovered"
|
|
@@ -851,7 +893,7 @@ var contrastVariants = [
|
|
|
851
893
|
intent: "neutral",
|
|
852
894
|
design: "contrast",
|
|
853
895
|
class: (0, import_internal_utils7.tw)([
|
|
854
|
-
"text-neutral",
|
|
896
|
+
"text-neutral bg-surface",
|
|
855
897
|
"hover:bg-neutral-container-hovered",
|
|
856
898
|
"enabled:active:bg-neutral-container-hovered",
|
|
857
899
|
"focus-visible:bg-neutral-container-hovered"
|
|
@@ -861,11 +903,21 @@ var contrastVariants = [
|
|
|
861
903
|
intent: "surface",
|
|
862
904
|
design: "contrast",
|
|
863
905
|
class: (0, import_internal_utils7.tw)([
|
|
864
|
-
"text-on-surface",
|
|
906
|
+
"text-on-surface bg-surface",
|
|
865
907
|
"hover:bg-surface-hovered",
|
|
866
908
|
"enabled:active:bg-surface-hovered",
|
|
867
909
|
"focus-visible:bg-surface-hovered"
|
|
868
910
|
])
|
|
911
|
+
},
|
|
912
|
+
{
|
|
913
|
+
intent: "surfaceInverse",
|
|
914
|
+
design: "contrast",
|
|
915
|
+
class: (0, import_internal_utils7.tw)([
|
|
916
|
+
"text-on-surface-inverse bg-surface-inverse",
|
|
917
|
+
"hover:bg-surface-inverse-hovered",
|
|
918
|
+
"enabled:active:bg-surface-inverse-hovered",
|
|
919
|
+
"focus-visible:bg-surface-inverse-hovered"
|
|
920
|
+
])
|
|
869
921
|
}
|
|
870
922
|
];
|
|
871
923
|
|
|
@@ -899,7 +951,7 @@ var buttonStyles = (0, import_class_variance_authority4.cva)(
|
|
|
899
951
|
outlined: ["bg-transparent", "border-sm", "border-current"],
|
|
900
952
|
tinted: [],
|
|
901
953
|
ghost: ["default:-mx-md px-md hover:bg-main/dim-5"],
|
|
902
|
-
contrast: [
|
|
954
|
+
contrast: []
|
|
903
955
|
}),
|
|
904
956
|
underline: {
|
|
905
957
|
true: ["underline"]
|
|
@@ -917,7 +969,8 @@ var buttonStyles = (0, import_class_variance_authority4.cva)(
|
|
|
917
969
|
danger: [],
|
|
918
970
|
info: [],
|
|
919
971
|
neutral: [],
|
|
920
|
-
surface: []
|
|
972
|
+
surface: [],
|
|
973
|
+
surfaceInverse: []
|
|
921
974
|
}),
|
|
922
975
|
/**
|
|
923
976
|
* Size of the button.
|