@progress/kendo-react-dropdowns 8.2.0-develop.8 → 8.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ComboBox/ComboBox.js +1 -1
- package/ComboBox/ComboBox.mjs +216 -218
- package/MultiColumnComboBox/MultiColumnComboBox.js +1 -1
- package/MultiColumnComboBox/MultiColumnComboBox.mjs +79 -85
- package/common/utils.js +1 -1
- package/common/utils.mjs +25 -21
- package/dist/cdn/js/kendo-react-dropdowns.js +1 -1
- package/index.d.mts +1 -0
- package/index.d.ts +1 -0
- package/package-metadata.mjs +1 -1
- package/package.json +9 -9
|
@@ -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 ue=require("react"),ie=require("prop-types"),de=require("
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ue=require("react"),ie=require("prop-types"),de=require("../common/MultiColumnList.js"),l=require("@progress/kendo-react-common"),j=require("../ComboBox/ComboBox.js"),ce=require("../common/utils.js"),K=require("../common/withCustomComponent.js");function pe(a){const d=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const e in a)if(e!=="default"){const c=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(d,e,c.get?c:{enumerable:!0,get:()=>a[e]})}}return d.default=a,Object.freeze(d)}const t=pe(ue),me=(a,d)=>a?typeof a=="number"?a+"px":a:d,G=l.createPropsContext(),y=t.forwardRef((a,d)=>{const e=l.usePropsContext(G,a),c=t.useRef(null),n=t.useRef(null),w=l.getScrollbarWidth(),{columns:s=i.columns,popupSettings:f=i.popupSettings,size:W=i.size,rounded:z=i.rounded,fillMode:L=i.fillMode,className:_,prefix:D=void 0,suffix:$=void 0,onOpen:M,onClose:S,onFocus:N,onBlur:E,onChange:F,onFilterChange:H,onPageChange:R,...V}=e;t.useImperativeHandle(c,()=>({element:n.current&&n.current.element,focus(){n.current&&n.current.focus()},get value(){return n.current&&n.current.value},get name(){return n.current&&n.current.name},props:e})),t.useImperativeHandle(d,()=>c.current);const g=t.useMemo(()=>{if(e.groupField!==void 0&&e.data)return ce.getItemValue(e.data[0],e.groupField)},[e.data,e.groupField]),[k,b]=t.useState(g),[q,B]=t.useState(!0),[A]=D?K(e.prefix||t.Fragment):[],[J]=$?K(e.suffix||t.Fragment):[],Q=t.useMemo(()=>{const o=t.createElement("th",{className:"k-table-th",colSpan:s.length},k);return t.createElement(t.Fragment,null,e.header,t.createElement("div",{className:"k-table-header-wrap"},t.createElement("table",{className:"k-table",role:"presentation"},t.createElement("colgroup",null,s.map((r,p)=>t.createElement("col",{key:r.uniqueKey?r.uniqueKey:p,style:{width:r.width?r.width:i.width}}))),t.createElement("thead",{className:"k-table-thead"},t.createElement("tr",{className:"k-table-row"},s.map((r,p)=>t.createElement("th",{className:"k-table-th",key:r.uniqueKey?r.uniqueKey:p},r.header||" "))),k&&q&&t.createElement("tr",{className:"k-table-group-row"},e.groupStickyHeaderItemRender?e.groupStickyHeaderItemRender.call(void 0,o,{}):o)))))},[e.header,s,k,q]),U=t.useMemo(()=>`calc(${s.map(o=>me(o.width,i.width)).filter(Boolean).join(" + ")} + ${w}px + 4px)`,[s,w]),I=e.virtual?e.virtual.skip:0,X=t.useCallback((o,r)=>{const p=s.map((m,se)=>t.createElement("span",{className:e.itemRender?void 0:"k-table-td",style:e.itemRender?void 0:{width:m.width?m.width:i.width},key:m.uniqueKey?m.uniqueKey:se},m.field?String(l.getter(m.field)(r.dataItem)):""));let C,h,v,x,O=e.data||[];const P=r.index-I;e.groupField!==void 0&&(x=l.getter(e.groupField),h=x(O[P]),v=x(O[P-1]),h&&v&&h!==v&&(C=h)),C&&e.groupMode==="classic"&&p.push(t.createElement("div",{key:"group",className:"k-table-td k-table-group-td"},t.createElement("span",null,C)));const T=t.cloneElement(o,{...o.props,className:l.classNames("k-table-row",{"k-table-alt-row":r.index%2!==0,"k-focus":r.focused,"k-selected":r.selected,"k-first":!!C,"k-disabled":r.dataItem.disabled})},p);return e.itemRender?e.itemRender.call(void 0,T,r):T},[s,e.groupField,e.itemRender,e.data,I]),u=t.useCallback((o,r)=>{o&&o.call(void 0,{...r,target:c.current})},[]),Y=t.useCallback(o=>(e.virtual||b(g),u(M,o)),[u,M,e.virtual,g]),Z=t.useCallback(o=>u(S,o),[S]),ee=t.useCallback(o=>u(N,o),[N]),te=t.useCallback(o=>u(E,o),[E]),oe=t.useCallback(o=>u(F,o),[F]),re=t.useCallback(o=>u(R,o),[R]),ae=t.useCallback(o=>(b(g),u(H,{...o,mobileMode:o.target.mobileMode})),[H]),ne=t.useCallback(o=>{b(o.group)},[]);t.useEffect(()=>{l.setScrollbarWidth()}),t.useEffect(()=>{const o=e.data;b(g),o&&o.length!==0?B(!0):B(!1)},[e.data]);const le=t.useCallback(o=>t.createElement(de.MultiColumnList,{...o}),[]);return t.createElement(j.ComboBox,{...V,list:le,popupSettings:{...f,popupClass:l.classNames("k-dropdowngrid-popup",f.popupClass),width:f.width||U,className:f.className},ref:n,header:Q,itemRender:X,groupHeaderItemRender:e.groupHeaderItemRender,size:W,rounded:z,fillMode:L,groupMode:e.groupMode,groupField:e.groupField,isMultiColumn:!0,onOpen:Y,onClose:Z,onFocus:ee,onBlur:te,onChange:oe,onFilterChange:ae,onPageChange:re,onGroupScroll:ne,className:l.classNames("k-dropdowngrid",_),required:e.required,adaptive:e.adaptive,adaptiveFilter:e.adaptiveFilter,adaptiveTitle:e.adaptiveTitle,footer:e.footer,footerClassName:"k-table-footer",prefix:A,suffix:J})}),ge={...j.ComboBoxWithoutContext.propTypes,columns:ie.any.isRequired},i={columns:[],popupSettings:{},width:"200px",size:"medium",rounded:"medium",fillMode:"solid"};y.displayName="KendoMultiColumnComboBox";y.propTypes=ge;exports.MultiColumnComboBox=y;exports.MultiColumnComboBoxPropsContext=G;
|
|
@@ -8,29 +8,28 @@
|
|
|
8
8
|
"use client";
|
|
9
9
|
import * as e from "react";
|
|
10
10
|
import se from "prop-types";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
const t = ce(ke, u), C = e.useRef(null), a = e.useRef(null), x = pe(), {
|
|
11
|
+
import { MultiColumnList as ue } from "../common/MultiColumnList.mjs";
|
|
12
|
+
import { createPropsContext as ie, usePropsContext as de, getScrollbarWidth as ce, getter as T, classNames as x, setScrollbarWidth as pe } from "@progress/kendo-react-common";
|
|
13
|
+
import { ComboBox as me, ComboBoxWithoutContext as fe } from "../ComboBox/ComboBox.mjs";
|
|
14
|
+
import { getItemValue as ge } from "../common/utils.mjs";
|
|
15
|
+
import W from "../common/withCustomComponent.mjs";
|
|
16
|
+
const he = (u, h) => u ? typeof u == "number" ? u + "px" : u : h, Ce = ie(), P = e.forwardRef((u, h) => {
|
|
17
|
+
const t = de(Ce, u), C = e.useRef(null), a = e.useRef(null), y = ce(), {
|
|
19
18
|
columns: n = s.columns,
|
|
20
19
|
popupSettings: p = s.popupSettings,
|
|
21
20
|
size: z = s.size,
|
|
22
21
|
rounded: O = s.rounded,
|
|
23
|
-
fillMode:
|
|
24
|
-
className:
|
|
22
|
+
fillMode: L = s.fillMode,
|
|
23
|
+
className: $,
|
|
25
24
|
prefix: j = void 0,
|
|
26
25
|
suffix: V = void 0,
|
|
27
|
-
onOpen:
|
|
28
|
-
onClose:
|
|
29
|
-
onFocus:
|
|
30
|
-
onBlur:
|
|
31
|
-
onChange:
|
|
32
|
-
onFilterChange:
|
|
33
|
-
onPageChange:
|
|
26
|
+
onOpen: w,
|
|
27
|
+
onClose: E,
|
|
28
|
+
onFocus: F,
|
|
29
|
+
onBlur: H,
|
|
30
|
+
onChange: N,
|
|
31
|
+
onFilterChange: S,
|
|
32
|
+
onPageChange: M,
|
|
34
33
|
...A
|
|
35
34
|
} = t;
|
|
36
35
|
e.useImperativeHandle(C, () => ({
|
|
@@ -49,10 +48,10 @@ const Ce = (u, h) => u ? typeof u == "number" ? u + "px" : u : h, ke = de(), W =
|
|
|
49
48
|
const c = e.useMemo(
|
|
50
49
|
() => {
|
|
51
50
|
if (t.groupField !== void 0 && t.data)
|
|
52
|
-
return
|
|
51
|
+
return ge(t.data[0], t.groupField);
|
|
53
52
|
},
|
|
54
53
|
[t.data, t.groupField]
|
|
55
|
-
), [k, m] = e.useState(c), [
|
|
54
|
+
), [k, m] = e.useState(c), [R, B] = e.useState(!0), [D] = j ? W(t.prefix || e.Fragment) : [], [J] = V ? W(t.suffix || e.Fragment) : [], Q = e.useMemo(
|
|
56
55
|
() => {
|
|
57
56
|
const r = /* @__PURE__ */ e.createElement("th", { className: "k-table-th", colSpan: n.length }, k);
|
|
58
57
|
return /* @__PURE__ */ e.createElement(e.Fragment, null, t.header, /* @__PURE__ */ e.createElement("div", { className: "k-table-header-wrap" }, /* @__PURE__ */ e.createElement("table", { className: "k-table", role: "presentation" }, /* @__PURE__ */ e.createElement("colgroup", null, n.map(
|
|
@@ -63,16 +62,16 @@ const Ce = (u, h) => u ? typeof u == "number" ? u + "px" : u : h, ke = de(), W =
|
|
|
63
62
|
style: { width: o.width ? o.width : s.width }
|
|
64
63
|
}
|
|
65
64
|
)
|
|
66
|
-
)), /* @__PURE__ */ e.createElement("thead", { className: "k-table-thead" }, /* @__PURE__ */ e.createElement("tr", { className: "k-table-row" }, n.map((o, i) => /* @__PURE__ */ e.createElement("th", { className: "k-table-th", key: o.uniqueKey ? o.uniqueKey : i }, o.header || " "))), k &&
|
|
65
|
+
)), /* @__PURE__ */ e.createElement("thead", { className: "k-table-thead" }, /* @__PURE__ */ e.createElement("tr", { className: "k-table-row" }, n.map((o, i) => /* @__PURE__ */ e.createElement("th", { className: "k-table-th", key: o.uniqueKey ? o.uniqueKey : i }, o.header || " "))), k && R && /* @__PURE__ */ e.createElement("tr", { className: "k-table-group-row" }, t.groupStickyHeaderItemRender ? t.groupStickyHeaderItemRender.call(void 0, r, {}) : r)))));
|
|
67
66
|
},
|
|
68
|
-
[t.header, n, k,
|
|
67
|
+
[t.header, n, k, R]
|
|
69
68
|
), U = e.useMemo(
|
|
70
69
|
() => (
|
|
71
70
|
// These additional 4px are coming from the child elements side borders (fixes horizontal scrollbar)
|
|
72
|
-
`calc(${n.map((r) =>
|
|
71
|
+
`calc(${n.map((r) => he(r.width, s.width)).filter(Boolean).join(" + ")} + ${y}px + 4px)`
|
|
73
72
|
),
|
|
74
|
-
[n,
|
|
75
|
-
),
|
|
73
|
+
[n, y]
|
|
74
|
+
), q = t.virtual ? t.virtual.skip : 0, X = e.useCallback(
|
|
76
75
|
(r, o) => {
|
|
77
76
|
const i = n.map((d, le) => /* @__PURE__ */ e.createElement(
|
|
78
77
|
"span",
|
|
@@ -81,14 +80,14 @@ const Ce = (u, h) => u ? typeof u == "number" ? u + "px" : u : h, ke = de(), W =
|
|
|
81
80
|
style: t.itemRender ? void 0 : { width: d.width ? d.width : s.width },
|
|
82
81
|
key: d.uniqueKey ? d.uniqueKey : le
|
|
83
82
|
},
|
|
84
|
-
d.field ? String(
|
|
83
|
+
d.field ? String(T(d.field)(o.dataItem)) : ""
|
|
85
84
|
));
|
|
86
|
-
let f, g, b, v,
|
|
87
|
-
const
|
|
88
|
-
t.groupField !== void 0 && (v =
|
|
89
|
-
const
|
|
85
|
+
let f, g, b, v, I = t.data || [];
|
|
86
|
+
const K = o.index - q;
|
|
87
|
+
t.groupField !== void 0 && (v = T(t.groupField), g = v(I[K]), b = v(I[K - 1]), g && b && g !== b && (f = g)), f && t.groupMode === "classic" && i.push(/* @__PURE__ */ e.createElement("div", { key: "group", className: "k-table-td k-table-group-td" }, /* @__PURE__ */ e.createElement("span", null, f)));
|
|
88
|
+
const G = e.cloneElement(r, {
|
|
90
89
|
...r.props,
|
|
91
|
-
className:
|
|
90
|
+
className: x("k-table-row", {
|
|
92
91
|
"k-table-alt-row": o.index % 2 !== 0,
|
|
93
92
|
"k-focus": o.focused,
|
|
94
93
|
"k-selected": o.selected,
|
|
@@ -96,9 +95,9 @@ const Ce = (u, h) => u ? typeof u == "number" ? u + "px" : u : h, ke = de(), W =
|
|
|
96
95
|
"k-disabled": o.dataItem.disabled
|
|
97
96
|
})
|
|
98
97
|
}, i);
|
|
99
|
-
return t.itemRender ? t.itemRender.call(void 0,
|
|
98
|
+
return t.itemRender ? t.itemRender.call(void 0, G, o) : G;
|
|
100
99
|
},
|
|
101
|
-
[n, t.groupField, t.itemRender, t.data,
|
|
100
|
+
[n, t.groupField, t.itemRender, t.data, q]
|
|
102
101
|
), l = e.useCallback(
|
|
103
102
|
(r, o) => {
|
|
104
103
|
r && r.call(void 0, {
|
|
@@ -107,69 +106,64 @@ const Ce = (u, h) => u ? typeof u == "number" ? u + "px" : u : h, ke = de(), W =
|
|
|
107
106
|
});
|
|
108
107
|
},
|
|
109
108
|
[]
|
|
110
|
-
), Y = e.useCallback((r) => (t.virtual || m(c), l(
|
|
109
|
+
), Y = e.useCallback((r) => (t.virtual || m(c), l(w, r)), [l, w, t.virtual, c]), Z = e.useCallback((r) => l(E, r), [E]), _ = e.useCallback((r) => l(F, r), [F]), ee = e.useCallback((r) => l(H, r), [H]), te = e.useCallback((r) => l(N, r), [N]), re = e.useCallback((r) => l(M, r), [M]), oe = e.useCallback((r) => (m(c), l(S, {
|
|
111
110
|
...r,
|
|
112
111
|
mobileMode: r.target.mobileMode
|
|
113
|
-
})), [
|
|
112
|
+
})), [S]), ae = e.useCallback(
|
|
114
113
|
(r) => {
|
|
115
114
|
m(r.group);
|
|
116
115
|
},
|
|
117
116
|
[]
|
|
118
117
|
);
|
|
119
118
|
e.useEffect(() => {
|
|
120
|
-
|
|
119
|
+
pe();
|
|
121
120
|
}), e.useEffect(() => {
|
|
122
121
|
const r = t.data;
|
|
123
|
-
m(c), r && r.length !== 0 ?
|
|
122
|
+
m(c), r && r.length !== 0 ? B(!0) : B(!1);
|
|
124
123
|
}, [t.data]);
|
|
125
|
-
const ne = e.useCallback((r) => /* @__PURE__ */ e.createElement(
|
|
124
|
+
const ne = e.useCallback((r) => /* @__PURE__ */ e.createElement(ue, { ...r }), []);
|
|
126
125
|
return /* @__PURE__ */ e.createElement(
|
|
127
|
-
|
|
126
|
+
me,
|
|
128
127
|
{
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
footerClassName: "k-table-footer",
|
|
166
|
-
prefix: D,
|
|
167
|
-
suffix: J
|
|
168
|
-
}
|
|
169
|
-
)
|
|
128
|
+
...A,
|
|
129
|
+
list: ne,
|
|
130
|
+
popupSettings: {
|
|
131
|
+
...p,
|
|
132
|
+
popupClass: x("k-dropdowngrid-popup", p.popupClass),
|
|
133
|
+
width: p.width || U,
|
|
134
|
+
className: p.className
|
|
135
|
+
},
|
|
136
|
+
ref: a,
|
|
137
|
+
header: Q,
|
|
138
|
+
itemRender: X,
|
|
139
|
+
groupHeaderItemRender: t.groupHeaderItemRender,
|
|
140
|
+
size: z,
|
|
141
|
+
rounded: O,
|
|
142
|
+
fillMode: L,
|
|
143
|
+
groupMode: t.groupMode,
|
|
144
|
+
groupField: t.groupField,
|
|
145
|
+
isMultiColumn: !0,
|
|
146
|
+
onOpen: Y,
|
|
147
|
+
onClose: Z,
|
|
148
|
+
onFocus: _,
|
|
149
|
+
onBlur: ee,
|
|
150
|
+
onChange: te,
|
|
151
|
+
onFilterChange: oe,
|
|
152
|
+
onPageChange: re,
|
|
153
|
+
onGroupScroll: ae,
|
|
154
|
+
className: x("k-dropdowngrid", $),
|
|
155
|
+
required: t.required,
|
|
156
|
+
adaptive: t.adaptive,
|
|
157
|
+
adaptiveFilter: t.adaptiveFilter,
|
|
158
|
+
adaptiveTitle: t.adaptiveTitle,
|
|
159
|
+
footer: t.footer,
|
|
160
|
+
footerClassName: "k-table-footer",
|
|
161
|
+
prefix: D,
|
|
162
|
+
suffix: J
|
|
163
|
+
}
|
|
170
164
|
);
|
|
171
|
-
}),
|
|
172
|
-
...
|
|
165
|
+
}), ke = {
|
|
166
|
+
...fe.propTypes,
|
|
173
167
|
columns: se.any.isRequired
|
|
174
168
|
}, s = {
|
|
175
169
|
columns: [],
|
|
@@ -179,9 +173,9 @@ const Ce = (u, h) => u ? typeof u == "number" ? u + "px" : u : h, ke = de(), W =
|
|
|
179
173
|
rounded: "medium",
|
|
180
174
|
fillMode: "solid"
|
|
181
175
|
};
|
|
182
|
-
|
|
183
|
-
|
|
176
|
+
P.displayName = "KendoMultiColumnComboBox";
|
|
177
|
+
P.propTypes = ke;
|
|
184
178
|
export {
|
|
185
|
-
|
|
186
|
-
|
|
179
|
+
P as MultiColumnComboBox,
|
|
180
|
+
Ce as MultiColumnComboBoxPropsContext
|
|
187
181
|
};
|
package/common/utils.js
CHANGED
|
@@ -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 f=e=>e!=null,
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=e=>e!=null,d=(e,t)=>{for(let r=0;r<e.length;r++)if(e.charAt(r)!==t)return!1;return!0},I=(e,t,r)=>{let n=e;return r&&(n=[r].concat(n)),n.slice(t).concat(n.slice(0,t))},m=(e,t,r)=>{if(!f(e))return!1;let n=String(e);return r&&(n=n.toLowerCase()),n.indexOf(t)===0},D=(e,t,r,n,s)=>{const o=e.offsetHeight,h=t.children.item(r),i=h.offsetTop+(s?n-e.scrollTop:0),u=h.offsetHeight;if(s){let l=0;i+u>o?l=i+u-o:i<0&&(l=i),l!==0?e.scrollTop+=l:e.scrollTop===0&&n!==0&&(e.scrollTop=n)}else i+u>o+e.scrollTop?e.scrollTop=i+u-o:i<e.scrollTop&&(e.scrollTop-=e.scrollTop-i)},a=(e,t,r)=>{let n=-1;if(t){t=t.toLowerCase();for(let s=0;s<e.length;s++){const o=(c(e[s],r)||"")+"";if(o&&o.toLowerCase().startsWith(t)){n=s;break}}}return n},p=(e,t,r,n=!1)=>{const s=o=>n?o:o.toLowerCase();return e.findIndex(o=>r?s(c(o,r))===s(t):s(t)===s(o.toString()))},c=(e,t)=>{if(t&&f(e)){const r=t.split(".");let n=e;return r.forEach(s=>{n=n?n[s]:void 0}),n}return e},x=(e,t,r)=>{if(!e)return;const n=e.findIndex(s=>c(s,t)===r);return e[n]},T=(e=[],t=[],r)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!g(e[n],t[n],r))return!1;return!0},C=(e,t,r)=>{t.forEach(n=>{const s=e.findIndex(o=>g(o,n,r));s!==-1&&e.splice(s,1)})},g=(e,t,r)=>e===t||f(e)===f(t)&&c(e,r)===c(t,r),y=(e,t,r)=>{if(t){const n=p(e,t,r,!0);return n!==-1?e[n]:e[a(e,t,r)]}return e[0]},S=(e,t=[],r)=>{let n="";if(e){const s=t[a(t,e,r)];if(s){const o=c(s,r);e.toLowerCase()!==o.toLowerCase()&&(n=o.substring(e.length))}}return n},w=e=>{e.target.nodeName!=="INPUT"&&e.preventDefault()},L=(e,t,r)=>!!e!=!!t||e.text!==t.text?!1:e===t||T(e.data,t.data,r),P=e=>{const t=e.filter((r,n)=>e.some((s,o)=>s===r&&o!==n));return Array.from(new Set(t))},V=e=>{const{data:t=[],groupField:r}=e;return r?t.filter(n=>r&&n[r]!==void 0):t};exports.areSame=g;exports.findByFieldValue=x;exports.getFilteredData=V;exports.getFocusedItem=y;exports.getItemIndexByText=p;exports.getItemValue=c;exports.getPlainDataDuplicates=P;exports.isPresent=f;exports.itemIndexStartsWith=a;exports.matchDataCollections=T;exports.matchTags=L;exports.matchText=m;exports.preventDefaultNonInputs=w;exports.removeDataItems=C;exports.sameCharsOnly=d;exports.scrollToItem=D;exports.shuffleData=I;exports.suggestValue=S;
|
package/common/utils.mjs
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
const l = (e) => e != null,
|
|
9
|
+
const l = (e) => e != null, d = (e, t) => {
|
|
10
10
|
for (let r = 0; r < e.length; r++)
|
|
11
11
|
if (e.charAt(r) !== t)
|
|
12
12
|
return !1;
|
|
13
13
|
return !0;
|
|
14
|
-
},
|
|
14
|
+
}, I = (e, t, r) => {
|
|
15
15
|
let n = e;
|
|
16
16
|
return r && (n = [r].concat(n)), n.slice(t).concat(n.slice(0, t));
|
|
17
17
|
}, x = (e, t, r) => {
|
|
@@ -20,18 +20,18 @@ const l = (e) => e != null, a = (e, t) => {
|
|
|
20
20
|
let n = String(e);
|
|
21
21
|
return r && (n = n.toLowerCase()), n.indexOf(t) === 0;
|
|
22
22
|
}, C = (e, t, r, n, s) => {
|
|
23
|
-
const o = e.offsetHeight, g = t.children.item(r),
|
|
23
|
+
const o = e.offsetHeight, g = t.children.item(r), i = g.offsetTop + (s ? n - e.scrollTop : 0), c = g.offsetHeight;
|
|
24
24
|
if (s) {
|
|
25
25
|
let u = 0;
|
|
26
|
-
|
|
26
|
+
i + c > o ? u = i + c - o : i < 0 && (u = i), u !== 0 ? e.scrollTop += u : e.scrollTop === 0 && n !== 0 && (e.scrollTop = n);
|
|
27
27
|
} else
|
|
28
|
-
|
|
28
|
+
i + c > o + e.scrollTop ? e.scrollTop = i + c - o : i < e.scrollTop && (e.scrollTop -= e.scrollTop - i);
|
|
29
29
|
}, h = (e, t, r) => {
|
|
30
30
|
let n = -1;
|
|
31
31
|
if (t) {
|
|
32
32
|
t = t.toLowerCase();
|
|
33
33
|
for (let s = 0; s < e.length; s++) {
|
|
34
|
-
const o = (
|
|
34
|
+
const o = (f(e[s], r) || "") + "";
|
|
35
35
|
if (o && o.toLowerCase().startsWith(t)) {
|
|
36
36
|
n = s;
|
|
37
37
|
break;
|
|
@@ -41,8 +41,8 @@ const l = (e) => e != null, a = (e, t) => {
|
|
|
41
41
|
return n;
|
|
42
42
|
}, T = (e, t, r, n = !1) => {
|
|
43
43
|
const s = (o) => n ? o : o.toLowerCase();
|
|
44
|
-
return e.findIndex((o) => r ? s(
|
|
45
|
-
},
|
|
44
|
+
return e.findIndex((o) => r ? s(f(o, r)) === s(t) : s(t) === s(o.toString()));
|
|
45
|
+
}, f = (e, t) => {
|
|
46
46
|
if (t && l(e)) {
|
|
47
47
|
const r = t.split(".");
|
|
48
48
|
let n = e;
|
|
@@ -51,12 +51,12 @@ const l = (e) => e != null, a = (e, t) => {
|
|
|
51
51
|
}), n;
|
|
52
52
|
}
|
|
53
53
|
return e;
|
|
54
|
-
},
|
|
54
|
+
}, D = (e, t, r) => {
|
|
55
55
|
if (!e)
|
|
56
56
|
return;
|
|
57
|
-
const n = e.findIndex((s) =>
|
|
57
|
+
const n = e.findIndex((s) => f(s, t) === r);
|
|
58
58
|
return e[n];
|
|
59
|
-
},
|
|
59
|
+
}, a = (e = [], t = [], r) => {
|
|
60
60
|
if (e === t)
|
|
61
61
|
return !0;
|
|
62
62
|
if (e.length !== t.length)
|
|
@@ -65,12 +65,12 @@ const l = (e) => e != null, a = (e, t) => {
|
|
|
65
65
|
if (!p(e[n], t[n], r))
|
|
66
66
|
return !1;
|
|
67
67
|
return !0;
|
|
68
|
-
},
|
|
68
|
+
}, w = (e, t, r) => {
|
|
69
69
|
t.forEach((n) => {
|
|
70
70
|
const s = e.findIndex((o) => p(o, n, r));
|
|
71
71
|
s !== -1 && e.splice(s, 1);
|
|
72
72
|
});
|
|
73
|
-
}, p = (e, t, r) => e === t || l(e) === l(t) &&
|
|
73
|
+
}, p = (e, t, r) => e === t || l(e) === l(t) && f(e, r) === f(t, r), L = (e, t, r) => {
|
|
74
74
|
if (t) {
|
|
75
75
|
const n = T(e, t, r, !0);
|
|
76
76
|
return n !== -1 ? e[n] : e[h(e, t, r)];
|
|
@@ -81,33 +81,37 @@ const l = (e) => e != null, a = (e, t) => {
|
|
|
81
81
|
if (e) {
|
|
82
82
|
const s = t[h(t, e, r)];
|
|
83
83
|
if (s) {
|
|
84
|
-
const o =
|
|
84
|
+
const o = f(s, r);
|
|
85
85
|
e.toLowerCase() !== o.toLowerCase() && (n = o.substring(e.length));
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
return n;
|
|
89
89
|
}, S = (e) => {
|
|
90
90
|
e.target.nodeName !== "INPUT" && e.preventDefault();
|
|
91
|
-
}, y = (e, t, r) => !!e != !!t || e.text !== t.text ? !1 : e === t ||
|
|
91
|
+
}, y = (e, t, r) => !!e != !!t || e.text !== t.text ? !1 : e === t || a(e.data, t.data, r), N = (e) => {
|
|
92
92
|
const t = e.filter((r, n) => e.some((s, o) => s === r && o !== n));
|
|
93
93
|
return Array.from(new Set(t));
|
|
94
|
+
}, O = (e) => {
|
|
95
|
+
const { data: t = [], groupField: r } = e;
|
|
96
|
+
return r ? t.filter((n) => r && n[r] !== void 0) : t;
|
|
94
97
|
};
|
|
95
98
|
export {
|
|
96
99
|
p as areSame,
|
|
97
|
-
|
|
100
|
+
D as findByFieldValue,
|
|
101
|
+
O as getFilteredData,
|
|
98
102
|
L as getFocusedItem,
|
|
99
103
|
T as getItemIndexByText,
|
|
100
|
-
|
|
104
|
+
f as getItemValue,
|
|
101
105
|
N as getPlainDataDuplicates,
|
|
102
106
|
l as isPresent,
|
|
103
107
|
h as itemIndexStartsWith,
|
|
104
|
-
|
|
108
|
+
a as matchDataCollections,
|
|
105
109
|
y as matchTags,
|
|
106
110
|
x as matchText,
|
|
107
111
|
S as preventDefaultNonInputs,
|
|
108
|
-
|
|
109
|
-
|
|
112
|
+
w as removeDataItems,
|
|
113
|
+
d as sameCharsOnly,
|
|
110
114
|
C as scrollToItem,
|
|
111
|
-
|
|
115
|
+
I as shuffleData,
|
|
112
116
|
H as suggestValue
|
|
113
117
|
};
|