@progress/kendo-react-data-tools 9.0.0-develop.2 → 9.0.0-develop.4

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 (41) hide show
  1. package/README.md +27 -27
  2. package/columnmenu/ColumnMenu.js +1 -1
  3. package/columnmenu/ColumnMenu.mjs +83 -98
  4. package/columnmenu/ColumnMenuFilterForm.mjs +2 -22
  5. package/columnmenu/ColumnMenuFilterLogic.mjs +8 -2
  6. package/columnmenu/ColumnMenuFilters.mjs +5 -8
  7. package/columnmenu/ColumnMenuOperators.mjs +1 -3
  8. package/dist/cdn/js/kendo-react-datatools.js +1 -1
  9. package/drag/DragClue.mjs +8 -1
  10. package/filter/Expression.mjs +21 -4
  11. package/filter/Filter.mjs +6 -5
  12. package/filter/Group.mjs +43 -25
  13. package/filter/filters/BooleanFilter.mjs +4 -1
  14. package/filter/filters/EnumFilter.mjs +4 -1
  15. package/filter/filters/NumericFilter.mjs +4 -1
  16. package/filter/filters/TextFilter.mjs +3 -1
  17. package/filteringCells/BooleanFilter.js +1 -1
  18. package/filteringCells/BooleanFilter.mjs +9 -9
  19. package/header/HeaderRow.js +1 -1
  20. package/header/HeaderRow.mjs +20 -18
  21. package/header/utils/index.js +1 -1
  22. package/header/utils/index.mjs +55 -57
  23. package/index.d.mts +14 -69
  24. package/index.d.ts +14 -69
  25. package/navigation/TableKeyboardNavigation.js +1 -1
  26. package/navigation/TableKeyboardNavigation.mjs +25 -13
  27. package/navigation/TableKeyboardNavigationContext.mjs +3 -1
  28. package/navigation/utils.mjs +2 -8
  29. package/package-metadata.mjs +1 -1
  30. package/package.json +9 -9
  31. package/pager/Pager.js +1 -1
  32. package/pager/Pager.mjs +216 -238
  33. package/pager/PagerInput.js +1 -1
  34. package/pager/PagerInput.mjs +25 -29
  35. package/pager/PagerNumericButtons.js +1 -1
  36. package/pager/PagerNumericButtons.mjs +68 -95
  37. package/pager/PagerPageSizes.js +1 -1
  38. package/pager/PagerPageSizes.mjs +24 -29
  39. package/pager/utils.js +8 -0
  40. package/pager/utils.mjs +31 -0
  41. package/selection/TableSelection.mjs +17 -20
