@tedi-design-system/react 18.1.0-rc.2 → 18.1.0-rc.20

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.
Files changed (155) hide show
  1. package/_virtual/index.es13.js +2 -2
  2. package/_virtual/index.es14.js +2 -2
  3. package/bundle-stats.html +1 -1
  4. package/community.cjs.js +1 -1
  5. package/community.es.js +156 -152
  6. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.cjs.js +1 -1
  7. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.es.js +1 -1
  8. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  9. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.es.js +1 -1
  10. package/external/hoist-non-react-statics/external/react-is/index.cjs.js +1 -1
  11. package/external/hoist-non-react-statics/external/react-is/index.es.js +1 -1
  12. package/external/prop-types/external/react-is/cjs/react-is.development.cjs.js +1 -1
  13. package/external/prop-types/external/react-is/cjs/react-is.development.es.js +1 -1
  14. package/external/prop-types/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  15. package/external/prop-types/external/react-is/cjs/react-is.production.min.es.js +1 -1
  16. package/external/prop-types/external/react-is/index.cjs.js +1 -1
  17. package/external/prop-types/external/react-is/index.es.js +1 -1
  18. package/external/react-is/index.cjs.js +1 -1
  19. package/external/react-is/index.es.js +1 -1
  20. package/external/toposort/index.cjs.js +1 -1
  21. package/external/toposort/index.es.js +1 -1
  22. package/index.css +1 -1
  23. package/package.json +1 -1
  24. package/src/community/components/anchor/anchor.d.ts +1 -0
  25. package/src/community/components/button/button.d.ts +1 -0
  26. package/src/community/components/card/card-content/card-content.d.ts +3 -0
  27. package/src/community/components/card/card-header/card-header.d.ts +3 -0
  28. package/src/community/components/card/card-notification/card-notification.d.ts +3 -0
  29. package/src/community/components/card/card.d.ts +3 -0
  30. package/src/community/components/dropdown/dropdown.cjs.js +1 -1
  31. package/src/community/components/dropdown/dropdown.d.ts +3 -0
  32. package/src/community/components/dropdown/dropdown.es.js +5 -6
  33. package/src/community/components/form/choice-group/choice-group.d.ts +3 -0
  34. package/src/community/components/form/file-upload/file-upload.d.ts +6 -0
  35. package/src/community/components/form/radio/radio.d.ts +3 -0
  36. package/src/community/components/form/select/select.d.ts +3 -0
  37. package/src/community/components/form/toggle/toggle.cjs.js +1 -1
  38. package/src/community/components/form/toggle/toggle.d.ts +3 -0
  39. package/src/community/components/form/toggle/toggle.es.js +5 -6
  40. package/src/community/components/layout/header/components/header-language/header-language.d.ts +3 -0
  41. package/src/community/components/layout/header/components/header-role/header-role.d.ts +3 -0
  42. package/src/community/components/layout/header/components/sidenav-toggle/sidenav-toggle.d.ts +3 -0
  43. package/src/community/components/layout/header/header/header.d.ts +3 -0
  44. package/src/community/components/layout/sidenav/sidenav.d.ts +3 -0
  45. package/src/community/components/map-components/base-map-selection/base-map-option.cjs.js +1 -0
  46. package/src/community/components/map-components/base-map-selection/base-map-option.d.ts +64 -0
  47. package/src/community/components/map-components/base-map-selection/base-map-option.es.js +75 -0
  48. package/src/community/components/map-components/base-map-selection/base-map-selection.cjs.js +1 -1
  49. package/src/community/components/map-components/base-map-selection/base-map-selection.d.ts +37 -22
  50. package/src/community/components/map-components/base-map-selection/base-map-selection.es.js +76 -17
  51. package/src/community/components/map-components/base-map-selection/base-map-selection.module.scss.cjs.js +1 -1
  52. package/src/community/components/map-components/base-map-selection/base-map-selection.module.scss.es.js +5 -1
  53. package/src/community/components/map-components/button-group/button-group.module.scss.cjs.js +1 -1
  54. package/src/community/components/map-components/button-group/button-group.module.scss.es.js +1 -0
  55. package/src/community/components/map-components/left-panel/left-panel-content.cjs.js +1 -1
  56. package/src/community/components/map-components/left-panel/left-panel-content.d.ts +10 -5
  57. package/src/community/components/map-components/left-panel/left-panel-content.es.js +7 -21
  58. package/src/community/components/map-components/left-panel/left-panel-footer.cjs.js +1 -1
  59. package/src/community/components/map-components/left-panel/left-panel-footer.d.ts +11 -1
  60. package/src/community/components/map-components/left-panel/left-panel-footer.es.js +7 -24
  61. package/src/community/components/map-components/left-panel/left-panel-header.cjs.js +1 -1
  62. package/src/community/components/map-components/left-panel/left-panel-header.d.ts +11 -1
  63. package/src/community/components/map-components/left-panel/left-panel-header.es.js +7 -62
  64. package/src/community/components/map-components/left-panel/left-panel.cjs.js +1 -1
  65. package/src/community/components/map-components/left-panel/left-panel.d.ts +67 -5
  66. package/src/community/components/map-components/left-panel/left-panel.es.js +85 -14
  67. package/src/community/components/map-components/left-panel/left-panel.module.scss.cjs.js +1 -1
  68. package/src/community/components/map-components/left-panel/left-panel.module.scss.es.js +4 -4
  69. package/src/community/components/map-components/map-button/map-button.cjs.js +1 -1
  70. package/src/community/components/map-components/map-button/map-button.d.ts +8 -3
  71. package/src/community/components/map-components/map-button/map-button.es.js +42 -33
  72. package/src/community/components/map-components/map-button/map-button.module.scss.cjs.js +1 -1
  73. package/src/community/components/map-components/map-button/map-button.module.scss.es.js +3 -0
  74. package/src/community/components/map-components/resizer/resizer.cjs.js +1 -1
  75. package/src/community/components/map-components/resizer/resizer.es.js +9 -10
  76. package/src/community/components/map-components/split-pane/split-pane.cjs.js +1 -0
  77. package/src/community/components/map-components/split-pane/split-pane.d.ts +37 -0
  78. package/src/community/components/map-components/split-pane/split-pane.es.js +128 -0
  79. package/src/community/components/map-components/split-pane/split-pane.module.scss.cjs.js +1 -0
  80. package/src/community/components/map-components/split-pane/split-pane.module.scss.es.js +17 -0
  81. package/src/community/components/status/status.d.ts +3 -0
  82. package/src/community/components/table/table.d.ts +3 -0
  83. package/src/community/components/tag/tag.d.ts +3 -0
  84. package/src/community/components/toggle-open/toggle-open.d.ts +3 -0
  85. package/src/community/components/tooltip/tooltip-trigger.d.ts +3 -0
  86. package/src/community/components/tooltip/tooltip.d.ts +3 -0
  87. package/src/community/index.d.ts +1 -0
  88. package/src/tedi/components/buttons/collapse-button/collapse-button.cjs.js +1 -1
  89. package/src/tedi/components/buttons/collapse-button/collapse-button.es.js +2 -1
  90. package/src/tedi/components/content/table/table.cjs.js +1 -1
  91. package/src/tedi/components/content/table/table.d.ts +8 -5
  92. package/src/tedi/components/content/table/table.es.js +308 -295
  93. package/src/tedi/components/form/file-dropzone/file-dropzone.cjs.js +1 -1
  94. package/src/tedi/components/form/file-dropzone/file-dropzone.es.js +90 -79
  95. package/src/tedi/components/form/file-upload/file-upload.cjs.js +1 -1
  96. package/src/tedi/components/form/file-upload/file-upload.d.ts +4 -1
  97. package/src/tedi/components/form/file-upload/file-upload.es.js +138 -119
  98. package/src/tedi/components/form/file-upload/file-upload.module.scss.cjs.js +1 -1
  99. package/src/tedi/components/form/file-upload/file-upload.module.scss.es.js +1 -1
  100. package/src/tedi/components/form/search/search.cjs.js +1 -1
  101. package/src/tedi/components/form/search/search.es.js +60 -40
  102. package/src/tedi/components/form/search/search.module.scss.cjs.js +1 -1
  103. package/src/tedi/components/form/search/search.module.scss.es.js +7 -3
  104. package/src/tedi/components/layout/header/components/header-language/header-language.cjs.js +1 -0
  105. package/src/tedi/components/layout/header/components/header-language/header-language.es.js +105 -0
  106. package/src/tedi/components/layout/header/components/header-language/header-language.module.scss.cjs.js +1 -0
  107. package/src/tedi/components/layout/header/components/header-language/header-language.module.scss.es.js +12 -0
  108. package/src/tedi/components/layout/header/components/header-login/header-login.cjs.js +1 -0
  109. package/src/tedi/components/layout/header/components/header-login/header-login.es.js +36 -0
  110. package/src/tedi/components/layout/header/components/header-login/header-login.module.scss.cjs.js +1 -0
  111. package/src/tedi/components/layout/header/components/header-login/header-login.module.scss.es.js +8 -0
  112. package/src/tedi/components/layout/header/components/header-logout/header-logout.cjs.js +1 -0
  113. package/src/tedi/components/layout/header/components/header-logout/header-logout.es.js +33 -0
  114. package/src/tedi/components/layout/header/components/header-logout/header-logout.module.scss.cjs.js +1 -0
  115. package/src/tedi/components/layout/header/components/header-logout/header-logout.module.scss.es.js +7 -0
  116. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.cjs.js +1 -0
  117. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.es.js +25 -0
  118. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.module.scss.cjs.js +1 -0
  119. package/src/tedi/components/layout/header/components/header-mobile-button/header-mobile-button.module.scss.es.js +10 -0
  120. package/src/tedi/components/layout/header/components/header-profile/header-profile.cjs.js +1 -0
  121. package/src/tedi/components/layout/header/components/header-profile/header-profile.es.js +136 -0
  122. package/src/tedi/components/layout/header/components/header-profile/header-profile.module.scss.cjs.js +1 -0
  123. package/src/tedi/components/layout/header/components/header-profile/header-profile.module.scss.es.js +14 -0
  124. package/src/tedi/components/layout/header/components/header-role/header-role-representatives.cjs.js +1 -0
  125. package/src/tedi/components/layout/header/components/header-role/header-role-representatives.es.js +89 -0
  126. package/src/tedi/components/layout/header/components/header-role/header-role.cjs.js +1 -0
  127. package/src/tedi/components/layout/header/components/header-role/header-role.es.js +162 -0
  128. package/src/tedi/components/layout/header/components/header-role/header-role.module.scss.cjs.js +1 -0
  129. package/src/tedi/components/layout/header/components/header-role/header-role.module.scss.es.js +25 -0
  130. package/src/tedi/components/layout/header/components/header-search/header-search.cjs.js +1 -0
  131. package/src/tedi/components/layout/header/components/header-search/header-search.es.js +60 -0
  132. package/src/tedi/components/layout/header/components/header-search/header-search.module.scss.cjs.js +1 -0
  133. package/src/tedi/components/layout/header/components/header-search/header-search.module.scss.es.js +9 -0
  134. package/src/tedi/components/layout/header/header.cjs.js +1 -0
  135. package/src/tedi/components/layout/header/header.es.js +63 -0
  136. package/src/tedi/components/layout/header/header.module.scss.cjs.js +1 -0
  137. package/src/tedi/components/layout/header/header.module.scss.es.js +13 -0
  138. package/src/tedi/components/layout/hide-at/hide-at.cjs.js +1 -0
  139. package/src/tedi/components/layout/hide-at/hide-at.es.js +10 -0
  140. package/src/tedi/components/layout/show-at/show-at.cjs.js +1 -0
  141. package/src/tedi/components/layout/show-at/show-at.es.js +10 -0
  142. package/src/tedi/components/tags/tag/tag.cjs.js +1 -1
  143. package/src/tedi/components/tags/tag/tag.d.ts +9 -0
  144. package/src/tedi/components/tags/tag/tag.es.js +18 -17
  145. package/src/tedi/helpers/hooks/use-file-upload.cjs.js +1 -1
  146. package/src/tedi/helpers/hooks/use-file-upload.es.js +71 -66
  147. package/src/tedi/index.d.ts +3 -0
  148. package/src/tedi/providers/label-provider/label-provider.cjs.js +1 -1
  149. package/src/tedi/providers/label-provider/label-provider.d.ts +2 -2
  150. package/src/tedi/providers/label-provider/label-provider.es.js +2 -2
  151. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  152. package/src/tedi/providers/label-provider/labels-map.d.ts +49 -0
  153. package/src/tedi/providers/label-provider/labels-map.es.js +114 -65
  154. package/tedi.cjs.js +1 -1
  155. package/tedi.es.js +303 -281
@@ -1,38 +1,47 @@
1
- import { jsxs as s, Fragment as T, jsx as t } from "react/jsx-runtime";
2
- import u from "../../../../../external/classnames/index.es.js";
3
- import { useState as _ } from "react";
4
- import { Icon as I } from "../../../../tedi/components/base/icon/icon.es.js";
5
- import { Button as M } from "../../../../tedi/components/buttons/button/button.es.js";
1
+ import { jsxs as a, Fragment as z, jsx as e } from "react/jsx-runtime";
2
+ import b from "../../../../../external/classnames/index.es.js";
3
+ import { useState as I } from "react";
4
+ import { Icon as M } from "../../../../tedi/components/base/icon/icon.es.js";
5
+ import { Spinner as O } from "../../../../tedi/components/loaders/spinner/spinner.es.js";
6
+ import { Button as j } from "../../../../tedi/components/buttons/button/button.es.js";
6
7
  import { MapDropdown as l } from "../map-dropdown/map-dropdown.es.js";
