@tedi-design-system/react 19.0.0-rc.1 → 19.0.0-rc.10
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/README.md +27 -1
- package/_virtual/index.es13.js +2 -2
- package/_virtual/index.es14.js +2 -2
- package/bundle-stats.html +1 -1
- package/external/react-is/index.cjs.js +1 -1
- package/external/react-is/index.es.js +1 -1
- package/external/toposort/index.cjs.js +1 -1
- package/external/toposort/index.es.js +1 -1
- package/fonts/material-symbols-outlined.woff2 +0 -0
- package/fonts/material-symbols-rounded.woff2 +0 -0
- package/fonts/material-symbols-sharp.woff2 +0 -0
- package/index.css +1 -1
- package/package.json +6 -4
- package/src/tedi/components/content/calendar/calendar.cjs.js +1 -1
- package/src/tedi/components/content/calendar/calendar.d.ts +12 -0
- package/src/tedi/components/content/calendar/calendar.es.js +39 -35
- package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.cjs.js +1 -1
- package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.d.ts +13 -1
- package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.es.js +40 -35
- package/src/tedi/components/content/table/table.cjs.js +1 -1
- package/src/tedi/components/content/table/table.d.ts +6 -0
- package/src/tedi/components/content/table/table.es.js +431 -413
- package/src/tedi/components/content/table/table.module.scss.cjs.js +1 -1
- package/src/tedi/components/content/table/table.module.scss.es.js +3 -0
- package/src/tedi/components/form/date-field/date-field.cjs.js +1 -1
- package/src/tedi/components/form/date-field/date-field.d.ts +10 -0
- package/src/tedi/components/form/date-field/date-field.es.js +176 -170
- package/src/tedi/components/form/date-field/date-picker-modal/date-picker-modal.cjs.js +1 -1
- package/src/tedi/components/form/date-field/date-picker-modal/date-picker-modal.d.ts +4 -0
- package/src/tedi/components/form/date-field/date-picker-modal/date-picker-modal.es.js +47 -43
- package/src/tedi/components/form/date-time-field/date-time-field.cjs.js +1 -1
- package/src/tedi/components/form/date-time-field/date-time-field.d.ts +10 -0
- package/src/tedi/components/form/date-time-field/date-time-field.es.js +92 -88
- package/src/tedi/components/form/file-upload/file-upload.cjs.js +1 -1
- package/src/tedi/components/form/file-upload/file-upload.es.js +11 -11
- package/src/tedi/components/form/select/components/select-multi-option.cjs.js +1 -1
- package/src/tedi/components/form/select/components/select-multi-option.es.js +24 -23
- package/src/tedi/components/form/select/components/select-single-option.cjs.js +1 -1
- package/src/tedi/components/form/select/components/select-single-option.es.js +11 -10
- package/src/tedi/components/form/select/select.module.scss.cjs.js +1 -1
- package/src/tedi/components/form/select/select.module.scss.es.js +2 -1
- package/src/tedi/components/misc/ellipsis/ellipsis.cjs.js +1 -1
- package/src/tedi/components/misc/ellipsis/ellipsis.es.js +20 -19
- package/src/tedi/components/misc/timeline/components/timeline-description/timeline-description.cjs.js +1 -0
- package/src/tedi/components/misc/timeline/components/timeline-description/timeline-description.d.ts +23 -0
- package/src/tedi/components/misc/timeline/components/timeline-description/timeline-description.es.js +12 -0
- package/src/tedi/components/misc/timeline/components/timeline-item/timeline-item.cjs.js +1 -0
- package/src/tedi/components/misc/timeline/components/timeline-item/timeline-item.d.ts +34 -0
- package/src/tedi/components/misc/timeline/components/timeline-item/timeline-item.es.js +63 -0
- package/src/tedi/components/misc/timeline/components/timeline-title/timeline-title.cjs.js +1 -0
- package/src/tedi/components/misc/timeline/components/timeline-title/timeline-title.d.ts +24 -0
- package/src/tedi/components/misc/timeline/components/timeline-title/timeline-title.es.js +8 -0
- package/src/tedi/components/misc/timeline/index.d.ts +4 -0
- package/src/tedi/components/misc/timeline/timeline.cjs.js +1 -0
- package/src/tedi/components/misc/timeline/timeline.d.ts +48 -0
- package/src/tedi/components/misc/timeline/timeline.es.js +38 -0
- package/src/tedi/components/misc/timeline/timeline.module.scss.cjs.js +1 -0
- package/src/tedi/components/misc/timeline/timeline.module.scss.es.js +18 -0
- package/src/tedi/components/navigation/breadcrumbs/breadcrumbs.cjs.js +1 -1
- package/src/tedi/components/navigation/breadcrumbs/breadcrumbs.es.js +35 -32
- package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.cjs.js +1 -1
- package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.d.ts +1 -1
- package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.es.js +33 -33
- package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-item/table-of-contents-item.d.ts +0 -10
- package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-list/table-of-contents-list.cjs.js +1 -1
- package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-list/table-of-contents-list.es.js +27 -18
- package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-row/table-of-contents-row.cjs.js +1 -1
- package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-row/table-of-contents-row.es.js +21 -35
- package/src/tedi/components/navigation/table-of-contents/table-of-contents.cjs.js +1 -1
- package/src/tedi/components/navigation/table-of-contents/table-of-contents.d.ts +17 -10
- package/src/tedi/components/navigation/table-of-contents/table-of-contents.es.js +51 -52
- package/src/tedi/components/navigation/table-of-contents/table-of-contents.module.scss.cjs.js +1 -1
- package/src/tedi/components/navigation/table-of-contents/table-of-contents.module.scss.es.js +0 -1
- package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.cjs.js +1 -1
- package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.d.ts +8 -4
- package/src/tedi/components/overlays/dropdown/dropdown-item/dropdown-item.es.js +85 -54
- package/src/tedi/components/overlays/overlay/overlay-content.cjs.js +1 -1
- package/src/tedi/components/overlays/overlay/overlay-content.d.ts +6 -1
- package/src/tedi/components/overlays/overlay/overlay-content.es.js +28 -27
- package/src/tedi/components/overlays/popover/popover-content.cjs.js +1 -1
- package/src/tedi/components/overlays/popover/popover-content.d.ts +7 -0
- package/src/tedi/components/overlays/popover/popover-content.es.js +47 -36
- package/src/tedi/index.d.ts +1 -0
- package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
- package/src/tedi/providers/label-provider/labels-map.d.ts +0 -21
- package/src/tedi/providers/label-provider/labels-map.es.js +2 -23
- package/tedi.cjs.js +1 -1
- package/tedi.es.js +88 -80
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tedi-design-system/react",
|
|
3
|
-
"version": "19.0.0-rc.
|
|
3
|
+
"version": "19.0.0-rc.10",
|
|
4
|
+
"description": "TEDI Design System React component library — accessible, reusable UI components. Docs & live examples: https://storybook.tedi.ee/react/rc/",
|
|
4
5
|
"type": "module",
|
|
5
6
|
"sideEffects": false,
|
|
6
7
|
"exports": {
|
|
@@ -20,7 +21,7 @@
|
|
|
20
21
|
"prepare": "husky",
|
|
21
22
|
"start": "storybook dev -p 4400 -c .storybook",
|
|
22
23
|
"build": "rm -rf dist && vite build --config vite.lib.config.ts && replace-in-file //fonts//g \"./fonts/\" dist/index.css --isRegex",
|
|
23
|
-
"build:sb": "storybook build -c .storybook -o dist/storybook-static --stats-json",
|
|
24
|
+
"build:sb": "storybook build -c .storybook -o dist/storybook-static --stats-json && replace-in-file //fonts//g \"../fonts/\" \"dist/storybook-static/assets/*.css\" --isRegex",
|
|
24
25
|
"lint": "npx stylelint \"src/**/*.scss\" --fix && eslint \"src/**/*.{ts,tsx}\" --no-ignore --fix",
|
|
25
26
|
"lint:ci": "npx stylelint \"src/**/*.scss\" --quiet && npx eslint . --quiet",
|
|
26
27
|
"test": "jest --config ./jest.config.ts --passWithNoTests",
|
|
@@ -28,7 +29,8 @@
|
|
|
28
29
|
"test-storybook": "test-storybook",
|
|
29
30
|
"test-storybook:ci": "concurrently -k -s first -n \"SB,A11Y\" -c \"magenta,blue\" \"http-server dist/storybook-static --port 6006 --silent\" \"wait-on tcp:127.0.0.1:6006 && test-storybook --index-json --url http://127.0.0.1:6006 --junit\"",
|
|
30
31
|
"release": "npx semantic-release",
|
|
31
|
-
"chromatic": "npx chromatic --project-token=$CHROMATIC_PROJECT_TOKEN"
|
|
32
|
+
"chromatic": "npx chromatic --project-token=$CHROMATIC_PROJECT_TOKEN",
|
|
33
|
+
"design:build": "node design-docs/build.js"
|
|
32
34
|
},
|
|
33
35
|
"repository": {
|
|
34
36
|
"type": "git",
|
|
@@ -45,7 +47,7 @@
|
|
|
45
47
|
"@mui/material": "^5.15.13",
|
|
46
48
|
"@mui/x-date-pickers": "^5.0.20",
|
|
47
49
|
"@tanstack/react-table": "^8.13.2",
|
|
48
|
-
"@tedi-design-system/core": "6.
|
|
50
|
+
"@tedi-design-system/core": "^6.6.0",
|
|
49
51
|
"classnames": "^2.5.1",
|
|
50
52
|
"draft-js": "^0.11.7",
|
|
51
53
|
"draftjs-md-converter": "^1.5.2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),N=require("../../../../../external/classnames/index.cjs.js"),a=require("./calendar.module.scss.cjs.js"),T=require("./components/calendar-header/calendar-header.cjs.js"),V=require("./components/calendar-month-grid/calendar-month-grid.cjs.js"),z=require("./components/calendar-year-grid/calendar-year-grid.cjs.js"),R=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),U=require("../../../../../external/react-day-picker/dist/esm/locale/et.cjs.js"),J=require("../../../../../external/react-day-picker/dist/esm/DayPicker.cjs.js"),S=require("../../../../../external/react-day-picker/dist/esm/components/DayButton.cjs.js"),K=require("../../tags/status-indicator/status-indicator.cjs.js"),k=_=>{const{getCurrentBreakpointProps:C}=R.useBreakpointProps(_.defaultServerBreakpoint),{view:c="days",selectionLevel:m="days",currentMonth:u,setCurrentMonth:s,setView:i=()=>"days",mode:q="single",value:d,locale:M=U.et,localeCode:y="et-EE",showOutsideDays:A=!0,disabledMatchers:Y,required:G,availableDays:n,unavailableDays:l,footer:B,monthYearSelectType:P,minYear:O,maxYear:W,dayStatus:h,handleSelect:E,applyValue:b,showNavigation:f=!0,className:v,bordered:F=!0,fullWidth:g=!1,...H}=C(_),p=F?void 0:a.default["tedi-calendar--borderless"],D=g?a.default["tedi-calendar--full-width"]:void 0,w=N.default(p,D,v),j=e=>n?Array.isArray(n)?n.some(r=>r.toDateString()===e.toDateString()):n(e):!0,x=e=>l?Array.isArray(l)?l.some(r=>r.toDateString()===e.toDateString()):l(e):!1,o=[...Y??[],...n?[e=>!j(e)]:[],...l?[e=>x(e)]:[]],I=(()=>{switch(q){case"multiple":return{mode:"multiple",selected:Array.isArray(d)?d:void 0};case"range":return{mode:"range",selected:d&&!Array.isArray(d)&&!(d instanceof Date)?d:void 0};default:return{mode:"single",selected:d instanceof Date?d:void 0}}})();return t.jsxs("div",{className:a.default["tedi-calendar__wrapper"],children:[c==="years"&&t.jsx(z.YearGrid,{currentMonth:u,onNavigate:s,showNavigation:f,onSelectYear:e=>{s(e),m==="years"?b(new Date(e.getFullYear(),0,1)):i("months")},className:w}),c==="months"&&t.jsx(V.MonthGrid,{currentMonth:u,onNavigate:s,showNavigation:f,localeCode:y,onSelectMonth:e=>{s(e),m==="months"?b(e):i("days")},className:w}),c==="days"&&t.jsx(J.DayPicker,{...H,...I,locale:M,month:u,onMonthChange:s,showOutsideDays:A,disabled:o.length?o:void 0,required:G,components:{MonthCaption:e=>t.jsx(T.CalendarHeader,{...e,monthYearSelectType:P,onOpenMonthGrid:()=>i("months"),onOpenYearGrid:()=>i("years"),showNavigation:f,localeCode:y,disabledMatchers:o.length?o:void 0,minYear:O,maxYear:W}),Nav:()=>t.jsx(t.Fragment,{}),...h?{DayButton:e=>{const r=h(e.day.date);if(!r)return t.jsx(S.DayButton,{...e});const L=[e["aria-label"],r.label].filter(Boolean).join(", ");return t.jsxs(S.DayButton,{...e,"aria-label":L,children:[e.children,t.jsx(K.StatusIndicator,{type:r.type,size:"sm",className:a.default["tedi-calendar__day-status"]})]})}}:{},...g?{Weekday:({children:e,...r})=>t.jsx("th",{...r,children:t.jsx("span",{className:a.default["tedi-calendar__weekday-inner"],children:e})})}:{}},footer:B,classNames:{root:N.default(a.default["tedi-calendar"],p,D,v),month_caption:a.default["tedi-calendar__caption"],head:a.default["tedi-calendar__head"],row:a.default["tedi-calendar__row"],day:a.default["tedi-calendar__day"],selected:a.default["tedi-calendar__day--selected"],weekday:a.default["tedi-calendar__weekday"],outside:a.default["tedi-calendar__outside-days"],range_start:a.default["tedi-calendar__range-start"],range_middle:a.default["tedi-calendar__range-middle"],range_end:a.default["tedi-calendar__range-end"],today:a.default["tedi-calendar__today"],disabled:a.default["tedi-calendar__disabled"],month:a.default["tedi-calendar__month"],months:a.default["tedi-calendar__months-container"],footer:a.default["tedi-calendar__footer"],week_number:a.default["tedi-calendar__week-number"]},modifiers:{available:e=>n?j(e):!1,unavailable:e=>l?x(e):!1},modifiersClassNames:{available:a.default["tedi-calendar__available-day"],unavailable:a.default["tedi-calendar__unavailable-day"]},onSelect:E})]})};k.displayName="Calendar";exports.Calendar=k;
|
|
@@ -118,6 +118,18 @@ interface CalendarBreakpointProps extends Omit<DayPickerProps, 'mode' | 'selecte
|
|
|
118
118
|
* no status.
|
|
119
119
|
*/
|
|
120
120
|
dayStatus?: DayStatusFn;
|
|
121
|
+
/**
|
|
122
|
+
* Earliest year offered in the calendar header's year dropdown.
|
|
123
|
+
* Forwarded to the internal `CalendarHeader`.
|
|
124
|
+
* @default currentYear - 100
|
|
125
|
+
*/
|
|
126
|
+
minYear?: number;
|
|
127
|
+
/**
|
|
128
|
+
* Latest year offered in the calendar header's year dropdown.
|
|
129
|
+
* Forwarded to the internal `CalendarHeader`.
|
|
130
|
+
* @default currentYear + 20
|
|
131
|
+
*/
|
|
132
|
+
maxYear?: number;
|
|
121
133
|
/**
|
|
122
134
|
* Callback fired when a date or date range is selected. Receives the selected value, day, modifiers, and event.
|
|
123
135
|
*/
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { jsxs as S, jsx as t, Fragment as
|
|
1
|
+
import { jsxs as S, jsx as t, Fragment as H } from "react/jsx-runtime";
|
|
2
2
|
import k from "../../../../../external/classnames/index.es.js";
|
|
3
3
|
import a from "./calendar.module.scss.es.js";
|
|
4
|
-
import { CalendarHeader as
|
|
5
|
-
import { MonthGrid as
|
|
6
|
-
import { YearGrid as
|
|
7
|
-
import { useBreakpointProps as
|
|
8
|
-
import { et as
|
|
9
|
-
import { DayPicker as
|
|
4
|
+
import { CalendarHeader as I } from "./components/calendar-header/calendar-header.es.js";
|
|
5
|
+
import { MonthGrid as T } from "./components/calendar-month-grid/calendar-month-grid.es.js";
|
|
6
|
+
import { YearGrid as U } from "./components/calendar-year-grid/calendar-year-grid.es.js";
|
|
7
|
+
import { useBreakpointProps as J } from "../../../helpers/hooks/use-breakpoint-props.es.js";
|
|
8
|
+
import { et as K } from "../../../../../external/react-day-picker/dist/esm/locale/et.es.js";
|
|
9
|
+
import { DayPicker as Q } from "../../../../../external/react-day-picker/dist/esm/DayPicker.es.js";
|
|
10
10
|
import { DayButton as A } from "../../../../../external/react-day-picker/dist/esm/components/DayButton.es.js";
|
|
11
|
-
import { StatusIndicator as
|
|
12
|
-
const
|
|
13
|
-
const { getCurrentBreakpointProps: M } =
|
|
11
|
+
import { StatusIndicator as R } from "../../tags/status-indicator/status-indicator.es.js";
|
|
12
|
+
const X = (u) => {
|
|
13
|
+
const { getCurrentBreakpointProps: M } = J(u.defaultServerBreakpoint), {
|
|
14
14
|
view: c = "days",
|
|
15
15
|
selectionLevel: y = "days",
|
|
16
16
|
currentMonth: m,
|
|
@@ -18,28 +18,30 @@ const Q = (u) => {
|
|
|
18
18
|
setView: s = () => "days",
|
|
19
19
|
mode: Y = "single",
|
|
20
20
|
value: n,
|
|
21
|
-
locale:
|
|
21
|
+
locale: x = K,
|
|
22
22
|
localeCode: h = "et-EE",
|
|
23
|
-
showOutsideDays:
|
|
24
|
-
disabledMatchers:
|
|
23
|
+
showOutsideDays: G = !0,
|
|
24
|
+
disabledMatchers: j,
|
|
25
25
|
required: O,
|
|
26
26
|
availableDays: i,
|
|
27
27
|
unavailableDays: d,
|
|
28
28
|
footer: W,
|
|
29
29
|
monthYearSelectType: B,
|
|
30
|
+
minYear: E,
|
|
31
|
+
maxYear: F,
|
|
30
32
|
dayStatus: f,
|
|
31
|
-
handleSelect:
|
|
33
|
+
handleSelect: L,
|
|
32
34
|
applyValue: p,
|
|
33
35
|
showNavigation: _ = !0,
|
|
34
36
|
className: v,
|
|
35
|
-
bordered:
|
|
37
|
+
bordered: P = !0,
|
|
36
38
|
fullWidth: b = !1,
|
|
37
|
-
...
|
|
38
|
-
} = M(u), g =
|
|
39
|
-
...
|
|
39
|
+
...V
|
|
40
|
+
} = M(u), g = P ? void 0 : a["tedi-calendar--borderless"], w = b ? a["tedi-calendar--full-width"] : void 0, N = k(g, w, v), D = (e) => i ? Array.isArray(i) ? i.some((r) => r.toDateString() === e.toDateString()) : i(e) : !0, C = (e) => d ? Array.isArray(d) ? d.some((r) => r.toDateString() === e.toDateString()) : d(e) : !1, o = [
|
|
41
|
+
...j ?? [],
|
|
40
42
|
...i ? [(e) => !D(e)] : [],
|
|
41
43
|
...d ? [(e) => C(e)] : []
|
|
42
|
-
],
|
|
44
|
+
], q = (() => {
|
|
43
45
|
switch (Y) {
|
|
44
46
|
case "multiple":
|
|
45
47
|
return { mode: "multiple", selected: Array.isArray(n) ? n : void 0 };
|
|
@@ -54,7 +56,7 @@ const Q = (u) => {
|
|
|
54
56
|
})();
|
|
55
57
|
return /* @__PURE__ */ S("div", { className: a["tedi-calendar__wrapper"], children: [
|
|
56
58
|
c === "years" && /* @__PURE__ */ t(
|
|
57
|
-
|
|
59
|
+
U,
|
|
58
60
|
{
|
|
59
61
|
currentMonth: m,
|
|
60
62
|
onNavigate: l,
|
|
@@ -66,7 +68,7 @@ const Q = (u) => {
|
|
|
66
68
|
}
|
|
67
69
|
),
|
|
68
70
|
c === "months" && /* @__PURE__ */ t(
|
|
69
|
-
|
|
71
|
+
T,
|
|
70
72
|
{
|
|
71
73
|
currentMonth: m,
|
|
72
74
|
onNavigate: l,
|
|
@@ -79,19 +81,19 @@ const Q = (u) => {
|
|
|
79
81
|
}
|
|
80
82
|
),
|
|
81
83
|
c === "days" && /* @__PURE__ */ t(
|
|
82
|
-
|
|
84
|
+
Q,
|
|
83
85
|
{
|
|
84
|
-
...
|
|
85
|
-
...
|
|
86
|
-
locale:
|
|
86
|
+
...V,
|
|
87
|
+
...q,
|
|
88
|
+
locale: x,
|
|
87
89
|
month: m,
|
|
88
90
|
onMonthChange: l,
|
|
89
|
-
showOutsideDays:
|
|
91
|
+
showOutsideDays: G,
|
|
90
92
|
disabled: o.length ? o : void 0,
|
|
91
93
|
required: O,
|
|
92
94
|
components: {
|
|
93
95
|
MonthCaption: (e) => /* @__PURE__ */ t(
|
|
94
|
-
|
|
96
|
+
I,
|
|
95
97
|
{
|
|
96
98
|
...e,
|
|
97
99
|
monthYearSelectType: B,
|
|
@@ -99,19 +101,21 @@ const Q = (u) => {
|
|
|
99
101
|
onOpenYearGrid: () => s("years"),
|
|
100
102
|
showNavigation: _,
|
|
101
103
|
localeCode: h,
|
|
102
|
-
disabledMatchers: o.length ? o : void 0
|
|
104
|
+
disabledMatchers: o.length ? o : void 0,
|
|
105
|
+
minYear: E,
|
|
106
|
+
maxYear: F
|
|
103
107
|
}
|
|
104
108
|
),
|
|
105
|
-
Nav: () => /* @__PURE__ */ t(
|
|
109
|
+
Nav: () => /* @__PURE__ */ t(H, {}),
|
|
106
110
|
...f ? {
|
|
107
111
|
DayButton: (e) => {
|
|
108
112
|
const r = f(e.day.date);
|
|
109
113
|
if (!r)
|
|
110
114
|
return /* @__PURE__ */ t(A, { ...e });
|
|
111
|
-
const
|
|
112
|
-
return /* @__PURE__ */ S(A, { ...e, "aria-label":
|
|
115
|
+
const z = [e["aria-label"], r.label].filter(Boolean).join(", ");
|
|
116
|
+
return /* @__PURE__ */ S(A, { ...e, "aria-label": z, children: [
|
|
113
117
|
e.children,
|
|
114
|
-
/* @__PURE__ */ t(
|
|
118
|
+
/* @__PURE__ */ t(R, { type: r.type, size: "sm", className: a["tedi-calendar__day-status"] })
|
|
115
119
|
] });
|
|
116
120
|
}
|
|
117
121
|
} : {},
|
|
@@ -147,12 +151,12 @@ const Q = (u) => {
|
|
|
147
151
|
available: a["tedi-calendar__available-day"],
|
|
148
152
|
unavailable: a["tedi-calendar__unavailable-day"]
|
|
149
153
|
},
|
|
150
|
-
onSelect:
|
|
154
|
+
onSelect: L
|
|
151
155
|
}
|
|
152
156
|
)
|
|
153
157
|
] });
|
|
154
158
|
};
|
|
155
|
-
|
|
159
|
+
X.displayName = "Calendar";
|
|
156
160
|
export {
|
|
157
|
-
|
|
161
|
+
X as Calendar
|
|
158
162
|
};
|
package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),y=require("../../../../../../../external/classnames/index.cjs.js"),j=require("react"),p=require("../../../../base/icon/icon.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),y=require("../../../../../../../external/classnames/index.cjs.js"),j=require("react"),p=require("../../../../base/icon/icon.cjs.js"),q=require("../../../../base/typography/text/text.cjs.js"),c=require("../../../../buttons/button/button.cjs.js"),r=require("./calendar-header.module.scss.cjs.js"),O=require("../../../../../providers/label-provider/use-labels.cjs.js"),R=require("../../../../../../../external/react-day-picker/dist/esm/types/deprecated.cjs.js"),G=require("../../../../../../../external/react-day-picker/dist/esm/utils/dateMatchModifiers.cjs.js"),l=require("../../../../overlays/dropdown/dropdown.cjs.js");function P({calendarMonth:C,monthYearSelectType:D="dropdown",onOpenMonthGrid:Y,onOpenYearGrid:I,showNavigation:u=!0,localeCode:_,disabledMatchers:o,minYear:L,maxYear:T}){const x=D==="grid",B=D==="static"||!u,{getLabel:m}=O.useLabels(),{goToMonth:f,nextMonth:v,previousMonth:S}=R.useNavigation(),i=C.date,a=i.getFullYear(),h=i.getMonth(),F=Array.from({length:12},(n,t)=>new Date(a,t,1).toLocaleString(_,{month:"long"})),k=new Date().getFullYear(),N=L??k-100,A=T??k+20,s=Array.from({length:Math.max(0,A-N+1)},(n,t)=>N+t),w=j.useCallback((n,t)=>{if(!(o!=null&&o.length))return!1;const d=new Date(n);for(;d<=t;){if(!G.dateMatchModifiers(d,o))return!1;d.setDate(d.getDate()+1)}return!0},[o]),H=j.useMemo(()=>{if(!(o!=null&&o.length))return new Set;const n=new Set;for(let t=0;t<12;t++){const d=new Date(a,t,1),g=new Date(a,t+1,0);w(d,g)&&n.add(t)}return n},[o,a,w]),M=j.useMemo(()=>{if(!(o!=null&&o.length))return new Set;const n=new Set;for(const t of s){const d=new Date(t,0,1),g=new Date(t,11,31);w(d,g)&&n.add(t)}return n},[o,s,w]);return e.jsxs("div",{className:y.default(r.default["tedi-calendar__header"],{[r.default["tedi-calendar__no-navigation"]]:!u}),children:[u&&e.jsx(c.Button,{type:"button",onClick:()=>S&&f(S),"aria-label":m("pickers.previousMonth"),icon:"arrow_back",visualType:"neutral",children:m("pickers.previousMonth")}),B?e.jsxs("div",{className:r.default["tedi-calendar__month-year-label"],children:[e.jsx(q.Text,{children:i.toLocaleString(_,{month:"long"})}),e.jsx(q.Text,{children:a})]}):x?e.jsxs("div",{className:r.default["tedi-calendar__title"],children:[e.jsxs(c.Button,{noStyle:!0,className:r.default["tedi-calendar__month-year-selector"],onClick:Y,"data-testid":"tedi-calendar-month-trigger",children:[i.toLocaleString(_,{month:"long"}),e.jsx(p.Icon,{name:"arrow_drop_down",color:"tertiary",className:r.default["tedi-calendar__month-year-caret"]})]}),e.jsxs(c.Button,{noStyle:!0,className:r.default["tedi-calendar__month-year-selector"],onClick:I,"data-testid":"tedi-calendar-year-trigger",children:[i.getFullYear(),e.jsx(p.Icon,{name:"arrow_drop_down",color:"tertiary",className:r.default["tedi-calendar__month-year-caret"]})]})]}):e.jsxs("div",{className:r.default["tedi-calendar__title"],children:[e.jsxs(l.Dropdown,{className:y.default(r.default["tedi-calendar__month-year-dropdown"],{[r.default["tedi-calendar__picker-grid-dropdown"]]:x}),width:"auto",defaultActiveIndex:h,children:[e.jsx(l.Dropdown.Trigger,{children:e.jsxs(c.Button,{noStyle:!0,className:r.default["tedi-calendar__month-year-selector"],children:[i.toLocaleString(_,{month:"long"}),e.jsx(p.Icon,{name:"arrow_drop_down",color:"tertiary",className:r.default["tedi-calendar__month-year-caret"],"data-testid":"tedi-icon-arrow_drop_down"})]})}),e.jsx(l.Dropdown.Content,{children:F.map((n,t)=>e.jsx(l.Dropdown.Item,{index:t,active:h===t,disabled:H.has(t),onClick:()=>f(new Date(a,t)),children:n},n))})]}),e.jsxs(l.Dropdown,{className:y.default(r.default["tedi-calendar__month-year-dropdown"],{[r.default["tedi-calendar__picker-grid-dropdown"]]:x}),width:"auto",defaultActiveIndex:s.indexOf(a)===-1?void 0:s.indexOf(a),children:[e.jsx(l.Dropdown.Trigger,{children:e.jsxs(c.Button,{noStyle:!0,className:r.default["tedi-calendar__month-year-selector"],children:[i.getFullYear(),e.jsx(p.Icon,{name:"arrow_drop_down",color:"tertiary",className:r.default["tedi-calendar__month-year-caret"],"data-testid":"tedi-icon-arrow_drop_down"})]})}),e.jsx(l.Dropdown.Content,{children:s.map((n,t)=>e.jsx(l.Dropdown.Item,{index:t,active:a===n,disabled:M.has(n),onClick:()=>f(new Date(n,h)),children:n},n))})]})]}),u&&e.jsx(c.Button,{type:"button",onClick:()=>v&&f(v),visualType:"neutral","aria-label":m("pickers.nextMonth"),icon:"arrow_forward",children:m("pickers.nextMonth")})]})}exports.CalendarHeader=P;
|
package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.d.ts
CHANGED
|
@@ -27,5 +27,17 @@ export interface CalendarHeaderProps extends Pick<MonthCaptionProps, 'calendarMo
|
|
|
27
27
|
* that has no selectable dates.
|
|
28
28
|
*/
|
|
29
29
|
disabledMatchers?: Matcher[];
|
|
30
|
+
/**
|
|
31
|
+
* Earliest year offered in the year dropdown. Defaults to 100 years before
|
|
32
|
+
* the current year when omitted.
|
|
33
|
+
* @default currentYear - 100
|
|
34
|
+
*/
|
|
35
|
+
minYear?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Latest year offered in the year dropdown. Defaults to 20 years after the
|
|
38
|
+
* current year when omitted.
|
|
39
|
+
* @default currentYear + 20
|
|
40
|
+
*/
|
|
41
|
+
maxYear?: number;
|
|
30
42
|
}
|
|
31
|
-
export declare function CalendarHeader({ calendarMonth, monthYearSelectType, onOpenMonthGrid, onOpenYearGrid, showNavigation, localeCode, disabledMatchers, }: CalendarHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export declare function CalendarHeader({ calendarMonth, monthYearSelectType, onOpenMonthGrid, onOpenYearGrid, showNavigation, localeCode, disabledMatchers, minYear, maxYear, }: CalendarHeaderProps): import("react/jsx-runtime").JSX.Element;
|
package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.es.js
CHANGED
|
@@ -1,58 +1,63 @@
|
|
|
1
1
|
import { jsxs as a, jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import { useCallback as
|
|
2
|
+
import k from "../../../../../../../external/classnames/index.es.js";
|
|
3
|
+
import { useCallback as q, useMemo as C } from "react";
|
|
4
4
|
import { Icon as g } from "../../../../base/icon/icon.es.js";
|
|
5
|
-
import { Text as
|
|
5
|
+
import { Text as L } from "../../../../base/typography/text/text.es.js";
|
|
6
6
|
import { Button as s } from "../../../../buttons/button/button.es.js";
|
|
7
7
|
import r from "./calendar-header.module.scss.es.js";
|
|
8
|
-
import { useLabels as
|
|
9
|
-
import { useNavigation as
|
|
10
|
-
import { dateMatchModifiers as
|
|
8
|
+
import { useLabels as z } from "../../../../../providers/label-provider/use-labels.es.js";
|
|
9
|
+
import { useNavigation as E } from "../../../../../../../external/react-day-picker/dist/esm/types/deprecated.es.js";
|
|
10
|
+
import { dateMatchModifiers as J } from "../../../../../../../external/react-day-picker/dist/esm/utils/dateMatchModifiers.es.js";
|
|
11
11
|
import { Dropdown as c } from "../../../../overlays/dropdown/dropdown.es.js";
|
|
12
|
-
function
|
|
13
|
-
calendarMonth:
|
|
14
|
-
monthYearSelectType:
|
|
15
|
-
onOpenMonthGrid:
|
|
16
|
-
onOpenYearGrid:
|
|
12
|
+
function ee({
|
|
13
|
+
calendarMonth: F,
|
|
14
|
+
monthYearSelectType: x = "dropdown",
|
|
15
|
+
onOpenMonthGrid: T,
|
|
16
|
+
onOpenYearGrid: A,
|
|
17
17
|
showNavigation: _ = !0,
|
|
18
18
|
localeCode: u,
|
|
19
|
-
disabledMatchers: o
|
|
19
|
+
disabledMatchers: o,
|
|
20
|
+
minYear: I,
|
|
21
|
+
maxYear: j
|
|
20
22
|
}) {
|
|
21
|
-
const f =
|
|
23
|
+
const f = x === "grid", O = x === "static" || !_, { getLabel: p } = z(), { goToMonth: h, nextMonth: D, previousMonth: N } = E(), d = F.date, i = d.getFullYear(), y = d.getMonth(), B = Array.from(
|
|
22
24
|
{ length: 12 },
|
|
23
25
|
(t, e) => new Date(i, e, 1).toLocaleString(u, { month: "long" })
|
|
24
|
-
),
|
|
26
|
+
), S = (/* @__PURE__ */ new Date()).getFullYear(), Y = I ?? S - 100, G = j ?? S + 20, m = Array.from(
|
|
27
|
+
{ length: Math.max(0, G - Y + 1) },
|
|
28
|
+
(t, e) => Y + e
|
|
29
|
+
), w = q(
|
|
25
30
|
(t, e) => {
|
|
26
31
|
if (!(o != null && o.length)) return !1;
|
|
27
32
|
const l = new Date(t);
|
|
28
33
|
for (; l <= e; ) {
|
|
29
|
-
if (!
|
|
34
|
+
if (!J(l, o)) return !1;
|
|
30
35
|
l.setDate(l.getDate() + 1);
|
|
31
36
|
}
|
|
32
37
|
return !0;
|
|
33
38
|
},
|
|
34
39
|
[o]
|
|
35
|
-
),
|
|
40
|
+
), H = C(() => {
|
|
36
41
|
if (!(o != null && o.length)) return /* @__PURE__ */ new Set();
|
|
37
42
|
const t = /* @__PURE__ */ new Set();
|
|
38
43
|
for (let e = 0; e < 12; e++) {
|
|
39
|
-
const l = new Date(i, e, 1),
|
|
40
|
-
w(l,
|
|
44
|
+
const l = new Date(i, e, 1), v = new Date(i, e + 1, 0);
|
|
45
|
+
w(l, v) && t.add(e);
|
|
41
46
|
}
|
|
42
47
|
return t;
|
|
43
|
-
}, [o, i, w]),
|
|
48
|
+
}, [o, i, w]), R = C(() => {
|
|
44
49
|
if (!(o != null && o.length)) return /* @__PURE__ */ new Set();
|
|
45
50
|
const t = /* @__PURE__ */ new Set();
|
|
46
51
|
for (const e of m) {
|
|
47
|
-
const l = new Date(e, 0, 1),
|
|
48
|
-
w(l,
|
|
52
|
+
const l = new Date(e, 0, 1), v = new Date(e, 11, 31);
|
|
53
|
+
w(l, v) && t.add(e);
|
|
49
54
|
}
|
|
50
55
|
return t;
|
|
51
56
|
}, [o, m, w]);
|
|
52
57
|
return /* @__PURE__ */ a(
|
|
53
58
|
"div",
|
|
54
59
|
{
|
|
55
|
-
className:
|
|
60
|
+
className: k(r["tedi-calendar__header"], {
|
|
56
61
|
[r["tedi-calendar__no-navigation"]]: !_
|
|
57
62
|
}),
|
|
58
63
|
children: [
|
|
@@ -60,23 +65,23 @@ function Z({
|
|
|
60
65
|
s,
|
|
61
66
|
{
|
|
62
67
|
type: "button",
|
|
63
|
-
onClick: () =>
|
|
68
|
+
onClick: () => N && h(N),
|
|
64
69
|
"aria-label": p("pickers.previousMonth"),
|
|
65
70
|
icon: "arrow_back",
|
|
66
71
|
visualType: "neutral",
|
|
67
72
|
children: p("pickers.previousMonth")
|
|
68
73
|
}
|
|
69
74
|
),
|
|
70
|
-
|
|
71
|
-
/* @__PURE__ */ n(
|
|
72
|
-
/* @__PURE__ */ n(
|
|
75
|
+
O ? /* @__PURE__ */ a("div", { className: r["tedi-calendar__month-year-label"], children: [
|
|
76
|
+
/* @__PURE__ */ n(L, { children: d.toLocaleString(u, { month: "long" }) }),
|
|
77
|
+
/* @__PURE__ */ n(L, { children: i })
|
|
73
78
|
] }) : f ? /* @__PURE__ */ a("div", { className: r["tedi-calendar__title"], children: [
|
|
74
79
|
/* @__PURE__ */ a(
|
|
75
80
|
s,
|
|
76
81
|
{
|
|
77
82
|
noStyle: !0,
|
|
78
83
|
className: r["tedi-calendar__month-year-selector"],
|
|
79
|
-
onClick:
|
|
84
|
+
onClick: T,
|
|
80
85
|
"data-testid": "tedi-calendar-month-trigger",
|
|
81
86
|
children: [
|
|
82
87
|
d.toLocaleString(u, { month: "long" }),
|
|
@@ -89,7 +94,7 @@ function Z({
|
|
|
89
94
|
{
|
|
90
95
|
noStyle: !0,
|
|
91
96
|
className: r["tedi-calendar__month-year-selector"],
|
|
92
|
-
onClick:
|
|
97
|
+
onClick: A,
|
|
93
98
|
"data-testid": "tedi-calendar-year-trigger",
|
|
94
99
|
children: [
|
|
95
100
|
d.getFullYear(),
|
|
@@ -101,7 +106,7 @@ function Z({
|
|
|
101
106
|
/* @__PURE__ */ a(
|
|
102
107
|
c,
|
|
103
108
|
{
|
|
104
|
-
className:
|
|
109
|
+
className: k(r["tedi-calendar__month-year-dropdown"], {
|
|
105
110
|
[r["tedi-calendar__picker-grid-dropdown"]]: f
|
|
106
111
|
}),
|
|
107
112
|
width: "auto",
|
|
@@ -119,12 +124,12 @@ function Z({
|
|
|
119
124
|
}
|
|
120
125
|
)
|
|
121
126
|
] }) }),
|
|
122
|
-
/* @__PURE__ */ n(c.Content, { children:
|
|
127
|
+
/* @__PURE__ */ n(c.Content, { children: B.map((t, e) => /* @__PURE__ */ n(
|
|
123
128
|
c.Item,
|
|
124
129
|
{
|
|
125
130
|
index: e,
|
|
126
131
|
active: y === e,
|
|
127
|
-
disabled:
|
|
132
|
+
disabled: H.has(e),
|
|
128
133
|
onClick: () => h(new Date(i, e)),
|
|
129
134
|
children: t
|
|
130
135
|
},
|
|
@@ -136,7 +141,7 @@ function Z({
|
|
|
136
141
|
/* @__PURE__ */ a(
|
|
137
142
|
c,
|
|
138
143
|
{
|
|
139
|
-
className:
|
|
144
|
+
className: k(r["tedi-calendar__month-year-dropdown"], {
|
|
140
145
|
[r["tedi-calendar__picker-grid-dropdown"]]: f
|
|
141
146
|
}),
|
|
142
147
|
width: "auto",
|
|
@@ -159,7 +164,7 @@ function Z({
|
|
|
159
164
|
{
|
|
160
165
|
index: e,
|
|
161
166
|
active: i === t,
|
|
162
|
-
disabled:
|
|
167
|
+
disabled: R.has(t),
|
|
163
168
|
onClick: () => h(new Date(t, y)),
|
|
164
169
|
children: t
|
|
165
170
|
},
|
|
@@ -173,7 +178,7 @@ function Z({
|
|
|
173
178
|
s,
|
|
174
179
|
{
|
|
175
180
|
type: "button",
|
|
176
|
-
onClick: () =>
|
|
181
|
+
onClick: () => D && h(D),
|
|
177
182
|
visualType: "neutral",
|
|
178
183
|
"aria-label": p("pickers.nextMonth"),
|
|
179
184
|
icon: "arrow_forward",
|
|
@@ -185,5 +190,5 @@ function Z({
|
|
|
185
190
|
);
|
|
186
191
|
}
|
|
187
192
|
export {
|
|
188
|
-
|
|
193
|
+
ee as CalendarHeader
|
|
189
194
|
};
|
|
@@ -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"),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;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),ie=require("../../../../../external/@tanstack/react-table/build/lib/index.cjs.js"),I=require("../../../../../external/classnames/index.cjs.js"),i=require("react"),ht=require("../../base/icon/icon.cjs.js"),mn=require("../../buttons/collapse-button/collapse-button.cjs.js"),mt=require("../../form/checkbox/checkbox.cjs.js"),hn=require("../../form/radio/radio.cjs.js"),xn=require("../../form/textfield/textfield.cjs.js"),o=require("./table.module.scss.cjs.js"),wn=require("./table-columns-menu/table-columns-menu.cjs.js"),Cn=require("./table-context.cjs.js"),vn=require("./table-header-button/table-header-button.cjs.js"),_n=require("./table-toolbar/table-toolbar.cjs.js"),Sn=require("./use-table-persistence.cjs.js"),Rn=require("../../../providers/label-provider/use-labels.cjs.js"),oe=require("../../../../../external/@tanstack/table-core/build/lib/index.cjs.js"),Dn=require("../../navigation/pagination/pagination.cjs.js"),yn=(D,E)=>M=>{const _=M.index;if(_<0||_>=D.length)return 1;const N=E(D[_]);if(_>0&&E(D[_-1])===N)return 0;let T=1;for(let A=_+1;A<D.length&&E(D[A])===N;A++)T++;return T},xt="data-tedi-drag-handle",kn=({label:D,onHandlePointerDown:E,id:M,pickedUp:_,onKeyDown:N})=>r.jsx("button",{type:"button",id:M,className:I.default(o.default["tedi-table__drag-handle"],{[o.default["tedi-table__drag-handle--picked-up"]]:_}),"aria-label":D,"aria-pressed":_,onClick:T=>T.stopPropagation(),onMouseDown:E,onTouchStart:E,onKeyDown:N,[xt]:"",children:r.jsx(ht.Icon,{name:"drag_indicator",size:18,color:"inherit"})}),In=D=>{const{row:E,rowClassName:M,rowStyle:_,isActiveRow:N,clickable:T,onClick:A,onKeyDownHandler:Se,ariaRowIndex:Re,columnProps:Z,draggable:re,dragHandleLabel:se,dragHandlers:g,dragHandleId:De,dragHandlePickedUp:ye,dragOverColumnId:de}=D;return r.jsx("tr",{className:M,style:_,draggable:re||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:T&&A?()=>A(E):void 0,onKeyDown:T?Se:void 0,tabIndex:T?0:void 0,role:T?"button":void 0,"aria-rowindex":Re,"aria-current":N?"true":void 0,children:E.getVisibleCells().map(L=>{var ee;const f=L.column.columnDef.meta,$=Z==null?void 0:Z(L.column.id),ce=re&&L.column.id===_e,ue=!!de&&L.column.id===de,O=(ee=f==null?void 0:f.rowSpan)==null?void 0:ee.call(f,L.row);return O===0?null:r.jsx("td",{rowSpan:O&&O>1?O: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"]]:ce,[o.default["tedi-table__cell--drag-over"]]:ue},$==null?void 0:$.className),style:$==null?void 0:$.style,children:ce?r.jsx(kn,{label:se,onHandlePointerDown:(g==null?void 0:g.onHandlePointerDown)??(()=>{}),onKeyDown:g==null?void 0:g.onKeyDown,id:De,pickedUp:ye}):ie.flexRender(L.column.columnDef.cell,L.getContext())},L.id)})})},qe="__select__",He="__expand__",_e="__drag__",ae=()=>!0,En={text:ae,select:ae,"multi-select":ae,"date-range":ae,"date-range-period":ae};function Tn(D){return Array.isArray(D.columns)}function wt(D){const{id:E,data:M,columns:_,size:N="medium",caption:T,state:A,defaultState:Se,onStateChange:Re,persist:Z,emptyState:re,emptyStateRole:se,className:g,children:De,striped:ye=!1,verticalBorders:de=!1,borderless:L=!1,stickyFirstColumn:f=!1,stickyLastColumn:$=!1,stickyHeader:ce=!1,maxHeight:ue,onRowClick:O,activeRowId:ee,rowHover:Ct,enableRowSelection:Ue,selectionMode:ke="multiple",highlightSelectedRows:vt=!0,enableColumnFilters:Ie=!1,renderSubComponent:U,getRowCanExpand:Ke,getSubRows:Ve,getRowId:_t,expandTrigger:Ee="button",paginateExpandedRows:St=!1,pagination:B,autoResetPageIndex:Rt,manualPagination:q=!1,manualSorting:Te=!1,manualFiltering:Oe=!1,pageCount:Ge,rowCount:ge,checkboxProps:Ne,radioProps:We,collapseProps:Xe,rowProps:Le,columnProps:H,reorderableRows:S=!1,onRowDrop:j,reorderableColumns:K=!1}=D,{getLabel:h}=Rn.useLabels(),Ye=re??h("table.no-data"),V=i.useRef(h);V.current=h;const Dt=i.useId(),b=E??Dt,x=i.useMemo(()=>B?B===!0?{pageSize:10,pageSizeOptions:[10,25,50],paginationProps:void 0}:{pageSize:B.pageSize??10,pageSizeOptions:B.pageSizeOptions===void 0?[10,25,50]:B.pageSizeOptions,paginationProps:B.paginationProps}:null,[B]),y=x!==null,yt=i.useMemo(()=>{const e=x==null?void 0:x.pageSizeOptions;return Array.isArray(e)&&e.length>0?e:void 0},[x]),[P,R]=Sn.useTablePersistence({persist:Z,controlled:A,defaultState:Se,onStateChange:Re}),kt=i.useCallback(e=>{R(n=>{const t=n.columnVisibility??{};return{columnVisibility:typeof e=="function"?e(t):e}})},[R]),It=i.useCallback(e=>{R(n=>{const t=n.rowSelection??{};return{rowSelection:typeof e=="function"?e(t):e}})},[R]),Et=i.useCallback(e=>{R(n=>{const t=n.expanded??{};return{expanded:typeof e=="function"?e(t):e}})},[R]),Tt=i.useCallback(e=>{R(n=>{const t=n.columnFilters??[];return{columnFilters:typeof e=="function"?e(t):e}})},[R]),Ot=i.useCallback(e=>{R(n=>{const t=n.columnOrder??[];return{columnOrder:typeof e=="function"?e(t):e}})},[R]),Nt=i.useCallback(e=>{R(n=>{const t=n.sorting??[];return{sorting:typeof e=="function"?e(t):e}})},[R]),Lt=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]),te=!!(U||Ve),Je=!!Ue,$t=i.useMemo(()=>oe.getCoreRowModel(),[]),jt=i.useMemo(()=>Oe?void 0:oe.getFilteredRowModel(),[Oe]),Pt=i.useMemo(()=>Te?void 0:oe.getSortedRowModel(),[Te]),At=i.useMemo(()=>te?oe.getExpandedRowModel():void 0,[te]),Ft=i.useMemo(()=>y&&!q?oe.getPaginationRowModel():void 0,[y,q]),zt=i.useMemo(()=>{const e=[];if(S&&e.push({id:_e,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:"",cell:()=>null}),Je){const n=ke==="single",t=`${b}-select`;e.push({id:qe,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:n?"":({table:l})=>r.jsx(mt.Checkbox,{...Ne,id:`${b}-select-all`,name:`${b}-select-all`,label:V.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(hn.Radio,{...We,id:`${b}-select-${l.id}`,name:t,label:V.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(mt.Checkbox,{...Ne,id:`${b}-select-${l.id}`,name:`${b}-select-${l.id}`,label:V.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 te&&e.push({id:He,enableSorting:!1,enableHiding:!1,enableColumnFilter:!1,size:40,header:"",cell:({row:n})=>{if(!n.getCanExpand())return null;const t=`${b}-sub-${n.id}`;return r.jsx("span",{onClick:l=>l.stopPropagation(),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&l.stopPropagation()},children:r.jsx(mn.CollapseButton,{arrowType:Ee==="row"?"default":"secondary",...Xe,hideText:!0,id:`${b}-expand-${n.id}`,"aria-controls":U?t:void 0,openText:V.current("table.expand-row"),closeText:V.current("table.collapse-row"),open:n.getIsExpanded(),onOpenChange:()=>n.toggleExpanded()})})}}),[...e,..._]},[_,Je,ke,te,U,Ee,S,b,Ne,We,Xe]),Mt=i.useMemo(()=>({}),[]),Bt=i.useMemo(()=>({}),[]),qt=i.useMemo(()=>[],[]),Ht=i.useMemo(()=>[],[]),Ut=i.useMemo(()=>[],[]),Kt=i.useMemo(()=>({pageIndex:0,pageSize:(x==null?void 0:x.pageSize)??10}),[x]),c=ie.useReactTable({data:M,columns:zt,state:{columnVisibility:P.columnVisibility,columnOrder:P.columnOrder??Ht,rowSelection:P.rowSelection??Mt,expanded:P.expanded??Bt,columnFilters:P.columnFilters??qt,sorting:P.sorting??Ut,pagination:y?P.pagination??Kt:void 0},enableRowSelection:Ue,enableMultiRowSelection:ke!=="single",enableColumnFilters:Ie,autoResetPageIndex:Rt??!q,paginateExpandedRows:y&&!q?St:!0,manualPagination:q,manualSorting:Te,manualFiltering:Oe,pageCount:q&&Ge!==void 0?Ge:void 0,rowCount:q&&ge!==void 0?ge:void 0,getRowCanExpand:U?Ke??(()=>!0):Ke,getSubRows:Ve,getRowId:_t,onColumnVisibilityChange:kt,onColumnOrderChange:Ot,onRowSelectionChange:It,onExpandedChange:Et,onColumnFiltersChange:Tt,onSortingChange:Nt,onPaginationChange:y?Lt:void 0,filterFns:En,getCoreRowModel:$t,getFilteredRowModel:jt,getExpandedRowModel:At,getSortedRowModel:Pt,getPaginationRowModel:Ft}),Vt=i.useMemo(()=>({table:c,size:N,id:b,state:P}),[c,N,b,P]),fe=i.useRef(null),[Qe,Gt]=i.useState({left:!1,right:!1}),Ze=f||$;i.useEffect(()=>{const e=fe.current;if(!e||!Ze)return;const n=()=>{const l=e.scrollLeft>0,a=Math.ceil(e.scrollLeft+e.clientWidth)<e.scrollWidth;Gt(s=>s.left===l&&s.right===a?s:{left:l,right:a})};n(),e.addEventListener("scroll",n,{passive:!0});const t=new ResizeObserver(n);return t.observe(e),e.firstElementChild&&t.observe(e.firstElementChild),()=>{e.removeEventListener("scroll",n),t.disconnect()}},[Ze]);const be=i.useCallback(()=>{fe.current&&(fe.current.scrollTop=0)},[]),Wt=i.useCallback(e=>{c.setPageIndex(e-1),be()},[c,be]),Xt=i.useCallback(e=>{c.setPageSize(e),be()},[c,be]),Yt=c.getHeaderGroups().length>1,pe=Ee==="row"&&te,Jt=Ct??(!!O||pe),Qt=I.default(o.default["tedi-table"],o.default[`tedi-table--${N}`],{[o.default["tedi-table--striped"]]:ye,[o.default["tedi-table--vertical-borders"]]:de,[o.default["tedi-table--borderless"]]:L,[o.default["tedi-table--sticky-first-column"]]:f,[o.default["tedi-table--sticky-last-column"]]:$,[o.default["tedi-table--overflow-left"]]:f&&Qe.left,[o.default["tedi-table--overflow-right"]]:$&&Qe.right,[o.default["tedi-table--sticky-header"]]:ce,[o.default["tedi-table--clickable-rows"]]:!!O||pe,[o.default["tedi-table--row-hover"]]:Jt,[o.default["tedi-table--has-pagination"]]:y,[o.default["tedi-table--grouped-headers"]]:Yt},g),w=c.getRowModel().rows,me=c.getHeaderGroups(),et=c.getFooterGroups(),tt=c.getVisibleLeafColumns(),he=tt.length,Zt=et.some(e=>e.headers.some(n=>n.column.columnDef.footer!==void 0)),nt=e=>!!O||pe&&e.getCanExpand(),lt=e=>{pe&&e.getCanExpand()&&e.toggleExpanded(),O==null||O(e)},en=e=>n=>{nt(e)&&n.target===n.currentTarget&&(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),lt(e))},ot=me.length+(Ie?1:0),at=c.getState().pagination,tn=y?at.pageIndex*at.pageSize:0,nn=y?ge??c.getFilteredRowModel().rows.length:w.length,ln=y?ot+nn:void 0,[it,$e]=i.useState(null),[on,xe]=i.useState(null),G=i.useRef(null),W=i.useRef(null),[rt,je]=i.useState(null),[st,we]=i.useState(null),X=i.useRef(null),Y=i.useRef(null),[dt,Pe]=i.useState(null),Ce=i.useRef([]),[ct,Ae]=i.useState(null),ne=i.useRef(-1),[an,F]=i.useState(""),ve=i.useRef(null),[rn,ut]=i.useState(0),Fe=i.useMemo(()=>S?new Map(w.map(e=>[e.id,e.index])):new Map,[S,w]);i.useEffect(()=>{if(!S&&!K)return;const e=()=>{W.current=null,Y.current=null};return window.addEventListener("mouseup",e),window.addEventListener("touchend",e),()=>{window.removeEventListener("mouseup",e),window.removeEventListener("touchend",e)}},[S,K]);const sn=i.useCallback(e=>({onHandlePointerDown:()=>{W.current=e},onDragStart:n=>{if(W.current!==e){n.preventDefault();return}W.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"),v=t.cloneNode(!0);v.classList.add(o.default["tedi-table__row--drag-preview"]);const d=Array.from(v.children);s.forEach((J,k)=>{const z=d[k];if(!z)return;const le=J.getBoundingClientRect();z.style.width=`${le.width}px`,z.style.minWidth=`${le.width}px`,z.style.maxWidth=`${le.width}px`}),C.appendChild(v),m.appendChild(C),u.appendChild(m),document.body.appendChild(u),n.dataTransfer.setDragImage(u,24,a.height/2),window.setTimeout(()=>u.remove(),0)}G.current=e,$e(e)},onDragOver:n=>{!G.current||G.current===e||(n.preventDefault(),n.dataTransfer.dropEffect="move",xe(e))},onDragLeave:()=>{xe(n=>n===e?null:n)},onDragEnd:()=>{G.current=null,W.current=null,$e(null),xe(null)},onDrop:n=>{n.preventDefault();const t=G.current,l=e;if(G.current=null,W.current=null,$e(null),xe(null),!t||t===l)return;const a=Fe.get(t),s=Fe.get(l);a===void 0||s===void 0||j==null||j({fromId:t,toId:l,fromIndex:a,toIndex:s})}}),[Fe,j]),gt=(e,n,t)=>{const l=e.slice(),[a]=l.splice(n,1);return l.splice(t,0,a),l},dn=i.useCallback(e=>({onHandlePointerDown:()=>{Y.current=e},onDragStart:n=>{if(Y.current!==e){n.preventDefault();return}Y.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 v=t.cloneNode(!0);v.classList.add(o.default["tedi-table__header-cell--drag-preview"]),v.style.width=`${l.width}px`,C.appendChild(v),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),X.current=e,je(e)},onDragOver:n=>{!X.current||X.current===e||(n.preventDefault(),n.dataTransfer.dropEffect="move",we(e))},onDragLeave:()=>{we(n=>n===e?null:n)},onDragEnd:()=>{X.current=null,Y.current=null,je(null),we(null)},onDrop:n=>{n.preventDefault();const t=X.current,l=e;if(X.current=null,Y.current=null,je(null),we(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(gt(s,u,m))}}),[c]),cn=e=>`${b}-col-reorder-${e}`,un=e=>`${b}-row-reorder-${e}`,ft=()=>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)},bt=(e,n)=>{const t=ft(),l=t.indexOf(n);if(l<0)return;const a=l+e;if(a<0||a>=t.length)return;const s=gt(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 v=u.map(d=>m.has(d)?s[C++]:d);for(const d of s)v.includes(d)||v.push(d);c.setColumnOrder(v),F(h("table.reorder.move",ze(n),a+1)),ve.current={kind:"column",id:n},ut(d=>d+1)},gn=(e,n)=>{if(!K)return;const t=dt;switch(e.key){case" ":case"Enter":if(e.preventDefault(),t===null)Ce.current=[...c.getState().columnOrder??[]],Pe(n),F(h("table.reorder.pickup",ze(n)));else{const l=ft().indexOf(t)+1;Pe(null),Ce.current=[],F(h("table.reorder.drop",ze(t),l))}break;case"Escape":t!==null&&(e.preventDefault(),c.setColumnOrder(Ce.current),Pe(null),Ce.current=[],F(h("table.reorder.cancel")));break;case"ArrowLeft":t!==null&&(e.preventDefault(),bt(-1,t));break;case"ArrowRight":t!==null&&(e.preventDefault(),bt(1,t));break}},pt=(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];j==null||j({fromId:a.id,toId:s.id,fromIndex:a.index,toIndex:s.index}),F(h("table.row-reorder.move",l+1)),ve.current={kind:"row",original:n},ut(u=>u+1)},fn=(e,n)=>{if(!S)return;const t=ct;switch(e.key){case" ":case"Enter":if(e.preventDefault(),t===null)Ae(n.original),ne.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),ne.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&&ne.current>=0){const a=w[l];j==null||j({fromId:a.id,toId:a.id,fromIndex:a.index,toIndex:ne.current})}Ae(null),ne.current=-1,F(h("table.row-reorder.cancel"))}break;case"ArrowUp":t!==null&&(e.preventDefault(),pt(-1,t));break;case"ArrowDown":t!==null&&(e.preventDefault(),pt(1,t));break}};return i.useEffect(()=>{var t;const e=ve.current;if(!e)return;ve.current=null;let n;if(e.kind==="column")n=`${b}-col-reorder-${e.id}`;else{const l=w.find(a=>a.original===e.original);n=l?`${b}-row-reorder-${l.id}`:null}n&&((t=document.getElementById(n))==null||t.focus())},[rn,w,b]),r.jsx(Cn.TableContext.Provider,{value:Vt,children:r.jsxs("div",{className:Qt,"data-name":"tedi-table",children:[De,(S||K)&&r.jsx("div",{className:o.default["tedi-table__sr-only"],"aria-live":"polite","aria-atomic":"true",children:an}),r.jsx("div",{ref:fe,className:o.default["tedi-table__scroll"],style:ue!==void 0?{maxHeight:ue,overflowY:"auto"}:void 0,children:r.jsxs("table",{id:E,className:o.default["tedi-table__table"],"aria-rowcount":ln,"aria-colcount":he>0?he:void 0,children:[T&&r.jsx("caption",{className:o.default["tedi-table__caption"],children:T}),r.jsxs("thead",{className:o.default["tedi-table__head"],children:[me.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=Tn(t.column.columnDef),u=!s&&!a;if(t.isPlaceholder&&!u||!t.isPlaceholder&&u&&n>0)return null;const m=u?me.length-n:1,C=t.column.getIsSorted(),v=t.column.getCanSort()?C==="asc"?"ascending":C==="desc"?"descending":"none":void 0,d=t.column.columnDef.meta,J=(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(),le=t.column.id===_e||t.column.id===qe||t.column.id===He,Q=K&&u&&!le,p=Q?dn(t.column.id):void 0,bn=Q&&rt===t.column.id,pn=Q&&st===t.column.id&&rt!==t.column.id,Me=Q&&dt===t.column.id;return r.jsx("th",{colSpan:t.colSpan,rowSpan:m>1?m:void 0,draggable:Q||void 0,onDragStart:p==null?void 0:p.onDragStart,onDragOver:p==null?void 0:p.onDragOver,onDragLeave:p==null?void 0:p.onDragLeave,onDragEnd:p==null?void 0:p.onDragEnd,onDrop:p==null?void 0:p.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"]]:bn,[o.default["tedi-table__header-cell--drag-over"]]:pn,[o.default["tedi-table__header-cell--picked-up"]]:Me,[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":v,"aria-label":J??(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:Q&&p?r.jsxs("span",{className:o.default["tedi-table__header-cell-inner"],children:[r.jsx("button",{type:"button",id:cn(t.column.id),className:I.default(o.default["tedi-table__drag-handle"],{[o.default["tedi-table__drag-handle--picked-up"]]:Me}),"aria-label":h("table.drag-column",J??t.column.id),"aria-pressed":Me,onClick:Be=>Be.stopPropagation(),onMouseDown:p.onHandlePointerDown,onTouchStart:p.onHandlePointerDown,onKeyDown:Be=>gn(Be,t.column.id),[xt]:"",children:r.jsx(ht.Icon,{name:"drag_indicator",size:18,color:"inherit"})}),ie.flexRender(t.column.columnDef.header,t.getContext())]}):ie.flexRender(t.column.columnDef.header,t.getContext())},t.id)})},e.id)),Ie&&r.jsx("tr",{className:I.default(o.default["tedi-table__row"],o.default["tedi-table__row--filter"]),"aria-rowindex":y?me.length+1:void 0,children:tt.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=`${b}-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(xn.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,he),className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--placeholder"]),children:se?r.jsx("div",{role:se,children:Ye}):Ye})}):w.map((e,n)=>{const t=nt(e),l=ee!==void 0&&e.id===ee,a=Le==null?void 0:Le(e),s=I.default(o.default["tedi-table__row"],{[o.default["tedi-table__row--selected"]]:vt&&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?ot+tn+n+1:void 0,m=`${b}-sub-${e.id}`,C=S&&it===e.id,v=S&&on===e.id&&it!==e.id,d=S&&ct===e.original,J={row:e,rowClassName:I.default(s,{[o.default["tedi-table__row--dragging"]]:C,[o.default["tedi-table__row--drag-over"]]:v,[o.default["tedi-table__row--picked-up"]]:d}),rowStyle:a==null?void 0:a.style,isActiveRow:l,clickable:t,onClick:lt,onKeyDownHandler:en(e),ariaRowIndex:u,columnProps:H,draggable:S,dragHandleLabel:h("table.drag-row"),dragHandlers:S?{...sn(e.id),onKeyDown:k=>fn(k,e)}:void 0,dragHandleId:S?un(e.id):void 0,dragHandlePickedUp:d,dragOverColumnId:K?st:null};return r.jsxs(i.Fragment,{children:[r.jsx(In,{...J}),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:m,role:"region","aria-label":h("table.row-details"),colSpan:Math.max(1,he),className:I.default(o.default["tedi-table__cell"],o.default["tedi-table__cell--sub-component"]),children:U(e)})})]},e.id)})}),Zt&&r.jsx("tfoot",{className:o.default["tedi-table__foot"],children:et.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:ie.flexRender(n.column.columnDef.footer,n.getContext())},n.id)})},e.id))})]})}),y&&r.jsx("div",{className:o.default["tedi-table__pagination"],children:r.jsx(Dn.Pagination,{...x==null?void 0:x.paginationProps,pageCount:Math.max(1,c.getPageCount()),page:c.getState().pagination.pageIndex+1,onPageChange:Wt,totalItems:ge??c.getFilteredRowModel().rows.length,pageSize:c.getState().pagination.pageSize,pageSizeOptions:yt,onPageSizeChange:Xt})})]})})}wt.displayName="Table";const On=Object.assign(wt,{Toolbar:_n.TableToolbar,ColumnsMenu:wn.TableColumnsMenu,HeaderButton:vn.TableHeaderButton});exports.Table=On;exports.groupRowSpan=yn;
|
|
@@ -200,6 +200,12 @@ export interface TableProps<TData> {
|
|
|
200
200
|
* @default false
|
|
201
201
|
*/
|
|
202
202
|
stickyFirstColumn?: boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Freezes the last column during horizontal scroll — typically a trailing
|
|
205
|
+
* actions column that should stay reachable while a wide table scrolls.
|
|
206
|
+
* @default false
|
|
207
|
+
*/
|
|
208
|
+
stickyLastColumn?: boolean;
|
|
203
209
|
/**
|
|
204
210
|
* Pins the `<thead>` row(s) to the top during vertical scroll. Requires
|
|
205
211
|
* `maxHeight` so the table's internal scroll container becomes the sticky
|