@tedi-design-system/react 17.0.0-rc.7 → 17.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/_virtual/index.es13.js +2 -2
- package/_virtual/index.es14.js +2 -2
- package/bundle-stats.html +1 -1
- package/external/react-is/index.cjs.js +1 -1
- package/external/react-is/index.es.js +1 -1
- package/external/toposort/index.cjs.js +1 -1
- package/external/toposort/index.es.js +1 -1
- package/index.css +1 -1
- package/package.json +1 -1
- package/src/tedi/components/buttons/button-group/button-group.cjs.js +1 -1
- package/src/tedi/components/buttons/button-group/button-group.d.ts +17 -0
- package/src/tedi/components/buttons/button-group/button-group.es.js +100 -37
- package/src/tedi/components/buttons/button-group/button-group.module.scss.cjs.js +1 -1
- package/src/tedi/components/buttons/button-group/button-group.module.scss.es.js +4 -1
- package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.cjs.js +1 -1
- package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.es.js +12 -9
package/package.json
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 o=require("react/jsx-runtime"),g=require("../../../../../external/classnames/index.cjs.js"),_=require("react"),n=require("../../base/icon/icon.cjs.js"),j=require("../button/button.cjs.js"),r=require("./button-group.module.scss.cjs.js"),B=require("../../../providers/label-provider/use-labels.cjs.js"),L=require("../../../helpers/hooks/use-breakpoint.cjs.js"),l=require("../../overlays/dropdown/dropdown.cjs.js"),C=x=>{const{getLabel:b}=B.useLabels(),{children:k,className:w,type:c="primary",onSelectionChange:i,stretch:q=!1,ariaLabel:I,size:f="default",enableMobileDropdown:v=!1,mobileBreakpoint:N="md",dropdownLabel:y=b("sidenav.submenu"),dropdownLabelMode:R="static"}=x,A=L.default(),D=L.isBreakpointBelow(A,N),m=_.Children.toArray(k).filter(e=>_.isValidElement(e)&&e.type===j.Button),t=m.find(e=>e.props.isActive),M=R==="static"?y:(t==null?void 0:t.props.children)??y,d=t==null?void 0:t.props.iconLeft,a=t==null?void 0:t.props.icon;return D&&v?o.jsxs(l.Dropdown,{width:"trigger",children:[o.jsx(l.Dropdown.Trigger,{children:o.jsxs(j.Button,{visualType:c,className:g.default(r.default["tedi-button-group__dropdown-trigger"],r.default[`tedi-button-group__dropdown-trigger--${c}`],w),noStyle:!0,fullWidth:!0,children:[d?o.jsx(n.Icon,{name:typeof d=="string"?d:d.name,color:"inherit"}):a?o.jsx(n.Icon,{name:typeof a=="string"?a:a.name,color:"inherit"}):o.jsx(n.Icon,{name:"menu",color:"inherit"}),M]})}),o.jsx(l.Dropdown.Content,{children:m.map((e,u)=>o.jsxs(l.Dropdown.Item,{index:u,active:e==null?void 0:e.props.isActive,disabled:e==null?void 0:e.props.disabled,onClick:s=>{var p,h;e.props.disabled||(s.type==="click"&&((h=(p=e.props).onClick)==null||h.call(p,s)),e.props.id&&(i==null||i(e.props.id)))},className:r.default["tedi-button-group__dropdown-item"],children:[e.props.iconLeft&&o.jsx(n.Icon,{name:typeof e.props.iconLeft=="string"?e.props.iconLeft:e.props.iconLeft.name,color:"inherit"}),e.props.children,e.props.iconRight&&o.jsx(n.Icon,{name:typeof e.props.iconRight=="string"?e.props.iconRight:e.props.iconRight.name,color:"inherit"})]},e.props.id||u))})]}):o.jsx("div",{className:g.default(r.default["tedi-button-group"],r.default[`tedi-button-group--${c}`],{[r.default["tedi-button-group--stretch"]]:q},w),role:"group","aria-label":I,children:m.map(e=>_.cloneElement(e,{className:g.default(r.default["tedi-button-group__item"],{[r.default["tedi-button-group__item--active"]]:e.props.isActive,[r.default["tedi-button-group__item--disabled"]]:e.props.disabled,[r.default[`tedi-button-group__item--size-${f}`]]:f},e.props.className),size:f,onClick:u=>{var s,p;(p=(s=e.props).onClick)==null||p.call(s,u),e.props.id&&(i==null||i(e.props.id))}}))})};exports.ButtonGroup=C;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { Breakpoint } from '../../../helpers';
|
|
2
3
|
export type ButtonGroupProps = {
|
|
3
4
|
/**
|
|
4
5
|
* The child components to render inside the ButtonGroup.
|
|
@@ -35,6 +36,22 @@ export type ButtonGroupProps = {
|
|
|
35
36
|
* Size of the buttons in ButtonGroup
|
|
36
37
|
*/
|
|
37
38
|
size?: 'default' | 'small';
|
|
39
|
+
/**
|
|
40
|
+
* Whether the button group should collapse into a dropdown on mobile
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
enableMobileDropdown?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Breakpoint at which to switch to dropdown
|
|
46
|
+
* @default 'md'
|
|
47
|
+
*/
|
|
48
|
+
mobileBreakpoint?: Breakpoint;
|
|
49
|
+
/**
|
|
50
|
+
* Label to display on the dropdown trigger button when the button group collapses on mobile.
|
|
51
|
+
* If not provided, the label provider value for `sidenav.submenu` will be used as fallback.
|
|
52
|
+
*/
|
|
53
|
+
dropdownLabel?: string;
|
|
54
|
+
dropdownLabelMode?: 'active' | 'static';
|
|
38
55
|
};
|
|
39
56
|
export declare const ButtonGroup: (props: ButtonGroupProps) => JSX.Element;
|
|
40
57
|
export default ButtonGroup;
|
|
@@ -1,46 +1,109 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import { Children as
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { jsxs as g, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import _ from "../../../../../external/classnames/index.es.js";
|
|
3
|
+
import { Children as x, isValidElement as z, cloneElement as D } from "react";
|
|
4
|
+
import { Icon as a } from "../../base/icon/icon.es.js";
|
|
5
|
+
import { Button as w } from "../button/button.es.js";
|
|
6
|
+
import r from "./button-group.module.scss.es.js";
|
|
7
|
+
import { useLabels as E } from "../../../providers/label-provider/use-labels.es.js";
|
|
8
|
+
import T, { isBreakpointBelow as V } from "../../../helpers/hooks/use-breakpoint.es.js";
|
|
9
|
+
import { Dropdown as c } from "../../overlays/dropdown/dropdown.es.js";
|
|
10
|
+
const P = (k) => {
|
|
11
|
+
const { getLabel: N } = E(), {
|
|
12
|
+
children: b,
|
|
13
|
+
className: h,
|
|
14
|
+
type: d = "primary",
|
|
15
|
+
onSelectionChange: p,
|
|
16
|
+
stretch: v = !1,
|
|
17
|
+
ariaLabel: A,
|
|
18
|
+
size: u = "default",
|
|
19
|
+
enableMobileDropdown: I = !1,
|
|
20
|
+
mobileBreakpoint: R = "md",
|
|
21
|
+
dropdownLabel: y = N("sidenav.submenu"),
|
|
22
|
+
dropdownLabelMode: C = "static"
|
|
23
|
+
} = k, M = T(), $ = V(M, R), f = x.toArray(b).filter(
|
|
24
|
+
(o) => z(o) && o.type === w
|
|
25
|
+
), e = f.find((o) => o.props.isActive), j = C === "static" ? y : (e == null ? void 0 : e.props.children) ?? y, n = e == null ? void 0 : e.props.iconLeft, l = e == null ? void 0 : e.props.icon;
|
|
26
|
+
return $ && I ? /* @__PURE__ */ g(c, { width: "trigger", children: [
|
|
27
|
+
/* @__PURE__ */ i(c.Trigger, { children: /* @__PURE__ */ g(
|
|
28
|
+
w,
|
|
29
|
+
{
|
|
30
|
+
visualType: d,
|
|
31
|
+
className: _(
|
|
32
|
+
r["tedi-button-group__dropdown-trigger"],
|
|
33
|
+
r[`tedi-button-group__dropdown-trigger--${d}`],
|
|
34
|
+
h
|
|
35
|
+
),
|
|
36
|
+
noStyle: !0,
|
|
37
|
+
fullWidth: !0,
|
|
38
|
+
children: [
|
|
39
|
+
n ? /* @__PURE__ */ i(a, { name: typeof n == "string" ? n : n.name, color: "inherit" }) : l ? /* @__PURE__ */ i(a, { name: typeof l == "string" ? l : l.name, color: "inherit" }) : /* @__PURE__ */ i(a, { name: "menu", color: "inherit" }),
|
|
40
|
+
j
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
) }),
|
|
44
|
+
/* @__PURE__ */ i(c.Content, { children: f.map((o, m) => /* @__PURE__ */ g(
|
|
45
|
+
c.Item,
|
|
46
|
+
{
|
|
47
|
+
index: m,
|
|
48
|
+
active: o == null ? void 0 : o.props.isActive,
|
|
49
|
+
disabled: o == null ? void 0 : o.props.disabled,
|
|
50
|
+
onClick: (s) => {
|
|
51
|
+
var t, L;
|
|
52
|
+
o.props.disabled || (s.type === "click" && ((L = (t = o.props).onClick) == null || L.call(t, s)), o.props.id && (p == null || p(o.props.id)));
|
|
53
|
+
},
|
|
54
|
+
className: r["tedi-button-group__dropdown-item"],
|
|
55
|
+
children: [
|
|
56
|
+
o.props.iconLeft && /* @__PURE__ */ i(
|
|
57
|
+
a,
|
|
58
|
+
{
|
|
59
|
+
name: typeof o.props.iconLeft == "string" ? o.props.iconLeft : o.props.iconLeft.name,
|
|
60
|
+
color: "inherit"
|
|
61
|
+
}
|
|
62
|
+
),
|
|
63
|
+
o.props.children,
|
|
64
|
+
o.props.iconRight && /* @__PURE__ */ i(
|
|
65
|
+
a,
|
|
66
|
+
{
|
|
67
|
+
name: typeof o.props.iconRight == "string" ? o.props.iconRight : o.props.iconRight.name,
|
|
68
|
+
color: "inherit"
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
o.props.id || m
|
|
74
|
+
)) })
|
|
75
|
+
] }) : /* @__PURE__ */ i(
|
|
17
76
|
"div",
|
|
18
77
|
{
|
|
19
|
-
className:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
{
|
|
23
|
-
|
|
24
|
-
},
|
|
25
|
-
m
|
|
78
|
+
className: _(
|
|
79
|
+
r["tedi-button-group"],
|
|
80
|
+
r[`tedi-button-group--${d}`],
|
|
81
|
+
{ [r["tedi-button-group--stretch"]]: v },
|
|
82
|
+
h
|
|
26
83
|
),
|
|
27
84
|
role: "group",
|
|
28
|
-
"aria-label":
|
|
29
|
-
children: f.map(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
85
|
+
"aria-label": A,
|
|
86
|
+
children: f.map(
|
|
87
|
+
(o) => D(o, {
|
|
88
|
+
className: _(
|
|
89
|
+
r["tedi-button-group__item"],
|
|
90
|
+
{
|
|
91
|
+
[r["tedi-button-group__item--active"]]: o.props.isActive,
|
|
92
|
+
[r["tedi-button-group__item--disabled"]]: o.props.disabled,
|
|
93
|
+
[r[`tedi-button-group__item--size-${u}`]]: u
|
|
94
|
+
},
|
|
95
|
+
o.props.className
|
|
96
|
+
),
|
|
97
|
+
size: u,
|
|
98
|
+
onClick: (m) => {
|
|
99
|
+
var s, t;
|
|
100
|
+
(t = (s = o.props).onClick) == null || t.call(s, m), o.props.id && (p == null || p(o.props.id));
|
|
101
|
+
}
|
|
102
|
+
})
|
|
103
|
+
)
|
|
41
104
|
}
|
|
42
105
|
);
|
|
43
106
|
};
|
|
44
107
|
export {
|
|
45
|
-
|
|
108
|
+
P as ButtonGroup
|
|
46
109
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t={"tedi-button-group":"tedi-button-group-a1579a0b","tedi-button-group--primary":"tedi-button-group--primary-c12d7511","tedi-button-group__item":"tedi-button-group__item-8dedbcd6","tedi-button-group--secondary":"tedi-button-group--secondary-812a4d06","tedi-button-group__item--size-default":"tedi-button-group__item--size-default-5ee2d72b","tedi-button-group__item--size-small":"tedi-button-group__item--size-small-ad13cc00","tedi-button-group__item--disabled":"tedi-button-group__item--disabled-0027448e","tedi-button-group__item--active":"tedi-button-group__item--active-d4dfddb6","tedi-button-group--stretch":"tedi-button-group--stretch-d703f880"};exports.default=t;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t={"tedi-button-group":"tedi-button-group-a1579a0b","tedi-button-group--primary":"tedi-button-group--primary-c12d7511","tedi-button-group__item":"tedi-button-group__item-8dedbcd6","tedi-button-group--secondary":"tedi-button-group--secondary-812a4d06","tedi-button-group__item--size-default":"tedi-button-group__item--size-default-5ee2d72b","tedi-button-group__item--size-small":"tedi-button-group__item--size-small-ad13cc00","tedi-button-group__item--disabled":"tedi-button-group__item--disabled-0027448e","tedi-button-group__item--active":"tedi-button-group__item--active-d4dfddb6","tedi-button-group--stretch":"tedi-button-group--stretch-d703f880","tedi-button-group__dropdown-trigger":"tedi-button-group__dropdown-trigger-d9a66a44","tedi-button-group__dropdown-trigger--secondary":"tedi-button-group__dropdown-trigger--secondary-f27a5e3a","tedi-button-group__dropdown-item":"tedi-button-group__dropdown-item-e3e89bd0"};exports.default=t;
|
|
@@ -7,7 +7,10 @@ const t = {
|
|
|
7
7
|
"tedi-button-group__item--size-small": "tedi-button-group__item--size-small-ad13cc00",
|
|
8
8
|
"tedi-button-group__item--disabled": "tedi-button-group__item--disabled-0027448e",
|
|
9
9
|
"tedi-button-group__item--active": "tedi-button-group__item--active-d4dfddb6",
|
|
10
|
-
"tedi-button-group--stretch": "tedi-button-group--stretch-d703f880"
|
|
10
|
+
"tedi-button-group--stretch": "tedi-button-group--stretch-d703f880",
|
|
11
|
+
"tedi-button-group__dropdown-trigger": "tedi-button-group__dropdown-trigger-d9a66a44",
|
|
12
|
+
"tedi-button-group__dropdown-trigger--secondary": "tedi-button-group__dropdown-trigger--secondary-f27a5e3a",
|
|
13
|
+
"tedi-button-group__dropdown-item": "tedi-button-group__dropdown-item-e3e89bd0"
|
|
11
14
|
};
|
|
12
15
|
export {
|
|
13
16
|
t as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react/jsx-runtime"),j=require("../../../../../../external/classnames/index.cjs.js"),T=require("../dropdown-context.cjs.js"),r=require("./dropdown-item.module.scss.cjs.js"),K=({children:m,onClick:t,disabled:n,active:c,index:u,indent:i,asChild:o=!1,closeOnSelect:p=!0,isParent:w=!1,className:y})=>{const{getItemProps:_,listItemsRef:l,setOpen:s,activeIndex:v,divided:b,variant:f}=T.useDropdownContext(),x=o?"div":"button",I=e=>typeof e!="number"?{}:{"--dropdown-indent-level":e,"--dropdown-indent":`${e}rem`},g=e=>{if(n)return;const d=e.currentTarget.querySelector('input[type="checkbox"], input[type="radio"]');if(d){d.click();return}o?t==null||t(e):(t==null||t(e),p&&s(!1))},q=e=>{if(!n&&(e.key==="Enter"||e.key===" ")){e.preventDefault();const d=e.currentTarget.querySelector('input[type="checkbox"], input[type="radio"]');d?d.click():t==null||t(e),!o&&p&&s(!1)}},a={ref(e){typeof u=="number"&&(l.current[u]=e)},tabIndex:v===u?0:-1,className:j.default(r.default["tedi-dropdown__item"],{[r.default["tedi-dropdown__item--active"]]:c,[r.default["tedi-dropdown__item--disabled"]]:n,[r.default["tedi-dropdown__item--divided"]]:b,[r.default["tedi-dropdown__item--indent"]]:i,[r.default["tedi-dropdown__item--tree-item"]]:f==="tree"&&i,[r.default["tedi-dropdown__item--tree-parent"]]:f==="tree"&&w,
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react/jsx-runtime"),j=require("../../../../../../external/classnames/index.cjs.js"),T=require("../dropdown-context.cjs.js"),r=require("./dropdown-item.module.scss.cjs.js"),K=({children:m,onClick:t,disabled:n,active:c,index:u,indent:i,asChild:o=!1,closeOnSelect:p=!0,isParent:w=!1,className:y})=>{const{getItemProps:_,listItemsRef:l,setOpen:s,activeIndex:v,divided:b,variant:f}=T.useDropdownContext(),x=o?"div":"button",I=e=>typeof e!="number"?{}:{"--dropdown-indent-level":e,"--dropdown-indent":`${e}rem`},g=e=>{if(n)return;const d=e.currentTarget.querySelector('input[type="checkbox"], input[type="radio"]');if(d){d.click();return}o?t==null||t(e):(t==null||t(e),p&&s(!1))},q=e=>{if(!n&&(e.key==="Enter"||e.key===" ")){e.preventDefault();const d=e.currentTarget.querySelector('input[type="checkbox"], input[type="radio"]');d?d.click():t==null||t(e),!o&&p&&s(!1)}},a={ref(e){typeof u=="number"&&(l.current[u]=e)},tabIndex:v===u?0:-1,className:j.default(r.default["tedi-dropdown__item"],{[r.default["tedi-dropdown__item--active"]]:c,[r.default["tedi-dropdown__item--disabled"]]:n,[r.default["tedi-dropdown__item--divided"]]:b,[r.default["tedi-dropdown__item--indent"]]:i,[r.default["tedi-dropdown__item--tree-item"]]:f==="tree"&&i,[r.default["tedi-dropdown__item--tree-parent"]]:f==="tree"&&w},y),style:I(i),onClick:g,onKeyDown:q},D=o&&p===!1?a:_({role:"menuitem",disabled:o?void 0:n,...a});return P.jsx(x,{...D,children:m})};exports.DropdownItem=K;
|
|
@@ -40,15 +40,18 @@ const V = ({
|
|
|
40
40
|
typeof d == "number" && (v.current[d] = e);
|
|
41
41
|
},
|
|
42
42
|
tabIndex: b === d ? 0 : -1,
|
|
43
|
-
className: N(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
className: N(
|
|
44
|
+
r["tedi-dropdown__item"],
|
|
45
|
+
{
|
|
46
|
+
[r["tedi-dropdown__item--active"]]: y,
|
|
47
|
+
[r["tedi-dropdown__item--disabled"]]: p,
|
|
48
|
+
[r["tedi-dropdown__item--divided"]]: x,
|
|
49
|
+
[r["tedi-dropdown__item--indent"]]: i,
|
|
50
|
+
[r["tedi-dropdown__item--tree-item"]]: f === "tree" && i,
|
|
51
|
+
[r["tedi-dropdown__item--tree-parent"]]: f === "tree" && _
|
|
52
|
+
},
|
|
53
|
+
w
|
|
54
|
+
),
|
|
52
55
|
style: I(i),
|
|
53
56
|
onClick: g,
|
|
54
57
|
onKeyDown: P
|