7
- import e from "./map-button.module.scss.es.js";
8
- import { Tooltip as a } from "../../../../tedi/components/overlays/tooltip/tooltip.es.js";
9
- const F = (h) => {
8
+ import t from "./map-button.module.scss.es.js";
9
+ import { Tooltip as m } from "../../../../tedi/components/overlays/tooltip/tooltip.es.js";
10
+ const q = (h) => {
10
11
  const {
11
12
  size: o = "default",
12
- icon: m,
13
+ icon: d,
13
14
  selected: f = !1,
14
- className: b,
15
- children: c,
16
- hideLabel: d = !1,
17
- tooltipContent: p = c,
15
+ className: g,
16
+ children: p,
17
+ hideLabel: c = !1,
18
+ tooltipContent: u = p,
18
19
  dropdownItems: n,
19
- ...g
20
- } = h, [C, w] = _(!1), D = f || C, N = u(
21
- e["tedi-map-button"],
22
- e[`tedi-map-button--${o}`],
23
- D && e["tedi-map-button--selected"],
24
- n && e["tedi-map-button--dropdown"],
25
- b
26
- ), x = /* @__PURE__ */ s(T, { children: [
27
- m && /* @__PURE__ */ t(I, { name: m, className: e["tedi-map-button__icon"], size: o === "small" ? 24 : 18 }),
28
- !d && /* @__PURE__ */ t("div", { className: u(e["tedi-map-button__text"]), children: c })
29
- ] }), i = /* @__PURE__ */ t(M, { noStyle: !0, className: N, size: o, ...g, children: x }), B = d && p ? /* @__PURE__ */ s(a, { placement: "right", children: [
30
- /* @__PURE__ */ t(a.Trigger, { children: i }),
31
- /* @__PURE__ */ t(a.Content, { children: p })
32
- ] }) : i;
33
- return n ? /* @__PURE__ */ s(l, { onOpenChange: w, placement: "right-start", children: [
34
- /* @__PURE__ */ t(l.Trigger, { children: i }),
35
- /* @__PURE__ */ t(
20
+ isActive: C,
21
+ isHovered: N,
22
+ underline: _,
23
+ isLoading: i,
24
+ ...v
25
+ } = h, [w, D] = I(!1), x = f || w, B = b(
26
+ t["tedi-map-button"],
27
+ t[`tedi-map-button--${o}`],
28
+ x && t["tedi-map-button--selected"],
29
+ n && t["tedi-map-button--dropdown"],
30
+ C && t["tedi-map-button--is-active"],
31
+ N && t["tedi-map-button--is-hovered"],
32
+ _ && t["tedi-map-button--underline"],
33
+ i && t["tedi-map-button--loading"],
34
+ g
35
+ ), S = /* @__PURE__ */ a(z, { children: [
36
+ i ? /* @__PURE__ */ e(O, { size: o === "small" ? 16 : 18, className: t["tedi-map-button__icon"] }) : d && /* @__PURE__ */ e(M, { name: d, className: t["tedi-map-button__icon"], size: o === "small" ? 24 : 18 }),
37
+ !c && /* @__PURE__ */ e("div", { className: b(t["tedi-map-button__text"]), children: p })
38
+ ] }), s = /* @__PURE__ */ e(j, { noStyle: !0, isLoading: i, className: B, size: o, ...v, children: S }), T = c && u ? /* @__PURE__ */ a(m, { placement: "right", children: [
39
+ /* @__PURE__ */ e(m.Trigger, { children: s }),
40
+ /* @__PURE__ */ e(m.Content, { children: u })
41
+ ] }) : s;
42
+ return n ? /* @__PURE__ */ a(l, { onOpenChange: D, placement: "right-start", children: [
43
+ /* @__PURE__ */ e(l.Trigger, { children: s }),
44
+ /* @__PURE__ */ e(
36
45
  l.Content,
37
46
  {
38
47
  items: n.map((r) => ({
@@ -42,9 +51,9 @@ const F = (h) => {
42
51
  }))
43
52
  }
44
53
  )
45
- ] }) : B;
54
+ ] }) : T;
46
55
  };
47
56
  export {
48
- F as MapButton,
49
- F as default
57
+ q as MapButton,
58
+ q as default
50
59
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t={"tedi-map-button":"tedi-map-button-ff336c6a","tedi-map-button__icon":"tedi-map-button__icon-f9ff78eb","tedi-map-button__text":"tedi-map-button__text-7f6a075e","tedi-map-button--default":"tedi-map-button--default-e1b335b5","tedi-map-button--small":"tedi-map-button--small-75882e8f","tedi-map-button--selected":"tedi-map-button--selected-9473bbd6","tedi-map-button--dropdown":"tedi-map-button--dropdown-ca6f4f3b"};exports.default=t;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t={"tedi-map-button":"tedi-map-button-ff336c6a","tedi-map-button--is-hovered":"tedi-map-button--is-hovered-25c99939","tedi-map-button--is-active":"tedi-map-button--is-active-f0beea2f","tedi-map-button__icon":"tedi-map-button__icon-f9ff78eb","tedi-map-button__text":"tedi-map-button__text-7f6a075e","tedi-map-button--default":"tedi-map-button--default-e1b335b5","tedi-map-button--small":"tedi-map-button--small-75882e8f","tedi-map-button--selected":"tedi-map-button--selected-9473bbd6","tedi-map-button--underline":"tedi-map-button--underline-20dd4ffc","tedi-map-button--dropdown":"tedi-map-button--dropdown-ca6f4f3b"};exports.default=t;
@@ -1,10 +1,13 @@
1
1
  const t = {
2
2
  "tedi-map-button": "tedi-map-button-ff336c6a",
3
+ "tedi-map-button--is-hovered": "tedi-map-button--is-hovered-25c99939",
4
+ "tedi-map-button--is-active": "tedi-map-button--is-active-f0beea2f",
3
5
  "tedi-map-button__icon": "tedi-map-button__icon-f9ff78eb",
4
6
  "tedi-map-button__text": "tedi-map-button__text-7f6a075e",
5
7
  "tedi-map-button--default": "tedi-map-button--default-e1b335b5",
6
8
  "tedi-map-button--small": "tedi-map-button--small-75882e8f",
7
9
  "tedi-map-button--selected": "tedi-map-button--selected-9473bbd6",
10
+ "tedi-map-button--underline": "tedi-map-button--underline-20dd4ffc",
8
11
  "tedi-map-button--dropdown": "tedi-map-button--dropdown-ca6f4f3b"
9
12
  };
10
13
  export {
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),r=require("react"),z=require("../../../../tedi/components/base/icon/icon.cjs.js"),s=require("./resizer.module.scss.cjs.js"),j=R=>{const{children:b,minWidth:d=300,maxWidth:o=600,initialWidth:g=350,minHeight:c=200,maxHeight:h=600,initialHeight:x=350,className:$,handlePosition:e="right",showIndicator:w=!1}=R,v=r.useRef(null),u=r.useRef(!1),t=r.useRef({x:0,y:0,width:g,height:x}),[a,N]=r.useState({width:g,height:x});r.useEffect(()=>{const n=l=>{if(!u.current||!v.current)return;l.preventDefault();const M=l.clientX-t.current.x,_=l.clientY-t.current.y;N(y=>{let m=y.width,f=y.height;return e==="right"?m=Math.min(Math.max(t.current.width+M,d),o):e==="left"?m=Math.min(Math.max(t.current.width-M,d),o):e==="bottom"?f=Math.min(Math.max(t.current.height+_,c),h):e==="top"&&(f=Math.min(Math.max(t.current.height-_,c),h)),{width:m,height:f}})},p=()=>{u.current=!1,document.body.style.userSelect=""};return document.addEventListener("mousemove",n),document.addEventListener("mouseup",p),()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",p)}},[e,d,o,c,h]);const D=n=>{n.preventDefault(),u.current=!0,document.body.style.userSelect="none",t.current={x:n.clientX,y:n.clientY,width:a.width,height:a.height}};return i.jsxs("div",{ref:v,className:`${s.default["tedi-resize__wrapper"]} ${$||""}`,style:{width:`${a.width}px`,height:e==="top"||e==="bottom"?`${a.height}px`:"auto",position:"relative",display:"block"},children:[i.jsx("div",{className:s.default["tedi-resize__content"],children:b}),i.jsxs("div",{className:`${s.default["tedi-resize__handle-wrapper"]} ${s.default[`direction-${e}`]}`,onMouseDown:D,"data-show-indicator":w,children:[i.jsx("div",{className:s.default["tedi-resize__drag-handle"],children:i.jsx(z.Icon,{name:"drag_handle",size:18})}),!w&&i.jsx("div",{className:s.default["tedi-resize__drag-indicator"],children:i.jsx(z.Icon,{name:"drag_handle",color:"brand",size:18})})]})]})};exports.Resizer=j;exports.default=j;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),r=require("react"),z=require("../../../../tedi/components/base/icon/icon.cjs.js"),s=require("./resizer.module.scss.cjs.js"),D=j=>{const{children:R,minWidth:a=300,maxWidth:d=600,initialWidth:g=350,minHeight:c=200,maxHeight:h=600,initialHeight:x=350,className:b,handlePosition:e="right",showIndicator:w=!1}=j,p=r.useRef(null),u=r.useRef(!1),t=r.useRef({x:0,y:0,width:g,height:x}),[o,$]=r.useState({width:g,height:x});r.useEffect(()=>{const n=l=>{if(!u.current||!p.current)return;l.preventDefault();const M=l.clientX-t.current.x,_=l.clientY-t.current.y;$(y=>{let m=y.width,f=y.height;return e==="right"?m=Math.min(Math.max(t.current.width+M,a),d):e==="left"?m=Math.min(Math.max(t.current.width-M,a),d):e==="bottom"?f=Math.min(Math.max(t.current.height+_,c),h):e==="top"&&(f=Math.min(Math.max(t.current.height-_,c),h)),{width:m,height:f}})},v=()=>{u.current=!1,document.body.style.userSelect=""};return document.addEventListener("mousemove",n),document.addEventListener("mouseup",v),()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",v)}},[e,a,d,c,h]);const N=n=>{n.preventDefault(),u.current=!0,document.body.style.userSelect="none",t.current={x:n.clientX,y:n.clientY,width:o.width,height:o.height}};return i.jsxs("div",{ref:p,className:`${s.default["tedi-resize__wrapper"]} ${b||""}`,style:{width:`${o.width}px`,height:e==="top"||e==="bottom"?`${o.height}px`:"auto",position:"relative",display:"block"},children:[i.jsx("div",{className:s.default["tedi-resize__content"],children:R}),i.jsxs("div",{className:`${s.default["tedi-resize__handle-wrapper"]} ${s.default[`direction-${e}`]}`,onMouseDown:N,"data-show-indicator":w,children:[i.jsx("div",{className:s.default["tedi-resize__drag-handle"],children:i.jsx(z.Icon,{name:"drag_handle",size:18})}),!w&&i.jsx("div",{className:s.default["tedi-resize__drag-indicator"],children:i.jsx(z.Icon,{name:"drag_handle",color:"brand",size:18})})]})]})};exports.Resizer=D;
@@ -1,5 +1,5 @@
1
1
  import { jsxs as z, jsx as r } from "react/jsx-runtime";
2
- import { useRef as f, useState as L, useEffect as R } from "react";
2
+ import { useRef as g, useState as L, useEffect as R } from "react";
3
3
  import { Icon as $ } from "../../../../tedi/components/base/icon/icon.es.js";
4
4
  import n from "./resizer.module.scss.es.js";
5
5
  const P = (b) => {
@@ -7,21 +7,21 @@ const P = (b) => {
7
7
  children: N,
8
8
  minWidth: o = 300,
9
9
  maxWidth: a = 600,
10
- initialWidth: g = 350,
10
+ initialWidth: p = 350,
11
11
  minHeight: d = 200,
12
12
  maxHeight: h = 600,
13
- initialHeight: p = 350,
13
+ initialHeight: f = 350,
14
14
  className: D,
15
15
  handlePosition: e = "right",
16
16
  showIndicator: w = !1
17
- } = b, v = f(null), c = f(!1), t = f({
17
+ } = b, v = g(null), c = g(!1), t = g({
18
18
  x: 0,
19
19
  y: 0,
20
- width: g,
21
- height: p
20
+ width: p,
21
+ height: f
22
22
  }), [s, E] = L({
23
- width: g,
24
- height: p
23
+ width: p,
24
+ height: f
25
25
  });
26
26
  R(() => {
27
27
  const i = (l) => {
@@ -77,6 +77,5 @@ const P = (b) => {
77
77
  );
78
78
  };
79
79
  export {
80
- P as Resizer,
81
- P as default
80
+ P as Resizer
82
81
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),P=require("../../../../../external/classnames/index.cjs.js"),p=require("react"),I=require("../../../../tedi/components/base/icon/icon.cjs.js"),K=require("../../../../tedi/components/buttons/button/button.cjs.js"),s=require("./split-pane.module.scss.cjs.js"),O=require("../../../../tedi/providers/label-provider/use-labels.cjs.js"),B=20,F=80,M=2,S=(c,a,d)=>Math.max(a,Math.min(d,c)),U=(c,a)=>c?a==="first"?"right":"left":a==="first"?"bottom":"top",A=({direction:c,side:a})=>{const d=U(c==="horizontal",a);return i.jsx("div",{"data-testid":"active-pane-ring","aria-hidden":!0,className:P.default(s.default["tedi-split-pane__ring"],s.default[`tedi-split-pane__ring--omit-${d}`])})},T=c=>{const{first:a,second:d,direction:m,highlightedSide:E,onClose:y,initialRatio:b=50,minRatio:f=B,maxRatio:h=F,onRatioChange:x}=c,{getLabel:g}=O.useLabels(),[v,N]=p.useState(()=>S(b,f,h)),_=p.useRef(v),R=p.useRef(null),r=p.useRef(null),l=m==="horizontal",w=e=>{const o=S(e,f,h);_.current=o,N(o)},L=(e,o)=>{if(!R.current)return;const n=R.current.getBoundingClientRect(),t=l?n.width:n.height;if(t<=0)return;const u=l?(e-n.left)/t*100:(o-n.top)/t*100;w(u)},j=()=>{x==null||x(_.current)},D=()=>{const e=t=>L(t.clientX,t.clientY),o=t=>{const u=t.touches[0];u&&L(u.clientX,u.clientY)},n=()=>{var t;(t=r.current)==null||t.call(r),j()};r.current=()=>{document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",n),document.removeEventListener("touchmove",o),document.removeEventListener("touchend",n),r.current=null},document.addEventListener("mousemove",e),document.addEventListener("mouseup",n),document.addEventListener("touchmove",o),document.addEventListener("touchend",n)};p.useEffect(()=>()=>{var e;(e=r.current)==null||e.call(r)},[]);const q=e=>{e.preventDefault(),D()},z=()=>{D()},k=e=>{const o=l?"ArrowLeft":"ArrowUp",n=l?"ArrowRight":"ArrowDown";let t=null;e.key===o?t=_.current-M:e.key===n?t=_.current+M:e.key==="Home"?t=f:e.key==="End"&&(t=h),t!==null&&(e.preventDefault(),w(t),j())};return i.jsxs("div",{ref:R,"data-testid":"split-pane",className:P.default(s.default["tedi-split-pane"],s.default[`tedi-split-pane--${m}`]),children:[i.jsxs("div",{"data-testid":"split-pane-first",className:s.default["tedi-split-pane__pane"],style:{flexGrow:v},children:[a,E==="first"&&i.jsx(A,{direction:m,side:"first"})]}),i.jsxs("div",{role:"separator",tabIndex:0,"aria-orientation":l?"vertical":"horizontal","aria-valuemin":f,"aria-valuemax":h,"aria-valuenow":Math.round(v),"aria-label":g("splitPaneResize"),"data-testid":"split-pane-divider",className:s.default["tedi-split-pane__divider"],onMouseDown:q,onTouchStart:z,onKeyDown:k,children:[i.jsx("span",{"data-testid":"split-pane-handle","aria-hidden":!0,className:s.default["tedi-split-pane__handle"],children:i.jsx(I.Icon,{name:l?"code":"unfold_more",size:18})}),y&&i.jsx("div",{className:s.default["tedi-split-pane__close"],children:i.jsx(K.Button,{"data-testid":"split-pane-close",visualType:"secondary",icon:"close",onClick:y,onMouseDown:e=>e.stopPropagation(),children:g("close")})})]}),i.jsxs("div",{"data-testid":"split-pane-second",className:s.default["tedi-split-pane__pane"],style:{flexGrow:100-v},children:[d,E==="second"&&i.jsx(A,{direction:m,side:"second"})]})]})};T.displayName="SplitPane";exports.SplitPane=T;
@@ -0,0 +1,37 @@
1
+ import { JSX, ReactNode } from 'react';
2
+ type PaneSide = 'first' | 'second';
3
+ type SplitPaneDirection = 'horizontal' | 'vertical';
4
+ export interface SplitPaneProps {
5
+ /** Content of the first (left in horizontal, top in vertical) pane. */
6
+ first: ReactNode;
7
+ /** Content of the second (right in horizontal, bottom in vertical) pane. */
8
+ second: ReactNode;
9
+ /** Layout axis: `horizontal` places panes side by side, `vertical` stacks them. */
10
+ direction: SplitPaneDirection;
11
+ /** Draws an accent ring around the given pane to mark it as active. */
12
+ highlightedSide?: PaneSide;
13
+ /** When provided, renders a close button on the divider. */
14
+ onClose?: () => void;
15
+ /**
16
+ * Initial size of the first pane as a percentage of the container, clamped to `minRatio`–`maxRatio`.
17
+ * @default 50
18
+ */
19
+ initialRatio?: number;
20
+ /**
21
+ * Minimum size of the first pane, as a percentage of the container.
22
+ * @default 20
23
+ */
24
+ minRatio?: number;
25
+ /**
26
+ * Maximum size of the first pane, as a percentage of the container.
27
+ * @default 80
28
+ */
29
+ maxRatio?: number;
30
+ /** Called with the final ratio (%) when a drag or keyboard adjustment event ends. */
31
+ onRatioChange?: (ratio: number) => void;
32
+ }
33
+ export declare const SplitPane: {
34
+ (props: SplitPaneProps): JSX.Element;
35
+ displayName: string;
36
+ };
37
+ export default SplitPane;
@@ -0,0 +1,128 @@
1
+ import { jsxs as _, jsx as c } from "react/jsx-runtime";
2
+ import z from "../../../../../external/classnames/index.es.js";
3
+ import { useState as O, useRef as y, useEffect as B } from "react";
4
+ import { Icon as F } from "../../../../tedi/components/base/icon/icon.es.js";
5
+ import { Button as U } from "../../../../tedi/components/buttons/button/button.es.js";
6
+ import i from "./split-pane.module.scss.es.js";
7
+ import { useLabels as X } from "../../../../tedi/providers/label-provider/use-labels.es.js";
8
+ const Y = 20, j = 80, N = 2, T = (a, s, d) => Math.max(s, Math.min(d, a)), G = (a, s) => a ? s === "first" ? "right" : "left" : s === "first" ? "bottom" : "top", S = ({ direction: a, side: s }) => {
9
+ const d = G(a === "horizontal", s);
10
+ return /* @__PURE__ */ c(
11
+ "div",
12
+ {
13
+ "data-testid": "active-pane-ring",
14
+ "aria-hidden": !0,
15
+ className: z(i["tedi-split-pane__ring"], i[`tedi-split-pane__ring--omit-${d}`])
16
+ }
17
+ );
18
+ }, H = (a) => {
19
+ const {
20
+ first: s,
21
+ second: d,
22
+ direction: m,
23
+ highlightedSide: R,
24
+ onClose: g,
25
+ initialRatio: P = 50,
26
+ minRatio: p = Y,
27
+ maxRatio: h = j,
28
+ onRatioChange: E
29
+ } = a, { getLabel: L } = X(), [f, b] = O(() => T(P, p, h)), v = y(f), w = y(null), r = y(null), l = m === "horizontal", D = (e) => {
30
+ const o = T(e, p, h);
31
+ v.current = o, b(o);
32
+ }, M = (e, o) => {
33
+ if (!w.current)
34
+ return;
35
+ const n = w.current.getBoundingClientRect(), t = l ? n.width : n.height;
36
+ if (t <= 0)
37
+ return;
38
+ const u = l ? (e - n.left) / t * 100 : (o - n.top) / t * 100;
39
+ D(u);
40
+ }, x = () => {
41
+ E == null || E(v.current);
42
+ }, A = () => {
43
+ const e = (t) => M(t.clientX, t.clientY), o = (t) => {
44
+ const u = t.touches[0];
45
+ u && M(u.clientX, u.clientY);
46
+ }, n = () => {
47
+ var t;
48
+ (t = r.current) == null || t.call(r), x();
49
+ };
50
+ r.current = () => {
51
+ document.removeEventListener("mousemove", e), document.removeEventListener("mouseup", n), document.removeEventListener("touchmove", o), document.removeEventListener("touchend", n), r.current = null;
52
+ }, document.addEventListener("mousemove", e), document.addEventListener("mouseup", n), document.addEventListener("touchmove", o), document.addEventListener("touchend", n);
53
+ };
54
+ B(() => () => {
55
+ var e;
56
+ (e = r.current) == null || e.call(r);
57
+ }, []);
58
+ const k = (e) => {
59
+ e.preventDefault(), A();
60
+ }, I = () => {
61
+ A();
62
+ }, K = (e) => {
63
+ const o = l ? "ArrowLeft" : "ArrowUp", n = l ? "ArrowRight" : "ArrowDown";
64
+ let t = null;
65
+ e.key === o ? t = v.current - N : e.key === n ? t = v.current + N : e.key === "Home" ? t = p : e.key === "End" && (t = h), t !== null && (e.preventDefault(), D(t), x());
66
+ };
67
+ return /* @__PURE__ */ _(
68
+ "div",
69
+ {
70
+ ref: w,
71
+ "data-testid": "split-pane",
72
+ className: z(i["tedi-split-pane"], i[`tedi-split-pane--${m}`]),
73
+ children: [
74
+ /* @__PURE__ */ _("div", { "data-testid": "split-pane-first", className: i["tedi-split-pane__pane"], style: { flexGrow: f }, children: [
75
+ s,
76
+ R === "first" && /* @__PURE__ */ c(S, { direction: m, side: "first" })
77
+ ] }),
78
+ /* @__PURE__ */ _(
79
+ "div",
80
+ {
81
+ role: "separator",
82
+ tabIndex: 0,
83
+ "aria-orientation": l ? "vertical" : "horizontal",
84
+ "aria-valuemin": p,
85
+ "aria-valuemax": h,
86
+ "aria-valuenow": Math.round(f),
87
+ "aria-label": L("splitPaneResize"),
88
+ "data-testid": "split-pane-divider",
89
+ className: i["tedi-split-pane__divider"],
90
+ onMouseDown: k,
91
+ onTouchStart: I,
92
+ onKeyDown: K,
93
+ children: [
94
+ /* @__PURE__ */ c("span", { "data-testid": "split-pane-handle", "aria-hidden": !0, className: i["tedi-split-pane__handle"], children: /* @__PURE__ */ c(F, { name: l ? "code" : "unfold_more", size: 18 }) }),
95
+ g && /* @__PURE__ */ c("div", { className: i["tedi-split-pane__close"], children: /* @__PURE__ */ c(
96
+ U,
97
+ {
98
+ "data-testid": "split-pane-close",
99
+ visualType: "secondary",
100
+ icon: "close",
101
+ onClick: g,
102
+ onMouseDown: (e) => e.stopPropagation(),
103
+ children: L("close")
104
+ }
105
+ ) })
106
+ ]
107
+ }
108
+ ),
109
+ /* @__PURE__ */ _(
110
+ "div",
111
+ {
112
+ "data-testid": "split-pane-second",
113
+ className: i["tedi-split-pane__pane"],
114
+ style: { flexGrow: 100 - f },
115
+ children: [
116
+ d,
117
+ R === "second" && /* @__PURE__ */ c(S, { direction: m, side: "second" })
118
+ ]
119
+ }
120
+ )
121
+ ]
122
+ }
123
+ );
124
+ };
125
+ H.displayName = "SplitPane";
126
+ export {
127
+ H as SplitPane
128
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i={"tedi-split-pane":"tedi-split-pane-2f8739d4","tedi-split-pane--horizontal":"tedi-split-pane--horizontal-89c953f4","tedi-split-pane--vertical":"tedi-split-pane--vertical-ca3d67c4","tedi-split-pane__pane":"tedi-split-pane__pane-96c0c744","tedi-split-pane__divider":"tedi-split-pane__divider-096d4854","tedi-split-pane__handle":"tedi-split-pane__handle-373bdc4c","tedi-split-pane__close":"tedi-split-pane__close-928a5d26","tedi-split-pane__ring":"tedi-split-pane__ring-70ed59d7","tedi-split-pane__ring--omit-top":"tedi-split-pane__ring--omit-top-1037b0f4","tedi-split-pane__ring--omit-right":"tedi-split-pane__ring--omit-right-7955a195","tedi-split-pane__ring--omit-bottom":"tedi-split-pane__ring--omit-bottom-aa8724f3","tedi-split-pane__ring--omit-left":"tedi-split-pane__ring--omit-left-c20a6747"};exports.default=i;
@@ -0,0 +1,17 @@
1
+ const i = {
2
+ "tedi-split-pane": "tedi-split-pane-2f8739d4",
3
+ "tedi-split-pane--horizontal": "tedi-split-pane--horizontal-89c953f4",
4
+ "tedi-split-pane--vertical": "tedi-split-pane--vertical-ca3d67c4",
5
+ "tedi-split-pane__pane": "tedi-split-pane__pane-96c0c744",
6
+ "tedi-split-pane__divider": "tedi-split-pane__divider-096d4854",
7
+ "tedi-split-pane__handle": "tedi-split-pane__handle-373bdc4c",
8
+ "tedi-split-pane__close": "tedi-split-pane__close-928a5d26",
9
+ "tedi-split-pane__ring": "tedi-split-pane__ring-70ed59d7",
10
+ "tedi-split-pane__ring--omit-top": "tedi-split-pane__ring--omit-top-1037b0f4",
11
+ "tedi-split-pane__ring--omit-right": "tedi-split-pane__ring--omit-right-7955a195",
12
+ "tedi-split-pane__ring--omit-bottom": "tedi-split-pane__ring--omit-bottom-aa8724f3",
13
+ "tedi-split-pane__ring--omit-left": "tedi-split-pane__ring--omit-left-c20a6747"
14
+ };
15
+ export {
16
+ i as default
17
+ };
@@ -16,5 +16,8 @@ export interface StatusProps {
16
16
  */
17
17
  tooltipContent?: React.ReactNode;
18
18
  }
19
+ /**
20
+ * @deprecated Use `StatusIndicator` from `@tedi-design-system/react/tedi` instead.
21
+ */
19
22
  export declare const Status: (props: StatusProps) => JSX.Element;
20
23
  export default Status;
@@ -1,4 +1,7 @@
1
1
  import { DefaultTData, TableProps } from './table.types';
2
2
  export declare const PAGE_SIZE_WITHOUT_PAGINATION = 10000;
3
+ /**
4
+ * @deprecated Use `Table` from `@tedi-design-system/react/tedi` instead.
5
+ */
3
6
  export declare function Table<TData extends DefaultTData<TData>>(props: TableProps<TData>): JSX.Element;
4
7
  export default Table;
@@ -65,5 +65,8 @@ export interface TagProps {
65
65
  */
66
66
  id?: string;
67
67
  }
68
+ /**
69
+ * @deprecated Use `Tag` from `@tedi-design-system/react/tedi` instead.
70
+ */
68
71
  export declare const Tag: React.ForwardRefExoticComponent<TagProps & React.RefAttributes<HTMLDivElement>>;
69
72
  export default Tag;
@@ -19,5 +19,8 @@ export interface ToggleOpenProps extends Omit<ButtonProps, 'children' | 'iconRig
19
19
  */
20
20
  iconRight?: Partial<IconProps>;
21
21
  }
22
+ /**
23
+ * @deprecated Use `CollapseButton` from `@tedi-design-system/react/tedi` instead.
24
+ */
22
25
  export declare const ToggleOpen: ({ openText, closeText, isOpen, iconRight, ...rest }: ToggleOpenProps) => JSX.Element;
23
26
  export default ToggleOpen;
@@ -4,5 +4,8 @@ export interface TooltipTriggerProps {
4
4
  */
5
5
  children: JSX.Element;
6
6
  }
7
+ /**
8
+ * @deprecated Use `TooltipTrigger` from `@tedi-design-system/react/tedi` instead.
9
+ */
7
10
  export declare const TooltipTrigger: (props: TooltipTriggerProps) => JSX.Element;
8
11
  export default TooltipTrigger;
@@ -21,5 +21,8 @@ export interface TooltipProps {
21
21
  */
22
22
  maxWidth?: 'none' | 'small' | 'medium' | 'large';
23
23
  }
24
+ /**
25
+ * @deprecated Use `Tooltip` from `@tedi-design-system/react/tedi` instead.
26
+ */
24
27
  export declare const Tooltip: (props: TooltipProps) => JSX.Element | null;
25
28
  export default Tooltip;
@@ -52,4 +52,5 @@ export * from './components/map-components/right-panel/right-panel';
52
52
  export * from './components/map-components/scale-bar/scale-bar';
53
53
  export * from './components/map-components/map-select/map-select';
54
54
  export * from './components/map-components/sheet/sheet';
55
+ export * from './components/map-components/split-pane/split-pane';
55
56
  export * from './components/map-components/timeline/timeline';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),L=require("../../../../../external/classnames/index.cjs.js"),T=require("react"),d=require("../../base/icon/icon.cjs.js"),e=require("./collapse-button.module.scss.cjs.js"),v=require("../../../providers/label-provider/use-labels.cjs.js"),b=T.forwardRef((f,m)=>{const{open:a,onOpenChange:s,openText:x,closeText:_,hideText:t=!1,arrowType:o="default",size:n="default",inverted:y=!1,underline:h=!0,className:j,onClick:c,"aria-label":i,...N}=f,{getLabel:r}=v.useLabels(),u=a?_??r("close"):x??r("open"),q=t?i??u:i,C=p=>{c==null||c(p),!p.defaultPrevented&&(s==null||s(!a))},B=L.default(e.default["tedi-collapse-button"],{[e.default["tedi-collapse-button--open"]]:a,[e.default["tedi-collapse-button--small"]]:n==="small",[e.default["tedi-collapse-button--inverted"]]:y&&o!=="secondary",[e.default["tedi-collapse-button--icon-only"]]:t,[e.default["tedi-collapse-button--neutral"]]:t&&o!=="secondary",[e.default["tedi-collapse-button--secondary"]]:t&&o==="secondary",[e.default["tedi-collapse-button--no-underline"]]:!t&&!h},j);return l.jsxs("button",{ref:m,type:"button",...N,className:B,onClick:C,"aria-expanded":a,"aria-label":q,children:[!t&&l.jsx("span",{className:e.default["tedi-collapse-button__text"],children:u}),t?o==="secondary"?l.jsx("span",{className:e.default["tedi-collapse-button__icon-wrapper"],children:l.jsx(d.Icon,{className:e.default["tedi-collapse-button__icon"],name:"expand_more",color:"inherit",filled:!0,size:24})}):l.jsx(d.Icon,{className:e.default["tedi-collapse-button__icon"],name:"expand_more",color:"inherit",filled:!0,size:n==="small"?18:24}):l.jsx("span",{className:e.default["tedi-collapse-button__icon-pad"],children:l.jsx(d.Icon,{className:e.default["tedi-collapse-button__icon"],name:"expand_more",color:"inherit",size:n==="small"?16:18})})]})});b.displayName="CollapseButton";const z=b;exports.CollapseButton=z;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime"),L=require("../../../../../external/classnames/index.cjs.js"),T=require("react"),d=require("../../base/icon/icon.cjs.js"),e=require("./collapse-button.module.scss.cjs.js"),z=require("../../../providers/label-provider/use-labels.cjs.js"),f=T.forwardRef((m,_)=>{const{open:a,onOpenChange:s,openText:x,closeText:y,hideText:t=!1,arrowType:o="default",size:n="default",inverted:h=!1,underline:j=!0,className:N,onClick:c,"aria-label":u,...q}=m,{getLabel:i}=z.useLabels(),r=a?y??i("close"):x??i("open"),C=t?u??r:u,v=p=>{c==null||c(p),!p.defaultPrevented&&(s==null||s(!a))},B=L.default(e.default["tedi-collapse-button"],{[e.default["tedi-collapse-button--open"]]:a,[e.default["tedi-collapse-button--small"]]:n==="small",[e.default["tedi-collapse-button--inverted"]]:h&&o!=="secondary",[e.default["tedi-collapse-button--icon-only"]]:t,[e.default["tedi-collapse-button--neutral"]]:t&&o!=="secondary",[e.default["tedi-collapse-button--secondary"]]:t&&o==="secondary",[e.default["tedi-collapse-button--no-underline"]]:!t&&!j},N);return l.jsxs("button",{ref:_,type:"button",...q,className:B,onClick:v,"aria-expanded":a,"aria-label":C,children:[!t&&l.jsx("span",{className:e.default["tedi-collapse-button__text"],children:r}),t?o==="secondary"?l.jsx("span",{className:e.default["tedi-collapse-button__icon-wrapper"],children:l.jsx(d.Icon,{className:e.default["tedi-collapse-button__icon"],name:"expand_more",color:"inherit",filled:!0,size:24})}):l.jsx(d.Icon,{className:e.default["tedi-collapse-button__icon"],name:"expand_more",color:"inherit",filled:!0,size:n==="small"?18:24}):l.jsx("span",{className:e.default["tedi-collapse-button__icon-pad"],children:l.jsx(d.Icon,{className:e.default["tedi-collapse-button__icon"],name:"expand_more",color:"inherit",size:n==="small"?16:18})})]})});f.displayName="CollapseButton";const b=f;exports.CollapseButton=b;exports.default=b;
@@ -80,5 +80,6 @@ const u = B.forwardRef((b, f) => {
80
80
  u.displayName = "CollapseButton";
81
81
  const q = u;
82
82
  export {
83
- q as CollapseButton
83
+ q as CollapseButton,
84
+ q as default
84
85
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),re=require("../../../../../external/@tanstack/react-table/build/lib/index.cjs.js"),I=require("../../../../../external/classnames/index.cjs.js"),i=require("react"),ft=require("../../base/icon/icon.cjs.js"),cn=require("../../buttons/collapse-button/collapse-button.cjs.js"),gt=require("../../form/checkbox/checkbox.cjs.js"),un=require("../../form/radio/radio.cjs.js"),gn=require("../../form/textfield/textfield.cjs.js"),o=require("./table.module.scss.cjs.js"),fn=require("./table-columns-menu/table-columns-menu.cjs.js"),pn=require("./table-context.cjs.js"),mn=require("./table-header-button/table-header-button.cjs.js"),bn=require("./table-toolbar/table-toolbar.cjs.js"),hn=require("./use-table-persistence.cjs.js"),xn=require("../../../providers/label-provider/use-labels.cjs.js"),ae=require("../../../../../external/@tanstack/table-core/build/lib/index.cjs.js"),wn=require("../../navigation/pagination/pagination.cjs.js"),Cn=(D,T)=>B=>{const v=B.index;if(v<0||v>=D.length)return 1;const N=T(D[v]);if(v>0&&T(D[v-1])===N)return 0;let E=1;for(let L=v+1;L<D.length&&T(D[L])===N;L++)E++;return E},pt="data-tedi-drag-handle",_n=({label:D,onHandlePointerDown:T,id:B,pickedUp:v,onKeyDown:N})=>r.jsx("button",{type:"button",id:B,className:I.default(o.default["tedi-table__drag-handle"],{[o.default["tedi-table__drag-handle--picked-up"]]:v}),"aria-label":D,"aria-pressed":v,onClick:E=>E.stopPropagation(),onMouseDown:T,onTouchStart:T,onKeyDown:N,[pt]:"",children:r.jsx(ft.Icon,{name:"drag_indicator",size:18,color:"inherit"})}),vn=D=>{const{row:T,rowClassName:B,rowStyle:v,isActiveRow:N,clickable:E,onClick:L,onKeyDownHandler:_e,ariaRowIndex:ve,columnProps:ee,draggable:se,dragHandleLabel:de,dragHandlers:g,dragHandleId:Se,dragHandlePickedUp:Re,dragOverColumnId:ce}=D;return r.jsx("tr",{className:B,style:v,draggable:se||void 0,onDragStart:g==null?void 0:g.onDragStart,onDragOver:g==null?void 0:g.onDragOver,onDragLeave:g==null?void 0:g.onDragLeave,onDragEnd:g==null?void 0:g.onDragEnd,onDrop:g==null?void 0:g.onDrop,onClick:E&&L?()=>L(T):void 0,onKeyDown:E?_e:void 0,tabIndex:E?0:void 0,role:E?"button":void 0,"aria-rowindex":ve,"aria-current":N?"true":void 0,children:T.getVisibleCells().map(O=>{var ue;const f=O.column.columnDef.meta,P=ee==null?void 0:ee(O.column.id),te=se&&O.column.id===Ce,A=!!ce&&O.column.id===ce,M=(ue=f==null?void 0:f.rowSpan)==null?void 0:ue.call(f,O.row);return M===0?null:r.jsx("td",{rowSpan:M&&M>1?M:void 0,className:I.default(o.default["tedi-table__cell"],{[o.default[`tedi-table__cell--align-${f==null?void 0:f.align}`]]:f==null?void 0:f.align,[o.default[`tedi-table__cell--valign-${f==null?void 0:f.vAlign}`]]:f==null?void 0:f.vAlign,[o.default["tedi-table__cell--drag-handle"]]:te,[o.default["tedi-table__cell--drag-over"]]:A},P==null?void 0:P.className),style:P==null?void 0:P.style,children:te?r.jsx(_n,{label:de,onHandlePointerDown:(g==null?void 0:g.onHandlePointerDown)??(()=>{}),onKeyDown:g==null?void 0:g.onKeyDown,id:Se,pickedUp:Re}):re.flexRender(O.column.columnDef.cell,O.getContext())},O.id)})})},Be="__select__",Me="__expand__",Ce="__drag__",ie=()=>!0,Sn={text:ie,select:ie,"multi-select":ie,"date-range":ie,"date-range-period":ie};function Rn(D){return Array.isArray(D.columns)}function mt(D){const{id:T,data:B,columns:v,size:N="medium",caption:E,state:L,defaultState:_e,onStateChange:ve,persist:ee,emptyState:se,emptyStateRole:de,className:g,children:Se,striped:Re=!1,verticalBorders:ce=!1,borderless:O=!1,stickyFirstColumn:f=!1,stickyHeader:P=!1,maxHeight:te,onRowClick:A,activeRowId:M,rowHover:ue,enableRowSelection:qe,selectionMode:De="multiple",highlightSelectedRows:bt=!0,enableColumnFilters:ye=!1,renderSubComponent:U,getRowCanExpand:He,getSubRows:Ue,getRowId:ht,expandTrigger:ke="button",paginateExpandedRows:xt=!1,pagination:q,autoResetPageIndex:wt=!0,manualPagination:K=!1,manualSorting:Ie=!1,manualFiltering:Te=!1,pageCount:Ke,rowCount:ge,checkboxProps:Ee,radioProps:Ve,collapseProps:Ge,rowProps:Ne,columnProps:H,reorderableRows:S=!1,onRowDrop:$,reorderableColumns:V=!1}=D,{getLabel:h}=xn.useLabels(),We=se??h("table.no-data"),G=i.useRef(h);G.current=h;const Ct=i.useId(),p=T??Ct,x=i.useMemo(()=>q?q===!0?{pageSize:10,pageSizeOptions:[10,25,50],paginationProps:void 0}:{pageSize:q.pageSize??10,pageSizeOptions:q.pageSizeOptions===void 0?[10,25,50]:q.pageSizeOptions,paginationProps:q.paginationProps}:null,[q]),y=x!==null,_t=i.useMemo(()=>{const e=x==null?void 0:x.pageSizeOptions;return Array.isArray(e)&&e.length>0?e:void 0},[x]),[j,R]=hn.useTablePersistence({persist:ee,controlled:L,defaultState:_e,onStateChange:ve}),vt=i.useCallback(e=>{R(n=>{const t=n.columnVisibility??{};return{columnVisibility:typeof e=="function"?e(t):e}})},[R]),St=i.useCallback(e=>{R(n=>{const t=n.rowSelection??{};return{rowSelection:typeof e=="function"?e(t):e}})},[R]),Rt=i.useCallback(e=>{R(n=>{const t=n.expanded??{};return{expanded:typeof e=="function"?e(t):e}})},[R]),Dt=i.useCallback(e=>{R(n=>{const t=n.columnFilters??[];return{columnFilters:typeof e=="function"?e(t):e}})},[R]),yt=i.useCallback(e=>{R(n=>{const t=n.columnOrder??[];return{columnOrder:typeof e=="function"?e(t):e}})},[R]),kt=i.useCallback(e=>{R(n=>{const t=n.sorting??[];return{sorting:typeof e=="function"?e(t):e}})},[R]),It=i.useCallback(e=>{R(n=>{const t=n.pagination??{pageIndex:0,pageSize:(x==null?void 0:x.pageSize)??10};return{pagination:typeof e=="function"?e(t):e}})},[R,x]),ne=!!(U||Ue),Xe=!!qe,Tt=i.useMemo(()=>ae.getCoreRowModel(),[]),Et=i.useMemo(()=>Te?void 0:ae.getFilteredRowModel(),[Te]),Nt=i.useMemo(()=>Ie?void 0:ae.getSortedRowModel(),[Ie]),Ot=i.useMemo(()=>ne?ae.getExpandedRowModel():void 0,[ne]),$t=i.useMemo(()=>y&&!K?ae.getPaginationRowModel():void 0,[y,K]),jt=i.useMemo(()=>{const e=[];if(S&&e.push({id:Ce,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:"",cell:()=>null}),Xe){const n=De==="single",t=`${p}-select`;e.push({id:Be,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:n?"":({table:l})=>r.jsx(gt.Checkbox,{...Ee,id:`${p}-select-all`,name:`${p}-select-all`,label:G.current("table.select-all",l.getIsAllPageRowsSelected()),hideLabel:!0,value:"all",checked:l.getIsAllPageRowsSelected(),indeterminate:l.getIsSomePageRowsSelected()&&!l.getIsAllPageRowsSelected(),onChange:(a,s)=>l.toggleAllPageRowsSelected(s)}),cell:({row:l})=>n?r.jsx(un.Radio,{...Ve,id:`${p}-select-${l.id}`,name:t,label:G.current("table.select-row",l.getIsSelected()),hideLabel:!0,value:l.id,checked:l.getIsSelected(),disabled:!l.getCanSelect(),onChange:(a,s)=>{s&&l.toggleSelected(!0)}}):r.jsx(gt.Checkbox,{...Ee,id:`${p}-select-${l.id}`,name:`${p}-select-${l.id}`,label:G.current("table.select-row",l.getIsSelected()),hideLabel:!0,value:l.id,checked:l.getIsSelected(),disabled:!l.getCanSelect(),indeterminate:l.getIsSomeSelected(),onChange:(a,s)=>l.toggleSelected(s)})})}return ne&&e.push({id:Me,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:"",cell:({row:n})=>{if(!n.getCanExpand())return null;const t=`${p}-sub-${n.id}`;return r.jsx("span",{onClick:l=>l.stopPropagation(),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&l.stopPropagation()},children:r.jsx(cn.CollapseButton,{arrowType:ke==="row"?"default":"secondary",...Ge,hideText:!0,id:`${p}-expand-${n.id}`,"aria-controls":U?t:void 0,openText:G.current("table.expand-row"),closeText:G.current("table.collapse-row"),open:n.getIsExpanded(),onOpenChange:()=>n.toggleExpanded()})})}}),[...e,...v]},[v,Xe,De,ne,U,ke,S,p,Ee,Ve,Ge]),Lt=i.useMemo(()=>({}),[]),Pt=i.useMemo(()=>({}),[]),At=i.useMemo(()=>[],[]),Ft=i.useMemo(()=>[],[]),zt=i.useMemo(()=>[],[]),Bt=i.useMemo(()=>({pageIndex:0,pageSize:(x==null?void 0:x.pageSize)??10}),[x]),c=re.useReactTable({data:B,columns:jt,state:{columnVisibility:j.columnVisibility,columnOrder:j.columnOrder??Ft,rowSelection:j.rowSelection??Lt,expanded:j.expanded??Pt,columnFilters:j.columnFilters??At,sorting:j.sorting??zt,pagination:y?j.pagination??Bt:void 0},enableRowSelection:qe,enableMultiRowSelection:De!=="single",enableColumnFilters:ye,autoResetPageIndex:wt,paginateExpandedRows:y&&!K?xt:!0,manualPagination:K,manualSorting:Ie,manualFiltering:Te,pageCount:K&&Ke!==void 0?Ke:void 0,rowCount:K&&ge!==void 0?ge:void 0,getRowCanExpand:U?He??(()=>!0):He,getSubRows:Ue,getRowId:ht,onColumnVisibilityChange:vt,onColumnOrderChange:yt,onRowSelectionChange:St,onExpandedChange:Rt,onColumnFiltersChange:Dt,onSortingChange:kt,onPaginationChange:y?It:void 0,filterFns:Sn,getCoreRowModel:Tt,getFilteredRowModel:Et,getExpandedRowModel:Ot,getSortedRowModel:Nt,getPaginationRowModel:$t}),Mt=i.useMemo(()=>({table:c,size:N,id:p,state:j}),[c,N,p,j]),qt=i.useCallback(e=>c.setPageIndex(e-1),[c]),Ht=i.useCallback(e=>c.setPageSize(e),[c]),Ut=c.getHeaderGroups().length>1,fe=ke==="row"&&ne,Kt=ue??(!!A||fe),Vt=I.default(o.default["tedi-table"],o.default[`tedi-table--${N}`],{[o.default["tedi-table--striped"]]:Re,[o.default["tedi-table--vertical-borders"]]:ce,[o.default["tedi-table--borderless"]]:O,[o.default["tedi-table--sticky-first-column"]]:f,[o.default["tedi-table--sticky-header"]]:P,[o.default["tedi-table--clickable-rows"]]:!!A||fe,[o.default["tedi-table--row-hover"]]:Kt,[o.default["tedi-table--has-pagination"]]:y,[o.default["tedi-table--grouped-headers"]]:Ut},g),w=c.getRowModel().rows,pe=c.getHeaderGroups(),Ye=c.getFooterGroups(),Je=c.getVisibleLeafColumns(),me=Je.length,Gt=Ye.some(e=>e.headers.some(n=>n.column.columnDef.footer!==void 0)),Qe=e=>!!A||fe&&e.getCanExpand(),Ze=e=>{fe&&e.getCanExpand()&&e.toggleExpanded(),A==null||A(e)},Wt=e=>n=>{Qe(e)&&n.target===n.currentTarget&&(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),Ze(e))},et=pe.length+(ye?1:0),tt=c.getState().pagination,Xt=y?tt.pageIndex*tt.pageSize:0,Yt=y?ge??c.getFilteredRowModel().rows.length:w.length,Jt=y?et+Yt:void 0,[nt,Oe]=i.useState(null),[Qt,be]=i.useState(null),W=i.useRef(null),X=i.useRef(null),[lt,$e]=i.useState(null),[ot,he]=i.useState(null),Y=i.useRef(null),J=i.useRef(null),[at,je]=i.useState(null),xe=i.useRef([]),[it,Le]=i.useState(null),le=i.useRef(-1),[Zt,F]=i.useState(""),we=i.useRef(null),[en,rt]=i.useState(0),Pe=i.useMemo(()=>S?new Map(w.map(e=>[e.id,e.index])):new Map,[S,w]);i.useEffect(()=>{if(!S&&!V)return;const e=()=>{X.current=null,J.current=null};return window.addEventListener("mouseup",e),window.addEventListener("touchend",e),()=>{window.removeEventListener("mouseup",e),window.removeEventListener("touchend",e)}},[S,V]);const tn=i.useCallback(e=>({onHandlePointerDown:()=>{X.current=e},onDragStart:n=>{if(X.current!==e){n.preventDefault();return}X.current=null,n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain",e)}catch{}const t=n.currentTarget,l=t.closest("table");if(l){const a=t.getBoundingClientRect(),s=Array.from(t.children),u=document.createElement("div");u.style.cssText=`position:fixed;top:-10000px;left:0;width:${a.width}px;pointer-events:none;`;const b=document.createElement("table");b.className=l.className,b.style.cssText=`width:${a.width}px;table-layout:fixed;border-collapse:collapse;`;const C=document.createElement("tbody"),_=t.cloneNode(!0);_.classList.add(o.default["tedi-table__row--drag-preview"]);const d=Array.from(_.children);s.forEach((Q,k)=>{const z=d[k];if(!z)return;const oe=Q.getBoundingClientRect();z.style.width=`${oe.width}px`,z.style.minWidth=`${oe.width}px`,z.style.maxWidth=`${oe.width}px`}),C.appendChild(_),b.appendChild(C),u.appendChild(b),document.body.appendChild(u),n.dataTransfer.setDragImage(u,24,a.height/2),window.setTimeout(()=>u.remove(),0)}W.current=e,Oe(e)},onDragOver:n=>{!W.current||W.current===e||(n.preventDefault(),n.dataTransfer.dropEffect="move",be(e))},onDragLeave:()=>{be(n=>n===e?null:n)},onDragEnd:()=>{W.current=null,X.current=null,Oe(null),be(null)},onDrop:n=>{n.preventDefault();const t=W.current,l=e;if(W.current=null,X.current=null,Oe(null),be(null),!t||t===l)return;const a=Pe.get(t),s=Pe.get(l);a===void 0||s===void 0||$==null||$({fromId:t,toId:l,fromIndex:a,toIndex:s})}}),[Pe,$]),st=(e,n,t)=>{const l=e.slice(),[a]=l.splice(n,1);return l.splice(t,0,a),l},nn=i.useCallback(e=>({onHandlePointerDown:()=>{J.current=e},onDragStart:n=>{if(J.current!==e){n.preventDefault();return}J.current=null,n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain",e)}catch{}const t=n.currentTarget,l=t.getBoundingClientRect(),a=document.createElement("div");a.style.cssText=`position:fixed;top:-10000px;left:0;width:${l.width}px;pointer-events:none;`;const s=document.createElement("table"),u=t.closest("table");s.className=(u==null?void 0:u.className)??"",s.style.cssText=`width:${l.width}px;table-layout:fixed;border-collapse:collapse;`;const b=document.createElement("thead"),C=document.createElement("tr");C.className=o.default["tedi-table__row"];const _=t.cloneNode(!0);_.classList.add(o.default["tedi-table__header-cell--drag-preview"]),_.style.width=`${l.width}px`,C.appendChild(_),b.appendChild(C),s.appendChild(b),a.appendChild(s),document.body.appendChild(a),n.dataTransfer.setDragImage(a,l.width/2,l.height/2),window.setTimeout(()=>a.remove(),0),Y.current=e,$e(e)},onDragOver:n=>{!Y.current||Y.current===e||(n.preventDefault(),n.dataTransfer.dropEffect="move",he(e))},onDragLeave:()=>{he(n=>n===e?null:n)},onDragEnd:()=>{Y.current=null,J.current=null,$e(null),he(null)},onDrop:n=>{n.preventDefault();const t=Y.current,l=e;if(Y.current=null,J.current=null,$e(null),he(null),!t||t===l)return;const a=c.getState().columnOrder,s=a.length>0?a:c.getAllLeafColumns().map(C=>C.id),u=s.indexOf(t),b=s.indexOf(l);u<0||b<0||c.setColumnOrder(st(s,u,b))}}),[c]),ln=e=>`${p}-col-reorder-${e}`,on=e=>`${p}-row-reorder-${e}`,dt=()=>c.getVisibleLeafColumns().filter(e=>!e.parent&&e.id!==Ce&&e.id!==Be&&e.id!==Me).map(e=>e.id),Ae=e=>{const n=c.getColumn(e),t=n==null?void 0:n.columnDef.meta;return(t==null?void 0:t.label)??(typeof(n==null?void 0:n.columnDef.header)=="string"?n.columnDef.header:e)},ct=(e,n)=>{const t=dt(),l=t.indexOf(n);if(l<0)return;const a=l+e;if(a<0||a>=t.length)return;const s=st(t,l,a),u=c.getState().columnOrder.length>0?[...c.getState().columnOrder]:c.getAllLeafColumns().map(d=>d.id),b=new Set(t);let C=0;const _=u.map(d=>b.has(d)?s[C++]:d);for(const d of s)_.includes(d)||_.push(d);c.setColumnOrder(_),F(h("table.reorder.move",Ae(n),a+1)),we.current={kind:"column",id:n},rt(d=>d+1)},an=(e,n)=>{if(!V)return;const t=at;switch(e.key){case" ":case"Enter":if(e.preventDefault(),t===null)xe.current=[...c.getState().columnOrder??[]],je(n),F(h("table.reorder.pickup",Ae(n)));else{const l=dt().indexOf(t)+1;je(null),xe.current=[],F(h("table.reorder.drop",Ae(t),l))}break;case"Escape":t!==null&&(e.preventDefault(),c.setColumnOrder(xe.current),je(null),xe.current=[],F(h("table.reorder.cancel")));break;case"ArrowLeft":t!==null&&(e.preventDefault(),ct(-1,t));break;case"ArrowRight":t!==null&&(e.preventDefault(),ct(1,t));break}},ut=(e,n)=>{const t=w.findIndex(u=>u.original===n);if(t<0)return;const l=t+e;if(l<0||l>=w.length)return;const a=w[t],s=w[l];$==null||$({fromId:a.id,toId:s.id,fromIndex:a.index,toIndex:s.index}),F(h("table.row-reorder.move",l+1)),we.current={kind:"row",original:n},rt(u=>u+1)},rn=(e,n)=>{if(!S)return;const t=it;switch(e.key){case" ":case"Enter":if(e.preventDefault(),t===null)Le(n.original),le.current=n.index,F(h("table.row-reorder.pickup",w.indexOf(n)+1));else{const l=w.findIndex(a=>a.original===t)+1;Le(null),le.current=-1,F(h("table.row-reorder.drop",l))}break;case"Escape":if(t!==null){e.preventDefault();const l=w.findIndex(a=>a.original===t);if(l>=0&&le.current>=0){const a=w[l];$==null||$({fromId:a.id,toId:a.id,fromIndex:a.index,toIndex:le.current})}Le(null),le.current=-1,F(h("table.row-reorder.cancel"))}break;case"ArrowUp":t!==null&&(e.preventDefault(),ut(-1,t));break;case"ArrowDown":t!==null&&(e.preventDefault(),ut(1,t));break}};return i.useEffect(()=>{var t;const e=we.current;if(!e)return;we.current=null;let n;if(e.kind==="column")n=`${p}-col-reorder-${e.id}`;else{const l=w.find(a=>a.original===e.original);n=l?`${p}-row-reorder-${l.id}`:null}n&&((t=document.getElementById(n))==null||t.focus())},[en,w,p]),r.jsx(pn.TableContext.Provider,{value:Mt,children:r.jsxs("div",{className:Vt,"data-name":"tedi-table",children:[Se,(S||V)&&r.jsx("div",{className:o.default["tedi-table__sr-only"],"aria-live":"polite","aria-atomic":"true",children:Zt}),r.jsx("div",{className:o.default["tedi-table__scroll"],style:te!==void 0?{maxHeight:te,overflowY:"auto"}:void 0,children:r.jsxs("table",{id:T,className:o.default["tedi-table__table"],"aria-rowcount":Jt,"aria-colcount":me>0?me:void 0,children:[E&&r.jsx("caption",{className:o.default["tedi-table__caption"],children:E}),r.jsxs("thead",{className:o.default["tedi-table__head"],children:[pe.map((e,n)=>r.jsx("tr",{className:o.default["tedi-table__row"],"aria-rowindex":y?n+1:void 0,children:e.headers.map(t=>{const l=t.subHeaders.length>0,a=!!t.column.parent,s=Rn(t.column.columnDef),u=!s&&!a;if(t.isPlaceholder&&!u||!t.isPlaceholder&&u&&n>0)return null;const b=u?pe.length-n:1,C=t.column.getIsSorted(),_=t.column.getCanSort()?C==="asc"?"ascending":C==="desc"?"descending":"none":void 0,d=t.column.columnDef.meta,Q=(d==null?void 0:d.label)??(typeof t.column.columnDef.header=="string"?t.column.columnDef.header:void 0),k=H==null?void 0:H(t.column.id),z=t.column.getSize(),oe=t.column.id===Ce||t.column.id===Be||t.column.id===Me,Z=V&&u&&!oe,m=Z?nn(t.column.id):void 0,sn=Z&&lt===t.column.id,dn=Z&&ot===t.column.id&&lt!==t.column.id,Fe=Z&&at===t.column.id;return r.jsx("th",{colSpan:t.colSpan,rowSpan:b>1?b:void 0,draggable:Z||void 0,onDragStart:m==null?void 0:m.onDragStart,onDragOver:m==null?void 0:m.onDragOver,onDragLeave:m==null?void 0:m.onDragLeave,onDragEnd:m==null?void 0:m.onDragEnd,onDrop:m==null?void 0:m.onDrop,className:I.default(o.default["tedi-table__header-cell"],{[o.default["tedi-table__header-cell--group"]]:l,[o.default["tedi-table__header-cell--dragging"]]:sn,[o.default["tedi-table__header-cell--drag-over"]]:dn,[o.default["tedi-table__header-cell--picked-up"]]:Fe,[o.default[`tedi-table__cell--align-${d==null?void 0:d.align}`]]:d==null?void 0:d.align,[o.default[`tedi-table__cell--valign-${d==null?void 0:d.vAlign}`]]:d==null?void 0:d.vAlign},k==null?void 0:k.className),scope:"col","aria-sort":_,"aria-label":Q??(s?void 0:t.column.id),style:z||k!=null&&k.style?{...z?{width:z}:null,...k==null?void 0:k.style}:void 0,children:Z&&m?r.jsxs("span",{className:o.default["tedi-table__header-cell-inner"],children:[r.jsx("button",{type:"button",id:ln(t.column.id),className:I.default(o.default["tedi-table__drag-handle"],{[o.default["tedi-table__drag-handle--picked-up"]]:Fe}),"aria-label":h("table.drag-column",Q??t.column.id),"aria-pressed":Fe,onClick:ze=>ze.stopPropagation(),onMouseDown:m.onHandlePointerDown,onTouchStart:m.onHandlePointerDown,onKeyDown:ze=>an(ze,t.column.id),[pt]:"",children:r.jsx(ft.Icon,{name:"drag_indicator",size:18,color:"inherit"})}),re.flexRender(t.column.columnDef.header,t.getContext())]}):re.flexRender(t.column.columnDef.header,t.getContext())},t.id)})},e.id)),ye&&r.jsx("tr",{className:I.default(o.default["tedi-table__row"],o.default["tedi-table__row--filter"]),"aria-rowindex":y?pe.length+1:void 0,children:Je.map(e=>{const n=e.columnDef.meta,t=(n==null?void 0:n.label)??(typeof e.columnDef.header=="string"?e.columnDef.header:e.id),l=`${p}-filter-${e.id}`,a=H==null?void 0:H(e.id);return r.jsx("th",{className:I.default(o.default["tedi-table__header-cell"],a==null?void 0:a.className),style:a==null?void 0:a.style,scope:"col",children:e.getCanFilter()&&r.jsx(gn.TextField,{size:"small",placeholder:h("table.filter-placeholder"),...n==null?void 0:n.filterProps,id:l,name:l,label:h("table.filter-input",t),hideLabel:!0,value:e.getFilterValue()??"",onChange:s=>e.setFilterValue(s||void 0)})},e.id)})})]}),r.jsx("tbody",{className:o.default["tedi-table__body"],children:w.length===0?r.jsx("tr",{className:o.default["tedi-table__row"],children:r.jsx("td",{colSpan:Math.max(1,me),className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--placeholder"]),children:de?r.jsx("div",{role:de,children:We}):We})}):w.map((e,n)=>{const t=Qe(e),l=M!==void 0&&e.id===M,a=Ne==null?void 0:Ne(e),s=I.default(o.default["tedi-table__row"],{[o.default["tedi-table__row--selected"]]:bt&&e.getIsSelected(),[o.default["tedi-table__row--active"]]:l,[o.default["tedi-table__row--clickable"]]:t,[o.default["tedi-table__row--sub-row"]]:e.depth>0},a==null?void 0:a.className),u=y?et+Xt+n+1:void 0,b=`${p}-sub-${e.id}`,C=S&&nt===e.id,_=S&&Qt===e.id&&nt!==e.id,d=S&&it===e.original,Q={row:e,rowClassName:I.default(s,{[o.default["tedi-table__row--dragging"]]:C,[o.default["tedi-table__row--drag-over"]]:_,[o.default["tedi-table__row--picked-up"]]:d}),rowStyle:a==null?void 0:a.style,isActiveRow:l,clickable:t,onClick:Ze,onKeyDownHandler:Wt(e),ariaRowIndex:u,columnProps:H,draggable:S,dragHandleLabel:h("table.drag-row"),dragHandlers:S?{...tn(e.id),onKeyDown:k=>rn(k,e)}:void 0,dragHandleId:S?on(e.id):void 0,dragHandlePickedUp:d,dragOverColumnId:V?ot:null};return r.jsxs(i.Fragment,{children:[r.jsx(vn,{...Q}),U&&e.getIsExpanded()&&r.jsx("tr",{className:I.default(o.default["tedi-table__row"],o.default["tedi-table__row--sub-component"]),children:r.jsx("td",{id:b,role:"region","aria-label":h("table.row-details"),colSpan:Math.max(1,me),className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--sub-component"]),children:U(e)})})]},e.id)})}),Gt&&r.jsx("tfoot",{className:o.default["tedi-table__foot"],children:Ye.map(e=>r.jsx("tr",{className:o.default["tedi-table__row"],children:e.headers.map(n=>{const t=n.column.columnDef.meta;return r.jsx("td",{colSpan:n.colSpan,className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--footer"],{[o.default[`tedi-table__cell--align-${t==null?void 0:t.align}`]]:t==null?void 0:t.align,[o.default[`tedi-table__cell--valign-${t==null?void 0:t.vAlign}`]]:t==null?void 0:t.vAlign}),children:n.isPlaceholder?null:re.flexRender(n.column.columnDef.footer,n.getContext())},n.id)})},e.id))})]})}),y&&r.jsx("div",{className:o.default["tedi-table__pagination"],children:r.jsx(wn.Pagination,{...x==null?void 0:x.paginationProps,pageCount:Math.max(1,c.getPageCount()),page:c.getState().pagination.pageIndex+1,onPageChange:qt,totalItems:ge??c.getFilteredRowModel().rows.length,pageSize:c.getState().pagination.pageSize,pageSizeOptions:_t,onPageSizeChange:Ht})})]})})}mt.displayName="Table";const Dn=Object.assign(mt,{Toolbar:bn.TableToolbar,ColumnsMenu:fn.TableColumnsMenu,HeaderButton:mn.TableHeaderButton});exports.Table=Dn;exports.groupRowSpan=Cn;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),re=require("../../../../../external/@tanstack/react-table/build/lib/index.cjs.js"),I=require("../../../../../external/classnames/index.cjs.js"),i=require("react"),bt=require("../../base/icon/icon.cjs.js"),gn=require("../../buttons/collapse-button/collapse-button.cjs.js"),pt=require("../../form/checkbox/checkbox.cjs.js"),fn=require("../../form/radio/radio.cjs.js"),pn=require("../../form/textfield/textfield.cjs.js"),o=require("./table.module.scss.cjs.js"),bn=require("./table-columns-menu/table-columns-menu.cjs.js"),mn=require("./table-context.cjs.js"),hn=require("./table-header-button/table-header-button.cjs.js"),xn=require("./table-toolbar/table-toolbar.cjs.js"),wn=require("./use-table-persistence.cjs.js"),Cn=require("../../../providers/label-provider/use-labels.cjs.js"),ae=require("../../../../../external/@tanstack/table-core/build/lib/index.cjs.js"),_n=require("../../navigation/pagination/pagination.cjs.js"),vn=(D,T)=>B=>{const v=B.index;if(v<0||v>=D.length)return 1;const N=T(D[v]);if(v>0&&T(D[v-1])===N)return 0;let E=1;for(let P=v+1;P<D.length&&T(D[P])===N;P++)E++;return E},mt="data-tedi-drag-handle",Sn=({label:D,onHandlePointerDown:T,id:B,pickedUp:v,onKeyDown:N})=>r.jsx("button",{type:"button",id:B,className:I.default(o.default["tedi-table__drag-handle"],{[o.default["tedi-table__drag-handle--picked-up"]]:v}),"aria-label":D,"aria-pressed":v,onClick:E=>E.stopPropagation(),onMouseDown:T,onTouchStart:T,onKeyDown:N,[mt]:"",children:r.jsx(bt.Icon,{name:"drag_indicator",size:18,color:"inherit"})}),Rn=D=>{const{row:T,rowClassName:B,rowStyle:v,isActiveRow:N,clickable:E,onClick:P,onKeyDownHandler:ve,ariaRowIndex:Se,columnProps:ee,draggable:se,dragHandleLabel:de,dragHandlers:g,dragHandleId:Re,dragHandlePickedUp:De,dragOverColumnId:ce}=D;return r.jsx("tr",{className:B,style:v,draggable:se||void 0,onDragStart:g==null?void 0:g.onDragStart,onDragOver:g==null?void 0:g.onDragOver,onDragLeave:g==null?void 0:g.onDragLeave,onDragEnd:g==null?void 0:g.onDragEnd,onDrop:g==null?void 0:g.onDrop,onClick:E&&P?()=>P(T):void 0,onKeyDown:E?ve:void 0,tabIndex:E?0:void 0,role:E?"button":void 0,"aria-rowindex":Se,"aria-current":N?"true":void 0,children:T.getVisibleCells().map(O=>{var ue;const f=O.column.columnDef.meta,L=ee==null?void 0:ee(O.column.id),te=se&&O.column.id===_e,A=!!ce&&O.column.id===ce,M=(ue=f==null?void 0:f.rowSpan)==null?void 0:ue.call(f,O.row);return M===0?null:r.jsx("td",{rowSpan:M&&M>1?M:void 0,className:I.default(o.default["tedi-table__cell"],{[o.default[`tedi-table__cell--align-${f==null?void 0:f.align}`]]:f==null?void 0:f.align,[o.default[`tedi-table__cell--valign-${f==null?void 0:f.vAlign}`]]:f==null?void 0:f.vAlign,[o.default["tedi-table__cell--drag-handle"]]:te,[o.default["tedi-table__cell--drag-over"]]:A},L==null?void 0:L.className),style:L==null?void 0:L.style,children:te?r.jsx(Sn,{label:de,onHandlePointerDown:(g==null?void 0:g.onHandlePointerDown)??(()=>{}),onKeyDown:g==null?void 0:g.onKeyDown,id:Re,pickedUp:De}):re.flexRender(O.column.columnDef.cell,O.getContext())},O.id)})})},qe="__select__",He="__expand__",_e="__drag__",ie=()=>!0,Dn={text:ie,select:ie,"multi-select":ie,"date-range":ie,"date-range-period":ie};function yn(D){return Array.isArray(D.columns)}function ht(D){const{id:T,data:B,columns:v,size:N="medium",caption:E,state:P,defaultState:ve,onStateChange:Se,persist:ee,emptyState:se,emptyStateRole:de,className:g,children:Re,striped:De=!1,verticalBorders:ce=!1,borderless:O=!1,stickyFirstColumn:f=!1,stickyHeader:L=!1,maxHeight:te,onRowClick:A,activeRowId:M,rowHover:ue,enableRowSelection:Ue,selectionMode:ye="multiple",highlightSelectedRows:xt=!0,enableColumnFilters:ke=!1,renderSubComponent:K,getRowCanExpand:Ke,getSubRows:Ve,getRowId:wt,expandTrigger:Ie="button",paginateExpandedRows:Ct=!1,pagination:q,autoResetPageIndex:_t,manualPagination:H=!1,manualSorting:Te=!1,manualFiltering:Ee=!1,pageCount:Ge,rowCount:ge,checkboxProps:Ne,radioProps:We,collapseProps:Xe,rowProps:Oe,columnProps:U,reorderableRows:S=!1,onRowDrop:$,reorderableColumns:V=!1}=D,{getLabel:h}=Cn.useLabels(),Ye=se??h("table.no-data"),G=i.useRef(h);G.current=h;const vt=i.useId(),p=T??vt,x=i.useMemo(()=>q?q===!0?{pageSize:10,pageSizeOptions:[10,25,50],paginationProps:void 0}:{pageSize:q.pageSize??10,pageSizeOptions:q.pageSizeOptions===void 0?[10,25,50]:q.pageSizeOptions,paginationProps:q.paginationProps}:null,[q]),y=x!==null,St=i.useMemo(()=>{const e=x==null?void 0:x.pageSizeOptions;return Array.isArray(e)&&e.length>0?e:void 0},[x]),[j,R]=wn.useTablePersistence({persist:ee,controlled:P,defaultState:ve,onStateChange:Se}),Rt=i.useCallback(e=>{R(n=>{const t=n.columnVisibility??{};return{columnVisibility:typeof e=="function"?e(t):e}})},[R]),Dt=i.useCallback(e=>{R(n=>{const t=n.rowSelection??{};return{rowSelection:typeof e=="function"?e(t):e}})},[R]),yt=i.useCallback(e=>{R(n=>{const t=n.expanded??{};return{expanded:typeof e=="function"?e(t):e}})},[R]),kt=i.useCallback(e=>{R(n=>{const t=n.columnFilters??[];return{columnFilters:typeof e=="function"?e(t):e}})},[R]),It=i.useCallback(e=>{R(n=>{const t=n.columnOrder??[];return{columnOrder:typeof e=="function"?e(t):e}})},[R]),Tt=i.useCallback(e=>{R(n=>{const t=n.sorting??[];return{sorting:typeof e=="function"?e(t):e}})},[R]),Et=i.useCallback(e=>{R(n=>{const t=n.pagination??{pageIndex:0,pageSize:(x==null?void 0:x.pageSize)??10};return{pagination:typeof e=="function"?e(t):e}})},[R,x]),ne=!!(K||Ve),Je=!!Ue,Nt=i.useMemo(()=>ae.getCoreRowModel(),[]),Ot=i.useMemo(()=>Ee?void 0:ae.getFilteredRowModel(),[Ee]),$t=i.useMemo(()=>Te?void 0:ae.getSortedRowModel(),[Te]),jt=i.useMemo(()=>ne?ae.getExpandedRowModel():void 0,[ne]),Pt=i.useMemo(()=>y&&!H?ae.getPaginationRowModel():void 0,[y,H]),Lt=i.useMemo(()=>{const e=[];if(S&&e.push({id:_e,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:"",cell:()=>null}),Je){const n=ye==="single",t=`${p}-select`;e.push({id:qe,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:n?"":({table:l})=>r.jsx(pt.Checkbox,{...Ne,id:`${p}-select-all`,name:`${p}-select-all`,label:G.current("table.select-all",l.getIsAllPageRowsSelected()),hideLabel:!0,value:"all",checked:l.getIsAllPageRowsSelected(),indeterminate:l.getIsSomePageRowsSelected()&&!l.getIsAllPageRowsSelected(),onChange:(a,s)=>l.toggleAllPageRowsSelected(s)}),cell:({row:l})=>n?r.jsx(fn.Radio,{...We,id:`${p}-select-${l.id}`,name:t,label:G.current("table.select-row",l.getIsSelected()),hideLabel:!0,value:l.id,checked:l.getIsSelected(),disabled:!l.getCanSelect(),onChange:(a,s)=>{s&&l.toggleSelected(!0)}}):r.jsx(pt.Checkbox,{...Ne,id:`${p}-select-${l.id}`,name:`${p}-select-${l.id}`,label:G.current("table.select-row",l.getIsSelected()),hideLabel:!0,value:l.id,checked:l.getIsSelected(),disabled:!l.getCanSelect(),indeterminate:l.getIsSomeSelected(),onChange:(a,s)=>l.toggleSelected(s)})})}return ne&&e.push({id:He,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:"",cell:({row:n})=>{if(!n.getCanExpand())return null;const t=`${p}-sub-${n.id}`;return r.jsx("span",{onClick:l=>l.stopPropagation(),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&l.stopPropagation()},children:r.jsx(gn.CollapseButton,{arrowType:Ie==="row"?"default":"secondary",...Xe,hideText:!0,id:`${p}-expand-${n.id}`,"aria-controls":K?t:void 0,openText:G.current("table.expand-row"),closeText:G.current("table.collapse-row"),open:n.getIsExpanded(),onOpenChange:()=>n.toggleExpanded()})})}}),[...e,...v]},[v,Je,ye,ne,K,Ie,S,p,Ne,We,Xe]),At=i.useMemo(()=>({}),[]),Ft=i.useMemo(()=>({}),[]),zt=i.useMemo(()=>[],[]),Bt=i.useMemo(()=>[],[]),Mt=i.useMemo(()=>[],[]),qt=i.useMemo(()=>({pageIndex:0,pageSize:(x==null?void 0:x.pageSize)??10}),[x]),c=re.useReactTable({data:B,columns:Lt,state:{columnVisibility:j.columnVisibility,columnOrder:j.columnOrder??Bt,rowSelection:j.rowSelection??At,expanded:j.expanded??Ft,columnFilters:j.columnFilters??zt,sorting:j.sorting??Mt,pagination:y?j.pagination??qt:void 0},enableRowSelection:Ue,enableMultiRowSelection:ye!=="single",enableColumnFilters:ke,autoResetPageIndex:_t??!H,paginateExpandedRows:y&&!H?Ct:!0,manualPagination:H,manualSorting:Te,manualFiltering:Ee,pageCount:H&&Ge!==void 0?Ge:void 0,rowCount:H&&ge!==void 0?ge:void 0,getRowCanExpand:K?Ke??(()=>!0):Ke,getSubRows:Ve,getRowId:wt,onColumnVisibilityChange:Rt,onColumnOrderChange:It,onRowSelectionChange:Dt,onExpandedChange:yt,onColumnFiltersChange:kt,onSortingChange:Tt,onPaginationChange:y?Et:void 0,filterFns:Dn,getCoreRowModel:Nt,getFilteredRowModel:Ot,getExpandedRowModel:jt,getSortedRowModel:$t,getPaginationRowModel:Pt}),Ht=i.useMemo(()=>({table:c,size:N,id:p,state:j}),[c,N,p,j]),$e=i.useRef(null),fe=i.useCallback(()=>{$e.current&&($e.current.scrollTop=0)},[]),Ut=i.useCallback(e=>{c.setPageIndex(e-1),fe()},[c,fe]),Kt=i.useCallback(e=>{c.setPageSize(e),fe()},[c,fe]),Vt=c.getHeaderGroups().length>1,pe=Ie==="row"&&ne,Gt=ue??(!!A||pe),Wt=I.default(o.default["tedi-table"],o.default[`tedi-table--${N}`],{[o.default["tedi-table--striped"]]:De,[o.default["tedi-table--vertical-borders"]]:ce,[o.default["tedi-table--borderless"]]:O,[o.default["tedi-table--sticky-first-column"]]:f,[o.default["tedi-table--sticky-header"]]:L,[o.default["tedi-table--clickable-rows"]]:!!A||pe,[o.default["tedi-table--row-hover"]]:Gt,[o.default["tedi-table--has-pagination"]]:y,[o.default["tedi-table--grouped-headers"]]:Vt},g),w=c.getRowModel().rows,be=c.getHeaderGroups(),Qe=c.getFooterGroups(),Ze=c.getVisibleLeafColumns(),me=Ze.length,Xt=Qe.some(e=>e.headers.some(n=>n.column.columnDef.footer!==void 0)),et=e=>!!A||pe&&e.getCanExpand(),tt=e=>{pe&&e.getCanExpand()&&e.toggleExpanded(),A==null||A(e)},Yt=e=>n=>{et(e)&&n.target===n.currentTarget&&(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),tt(e))},nt=be.length+(ke?1:0),lt=c.getState().pagination,Jt=y?lt.pageIndex*lt.pageSize:0,Qt=y?ge??c.getFilteredRowModel().rows.length:w.length,Zt=y?nt+Qt:void 0,[ot,je]=i.useState(null),[en,he]=i.useState(null),W=i.useRef(null),X=i.useRef(null),[at,Pe]=i.useState(null),[it,xe]=i.useState(null),Y=i.useRef(null),J=i.useRef(null),[rt,Le]=i.useState(null),we=i.useRef([]),[st,Ae]=i.useState(null),le=i.useRef(-1),[tn,F]=i.useState(""),Ce=i.useRef(null),[nn,dt]=i.useState(0),Fe=i.useMemo(()=>S?new Map(w.map(e=>[e.id,e.index])):new Map,[S,w]);i.useEffect(()=>{if(!S&&!V)return;const e=()=>{X.current=null,J.current=null};return window.addEventListener("mouseup",e),window.addEventListener("touchend",e),()=>{window.removeEventListener("mouseup",e),window.removeEventListener("touchend",e)}},[S,V]);const ln=i.useCallback(e=>({onHandlePointerDown:()=>{X.current=e},onDragStart:n=>{if(X.current!==e){n.preventDefault();return}X.current=null,n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain",e)}catch{}const t=n.currentTarget,l=t.closest("table");if(l){const a=t.getBoundingClientRect(),s=Array.from(t.children),u=document.createElement("div");u.style.cssText=`position:fixed;top:-10000px;left:0;width:${a.width}px;pointer-events:none;`;const m=document.createElement("table");m.className=l.className,m.style.cssText=`width:${a.width}px;table-layout:fixed;border-collapse:collapse;`;const C=document.createElement("tbody"),_=t.cloneNode(!0);_.classList.add(o.default["tedi-table__row--drag-preview"]);const d=Array.from(_.children);s.forEach((Q,k)=>{const z=d[k];if(!z)return;const oe=Q.getBoundingClientRect();z.style.width=`${oe.width}px`,z.style.minWidth=`${oe.width}px`,z.style.maxWidth=`${oe.width}px`}),C.appendChild(_),m.appendChild(C),u.appendChild(m),document.body.appendChild(u),n.dataTransfer.setDragImage(u,24,a.height/2),window.setTimeout(()=>u.remove(),0)}W.current=e,je(e)},onDragOver:n=>{!W.current||W.current===e||(n.preventDefault(),n.dataTransfer.dropEffect="move",he(e))},onDragLeave:()=>{he(n=>n===e?null:n)},onDragEnd:()=>{W.current=null,X.current=null,je(null),he(null)},onDrop:n=>{n.preventDefault();const t=W.current,l=e;if(W.current=null,X.current=null,je(null),he(null),!t||t===l)return;const a=Fe.get(t),s=Fe.get(l);a===void 0||s===void 0||$==null||$({fromId:t,toId:l,fromIndex:a,toIndex:s})}}),[Fe,$]),ct=(e,n,t)=>{const l=e.slice(),[a]=l.splice(n,1);return l.splice(t,0,a),l},on=i.useCallback(e=>({onHandlePointerDown:()=>{J.current=e},onDragStart:n=>{if(J.current!==e){n.preventDefault();return}J.current=null,n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain",e)}catch{}const t=n.currentTarget,l=t.getBoundingClientRect(),a=document.createElement("div");a.style.cssText=`position:fixed;top:-10000px;left:0;width:${l.width}px;pointer-events:none;`;const s=document.createElement("table"),u=t.closest("table");s.className=(u==null?void 0:u.className)??"",s.style.cssText=`width:${l.width}px;table-layout:fixed;border-collapse:collapse;`;const m=document.createElement("thead"),C=document.createElement("tr");C.className=o.default["tedi-table__row"];const _=t.cloneNode(!0);_.classList.add(o.default["tedi-table__header-cell--drag-preview"]),_.style.width=`${l.width}px`,C.appendChild(_),m.appendChild(C),s.appendChild(m),a.appendChild(s),document.body.appendChild(a),n.dataTransfer.setDragImage(a,l.width/2,l.height/2),window.setTimeout(()=>a.remove(),0),Y.current=e,Pe(e)},onDragOver:n=>{!Y.current||Y.current===e||(n.preventDefault(),n.dataTransfer.dropEffect="move",xe(e))},onDragLeave:()=>{xe(n=>n===e?null:n)},onDragEnd:()=>{Y.current=null,J.current=null,Pe(null),xe(null)},onDrop:n=>{n.preventDefault();const t=Y.current,l=e;if(Y.current=null,J.current=null,Pe(null),xe(null),!t||t===l)return;const a=c.getState().columnOrder,s=a.length>0?a:c.getAllLeafColumns().map(C=>C.id),u=s.indexOf(t),m=s.indexOf(l);u<0||m<0||c.setColumnOrder(ct(s,u,m))}}),[c]),an=e=>`${p}-col-reorder-${e}`,rn=e=>`${p}-row-reorder-${e}`,ut=()=>c.getVisibleLeafColumns().filter(e=>!e.parent&&e.id!==_e&&e.id!==qe&&e.id!==He).map(e=>e.id),ze=e=>{const n=c.getColumn(e),t=n==null?void 0:n.columnDef.meta;return(t==null?void 0:t.label)??(typeof(n==null?void 0:n.columnDef.header)=="string"?n.columnDef.header:e)},gt=(e,n)=>{const t=ut(),l=t.indexOf(n);if(l<0)return;const a=l+e;if(a<0||a>=t.length)return;const s=ct(t,l,a),u=c.getState().columnOrder.length>0?[...c.getState().columnOrder]:c.getAllLeafColumns().map(d=>d.id),m=new Set(t);let C=0;const _=u.map(d=>m.has(d)?s[C++]:d);for(const d of s)_.includes(d)||_.push(d);c.setColumnOrder(_),F(h("table.reorder.move",ze(n),a+1)),Ce.current={kind:"column",id:n},dt(d=>d+1)},sn=(e,n)=>{if(!V)return;const t=rt;switch(e.key){case" ":case"Enter":if(e.preventDefault(),t===null)we.current=[...c.getState().columnOrder??[]],Le(n),F(h("table.reorder.pickup",ze(n)));else{const l=ut().indexOf(t)+1;Le(null),we.current=[],F(h("table.reorder.drop",ze(t),l))}break;case"Escape":t!==null&&(e.preventDefault(),c.setColumnOrder(we.current),Le(null),we.current=[],F(h("table.reorder.cancel")));break;case"ArrowLeft":t!==null&&(e.preventDefault(),gt(-1,t));break;case"ArrowRight":t!==null&&(e.preventDefault(),gt(1,t));break}},ft=(e,n)=>{const t=w.findIndex(u=>u.original===n);if(t<0)return;const l=t+e;if(l<0||l>=w.length)return;const a=w[t],s=w[l];$==null||$({fromId:a.id,toId:s.id,fromIndex:a.index,toIndex:s.index}),F(h("table.row-reorder.move",l+1)),Ce.current={kind:"row",original:n},dt(u=>u+1)},dn=(e,n)=>{if(!S)return;const t=st;switch(e.key){case" ":case"Enter":if(e.preventDefault(),t===null)Ae(n.original),le.current=n.index,F(h("table.row-reorder.pickup",w.indexOf(n)+1));else{const l=w.findIndex(a=>a.original===t)+1;Ae(null),le.current=-1,F(h("table.row-reorder.drop",l))}break;case"Escape":if(t!==null){e.preventDefault();const l=w.findIndex(a=>a.original===t);if(l>=0&&le.current>=0){const a=w[l];$==null||$({fromId:a.id,toId:a.id,fromIndex:a.index,toIndex:le.current})}Ae(null),le.current=-1,F(h("table.row-reorder.cancel"))}break;case"ArrowUp":t!==null&&(e.preventDefault(),ft(-1,t));break;case"ArrowDown":t!==null&&(e.preventDefault(),ft(1,t));break}};return i.useEffect(()=>{var t;const e=Ce.current;if(!e)return;Ce.current=null;let n;if(e.kind==="column")n=`${p}-col-reorder-${e.id}`;else{const l=w.find(a=>a.original===e.original);n=l?`${p}-row-reorder-${l.id}`:null}n&&((t=document.getElementById(n))==null||t.focus())},[nn,w,p]),r.jsx(mn.TableContext.Provider,{value:Ht,children:r.jsxs("div",{className:Wt,"data-name":"tedi-table",children:[Re,(S||V)&&r.jsx("div",{className:o.default["tedi-table__sr-only"],"aria-live":"polite","aria-atomic":"true",children:tn}),r.jsx("div",{ref:$e,className:o.default["tedi-table__scroll"],style:te!==void 0?{maxHeight:te,overflowY:"auto"}:void 0,children:r.jsxs("table",{id:T,className:o.default["tedi-table__table"],"aria-rowcount":Zt,"aria-colcount":me>0?me:void 0,children:[E&&r.jsx("caption",{className:o.default["tedi-table__caption"],children:E}),r.jsxs("thead",{className:o.default["tedi-table__head"],children:[be.map((e,n)=>r.jsx("tr",{className:o.default["tedi-table__row"],"aria-rowindex":y?n+1:void 0,children:e.headers.map(t=>{const l=t.subHeaders.length>0,a=!!t.column.parent,s=yn(t.column.columnDef),u=!s&&!a;if(t.isPlaceholder&&!u||!t.isPlaceholder&&u&&n>0)return null;const m=u?be.length-n:1,C=t.column.getIsSorted(),_=t.column.getCanSort()?C==="asc"?"ascending":C==="desc"?"descending":"none":void 0,d=t.column.columnDef.meta,Q=(d==null?void 0:d.label)??(typeof t.column.columnDef.header=="string"?t.column.columnDef.header:void 0),k=U==null?void 0:U(t.column.id),z=t.column.getSize(),oe=t.column.id===_e||t.column.id===qe||t.column.id===He,Z=V&&u&&!oe,b=Z?on(t.column.id):void 0,cn=Z&&at===t.column.id,un=Z&&it===t.column.id&&at!==t.column.id,Be=Z&&rt===t.column.id;return r.jsx("th",{colSpan:t.colSpan,rowSpan:m>1?m:void 0,draggable:Z||void 0,onDragStart:b==null?void 0:b.onDragStart,onDragOver:b==null?void 0:b.onDragOver,onDragLeave:b==null?void 0:b.onDragLeave,onDragEnd:b==null?void 0:b.onDragEnd,onDrop:b==null?void 0:b.onDrop,className:I.default(o.default["tedi-table__header-cell"],{[o.default["tedi-table__header-cell--group"]]:l,[o.default["tedi-table__header-cell--dragging"]]:cn,[o.default["tedi-table__header-cell--drag-over"]]:un,[o.default["tedi-table__header-cell--picked-up"]]:Be,[o.default[`tedi-table__cell--align-${d==null?void 0:d.align}`]]:d==null?void 0:d.align,[o.default[`tedi-table__cell--valign-${d==null?void 0:d.vAlign}`]]:d==null?void 0:d.vAlign},k==null?void 0:k.className),scope:"col","aria-sort":_,"aria-label":Q??(s?void 0:t.column.id),style:z||k!=null&&k.style?{...z?{width:z}:null,...k==null?void 0:k.style}:void 0,children:Z&&b?r.jsxs("span",{className:o.default["tedi-table__header-cell-inner"],children:[r.jsx("button",{type:"button",id:an(t.column.id),className:I.default(o.default["tedi-table__drag-handle"],{[o.default["tedi-table__drag-handle--picked-up"]]:Be}),"aria-label":h("table.drag-column",Q??t.column.id),"aria-pressed":Be,onClick:Me=>Me.stopPropagation(),onMouseDown:b.onHandlePointerDown,onTouchStart:b.onHandlePointerDown,onKeyDown:Me=>sn(Me,t.column.id),[mt]:"",children:r.jsx(bt.Icon,{name:"drag_indicator",size:18,color:"inherit"})}),re.flexRender(t.column.columnDef.header,t.getContext())]}):re.flexRender(t.column.columnDef.header,t.getContext())},t.id)})},e.id)),ke&&r.jsx("tr",{className:I.default(o.default["tedi-table__row"],o.default["tedi-table__row--filter"]),"aria-rowindex":y?be.length+1:void 0,children:Ze.map(e=>{const n=e.columnDef.meta,t=(n==null?void 0:n.label)??(typeof e.columnDef.header=="string"?e.columnDef.header:e.id),l=`${p}-filter-${e.id}`,a=U==null?void 0:U(e.id);return r.jsx("th",{className:I.default(o.default["tedi-table__header-cell"],a==null?void 0:a.className),style:a==null?void 0:a.style,scope:"col",children:e.getCanFilter()&&r.jsx(pn.TextField,{size:"small",placeholder:h("table.filter-placeholder"),...n==null?void 0:n.filterProps,id:l,name:l,label:h("table.filter-input",t),hideLabel:!0,value:e.getFilterValue()??"",onChange:s=>e.setFilterValue(s||void 0)})},e.id)})})]}),r.jsx("tbody",{className:o.default["tedi-table__body"],children:w.length===0?r.jsx("tr",{className:o.default["tedi-table__row"],children:r.jsx("td",{colSpan:Math.max(1,me),className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--placeholder"]),children:de?r.jsx("div",{role:de,children:Ye}):Ye})}):w.map((e,n)=>{const t=et(e),l=M!==void 0&&e.id===M,a=Oe==null?void 0:Oe(e),s=I.default(o.default["tedi-table__row"],{[o.default["tedi-table__row--selected"]]:xt&&e.getIsSelected(),[o.default["tedi-table__row--active"]]:l,[o.default["tedi-table__row--clickable"]]:t,[o.default["tedi-table__row--sub-row"]]:e.depth>0},a==null?void 0:a.className),u=y?nt+Jt+n+1:void 0,m=`${p}-sub-${e.id}`,C=S&&ot===e.id,_=S&&en===e.id&&ot!==e.id,d=S&&st===e.original,Q={row:e,rowClassName:I.default(s,{[o.default["tedi-table__row--dragging"]]:C,[o.default["tedi-table__row--drag-over"]]:_,[o.default["tedi-table__row--picked-up"]]:d}),rowStyle:a==null?void 0:a.style,isActiveRow:l,clickable:t,onClick:tt,onKeyDownHandler:Yt(e),ariaRowIndex:u,columnProps:U,draggable:S,dragHandleLabel:h("table.drag-row"),dragHandlers:S?{...ln(e.id),onKeyDown:k=>dn(k,e)}:void 0,dragHandleId:S?rn(e.id):void 0,dragHandlePickedUp:d,dragOverColumnId:V?it:null};return r.jsxs(i.Fragment,{children:[r.jsx(Rn,{...Q}),K&&e.getIsExpanded()&&r.jsx("tr",{className:I.default(o.default["tedi-table__row"],o.default["tedi-table__row--sub-component"]),children:r.jsx("td",{id:m,role:"region","aria-label":h("table.row-details"),colSpan:Math.max(1,me),className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--sub-component"]),children:K(e)})})]},e.id)})}),Xt&&r.jsx("tfoot",{className:o.default["tedi-table__foot"],children:Qe.map(e=>r.jsx("tr",{className:o.default["tedi-table__row"],children:e.headers.map(n=>{const t=n.column.columnDef.meta;return r.jsx("td",{colSpan:n.colSpan,className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--footer"],{[o.default[`tedi-table__cell--align-${t==null?void 0:t.align}`]]:t==null?void 0:t.align,[o.default[`tedi-table__cell--valign-${t==null?void 0:t.vAlign}`]]:t==null?void 0:t.vAlign}),children:n.isPlaceholder?null:re.flexRender(n.column.columnDef.footer,n.getContext())},n.id)})},e.id))})]})}),y&&r.jsx("div",{className:o.default["tedi-table__pagination"],children:r.jsx(_n.Pagination,{...x==null?void 0:x.paginationProps,pageCount:Math.max(1,c.getPageCount()),page:c.getState().pagination.pageIndex+1,onPageChange:Ut,totalItems:ge??c.getFilteredRowModel().rows.length,pageSize:c.getState().pagination.pageSize,pageSizeOptions:St,onPageSizeChange:Kt})})]})})}ht.displayName="Table";const kn=Object.assign(ht,{Toolbar:xn.TableToolbar,ColumnsMenu:bn.TableColumnsMenu,HeaderButton:hn.TableHeaderButton});exports.Table=kn;exports.groupRowSpan=vn;
@@ -319,11 +319,14 @@ export interface TableProps<TData> {
319
319
  pagination?: boolean | TablePaginationOptions;
320
320
  /**
321
321
  * Whether the current page resets to the first page whenever `data` changes
322
- * (TanStack's `autoResetPageIndex`). Defaults to `true`, which keeps the user
323
- * on a valid page after filtering or sorting. Set to `false` for tables that
324
- * mutate `data` in place e.g. inline row editing so saving a row doesn't
325
- * yank the user back to page 1.
326
- * @default true
322
+ * (TanStack's `autoResetPageIndex`). Defaults to `true` for client-side
323
+ * pagination (keeps the user on a valid page after filtering or sorting) and
324
+ * to `false` when `manualPagination` is setin server-side mode `data` is
325
+ * replaced on every page/sort change, so auto-resetting would bounce the user
326
+ * back to page 1 and trigger an update loop. Set to `false` for client-side
327
+ * tables that mutate `data` in place (e.g. inline row editing), or override
328
+ * explicitly in either mode.
329
+ * @default true (client-side) / false (manualPagination)
327
330
  */
328
331
  autoResetPageIndex?: boolean;
329
332
  /**