@tedi-design-system/react 18.0.0-rc.3 → 18.0.0-rc.5
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/bundle-stats.html +1 -1
- package/external/@floating-ui/core/dist/floating-ui.core.cjs.js +1 -1
- package/external/@floating-ui/core/dist/floating-ui.core.es.js +275 -271
- package/external/@floating-ui/dom/dist/floating-ui.dom.cjs.js +1 -1
- package/external/@floating-ui/dom/dist/floating-ui.dom.es.js +189 -188
- package/external/@floating-ui/react/dist/floating-ui.react.cjs.js +1 -1
- package/external/@floating-ui/react/dist/floating-ui.react.es.js +1419 -1538
- package/external/@floating-ui/react/dist/floating-ui.react.utils.cjs.js +1 -1
- package/external/@floating-ui/react/dist/floating-ui.react.utils.es.js +348 -81
- package/external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js +1 -1
- package/external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js +113 -93
- package/external/@floating-ui/utils/dist/floating-ui.utils.cjs.js +1 -1
- package/external/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js +1 -1
- package/external/@floating-ui/utils/dist/floating-ui.utils.dom.es.js +97 -97
- package/external/@floating-ui/utils/dist/floating-ui.utils.es.js +66 -68
- package/external/lodash-es/_baseUnset.cjs.js +1 -1
- package/external/lodash-es/_baseUnset.es.js +12 -19
- package/external/tabbable/dist/index.esm.cjs.js +1 -1
- package/external/tabbable/dist/index.esm.es.js +72 -63
- package/index.css +1 -1
- package/package.json +4 -4
- package/src/community/components/modal/modal-closer.d.ts +6 -0
- package/src/community/components/modal/modal-provider.d.ts +6 -0
- package/src/community/components/modal/modal-trigger.d.ts +6 -0
- package/src/community/components/modal/modal.d.ts +6 -0
- package/src/tedi/components/buttons/button-group/button-group.cjs.js +1 -1
- package/src/tedi/components/buttons/button-group/button-group.es.js +4 -4
- package/src/tedi/components/buttons/collapse/collapse.cjs.js +1 -1
- package/src/tedi/components/buttons/collapse/collapse.d.ts +15 -0
- package/src/tedi/components/buttons/collapse/collapse.es.js +55 -54
- package/src/tedi/components/content/table/index.d.ts +6 -0
- package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.cjs.js +1 -0
- package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.d.ts +15 -0
- package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.es.js +37 -0
- package/src/tedi/components/content/table/table-context.cjs.js +1 -0
- package/src/tedi/components/content/table/table-context.d.ts +3 -0
- package/src/tedi/components/content/table/table-context.es.js +11 -0
- package/src/tedi/components/content/table/table-header-button/table-header-button.cjs.js +1 -0
- package/src/tedi/components/content/table/table-header-button/table-header-button.d.ts +51 -0
- package/src/tedi/components/content/table/table-header-button/table-header-button.es.js +42 -0
- package/src/tedi/components/content/table/table-header-button/table-header-button.module.scss.cjs.js +1 -0
- package/src/tedi/components/content/table/table-header-button/table-header-button.module.scss.es.js +7 -0
- package/src/tedi/components/content/table/table-toolbar/table-toolbar.cjs.js +1 -0
- package/src/tedi/components/content/table/table-toolbar/table-toolbar.d.ts +21 -0
- package/src/tedi/components/content/table/table-toolbar/table-toolbar.es.js +9 -0
- package/src/tedi/components/content/table/table.cjs.js +1 -0
- package/src/tedi/components/content/table/table.d.ts +519 -0
- package/src/tedi/components/content/table/table.es.js +856 -0
- package/src/tedi/components/content/table/table.module.scss.cjs.js +1 -0
- package/src/tedi/components/content/table/table.module.scss.es.js +54 -0
- package/src/tedi/components/content/table/use-table-persistence.cjs.js +1 -0
- package/src/tedi/components/content/table/use-table-persistence.d.ts +13 -0
- package/src/tedi/components/content/table/use-table-persistence.es.js +53 -0
- package/src/tedi/components/form/time-field/time-field.es.js +3 -3
- package/src/tedi/components/navigation/pagination/pagination.cjs.js +1 -1
- package/src/tedi/components/navigation/pagination/pagination.d.ts +7 -0
- package/src/tedi/components/navigation/pagination/pagination.es.js +132 -91
- package/src/tedi/components/navigation/pagination/pagination.module.scss.cjs.js +1 -1
- package/src/tedi/components/navigation/pagination/pagination.module.scss.es.js +7 -1
- package/src/tedi/components/navigation/pagination/pagination.types.d.ts +100 -0
- package/src/tedi/components/overlays/modal/index.d.ts +8 -0
- package/src/tedi/components/overlays/modal/modal-body/modal-body.cjs.js +1 -0
- package/src/tedi/components/overlays/modal/modal-body/modal-body.d.ts +22 -0
- package/src/tedi/components/overlays/modal/modal-body/modal-body.es.js +21 -0
- package/src/tedi/components/overlays/modal/modal-closer/modal-closer.cjs.js +1 -0
- package/src/tedi/components/overlays/modal/modal-closer/modal-closer.d.ts +15 -0
- package/src/tedi/components/overlays/modal/modal-closer/modal-closer.es.js +16 -0
- package/src/tedi/components/overlays/modal/modal-content/modal-content.cjs.js +1 -0
- package/src/tedi/components/overlays/modal/modal-content/modal-content.d.ts +108 -0
- package/src/tedi/components/overlays/modal/modal-content/modal-content.es.js +81 -0
- package/src/tedi/components/overlays/modal/modal-context.cjs.js +1 -0
- package/src/tedi/components/overlays/modal/modal-context.d.ts +59 -0
- package/src/tedi/components/overlays/modal/modal-context.es.js +15 -0
- package/src/tedi/components/overlays/modal/modal-footer/modal-footer.cjs.js +1 -0
- package/src/tedi/components/overlays/modal/modal-footer/modal-footer.d.ts +22 -0
- package/src/tedi/components/overlays/modal/modal-footer/modal-footer.es.js +25 -0
- package/src/tedi/components/overlays/modal/modal-header/modal-header.cjs.js +1 -0
- package/src/tedi/components/overlays/modal/modal-header/modal-header.d.ts +58 -0
- package/src/tedi/components/overlays/modal/modal-header/modal-header.es.js +25 -0
- package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.cjs.js +1 -0
- package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.d.ts +13 -0
- package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.es.js +14 -0
- package/src/tedi/components/overlays/modal/modal.cjs.js +1 -0
- package/src/tedi/components/overlays/modal/modal.d.ts +68 -0
- package/src/tedi/components/overlays/modal/modal.es.js +76 -0
- package/src/tedi/components/overlays/modal/modal.module.scss.cjs.js +1 -0
- package/src/tedi/components/overlays/modal/modal.module.scss.es.js +36 -0
- package/src/tedi/components/overlays/tooltip/tooltip.cjs.js +1 -1
- package/src/tedi/components/overlays/tooltip/tooltip.es.js +14 -6
- package/src/tedi/helpers/hooks/use-sidenav-state.d.ts +1 -1
- package/src/tedi/index.d.ts +2 -0
- package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
- package/src/tedi/providers/label-provider/labels-map.d.ts +132 -6
- package/src/tedi/providers/label-provider/labels-map.es.js +146 -11
- package/tedi.cjs.js +1 -1
- package/tedi.es.js +203 -171
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tedi-design-system/react",
|
|
3
|
-
"version": "18.0.0-rc.
|
|
3
|
+
"version": "18.0.0-rc.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"exports": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@emotion/react": "^11.11.4",
|
|
41
41
|
"@emotion/styled": "^11.11.0",
|
|
42
|
-
"@floating-ui/react": "^0.
|
|
42
|
+
"@floating-ui/react": "^0.27.19",
|
|
43
43
|
"@mui/material": "^5.15.13",
|
|
44
44
|
"@mui/x-date-pickers": "^5.0.20",
|
|
45
45
|
"@tanstack/react-table": "^8.13.2",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"draft-js": "^0.11.7",
|
|
49
49
|
"draftjs-md-converter": "^1.5.2",
|
|
50
50
|
"formik": "^2.4.5",
|
|
51
|
-
"lodash-es": "^4.
|
|
51
|
+
"lodash-es": "^4.18.1",
|
|
52
52
|
"react-animate-height": "^3.2.3",
|
|
53
53
|
"react-day-picker": "^9.13.2",
|
|
54
54
|
"react-dropzone": "^14.3.5",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"storybook": "8.4.2",
|
|
134
134
|
"storybook-addon-pseudo-states": "^4.0.2",
|
|
135
135
|
"stylelint": "^16.13.2",
|
|
136
|
-
"stylelint-config-recess-order": "^
|
|
136
|
+
"stylelint-config-recess-order": "^7.7.0",
|
|
137
137
|
"stylelint-config-standard-scss": "^14.0.0",
|
|
138
138
|
"stylelint-declaration-strict-value": "^1.9.2",
|
|
139
139
|
"ts-jest": "29.1.2",
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Use Modal from `@tedi-design-system/react/tedi` instead.
|
|
4
|
+
*/
|
|
2
5
|
export interface ModalCloserProps {
|
|
3
6
|
/**
|
|
4
7
|
* The element that closes the modal.
|
|
5
8
|
*/
|
|
6
9
|
children: React.ReactElement;
|
|
7
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Use Modal from `@tedi-design-system/react/tedi` instead.
|
|
13
|
+
*/
|
|
8
14
|
export declare const ModalCloser: (props: ModalCloserProps) => JSX.Element;
|
|
9
15
|
export default ModalCloser;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { FloatingContext, ReferenceType } from '@floating-ui/react';
|
|
2
2
|
import { default as React } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use Modal from `@tedi-design-system/react/tedi` instead.
|
|
5
|
+
*/
|
|
3
6
|
export interface ModalProviderProps {
|
|
4
7
|
/**
|
|
5
8
|
* ModalTrigger and Modal components
|
|
@@ -51,5 +54,8 @@ export interface IModalContext {
|
|
|
51
54
|
outsidePress: boolean;
|
|
52
55
|
}
|
|
53
56
|
export declare const ModalContext: React.Context<IModalContext>;
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated Use Modal from `@tedi-design-system/react/tedi` instead.
|
|
59
|
+
*/
|
|
54
60
|
export declare const ModalProvider: (props: ModalProviderProps) => JSX.Element;
|
|
55
61
|
export default ModalProvider;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Use Modal from `@tedi-design-system/react/tedi` instead.
|
|
3
|
+
*/
|
|
1
4
|
export interface ModalTriggerProps {
|
|
2
5
|
/**
|
|
3
6
|
* The element that opens the modal.
|
|
4
7
|
*/
|
|
5
8
|
children: JSX.Element;
|
|
6
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated Use Modal from `@tedi-design-system/react/tedi` instead.
|
|
12
|
+
*/
|
|
7
13
|
export declare const ModalTrigger: (props: ModalTriggerProps) => JSX.Element;
|
|
8
14
|
export default ModalTrigger;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { CardProps } from '../card/card';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use Modal from `@tedi-design-system/react/tedi` instead.
|
|
5
|
+
*/
|
|
3
6
|
export interface ModalProps {
|
|
4
7
|
/**
|
|
5
8
|
* Content of the modal
|
|
@@ -58,5 +61,8 @@ export interface ModalProps {
|
|
|
58
61
|
*/
|
|
59
62
|
overlay?: 'none';
|
|
60
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* @deprecated Use Modal from `@tedi-design-system/react/tedi` instead.
|
|
66
|
+
*/
|
|
61
67
|
export declare const Modal: (props: ModalProps) => JSX.Element | null;
|
|
62
68
|
export default Modal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[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"),x=require("../button/button.cjs.js"),r=require("./button-group.module.scss.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[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"),x=require("../button/button.cjs.js"),r=require("./button-group.module.scss.cjs.js"),C=require("../../../providers/label-provider/use-labels.cjs.js"),L=require("../../../helpers/hooks/use-breakpoint.cjs.js"),l=require("../../overlays/dropdown/dropdown.cjs.js"),b=k=>{const{getLabel:j}=C.useLabels(),{children:q,className:w,type:c="primary",onSelectionChange:i,stretch:v=!1,ariaLabel:I,size:f="default",enableMobileDropdown:A=!1,mobileBreakpoint:N="md",dropdownLabel:y=j("sidenav.submenu"),dropdownLabelMode:R="static"}=k,B=L.useBreakpoint(),D=L.isBreakpointBelow(B,N),m=_.Children.toArray(q).filter(e=>_.isValidElement(e)&&e.type===x.Button),s=m.find(e=>e.props.isActive),M=R==="static"?y:(s==null?void 0:s.props.children)??y,a=s==null?void 0:s.props.iconLeft,d=s==null?void 0:s.props.icon;return D&&A?o.jsxs(l.Dropdown,{width:"trigger",children:[o.jsx(l.Dropdown.Trigger,{children:o.jsxs(x.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:[a?o.jsx(n.Icon,{name:typeof a=="string"?a:a.name,color:"inherit"}):d?o.jsx(n.Icon,{name:typeof d=="string"?d:d.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:t=>{var p,h;e.props.disabled||(t.type==="click"&&((h=(p=e.props).onClick)==null||h.call(p,t)),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.isActive&&o.jsx("span",{className:"sr-only",children:j("button-group.selected")})]},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"]]:v},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,"aria-pressed":!!e.props.isActive,onClick:u=>{var t,p;(p=(t=e.props).onClick)==null||p.call(t,u),e.props.id&&(i==null||i(e.props.id))}}))})};exports.ButtonGroup=b;exports.default=b;
|
|
@@ -4,11 +4,11 @@ import { Children as x, isValidElement as z, cloneElement as B } from "react";
|
|
|
4
4
|
import { Icon as a } from "../../base/icon/icon.es.js";
|
|
5
5
|
import { Button as k } from "../button/button.es.js";
|
|
6
6
|
import r from "./button-group.module.scss.es.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { useLabels as D } from "../../../providers/label-provider/use-labels.es.js";
|
|
8
|
+
import { useBreakpoint as E, isBreakpointBelow as T } from "../../../helpers/hooks/use-breakpoint.es.js";
|
|
9
9
|
import { Dropdown as d } from "../../overlays/dropdown/dropdown.es.js";
|
|
10
10
|
const P = (N) => {
|
|
11
|
-
const { getLabel: _ } =
|
|
11
|
+
const { getLabel: _ } = D(), {
|
|
12
12
|
children: v,
|
|
13
13
|
className: h,
|
|
14
14
|
type: m = "primary",
|
|
@@ -20,7 +20,7 @@ const P = (N) => {
|
|
|
20
20
|
mobileBreakpoint: R = "md",
|
|
21
21
|
dropdownLabel: L = _("sidenav.submenu"),
|
|
22
22
|
dropdownLabelMode: C = "static"
|
|
23
|
-
} = N, M =
|
|
23
|
+
} = N, M = E(), $ = T(M, R), f = x.toArray(v).filter(
|
|
24
24
|
(o) => z(o) && o.type === k
|
|
25
25
|
), e = f.find((o) => o.props.isActive), j = C === "static" ? L : (e == null ? void 0 : e.props.children) ?? L, n = e == null ? void 0 : e.props.iconLeft, l = e == null ? void 0 : e.props.icon;
|
|
26
26
|
return $ && I ? /* @__PURE__ */ g(d, { width: "trigger", children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),n=require("../../../../../external/classnames/index.cjs.js"),_=require("react"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),n=require("../../../../../external/classnames/index.cjs.js"),_=require("react"),H=require("../../../../../external/react-animate-height/dist/esm/index.cjs.js"),J=require("../../../providers/printing-provider/printing-provider.cjs.js"),Q=require("../../base/icon/icon.cjs.js"),U=require("../../base/typography/text/text.cjs.js"),V=require("../../misc/print/print.cjs.js"),e=require("./collapse.module.scss.cjs.js"),W=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),X=require("../../../providers/label-provider/use-labels.cjs.js"),N=require("../../layout/grid/row.cjs.js"),i=require("../../layout/grid/col.cjs.js"),P=x=>{const{getCurrentBreakpointProps:k}=W.useBreakpointProps(x.defaultServerBreakpoint),{getLabel:h}=X.useLabels(),{id:r,children:w,className:O,openText:j=h("open"),closeText:y=h("close"),hideCollapseText:$=!1,title:d,titleRowProps:S,defaultOpen:B,open:c,onToggle:u,arrowType:s="default",size:o="default",underline:M=!0,toggleLabel:g,iconOnly:R=!1,controlsId:v,inverted:T=!1,...L}=k(x),b=v!==void 0,p=`${r}__trigger`,f=`${r}__content`,D=`${r}__animate`,[C,E]=_.useState(()=>B),m=J.usePrint(),a=_.useMemo(()=>m||(c!==void 0?c:C),[m,c,C]),z=R===!0&&!d,K=T&&s!=="secondary",A=n.default(e.default["tedi-collapse"],o==="small"&&e.default["tedi-collapse--small"],a&&e.default["tedi-collapse--is-open"],z&&e.default["tedi-collapse--icon-only"],K&&e.default["tedi-collapse--inverted"],e.default[`tedi-collapse--arrow-${s}`],O),q=()=>{const l=!a;E(l),u==null||u(l)},F=l=>{(l.key==="Enter"||l.key===" ")&&!l.repeat&&(l.preventDefault(),q())},G=g||(a?y:j),I=_.useMemo(()=>t.jsx("div",{id:f,role:"region","aria-labelledby":p,className:e.default["tedi-collapse__content"],children:w}),[w,f,p]);return t.jsxs("div",{"data-name":"collapse",...L,className:A,children:[t.jsx("button",{id:p,type:"button","data-name":"collapse-trigger",className:e.default["tedi-collapse__title"],"aria-label":G,"aria-expanded":a,"aria-controls":b?v:f,onKeyDown:F,onClick:q,children:t.jsxs(N.Row,{justifyContent:"between",alignItems:"center",wrap:"nowrap",...S,element:"span",children:[d&&t.jsx(i.Col,{"aria-hidden":"true",children:d}),t.jsx(i.Col,{width:"auto",children:t.jsxs(N.Row,{element:"span",alignItems:"center",gutter:0,wrap:"nowrap",children:[t.jsx(V.Print,{visibility:"hide",children:t.jsx(i.Col,{width:"auto",className:n.default({"visually-hidden":$}),children:t.jsx(U.Text,{element:"span",className:n.default(e.default["tedi-collapse__text"],{[e.default["tedi-collapse__text--underline"]]:M}),children:a?y:j})})}),t.jsx(i.Col,{width:"auto",children:t.jsx("div",{className:n.default(e.default["tedi-collapse__icon-wrapper"],e.default[`tedi-collapse__icon-wrapper--${s}`],o==="small"&&e.default["tedi-collapse__icon-wrapper--small"]),children:t.jsx(Q.Icon,{className:n.default(e.default["tedi-collapse__icon"],e.default[`tedi-collapse__icon--${s}`],o==="small"&&e.default["tedi-collapse__icon--small"]),name:"expand_more",size:o==="small"||s==="secondary"?18:24})})})]})})]})}),!b&&(m?I:t.jsx(H.default,{id:D,duration:300,height:a?"auto":0,"data-testid":"collapse-inner",children:I}))]})};exports.Collapse=P;exports.default=P;
|
|
@@ -84,6 +84,21 @@ export interface CollapseProps extends BreakpointSupport<CollapseBreakpointProps
|
|
|
84
84
|
* If provided, overrides the default open/close text for the accessible name.
|
|
85
85
|
*/
|
|
86
86
|
toggleLabel?: string;
|
|
87
|
+
/**
|
|
88
|
+
* Use Collapse purely as a toggle trigger for content rendered elsewhere.
|
|
89
|
+
*
|
|
90
|
+
* When set, the toggle button's `aria-controls` points at the supplied id
|
|
91
|
+
* instead of Collapse's internal content panel, and the internal panel is
|
|
92
|
+
* **not rendered**. Useful when the disclosed region must live outside
|
|
93
|
+
* Collapse's DOM subtree (e.g. a table row whose details live in a
|
|
94
|
+
* sibling `<tr>`). The consumer is responsible for rendering the target
|
|
95
|
+
* element with the matching `id` and an appropriate `role` (typically
|
|
96
|
+
* `region`).
|
|
97
|
+
*
|
|
98
|
+
* When omitted (default), Collapse renders its own `children` inside a
|
|
99
|
+
* built-in `role="region"` panel.
|
|
100
|
+
*/
|
|
101
|
+
controlsId?: string;
|
|
87
102
|
}
|
|
88
103
|
export declare const Collapse: (props: CollapseProps) => JSX.Element;
|
|
89
104
|
export default Collapse;
|
|
@@ -1,57 +1,58 @@
|
|
|
1
1
|
import { jsx as t, jsxs as f } from "react/jsx-runtime";
|
|
2
2
|
import n from "../../../../../external/classnames/index.es.js";
|
|
3
3
|
import h from "react";
|
|
4
|
-
import
|
|
5
|
-
import { usePrint as
|
|
6
|
-
import { Icon as
|
|
7
|
-
import { Text as
|
|
8
|
-
import { Print as
|
|
4
|
+
import G from "../../../../../external/react-animate-height/dist/esm/index.es.js";
|
|
5
|
+
import { usePrint as J } from "../../../providers/printing-provider/printing-provider.es.js";
|
|
6
|
+
import { Icon as Q } from "../../base/icon/icon.es.js";
|
|
7
|
+
import { Text as U } from "../../base/typography/text/text.es.js";
|
|
8
|
+
import { Print as V } from "../../misc/print/print.es.js";
|
|
9
9
|
import e from "./collapse.module.scss.es.js";
|
|
10
|
-
import { useBreakpointProps as
|
|
11
|
-
import { useLabels as
|
|
12
|
-
import { Row as
|
|
10
|
+
import { useBreakpointProps as W } from "../../../helpers/hooks/use-breakpoint-props.es.js";
|
|
11
|
+
import { useLabels as X } from "../../../providers/label-provider/use-labels.es.js";
|
|
12
|
+
import { Row as P } from "../../layout/grid/row.es.js";
|
|
13
13
|
import { Col as s } from "../../layout/grid/col.es.js";
|
|
14
|
-
const
|
|
15
|
-
const { getCurrentBreakpointProps:
|
|
14
|
+
const pe = (w) => {
|
|
15
|
+
const { getCurrentBreakpointProps: $ } = W(w.defaultServerBreakpoint), { getLabel: y } = X(), {
|
|
16
16
|
id: r,
|
|
17
17
|
children: g,
|
|
18
|
-
className:
|
|
19
|
-
openText:
|
|
20
|
-
closeText:
|
|
21
|
-
hideCollapseText:
|
|
18
|
+
className: B,
|
|
19
|
+
openText: v = y("open"),
|
|
20
|
+
closeText: x = y("close"),
|
|
21
|
+
hideCollapseText: S = !1,
|
|
22
22
|
title: c,
|
|
23
|
-
titleRowProps:
|
|
24
|
-
defaultOpen:
|
|
23
|
+
titleRowProps: T,
|
|
24
|
+
defaultOpen: j,
|
|
25
25
|
open: d,
|
|
26
26
|
onToggle: p,
|
|
27
|
-
arrowType:
|
|
27
|
+
arrowType: a = "default",
|
|
28
28
|
size: i = "default",
|
|
29
|
-
underline:
|
|
30
|
-
toggleLabel:
|
|
31
|
-
iconOnly:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
underline: D = !0,
|
|
30
|
+
toggleLabel: b,
|
|
31
|
+
iconOnly: E = !1,
|
|
32
|
+
controlsId: C,
|
|
33
|
+
inverted: L = !1,
|
|
34
|
+
...M
|
|
35
|
+
} = $(w), I = C !== void 0, m = `${r}__trigger`, u = `${r}__content`, R = `${r}__animate`, [N, z] = h.useState(() => j), _ = J(), o = h.useMemo(
|
|
35
36
|
() => _ || (d !== void 0 ? d : N),
|
|
36
37
|
[_, d, N]
|
|
37
|
-
),
|
|
38
|
+
), K = E === !0 && !c, A = L && a !== "secondary", H = n(
|
|
38
39
|
e["tedi-collapse"],
|
|
39
40
|
i === "small" && e["tedi-collapse--small"],
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
e[`tedi-collapse--arrow-${
|
|
44
|
-
|
|
45
|
-
),
|
|
46
|
-
const l = !
|
|
47
|
-
|
|
48
|
-
},
|
|
49
|
-
(l.key === "Enter" || l.key === " ") && !l.repeat && (l.preventDefault(),
|
|
50
|
-
},
|
|
41
|
+
o && e["tedi-collapse--is-open"],
|
|
42
|
+
K && e["tedi-collapse--icon-only"],
|
|
43
|
+
A && e["tedi-collapse--inverted"],
|
|
44
|
+
e[`tedi-collapse--arrow-${a}`],
|
|
45
|
+
B
|
|
46
|
+
), k = () => {
|
|
47
|
+
const l = !o;
|
|
48
|
+
z(l), p == null || p(l);
|
|
49
|
+
}, q = (l) => {
|
|
50
|
+
(l.key === "Enter" || l.key === " ") && !l.repeat && (l.preventDefault(), k());
|
|
51
|
+
}, F = b || (o ? x : v), O = h.useMemo(
|
|
51
52
|
() => /* @__PURE__ */ t("div", { id: u, role: "region", "aria-labelledby": m, className: e["tedi-collapse__content"], children: g }),
|
|
52
53
|
[g, u, m]
|
|
53
54
|
);
|
|
54
|
-
return /* @__PURE__ */ f("div", { "data-name": "collapse", ...
|
|
55
|
+
return /* @__PURE__ */ f("div", { "data-name": "collapse", ...M, className: H, children: [
|
|
55
56
|
/* @__PURE__ */ t(
|
|
56
57
|
"button",
|
|
57
58
|
{
|
|
@@ -59,22 +60,22 @@ const ce = (w) => {
|
|
|
59
60
|
type: "button",
|
|
60
61
|
"data-name": "collapse-trigger",
|
|
61
62
|
className: e["tedi-collapse__title"],
|
|
62
|
-
"aria-label":
|
|
63
|
-
"aria-expanded":
|
|
64
|
-
"aria-controls": u,
|
|
65
|
-
onKeyDown:
|
|
66
|
-
onClick:
|
|
67
|
-
children: /* @__PURE__ */ f(
|
|
63
|
+
"aria-label": F,
|
|
64
|
+
"aria-expanded": o,
|
|
65
|
+
"aria-controls": I ? C : u,
|
|
66
|
+
onKeyDown: q,
|
|
67
|
+
onClick: k,
|
|
68
|
+
children: /* @__PURE__ */ f(P, { justifyContent: "between", alignItems: "center", wrap: "nowrap", ...T, element: "span", children: [
|
|
68
69
|
c && /* @__PURE__ */ t(s, { "aria-hidden": "true", children: c }),
|
|
69
|
-
/* @__PURE__ */ t(s, { width: "auto", children: /* @__PURE__ */ f(
|
|
70
|
-
/* @__PURE__ */ t(
|
|
71
|
-
|
|
70
|
+
/* @__PURE__ */ t(s, { width: "auto", children: /* @__PURE__ */ f(P, { element: "span", alignItems: "center", gutter: 0, wrap: "nowrap", children: [
|
|
71
|
+
/* @__PURE__ */ t(V, { visibility: "hide", children: /* @__PURE__ */ t(s, { width: "auto", className: n({ "visually-hidden": S }), children: /* @__PURE__ */ t(
|
|
72
|
+
U,
|
|
72
73
|
{
|
|
73
74
|
element: "span",
|
|
74
75
|
className: n(e["tedi-collapse__text"], {
|
|
75
|
-
[e["tedi-collapse__text--underline"]]:
|
|
76
|
+
[e["tedi-collapse__text--underline"]]: D
|
|
76
77
|
}),
|
|
77
|
-
children:
|
|
78
|
+
children: o ? x : v
|
|
78
79
|
}
|
|
79
80
|
) }) }),
|
|
80
81
|
/* @__PURE__ */ t(s, { width: "auto", children: /* @__PURE__ */ t(
|
|
@@ -82,19 +83,19 @@ const ce = (w) => {
|
|
|
82
83
|
{
|
|
83
84
|
className: n(
|
|
84
85
|
e["tedi-collapse__icon-wrapper"],
|
|
85
|
-
e[`tedi-collapse__icon-wrapper--${
|
|
86
|
+
e[`tedi-collapse__icon-wrapper--${a}`],
|
|
86
87
|
i === "small" && e["tedi-collapse__icon-wrapper--small"]
|
|
87
88
|
),
|
|
88
89
|
children: /* @__PURE__ */ t(
|
|
89
|
-
|
|
90
|
+
Q,
|
|
90
91
|
{
|
|
91
92
|
className: n(
|
|
92
93
|
e["tedi-collapse__icon"],
|
|
93
|
-
e[`tedi-collapse__icon--${
|
|
94
|
+
e[`tedi-collapse__icon--${a}`],
|
|
94
95
|
i === "small" && e["tedi-collapse__icon--small"]
|
|
95
96
|
),
|
|
96
97
|
name: "expand_more",
|
|
97
|
-
size: i === "small" ||
|
|
98
|
+
size: i === "small" || a === "secondary" ? 18 : 24
|
|
98
99
|
}
|
|
99
100
|
)
|
|
100
101
|
}
|
|
@@ -103,10 +104,10 @@ const ce = (w) => {
|
|
|
103
104
|
] })
|
|
104
105
|
}
|
|
105
106
|
),
|
|
106
|
-
_ ?
|
|
107
|
+
!I && (_ ? O : /* @__PURE__ */ t(G, { id: R, duration: 300, height: o ? "auto" : 0, "data-testid": "collapse-inner", children: O }))
|
|
107
108
|
] });
|
|
108
109
|
};
|
|
109
110
|
export {
|
|
110
|
-
|
|
111
|
-
|
|
111
|
+
pe as Collapse,
|
|
112
|
+
pe as default
|
|
112
113
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './table';
|
|
2
|
+
export * from './table-context';
|
|
3
|
+
export * from './use-table-persistence';
|
|
4
|
+
export * from './table-columns-menu/table-columns-menu';
|
|
5
|
+
export * from './table-header-button/table-header-button';
|
|
6
|
+
export * from './table-toolbar/table-toolbar';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),x=require("../../../buttons/button/button.cjs.js"),m=require("../../../form/checkbox/checkbox.cjs.js"),j=require("../../../overlays/dropdown/dropdown.cjs.js"),q=require("../../../overlays/dropdown/dropdown-content/dropdown-content.cjs.js"),T=require("../../../overlays/dropdown/dropdown-item/dropdown-item.cjs.js"),f=require("../../../overlays/dropdown/dropdown-trigger/dropdown-trigger.cjs.js"),w=require("../table-context.cjs.js"),L=require("../../../../providers/label-provider/use-labels.cjs.js"),r=({triggerLabel:i,className:l})=>{const{table:d,id:c}=w.useTableContext(),{getLabel:a}=L.useLabels(),u=i??a("table.columns"),o=d.getAllLeafColumns().filter(e=>e.getCanHide()),b=o.filter(e=>e.getIsVisible()).length,g=e=>{const n=e.columnDef.header;return typeof n=="string"?n:e.id};return t.jsxs(j.Dropdown,{placement:"bottom-end",children:[t.jsx(f.DropdownTrigger,{children:t.jsx(x.Button,{type:"button",visualType:"neutral",iconLeft:"tune",className:l,children:u})}),t.jsx(q.DropdownContent,{children:o.map(e=>{const n=e.getIsVisible(),h=n&&b===1,s=`${c}-columns-menu-${e.id}`,p=g(e);return t.jsx(T.DropdownItem,{asChild:!0,closeOnSelect:!1,children:t.jsx("div",{onClick:C=>C.stopPropagation(),children:t.jsx(m.Checkbox,{id:s,name:s,label:p,value:e.id,checked:n,disabled:h,onChange:()=>e.toggleVisibility()})})},e.id)})})]})};r.displayName="Table.ColumnsMenu";exports.TableColumnsMenu=r;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface TableColumnsMenuProps {
|
|
2
|
+
/**
|
|
3
|
+
* Trigger label. Falls back to the localised `table.columns` label from
|
|
4
|
+
* `LabelProvider` when not provided.
|
|
5
|
+
*/
|
|
6
|
+
triggerLabel?: React.ReactNode;
|
|
7
|
+
/**
|
|
8
|
+
* Additional class name on the dropdown trigger button.
|
|
9
|
+
*/
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const TableColumnsMenu: {
|
|
13
|
+
({ triggerLabel, className }: TableColumnsMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsxs as h, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { Button as g } from "../../../buttons/button/button.es.js";
|
|
3
|
+
import { Checkbox as C } from "../../../form/checkbox/checkbox.es.js";
|
|
4
|
+
import { Dropdown as L } from "../../../overlays/dropdown/dropdown.es.js";
|
|
5
|
+
import { DropdownContent as v } from "../../../overlays/dropdown/dropdown-content/dropdown-content.es.js";
|
|
6
|
+
import { DropdownItem as x } from "../../../overlays/dropdown/dropdown-item/dropdown-item.es.js";
|
|
7
|
+
import { DropdownTrigger as T } from "../../../overlays/dropdown/dropdown-trigger/dropdown-trigger.es.js";
|
|
8
|
+
import { useTableContext as y } from "../table-context.es.js";
|
|
9
|
+
import { useLabels as D } from "../../../../providers/label-provider/use-labels.es.js";
|
|
10
|
+
const V = ({ triggerLabel: n, className: s }) => {
|
|
11
|
+
const { table: l, id: a } = y(), { getLabel: d } = D(), m = n ?? d("table.columns"), i = l.getAllLeafColumns().filter((e) => e.getCanHide()), c = i.filter((e) => e.getIsVisible()).length, b = (e) => {
|
|
12
|
+
const o = e.columnDef.header;
|
|
13
|
+
return typeof o == "string" ? o : e.id;
|
|
14
|
+
};
|
|
15
|
+
return /* @__PURE__ */ h(L, { placement: "bottom-end", children: [
|
|
16
|
+
/* @__PURE__ */ t(T, { children: /* @__PURE__ */ t(g, { type: "button", visualType: "neutral", iconLeft: "tune", className: s, children: m }) }),
|
|
17
|
+
/* @__PURE__ */ t(v, { children: i.map((e) => {
|
|
18
|
+
const o = e.getIsVisible(), p = o && c === 1, r = `${a}-columns-menu-${e.id}`, u = b(e);
|
|
19
|
+
return /* @__PURE__ */ t(x, { asChild: !0, closeOnSelect: !1, children: /* @__PURE__ */ t("div", { onClick: (f) => f.stopPropagation(), children: /* @__PURE__ */ t(
|
|
20
|
+
C,
|
|
21
|
+
{
|
|
22
|
+
id: r,
|
|
23
|
+
name: r,
|
|
24
|
+
label: u,
|
|
25
|
+
value: e.id,
|
|
26
|
+
checked: o,
|
|
27
|
+
disabled: p,
|
|
28
|
+
onChange: () => e.toggleVisibility()
|
|
29
|
+
}
|
|
30
|
+
) }) }, e.id);
|
|
31
|
+
}) })
|
|
32
|
+
] });
|
|
33
|
+
};
|
|
34
|
+
V.displayName = "Table.ColumnsMenu";
|
|
35
|
+
export {
|
|
36
|
+
V as TableColumnsMenu
|
|
37
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),n=t.createContext(null);function o(){const e=t.useContext(n);if(!e)throw new Error("TableContext missing — wrap the component in <Table>.");return e}exports.TableContext=n;exports.useTableContext=o;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createContext as e, useContext as n } from "react";
|
|
2
|
+
const o = e(null);
|
|
3
|
+
function x() {
|
|
4
|
+
const t = n(o);
|
|
5
|
+
if (!t) throw new Error("TableContext missing — wrap the component in <Table>.");
|
|
6
|
+
return t;
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
o as TableContext,
|
|
10
|
+
x as useTableContext
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),m=require("../../../../../../external/classnames/index.cjs.js"),q=require("react"),h=require("../../../base/icon/icon.cjs.js"),a=require("./table-header-button.module.scss.cjs.js"),e=q.forwardRef(({icon:o,filled:r=!1,selected:u=!1,disabled:n,onClick:l,className:d,iconSize:s=18,type:i="button",children:c,...b},f)=>t.jsxs("button",{...b,ref:f,type:i,disabled:n,onClick:l,className:m.default(a.default["tedi-table-header-button"],{[a.default["tedi-table-header-button--selected"]]:u},d),children:[c,t.jsx(h.Icon,{name:o,filled:r,color:"inherit",size:s})]}));e.displayName="TableHeaderButton";exports.TableHeaderButton=e;exports.default=e;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { IconSize } from '../../../base/icon/icon';
|
|
3
|
+
interface TableHeaderButtonBaseProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'aria-label'> {
|
|
4
|
+
/**
|
|
5
|
+
* Material icon name rendered inside the button (e.g. `unfold_more`,
|
|
6
|
+
* `arrow_downward`, `filter_alt`).
|
|
7
|
+
*/
|
|
8
|
+
icon: string;
|
|
9
|
+
/**
|
|
10
|
+
* Render the icon's "filled" variant. Pair with `selected` for a fully
|
|
11
|
+
* activated look (e.g. an applied filter).
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
filled?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* When `true`, the icon paints in the brand colour to indicate an active
|
|
17
|
+
* sort or filter at rest. Hover / focus / active states are still applied
|
|
18
|
+
* on top.
|
|
19
|
+
* @default false
|
|
20
|
+
*/
|
|
21
|
+
selected?: boolean;
|
|
22
|
+
/** Size of the icon, in pixels. @default 18 */
|
|
23
|
+
iconSize?: IconSize;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Accessibility-driven discriminated union enforcing WCAG SC 4.1.2 at compile
|
|
27
|
+
* time:
|
|
28
|
+
* - **Labelled** — `children` provide visible text (e.g. a sortable column
|
|
29
|
+
* header), which is the accessible name, so `aria-label` is optional.
|
|
30
|
+
* - **Icon-only** — no `children` (e.g. a filter trigger), so the button has
|
|
31
|
+
* nothing to announce; `aria-label` is required.
|
|
32
|
+
*/
|
|
33
|
+
type TableHeaderButtonLabelProps = {
|
|
34
|
+
/**
|
|
35
|
+
* Label rendered before the icon — the whole "text + icon" area becomes
|
|
36
|
+
* one clickable button (matching the Angular implementation).
|
|
37
|
+
*/
|
|
38
|
+
children: React.ReactNode;
|
|
39
|
+
/** Optional accessible name; the visible `children` already provide one. */
|
|
40
|
+
'aria-label'?: string;
|
|
41
|
+
} | {
|
|
42
|
+
children?: undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Required accessible name — icon-only buttons have no visible text for
|
|
45
|
+
* screen readers to announce.
|
|
46
|
+
*/
|
|
47
|
+
'aria-label': string;
|
|
48
|
+
};
|
|
49
|
+
export type TableHeaderButtonProps = TableHeaderButtonBaseProps & TableHeaderButtonLabelProps;
|
|
50
|
+
export declare const TableHeaderButton: React.ForwardRefExoticComponent<TableHeaderButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
51
|
+
export default TableHeaderButton;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsxs as b, jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import p from "../../../../../../external/classnames/index.es.js";
|
|
3
|
+
import { forwardRef as u } from "react";
|
|
4
|
+
import { Icon as h } from "../../../base/icon/icon.es.js";
|
|
5
|
+
import e from "./table-header-button.module.scss.es.js";
|
|
6
|
+
const x = u(
|
|
7
|
+
({
|
|
8
|
+
icon: t,
|
|
9
|
+
filled: o = !1,
|
|
10
|
+
selected: a = !1,
|
|
11
|
+
disabled: r,
|
|
12
|
+
onClick: s,
|
|
13
|
+
className: l,
|
|
14
|
+
iconSize: m = 18,
|
|
15
|
+
type: i = "button",
|
|
16
|
+
children: d,
|
|
17
|
+
...n
|
|
18
|
+
}, f) => /* @__PURE__ */ b(
|
|
19
|
+
"button",
|
|
20
|
+
{
|
|
21
|
+
...n,
|
|
22
|
+
ref: f,
|
|
23
|
+
type: i,
|
|
24
|
+
disabled: r,
|
|
25
|
+
onClick: s,
|
|
26
|
+
className: p(
|
|
27
|
+
e["tedi-table-header-button"],
|
|
28
|
+
{ [e["tedi-table-header-button--selected"]]: a },
|
|
29
|
+
l
|
|
30
|
+
),
|
|
31
|
+
children: [
|
|
32
|
+
d,
|
|
33
|
+
/* @__PURE__ */ c(h, { name: t, filled: o, color: "inherit", size: m })
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
);
|
|
38
|
+
x.displayName = "TableHeaderButton";
|
|
39
|
+
export {
|
|
40
|
+
x as TableHeaderButton,
|
|
41
|
+
x as default
|
|
42
|
+
};
|
package/src/tedi/components/content/table/table-header-button/table-header-button.module.scss.cjs.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-table-header-button":"tedi-table-header-button-b43c480a","tedi-table-header-button--selected":"tedi-table-header-button--selected-f428ec59"};exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),o=require("../../../../../../external/classnames/index.cjs.js"),r=require("../table.module.scss.cjs.js"),e=({children:l,className:a})=>t.jsx("div",{className:o.default(r.default["tedi-table__toolbar"],a),children:l});e.displayName="Table.Toolbar";exports.TableToolbar=e;exports.default=e;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface TableToolbarProps {
|
|
3
|
+
/**
|
|
4
|
+
* Toolbar contents — typically Table sub-components like
|
|
5
|
+
* `<Table.ColumnsMenu />`, but any node is allowed.
|
|
6
|
+
*/
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Additional class name on the toolbar wrapper.
|
|
10
|
+
*/
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Optional slot rendered above the `<table>`. Hosts controls like
|
|
15
|
+
* `<Table.ColumnsMenu />`. Nothing clever — it just provides consistent spacing.
|
|
16
|
+
*/
|
|
17
|
+
export declare const TableToolbar: {
|
|
18
|
+
({ children, className }: TableToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
displayName: string;
|
|
20
|
+
};
|
|
21
|
+
export default TableToolbar;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import s from "../../../../../../external/classnames/index.es.js";
|
|
3
|
+
import e from "../table.module.scss.es.js";
|
|
4
|
+
const r = ({ children: a, className: o }) => /* @__PURE__ */ l("div", { className: s(e["tedi-table__toolbar"], o), children: a });
|
|
5
|
+
r.displayName = "Table.Toolbar";
|
|
6
|
+
export {
|
|
7
|
+
r as TableToolbar,
|
|
8
|
+
r as default
|
|
9
|
+
};
|