schummar-table 0.14.4 → 0.16.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/dist/cjs/index.js +17 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/index.js +18 -11
- package/dist/es/index.js.map +1 -1
- package/dist/types/components/filterControl.d.ts +5 -2
- package/dist/types/components/textFilter.d.ts +2 -1
- package/dist/types/hooks/useFilter.d.ts +2 -1
- package/dist/types/types.d.ts +1 -0
- package/package.json +1 -1
package/dist/es/index.js
CHANGED
|
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4
4
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
5
|
return value;
|
|
6
6
|
};
|
|
7
|
-
import { createContext, useMemo, useContext, useState, useEffect,
|
|
7
|
+
import { createContext, useMemo, useContext, useState, useEffect, useRef, memo, useLayoutEffect, cloneElement, Fragment as Fragment$1 } from "react";
|
|
8
8
|
import { Store, StoreScope } from "schummar-state/react";
|
|
9
9
|
import { jsx, jsxs, Fragment } from "@emotion/react/jsx-runtime";
|
|
10
10
|
import { castDraft } from "immer";
|
|
@@ -786,7 +786,10 @@ function ColumnFooter() {
|
|
|
786
786
|
children: content
|
|
787
787
|
});
|
|
788
788
|
}
|
|
789
|
-
const FilterControlContext = createContext(
|
|
789
|
+
const FilterControlContext = createContext({
|
|
790
|
+
isActive: false,
|
|
791
|
+
close: () => void 0
|
|
792
|
+
});
|
|
790
793
|
function FilterControl() {
|
|
791
794
|
const table = useTableContext();
|
|
792
795
|
const columnId = useColumnContext();
|
|
@@ -815,13 +818,14 @@ function FilterControl() {
|
|
|
815
818
|
}
|
|
816
819
|
});
|
|
817
820
|
}
|
|
818
|
-
const
|
|
819
|
-
|
|
820
|
-
|
|
821
|
+
const context = useMemo(() => ({
|
|
822
|
+
isActive: !!anchor,
|
|
823
|
+
close: () => setAnchor(null)
|
|
824
|
+
}), [!!anchor]);
|
|
821
825
|
if (!filter)
|
|
822
826
|
return null;
|
|
823
827
|
return /* @__PURE__ */ jsxs(FilterControlContext.Provider, {
|
|
824
|
-
value:
|
|
828
|
+
value: context,
|
|
825
829
|
children: [/* @__PURE__ */ jsx("div", {
|
|
826
830
|
onClick: (e2) => setAnchor(e2.currentTarget),
|
|
827
831
|
onContextMenu: (e2) => {
|
|
@@ -832,7 +836,7 @@ function FilterControl() {
|
|
|
832
836
|
children: /* @__PURE__ */ jsx(IconButton2, {
|
|
833
837
|
css: ["color:#b0bac9;", isActive && {
|
|
834
838
|
color: "var(--primaryMain) !important"
|
|
835
|
-
}, process.env.NODE_ENV === "production" ? "" : ";label:FilterControl;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
839
|
+
}, process.env.NODE_ENV === "production" ? "" : ";label:FilterControl;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3NjaHVtbWFyLXRhYmxlL3NjaHVtbWFyLXRhYmxlL3NyYy9jb21wb25lbnRzL2ZpbHRlckNvbnRyb2wudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTREVSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9zY2h1bW1hci10YWJsZS9zY2h1bW1hci10YWJsZS9zcmMvY29tcG9uZW50cy9maWx0ZXJDb250cm9sLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tICcuLi9ob29rcy91c2VUaGVtZSc7XG5pbXBvcnQgeyB1c2VDc3NWYXJpYWJsZXMgfSBmcm9tICcuLi90aGVtZS91c2VDc3NWYXJpYWJsZXMnO1xuaW1wb3J0IHsgdXNlQ29sdW1uQ29udGV4dCwgdXNlVGFibGVDb250ZXh0IH0gZnJvbSAnLi90YWJsZSc7XG5cbmV4cG9ydCBjb25zdCBGaWx0ZXJDb250cm9sQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe1xuICBpc0FjdGl2ZTogZmFsc2UsXG4gIGNsb3NlOiAoKTogdm9pZCA9PiB2b2lkIDAsXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIEZpbHRlckNvbnRyb2w8VD4oKTogSlNYLkVsZW1lbnQgfCBudWxsIHtcbiAgY29uc3QgdGFibGUgPSB1c2VUYWJsZUNvbnRleHQ8VD4oKTtcbiAgY29uc3QgY29sdW1uSWQgPSB1c2VDb2x1bW5Db250ZXh0KCk7XG4gIGNvbnN0IEljb25CdXR0b24gPSB1c2VUaGVtZSgodCkgPT4gdC5jb21wb25lbnRzLkljb25CdXR0b24pO1xuICBjb25zdCBQb3BvdmVyID0gdXNlVGhlbWUoKHQpID0+IHQuY29tcG9uZW50cy5Qb3BvdmVyKTtcbiAgY29uc3QgRmlsdGVyTGlzdCA9IHVzZVRoZW1lKCh0KSA9PiB0Lmljb25zLkZpbHRlckxpc3QpO1xuICBjb25zdCBBcnJvd0Ryb3BEb3duID0gdXNlVGhlbWUoKHQpID0+IHQuaWNvbnMuQXJyb3dEcm9wRG93bik7XG4gIGNvbnN0IGNzc1ZhcmlhYmxlcyA9IHVzZUNzc1ZhcmlhYmxlcygpO1xuXG4gIGNvbnN0IFthbmNob3IsIHNldEFuY2hvcl0gPSB1c2VTdGF0ZTxFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGlzQWN0aXZlID0gdGFibGUudXNlU3RhdGUoKHN0YXRlKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyID0gc3RhdGUuZmlsdGVycy5nZXQoY29sdW1uSWQpO1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gc3RhdGUuZmlsdGVyVmFsdWVzLmdldChjb2x1bW5JZCk7XG4gICAgcmV0dXJuIGZpbHRlciAhPT0gdW5kZWZpbmVkICYmIGZpbHRlclZhbHVlICE9PSB1bmRlZmluZWQgJiYgZmlsdGVyLmlzQWN0aXZlKGZpbHRlclZhbHVlKTtcbiAgfSk7XG4gIGNvbnN0IGZpbHRlciA9IHRhYmxlLnVzZVN0YXRlKChzdGF0ZSkgPT4gc3RhdGUuYWN0aXZlQ29sdW1ucy5maW5kKChjb2x1bW4pID0+IGNvbHVtbi5pZCA9PT0gY29sdW1uSWQpPy5maWx0ZXIpO1xuXG4gIGZ1bmN0aW9uIHJlc2V0KCkge1xuICAgIHRhYmxlLnVwZGF0ZSgoc3RhdGUpID0+IHtcbiAgICAgIGNvbnN0IGltcGwgPSBzdGF0ZS5maWx0ZXJzLmdldChjb2x1bW5JZCk7XG5cbiAgICAgIGltcGw/Lm9uQ2hhbmdlPy4odW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGltcGw/LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc3RhdGUuZmlsdGVyVmFsdWVzLmRlbGV0ZShjb2x1bW5JZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBjb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgaXNBY3RpdmU6ICEhYW5jaG9yLFxuICAgICAgY2xvc2U6ICgpID0+IHNldEFuY2hvcihudWxsKSxcbiAgICB9KSxcbiAgICBbISFhbmNob3JdLFxuICApO1xuXG4gIGlmICghZmlsdGVyKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4gKFxuICAgIDxGaWx0ZXJDb250cm9sQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29udGV4dH0+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBzZXRBbmNob3IoZS5jdXJyZW50VGFyZ2V0KX1cbiAgICAgICAgb25Db250ZXh0TWVudT17KGUpID0+IHtcbiAgICAgICAgICByZXNldCgpO1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICB7IGNvbG9yOiAnI2IwYmFjOScgfSxcbiAgICAgICAgICAgIGlzQWN0aXZlICYmIHtcbiAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1wcmltYXJ5TWFpbikgIWltcG9ydGFudCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF19XG4gICAgICAgID5cbiAgICAgICAgICB7aXNBY3RpdmUgPyA8RmlsdGVyTGlzdCAvPiA6IDxBcnJvd0Ryb3BEb3duIC8+fVxuICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZSkgPT4ge1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH19XG4gICAgICAgIG9uUG9pbnRlck1vdmU9eyhlKSA9PiB7XG4gICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFBvcG92ZXIgb3BlbiBoaWRkZW49eyFhbmNob3J9IG9uQ2xvc2U9eygpID0+IHNldEFuY2hvcihudWxsKX0gYW5jaG9yRWw9e2FuY2hvciA/PyBkb2N1bWVudC5ib2R5fSBjc3M9e2Nzc1ZhcmlhYmxlc30+XG4gICAgICAgICAge2ZpbHRlcn1cbiAgICAgICAgPC9Qb3BvdmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9GaWx0ZXJDb250cm9sQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn1cbiJdfQ== */"],
|
|
836
840
|
children: isActive ? /* @__PURE__ */ jsx(FilterList2, {}) : /* @__PURE__ */ jsx(ArrowDropDown2, {})
|
|
837
841
|
})
|
|
838
842
|
}), /* @__PURE__ */ jsx("div", {
|
|
@@ -3137,11 +3141,12 @@ function useFilter(impl) {
|
|
|
3137
3141
|
delayedUpdate(value2);
|
|
3138
3142
|
}
|
|
3139
3143
|
useEffect(() => delayedUpdate.flush(), [delayedUpdate]);
|
|
3144
|
+
const context = useContext(FilterControlContext);
|
|
3140
3145
|
return {
|
|
3141
3146
|
value: dirtyValue != null ? dirtyValue : value,
|
|
3142
3147
|
onChange,
|
|
3143
|
-
|
|
3144
|
-
|
|
3148
|
+
filterBy: filterBy != null ? filterBy : (x) => x,
|
|
3149
|
+
...context
|
|
3145
3150
|
};
|
|
3146
3151
|
}
|
|
3147
3152
|
const textMatch = (text, query) => {
|
|
@@ -3166,6 +3171,7 @@ const termMatch = (text, query) => {
|
|
|
3166
3171
|
function TextFilter({
|
|
3167
3172
|
compare = textMatch,
|
|
3168
3173
|
filterBy = asStringOrArray,
|
|
3174
|
+
placeholder,
|
|
3169
3175
|
...props
|
|
3170
3176
|
}) {
|
|
3171
3177
|
const IconButton2 = useTheme((t) => t.components.IconButton);
|
|
@@ -3189,14 +3195,15 @@ function TextFilter({
|
|
|
3189
3195
|
css: /* @__PURE__ */ css({
|
|
3190
3196
|
padding: `calc(var(--spacing) * 2)`,
|
|
3191
3197
|
display: "grid"
|
|
3192
|
-
}, process.env.NODE_ENV === "production" ? "" : ";label:TextFilter;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
3198
|
+
}, process.env.NODE_ENV === "production" ? "" : ";label:TextFilter;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3NjaHVtbWFyLXRhYmxlL3NjaHVtbWFyLXRhYmxlL3NyYy9jb21wb25lbnRzL3RleHRGaWx0ZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDTSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9zY2h1bW1hci10YWJsZS9zY2h1bW1hci10YWJsZS9zcmMvY29tcG9uZW50cy90ZXh0RmlsdGVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUZpbHRlciB9IGZyb20gJy4uL2hvb2tzL3VzZUZpbHRlcic7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJy4uL2hvb2tzL3VzZVRoZW1lJztcbmltcG9ydCB7IGFzU3RyaW5nT3JBcnJheSB9IGZyb20gJy4uL21pc2MvaGVscGVycyc7XG5pbXBvcnQgeyB0ZXh0TWF0Y2ggfSBmcm9tICcuLi9taXNjL3RleHRNYXRjaCc7XG5pbXBvcnQgeyBDb21tb25GaWx0ZXJQcm9wcyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEF1dG9Gb2N1c1RleHRGaWVsZCB9IGZyb20gJy4vYXV0b0ZvY3VzVGV4dEZpZWxkJztcblxuZXhwb3J0IGZ1bmN0aW9uIFRleHRGaWx0ZXI8VCwgVj4oe1xuICBjb21wYXJlID0gdGV4dE1hdGNoLFxuICBmaWx0ZXJCeSA9IGFzU3RyaW5nT3JBcnJheSxcbiAgcGxhY2Vob2xkZXIsXG4gIC4uLnByb3BzXG59OiB7XG4gIC8qKiBDdXN0b20gY29tcGFyaXNvbiBmdW5jdGlvbi4gU2hvdWxkIHJldHVybiB0cnVlIGlmIGFuIGl0ZW0gdmFsdWUgbWF0Y2hlcyB0aGUgY3VycmVudCBmaWx0ZXIgdmFsdWUuXG4gICAqIEJ5IGRlZmF1bHQgYSBmdXp6eSB0ZXh0IGNvbXBhcmlzb24gaXMgdXNlZC5cbiAgICovXG4gIGNvbXBhcmU/OiAoaXRlbVZhbHVlOiBzdHJpbmcsIGZpbHRlclZhbHVlOiBzdHJpbmcpID0+IGJvb2xlYW47XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufSAmIENvbW1vbkZpbHRlclByb3BzPFQsIFYsIHN0cmluZywgc3RyaW5nPik6IEpTWC5FbGVtZW50IHtcbiAgY29uc3QgSWNvbkJ1dHRvbiA9IHVzZVRoZW1lKCh0KSA9PiB0LmNvbXBvbmVudHMuSWNvbkJ1dHRvbik7XG4gIGNvbnN0IFNlYXJjaCA9IHVzZVRoZW1lKCh0KSA9PiB0Lmljb25zLlNlYXJjaCk7XG4gIGNvbnN0IENsZWFyID0gdXNlVGhlbWUoKHQpID0+IHQuaWNvbnMuQ2xlYXIpO1xuXG4gIGNvbnN0IHsgdmFsdWUgPSAnJywgb25DaGFuZ2UgfSA9IHVzZUZpbHRlcih7XG4gICAgLi4ucHJvcHMsXG4gICAgZmlsdGVyQnksXG5cbiAgICBpZDogJ3RleHRGaWx0ZXInLFxuXG4gICAgaXNBY3RpdmUoZmlsdGVyVmFsdWUpIHtcbiAgICAgIHJldHVybiAhIWZpbHRlclZhbHVlO1xuICAgIH0sXG5cbiAgICB0ZXN0KGZpbHRlclZhbHVlLCB2YWx1ZSkge1xuICAgICAgcmV0dXJuIGNvbXBhcmUodmFsdWUsIGZpbHRlclZhbHVlKTtcbiAgICB9LFxuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17e1xuICAgICAgICBwYWRkaW5nOiBgY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpYCxcbiAgICAgICAgZGlzcGxheTogJ2dyaWQnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8QXV0b0ZvY3VzVGV4dEZpZWxkXG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBvbkNoYW5nZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgIGVuZEljb249ezxJY29uQnV0dG9uIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlKCcnKX0+eyF2YWx1ZSA/IDxTZWFyY2ggLz4gOiA8Q2xlYXIgLz59PC9JY29uQnV0dG9uPn1cbiAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdfQ== */"),
|
|
3193
3199
|
children: /* @__PURE__ */ jsx(AutoFocusTextField, {
|
|
3194
3200
|
value,
|
|
3195
3201
|
onChange: (e2) => onChange(e2.target.value),
|
|
3196
3202
|
endIcon: /* @__PURE__ */ jsx(IconButton2, {
|
|
3197
3203
|
onClick: () => onChange(""),
|
|
3198
3204
|
children: !value ? /* @__PURE__ */ jsx(Search2, {}) : /* @__PURE__ */ jsx(Clear2, {})
|
|
3199
|
-
})
|
|
3205
|
+
}),
|
|
3206
|
+
placeholder
|
|
3200
3207
|
})
|
|
3201
3208
|
});
|
|
3202
3209
|
}
|