package/pager/Pager.mjs CHANGED
@@ -6,252 +6,230 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as h from "react";
10
- import a from "prop-types";
11
- import { PagerNumericButtons as ie } from "./PagerNumericButtons.mjs";
12
- import { PagerInput as re } from "./PagerInput.mjs";
13
- import { PagerPageSizes as oe } from "./PagerPageSizes.mjs";
14
- import { Button as ne } from "@progress/kendo-react-buttons";
15
- import { pagerFirstPage as b, messages as l, pagerPreviousPage as k, pagerNextPage as S, pagerLastPage as K, pagerInfo as E, pagerAriaKeyshortcuts as z, pagerPage as w, pagerOf as C, pagerTotalPages as R } from "../messages/index.mjs";
16
- import { provideLocalizationService as ge, provideIntlService as le, registerForIntl as he, registerForLocalization as pe } from "@progress/kendo-react-intl";
17
- import { Keys as n, focusFirstFocusableChild as ue, enableNavigatableContainer as ce, disableNavigatableContainer as me, keepFocusInContainer as de, TABBABLE_ELEMENTS as fe, validatePackage as Pe, classNames as V, kendoThemeMaps as Me } from "@progress/kendo-react-common";
18
- import { caretAltToRightIcon as U, caretAltToLeftIcon as j, caretAltRightIcon as G, caretAltLeftIcon as H } from "@progress/kendo-svg-icons";
19
- import { packageMetadata as ve } from "../package-metadata.mjs";
20
- const J = 600, ye = 768, M = class M extends h.Component {
21
- constructor(p) {
22
- super(p), this._element = null, this.onPageChange = (t, e) => {
23
- const i = {
24
- target: this,
25
- syntheticEvent: e.syntheticEvent,
26
- nativeEvent: e.nativeEvent,
27
- targetEvent: e,
28
- ...t
29
- };
30
- this.props.onPageChange && this.props.onPageChange.call(void 0, i);
31
- }, this.changePage = (t, e) => {
32
- this.props.onPageChange && t > 0 && t <= this.totalPages && this.props.onPageChange({
33
- target: this,
34
- skip: (t - 1) * this.props.take,
35
- take: this.props.take,
36
- syntheticEvent: e,
37
- nativeEvent: e.nativeEvent,
38
- targetEvent: e
39
- });
40
- }, this.onWindowResize = () => {
41
- const t = this.element;
42
- if (!t || !this.props.responsive)
43
- return;
44
- const e = t.offsetWidth;
45
- e < J ? this.setState({ showPagerSizes: !1 }) : e >= J && e < ye ? this.setState({ showPagerInfo: !1, showPagerSizes: !0 }) : this.setState({ showPagerInfo: !0, showPagerSizes: !0 });
46
- }, this.onKeyDown = (t) => {
47
- const e = this.element, i = t.keyCode;
48
- !e || !this.props.navigatable || ((i === n.home || t.metaKey && i === n.left) && this.changePage(1, t), (i === n.end || t.metaKey && i === n.right) && this.changePage(this.totalPages, t), document.activeElement === e ? (i === n.enter && (ue(e), ce(e)), (i === n.left || i === n.up) && this.changePage(this.currentPage - 1, t), (i === n.right || i === n.down) && this.changePage(this.currentPage + 1, t)) : (i === n.esc && (e.focus(), me(e)), de(t, e, fe)));
49
- }, Pe(ve), this.state = { showPagerSizes: !0, showPagerInfo: !0, innerNavigateActive: !1 };
50
- }
51
- get isRtl() {
52
- return this.props.dir === "rtl";
53
- }
54
- get currentPage() {
55
- return Math.floor(this.props.skip / this.props.take) + 1;
56
- }
57
- /**
58
- * Returns the HTML element of the Pager component.
59
- */
60
- get element() {
61
- return this._element;
62
- }
63
- /**
64
- * @hidden
65
- */
66
- componentDidMount() {
67
- window.addEventListener("resize", this.onWindowResize), this.onWindowResize();
68
- }
69
- /**
70
- * @hidden
71
- */
72
- componentWillUnmount() {
73
- window.removeEventListener("resize", this.onWindowResize);
74
- }
75
- /**
76
- * @hidden
77
- */
78
- render() {
79
- const { showPagerSizes: p, showPagerInfo: t } = this.state, {
80
- skip: e,
81
- take: i,
82
- total: u,
83
- pageSizes: m,
84
- size: g,
85
- responsive: v,
86
- messagesMap: s,
87
- dir: Q,
88
- style: X,
89
- pageSizeValue: Y,
90
- previousNext: Z,
91
- className: ee,
92
- navigatable: d,
93
- disabled: c
94
- } = this.props, o = ge(this), y = le(this), r = this.currentPage, te = this.props.type === "numeric" ? /* @__PURE__ */ h.createElement(
95
- ie,
96
- {
97
- type: v && !p ? "dropdown" : "numbers",
98
- buttonCount: this.props.buttonCount || 0,
99
- totalPages: this.totalPages,
100
- currentPage: this.currentPage,
101
- pageChange: this.changePage,
102
- messagesMap: this.props.messagesMap,
103
- size: g,
104
- navigatable: d
105
- }
106
- ) : /* @__PURE__ */ h.createElement(
107
- re,
108
- {
109
- buttonCount: this.props.buttonCount || 0,
110
- totalPages: this.totalPages,
111
- currentPage: r,
112
- pageChange: this.changePage,
113
- messagesMap: s,
114
- size: g,
115
- navigatable: d
116
- }
117
- ), L = s ? s(b) : { messageKey: b, defaultMessage: l[b] }, I = s ? s(k) : { messageKey: k, defaultMessage: l[k] }, N = s ? s(S) : { messageKey: S, defaultMessage: l[S] }, A = s ? s(K) : { messageKey: K, defaultMessage: l[K] }, B = s ? s(E) : { messageKey: E, defaultMessage: l[E] }, T = s ? s(z) : { messageKey: z, defaultMessage: l[z] }, x = s ? s(w) : { messageKey: w, defaultMessage: l[w] }, O = s ? s(C) : { messageKey: C, defaultMessage: l[C] }, f = s ? s(R) : { messageKey: R, defaultMessage: l[R] }, se = `${o.toLanguageString(
118
- x.messageKey,
119
- x.defaultMessage
120
- )} ${y.format(
121
- o.toLanguageString(f.messageKey, f.defaultMessage),
122
- [r]
123
- )} ${o.toLanguageString(O.messageKey, O.defaultMessage)} ${y.format(
124
- o.toLanguageString(f.messageKey, f.defaultMessage),
125
- [this.totalPages]
126
- )}`;
127
- let D, F, W, _;
128
- Z && (D = this.renderButton(
129
- 1,
130
- "k-pager-nav k-pager-first" + (r === 1 && !c ? " k-disabled" : ""),
131
- o.toLanguageString(L.messageKey, L.defaultMessage),
132
- this.isRtl ? "caret-alt-to-right" : "caret-alt-to-left",
133
- this.isRtl ? U : j,
134
- r === 1 ? !0 : void 0
135
- ), F = this.renderButton(
136
- r - 1,
137
- "k-pager-nav" + (r === 1 && !c ? " k-disabled" : ""),
138
- o.toLanguageString(
139
- I.messageKey,
140
- I.defaultMessage
141
- ),
142
- this.isRtl ? "caret-alt-right" : "caret-alt-left",
143
- this.isRtl ? G : H,
144
- r === 1 ? !0 : void 0
145
- ), W = this.renderButton(
146
- r + 1,
147
- "k-pager-nav" + (r >= this.totalPages && !c ? " k-disabled" : ""),
148
- o.toLanguageString(N.messageKey, N.defaultMessage),
149
- this.isRtl ? "caret-alt-left" : "caret-alt-right",
150
- this.isRtl ? H : G,
151
- r >= this.totalPages ? !0 : void 0
152
- ), _ = this.renderButton(
153
- this.totalPages,
154
- "k-pager-nav k-pager-last" + (r >= this.totalPages && !c ? " k-disabled" : ""),
155
- o.toLanguageString(A.messageKey, A.defaultMessage),
156
- this.isRtl ? "caret-alt-to-left" : "caret-alt-to-right",
157
- this.isRtl ? j : U,
158
- r >= this.totalPages ? !0 : void 0
159
- ));
160
- const $ = m && /* @__PURE__ */ h.createElement(
161
- oe,
162
- {
163
- pageChange: this.onPageChange,
164
- pageSize: i,
165
- pageSizes: m,
166
- value: Y,
167
- messagesMap: s,
168
- size: g,
169
- navigatable: d
170
- }
171
- ), q = this.props.info && /* @__PURE__ */ h.createElement("span", { className: "k-pager-info" }, y.format(
172
- o.toLanguageString(B.messageKey, B.defaultMessage),
173
- [Math.min(e + 1, u), Math.min(e + i, u), u]
174
- ));
175
- return /* @__PURE__ */ h.createElement(
176
- "div",
177
- {
178
- className: V(
179
- "k-pager",
180
- {
181
- [`k-pager-${Me.sizeMap[g] || g}`]: g,
182
- "k-disabled": c
183
- },
184
- ee
185
- ),
186
- style: X,
187
- role: "application",
188
- "aria-roledescription": "pager",
189
- dir: Q,
190
- "aria-keyshortcuts": o.toLanguageString(
191
- T.messageKey,
192
- T.defaultMessage
193
- ),
194
- "aria-label": se,
195
- ref: (ae) => this._element = ae,
196
- tabIndex: d ? 0 : void 0,
197
- onKeyDown: this.onKeyDown
9
+ import * as n from "react";
10
+ import s from "prop-types";
11
+ import { PagerNumericButtons as ke } from "./PagerNumericButtons.mjs";
12
+ import { PagerInput as ze } from "./PagerInput.mjs";
13
+ import { PagerPageSizes as De } from "./PagerPageSizes.mjs";
14
+ import { Button as Le } from "@progress/kendo-react-buttons";
15
+ import { pagerFirstPage as we, pagerPreviousPage as Ke, pagerNextPage as xe, pagerLastPage as Be, pagerInfo as Oe, pagerAriaKeyshortcuts as Te, pagerPage as qe, pagerOf as Ae, pagerTotalPages as _e } from "../messages/index.mjs";
16
+ import { useLocalization as Fe, useInternationalization as $e } from "@progress/kendo-react-intl";
17
+ import { validatePackage as Ve, classNames as J, kendoThemeMaps as Ge, Keys as l, focusFirstFocusableChild as He, enableNavigatableContainer as We, disableNavigatableContainer as je, keepFocusInContainer as Ue, TABBABLE_ELEMENTS as Je } from "@progress/kendo-react-common";
18
+ import { packageMetadata as Qe } from "../package-metadata.mjs";
19
+ import { getL10NMessage as u, translateMessage as S, getFirstButtonProps as Xe, getPrevButtonProps as Ye, getNextButtonProps as Ze, getLastButtonProps as et } from "./utils.mjs";
20
+ const Q = 600, tt = 768, X = n.forwardRef((g, Y) => {
21
+ Ve(Qe);
22
+ const {
23
+ buttonCount: x = P.buttonCount,
24
+ info: Z = P.info,
25
+ type: ee = P.type,
26
+ size: d = P.size,
27
+ disabled: b = P.disabled,
28
+ total: C,
29
+ skip: N,
30
+ take: v,
31
+ className: te,
32
+ style: se,
33
+ pageSizes: B,
34
+ pageSizeValue: ae,
35
+ previousNext: ne,
36
+ responsive: M,
37
+ messagesMap: r,
38
+ dir: O,
39
+ navigatable: m
40
+ } = g, i = Fe(), k = $e(), p = n.useRef({ element: null, props: g }), h = n.useRef(null);
41
+ n.useImperativeHandle(
42
+ p,
43
+ () => ({
44
+ get element() {
45
+ return re();
198
46
  },
199
- /* @__PURE__ */ h.createElement("div", { className: V("k-pager-numbers-wrap") }, D, F, te, W, _),
200
- v ? p && $ : $,
201
- v ? t && q : q
202
- );
203
- }
204
- renderButton(p, t, e, i, u, m) {
205
- return /* @__PURE__ */ h.createElement(
206
- ne,
207
- {
208
- fillMode: "flat",
209
- themeColor: "base",
210
- size: this.props.size,
211
- rounded: null,
212
- className: t,
213
- icon: i,
214
- svgIcon: u,
215
- title: e,
216
- role: "button",
217
- "aria-disabled": m,
218
- tabIndex: this.props.navigatable ? -1 : void 0,
219
- onClick: (g) => {
220
- g.preventDefault(), this.changePage(p, g);
221
- }
47
+ props: g
48
+ })
49
+ ), n.useImperativeHandle(Y, () => p.current);
50
+ const re = () => h.current, [T, z] = n.useState(!0), [oe, q] = n.useState(!0);
51
+ n.useEffect(() => (window.addEventListener("resize", D), D(), () => {
52
+ window.removeEventListener("resize", D);
53
+ }), []);
54
+ const y = O === "rtl", o = Math.floor(N / v) + 1, c = Math.ceil((C || 0) / v), f = (t, e) => {
55
+ g.onPageChange && t > 0 && t <= c && g.onPageChange({
56
+ target: p.current,
57
+ skip: (t - 1) * g.take,
58
+ take: g.take,
59
+ syntheticEvent: e,
60
+ nativeEvent: e.nativeEvent,
61
+ targetEvent: e
62
+ });
63
+ }, ie = (t) => {
64
+ const e = h.current, a = t.keyCode;
65
+ !e || !m || ((a === l.home || t.metaKey && a === l.left) && f(1, t), (a === l.end || t.metaKey && a === l.right) && f(c, t), document.activeElement === e ? (a === l.enter && (He(e), We(e)), (a === l.left || a === l.up) && f(o - 1, t), (a === l.right || a === l.down) && f(o + 1, t)) : (a === l.esc && (e.focus(), je(e)), Ue(t, e, Je)));
66
+ }, D = () => {
67
+ const t = h.current;
68
+ if (!t || !M)
69
+ return;
70
+ const e = t.offsetWidth;
71
+ e < Q ? z(!1) : e >= Q && e < tt ? (q(!1), z(!0)) : (q(!0), z(!0));
72
+ }, le = (t, e) => {
73
+ const a = {
74
+ target: p == null ? void 0 : p.current,
75
+ syntheticEvent: e.syntheticEvent,
76
+ nativeEvent: e.nativeEvent,
77
+ targetEvent: e,
78
+ ...t
79
+ };
80
+ g.onPageChange && g.onPageChange(a);
81
+ }, ge = u(we, r), ue = u(Ke, r), ce = u(xe, r), de = u(Be, r), A = u(Oe, r), _ = u(Te, r), F = u(qe, r), $ = u(Ae, r), E = u(_e, r), fe = `${i.toLanguageString(
82
+ F.messageKey,
83
+ F.defaultMessage
84
+ )} ${k.format(i.toLanguageString(E.messageKey, E.defaultMessage), [
85
+ o
86
+ ])} ${i.toLanguageString($.messageKey, $.defaultMessage)} ${k.format(
87
+ i.toLanguageString(E.messageKey, E.defaultMessage),
88
+ [c]
89
+ )}`, I = (t, e, a, L, w, K) => /* @__PURE__ */ n.createElement(
90
+ Le,
91
+ {
92
+ fillMode: "flat",
93
+ themeColor: "base",
94
+ size: d,
95
+ rounded: null,
96
+ className: e,
97
+ icon: L,
98
+ svgIcon: w,
99
+ title: a,
100
+ role: "button",
101
+ "aria-disabled": K,
102
+ tabIndex: m ? -1 : void 0,
103
+ onClick: (R) => {
104
+ R.preventDefault(), f(t, R);
222
105
  }
223
- );
224
- }
225
- get totalPages() {
226
- return Math.ceil((this.props.total || 0) / this.props.take);
106
+ }
107
+ ), V = B && /* @__PURE__ */ n.createElement(
108
+ De,
109
+ {
110
+ pageChange: le,
111
+ pageSize: v,
112
+ pageSizes: B,
113
+ value: ae,
114
+ messagesMap: r,
115
+ size: d,
116
+ navigatable: m
117
+ }
118
+ ), G = Z && /* @__PURE__ */ n.createElement("span", { className: "k-pager-info" }, k.format(i.toLanguageString(A.messageKey, A.defaultMessage), [
119
+ Math.min(N + 1, C),
120
+ Math.min(N + v, C),
121
+ C
122
+ ])), me = ee === "numeric" ? /* @__PURE__ */ n.createElement(
123
+ ke,
124
+ {
125
+ type: M && !T ? "dropdown" : "numbers",
126
+ buttonCount: x || 0,
127
+ totalPages: c,
128
+ currentPage: o,
129
+ pageChange: f,
130
+ messagesMap: r,
131
+ size: d,
132
+ navigatable: m
133
+ }
134
+ ) : /* @__PURE__ */ n.createElement(
135
+ ze,
136
+ {
137
+ buttonCount: x || 0,
138
+ totalPages: c,
139
+ currentPage: o,
140
+ pageChange: f,
141
+ messagesMap: r,
142
+ size: d,
143
+ navigatable: m
144
+ }
145
+ );
146
+ let H, W, j, U;
147
+ if (ne) {
148
+ const t = S(i, ge), {
149
+ rtlClass: e,
150
+ rtlIcon: a,
151
+ isDisabledClass: L,
152
+ isDisabled: w
153
+ } = Xe(y, o, b);
154
+ H = I(1, L, t, e, a, w);
155
+ const K = S(i, ue), {
156
+ rtlClass: R,
157
+ rtlIcon: pe,
158
+ isDisabledClass: be,
159
+ isDisabled: Pe
160
+ } = Ye(y, o, b);
161
+ W = I(o - 1, be, K, R, pe, Pe);
162
+ const Ce = S(i, ce), {
163
+ rtlClass: ve,
164
+ rtlIcon: Me,
165
+ isDisabledClass: he,
166
+ isDisabled: ye
167
+ } = Ze(y, o, c, b);
168
+ j = I(o + 1, he, Ce, ve, Me, ye);
169
+ const Ee = S(i, de), {
170
+ rtlClass: Ie,
171
+ rtlIcon: Re,
172
+ isDisabledClass: Se,
173
+ isDisabled: Ne
174
+ } = et(y, o, c, b);
175
+ U = I(c, Se, Ee, Ie, Re, Ne);
227
176
  }
228
- };
229
- M.propTypes = {
230
- className: a.string,
231
- style: a.object,
232
- total: a.number.isRequired,
233
- skip: a.number.isRequired,
234
- take: a.number.isRequired,
235
- buttonCount: a.number,
236
- info: a.bool,
237
- type: a.oneOf(["numeric", "input"]),
238
- pageSizes: a.arrayOf(a.oneOfType([a.string, a.number])),
239
- previousNext: a.bool,
240
- onPageChange: a.func,
241
- messagesMap: a.func,
242
- size: a.oneOf([null, "small", "medium", "large"]),
243
- dir: a.string,
244
- disabled: a.bool
245
- }, M.defaultProps = {
177
+ return /* @__PURE__ */ n.createElement(
178
+ "div",
179
+ {
180
+ ref: h,
181
+ className: J(
182
+ "k-pager",
183
+ {
184
+ [`k-pager-${Ge.sizeMap[d] || d}`]: d,
185
+ "k-disabled": b
186
+ },
187
+ te
188
+ ),
189
+ style: se,
190
+ role: "application",
191
+ "aria-roledescription": "pager",
192
+ dir: O,
193
+ "aria-keyshortcuts": i.toLanguageString(
194
+ _.messageKey,
195
+ _.defaultMessage
196
+ ),
197
+ "aria-label": fe,
198
+ tabIndex: m ? 0 : void 0,
199
+ onKeyDown: ie
200
+ },
201
+ /* @__PURE__ */ n.createElement("div", { className: J("k-pager-numbers-wrap") }, H, W, me, j, U),
202
+ M ? T && V : V,
203
+ M ? oe && G : G
204
+ );
205
+ }), P = {
246
206
  buttonCount: 10,
247
207
  info: !0,
248
208
  type: "numeric",
249
209
  size: "medium",
250
210
  disabled: !1
251
211
  };
252
- let P = M;
253
- he(P);
254
- pe(P);
212
+ X.displayName = "Pager";
213
+ X.propTypes = {
214
+ className: s.string,
215
+ style: s.object,
216
+ total: s.number.isRequired,
217
+ skip: s.number.isRequired,
218
+ take: s.number.isRequired,
219
+ buttonCount: s.number,
220
+ info: s.bool,
221
+ type: s.oneOf(["numeric", "input"]),
222
+ pageSizes: s.oneOfType([
223
+ s.arrayOf(s.number.isRequired),
224
+ s.arrayOf(s.oneOfType([s.number.isRequired, s.string.isRequired]).isRequired)
225
+ ]),
226
+ previousNext: s.bool,
227
+ onPageChange: s.func,
228
+ messagesMap: s.func,
229
+ size: s.oneOf([null, "small", "medium", "large"]),
230
+ dir: s.string,
231
+ disabled: s.bool
232
+ };
255
233
  export {
256
- P as Pager
234
+ X as Pager
257
235
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),n=require("@progress/kendo-react-intl"),e=require("../messages/index.js"),c=require("@progress/kendo-react-inputs");function m(t){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const r=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(a,s,r.get?r:{enumerable:!0,get:()=>t[s]})}}return a.default=t,Object.freeze(a)}const g=m(u);class l extends g.Component{constructor(){super(...arguments),this.state={page:this.props.currentPage},this.handleOnChange=a=>{this.setState({page:a.target.value}),a.target.value&&this.props.pageChange(a.target.value,a)}}render(){const a=n.provideIntlService(this),s=n.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(e.pagerPage):{messageKey:e.pagerPage,defaultMessage:e.messages[e.pagerPage]},p=this.props.messagesMap?this.props.messagesMap(e.pagerOf):{messageKey:e.pagerOf,defaultMessage:e.messages[e.pagerOf]},o=this.props.messagesMap?this.props.messagesMap(e.pagerTotalPages):{messageKey:e.pagerTotalPages,defaultMessage:e.messages[e.pagerTotalPages]},i=this.props.messagesMap?this.props.messagesMap(e.pagerTotalPages):{messageKey:e.pagerPageNumberLabel,defaultMessage:e.messages[e.pagerPageNumberLabel]};return g.createElement("span",{className:"k-pager-input"},g.createElement("span",null,s.toLanguageString(r.messageKey,r.defaultMessage)),g.createElement(c.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1,ariaLabel:s.toLanguageString(i.messageKey,i.defaultMessage),tabIndex:this.props.navigatable?-1:void 0}),g.createElement("span",null,`${s.toLanguageString(p.messageKey,p.defaultMessage)} ${a.format(s.toLanguageString(o.messageKey,o.defaultMessage),[this.props.totalPages])}`))}}n.registerForLocalization(l);exports.PagerInput=l;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),u=require("@progress/kendo-react-intl"),c=require("../messages/index.js"),d=require("@progress/kendo-react-inputs"),a=require("./utils.js");function P(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const g=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,g.get?g:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const s=P(f),p=e=>{const[n,t]=s.useState(e.currentPage),g=l=>{t(l.target.value),l.target.value&&e.pageChange(l.target.value,l)},o=u.useInternationalization(),r=u.useLocalization(),i=a.getL10NMessage(c.pagerPage,e.messagesMap),m=a.getL10NMessage(c.pagerOf,e.messagesMap),M=a.getL10NMessage(c.pagerTotalPages,e.messagesMap),b=a.getL10NMessage(c.pagerPageNumberLabel,e.messagesMap);return s.createElement("span",{className:"k-pager-input"},s.createElement("span",null,a.translateMessage(r,i)),s.createElement(d.NumericTextBox,{value:e.currentPage!==void 0?e.currentPage:n,onChange:g,min:1,spinners:!1,ariaLabel:a.translateMessage(r,b),tabIndex:e.navigatable?-1:void 0}),s.createElement("span",null,`${a.translateMessage(r,m)} ${o.format(a.translateMessage(r,M),[e.totalPages])}`))};exports.PagerInput=p;
@@ -6,34 +6,30 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as s from "react";
10
- import { provideIntlService as u, provideLocalizationService as c, registerForLocalization as h } from "@progress/kendo-react-intl";
11
- import { pagerPage as r, messages as t, pagerOf as p, pagerTotalPages as g, pagerPageNumberLabel as m } from "../messages/index.mjs";
12
- import { NumericTextBox as M } from "@progress/kendo-react-inputs";
13
- class d extends s.Component {
14
- constructor() {
15
- super(...arguments), this.state = { page: this.props.currentPage }, this.handleOnChange = (e) => {
16
- this.setState({ page: e.target.value }), e.target.value && this.props.pageChange(e.target.value, e);
17
- };
18
- }
19
- render() {
20
- const e = u(this), a = c(this), n = this.props.messagesMap ? this.props.messagesMap(r) : { messageKey: r, defaultMessage: t[r] }, o = this.props.messagesMap ? this.props.messagesMap(p) : { messageKey: p, defaultMessage: t[p] }, i = this.props.messagesMap ? this.props.messagesMap(g) : { messageKey: g, defaultMessage: t[g] }, l = this.props.messagesMap ? this.props.messagesMap(g) : { messageKey: m, defaultMessage: t[m] };
21
- return /* @__PURE__ */ s.createElement("span", { className: "k-pager-input" }, /* @__PURE__ */ s.createElement("span", null, a.toLanguageString(n.messageKey, n.defaultMessage)), /* @__PURE__ */ s.createElement(
22
- M,
23
- {
24
- value: this.props.currentPage !== void 0 ? this.props.currentPage : this.state.page,
25
- onChange: this.handleOnChange,
26
- min: 1,
27
- spinners: !1,
28
- ariaLabel: a.toLanguageString(l.messageKey, l.defaultMessage),
29
- tabIndex: this.props.navigatable ? -1 : void 0
30
- }
31
- ), /* @__PURE__ */ s.createElement("span", null, `${a.toLanguageString(o.messageKey, o.defaultMessage)} ${e.format(a.toLanguageString(i.messageKey, i.defaultMessage), [
32
- this.props.totalPages
33
- ])}`));
34
- }
35
- }
36
- h(d);
9
+ import * as a from "react";
10
+ import { useInternationalization as M, useLocalization as P } from "@progress/kendo-react-intl";
11
+ import { pagerPage as b, pagerOf as p, pagerTotalPages as v, pagerPageNumberLabel as L } from "../messages/index.mjs";
12
+ import { NumericTextBox as N } from "@progress/kendo-react-inputs";
13
+ import { getL10NMessage as s, translateMessage as g } from "./utils.mjs";
14
+ const z = (e) => {
15
+ const [r, l] = a.useState(e.currentPage), o = (n) => {
16
+ l(n.target.value), n.target.value && e.pageChange(n.target.value, n);
17
+ }, m = M(), t = P(), i = s(b, e.messagesMap), c = s(p, e.messagesMap), u = s(v, e.messagesMap), f = s(L, e.messagesMap);
18
+ return /* @__PURE__ */ a.createElement("span", { className: "k-pager-input" }, /* @__PURE__ */ a.createElement("span", null, g(t, i)), /* @__PURE__ */ a.createElement(
19
+ N,
20
+ {
21
+ value: e.currentPage !== void 0 ? e.currentPage : r,
22
+ onChange: o,
23
+ min: 1,
24
+ spinners: !1,
25
+ ariaLabel: g(t, f),
26
+ tabIndex: e.navigatable ? -1 : void 0
27
+ }
28
+ ), /* @__PURE__ */ a.createElement("span", null, `${g(t, c)} ${m.format(
29
+ g(t, u),
30
+ [e.totalPages]
31
+ )}`));
32
+ };
37
33
  export {
38
- d as PagerInput
34
+ z as PagerInput
39
35
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("react"),c=require("@progress/kendo-react-common"),b=require("@progress/kendo-react-buttons"),n=require("../messages/index.js"),L=require("@progress/kendo-react-intl");function B(o){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const t in o)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(o,t);Object.defineProperty(e,t,a.get?a:{enumerable:!0,get:()=>o[t]})}}return e.default=o,Object.freeze(e)}const r=B(O),f="...";class N extends r.Component{constructor(){super(...arguments),this.handlePageChange=(e,t)=>{e.preventDefault(),this.props.pageChange(t,e)},this.handleSelectPageChange=e=>{e.preventDefault(),this.props.pageChange(e.target.value,e)}}render(){const e=L.provideLocalizationService(this),{messagesMap:t,size:a,totalPages:u,currentPage:i,type:g,navigatable:M}=this.props,p=t?t(n.pagerMobileSelect):{messageKey:n.pagerMobileSelect,defaultMessage:n.messages[n.pagerMobileSelect]},d=t?t(n.pagerPage):{messageKey:n.pagerPage,defaultMessage:n.messages[n.pagerPage]},m=t?t(n.pagerMoreButtonLabel):{messageKey:n.pagerMoreButtonLabel,defaultMessage:n.messages[n.pagerMoreButtonLabel]},h=e.toLanguageString(m.messageKey,m.defaultMessage),k=this.start>1&&this.renderDots(this.start-1,h),y=this.end<u&&this.renderDots(this.end+1,h),v=this.start>1&&this.renderOptionDots(this.start-1),P=this.end<u&&this.renderOptionDots(this.end+1),l=[];for(let s=this.start;s<=this.end;s++)l.push(s);const C=l.map(s=>r.createElement(b.Button,{className:c.classNames({"k-selected":i===s}),key:s,fillMode:"flat",themeColor:"primary",size:a,rounded:null,role:"button","aria-label":e.toLanguageString(d.messageKey,d.defaultMessage)+" "+s,"aria-current":i===s?!0:void 0,onClick:D=>this.handlePageChange(D,s),tabIndex:M?-1:void 0},s)),S=l.map(s=>r.createElement("option",{key:s},s));return r.createElement(r.Fragment,null,r.createElement("select",{style:{width:"5em",margin:"0px 1em",display:"inline-flex"},className:c.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md k-picker-solid",{[`k-picker-${c.kendoThemeMaps.sizeMap[a]||a}`]:a,"k-hidden":g!=="dropdown"}),"aria-label":e.toLanguageString(p.messageKey,p.defaultMessage),value:i,onChange:s=>this.handleSelectPageChange(s)},v,S,P),r.createElement("div",{className:"k-pager-numbers",style:{display:g==="numbers"?"":"none"}},k,C,y))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const e=this.props.currentPage,t=this.props.buttonCount;if(e>t){const a=e%t;return a===0?e-t+1:e-a+1}return 1}renderDots(e,t){return r.createElement(b.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t,onClick:a=>this.handlePageChange(a,e),tabIndex:this.props.navigatable?-1:void 0},f)}renderOptionDots(e){return r.createElement("option",{value:e},f)}}exports.PagerNumericButtons=N;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("react"),m=require("@progress/kendo-react-common"),C=require("@progress/kendo-react-buttons"),b=require("../messages/index.js"),R=require("@progress/kendo-react-intl"),c=require("./utils.js");function I(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(s,n,a.get?a:{enumerable:!0,get:()=>t[n]})}}return s.default=t,Object.freeze(s)}const o=I(z),P="...",T=t=>{const s=R.useLocalization(),{messagesMap:n,size:a,totalPages:p,type:k,navigatable:M}=t,N=c.getL10NMessage(b.pagerMobileSelect,n),D=c.getL10NMessage(b.pagerPage,n),O=c.getL10NMessage(b.pagerMoreButtonLabel,n),f=c.translateMessage(s,O),h=(e,u)=>{e.preventDefault(),t.pageChange(u,e)},L=e=>{e.preventDefault(),t.pageChange(e.target.value,e)},v=(e,u)=>o.createElement(C.Button,{fillMode:"flat",themeColor:"primary",size:a,rounded:null,role:"button","aria-label":u,onClick:w=>h(w,e),tabIndex:M?-1:void 0},P),y=e=>o.createElement("option",{value:e},P);let r=1;const l=t.currentPage,d=t.buttonCount;if(l>d){const e=l%d;r=e===0?l-d+1:l-e+1}const i=Math.min(r+t.buttonCount-1,t.totalPages),B=r>1&&v(r-1,f),E=i<p&&v(i+1,f),S=r>1&&y(r-1),q=i<p&&y(i+1),g=[];for(let e=r;e<=i;e++)g.push(e);const x=g.map(e=>o.createElement(C.Button,{className:m.classNames({"k-selected":l===e}),key:e,fillMode:"flat",themeColor:"primary",size:a,rounded:null,role:"button","aria-label":c.translateMessage(s,D)+" "+e,"aria-current":l===e?!0:void 0,onClick:u=>h(u,e),tabIndex:M?-1:void 0},e)),j=g.map(e=>o.createElement("option",{key:e},e));return o.createElement(o.Fragment,null,o.createElement("select",{style:{width:"5em",margin:"0px 1em",display:"inline-flex"},className:m.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md k-picker-solid",{[`k-picker-${m.kendoThemeMaps.sizeMap[a]||a}`]:a,"k-hidden":k!=="dropdown"}),"aria-label":c.translateMessage(s,N),value:l,onChange:e=>L(e)},S,j,q),o.createElement("div",{className:"k-pager-numbers",style:{display:k==="numbers"?"":"none"}},B,x,E))};exports.PagerNumericButtons=T;