schummar-table 0.40.6 → 0.41.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/index.cjs +14 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +14 -14
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -18,11 +18,12 @@ type DatePickerQuickOption = 'today' | 'thisWeek' | 'thisMonth' | 'thisYear' | '
|
|
|
18
18
|
label: ReactNode;
|
|
19
19
|
value: Date | DateRange | (() => Date | DateRange);
|
|
20
20
|
} | ((onChange: (value: Date | DateRange | null) => void) => ReactNode);
|
|
21
|
+
type DatePickerChangeSource = 'input' | 'calendarWeek' | 'calendar' | 'quickOption';
|
|
21
22
|
type DatePickerProps = {
|
|
22
23
|
/** Currently selected day or range of days. */
|
|
23
24
|
value: Date | DateRange | null;
|
|
24
25
|
/** Callback for when the day (range) changes. */
|
|
25
|
-
onChange: (value: Date | DateRange | null) => void;
|
|
26
|
+
onChange: (value: Date | DateRange | null, source: DatePickerChangeSource) => void;
|
|
26
27
|
/** Currently visible date. */
|
|
27
28
|
dateInView?: Date;
|
|
28
29
|
/** Callback for when the currently visible date changes. */
|
|
@@ -216,4 +217,4 @@ declare const termMatch: (text: string, query: string) => boolean;
|
|
|
216
217
|
declare function configureTableTheme(tableTheme: PartialTableTheme): void;
|
|
217
218
|
declare function mergeThemes<T>(...themes: PartialTableTheme<T>[]): PartialTableTheme<T>;
|
|
218
219
|
|
|
219
|
-
export { AutoFocusTextField, ColumnContext, CommonFilterProps, DateFilter, DatePicker, type DatePickerProps, DatePickerProvider, type DatePickerQuickOption, type DateRange, FilterImplementation, Id, PartialTableTheme, RangeFilter, SelectFilter, Table, TableContext, TableProps, TableResetContext, TableSettingsContext, TableSettingsProvider, TextFilter, commonQuickOptions, configureTableTheme, dateClamp, dateIntersect, endOfDay, getCalendarWeek, helpers, lastDays, mergeThemes, startOfDay, termMatch, textMatch, thisMonth, thisWeek, thisYear, today, useColumnContext, useFilter, useTableContext, useTheme };
|
|
220
|
+
export { AutoFocusTextField, ColumnContext, CommonFilterProps, DateFilter, DatePicker, type DatePickerChangeSource, type DatePickerProps, DatePickerProvider, type DatePickerQuickOption, type DateRange, FilterImplementation, Id, PartialTableTheme, RangeFilter, SelectFilter, Table, TableContext, TableProps, TableResetContext, TableSettingsContext, TableSettingsProvider, TextFilter, commonQuickOptions, configureTableTheme, dateClamp, dateIntersect, endOfDay, getCalendarWeek, helpers, lastDays, mergeThemes, startOfDay, termMatch, textMatch, thisMonth, thisWeek, thisYear, today, useColumnContext, useFilter, useTableContext, useTheme };
|
package/dist/index.d.ts
CHANGED
|
@@ -18,11 +18,12 @@ type DatePickerQuickOption = 'today' | 'thisWeek' | 'thisMonth' | 'thisYear' | '
|
|
|
18
18
|
label: ReactNode;
|
|
19
19
|
value: Date | DateRange | (() => Date | DateRange);
|
|
20
20
|
} | ((onChange: (value: Date | DateRange | null) => void) => ReactNode);
|
|
21
|
+
type DatePickerChangeSource = 'input' | 'calendarWeek' | 'calendar' | 'quickOption';
|
|
21
22
|
type DatePickerProps = {
|
|
22
23
|
/** Currently selected day or range of days. */
|
|
23
24
|
value: Date | DateRange | null;
|
|
24
25
|
/** Callback for when the day (range) changes. */
|
|
25
|
-
onChange: (value: Date | DateRange | null) => void;
|
|
26
|
+
onChange: (value: Date | DateRange | null, source: DatePickerChangeSource) => void;
|
|
26
27
|
/** Currently visible date. */
|
|
27
28
|
dateInView?: Date;
|
|
28
29
|
/** Callback for when the currently visible date changes. */
|
|
@@ -216,4 +217,4 @@ declare const termMatch: (text: string, query: string) => boolean;
|
|
|
216
217
|
declare function configureTableTheme(tableTheme: PartialTableTheme): void;
|
|
217
218
|
declare function mergeThemes<T>(...themes: PartialTableTheme<T>[]): PartialTableTheme<T>;
|
|
218
219
|
|
|
219
|
-
export { AutoFocusTextField, ColumnContext, CommonFilterProps, DateFilter, DatePicker, type DatePickerProps, DatePickerProvider, type DatePickerQuickOption, type DateRange, FilterImplementation, Id, PartialTableTheme, RangeFilter, SelectFilter, Table, TableContext, TableProps, TableResetContext, TableSettingsContext, TableSettingsProvider, TextFilter, commonQuickOptions, configureTableTheme, dateClamp, dateIntersect, endOfDay, getCalendarWeek, helpers, lastDays, mergeThemes, startOfDay, termMatch, textMatch, thisMonth, thisWeek, thisYear, today, useColumnContext, useFilter, useTableContext, useTheme };
|
|
220
|
+
export { AutoFocusTextField, ColumnContext, CommonFilterProps, DateFilter, DatePicker, type DatePickerChangeSource, type DatePickerProps, DatePickerProvider, type DatePickerQuickOption, type DateRange, FilterImplementation, Id, PartialTableTheme, RangeFilter, SelectFilter, Table, TableContext, TableProps, TableResetContext, TableSettingsContext, TableSettingsProvider, TextFilter, commonQuickOptions, configureTableTheme, dateClamp, dateIntersect, endOfDay, getCalendarWeek, helpers, lastDays, mergeThemes, startOfDay, termMatch, textMatch, thisMonth, thisWeek, thisYear, today, useColumnContext, useFilter, useTableContext, useTheme };
|
package/dist/index.js
CHANGED
|
@@ -1295,7 +1295,7 @@ function DatePicker(props) {
|
|
|
1295
1295
|
showCalendarWeek,
|
|
1296
1296
|
blockedRanges = []
|
|
1297
1297
|
} = defaults(props, context);
|
|
1298
|
-
function onChange(value2) {
|
|
1298
|
+
function onChange(value2, source) {
|
|
1299
1299
|
if (value2 instanceof Date) {
|
|
1300
1300
|
value2 = dateClamp(value2, minDate, maxDate);
|
|
1301
1301
|
} else if (value2) {
|
|
@@ -1304,7 +1304,7 @@ function DatePicker(props) {
|
|
|
1304
1304
|
max: dateClamp(value2.max, minDate, maxDate)
|
|
1305
1305
|
};
|
|
1306
1306
|
}
|
|
1307
|
-
props.onChange(value2);
|
|
1307
|
+
props.onChange(value2, source);
|
|
1308
1308
|
}
|
|
1309
1309
|
const Button2 = useTheme((t) => t.components.Button);
|
|
1310
1310
|
const IconButton2 = useTheme((t) => t.components.IconButton);
|
|
@@ -1378,7 +1378,7 @@ function DatePicker(props) {
|
|
|
1378
1378
|
if (option instanceof Function) {
|
|
1379
1379
|
return option((value3) => {
|
|
1380
1380
|
setDirty(void 0);
|
|
1381
|
-
onChange(value3);
|
|
1381
|
+
onChange(value3, "quickOption");
|
|
1382
1382
|
});
|
|
1383
1383
|
}
|
|
1384
1384
|
const { label, value: value2 } = typeof option === "string" ? commonQuickOptions[option] : option;
|
|
@@ -1393,9 +1393,9 @@ function DatePicker(props) {
|
|
|
1393
1393
|
onClick: () => {
|
|
1394
1394
|
setDirty(void 0);
|
|
1395
1395
|
if (value2 instanceof Function) {
|
|
1396
|
-
onChange(value2(props));
|
|
1396
|
+
onChange(value2(props), "quickOption");
|
|
1397
1397
|
} else {
|
|
1398
|
-
onChange(value2);
|
|
1398
|
+
onChange(value2, "quickOption");
|
|
1399
1399
|
}
|
|
1400
1400
|
},
|
|
1401
1401
|
children: label
|
|
@@ -1430,9 +1430,9 @@ function DatePicker(props) {
|
|
|
1430
1430
|
setDirty(void 0);
|
|
1431
1431
|
}
|
|
1432
1432
|
}, [rangeSelect]);
|
|
1433
|
-
function set(min2, max2, edit) {
|
|
1433
|
+
function set(source, min2, max2, edit) {
|
|
1434
1434
|
if (!rangeSelect) {
|
|
1435
|
-
onChange(min2 != null ? min2 : null);
|
|
1435
|
+
onChange(min2 != null ? min2 : null, source);
|
|
1436
1436
|
return;
|
|
1437
1437
|
}
|
|
1438
1438
|
if (min2 && max2 && min2 > max2) {
|
|
@@ -1446,7 +1446,7 @@ function DatePicker(props) {
|
|
|
1446
1446
|
}
|
|
1447
1447
|
if (!min2 === !max2) {
|
|
1448
1448
|
setDirty(void 0);
|
|
1449
|
-
onChange(min2 && max2 ? { min: min2, max: endOfDay(max2) } : null);
|
|
1449
|
+
onChange(min2 && max2 ? { min: min2, max: endOfDay(max2) } : null, source);
|
|
1450
1450
|
} else {
|
|
1451
1451
|
setDirty({ min: min2, max: max2 });
|
|
1452
1452
|
}
|
|
@@ -1484,7 +1484,7 @@ function DatePicker(props) {
|
|
|
1484
1484
|
DateInput,
|
|
1485
1485
|
{
|
|
1486
1486
|
value: min != null ? min : null,
|
|
1487
|
-
onChange: (date) => set(date != null ? date : void 0, max, "min"),
|
|
1487
|
+
onChange: (date) => set("input", date != null ? date : void 0, max, "min"),
|
|
1488
1488
|
locale
|
|
1489
1489
|
}
|
|
1490
1490
|
),
|
|
@@ -1494,7 +1494,7 @@ function DatePicker(props) {
|
|
|
1494
1494
|
DateInput,
|
|
1495
1495
|
{
|
|
1496
1496
|
value: max != null ? max : null,
|
|
1497
|
-
onChange: (date) => set(min, date != null ? date : void 0, "max"),
|
|
1497
|
+
onChange: (date) => set("input", min, date != null ? date : void 0, "max"),
|
|
1498
1498
|
locale
|
|
1499
1499
|
}
|
|
1500
1500
|
)
|
|
@@ -1579,7 +1579,7 @@ function DatePicker(props) {
|
|
|
1579
1579
|
}
|
|
1580
1580
|
const min2 = minDate && weekStart.date < minDate ? minDate : weekStart.date;
|
|
1581
1581
|
const max2 = maxDate && weekEnd.date > maxDate ? maxDate : weekEnd.date;
|
|
1582
|
-
set(min2, max2);
|
|
1582
|
+
set("calendarWeek", min2, max2);
|
|
1583
1583
|
},
|
|
1584
1584
|
onPointerOver: () => !weekDisabled && setHovered({ min: weekStart.date, max: weekEnd.date }),
|
|
1585
1585
|
onPointerOut: () => !weekDisabled && setHovered(void 0),
|
|
@@ -1615,10 +1615,10 @@ function DatePicker(props) {
|
|
|
1615
1615
|
}, getDateProps({ dateObj: dateObject })), {
|
|
1616
1616
|
onClick: () => {
|
|
1617
1617
|
if (dirty) {
|
|
1618
|
-
if (min) set(min, date);
|
|
1619
|
-
else set(date, max);
|
|
1618
|
+
if (min) set("calendar", min, date);
|
|
1619
|
+
else set("calendar", date, max);
|
|
1620
1620
|
} else {
|
|
1621
|
-
set(date);
|
|
1621
|
+
set("calendar", date);
|
|
1622
1622
|
}
|
|
1623
1623
|
},
|
|
1624
1624
|
onPointerOver: () => setHovered({ min: date, max: date }),
|