Skip to content

Commit a6e79db

Browse files
committed
make generics optional on remaining types
1 parent e7c7fbf commit a6e79db

File tree

86 files changed

+369
-480
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+369
-480
lines changed

packages/date-adapters/src/types/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ export type RecommendedFormats =
115115
*/
116116
export type Timezone = "default" | "system" | "UTC" | string;
117117

118-
export type ParserResult<TDate extends DateFrameworkType> = {
118+
export type ParserResult<TDate extends DateFrameworkType = DateFrameworkType> = {
119119
date: TDate;
120120
} & DateDetail;
121121

@@ -126,7 +126,7 @@ export type ParserResult<TDate extends DateFrameworkType> = {
126126
* @template TLocale - The type of the locale, defaulting to any.
127127
*/
128128
export interface SaltDateAdapter<
129-
TDate extends DateFrameworkType,
129+
TDate extends DateFrameworkType = DateFrameworkType,
130130
// biome-ignore lint/suspicious/noExplicitAny: locale is date framework dependent
131131
TLocale = any,
132132
> {

packages/lab/src/__tests__/__e2e__/calendar/Calendar.offset.cy.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const adapterMoment = new AdapterMoment();
2222
const adapters = [adapterDateFns, adapterDayjs, adapterLuxon, adapterMoment];
2323

2424
function getAllDatesInRange(
25-
adapter: SaltDateAdapter<DateFrameworkType>,
25+
adapter: SaltDateAdapter,
2626
startDate: DateFrameworkType,
2727
endDate: DateFrameworkType,
2828
) {
@@ -55,7 +55,7 @@ describe('GIVEN a Calendar with `selectionVariant="offset"`', () => {
5555
adapter.add(date as any, { days: 4 });
5656
const offsetDate = endDateOffset(testDate);
5757
const datesInRange = getAllDatesInRange(
58-
adapter as SaltDateAdapter<DateFrameworkType>,
58+
adapter as SaltDateAdapter,
5959
testDate,
6060
offsetDate,
6161
);
@@ -228,7 +228,7 @@ describe('GIVEN a Calendar with `selectionVariant="offset"`', () => {
228228
});
229229

230230
function assertRangeUnselected(
231-
adapter: SaltDateAdapter<DateFrameworkType>,
231+
adapter: SaltDateAdapter,
232232
baseDate: DateFrameworkType,
233233
) {
234234
for (let i = 0; i <= 3; i++) {
@@ -239,7 +239,7 @@ function assertRangeUnselected(
239239
}
240240

241241
function assertRangeSelected(
242-
adapter: SaltDateAdapter<DateFrameworkType>,
242+
adapter: SaltDateAdapter,
243243
baseDate: DateFrameworkType,
244244
) {
245245
for (let i = 0; i <= 3; i++) {
@@ -272,7 +272,7 @@ describe('GIVEN a Calendar with `selectionVariant="offset" and `multiselect`', (
272272
const endDateOffset = (date: DateFrameworkType) =>
273273
adapter.add(date, { days: 3 });
274274
const testStartDate1 = adapter.parse("03/02/2024", "DD/MM/YYYY").date;
275-
const testDate: DateRangeSelection<DateFrameworkType> = {
275+
const testDate: DateRangeSelection = {
276276
startDate: testStartDate1,
277277
endDate: endDateOffset(testStartDate1),
278278
};
@@ -413,7 +413,7 @@ describe('GIVEN a Calendar with `selectionVariant="offset" and `multiselect`', (
413413
const testDate: DateFrameworkType = adapter.today();
414414

415415
const selectStub = (
416-
previousSelectedDate: DateRangeSelection<DateFrameworkType>[],
416+
previousSelectedDate: DateRangeSelection[],
417417
newDate: DateFrameworkType,
418418
) => {
419419
let newSelection = previousSelectedDate.filter(

packages/lab/src/__tests__/__e2e__/calendar/Calendar.range.cy.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -658,7 +658,7 @@ describe('GIVEN a Calendar with `selectionVariant="range" and `multiselect`', ()
658658
it("SHOULD allow multiple dates to be selected and unselected", () => {
659659
const testDate = adapter.today();
660660
const selectStub = (
661-
previousSelectedDate: DateRangeSelection<DateFrameworkType>[],
661+
previousSelectedDate: DateRangeSelection[],
662662
newDate: DateFrameworkType,
663663
) => {
664664
let newSelection = previousSelectedDate.filter(

packages/lab/src/__tests__/__e2e__/calendar/Calendar.single.cy.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,7 @@ describe('GIVEN a Calendar with `selectionVariant="single" and `multiselect`', (
570570
it("SHOULD allow multiple dates to be selected and unselected", () => {
571571
const testDate = adapter.today();
572572
const selectStub = (
573-
previousSelectedDate: SingleDateSelection<DateFrameworkType>[],
573+
previousSelectedDate: SingleDateSelection[],
574574
newDate: DateFrameworkType,
575575
) => {
576576
let newSelection = previousSelectedDate.filter((previousDate) => {

packages/lab/src/__tests__/__e2e__/date-input/DateInputRange.cy.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -383,10 +383,7 @@ describe("GIVEN a DateInputRange", () => {
383383
.stub()
384384
.as("customParserSpy")
385385
.callsFake(
386-
(
387-
inputDate: string,
388-
_field: DateParserField,
389-
): ParserResult<DateFrameworkType> => {
386+
(inputDate: string, _field: DateParserField): ParserResult => {
390387
if (inputDate === "custom start date") {
391388
return {
392389
date: initialDate.startDate,
@@ -729,12 +726,12 @@ describe("GIVEN a DateInputRange", () => {
729726

730727
function ControlledDateInput() {
731728
const [date, setDate] = useState<
732-
DateRangeSelection<DateFrameworkType> | null | undefined
729+
DateRangeSelection | null | undefined
733730
>(initialDate);
734731

735732
const handleDateChange = (
736733
event: SyntheticEvent,
737-
newDate: DateRangeSelection<DateFrameworkType> | null | undefined,
734+
newDate: DateRangeSelection | null | undefined,
738735
details: DateInputRangeDetails,
739736
) => {
740737
// React 16 backwards compatibility

packages/lab/src/__tests__/__e2e__/date-input/DateInputSingle.cy.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ function assertDateChange(
6262
spy: any,
6363
expectedValue: string,
6464
expectedDate: DateFrameworkType | null | undefined,
65-
adapter: SaltDateAdapter<DateFrameworkType>,
65+
adapter: SaltDateAdapter,
6666
) {
6767
const lastCallArgs = spy.args[spy.callCount - 1];
6868
const date = lastCallArgs[1];
@@ -228,7 +228,7 @@ describe("GIVEN a DateInputSingle", () => {
228228
const customParserSpy = cy
229229
.stub()
230230
.as("customParserSpy")
231-
.callsFake((inputDate: string): ParserResult<DateFrameworkType> => {
231+
.callsFake((inputDate: string): ParserResult => {
232232
expect(inputDate).to.equal("custom value");
233233
return {
234234
date: initialDate,

packages/lab/src/calendar/Calendar.tsx

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -164,17 +164,14 @@ function isMultiselect(
164164
}
165165

166166
function getStartOrEndDate(
167-
dateRange:
168-
| DateRangeSelection<DateFrameworkType>
169-
| DateRangeSelection<DateFrameworkType>[]
170-
| undefined,
167+
dateRange: DateRangeSelection | DateRangeSelection[] | undefined,
171168
isMultiselect: boolean,
172169
): DateFrameworkType | null | undefined {
173170
if (isMultiselect) {
174-
const rangeArray = dateRange as DateRangeSelection<DateFrameworkType>[];
171+
const rangeArray = dateRange as DateRangeSelection[];
175172
return rangeArray?.[0]?.startDate ?? rangeArray?.[0]?.endDate;
176173
}
177-
const range = dateRange as DateRangeSelection<DateFrameworkType>;
174+
const range = dateRange as DateRangeSelection;
178175
return range?.startDate ?? range?.endDate;
179176
}
180177

@@ -183,7 +180,7 @@ let warnedOnce = false;
183180
export const Calendar = forwardRef<HTMLDivElement, CalendarProps>(
184181
(props: CalendarProps, ref: React.Ref<HTMLDivElement>) => {
185182
const targetWindow = useWindow();
186-
const { dateAdapter } = useLocalization<DateFrameworkType>();
183+
const { dateAdapter } = useLocalization();
187184
useComponentCssInjection({
188185
testId: "salt-calendar",
189186
css: calendarCss,

packages/lab/src/calendar/CalendarGrid.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import {
44
type ResponsiveProp,
55
useForkRef,
66
} from "@salt-ds/core";
7-
import type { DateFrameworkType } from "@salt-ds/date-adapters";
87
import {
98
type ComponentPropsWithoutRef,
109
type FocusEventHandler,
@@ -58,7 +57,7 @@ export const CalendarGrid = forwardRef<HTMLDivElement, CalendarGridProps>(
5857
...rest
5958
} = props;
6059

61-
const { dateAdapter } = useLocalization<DateFrameworkType>();
60+
const { dateAdapter } = useLocalization();
6261

6362
const {
6463
helpers: { setFocusedDate, setHoveredDate },

packages/lab/src/calendar/CalendarMonthHeader.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export const CalendarMonthHeader = forwardRef<
2929
CalendarMonthHeaderProps
3030
>((props: CalendarMonthHeaderProps, ref: React.Ref<HTMLDivElement>) => {
3131
const { className, format: formatMonthProp = "MMMM", month, ...rest } = props;
32-
const { dateAdapter } = useLocalization<DateFrameworkType>();
32+
const { dateAdapter } = useLocalization();
3333

3434
const targetWindow = useWindow();
3535
useComponentCssInjection({

packages/lab/src/calendar/CalendarNavigation.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ const ConditionalTooltip: React.FC<TooltipProps> = ({
9191
};
9292

9393
function generateYearsBetweenRange(
94-
dateAdapter: SaltDateAdapter<DateFrameworkType>,
94+
dateAdapter: SaltDateAdapter,
9595
minYear: number,
9696
maxYear: number,
9797
timezone: Timezone = "default",
@@ -111,7 +111,7 @@ function useCalendarNavigation() {
111111
helpers: { setVisibleMonth, isDayVisible, isOutsideAllowedMonths },
112112
} = useCalendarContext();
113113

114-
const { dateAdapter } = useLocalization<DateFrameworkType>();
114+
const { dateAdapter } = useLocalization();
115115

116116
const disableNavigatePrevious = isDayVisible(minDate);
117117
const disableNavigateNext = isDayVisible(maxDate);
@@ -259,7 +259,7 @@ export const CalendarNavigation = forwardRef<
259259
...rest
260260
} = props;
261261

262-
const { dateAdapter } = useLocalization<DateFrameworkType>();
262+
const { dateAdapter } = useLocalization();
263263

264264
const targetWindow = useWindow();
265265
useComponentCssInjection({

0 commit comments

Comments
 (0)