@grandbazar/ui-baza 1.2.10 → 1.2.11
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 +23 -5
- package/dist/index.d.ts +18 -3
- package/dist/index.js +23 -5
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1321,6 +1321,19 @@ function getCalendarGrid(month, year, firstDayOfWeek) {
|
|
|
1321
1321
|
);
|
|
1322
1322
|
}
|
|
1323
1323
|
|
|
1324
|
+
function normalizeDateRange(firstDate, secondDate) {
|
|
1325
|
+
if (!firstDate || !secondDate) {
|
|
1326
|
+
return { firstDate, secondDate };
|
|
1327
|
+
}
|
|
1328
|
+
if (firstDate.getTime() <= secondDate.getTime()) {
|
|
1329
|
+
return { firstDate, secondDate };
|
|
1330
|
+
}
|
|
1331
|
+
return {
|
|
1332
|
+
firstDate: secondDate,
|
|
1333
|
+
secondDate: firstDate
|
|
1334
|
+
};
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1324
1337
|
const datePickerField = "_datePickerField_1qk8s_2";
|
|
1325
1338
|
const datePickerFieldCalendar = "_datePickerFieldCalendar_1qk8s_8";
|
|
1326
1339
|
const datePickerFieldWeek = "_datePickerFieldWeek_1qk8s_14";
|
|
@@ -1426,9 +1439,14 @@ function useDatePickerControls(initialDate = /* @__PURE__ */ new Date()) {
|
|
|
1426
1439
|
};
|
|
1427
1440
|
}
|
|
1428
1441
|
|
|
1429
|
-
function useDatePickerMultiSelect(
|
|
1430
|
-
|
|
1431
|
-
|
|
1442
|
+
function useDatePickerMultiSelect({
|
|
1443
|
+
firstDayOfWeek = LOCALE_FIRST_DAY_OF_WEEK.ru,
|
|
1444
|
+
initialFirstSelectedDate = null,
|
|
1445
|
+
initialSecondSelectedDate = null
|
|
1446
|
+
} = {}) {
|
|
1447
|
+
const normalizedRange = normalizeDateRange(initialFirstSelectedDate, initialSecondSelectedDate);
|
|
1448
|
+
const [firstSelectedDate, setFirstSelectedDate] = React.useState(normalizedRange.firstDate);
|
|
1449
|
+
const [secondSelectedDate, setSecondSelectedDate] = React.useState(normalizedRange.secondDate);
|
|
1432
1450
|
const lastDayOfWeek = (firstDayOfWeek + 6) % 7;
|
|
1433
1451
|
const dayInfoCache = React.useMemo(() => /* @__PURE__ */ new Map(), []);
|
|
1434
1452
|
const getDayInfo = React.useCallback(
|
|
@@ -1544,8 +1562,8 @@ function useDatePickerMultiSelect(firstDayOfWeek = LOCALE_FIRST_DAY_OF_WEEK.ru)
|
|
|
1544
1562
|
return { firstSelectedDate, secondSelectedDate, setFirstSelectedDate, setSecondSelectedDate, getCellProps };
|
|
1545
1563
|
}
|
|
1546
1564
|
|
|
1547
|
-
function useDatePickerSelect() {
|
|
1548
|
-
const [selectedDate, setSelectedDate] = React.useState(
|
|
1565
|
+
function useDatePickerSelect({ initialSelectedDate = null } = {}) {
|
|
1566
|
+
const [selectedDate, setSelectedDate] = React.useState(initialSelectedDate);
|
|
1549
1567
|
const getCellProps = React.useCallback(
|
|
1550
1568
|
(day) => {
|
|
1551
1569
|
return {
|
package/dist/index.d.ts
CHANGED
|
@@ -880,6 +880,16 @@ declare type TTooltipRootProps = Omit<React.ComponentProps<typeof TooltipContent
|
|
|
880
880
|
centerArrowToTrigger?: boolean;
|
|
881
881
|
};
|
|
882
882
|
|
|
883
|
+
declare type TUseDatePickerMultiSelectOptions = {
|
|
884
|
+
firstDayOfWeek?: number;
|
|
885
|
+
initialFirstSelectedDate?: Date | null;
|
|
886
|
+
initialSecondSelectedDate?: Date | null;
|
|
887
|
+
};
|
|
888
|
+
|
|
889
|
+
declare type TUseDatePickerSelectOptions = {
|
|
890
|
+
initialSelectedDate?: Date | null;
|
|
891
|
+
};
|
|
892
|
+
|
|
883
893
|
declare type TWithRef<TProps, TElement = HTMLElement> = TProps & {
|
|
884
894
|
ref?: React.Ref<TElement>;
|
|
885
895
|
};
|
|
@@ -904,10 +914,13 @@ export declare function useDatePickerControls(initialDate?: Date): {
|
|
|
904
914
|
* Manages date range selection state for DatePicker.
|
|
905
915
|
* Handles two-date selection with automatic ordering and visual range styling.
|
|
906
916
|
*
|
|
907
|
-
* @param
|
|
917
|
+
* @param options - Hook options for range selection
|
|
918
|
+
* @param options.firstDayOfWeek - First day of the week (0 = Sunday, 1 = Monday, etc.)
|
|
919
|
+
* @param options.initialFirstSelectedDate - Initial start date for range selection
|
|
920
|
+
* @param options.initialSecondSelectedDate - Initial end date for range selection
|
|
908
921
|
* @returns Object containing selected dates, setters, and cell props generator with range styling
|
|
909
922
|
*/
|
|
910
|
-
export declare function useDatePickerMultiSelect(firstDayOfWeek?:
|
|
923
|
+
export declare function useDatePickerMultiSelect({ firstDayOfWeek, initialFirstSelectedDate, initialSecondSelectedDate, }?: TUseDatePickerMultiSelectOptions): {
|
|
911
924
|
firstSelectedDate: Date | null;
|
|
912
925
|
secondSelectedDate: Date | null;
|
|
913
926
|
setFirstSelectedDate: Dispatch<SetStateAction<Date | null>>;
|
|
@@ -919,9 +932,11 @@ export declare function useDatePickerMultiSelect(firstDayOfWeek?: number): {
|
|
|
919
932
|
* Manages single date selection state for DatePicker.
|
|
920
933
|
* Provides cell props with selection logic and state management.
|
|
921
934
|
*
|
|
935
|
+
* @param options - Hook options for initial selection state
|
|
936
|
+
* @param options.initialSelectedDate - Initial selected date
|
|
922
937
|
* @returns Object containing selected date, setter, and cell props generator
|
|
923
938
|
*/
|
|
924
|
-
export declare function useDatePickerSelect(): {
|
|
939
|
+
export declare function useDatePickerSelect({ initialSelectedDate }?: TUseDatePickerSelectOptions): {
|
|
925
940
|
selectedDate: Date | null;
|
|
926
941
|
setSelectedDate: Dispatch<SetStateAction<Date | null>>;
|
|
927
942
|
getCellProps: (day: TCalendarDay) => Pick<ComponentProps<typeof DatePickerCell>, "onClick" | "disabled" | "isCurrent" | "state">;
|
package/dist/index.js
CHANGED
|
@@ -1317,6 +1317,19 @@ function getCalendarGrid(month, year, firstDayOfWeek) {
|
|
|
1317
1317
|
);
|
|
1318
1318
|
}
|
|
1319
1319
|
|
|
1320
|
+
function normalizeDateRange(firstDate, secondDate) {
|
|
1321
|
+
if (!firstDate || !secondDate) {
|
|
1322
|
+
return { firstDate, secondDate };
|
|
1323
|
+
}
|
|
1324
|
+
if (firstDate.getTime() <= secondDate.getTime()) {
|
|
1325
|
+
return { firstDate, secondDate };
|
|
1326
|
+
}
|
|
1327
|
+
return {
|
|
1328
|
+
firstDate: secondDate,
|
|
1329
|
+
secondDate: firstDate
|
|
1330
|
+
};
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1320
1333
|
const datePickerField = "_datePickerField_1qk8s_2";
|
|
1321
1334
|
const datePickerFieldCalendar = "_datePickerFieldCalendar_1qk8s_8";
|
|
1322
1335
|
const datePickerFieldWeek = "_datePickerFieldWeek_1qk8s_14";
|
|
@@ -1422,9 +1435,14 @@ function useDatePickerControls(initialDate = /* @__PURE__ */ new Date()) {
|
|
|
1422
1435
|
};
|
|
1423
1436
|
}
|
|
1424
1437
|
|
|
1425
|
-
function useDatePickerMultiSelect(
|
|
1426
|
-
|
|
1427
|
-
|
|
1438
|
+
function useDatePickerMultiSelect({
|
|
1439
|
+
firstDayOfWeek = LOCALE_FIRST_DAY_OF_WEEK.ru,
|
|
1440
|
+
initialFirstSelectedDate = null,
|
|
1441
|
+
initialSecondSelectedDate = null
|
|
1442
|
+
} = {}) {
|
|
1443
|
+
const normalizedRange = normalizeDateRange(initialFirstSelectedDate, initialSecondSelectedDate);
|
|
1444
|
+
const [firstSelectedDate, setFirstSelectedDate] = useState(normalizedRange.firstDate);
|
|
1445
|
+
const [secondSelectedDate, setSecondSelectedDate] = useState(normalizedRange.secondDate);
|
|
1428
1446
|
const lastDayOfWeek = (firstDayOfWeek + 6) % 7;
|
|
1429
1447
|
const dayInfoCache = useMemo(() => /* @__PURE__ */ new Map(), []);
|
|
1430
1448
|
const getDayInfo = useCallback(
|
|
@@ -1540,8 +1558,8 @@ function useDatePickerMultiSelect(firstDayOfWeek = LOCALE_FIRST_DAY_OF_WEEK.ru)
|
|
|
1540
1558
|
return { firstSelectedDate, secondSelectedDate, setFirstSelectedDate, setSecondSelectedDate, getCellProps };
|
|
1541
1559
|
}
|
|
1542
1560
|
|
|
1543
|
-
function useDatePickerSelect() {
|
|
1544
|
-
const [selectedDate, setSelectedDate] = useState(
|
|
1561
|
+
function useDatePickerSelect({ initialSelectedDate = null } = {}) {
|
|
1562
|
+
const [selectedDate, setSelectedDate] = useState(initialSelectedDate);
|
|
1545
1563
|
const getCellProps = useCallback(
|
|
1546
1564
|
(day) => {
|
|
1547
1565
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grandbazar/ui-baza",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.11",
|
|
4
4
|
"description": "A lightweight and modular UI kit for building modern, accessible web interfaces. Designed for flexibility, scalability, and developer happiness.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|