react-better-html 1.1.174 → 1.1.176
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/index.d.mts +11 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +34 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +34 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -5804,6 +5804,9 @@ var DropdownComponent = forwardRef10(function Dropdown({
|
|
|
5804
5804
|
] }),
|
|
5805
5805
|
[filteredOptions, value, focusedOptionIndex, theme2.colors, onClickOption, renderOption, renderOptionDivider]
|
|
5806
5806
|
);
|
|
5807
|
+
useEffect6(() => {
|
|
5808
|
+
setInternalValue(controlledValue);
|
|
5809
|
+
}, [controlledValue]);
|
|
5807
5810
|
useEffect6(() => {
|
|
5808
5811
|
if (isOpen) {
|
|
5809
5812
|
setIsOpenLate.setTrue();
|
|
@@ -5839,7 +5842,7 @@ var DropdownComponent = forwardRef10(function Dropdown({
|
|
|
5839
5842
|
}, [withDebounce, onChangeSearch, debouncedSearchQuery]);
|
|
5840
5843
|
const displayValue = withSearch && isFocused ? searchQuery : selectedOption?.label ?? "";
|
|
5841
5844
|
const withClearButton = isOpen && selectedOption;
|
|
5842
|
-
const readyPlaceholder = placeholder
|
|
5845
|
+
const readyPlaceholder = placeholder ?? `Select an ${label?.toLowerCase() ?? "option"}`;
|
|
5843
5846
|
return /* @__PURE__ */ jsx15(Div_default.column, { width: "100%", position: "relative", userSelect: "none", ...props, children: /* @__PURE__ */ jsxs11(Div_default.row, { position: "relative", width: "100%", children: [
|
|
5844
5847
|
/* @__PURE__ */ jsx15(
|
|
5845
5848
|
InputField_default,
|
|
@@ -6124,6 +6127,7 @@ function Calendar({ value, minDate, maxDate, onChange }) {
|
|
|
6124
6127
|
days.map((day, index) => {
|
|
6125
6128
|
const thisDayDate = new Date(currentYear, currentMonth, day);
|
|
6126
6129
|
const isSelected = day !== void 0 && day === currentDate?.getDate() && currentMonth === currentDate.getMonth() && currentYear === currentDate.getFullYear();
|
|
6130
|
+
const isToday = thisDayDate.getDate() === (/* @__PURE__ */ new Date()).getDate() && thisDayDate.getMonth() === (/* @__PURE__ */ new Date()).getMonth() && thisDayDate.getFullYear() === (/* @__PURE__ */ new Date()).getFullYear();
|
|
6127
6131
|
const isWeekend = thisDayDate.getDay() === 6 || thisDayDate.getDay() === 0;
|
|
6128
6132
|
const isDisabled = minDate && thisDayDate.getTime() < minDate.getTime() || maxDate && thisDayDate.getTime() > maxDate.getTime();
|
|
6129
6133
|
return /* @__PURE__ */ jsxs12(
|
|
@@ -6135,7 +6139,8 @@ function Calendar({ value, minDate, maxDate, onChange }) {
|
|
|
6135
6139
|
alignItems: "center",
|
|
6136
6140
|
justifyContent: "center",
|
|
6137
6141
|
backgroundColor: isSelected ? theme2.colors.primary : theme2.colors.backgroundContent,
|
|
6138
|
-
filterHover: !isDisabled ? "brightness(0.9)" : void 0,
|
|
6142
|
+
filterHover: day && !isDisabled ? "brightness(0.9)" : void 0,
|
|
6143
|
+
border: `1px solid ${isToday ? theme2.colors.primary : theme2.colors.primary + "00"}`,
|
|
6139
6144
|
borderRadius: theme2.styles.borderRadius / 2,
|
|
6140
6145
|
padding: theme2.styles.space / 2,
|
|
6141
6146
|
cursor: day ? !isDisabled ? "pointer" : "not-allowed" : void 0,
|
|
@@ -7806,6 +7811,7 @@ var filterPresetsText = {
|
|
|
7806
7811
|
nextYear: "Next year"
|
|
7807
7812
|
};
|
|
7808
7813
|
var TableComponent = forwardRef15(function Table({
|
|
7814
|
+
name,
|
|
7809
7815
|
columns,
|
|
7810
7816
|
data,
|
|
7811
7817
|
isStriped,
|
|
@@ -7817,6 +7823,8 @@ var TableComponent = forwardRef15(function Table({
|
|
|
7817
7823
|
isInsideTableExpandRow,
|
|
7818
7824
|
containsOverflowComponents,
|
|
7819
7825
|
wrapperComponentRef,
|
|
7826
|
+
memoizeFilters,
|
|
7827
|
+
memoizeFiltersLifespan = 72e5,
|
|
7820
7828
|
getRowStyle,
|
|
7821
7829
|
onClickRow,
|
|
7822
7830
|
onClickAllCheckboxes,
|
|
@@ -7834,7 +7842,15 @@ var TableComponent = forwardRef15(function Table({
|
|
|
7834
7842
|
const [checkedItems, setCheckedItems] = useState9([]);
|
|
7835
7843
|
const [expandedRows, setExpandedRows] = useState9([]);
|
|
7836
7844
|
const [currentPage, setCurrentPage] = useState9(1);
|
|
7837
|
-
const [filterData, setFilterData] = useState9({
|
|
7845
|
+
const [filterData, setFilterData] = useState9(() => {
|
|
7846
|
+
if (!memoizeFilters || !name) return {};
|
|
7847
|
+
const localStorageData = JSON.parse(localStorage.getItem(`react-better-html-table-filters-${name}`) || "{}");
|
|
7848
|
+
const timestamp = localStorageData.timestamp;
|
|
7849
|
+
const data2 = localStorageData.data ?? {};
|
|
7850
|
+
const timeDiff = Date.now() - timestamp;
|
|
7851
|
+
if (timeDiff > memoizeFiltersLifespan) return {};
|
|
7852
|
+
return data2;
|
|
7853
|
+
});
|
|
7838
7854
|
const [openedFilterColumnIndex, setOpenedFilterColumnIndex] = useState9();
|
|
7839
7855
|
const [filterListSelectedItems, setFilterListSelectedItems] = useState9();
|
|
7840
7856
|
const openedFilterData = openedFilterColumnIndex ? filterData[openedFilterColumnIndex] : void 0;
|
|
@@ -8089,6 +8105,10 @@ var TableComponent = forwardRef15(function Table({
|
|
|
8089
8105
|
} else if (column.filter === "date" && filter.type === "date" || column.filter === "date-time" && filter.type === "date-time") {
|
|
8090
8106
|
const minDate = filter.min ? new Date(filter.min) : void 0;
|
|
8091
8107
|
const maxDate = filter.max ? new Date(filter.max) : void 0;
|
|
8108
|
+
if (column.filter === "date") {
|
|
8109
|
+
minDate?.setHours(0, 0, 0, 0);
|
|
8110
|
+
maxDate?.setHours(23, 59, 59, 999);
|
|
8111
|
+
}
|
|
8092
8112
|
const itemValue = column.getValue?.(item) ?? new Date(column.type === "text" && column.keyName ? String(item[column.keyName]) : "");
|
|
8093
8113
|
if (filter.min !== void 0 && minDate && itemValue < minDate) return false;
|
|
8094
8114
|
if (filter.max !== void 0 && maxDate && itemValue > maxDate) return false;
|
|
@@ -8172,6 +8192,17 @@ var TableComponent = forwardRef15(function Table({
|
|
|
8172
8192
|
useEffect10(() => {
|
|
8173
8193
|
onChangeFilter?.(filterData);
|
|
8174
8194
|
}, [onChangeFilter, filterData]);
|
|
8195
|
+
useEffect10(() => {
|
|
8196
|
+
if (!memoizeFilters) return;
|
|
8197
|
+
if (!name) return;
|
|
8198
|
+
localStorage.setItem(
|
|
8199
|
+
`react-better-html-table-filters-${name}`,
|
|
8200
|
+
JSON.stringify({
|
|
8201
|
+
timestamp: Date.now(),
|
|
8202
|
+
data: filterData
|
|
8203
|
+
})
|
|
8204
|
+
);
|
|
8205
|
+
}, [memoizeFilters, name, filterData]);
|
|
8175
8206
|
useEffect10(() => {
|
|
8176
8207
|
onChangeFilterDataValue?.(dataAfterFilter);
|
|
8177
8208
|
}, [onChangeFilterDataValue, dataAfterFilter]);
|