@strapi/design-system 1.7.6 → 1.7.7
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/BaseButton/BaseButton.cjs +3 -3
- package/dist/BaseButton/BaseButton.js +5 -5
- package/dist/CarouselInput/Carousel.cjs +6 -7
- package/dist/CarouselInput/Carousel.js +25 -79
- package/dist/CarouselInput/CarouselActions.cjs +1 -1
- package/dist/CarouselInput/CarouselActions.js +1 -14
- package/dist/CarouselInput/CarouselImage.cjs +3 -4
- package/dist/CarouselInput/CarouselImage.js +13 -23
- package/dist/CarouselInput/CarouselInput.cjs +1 -1
- package/dist/CarouselInput/CarouselInput.js +12 -75
- package/dist/CarouselInput/CarouselSlide.cjs +1 -3
- package/dist/CarouselInput/CarouselSlide.js +4 -29
- package/dist/Checkbox/Checkbox.cjs +3 -3
- package/dist/Checkbox/Checkbox.js +18 -40
- package/dist/Dialog/Dialog.cjs +5 -5
- package/dist/Dialog/Dialog.js +21 -49
- package/dist/Dialog/DialogBody.cjs +2 -2
- package/dist/Dialog/DialogBody.js +6 -19
- package/dist/Dialog/DialogFooter.cjs +2 -2
- package/dist/Dialog/DialogFooter.js +7 -21
- package/dist/ModalLayout/ModalBody.cjs +2 -2
- package/dist/ModalLayout/ModalBody.js +4 -5
- package/dist/ModalLayout/ModalContext.cjs +1 -1
- package/dist/ModalLayout/ModalContext.js +2 -1
- package/dist/ModalLayout/ModalFooter.cjs +2 -6
- package/dist/ModalLayout/ModalFooter.js +9 -26
- package/dist/ModalLayout/ModalHeader.cjs +2 -2
- package/dist/ModalLayout/ModalHeader.js +10 -22
- package/dist/ModalLayout/ModalLayout.cjs +3 -5
- package/dist/ModalLayout/ModalLayout.js +10 -30
- package/dist/NumberInput/NumberInput.cjs +2 -2
- package/dist/NumberInput/NumberInput.js +68 -168
- package/dist/Pagination/Pagination.cjs +1 -5
- package/dist/Pagination/Pagination.js +7 -21
- package/dist/Pagination/components.cjs +7 -10
- package/dist/Pagination/components.js +34 -81
- package/dist/Popover/Popover.cjs +3 -3
- package/dist/Popover/Popover.js +67 -66
- package/dist/ProgressBar/ProgressBar.cjs +5 -5
- package/dist/ProgressBar/ProgressBar.js +6 -37
- package/dist/Radio/Radio.cjs +1 -4
- package/dist/Radio/Radio.js +5 -18
- package/dist/Searchbar/SearchForm.cjs +1 -1
- package/dist/Searchbar/SearchForm.js +2 -3
- package/dist/Searchbar/Searchbar.cjs +10 -11
- package/dist/Searchbar/Searchbar.js +25 -54
- package/dist/Status/Status.cjs +6 -6
- package/dist/Status/Status.js +8 -46
- package/dist/Switch/Switch.cjs +5 -5
- package/dist/Switch/Switch.js +16 -52
- package/dist/Tabs/TabGroup.cjs +1 -1
- package/dist/Tabs/TabGroup.js +13 -37
- package/dist/Tabs/TabPanels.cjs +1 -1
- package/dist/Tabs/TabPanels.js +11 -22
- package/dist/Tabs/Tabs.cjs +2 -2
- package/dist/Tabs/Tabs.js +55 -110
- package/dist/Tabs/TabsContext.cjs +1 -1
- package/dist/Tabs/TabsContext.js +11 -4
- package/dist/Textarea/Textarea.cjs +14 -12
- package/dist/Textarea/Textarea.js +33 -55
- package/dist/ToggleCheckbox/ToggleCheckbox.cjs +8 -8
- package/dist/ToggleCheckbox/ToggleCheckbox.js +25 -121
- package/dist/ToggleInput/ToggleInput.cjs +3 -3
- package/dist/ToggleInput/ToggleInput.js +17 -70
- package/dist/Typography/Typography.cjs +1 -1
- package/dist/Typography/Typography.js +6 -6
- package/dist/hooks/useControllableState.cjs +1 -1
- package/dist/hooks/useControllableState.js +6 -6
- package/dist/themes/utils.cjs +2 -2
- package/dist/themes/utils.js +1 -1
- package/package.json +4 -4
- package/dist/Tabs/useTabsFocus.cjs +0 -1
- package/dist/Tabs/useTabsFocus.js +0 -17
- package/dist/Textarea/TextareaInput.cjs +0 -30
- package/dist/Textarea/TextareaInput.js +0 -65
|
@@ -1,76 +1,47 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { Flex as a } from "../Flex/Flex.js";
|
|
10
|
-
import { Field as w } from "../Field/Field.js";
|
|
1
|
+
import { jsx as o, jsxs as $ } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as R, useRef as S } from "react";
|
|
3
|
+
import { Cross as w, Search as x } from "@strapi/icons";
|
|
4
|
+
import e from "styled-components";
|
|
5
|
+
import { composeRefs as C } from "../hooks/useComposeRefs.js";
|
|
6
|
+
import { inputFocusStyle as F } from "../themes/utils.js";
|
|
7
|
+
import { InputWrapper as n, FieldInput as y } from "../Field/FieldInput.js";
|
|
8
|
+
import { Field as I } from "../Field/Field.js";
|
|
11
9
|
import { VisuallyHidden as z } from "../VisuallyHidden/VisuallyHidden.js";
|
|
12
|
-
import { FieldLabel as
|
|
13
|
-
import { FieldAction as
|
|
14
|
-
const
|
|
10
|
+
import { FieldLabel as A } from "../Field/FieldLabel.js";
|
|
11
|
+
import { FieldAction as g } from "../Field/FieldAction.js";
|
|
12
|
+
const j = e(w)`
|
|
15
13
|
font-size: 0.5rem;
|
|
16
|
-
|
|
14
|
+
path {
|
|
17
15
|
fill: ${({ theme: r }) => r.colors.neutral400};
|
|
18
16
|
}
|
|
19
|
-
`,
|
|
17
|
+
`, l = e(x)`
|
|
20
18
|
font-size: 0.8rem;
|
|
21
|
-
|
|
22
|
-
svg path {
|
|
19
|
+
path {
|
|
23
20
|
fill: ${({ theme: r }) => r.colors.neutral800};
|
|
24
21
|
}
|
|
25
|
-
`,
|
|
22
|
+
`, W = e.div`
|
|
26
23
|
border-radius: ${({ theme: r }) => r.borderRadius};
|
|
27
24
|
box-shadow: ${({ theme: r }) => r.shadows.filterShadow};
|
|
28
25
|
|
|
29
26
|
&:focus-within {
|
|
30
|
-
${
|
|
31
|
-
|
|
27
|
+
${l} {
|
|
28
|
+
path {
|
|
32
29
|
fill: ${({ theme: r }) => r.colors.primary600};
|
|
33
30
|
}
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
33
|
|
|
37
|
-
${
|
|
34
|
+
${n} {
|
|
38
35
|
border: 1px solid transparent;
|
|
39
36
|
}
|
|
40
37
|
|
|
41
|
-
${
|
|
42
|
-
`,
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
F,
|
|
48
|
-
{
|
|
49
|
-
ref: h || n,
|
|
50
|
-
value: s,
|
|
51
|
-
startAction: /* @__PURE__ */ e(p, { children: /* @__PURE__ */ e(C, { "aria-hidden": !0 }) }),
|
|
52
|
-
size: c,
|
|
53
|
-
endAction: b ? /* @__PURE__ */ e(I, { label: f, onClick: (R) => {
|
|
54
|
-
m(R), n.current.focus();
|
|
55
|
-
}, children: /* @__PURE__ */ e(W, { children: /* @__PURE__ */ e(S, {}) }) }) : void 0,
|
|
56
|
-
...u
|
|
57
|
-
}
|
|
58
|
-
)
|
|
59
|
-
] }) });
|
|
38
|
+
${F(n)}
|
|
39
|
+
`, J = R(({ name: r, size: s = "M", children: a, value: t = "", onClear: c, clearLabel: d, ...m }, p) => {
|
|
40
|
+
const i = S(null), f = t.length > 0, h = (b) => {
|
|
41
|
+
c(b), i.current.focus();
|
|
42
|
+
}, u = C(p, i);
|
|
43
|
+
return o(W, { children: $(I, { name: r, children: [o(z, { children: o(A, { children: a }) }), o(y, { ref: u, value: t, startAction: o(l, { "aria-hidden": !0 }), size: s, endAction: f ? o(g, { label: d, onClick: h, children: o(j, {}) }) : void 0, ...m })] }) });
|
|
60
44
|
});
|
|
61
|
-
t.displayName = "Searchbar";
|
|
62
|
-
t.defaultProps = {
|
|
63
|
-
value: "",
|
|
64
|
-
size: "M"
|
|
65
|
-
};
|
|
66
|
-
t.propTypes = {
|
|
67
|
-
children: o.node.isRequired,
|
|
68
|
-
clearLabel: o.string.isRequired,
|
|
69
|
-
name: o.string.isRequired,
|
|
70
|
-
onClear: o.func.isRequired,
|
|
71
|
-
size: o.oneOf(Object.keys(v.input)),
|
|
72
|
-
value: o.string
|
|
73
|
-
};
|
|
74
45
|
export {
|
|
75
|
-
|
|
46
|
+
J as Searchbar
|
|
76
47
|
};
|
package/dist/Status/Status.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
2
|
-
margin-right: ${({theme:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),p=require("styled-components"),b=require("../Box/Box.cjs"),x=require("../Typography/Typography.cjs"),$=require("../Flex/Flex.cjs"),h=o=>o&&o.__esModule?o:{default:o},u=h(p),y=u.default.div`
|
|
2
|
+
margin-right: ${({theme:o})=>o.spaces[3]};
|
|
3
3
|
width: ${6/16}rem;
|
|
4
4
|
height: ${6/16}rem;
|
|
5
5
|
border-radius: 50%;
|
|
6
|
-
background: ${({theme:
|
|
7
|
-
`,
|
|
6
|
+
background: ${({theme:o,backgroundColor:t})=>o.colors[t]};
|
|
7
|
+
`,f=u.default(b.Box)`
|
|
8
8
|
${x.Typography} {
|
|
9
|
-
color: ${({theme:
|
|
9
|
+
color: ${({theme:o,textColor:t})=>o.colors[t]};
|
|
10
10
|
}
|
|
11
|
-
`,
|
|
11
|
+
`,m=({variant:o="primary",showBullet:t=!0,size:e="M",children:s,...l})=>{const c=`${o}100`,a=`${o}200`,i=`${o}600`,g=`${o}600`,d=e==="S"?2:5,n=e==="S"?1:4;return r.jsx(f,{borderColor:a,textColor:g,background:c,hasRadius:!0,paddingTop:n,paddingBottom:n,paddingLeft:d,paddingRight:d,...l,children:t?r.jsxs($.Flex,{children:[r.jsx(y,{backgroundColor:i}),s]}):s})};exports.Status=m;
|
package/dist/Status/Status.js
CHANGED
|
@@ -1,60 +1,22 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import "react";
|
|
3
|
-
import t from "prop-types";
|
|
1
|
+
import { jsx as n, jsxs as a } from "react/jsx-runtime";
|
|
4
2
|
import p from "styled-components";
|
|
5
|
-
import { Box as
|
|
3
|
+
import { Box as u } from "../Box/Box.js";
|
|
6
4
|
import { Typography as $ } from "../Typography/Typography.js";
|
|
7
5
|
import { Flex as b } from "../Flex/Flex.js";
|
|
8
|
-
const
|
|
6
|
+
const h = p.div`
|
|
9
7
|
margin-right: ${({ theme: o }) => o.spaces[3]};
|
|
10
8
|
width: ${6 / 16}rem;
|
|
11
9
|
height: ${6 / 16}rem;
|
|
12
10
|
border-radius: 50%;
|
|
13
11
|
background: ${({ theme: o, backgroundColor: r }) => o.colors[r]};
|
|
14
|
-
`, x = p(
|
|
12
|
+
`, x = p(u)`
|
|
15
13
|
${$} {
|
|
16
14
|
color: ${({ theme: o, textColor: r }) => o.colors[r]};
|
|
17
15
|
}
|
|
18
|
-
`,
|
|
19
|
-
const
|
|
20
|
-
return
|
|
21
|
-
x,
|
|
22
|
-
{
|
|
23
|
-
borderColor: m,
|
|
24
|
-
textColor: g,
|
|
25
|
-
background: c,
|
|
26
|
-
hasRadius: !0,
|
|
27
|
-
paddingTop: d,
|
|
28
|
-
paddingBottom: d,
|
|
29
|
-
paddingLeft: n,
|
|
30
|
-
paddingRight: n,
|
|
31
|
-
...l,
|
|
32
|
-
children: r ? /* @__PURE__ */ h(b, { children: [
|
|
33
|
-
/* @__PURE__ */ i(y, { backgroundColor: u }),
|
|
34
|
-
s
|
|
35
|
-
] }) : s
|
|
36
|
-
}
|
|
37
|
-
);
|
|
38
|
-
};
|
|
39
|
-
a.defaultProps = {
|
|
40
|
-
showBullet: !0,
|
|
41
|
-
size: "M",
|
|
42
|
-
variant: "primary"
|
|
43
|
-
};
|
|
44
|
-
a.propTypes = {
|
|
45
|
-
children: t.node.isRequired,
|
|
46
|
-
/**
|
|
47
|
-
* If `false`, the preceeding bullet of the status won't be displayed.
|
|
48
|
-
* This prop and the bullet will be removed in the next major version.
|
|
49
|
-
*/
|
|
50
|
-
showBullet: t.bool,
|
|
51
|
-
// TODO V2: remove prop and bullet
|
|
52
|
-
size: t.oneOf(["S", "M"]),
|
|
53
|
-
/**
|
|
54
|
-
* Color variation
|
|
55
|
-
*/
|
|
56
|
-
variant: t.oneOf(["alternative", "danger", "neutral", "primary", "secondary", "success", "warning"])
|
|
16
|
+
`, B = ({ variant: o = "primary", showBullet: r = !0, size: t = "M", children: d, ...c }) => {
|
|
17
|
+
const i = `${o}100`, l = `${o}200`, g = `${o}600`, m = `${o}600`, s = t === "S" ? 2 : 5, e = t === "S" ? 1 : 4;
|
|
18
|
+
return n(x, { borderColor: l, textColor: m, background: i, hasRadius: !0, paddingTop: e, paddingBottom: e, paddingLeft: s, paddingRight: s, ...c, children: r ? a(b, { children: [n(h, { backgroundColor: g }), d] }) : d });
|
|
57
19
|
};
|
|
58
20
|
export {
|
|
59
|
-
|
|
21
|
+
B as Status
|
|
60
22
|
};
|
package/dist/Switch/Switch.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),h=require("react"),f=require("styled-components"),p=require("../Flex/Flex.cjs"),b=require("../Box/Box.cjs"),i=e=>e&&e.__esModule?e:{default:e},g=i(h),c=i(f),n=c.default.div`
|
|
2
2
|
background: ${({theme:e})=>e.colors.danger500};
|
|
3
3
|
border: none;
|
|
4
4
|
border-radius: 16px;
|
|
@@ -27,16 +27,16 @@
|
|
|
27
27
|
transition: none;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
`,
|
|
30
|
+
`,x=c.default.button`
|
|
31
31
|
background: transparent;
|
|
32
32
|
padding: 0;
|
|
33
33
|
border: none;
|
|
34
34
|
|
|
35
|
-
&[aria-checked='true'] ${
|
|
35
|
+
&[aria-checked='true'] ${n} {
|
|
36
36
|
background: ${({theme:e})=>e.colors.success500};
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
&[aria-checked='true'] ${
|
|
39
|
+
&[aria-checked='true'] ${n}:before {
|
|
40
40
|
transform: translateX(1rem);
|
|
41
41
|
}
|
|
42
|
-
`,
|
|
42
|
+
`,m=g.default.forwardRef(({label:e,onChange:d,onLabel:o="On",offLabel:s="Off",selected:t,visibleLabels:a=!1,...u},l)=>r.jsx(x,{ref:l,role:"switch","aria-checked":t,"aria-label":e,onClick:d,visibleLabels:a,type:"button",...u,children:r.jsxs(p.Flex,{children:[r.jsxs(n,{children:[r.jsx("span",{children:o}),r.jsx("span",{children:s})]}),a&&r.jsx(b.Box,{as:"span","aria-hidden":!0,paddingLeft:2,color:t?"success600":"danger600",children:t?o:s})]})}));exports.Switch=m;
|
package/dist/Switch/Switch.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { Flex as h } from "../Flex/Flex.js";
|
|
1
|
+
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import h from "react";
|
|
3
|
+
import c from "styled-components";
|
|
4
|
+
import { Flex as u } from "../Flex/Flex.js";
|
|
6
5
|
import { Box as m } from "../Box/Box.js";
|
|
7
|
-
const
|
|
8
|
-
background: ${({ theme:
|
|
6
|
+
const t = c.div`
|
|
7
|
+
background: ${({ theme: r }) => r.colors.danger500};
|
|
9
8
|
border: none;
|
|
10
9
|
border-radius: 16px;
|
|
11
10
|
position: relative;
|
|
@@ -13,19 +12,19 @@ const n = l.div`
|
|
|
13
12
|
width: ${40 / 16}rem;
|
|
14
13
|
|
|
15
14
|
& span {
|
|
16
|
-
font-size: ${({ visibleLabels:
|
|
15
|
+
font-size: ${({ visibleLabels: r }) => r ? "1rem" : 0};
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
&:before {
|
|
20
19
|
content: '';
|
|
21
|
-
background: ${({ theme:
|
|
20
|
+
background: ${({ theme: r }) => r.colors.neutral0};
|
|
22
21
|
width: 1rem;
|
|
23
22
|
height: 1rem;
|
|
24
23
|
border-radius: 50%;
|
|
25
24
|
position: absolute;
|
|
26
25
|
transition: all 0.5s;
|
|
27
|
-
left: ${({ theme:
|
|
28
|
-
top: ${({ theme:
|
|
26
|
+
left: ${({ theme: r }) => r.spaces[1]};
|
|
27
|
+
top: ${({ theme: r }) => r.spaces[1]};
|
|
29
28
|
}
|
|
30
29
|
|
|
31
30
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -33,54 +32,19 @@ const n = l.div`
|
|
|
33
32
|
transition: none;
|
|
34
33
|
}
|
|
35
34
|
}
|
|
36
|
-
`,
|
|
35
|
+
`, f = c.button`
|
|
37
36
|
background: transparent;
|
|
38
37
|
padding: 0;
|
|
39
38
|
border: none;
|
|
40
39
|
|
|
41
|
-
&[aria-checked='true'] ${
|
|
42
|
-
background: ${({ theme:
|
|
40
|
+
&[aria-checked='true'] ${t} {
|
|
41
|
+
background: ${({ theme: r }) => r.colors.success500};
|
|
43
42
|
}
|
|
44
43
|
|
|
45
|
-
&[aria-checked='true'] ${
|
|
44
|
+
&[aria-checked='true'] ${t}:before {
|
|
46
45
|
transform: translateX(1rem);
|
|
47
46
|
}
|
|
48
|
-
`,
|
|
49
|
-
({ label: e, onChange: p, onLabel: a, offLabel: s, selected: t, visibleLabels: d, ...u }, f) => /* @__PURE__ */ o(
|
|
50
|
-
g,
|
|
51
|
-
{
|
|
52
|
-
ref: f,
|
|
53
|
-
role: "switch",
|
|
54
|
-
"aria-checked": t,
|
|
55
|
-
"aria-label": e,
|
|
56
|
-
onClick: p,
|
|
57
|
-
visibleLabels: d,
|
|
58
|
-
type: "button",
|
|
59
|
-
...u,
|
|
60
|
-
children: /* @__PURE__ */ c(h, { children: [
|
|
61
|
-
/* @__PURE__ */ c(n, { children: [
|
|
62
|
-
/* @__PURE__ */ o("span", { children: a }),
|
|
63
|
-
/* @__PURE__ */ o("span", { children: s })
|
|
64
|
-
] }),
|
|
65
|
-
d && /* @__PURE__ */ o(m, { as: "span", "aria-hidden": !0, paddingLeft: 2, color: t ? "success600" : "danger600", children: t ? a : s })
|
|
66
|
-
] })
|
|
67
|
-
}
|
|
68
|
-
)
|
|
69
|
-
);
|
|
70
|
-
i.defaultProps = {
|
|
71
|
-
onLabel: "On",
|
|
72
|
-
offLabel: "Off",
|
|
73
|
-
visibleLabels: !1
|
|
74
|
-
};
|
|
75
|
-
i.propTypes = {
|
|
76
|
-
label: r.string.isRequired,
|
|
77
|
-
offLabel: r.string,
|
|
78
|
-
onChange: r.func.isRequired,
|
|
79
|
-
onLabel: r.string,
|
|
80
|
-
selected: r.bool.isRequired,
|
|
81
|
-
visibleLabels: r.bool
|
|
82
|
-
};
|
|
83
|
-
i.displayName = "Switch";
|
|
47
|
+
`, x = h.forwardRef(({ label: r, onChange: d, onLabel: n = "On", offLabel: i = "Off", selected: o, visibleLabels: a = !1, ...l }, p) => e(f, { ref: p, role: "switch", "aria-checked": o, "aria-label": r, onClick: d, visibleLabels: a, type: "button", ...l, children: s(u, { children: [s(t, { children: [e("span", { children: n }), e("span", { children: i })] }), a && e(m, { as: "span", "aria-hidden": !0, paddingLeft: 2, color: o ? "success600" : "danger600", children: o ? n : i })] }) }));
|
|
84
48
|
export {
|
|
85
|
-
|
|
49
|
+
x as Switch
|
|
86
50
|
};
|
package/dist/Tabs/TabGroup.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),p=require("react"),m=require("./TabsContext.cjs"),x=require("../hooks/useId.cjs");function T(e){if(e&&e.__esModule)return e;const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const o=T(p),i=o.forwardRef(({id:e,initialSelectedTabIndex:r=0,label:t,onTabChange:n,variant:s,...l},b)=>{const c=x.useId(e),[u,a]=o.useState(r);o.useImperativeHandle(b,()=>({_handlers:{setSelectedTabIndex:a}}));const f=o.useMemo(()=>({id:c,selectedTabIndex:u,selectTabIndex:a,label:t,variant:s,onTabChange:n}),[t,n,u,c,s]);return d.jsx(m.TabsContext.Provider,{value:f,children:d.jsx("div",{...l})})});i.displayName="TabGroup";exports.TabGroup=i;
|
package/dist/Tabs/TabGroup.js
CHANGED
|
@@ -1,40 +1,16 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import * as
|
|
3
|
-
import e from "prop-types";
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import * as e from "react";
|
|
4
3
|
import { TabsContext as x } from "./TabsContext.js";
|
|
5
|
-
import { useId as
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const v = r.useMemo(
|
|
16
|
-
() => ({ id: l, selectedTabIndex: m, selectTabIndex: b, label: n, variant: a, onTabChange: s }),
|
|
17
|
-
[n, s, m, l, a]
|
|
18
|
-
);
|
|
19
|
-
return /* @__PURE__ */ f(x.Provider, { value: v, children: /* @__PURE__ */ f("div", { ...p }) });
|
|
20
|
-
}
|
|
21
|
-
);
|
|
22
|
-
t.displayName = "TabGroup";
|
|
23
|
-
t.defaultProps = {
|
|
24
|
-
id: void 0,
|
|
25
|
-
initialSelectedTabIndex: void 0,
|
|
26
|
-
onTabChange() {
|
|
27
|
-
},
|
|
28
|
-
variant: void 0
|
|
29
|
-
};
|
|
30
|
-
t.propTypes = {
|
|
31
|
-
children: e.node.isRequired,
|
|
32
|
-
id: e.string,
|
|
33
|
-
initialSelectedTabIndex: e.number,
|
|
34
|
-
label: e.string.isRequired,
|
|
35
|
-
onTabChange: e.func,
|
|
36
|
-
variant: e.oneOf(["simple"])
|
|
37
|
-
};
|
|
4
|
+
import { useId as f } from "../hooks/useId.js";
|
|
5
|
+
const l = e.forwardRef(({ id: c, initialSelectedTabIndex: n = 0, label: t, onTabChange: o, variant: r, ...i }, p) => {
|
|
6
|
+
const s = f(c), [d, a] = e.useState(n);
|
|
7
|
+
e.useImperativeHandle(p, () => ({
|
|
8
|
+
_handlers: { setSelectedTabIndex: a }
|
|
9
|
+
}));
|
|
10
|
+
const u = e.useMemo(() => ({ id: s, selectedTabIndex: d, selectTabIndex: a, label: t, variant: r, onTabChange: o }), [t, o, d, s, r]);
|
|
11
|
+
return m(x.Provider, { value: u, children: m("div", { ...i }) });
|
|
12
|
+
});
|
|
13
|
+
l.displayName = "TabGroup";
|
|
38
14
|
export {
|
|
39
|
-
|
|
15
|
+
l as TabGroup
|
|
40
16
|
};
|
package/dist/Tabs/TabPanels.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react/jsx-runtime"),s=require("react"),c=require("./TabsContext.cjs"),i=({children:e,...t})=>{const{id:a,selectedTabIndex:n}=c.useTabs(),o=s.Children.toArray(e).map((l,r)=>s.cloneElement(l,{id:`${a}-${r}`})).filter((l,r)=>r===n);return b.jsx("div",{...t,children:o})},d=({id:e,...t})=>{const a=`${e}-tab`,n=`${e}-tabpanel`;return b.jsx("div",{id:n,role:"tabpanel",tabIndex:0,"aria-labelledby":a,...t})};exports.TabPanel=d;exports.TabPanels=i;
|
package/dist/Tabs/TabPanels.js
CHANGED
|
@@ -1,25 +1,14 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { Children as
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
children: i.node.isRequired
|
|
11
|
-
};
|
|
12
|
-
const l = ({ id: e, ...r }) => {
|
|
13
|
-
const t = `${e}-tab`, o = `${e}-tabpanel`;
|
|
14
|
-
return /* @__PURE__ */ d("div", { id: o, role: "tabpanel", tabIndex: 0, "aria-labelledby": t, ...r });
|
|
15
|
-
};
|
|
16
|
-
l.defaultProps = {
|
|
17
|
-
id: void 0
|
|
18
|
-
};
|
|
19
|
-
l.propTypes = {
|
|
20
|
-
id: i.string
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { Children as b, cloneElement as i } from "react";
|
|
3
|
+
import { useTabs as s } from "./TabsContext.js";
|
|
4
|
+
const f = ({ children: e, ...t }) => {
|
|
5
|
+
const { id: a, selectedTabIndex: r } = s(), d = b.toArray(e).map((l, n) => i(l, { id: `${a}-${n}` })).filter((l, n) => n === r);
|
|
6
|
+
return o("div", { ...t, children: d });
|
|
7
|
+
}, x = ({ id: e, ...t }) => {
|
|
8
|
+
const a = `${e}-tab`, r = `${e}-tabpanel`;
|
|
9
|
+
return o("div", { id: r, role: "tabpanel", tabIndex: 0, "aria-labelledby": a, ...t });
|
|
21
10
|
};
|
|
22
11
|
export {
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
x as TabPanel,
|
|
13
|
+
f as TabPanels
|
|
25
14
|
};
|
package/dist/Tabs/Tabs.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),x=require("react"),I=require("@strapi/ui-primitives"),K=require("styled-components"),m=require("./components.cjs"),R=require("./TabsContext.cjs"),T=require("../helpers/keyboardKeys.cjs"),C=require("../Typography/Typography.cjs"),k=n=>n&&n.__esModule?n:{default:n},j=k(K),q=(n,u)=>{const i=x.useRef(null),l=x.useRef(!1),a=I.useCallbackRef(u);return x.useEffect(()=>{if(i.current){if(l.current){const d=i.current.querySelector('[tabindex="0"]');d&&(d.focus(),a(n))}l.current||(l.current=!0)}},[n,a]),i},v=j.default.button`
|
|
2
2
|
&[aria-disabled='true'] {
|
|
3
3
|
cursor: not-allowed;
|
|
4
4
|
}
|
|
5
|
-
`,
|
|
5
|
+
`,w=({children:n,...u})=>{const{id:i,selectedTabIndex:l,selectTabIndex:a,label:d,variant:h,onTabChange:g}=R.useTabs(),y=q(l,g),r=x.Children.toArray(n).map((t,b)=>x.cloneElement(t,{id:`${i}-${b}`,index:b,selectedTabIndex:l,onTabClick:()=>a(b),variant:h})),p=t=>{if(!r.every(s=>s.props.disabled))switch(t.key){case T.KeyboardKeys.RIGHT:{const s=l+1,e=o=>r[o].props.disabled?o===r.length-1?e(0):e(o+1):o,f=e(s>=r.length?0:s);a(f);break}case T.KeyboardKeys.LEFT:{const s=l-1,e=o=>r[o].props.disabled?e(o===0?r.length-1:o-1):o,f=e(s<0?r.length-1:s);a(f);break}case T.KeyboardKeys.HOME:{const s=r.findIndex(e=>!e.props.disabled);a(s);break}case T.KeyboardKeys.END:{const e=r.map((f,o)=>({isDisabled:f.props.disabled,index:o})).reverse().find(({isDisabled:f})=>!f);e&&a(e.index);break}}};return h==="simple"?c.jsx("div",{ref:y,role:"tablist","aria-label":d,onKeyDown:p,...u,children:r}):c.jsx(m.DefaultTabsRow,{ref:y,role:"tablist",alignItems:"flex-end","aria-label":d,onKeyDown:p,...u,children:r})},B=({disabled:n=!1,id:u,children:i,variant:l,hasError:a=!1,index:d,selectedTabIndex:h,onTabClick:g,...y})=>{const r=`${u}-tab`,p=`${u}-tabpanel`,t=d===h,b=()=>{n||g&&g()};if(l==="simple"){let e;return a?e="danger600":t?e="primary600":e="neutral600",c.jsx(v,{id:r,role:"tab","aria-controls":t?p:void 0,tabIndex:t?0:-1,"aria-selected":t,type:"button",onClick:b,"aria-disabled":n,...y,children:c.jsx(m.SimpleTabBox,{padding:4,selected:t,hasError:a,children:c.jsx(C.Typography,{variant:"sigma",textColor:e,children:i})})})}a&&console.warn('The "hasError" prop is only available for the "simple" variant.');const s=h&&h-1===d;return c.jsx(m.DefaultTabButton,{id:r,role:"tab",type:"button","aria-controls":t?p:void 0,tabIndex:t?0:-1,"aria-selected":t,onClick:b,"aria-disabled":n,showRightBorder:!!s,...y,children:c.jsx(m.DefaultTabBox,{padding:t?4:3,background:t?"neutral0":"neutral100",selected:t,children:c.jsx(C.Typography,{fontWeight:"bold",textColor:t?"primary700":"neutral600",children:i})})})};exports.Tab=B;exports.Tabs=w;
|