funda-ui 4.7.582 → 4.7.599

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.
@@ -3605,7 +3605,8 @@ var EventCalendar = function EventCalendar(props) {
3605
3605
  'selected': d === day && isInteractive,
3606
3606
  'last-cell': isLastCell,
3607
3607
  'last-row': isLastRow,
3608
- 'disabled': !isInteractive
3608
+ 'disabled': !isInteractive,
3609
+ 'has-events': _eventContent() !== null
3609
3610
  }),
3610
3611
  key: "col" + i,
3611
3612
  "data-date": (0,funda_utils_dist_cjs_date__WEBPACK_IMPORTED_MODULE_1__.getCalendarDate)(_dateShow),
@@ -5317,7 +5317,8 @@ var EventCalendarTimeline = function EventCalendarTimeline(props) {
5317
5317
  'today': d === now.getDate(),
5318
5318
  'selected': isCellSelected(rowIndex, dayIndex) && isInteractive,
5319
5319
  'last-cell': isLastCol,
5320
- 'disabled': !isInteractive
5320
+ 'disabled': !isInteractive,
5321
+ 'has-events': _eventContent() !== null
5321
5322
  }),
5322
5323
  key: "col" + i,
5323
5324
  "data-index": colIndex - 1,
package/Table/index.js CHANGED
@@ -1964,6 +1964,40 @@ var ToggleSelection = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
1964
1964
  resolvedRef.current.indeterminate = indeterminate;
1965
1965
  }
1966
1966
  }, [resolvedRef, indeterminate]);
1967
+
1968
+ // Handle checked prop - use setSelectedItems to manage selection state
1969
+ (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
1970
+ if (checked !== undefined && row !== -1) {
1971
+ var rowKey = String(row);
1972
+ var nextSelectedItems;
1973
+ setSelectedItems(function (prev) {
1974
+ var newSelectedItems = new Set(prev);
1975
+ if (checked) {
1976
+ newSelectedItems.add(rowKey);
1977
+ } else {
1978
+ newSelectedItems["delete"](rowKey);
1979
+ }
1980
+ nextSelectedItems = newSelectedItems;
1981
+
1982
+ //
1983
+ var selectedIndex = nextSelectedItems ? Array.from(nextSelectedItems).map(function (v) {
1984
+ return Number(v);
1985
+ }) : [];
1986
+ var filteredData = Array.isArray(originData) ? originData.filter(function (v, i) {
1987
+ return selectedIndex.includes(i);
1988
+ }) : [];
1989
+ var syntheticEvent = {
1990
+ target: {
1991
+ value: rowKey,
1992
+ checked: checked
1993
+ }
1994
+ };
1995
+ onChange === null || onChange === void 0 ? void 0 : onChange(syntheticEvent, checked, filteredData);
1996
+ onChangeRowSelect === null || onChangeRowSelect === void 0 ? void 0 : onChangeRowSelect(filteredData);
1997
+ return newSelectedItems;
1998
+ });
1999
+ }
2000
+ }, [checked, row, setSelectedItems]);
1967
2001
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, rowSelectable && row === -1 ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("input", ToggleSelection_extends({
1968
2002
  type: useRadio ? 'radio' : 'checkbox',
1969
2003
  ref: resolvedRef,
@@ -3605,7 +3605,8 @@ var EventCalendar = function EventCalendar(props) {
3605
3605
  'selected': d === day && isInteractive,
3606
3606
  'last-cell': isLastCell,
3607
3607
  'last-row': isLastRow,
3608
- 'disabled': !isInteractive
3608
+ 'disabled': !isInteractive,
3609
+ 'has-events': _eventContent() !== null
3609
3610
  }),
3610
3611
  key: "col" + i,
3611
3612
  "data-date": (0,funda_utils_dist_cjs_date__WEBPACK_IMPORTED_MODULE_1__.getCalendarDate)(_dateShow),
@@ -5317,7 +5317,8 @@ var EventCalendarTimeline = function EventCalendarTimeline(props) {
5317
5317
  'today': d === now.getDate(),
5318
5318
  'selected': isCellSelected(rowIndex, dayIndex) && isInteractive,
5319
5319
  'last-cell': isLastCol,
5320
- 'disabled': !isInteractive
5320
+ 'disabled': !isInteractive,
5321
+ 'has-events': _eventContent() !== null
5321
5322
  }),
5322
5323
  key: "col" + i,
5323
5324
  "data-index": colIndex - 1,
@@ -1964,6 +1964,40 @@ var ToggleSelection = /*#__PURE__*/(0,external_root_React_commonjs2_react_common
1964
1964
  resolvedRef.current.indeterminate = indeterminate;
1965
1965
  }
1966
1966
  }, [resolvedRef, indeterminate]);
1967
+
1968
+ // Handle checked prop - use setSelectedItems to manage selection state
1969
+ (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
1970
+ if (checked !== undefined && row !== -1) {
1971
+ var rowKey = String(row);
1972
+ var nextSelectedItems;
1973
+ setSelectedItems(function (prev) {
1974
+ var newSelectedItems = new Set(prev);
1975
+ if (checked) {
1976
+ newSelectedItems.add(rowKey);
1977
+ } else {
1978
+ newSelectedItems["delete"](rowKey);
1979
+ }
1980
+ nextSelectedItems = newSelectedItems;
1981
+
1982
+ //
1983
+ var selectedIndex = nextSelectedItems ? Array.from(nextSelectedItems).map(function (v) {
1984
+ return Number(v);
1985
+ }) : [];
1986
+ var filteredData = Array.isArray(originData) ? originData.filter(function (v, i) {
1987
+ return selectedIndex.includes(i);
1988
+ }) : [];
1989
+ var syntheticEvent = {
1990
+ target: {
1991
+ value: rowKey,
1992
+ checked: checked
1993
+ }
1994
+ };
1995
+ onChange === null || onChange === void 0 ? void 0 : onChange(syntheticEvent, checked, filteredData);
1996
+ onChangeRowSelect === null || onChangeRowSelect === void 0 ? void 0 : onChangeRowSelect(filteredData);
1997
+ return newSelectedItems;
1998
+ });
1999
+ }
2000
+ }, [checked, row, setSelectedItems]);
1967
2001
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement((external_root_React_commonjs2_react_commonjs_react_amd_react_default()).Fragment, null, rowSelectable && row === -1 ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement("input", ToggleSelection_extends({
1968
2002
  type: useRadio ? 'radio' : 'checkbox',
1969
2003
  ref: resolvedRef,
@@ -774,7 +774,8 @@ const EventCalendar = (props: EventCalendarProps) => {
774
774
  'selected': d === day && isInteractive,
775
775
  'last-cell': isLastCell,
776
776
  'last-row': isLastRow,
777
- 'disabled': !isInteractive
777
+ 'disabled': !isInteractive,
778
+ 'has-events': _eventContent() !== null
778
779
  }
779
780
  )}
780
781
  key={"col" + i}
@@ -1562,7 +1562,8 @@ const EventCalendarTimeline = (props: EventCalendarTimelineProps) => {
1562
1562
  'today': d === now.getDate(),
1563
1563
  'selected': isCellSelected(rowIndex, dayIndex) && isInteractive,
1564
1564
  'last-cell': isLastCol,
1565
- 'disabled': !isInteractive
1565
+ 'disabled': !isInteractive,
1566
+ 'has-events': _eventContent() !== null
1566
1567
  }
1567
1568
  )}
1568
1569
  key={"col" + i}
@@ -5,7 +5,6 @@ import useComId from 'funda-utils/dist/cjs/useComId';
5
5
  import { clsWrite, combinedCls } from 'funda-utils/dist/cjs/cls';
6
6
 
7
7
 
8
-
9
8
  import { TableProvider } from './TableContext';
10
9
  import useTableResponsive from './utils/hooks/useTableResponsive';
11
10
  import useTableDraggable from './utils/hooks/useTableDraggable';
@@ -2,6 +2,7 @@ import React, { forwardRef, useContext } from 'react';
2
2
 
3
3
  import { clsWrite, combinedCls } from 'funda-utils/dist/cjs/cls';
4
4
 
5
+
5
6
  import { TableContext } from './TableContext';
6
7
 
7
8
  import { cellMark, removeCellFocusClassName } from './utils/func';
@@ -185,6 +185,36 @@ const ToggleSelection = forwardRef((props: ToggleSelectionProps, ref: any) => {
185
185
  }
186
186
  }, [resolvedRef, indeterminate]);
187
187
 
188
+ // Handle checked prop - use setSelectedItems to manage selection state
189
+ useEffect(() => {
190
+ if (checked !== undefined && row !== -1) {
191
+ const rowKey = String(row);
192
+ let nextSelectedItems: Set<any> | undefined;
193
+ setSelectedItems((prev: any) => {
194
+ const newSelectedItems = new Set(prev);
195
+ if (checked) {
196
+ newSelectedItems.add(rowKey);
197
+ } else {
198
+ newSelectedItems.delete(rowKey);
199
+ }
200
+ nextSelectedItems = newSelectedItems;
201
+
202
+
203
+ //
204
+ const selectedIndex = nextSelectedItems ? Array.from(nextSelectedItems).map((v: any) => Number(v)) : [];
205
+ const filteredData = Array.isArray(originData) ? originData.filter((v: any, i: number) => selectedIndex.includes(i)) : [];
206
+
207
+ const syntheticEvent = { target: { value: rowKey, checked } } as any;
208
+ onChange?.(syntheticEvent, checked, filteredData);
209
+ onChangeRowSelect?.(filteredData);
210
+
211
+ return newSelectedItems;
212
+ });
213
+
214
+
215
+ }
216
+ }, [checked, row, setSelectedItems]);
217
+
188
218
 
189
219
  return (
190
220
  <>
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "author": "UIUX Lab",
3
3
  "email": "uiuxlab@gmail.com",
4
4
  "name": "funda-ui",
5
- "version": "4.7.582",
5
+ "version": "4.7.599",
6
6
  "description": "React components using pure Bootstrap 5+ which does not contain any external style and script libraries.",
7
7
  "repository": {
8
8
  "type": "git",