🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

react-day-picker

Package Overview
Dependencies
Maintainers
2
Versions
269
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-day-picker - npm Package Compare versions

Comparing version

to
9.6.6

src/helpers/calculateFocusTarget.test.ts

48

dist/cjs/helpers/calculateFocusTarget.js

@@ -5,37 +5,45 @@ "use strict";

const UI_js_1 = require("../UI.js");
var FocusTargetPriority;
(function (FocusTargetPriority) {
FocusTargetPriority[FocusTargetPriority["Today"] = 0] = "Today";
FocusTargetPriority[FocusTargetPriority["Selected"] = 1] = "Selected";
FocusTargetPriority[FocusTargetPriority["LastFocused"] = 2] = "LastFocused";
FocusTargetPriority[FocusTargetPriority["FocusedModifier"] = 3] = "FocusedModifier";
})(FocusTargetPriority || (FocusTargetPriority = {}));
function isFocusableDay(modifiers) {
return (!modifiers[UI_js_1.DayFlag.disabled] &&
!modifiers[UI_js_1.DayFlag.hidden] &&
!modifiers[UI_js_1.DayFlag.outside]);
}
function calculateFocusTarget(days, getModifiers, isSelected, lastFocused) {
let focusTarget;
let index = 0;
let found = false;
while (index < days.length && !found) {
const day = days[index];
let foundFocusTargetPriority = -1;
for (const day of days) {
const modifiers = getModifiers(day);
if (!modifiers[UI_js_1.DayFlag.disabled] &&
!modifiers[UI_js_1.DayFlag.hidden] &&
!modifiers[UI_js_1.DayFlag.outside]) {
if (modifiers[UI_js_1.DayFlag.focused]) {
if (isFocusableDay(modifiers)) {
if (modifiers[UI_js_1.DayFlag.focused] &&
foundFocusTargetPriority < FocusTargetPriority.FocusedModifier) {
focusTarget = day;
found = true;
foundFocusTargetPriority = FocusTargetPriority.FocusedModifier;
}
else if (lastFocused?.isEqualTo(day)) {
else if (lastFocused?.isEqualTo(day) &&
foundFocusTargetPriority < FocusTargetPriority.LastFocused) {
focusTarget = day;
found = true;
foundFocusTargetPriority = FocusTargetPriority.LastFocused;
}
else if (isSelected(day.date)) {
else if (isSelected(day.date) &&
foundFocusTargetPriority < FocusTargetPriority.Selected) {
focusTarget = day;
found = true;
foundFocusTargetPriority = FocusTargetPriority.Selected;
}
else if (modifiers[UI_js_1.DayFlag.today]) {
else if (modifiers[UI_js_1.DayFlag.today] &&
foundFocusTargetPriority < FocusTargetPriority.Today) {
focusTarget = day;
found = true;
foundFocusTargetPriority = FocusTargetPriority.Today;
}
}
index++;
}
if (!focusTarget) {
// return the first day that is focusable
focusTarget = days.find((day) => {
const m = getModifiers(day);
return !m[UI_js_1.DayFlag.disabled] && !m[UI_js_1.DayFlag.hidden] && !m[UI_js_1.DayFlag.outside];
});
focusTarget = days.find((day) => isFocusableDay(getModifiers(day)));
}

@@ -42,0 +50,0 @@ return focusTarget;

import { DayFlag } from "../UI.js";
var FocusTargetPriority;
(function (FocusTargetPriority) {
FocusTargetPriority[FocusTargetPriority["Today"] = 0] = "Today";
FocusTargetPriority[FocusTargetPriority["Selected"] = 1] = "Selected";
FocusTargetPriority[FocusTargetPriority["LastFocused"] = 2] = "LastFocused";
FocusTargetPriority[FocusTargetPriority["FocusedModifier"] = 3] = "FocusedModifier";
})(FocusTargetPriority || (FocusTargetPriority = {}));
function isFocusableDay(modifiers) {
return (!modifiers[DayFlag.disabled] &&
!modifiers[DayFlag.hidden] &&
!modifiers[DayFlag.outside]);
}
export function calculateFocusTarget(days, getModifiers, isSelected, lastFocused) {
let focusTarget;
let index = 0;
let found = false;
while (index < days.length && !found) {
const day = days[index];
let foundFocusTargetPriority = -1;
for (const day of days) {
const modifiers = getModifiers(day);
if (!modifiers[DayFlag.disabled] &&
!modifiers[DayFlag.hidden] &&
!modifiers[DayFlag.outside]) {
if (modifiers[DayFlag.focused]) {
if (isFocusableDay(modifiers)) {
if (modifiers[DayFlag.focused] &&
foundFocusTargetPriority < FocusTargetPriority.FocusedModifier) {
focusTarget = day;
found = true;
foundFocusTargetPriority = FocusTargetPriority.FocusedModifier;
}
else if (lastFocused?.isEqualTo(day)) {
else if (lastFocused?.isEqualTo(day) &&
foundFocusTargetPriority < FocusTargetPriority.LastFocused) {
focusTarget = day;
found = true;
foundFocusTargetPriority = FocusTargetPriority.LastFocused;
}
else if (isSelected(day.date)) {
else if (isSelected(day.date) &&
foundFocusTargetPriority < FocusTargetPriority.Selected) {
focusTarget = day;
found = true;
foundFocusTargetPriority = FocusTargetPriority.Selected;
}
else if (modifiers[DayFlag.today]) {
else if (modifiers[DayFlag.today] &&
foundFocusTargetPriority < FocusTargetPriority.Today) {
focusTarget = day;
found = true;
foundFocusTargetPriority = FocusTargetPriority.Today;
}
}
index++;
}
if (!focusTarget) {
// return the first day that is focusable
focusTarget = days.find((day) => {
const m = getModifiers(day);
return !m[DayFlag.disabled] && !m[DayFlag.hidden] && !m[DayFlag.outside];
});
focusTarget = days.find((day) => isFocusableDay(getModifiers(day)));
}

@@ -38,0 +46,0 @@ return focusTarget;

{
"name": "react-day-picker",
"version": "9.6.5",
"version": "9.6.6",
"description": "Customizable Date Picker for React",

@@ -5,0 +5,0 @@ "author": "Giampaolo Bellavite <io@gpbl.dev>",

@@ -5,2 +5,17 @@ import { DayFlag } from "../UI.js";

enum FocusTargetPriority {
Today = 0,
Selected,
LastFocused,
FocusedModifier
}
function isFocusableDay(modifiers: Modifiers) {
return (
!modifiers[DayFlag.disabled] &&
!modifiers[DayFlag.hidden] &&
!modifiers[DayFlag.outside]
);
}
export function calculateFocusTarget(

@@ -14,30 +29,33 @@ days: CalendarDay[],

let index = 0;
let found = false;
while (index < days.length && !found) {
const day = days[index];
let foundFocusTargetPriority: FocusTargetPriority | -1 = -1;
for (const day of days) {
const modifiers = getModifiers(day);
if (
!modifiers[DayFlag.disabled] &&
!modifiers[DayFlag.hidden] &&
!modifiers[DayFlag.outside]
) {
if (modifiers[DayFlag.focused]) {
if (isFocusableDay(modifiers)) {
if (
modifiers[DayFlag.focused] &&
foundFocusTargetPriority < FocusTargetPriority.FocusedModifier
) {
focusTarget = day;
found = true;
} else if (lastFocused?.isEqualTo(day)) {
foundFocusTargetPriority = FocusTargetPriority.FocusedModifier;
} else if (
lastFocused?.isEqualTo(day) &&
foundFocusTargetPriority < FocusTargetPriority.LastFocused
) {
focusTarget = day;
found = true;
} else if (isSelected(day.date)) {
foundFocusTargetPriority = FocusTargetPriority.LastFocused;
} else if (
isSelected(day.date) &&
foundFocusTargetPriority < FocusTargetPriority.Selected
) {
focusTarget = day;
found = true;
} else if (modifiers[DayFlag.today]) {
foundFocusTargetPriority = FocusTargetPriority.Selected;
} else if (
modifiers[DayFlag.today] &&
foundFocusTargetPriority < FocusTargetPriority.Today
) {
focusTarget = day;
found = true;
foundFocusTargetPriority = FocusTargetPriority.Today;
}
}
index++;
}

@@ -47,8 +65,5 @@

// return the first day that is focusable
focusTarget = days.find((day) => {
const m = getModifiers(day);
return !m[DayFlag.disabled] && !m[DayFlag.hidden] && !m[DayFlag.outside];
});
focusTarget = days.find((day) => isFocusableDay(getModifiers(day)));
}
return focusTarget;
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet