@frontify/fondue-components 27.0.1 → 29.0.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/fondue-components.js +62 -56
- package/dist/fondue-components.js.map +1 -1
- package/dist/fondue-components10.js +1 -1
- package/dist/fondue-components100.js +23 -6
- package/dist/fondue-components100.js.map +1 -1
- package/dist/fondue-components101.js +34 -12
- package/dist/fondue-components101.js.map +1 -1
- package/dist/fondue-components102.js +10 -70
- package/dist/fondue-components102.js.map +1 -1
- package/dist/fondue-components103.js +67 -14
- package/dist/fondue-components103.js.map +1 -1
- package/dist/fondue-components104.js +15 -7
- package/dist/fondue-components104.js.map +1 -1
- package/dist/fondue-components105.js +25 -88
- package/dist/fondue-components105.js.map +1 -1
- package/dist/fondue-components106.js +18 -80
- package/dist/fondue-components106.js.map +1 -1
- package/dist/fondue-components107.js +24 -30
- package/dist/fondue-components107.js.map +1 -1
- package/dist/fondue-components108.js +8 -20
- package/dist/fondue-components108.js.map +1 -1
- package/dist/fondue-components109.js +30 -39
- package/dist/fondue-components109.js.map +1 -1
- package/dist/fondue-components11.js +3 -3
- package/dist/fondue-components110.js +10 -0
- package/dist/fondue-components110.js.map +1 -0
- package/dist/fondue-components111.js +8 -0
- package/dist/fondue-components111.js.map +1 -0
- package/dist/fondue-components112.js +8 -0
- package/dist/fondue-components112.js.map +1 -0
- package/dist/fondue-components113.js +20 -0
- package/dist/fondue-components113.js.map +1 -0
- package/dist/fondue-components114.js +17 -0
- package/dist/fondue-components114.js.map +1 -0
- package/dist/fondue-components115.js +18 -0
- package/dist/fondue-components115.js.map +1 -0
- package/dist/fondue-components116.js +114 -0
- package/dist/fondue-components116.js.map +1 -0
- package/dist/fondue-components117.js +16 -0
- package/dist/fondue-components117.js.map +1 -0
- package/dist/fondue-components118.js +20 -0
- package/dist/fondue-components118.js.map +1 -0
- package/dist/fondue-components119.js +16 -0
- package/dist/fondue-components119.js.map +1 -0
- package/dist/fondue-components12.js +7 -37
- package/dist/fondue-components12.js.map +1 -1
- package/dist/fondue-components120.js +130 -0
- package/dist/fondue-components120.js.map +1 -0
- package/dist/fondue-components121.js +14 -0
- package/dist/fondue-components121.js.map +1 -0
- package/dist/fondue-components122.js +39 -0
- package/dist/fondue-components122.js.map +1 -0
- package/dist/fondue-components123.js +220 -0
- package/dist/fondue-components123.js.map +1 -0
- package/dist/fondue-components124.js +22 -0
- package/dist/fondue-components124.js.map +1 -0
- package/dist/fondue-components125.js +20 -0
- package/dist/fondue-components125.js.map +1 -0
- package/dist/fondue-components126.js +154 -0
- package/dist/fondue-components126.js.map +1 -0
- package/dist/fondue-components127.js +48 -0
- package/dist/fondue-components127.js.map +1 -0
- package/dist/fondue-components128.js +173 -0
- package/dist/fondue-components128.js.map +1 -0
- package/dist/fondue-components129.js +63 -0
- package/dist/fondue-components129.js.map +1 -0
- package/dist/fondue-components13.js +59 -118
- package/dist/fondue-components13.js.map +1 -1
- package/dist/fondue-components130.js +12 -0
- package/dist/fondue-components130.js.map +1 -0
- package/dist/fondue-components131.js +259 -0
- package/dist/fondue-components131.js.map +1 -0
- package/dist/fondue-components132.js +32 -0
- package/dist/fondue-components132.js.map +1 -0
- package/dist/fondue-components134.js +44 -0
- package/dist/fondue-components134.js.map +1 -0
- package/dist/fondue-components135.js +9 -0
- package/dist/fondue-components135.js.map +1 -0
- package/dist/fondue-components136.js +15 -0
- package/dist/fondue-components136.js.map +1 -0
- package/dist/fondue-components137.js +74 -0
- package/dist/fondue-components137.js.map +1 -0
- package/dist/fondue-components138.js +18 -0
- package/dist/fondue-components138.js.map +1 -0
- package/dist/fondue-components139.js +10 -0
- package/dist/fondue-components139.js.map +1 -0
- package/dist/fondue-components14.js +21 -21
- package/dist/fondue-components14.js.map +1 -1
- package/dist/fondue-components140.js +92 -0
- package/dist/fondue-components140.js.map +1 -0
- package/dist/fondue-components141.js +84 -0
- package/dist/fondue-components141.js.map +1 -0
- package/dist/fondue-components142.js +34 -0
- package/dist/fondue-components142.js.map +1 -0
- package/dist/fondue-components143.js +22 -0
- package/dist/fondue-components143.js.map +1 -0
- package/dist/fondue-components144.js +73 -0
- package/dist/fondue-components144.js.map +1 -0
- package/dist/fondue-components145.js +1355 -0
- package/dist/fondue-components145.js.map +1 -0
- package/dist/fondue-components146.js +944 -0
- package/dist/fondue-components146.js.map +1 -0
- package/dist/fondue-components147.js +201 -0
- package/dist/fondue-components147.js.map +1 -0
- package/dist/fondue-components148.js +24 -0
- package/dist/fondue-components148.js.map +1 -0
- package/dist/fondue-components149.js +43 -0
- package/dist/fondue-components149.js.map +1 -0
- package/dist/fondue-components15.js +121 -45
- package/dist/fondue-components15.js.map +1 -1
- package/dist/fondue-components150.js +71 -0
- package/dist/fondue-components150.js.map +1 -0
- package/dist/fondue-components151.js +34 -0
- package/dist/fondue-components151.js.map +1 -0
- package/dist/fondue-components152.js +12 -0
- package/dist/fondue-components152.js.map +1 -0
- package/dist/fondue-components153.js +156 -0
- package/dist/fondue-components153.js.map +1 -0
- package/dist/fondue-components154.js +111 -0
- package/dist/fondue-components154.js.map +1 -0
- package/dist/fondue-components155.js +19 -0
- package/dist/fondue-components155.js.map +1 -0
- package/dist/fondue-components156.js +19 -0
- package/dist/fondue-components156.js.map +1 -0
- package/dist/fondue-components157.js +32 -0
- package/dist/fondue-components157.js.map +1 -0
- package/dist/fondue-components158.js +16 -0
- package/dist/fondue-components158.js.map +1 -0
- package/dist/fondue-components159.js +10 -0
- package/dist/fondue-components159.js.map +1 -0
- package/dist/fondue-components16.js +35 -41
- package/dist/fondue-components16.js.map +1 -1
- package/dist/fondue-components17.js +44 -56
- package/dist/fondue-components17.js.map +1 -1
- package/dist/fondue-components18.js +40 -41
- package/dist/fondue-components18.js.map +1 -1
- package/dist/fondue-components19.js +56 -19
- package/dist/fondue-components19.js.map +1 -1
- package/dist/fondue-components20.js +42 -45
- package/dist/fondue-components20.js.map +1 -1
- package/dist/fondue-components21.js +18 -71
- package/dist/fondue-components21.js.map +1 -1
- package/dist/fondue-components22.js +46 -17
- package/dist/fondue-components22.js.map +1 -1
- package/dist/fondue-components23.js +68 -75
- package/dist/fondue-components23.js.map +1 -1
- package/dist/fondue-components24.js +70 -32
- package/dist/fondue-components24.js.map +1 -1
- package/dist/fondue-components25.js +17 -54
- package/dist/fondue-components25.js.map +1 -1
- package/dist/fondue-components26.js +77 -23
- package/dist/fondue-components26.js.map +1 -1
- package/dist/fondue-components27.js +34 -53
- package/dist/fondue-components27.js.map +1 -1
- package/dist/fondue-components28.js +52 -97
- package/dist/fondue-components28.js.map +1 -1
- package/dist/fondue-components29.js +23 -33
- package/dist/fondue-components29.js.map +1 -1
- package/dist/fondue-components3.js +1 -1
- package/dist/fondue-components30.js +52 -193
- package/dist/fondue-components30.js.map +1 -1
- package/dist/fondue-components31.js +89 -135
- package/dist/fondue-components31.js.map +1 -1
- package/dist/fondue-components32.js +30 -130
- package/dist/fondue-components32.js.map +1 -1
- package/dist/fondue-components33.js +191 -27
- package/dist/fondue-components33.js.map +1 -1
- package/dist/fondue-components34.js +144 -79
- package/dist/fondue-components34.js.map +1 -1
- package/dist/fondue-components35.js +125 -116
- package/dist/fondue-components35.js.map +1 -1
- package/dist/fondue-components36.js +32 -37
- package/dist/fondue-components36.js.map +1 -1
- package/dist/fondue-components37.js +77 -52
- package/dist/fondue-components37.js.map +1 -1
- package/dist/fondue-components38.js +123 -20
- package/dist/fondue-components38.js.map +1 -1
- package/dist/fondue-components39.js +34 -21
- package/dist/fondue-components39.js.map +1 -1
- package/dist/fondue-components4.js +3 -3
- package/dist/fondue-components40.js +56 -7
- package/dist/fondue-components40.js.map +1 -1
- package/dist/fondue-components41.js +20 -8
- package/dist/fondue-components41.js.map +1 -1
- package/dist/fondue-components42.js +26 -41
- package/dist/fondue-components42.js.map +1 -1
- package/dist/fondue-components43.js +7 -4
- package/dist/fondue-components43.js.map +1 -1
- package/dist/fondue-components44.js +8 -4
- package/dist/fondue-components44.js.map +1 -1
- package/dist/fondue-components45.js +41 -13
- package/dist/fondue-components45.js.map +1 -1
- package/dist/fondue-components46.js +5 -32
- package/dist/fondue-components46.js.map +1 -1
- package/dist/fondue-components47.js +4 -53
- package/dist/fondue-components47.js.map +1 -1
- package/dist/fondue-components48.js +12 -130
- package/dist/fondue-components48.js.map +1 -1
- package/dist/fondue-components49.js +32 -21
- package/dist/fondue-components49.js.map +1 -1
- package/dist/fondue-components5.js +2 -2
- package/dist/fondue-components50.js +54 -53
- package/dist/fondue-components50.js.map +1 -1
- package/dist/fondue-components51.js +130 -7
- package/dist/fondue-components51.js.map +1 -1
- package/dist/fondue-components52.js +21 -13
- package/dist/fondue-components52.js.map +1 -1
- package/dist/fondue-components53.js +53 -17
- package/dist/fondue-components53.js.map +1 -1
- package/dist/fondue-components54.js +7 -4
- package/dist/fondue-components54.js.map +1 -1
- package/dist/fondue-components55.js +13 -18
- package/dist/fondue-components55.js.map +1 -1
- package/dist/fondue-components56.js +16 -18
- package/dist/fondue-components56.js.map +1 -1
- package/dist/fondue-components57.js +1 -1
- package/dist/fondue-components58.js +18 -13
- package/dist/fondue-components58.js.map +1 -1
- package/dist/fondue-components59.js +18 -4
- package/dist/fondue-components59.js.map +1 -1
- package/dist/fondue-components6.js +1 -1
- package/dist/fondue-components60.js +43 -17
- package/dist/fondue-components60.js.map +1 -1
- package/dist/fondue-components61.js +24 -10
- package/dist/fondue-components61.js.map +1 -1
- package/dist/fondue-components62.js +22 -36
- package/dist/fondue-components62.js.map +1 -1
- package/dist/fondue-components63.js +6 -6
- package/dist/fondue-components64.js +1 -1
- package/dist/fondue-components65.js +10 -10
- package/dist/fondue-components66.js +3 -7
- package/dist/fondue-components66.js.map +1 -1
- package/dist/fondue-components67.js +16 -11
- package/dist/fondue-components67.js.map +1 -1
- package/dist/fondue-components68.js +10 -4
- package/dist/fondue-components68.js.map +1 -1
- package/dist/fondue-components69.js +36 -24
- package/dist/fondue-components69.js.map +1 -1
- package/dist/fondue-components7.js +1 -1
- package/dist/fondue-components70.js +6 -16
- package/dist/fondue-components70.js.map +1 -1
- package/dist/fondue-components71.js +5 -20
- package/dist/fondue-components71.js.map +1 -1
- package/dist/fondue-components72.js +13 -20
- package/dist/fondue-components72.js.map +1 -1
- package/dist/fondue-components73.js +52 -20
- package/dist/fondue-components73.js.map +1 -1
- package/dist/fondue-components74.js +44 -20
- package/dist/fondue-components74.js.map +1 -1
- package/dist/fondue-components75.js +6 -19
- package/dist/fondue-components75.js.map +1 -1
- package/dist/fondue-components76.js +6 -8
- package/dist/fondue-components76.js.map +1 -1
- package/dist/fondue-components77.js +13 -11
- package/dist/fondue-components77.js.map +1 -1
- package/dist/fondue-components78.js +27 -10
- package/dist/fondue-components78.js.map +1 -1
- package/dist/fondue-components79.js +13 -7
- package/dist/fondue-components79.js.map +1 -1
- package/dist/fondue-components8.js +5 -5
- package/dist/fondue-components80.js +4 -12
- package/dist/fondue-components80.js.map +1 -1
- package/dist/fondue-components81.js +12 -22
- package/dist/fondue-components81.js.map +1 -1
- package/dist/fondue-components82.js +48 -34
- package/dist/fondue-components82.js.map +1 -1
- package/dist/fondue-components83.js +22 -10
- package/dist/fondue-components83.js.map +1 -1
- package/dist/fondue-components84.js +623 -62
- package/dist/fondue-components84.js.map +1 -1
- package/dist/fondue-components85.js +8 -14
- package/dist/fondue-components85.js.map +1 -1
- package/dist/fondue-components86.js +12 -24
- package/dist/fondue-components86.js.map +1 -1
- package/dist/fondue-components87.js +4 -18
- package/dist/fondue-components87.js.map +1 -1
- package/dist/fondue-components88.js +24 -24
- package/dist/fondue-components88.js.map +1 -1
- package/dist/fondue-components89.js +16 -8
- package/dist/fondue-components89.js.map +1 -1
- package/dist/fondue-components9.js +5 -5
- package/dist/fondue-components90.js +20 -26
- package/dist/fondue-components90.js.map +1 -1
- package/dist/fondue-components91.js +20 -7
- package/dist/fondue-components91.js.map +1 -1
- package/dist/fondue-components92.js +20 -5
- package/dist/fondue-components92.js.map +1 -1
- package/dist/fondue-components93.js +20 -5
- package/dist/fondue-components93.js.map +1 -1
- package/dist/fondue-components94.js +19 -17
- package/dist/fondue-components94.js.map +1 -1
- package/dist/fondue-components95.js +8 -217
- package/dist/fondue-components95.js.map +1 -1
- package/dist/fondue-components96.js +10 -18
- package/dist/fondue-components96.js.map +1 -1
- package/dist/fondue-components97.js +10 -16
- package/dist/fondue-components97.js.map +1 -1
- package/dist/fondue-components98.js +6 -150
- package/dist/fondue-components98.js.map +1 -1
- package/dist/fondue-components99.js +12 -44
- package/dist/fondue-components99.js.map +1 -1
- package/dist/index.d.ts +201 -26
- package/dist/style.css +1 -1
- package/package.json +7 -3
|
@@ -1,149 +1,103 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
const S = x(
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as c } from "react";
|
|
3
|
+
import d from "./fondue-components97.js";
|
|
4
|
+
const b = c(
|
|
6
5
|
({
|
|
7
|
-
"aria-label":
|
|
8
|
-
"data-test-id":
|
|
6
|
+
"aria-label": t,
|
|
7
|
+
"data-test-id": a = "split-button",
|
|
9
8
|
children: o,
|
|
10
|
-
disabled:
|
|
11
|
-
emphasis:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"data-
|
|
23
|
-
"data-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"data-variant": y,
|
|
29
|
-
className: s.root
|
|
30
|
-
};
|
|
31
|
-
return /* @__PURE__ */ h("div", { ...$, children: [
|
|
32
|
-
/* @__PURE__ */ t(
|
|
33
|
-
z,
|
|
34
|
-
{
|
|
35
|
-
ref: v,
|
|
36
|
-
"aria-label": e || l,
|
|
37
|
-
disabled: a,
|
|
38
|
-
hoverContent: r,
|
|
39
|
-
isHover: C,
|
|
40
|
-
onClick: u,
|
|
41
|
-
onMouseEnter: () => d(!0),
|
|
42
|
-
onMouseLeave: () => d(!1),
|
|
43
|
-
title: l,
|
|
44
|
-
"data-test-id": n,
|
|
45
|
-
children: g
|
|
46
|
-
}
|
|
47
|
-
),
|
|
48
|
-
/* @__PURE__ */ t(
|
|
49
|
-
R,
|
|
50
|
-
{
|
|
51
|
-
"aria-label": e || l,
|
|
52
|
-
disabled: a,
|
|
53
|
-
onAddClick: m,
|
|
54
|
-
onDismiss: i
|
|
55
|
-
}
|
|
56
|
-
)
|
|
57
|
-
] });
|
|
58
|
-
}
|
|
9
|
+
disabled: i = !1,
|
|
10
|
+
emphasis: e = "default",
|
|
11
|
+
size: n = "medium"
|
|
12
|
+
}, l) => /* @__PURE__ */ s(
|
|
13
|
+
"div",
|
|
14
|
+
{
|
|
15
|
+
ref: l,
|
|
16
|
+
role: "group",
|
|
17
|
+
"aria-label": t,
|
|
18
|
+
"data-test-id": a,
|
|
19
|
+
"data-component": "split-button",
|
|
20
|
+
"data-emphasis": e,
|
|
21
|
+
"data-size": n,
|
|
22
|
+
"data-disabled": i,
|
|
23
|
+
className: d.root,
|
|
24
|
+
children: o
|
|
25
|
+
}
|
|
26
|
+
)
|
|
59
27
|
);
|
|
60
|
-
|
|
61
|
-
const
|
|
28
|
+
b.displayName = "SplitButton.Root";
|
|
29
|
+
const p = c(
|
|
62
30
|
({
|
|
63
|
-
"aria-label":
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
title: l
|
|
73
|
-
}, y) => {
|
|
74
|
-
let v = 0;
|
|
75
|
-
const C = H.map(o, (r) => {
|
|
76
|
-
if (I(r) && r.type === T) {
|
|
77
|
-
const g = v++;
|
|
78
|
-
return /* @__PURE__ */ t("div", { className: s.secondaryContent, children: r.props.children }, `secondary-${g}`);
|
|
79
|
-
}
|
|
80
|
-
return r;
|
|
81
|
-
}), d = c ? /* @__PURE__ */ h("div", { "data-hover": m, children: [
|
|
82
|
-
/* @__PURE__ */ t("div", { children: c }),
|
|
83
|
-
/* @__PURE__ */ t("div", { children: C })
|
|
84
|
-
] }) : C;
|
|
85
|
-
return u ? /* @__PURE__ */ t(
|
|
86
|
-
"button",
|
|
87
|
-
{
|
|
88
|
-
ref: y,
|
|
89
|
-
type: "button",
|
|
90
|
-
"aria-label": e,
|
|
91
|
-
title: l,
|
|
92
|
-
className: s.mainContent,
|
|
93
|
-
onClick: a ? void 0 : u,
|
|
94
|
-
onMouseEnter: i,
|
|
95
|
-
onMouseLeave: p,
|
|
96
|
-
disabled: a,
|
|
97
|
-
"data-test-id": n,
|
|
98
|
-
children: d
|
|
99
|
-
}
|
|
100
|
-
) : /* @__PURE__ */ t(
|
|
101
|
-
"div",
|
|
102
|
-
{
|
|
103
|
-
ref: y,
|
|
104
|
-
className: s.mainContent,
|
|
105
|
-
onMouseEnter: i,
|
|
106
|
-
onMouseLeave: p,
|
|
107
|
-
"data-test-id": n,
|
|
108
|
-
children: d
|
|
109
|
-
}
|
|
110
|
-
);
|
|
111
|
-
}
|
|
112
|
-
);
|
|
113
|
-
z.displayName = "TagMainContent";
|
|
114
|
-
const R = ({ "aria-label": e, disabled: n, onAddClick: o, onDismiss: a }) => /* @__PURE__ */ h(b, { children: [
|
|
115
|
-
o && /* @__PURE__ */ t(
|
|
31
|
+
"aria-label": t,
|
|
32
|
+
"aria-describedby": a,
|
|
33
|
+
"data-test-id": o = "split-button-content",
|
|
34
|
+
children: i,
|
|
35
|
+
disabled: e = !1,
|
|
36
|
+
onPress: n,
|
|
37
|
+
title: l,
|
|
38
|
+
type: r = "button"
|
|
39
|
+
}, u) => /* @__PURE__ */ s(
|
|
116
40
|
"button",
|
|
117
41
|
{
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
42
|
+
ref: u,
|
|
43
|
+
type: r,
|
|
44
|
+
disabled: e,
|
|
45
|
+
"aria-label": t,
|
|
46
|
+
"aria-describedby": a,
|
|
47
|
+
title: l,
|
|
48
|
+
"data-test-id": o,
|
|
49
|
+
className: d.content,
|
|
50
|
+
onClick: n,
|
|
51
|
+
children: i
|
|
124
52
|
}
|
|
125
|
-
)
|
|
126
|
-
|
|
53
|
+
)
|
|
54
|
+
);
|
|
55
|
+
p.displayName = "SplitButton.Content";
|
|
56
|
+
const m = ({
|
|
57
|
+
"aria-label": t,
|
|
58
|
+
"data-test-id": a = "split-button-action",
|
|
59
|
+
rotateIcon: o = !0,
|
|
60
|
+
children: i
|
|
61
|
+
}) => /* @__PURE__ */ s("div", { "aria-label": t, "data-test-id": a, "data-rotate-icon": o, className: d.action, children: i });
|
|
62
|
+
m.displayName = "SplitButton.Action";
|
|
63
|
+
const B = c(
|
|
64
|
+
({
|
|
65
|
+
"aria-label": t,
|
|
66
|
+
"aria-describedby": a,
|
|
67
|
+
"data-test-id": o = "split-button-action-button",
|
|
68
|
+
children: i,
|
|
69
|
+
disabled: e = !1,
|
|
70
|
+
title: n,
|
|
71
|
+
type: l = "button",
|
|
72
|
+
...r
|
|
73
|
+
}, u) => /* @__PURE__ */ s(
|
|
127
74
|
"button",
|
|
128
75
|
{
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
76
|
+
ref: u,
|
|
77
|
+
type: l,
|
|
78
|
+
disabled: e,
|
|
79
|
+
"aria-label": t,
|
|
80
|
+
"aria-describedby": a,
|
|
81
|
+
title: n,
|
|
82
|
+
"data-test-id": o,
|
|
83
|
+
className: d.actionButton,
|
|
84
|
+
...r,
|
|
85
|
+
children: i
|
|
135
86
|
}
|
|
136
87
|
)
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
B
|
|
88
|
+
);
|
|
89
|
+
B.displayName = "SplitButton.ActionButton";
|
|
90
|
+
const N = {
|
|
91
|
+
Root: b,
|
|
92
|
+
Content: p,
|
|
93
|
+
Action: m,
|
|
94
|
+
ActionButton: B
|
|
95
|
+
};
|
|
144
96
|
export {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
97
|
+
N as SplitButton,
|
|
98
|
+
m as SplitButtonAction,
|
|
99
|
+
B as SplitButtonActionButton,
|
|
100
|
+
p as SplitButtonContent,
|
|
101
|
+
b as SplitButtonRoot
|
|
148
102
|
};
|
|
149
103
|
//# sourceMappingURL=fondue-components31.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components31.js","sources":["../src/components/Tag/Tag.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCross, IconPlus } from '@frontify/fondue-icons';\nimport { Children, forwardRef, isValidElement, useState, type MouseEvent, type ReactNode } from 'react';\n\nimport styles from './styles/tag.module.scss';\n\ntype TagStyle = 'default' | 'highlight';\n\ntype TagEmphasis = 'strong' | 'weak';\n\ntype TagSize = 'default' | 'small';\n\ntype TagProps = {\n /**\n * @default 'strong'\n */\n emphasis?: TagEmphasis;\n /**\n * @default 'default'\n */\n variant?: TagStyle;\n /**\n * @default 'default'\n */\n size?: TagSize;\n /**\n * @default false\n */\n disabled?: boolean;\n /**\n * Click handler - when provided, the Tag renders as a button element\n */\n onClick?: (event?: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Click handler on dismiss - providing this will show the dismiss button\n */\n onDismiss?: (event?: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Click handler on add click - providing this will show the add button\n */\n onAddClick?: (event?: MouseEvent<HTMLButtonElement>) => void;\n title?: string;\n 'aria-label'?: string;\n 'data-test-id'?: string;\n children: ReactNode;\n};\n\nexport type TagPropsWithClick = Omit<TagProps, 'onClick'> & {\n onClick: (event?: MouseEvent<HTMLButtonElement>) => void;\n};\n\nexport type TagPropsWithoutClick = Omit<TagProps, 'onClick'> & {\n onClick?: undefined;\n};\n\nexport type TagHoverContentProps = {\n children: ReactNode;\n};\n\nexport type TagSecondaryContentProps = {\n children: ReactNode;\n};\n\nconst TagRoot = forwardRef<HTMLButtonElement | HTMLDivElement, TagProps>(\n (\n {\n 'aria-label': ariaLabel,\n 'data-test-id': dataTestId = 'tag',\n children,\n disabled = false,\n emphasis = 'strong',\n onAddClick,\n onClick,\n onDismiss,\n size = 'default',\n title,\n variant = 'default',\n },\n ref,\n ) => {\n const [isHover, setIsHover] = useState(false);\n\n // Extract hover content from slots\n let extractedHoverContent: ReactNode = null;\n const processedChildren = Children.map(children, (child) => {\n if (isValidElement(child) && child.type === TagHoverContent) {\n // eslint-disable-next-line react-hooks/immutability\n extractedHoverContent = child.props.children;\n return null;\n }\n return child;\n });\n\n const commonProps = {\n 'data-addable': !!onAddClick,\n 'data-component': 'tag',\n 'data-disabled': disabled,\n 'data-dismissable': !!onDismiss,\n 'data-emphasis': emphasis,\n 'data-size': size,\n 'data-variant': variant,\n className: styles.root,\n };\n\n return (\n <div {...commonProps}>\n <TagMainContent\n ref={ref}\n aria-label={ariaLabel || title}\n disabled={disabled}\n hoverContent={extractedHoverContent}\n isHover={isHover}\n onClick={onClick}\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n title={title}\n data-test-id={dataTestId}\n >\n {processedChildren}\n </TagMainContent>\n <TagActionButtons\n aria-label={ariaLabel || title}\n disabled={disabled}\n onAddClick={onAddClick}\n onDismiss={onDismiss}\n />\n </div>\n );\n },\n);\nTagRoot.displayName = 'Tag';\n\ntype TagMainContentProps = {\n 'aria-label'?: string;\n 'data-test-id'?: string;\n children: ReactNode;\n disabled?: boolean;\n hoverContent?: ReactNode;\n isHover?: boolean;\n onClick?: (event?: MouseEvent<HTMLButtonElement>) => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n title?: string;\n};\n\nconst TagMainContent = forwardRef<HTMLButtonElement | HTMLDivElement, TagMainContentProps>(\n (\n {\n 'aria-label': ariaLabel,\n 'data-test-id': dataTestId,\n children,\n disabled = false,\n hoverContent,\n isHover = false,\n onClick,\n onMouseEnter,\n onMouseLeave,\n title,\n },\n ref,\n ) => {\n // Process children to handle secondary content slots in their natural position\n let secondaryIndex = 0;\n const processedChildren = Children.map(children, (child) => {\n if (isValidElement(child) && child.type === TagSecondaryContent) {\n const currentIndex = secondaryIndex++;\n return (\n <div className={styles.secondaryContent} key={`secondary-${currentIndex}`}>\n {/* eslint-disable-next-line @typescript-eslint/no-unsafe-member-access */}\n {child.props.children}\n </div>\n );\n }\n return child;\n });\n\n const content = hoverContent ? (\n <div data-hover={isHover}>\n <div>{hoverContent}</div>\n <div>{processedChildren}</div>\n </div>\n ) : (\n processedChildren\n );\n\n if (onClick) {\n return (\n <button\n ref={ref as React.Ref<HTMLButtonElement>}\n type=\"button\"\n aria-label={ariaLabel}\n title={title}\n className={styles.mainContent}\n onClick={disabled ? undefined : onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n disabled={disabled}\n data-test-id={dataTestId}\n >\n {content}\n </button>\n );\n }\n\n return (\n <div\n ref={ref as React.Ref<HTMLDivElement>}\n className={styles.mainContent}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n data-test-id={dataTestId}\n >\n {content}\n </div>\n );\n },\n);\nTagMainContent.displayName = 'TagMainContent';\n\ntype TagActionButtonsProps = {\n /**\n * @default false\n */\n disabled?: boolean;\n /**\n * Click handler on dismiss\n */\n onDismiss?: (event?: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Click handler on add click\n */\n onAddClick?: (event?: MouseEvent<HTMLButtonElement>) => void;\n 'aria-label'?: string;\n};\n\nconst TagActionButtons = ({ 'aria-label': ariaLabel, disabled, onAddClick, onDismiss }: TagActionButtonsProps) => {\n return (\n <>\n {onAddClick && (\n <button\n type=\"button\"\n aria-label={`Add ${ariaLabel || ''}`}\n className={styles.actionButton}\n disabled={disabled}\n onClick={onAddClick}\n >\n <IconPlus size=\"16\" />\n </button>\n )}\n {onDismiss && (\n <button\n type=\"button\"\n aria-label={`Dismiss ${ariaLabel || ''}`}\n className={styles.actionButton}\n disabled={disabled}\n onClick={onDismiss}\n >\n <IconCross size=\"16\" />\n </button>\n )}\n </>\n );\n};\n\nexport const TagHoverContent = ({ children }: TagHoverContentProps) => {\n return <>{children}</>;\n};\nTagHoverContent.displayName = 'Tag.HoverContent';\n\nexport const TagSecondaryContent = ({ children }: TagSecondaryContentProps) => {\n return <>{children}</>;\n};\nTagSecondaryContent.displayName = 'Tag.SecondaryContent';\n\n/**\n * TagComponent interface with function overloads for conditional ref typing.\n *\n * The overload order matters for TypeScript's type inference:\n * - TypeScript uses the FIRST matching overload when inferring types in generic contexts\n * (e.g., Storybook's StoryObj<typeof Tag>)\n * - By placing TagPropsWithoutClick first, generic inference defaults to HTMLDivElement\n * - When onClick is explicitly provided, TypeScript matches the second overload,\n * correctly inferring HTMLButtonElement for the ref\n */\ntype TagComponent = {\n (props: TagPropsWithoutClick & React.RefAttributes<HTMLDivElement>): React.ReactNode;\n (props: TagPropsWithClick & React.RefAttributes<HTMLButtonElement>): React.ReactNode;\n displayName?: string;\n HoverContent: typeof TagHoverContent;\n SecondaryContent: typeof TagSecondaryContent;\n};\n\nexport const Tag: TagComponent = TagRoot as unknown as TagComponent;\nTag.HoverContent = TagHoverContent;\nTag.SecondaryContent = TagSecondaryContent;\n"],"names":["TagRoot","forwardRef","ariaLabel","dataTestId","children","disabled","emphasis","onAddClick","onClick","onDismiss","size","title","variant","ref","isHover","setIsHover","useState","extractedHoverContent","processedChildren","Children","child","isValidElement","TagHoverContent","commonProps","styles","jsxs","jsx","TagMainContent","TagActionButtons","hoverContent","onMouseEnter","onMouseLeave","secondaryIndex","TagSecondaryContent","currentIndex","content","Fragment","IconPlus","IconCross","Tag"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fondue-components31.js","sources":["../src/components/SplitButton/SplitButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type ForwardedRef, type MouseEvent, type ReactNode } from 'react';\n\nimport styles from './styles/splitButton.module.scss';\n\ntype ButtonSize = 'small' | 'medium' | 'large';\n\ntype ButtonEmphasis = 'default' | 'weak' | 'strong';\n\nexport type SplitButtonProps = {\n /**\n * @default 'default'\n */\n emphasis?: ButtonEmphasis;\n /**\n * @default 'medium'\n */\n size?: ButtonSize;\n /**\n * @default false\n */\n disabled?: boolean;\n /**\n * Accessible label for the button group\n */\n 'aria-label'?: string;\n /**\n * Test ID for the root element\n */\n 'data-test-id'?: string;\n children: ReactNode;\n};\n\nexport type SplitButtonContentProps = {\n /**\n * Button type\n * @default 'button'\n */\n type?: 'button' | 'submit' | 'reset';\n /**\n * Whether the button is disabled\n * @default false\n */\n disabled?: boolean;\n /**\n * Click handler\n */\n onPress?: (event?: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Accessible label\n */\n 'aria-label'?: string;\n /**\n * Accessible description\n */\n 'aria-describedby'?: string;\n /**\n * Test ID for the content section\n */\n 'data-test-id'?: string;\n /**\n * Button title\n */\n title?: string;\n children: ReactNode;\n};\n\nexport type SplitButtonActionProps = {\n /**\n * Accessible label\n */\n 'aria-label'?: string;\n /**\n * Test ID for the action slot\n */\n 'data-test-id'?: string;\n /**\n * Whether to rotate the icon 180 degrees when active (typically for caret icons)\n * @default true\n */\n rotateIcon?: boolean;\n children: ReactNode;\n};\n\nexport type SplitButtonActionButtonProps = {\n /**\n * Button type\n * @default 'button'\n */\n type?: 'button' | 'submit' | 'reset';\n /**\n * Whether the button is disabled\n * @default false\n */\n disabled?: boolean;\n /**\n * Accessible label\n */\n 'aria-label'?: string;\n /**\n * Accessible description\n */\n 'aria-describedby'?: string;\n /**\n * Test ID for the action button\n */\n 'data-test-id'?: string;\n /**\n * Button title\n */\n title?: string;\n children: ReactNode;\n};\n\nexport const SplitButtonRoot = forwardRef<HTMLDivElement, SplitButtonProps>(\n (\n {\n 'aria-label': ariaLabel,\n 'data-test-id': dataTestId = 'split-button',\n children,\n disabled = false,\n emphasis = 'default',\n size = 'medium',\n }: SplitButtonProps,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-label={ariaLabel}\n data-test-id={dataTestId}\n data-component=\"split-button\"\n data-emphasis={emphasis}\n data-size={size}\n data-disabled={disabled}\n className={styles.root}\n >\n {children}\n </div>\n );\n },\n);\nSplitButtonRoot.displayName = 'SplitButton.Root';\n\nexport const SplitButtonContent = forwardRef<HTMLButtonElement, SplitButtonContentProps>(\n (\n {\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedby,\n 'data-test-id': dataTestId = 'split-button-content',\n children,\n disabled = false,\n onPress,\n title,\n type = 'button',\n }: SplitButtonContentProps,\n ref: ForwardedRef<HTMLButtonElement>,\n ) => {\n return (\n <button\n ref={ref}\n type={type}\n disabled={disabled}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n title={title}\n data-test-id={dataTestId}\n className={styles.content}\n onClick={onPress}\n >\n {children}\n </button>\n );\n },\n);\nSplitButtonContent.displayName = 'SplitButton.Content';\n\nexport const SplitButtonAction = ({\n 'aria-label': ariaLabel,\n 'data-test-id': dataTestId = 'split-button-action',\n rotateIcon = true,\n children,\n}: SplitButtonActionProps) => {\n return (\n <div aria-label={ariaLabel} data-test-id={dataTestId} data-rotate-icon={rotateIcon} className={styles.action}>\n {children}\n </div>\n );\n};\nSplitButtonAction.displayName = 'SplitButton.Action';\n\nexport const SplitButtonActionButton = forwardRef<HTMLButtonElement, SplitButtonActionButtonProps>(\n (\n {\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedby,\n 'data-test-id': dataTestId = 'split-button-action-button',\n children,\n disabled = false,\n title,\n type = 'button',\n ...props\n },\n ref,\n ) => {\n return (\n <button\n ref={ref}\n type={type}\n disabled={disabled}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n title={title}\n data-test-id={dataTestId}\n className={styles.actionButton}\n {...props}\n >\n {children}\n </button>\n );\n },\n);\nSplitButtonActionButton.displayName = 'SplitButton.ActionButton';\n\nexport const SplitButton = {\n Root: SplitButtonRoot,\n Content: SplitButtonContent,\n Action: SplitButtonAction,\n ActionButton: SplitButtonActionButton,\n};\n"],"names":["SplitButtonRoot","forwardRef","ariaLabel","dataTestId","children","disabled","emphasis","size","ref","jsx","styles","SplitButtonContent","ariaDescribedby","onPress","title","type","SplitButtonAction","rotateIcon","SplitButtonActionButton","props","SplitButton"],"mappings":";;;AAmHO,MAAMA,IAAkBC;AAAA,EAC3B,CACI;AAAA,IACI,cAAcC;AAAA,IACd,gBAAgBC,IAAa;AAAA,IAC7B,UAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,MAAAC,IAAO;AAAA,EAAA,GAEXC,MAGI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAAD;AAAA,MACA,MAAK;AAAA,MACL,cAAYN;AAAA,MACZ,gBAAcC;AAAA,MACd,kBAAe;AAAA,MACf,iBAAeG;AAAA,MACf,aAAWC;AAAA,MACX,iBAAeF;AAAA,MACf,WAAWK,EAAO;AAAA,MAEjB,UAAAN;AAAA,IAAA;AAAA,EAAA;AAIjB;AACAJ,EAAgB,cAAc;AAEvB,MAAMW,IAAqBV;AAAA,EAC9B,CACI;AAAA,IACI,cAAcC;AAAA,IACd,oBAAoBU;AAAA,IACpB,gBAAgBT,IAAa;AAAA,IAC7B,UAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,SAAAQ;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,EAAA,GAEXP,MAGI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAAD;AAAA,MACA,MAAAO;AAAA,MACA,UAAAV;AAAA,MACA,cAAYH;AAAA,MACZ,oBAAkBU;AAAA,MAClB,OAAAE;AAAA,MACA,gBAAcX;AAAA,MACd,WAAWO,EAAO;AAAA,MAClB,SAASG;AAAA,MAER,UAAAT;AAAA,IAAA;AAAA,EAAA;AAIjB;AACAO,EAAmB,cAAc;AAE1B,MAAMK,IAAoB,CAAC;AAAA,EAC9B,cAAcd;AAAA,EACd,gBAAgBC,IAAa;AAAA,EAC7B,YAAAc,IAAa;AAAA,EACb,UAAAb;AACJ,MAEQ,gBAAAK,EAAC,OAAA,EAAI,cAAYP,GAAW,gBAAcC,GAAY,oBAAkBc,GAAY,WAAWP,EAAO,QACjG,UAAAN,EAAA,CACL;AAGRY,EAAkB,cAAc;AAEzB,MAAME,IAA0BjB;AAAA,EACnC,CACI;AAAA,IACI,cAAcC;AAAA,IACd,oBAAoBU;AAAA,IACpB,gBAAgBT,IAAa;AAAA,IAC7B,UAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,OAAAS;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,GAAGI;AAAA,EAAA,GAEPX,MAGI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAAD;AAAA,MACA,MAAAO;AAAA,MACA,UAAAV;AAAA,MACA,cAAYH;AAAA,MACZ,oBAAkBU;AAAA,MAClB,OAAAE;AAAA,MACA,gBAAcX;AAAA,MACd,WAAWO,EAAO;AAAA,MACjB,GAAGS;AAAA,MAEH,UAAAf;AAAA,IAAA;AAAA,EAAA;AAIjB;AACAc,EAAwB,cAAc;AAE/B,MAAME,IAAc;AAAA,EACvB,MAAMpB;AAAA,EACN,SAASW;AAAA,EACT,QAAQK;AAAA,EACR,cAAcE;AAClB;"}
|
|
@@ -1,136 +1,36 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import { useTabTriggers as K } from "./fondue-components84.js";
|
|
10
|
-
import n from "./fondue-components85.js";
|
|
11
|
-
const u = E({
|
|
12
|
-
value: "",
|
|
13
|
-
disabled: !1
|
|
14
|
-
});
|
|
15
|
-
u.displayName = "TabConfigContext";
|
|
16
|
-
const v = E({
|
|
17
|
-
addTrigger: () => {
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
v.displayName = "TabTriggerContext";
|
|
21
|
-
const L = ({
|
|
22
|
-
padding: t = "compact",
|
|
23
|
-
activeTab: o,
|
|
24
|
-
defaultActiveTab: s,
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import * as a from "@radix-ui/react-switch";
|
|
3
|
+
import { forwardRef as n } from "react";
|
|
4
|
+
import { useTranslation as f } from "./fondue-components42.js";
|
|
5
|
+
import e from "./fondue-components98.js";
|
|
6
|
+
const p = ({
|
|
7
|
+
value: o,
|
|
8
|
+
defaultValue: i,
|
|
25
9
|
size: r = "medium",
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
prop: o,
|
|
35
|
-
defaultProp: s,
|
|
36
|
-
onChange: p
|
|
37
|
-
}), h = H(
|
|
38
|
-
(e) => {
|
|
39
|
-
C(e);
|
|
40
|
-
},
|
|
41
|
-
[C]
|
|
42
|
-
), { triggerListRef: A, activeIndicatorRef: O, triggers: x, triggersOutOfView: N, addTrigger: R } = K({
|
|
43
|
-
activeTab: g
|
|
44
|
-
}), q = I(() => ({ addTrigger: R }), [R]), B = i === "pill" && l;
|
|
45
|
-
return /* @__PURE__ */ a(v.Provider, { value: q, children: /* @__PURE__ */ b(
|
|
46
|
-
m.Root,
|
|
10
|
+
onChange: m,
|
|
11
|
+
"data-test-id": s = "fondue-switch",
|
|
12
|
+
"aria-label": c,
|
|
13
|
+
...d
|
|
14
|
+
}, h) => {
|
|
15
|
+
const { t: l } = f();
|
|
16
|
+
return /* @__PURE__ */ t(
|
|
17
|
+
a.Root,
|
|
47
18
|
{
|
|
48
|
-
ref:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"
|
|
54
|
-
"data-
|
|
55
|
-
"data-
|
|
56
|
-
...
|
|
57
|
-
children:
|
|
58
|
-
/* @__PURE__ */ b("div", { className: n.triggerListWrapper, children: [
|
|
59
|
-
/* @__PURE__ */ a(m.List, { ref: A, "data-size": r, className: n.triggerList, children: x.map((e) => /* @__PURE__ */ z(
|
|
60
|
-
m.Trigger,
|
|
61
|
-
{
|
|
62
|
-
...e.props,
|
|
63
|
-
key: e.value,
|
|
64
|
-
value: e.value,
|
|
65
|
-
disabled: e.disabled,
|
|
66
|
-
className: n.trigger,
|
|
67
|
-
ref: e.ref
|
|
68
|
-
},
|
|
69
|
-
e.element
|
|
70
|
-
)) }),
|
|
71
|
-
/* @__PURE__ */ b(c.Root, { children: [
|
|
72
|
-
N.length > 0 && /* @__PURE__ */ a(c.Trigger, { "data-test-id": "overflow-items-dropdown-trigger", children: /* @__PURE__ */ a(G, { emphasis: "default", aspect: "square", size: "small", children: /* @__PURE__ */ a(M, { size: 16 }) }) }),
|
|
73
|
-
/* @__PURE__ */ a(c.Content, { align: "end", "data-test-id": "overflow-items-dropdown-content", children: N.map((e) => /* @__PURE__ */ z(
|
|
74
|
-
c.Item,
|
|
75
|
-
{
|
|
76
|
-
...e.props,
|
|
77
|
-
disabled: e.disabled,
|
|
78
|
-
onSelect: () => h(e.value),
|
|
79
|
-
key: e.value
|
|
80
|
-
},
|
|
81
|
-
e.element
|
|
82
|
-
)) })
|
|
83
|
-
] }),
|
|
84
|
-
/* @__PURE__ */ a(
|
|
85
|
-
"span",
|
|
86
|
-
{
|
|
87
|
-
"data-test-id": "active-tab-indicator",
|
|
88
|
-
ref: O,
|
|
89
|
-
className: n.activeIndicator
|
|
90
|
-
}
|
|
91
|
-
)
|
|
92
|
-
] }),
|
|
93
|
-
T
|
|
94
|
-
]
|
|
19
|
+
ref: h,
|
|
20
|
+
checked: o,
|
|
21
|
+
defaultChecked: i,
|
|
22
|
+
className: e.root,
|
|
23
|
+
onCheckedChange: m,
|
|
24
|
+
"aria-label": c ?? l("Switch_defaultLabel"),
|
|
25
|
+
"data-test-id": s,
|
|
26
|
+
"data-size": r,
|
|
27
|
+
...d,
|
|
28
|
+
children: /* @__PURE__ */ t(a.Thumb, { className: e.thumb })
|
|
95
29
|
}
|
|
96
|
-
)
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
const S = ({ children: t, value: o, disabled: s }) => {
|
|
100
|
-
const r = I(() => ({ value: o, disabled: s }), [o, s]);
|
|
101
|
-
return /* @__PURE__ */ a(u.Provider, { value: r, children: t });
|
|
102
|
-
};
|
|
103
|
-
S.displayName = "Tabs.Tab";
|
|
104
|
-
const V = ({ children: t, ...o }, s) => {
|
|
105
|
-
const { value: r, disabled: p } = f(u), { addTrigger: T } = f(v), i = y(null), l = y();
|
|
106
|
-
return F(() => {
|
|
107
|
-
T({
|
|
108
|
-
ref: i || s,
|
|
109
|
-
value: r ?? "",
|
|
110
|
-
disabled: p,
|
|
111
|
-
props: o,
|
|
112
|
-
element: t,
|
|
113
|
-
previousElement: l.current
|
|
114
|
-
}), l.current = t;
|
|
115
|
-
}, [t]), null;
|
|
116
|
-
};
|
|
117
|
-
V.displayName = "Tabs.Trigger";
|
|
118
|
-
const k = ({ children: t, ...o }, s) => {
|
|
119
|
-
const { value: r } = f(u);
|
|
120
|
-
return /* @__PURE__ */ a(m.Content, { ref: s, ...o, className: n.content, value: r ?? "", children: t });
|
|
121
|
-
};
|
|
122
|
-
k.displayName = "Tabs.Content";
|
|
123
|
-
const ae = {
|
|
124
|
-
Root: d(L),
|
|
125
|
-
Tab: d(S),
|
|
126
|
-
Trigger: d(V),
|
|
127
|
-
Content: d(k)
|
|
128
|
-
};
|
|
30
|
+
);
|
|
31
|
+
}, u = n(p);
|
|
32
|
+
u.displayName = "Switch";
|
|
129
33
|
export {
|
|
130
|
-
|
|
131
|
-
k as TabsContent,
|
|
132
|
-
L as TabsRoot,
|
|
133
|
-
S as TabsTab,
|
|
134
|
-
V as TabsTrigger
|
|
34
|
+
u as Switch
|
|
135
35
|
};
|
|
136
36
|
//# sourceMappingURL=fondue-components32.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components32.js","sources":["../src/components/Tabs/Tabs.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconDotsHorizontal } from '@frontify/fondue-icons';\nimport * as RadixTabs from '@radix-ui/react-tabs';\nimport {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n type ForwardedRef,\n type ReactNode,\n} from 'react';\n\nimport { useControllableState } from '#/hooks/useControllableState';\n\nimport { Button } from '../Button/Button';\nimport { Dropdown } from '../Dropdown/Dropdown';\nimport { useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport { useTabTriggers } from './hooks/useTabTriggers';\nimport styles from './styles/tabs.module.scss';\nimport { type TabTrigger } from './types';\n\nexport type TabsRootProps = {\n id?: string;\n children: ReactNode;\n /**\n * Define the padding of the dialog\n * @default \"compact\"\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n /**\n * The default active tab\n * Used for uncontrolled components\n */\n defaultActiveTab?: string;\n /**\n * The controlled value of the active tab\n */\n activeTab?: string;\n /**\n * The height of the tabs\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /**\n * Event handler called when the active tab changes\n */\n onActiveTabChange?: (value: string) => void;\n /**\n * Select the used variant\n * @default 'default'\n */\n variant?: 'default' | 'pill';\n /**\n * Add a divider line below the tabs\n * Only available when variant is 'pill'\n * Useful for tabs placed inside Dialog content\n * @default false\n */\n withDivider?: boolean;\n};\n\nconst TabConfigContext = createContext<{\n value: string;\n disabled?: boolean;\n}>({\n value: '',\n disabled: false,\n});\nTabConfigContext.displayName = 'TabConfigContext';\n\nconst TabTriggerContext = createContext<{\n addTrigger: (trigger: TabTrigger) => void;\n}>({\n addTrigger: () => {},\n});\nTabTriggerContext.displayName = 'TabTriggerContext';\n\nexport const TabsRoot = (\n {\n padding = 'compact',\n activeTab: propsActiveTab,\n defaultActiveTab,\n size = 'medium',\n onActiveTabChange,\n children,\n variant = 'default',\n withDivider = false,\n ...props\n }: TabsRootProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const { dir } = useFondueTheme();\n\n const [activeTab, setActiveTab] = useControllableState({\n prop: propsActiveTab,\n defaultProp: defaultActiveTab,\n onChange: onActiveTabChange,\n });\n\n const handleSetActiveTab = useCallback(\n (value: string) => {\n setActiveTab(value);\n },\n [setActiveTab],\n );\n\n const { triggerListRef, activeIndicatorRef, triggers, triggersOutOfView, addTrigger } = useTabTriggers({\n activeTab,\n });\n\n const contextValue = useMemo(() => ({ addTrigger }), [addTrigger]);\n\n // Only apply withDivider when variant is 'pill'\n const shouldShowDivider = variant === 'pill' && withDivider;\n\n return (\n <TabTriggerContext.Provider value={contextValue}>\n <RadixTabs.Root\n ref={ref}\n dir={dir}\n className={styles.root}\n onValueChange={handleSetActiveTab}\n value={activeTab ?? triggers[0]?.value}\n data-tabs-content-padding={padding}\n data-tabs-variant={variant}\n data-tabs-with-divider={shouldShowDivider}\n {...props}\n >\n <div className={styles.triggerListWrapper}>\n <RadixTabs.List ref={triggerListRef} data-size={size} className={styles.triggerList}>\n {triggers.map((trigger) => (\n <RadixTabs.Trigger\n {...trigger.props}\n key={trigger.value}\n value={trigger.value}\n disabled={trigger.disabled}\n className={styles.trigger}\n ref={trigger.ref}\n >\n {trigger.element}\n </RadixTabs.Trigger>\n ))}\n </RadixTabs.List>\n <Dropdown.Root>\n {triggersOutOfView.length > 0 && (\n <Dropdown.Trigger data-test-id=\"overflow-items-dropdown-trigger\">\n <Button emphasis=\"default\" aspect=\"square\" size=\"small\">\n <IconDotsHorizontal size={16} />\n </Button>\n </Dropdown.Trigger>\n )}\n <Dropdown.Content align=\"end\" data-test-id=\"overflow-items-dropdown-content\">\n {triggersOutOfView.map((trigger) => (\n <Dropdown.Item\n {...trigger.props}\n disabled={trigger.disabled}\n onSelect={() => handleSetActiveTab(trigger.value)}\n key={trigger.value}\n >\n {trigger.element}\n </Dropdown.Item>\n ))}\n </Dropdown.Content>\n </Dropdown.Root>\n <span\n data-test-id=\"active-tab-indicator\"\n ref={activeIndicatorRef}\n className={styles.activeIndicator}\n />\n </div>\n {children}\n </RadixTabs.Root>\n </TabTriggerContext.Provider>\n );\n};\nTabsRoot.displayName = 'Tabs.Root';\n\ntype TabsTabProps = {\n children: ReactNode;\n value: string;\n disabled?: boolean;\n};\n\nexport const TabsTab = ({ children, value, disabled }: TabsTabProps) => {\n const contextValue = useMemo(() => ({ value, disabled }), [value, disabled]);\n\n return <TabConfigContext.Provider value={contextValue}>{children}</TabConfigContext.Provider>;\n};\nTabsTab.displayName = 'Tabs.Tab';\n\ntype TabsTriggerProps = {\n children: ReactNode;\n};\n\nexport const TabsTrigger = ({ children, ...props }: TabsTriggerProps, ref: ForwardedRef<HTMLButtonElement>) => {\n const { value, disabled } = useContext(TabConfigContext);\n\n const { addTrigger } = useContext(TabTriggerContext);\n\n const localRef = useRef<HTMLButtonElement>(null);\n const previousElement = useRef<ReactNode>();\n\n useEffect(() => {\n addTrigger({\n ref: localRef || ref,\n value: value ?? '',\n disabled,\n props,\n element: children,\n previousElement: previousElement.current,\n });\n previousElement.current = children;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [children]);\n\n return null;\n};\nTabsTrigger.displayName = 'Tabs.Trigger';\n\ntype TabsContentProps = {\n children: ReactNode;\n asChild?: boolean;\n};\n\nexport const TabsContent = ({ children, ...itemProps }: TabsContentProps, ref: ForwardedRef<HTMLDivElement>) => {\n const { value } = useContext(TabConfigContext);\n\n return (\n <RadixTabs.Content ref={ref} {...itemProps} className={styles.content} value={value ?? ''}>\n {children}\n </RadixTabs.Content>\n );\n};\nTabsContent.displayName = 'Tabs.Content';\n\nexport const Tabs = {\n Root: forwardRef<HTMLDivElement, TabsRootProps>(TabsRoot),\n Tab: forwardRef<HTMLDivElement, TabsTabProps>(TabsTab),\n Trigger: forwardRef<HTMLButtonElement, TabsTriggerProps>(TabsTrigger),\n Content: forwardRef<HTMLDivElement, TabsContentProps>(TabsContent),\n};\n"],"names":["TabConfigContext","createContext","TabTriggerContext","TabsRoot","padding","propsActiveTab","defaultActiveTab","size","onActiveTabChange","children","variant","withDivider","props","ref","dir","useFondueTheme","activeTab","setActiveTab","useControllableState","handleSetActiveTab","useCallback","value","triggerListRef","activeIndicatorRef","triggers","triggersOutOfView","addTrigger","useTabTriggers","contextValue","useMemo","shouldShowDivider","jsx","jsxs","RadixTabs","styles","_a","trigger","createElement","Dropdown","Button","IconDotsHorizontal","TabsTab","disabled","TabsTrigger","useContext","localRef","useRef","previousElement","useEffect","TabsContent","itemProps","Tabs","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fondue-components32.js","sources":["../src/components/Switch/Switch.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadixSwitch from '@radix-ui/react-switch';\nimport { type FormEvent, type ForwardedRef, forwardRef } from 'react';\n\nimport { useTranslation } from '#/hooks/useTranslation';\nimport { type CommonAriaAttrs } from '#/utilities/types';\n\nimport styles from './styles/switch.module.scss';\n\ntype SwitchProps = {\n id?: string;\n name?: string;\n /**\n * The size of the switch component.\n * @default medium\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * The active value in the select component. This is used to control the select externally.\n * @default false\n */\n value?: boolean;\n /**\n * The default value of the select component. Used for uncontrolled usages.\n * @default false\n */\n defaultValue?: boolean;\n /**\n * Disables the select component.\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the switch is required.\n * @default false\n */\n required?: boolean;\n /**\n * Callback function that is called when the switch is toggled.\n * @param checked - The new checked state of the switch\n */\n onChange?: (checked: boolean) => void;\n /**\n * Event handler called when the checkbox is blurred\n * @param event - The event object\n */\n onBlur?: (event: FormEvent<HTMLButtonElement>) => void;\n /**\n * Event handler called when the checkbox is focused\n * @param event - The event object\n */\n onFocus?: (event: FormEvent<HTMLButtonElement>) => void;\n 'data-test-id'?: string;\n} & CommonAriaAttrs;\n\nconst SwitchComponent = (\n {\n value,\n defaultValue,\n size = 'medium',\n onChange,\n 'data-test-id': dataTestId = 'fondue-switch',\n 'aria-label': ariaLabel,\n ...props\n }: SwitchProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) => {\n const { t } = useTranslation();\n\n return (\n <RadixSwitch.Root\n ref={ref}\n checked={value}\n defaultChecked={defaultValue}\n className={styles.root}\n onCheckedChange={onChange}\n aria-label={ariaLabel ?? t('Switch_defaultLabel')}\n data-test-id={dataTestId}\n data-size={size}\n {...props}\n >\n <RadixSwitch.Thumb className={styles.thumb} />\n </RadixSwitch.Root>\n );\n};\n\nexport const Switch = forwardRef<HTMLButtonElement, SwitchProps>(SwitchComponent);\nSwitch.displayName = 'Switch';\n"],"names":["SwitchComponent","value","defaultValue","size","onChange","dataTestId","ariaLabel","props","ref","t","useTranslation","jsx","RadixSwitch","styles","Switch","forwardRef"],"mappings":";;;;;AAwDA,MAAMA,IAAkB,CACpB;AAAA,EACI,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,UAAAC;AAAA,EACA,gBAAgBC,IAAa;AAAA,EAC7B,cAAcC;AAAA,EACd,GAAGC;AACP,GACAC,MACC;AACD,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA;AAEd,SACI,gBAAAC;AAAA,IAACC,EAAY;AAAA,IAAZ;AAAA,MACG,KAAAJ;AAAA,MACA,SAASP;AAAA,MACT,gBAAgBC;AAAA,MAChB,WAAWW,EAAO;AAAA,MAClB,iBAAiBT;AAAA,MACjB,cAAYE,KAAaG,EAAE,qBAAqB;AAAA,MAChD,gBAAcJ;AAAA,MACd,aAAWF;AAAA,MACV,GAAGI;AAAA,MAEJ,4BAACK,EAAY,OAAZ,EAAkB,WAAWC,EAAO,MAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGxD,GAEaC,IAASC,EAA2Cf,CAAe;AAChFc,EAAO,cAAc;"}
|