Skip to content

Commit db95557

Browse files
committed
chore: update types and compat data
1 parent 7418a38 commit db95557

30 files changed

+185
-96
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
"@commitlint/cli": "^19.2.1",
2727
"@commitlint/config-conventional": "^19.1.0",
2828
"@inlang/paraglide-js": "1.3.5",
29-
"@mdn/browser-compat-data": "5.5.48",
30-
"@melt-ui/pp": "^0.3.0",
31-
"@melt-ui/svelte": "^0.76.3",
29+
"@mdn/browser-compat-data": "5.6.3",
30+
"@melt-ui/pp": "^0.3.2",
31+
"@melt-ui/svelte": "^0.83.0",
3232
"@playwright/test": "^1.42.1",
3333
"@sveltejs/adapter-vercel": "5.2.0",
3434
"@sveltejs/kit": "2.5.5",

pnpm-lock.yaml

Lines changed: 17 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lib/components/ui/Slider.svelte

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,8 @@
1717
return value.next;
1818
}
1919
20-
const reset = () => value.set([275])
21-
2220
const {
2321
elements: { root, range, thumbs },
24-
states: { value }
2522
} = createSlider({
2623
defaultValue: defaultValue ? [defaultValue] : undefined,
2724
min,
@@ -41,13 +38,6 @@
4138
/>
4239
</span>
4340

44-
{#if defaultValue}
45-
<Spacing />
46-
<Button on:click={reset}>
47-
Reset
48-
</Button>
49-
{/if}
50-
5141
<style>
5242
.slider {
5343
position: relative;
@@ -81,4 +71,4 @@
8171
.thumb:focus {
8272
outline: 2px solid var(--focus-color);
8373
}
84-
</style>
74+
</style>
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import { localeMatcher } from "$lib/format-options/common.options";
2+
import type { CreateOptions } from "$types/common";
23

3-
export const collatorFormatOptions = {
4+
export type CollatorOptions = CreateOptions<Intl.CollatorOptions>
5+
6+
export const collatorFormatOptions: CollatorOptions = {
47
usage: ["sort", "search", undefined],
58
numeric: [true, false, undefined],
69
caseFirst: ["upper", "lower", "false", undefined],
710
sensitivity: ["base", "accent", "case", "variant", undefined],
811
ignorePunctuation: [true, false, undefined],
912
localeMatcher
10-
} as const;
13+
}

src/lib/format-options/common.options.ts

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,23 @@
1-
export const style = [undefined, "long", "short", "narrow"] as const;
2-
export const localeMatcher = [undefined, "best fit", "lookup"] as const;
3-
export const roundingPriority = ["auto", "morePrecision", "lessPrecision", undefined] as const;
4-
export const roundingIncrement = [
1+
import type { Tuple } from "$types/common";
2+
3+
export const style: Tuple<Intl.RelativeTimeFormatOptions["style"]> = [
4+
undefined,
5+
"long",
6+
"short",
7+
"narrow"
8+
];
9+
export const localeMatcher: Tuple<Intl.CollatorOptions["localeMatcher"]> = [
10+
undefined,
11+
"best fit",
12+
"lookup"
13+
];
14+
export const roundingPriority: Tuple<Intl.PluralRulesOptions["roundingPriority"]> = [
15+
"auto",
16+
"morePrecision",
17+
"lessPrecision",
18+
undefined
19+
];
20+
export const roundingIncrement: Tuple<Intl.PluralRulesOptions["roundingIncrement"]> = [
521
1,
622
2,
723
5,
@@ -18,8 +34,8 @@ export const roundingIncrement = [
1834
2500,
1935
5000,
2036
undefined
21-
] as const;
22-
export const roundingMode = [
37+
];
38+
export const roundingMode: Tuple<Intl.PluralRulesOptions["roundingMode"]> = [
2339
"ceil",
2440
"floor",
2541
"expand",
@@ -30,5 +46,9 @@ export const roundingMode = [
3046
"halfTrunc",
3147
"halfEven",
3248
undefined
33-
] as const;
34-
export const trailingZeroDisplay = ["auto", "stripIfInteger", undefined] as const;
49+
];
50+
export const trailingZeroDisplay: Tuple<Intl.PluralRulesOptions["trailingZeroDisplay"]> = [
51+
"auto",
52+
"stripIfInteger",
53+
undefined
54+
];

src/lib/format-options/datetime-format.options.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { calendars, numberingSystems } from "$lib/locale-data/calendars";
22
import type { AllFormatOptionsKeys } from "$lib/format-options/types";
33
import { style, localeMatcher } from "$lib/format-options/common.options";
4+
import type { CreateOptions, StringOrUndefinedTuple } from "$types/common";
45

5-
export const datetimeFormatOptions = {
6+
export type DateTimeFormatOptions = CreateOptions<Intl.DateTimeFormatOptions>;
7+
8+
export const datetimeFormatOptions: DateTimeFormatOptions = {
69
dateStyle: ["full", "long", "medium", "short", undefined],
710
timeStyle: ["full", "long", "medium", "short", undefined],
811
year: ["numeric", "2-digit", undefined],
@@ -17,12 +20,20 @@ export const datetimeFormatOptions = {
1720
hourCycle: ["h11", "h12", "h23", "h24", undefined],
1821
dayPeriod: style,
1922
fractionalSecondDigits: [1, 2, 3, undefined],
20-
calendar: [...calendars, undefined],
21-
numberingSystem: [...numberingSystems, undefined],
22-
timeZoneName: ["long", "short", undefined],
23+
calendar: [...calendars, undefined] as StringOrUndefinedTuple,
24+
numberingSystem: [...numberingSystems, undefined] as StringOrUndefinedTuple,
25+
timeZoneName: [
26+
"long",
27+
"short",
28+
"shortOffset",
29+
"longOffset",
30+
"shortGeneric",
31+
"longGeneric",
32+
undefined
33+
],
2334
formatMatcher: ["best fit", "basic", undefined],
2435
localeMatcher
25-
} as const;
36+
}
2637

2738
export const getDateTimeFormatOptions = (
2839
option: AllFormatOptionsKeys["DateTimeFormat"] | string,
Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,29 @@
11
import { style, localeMatcher } from "$lib/format-options/common.options";
2+
import type { CreateOptions } from "$types/common";
23

3-
export const displayNamesOptions = {
4+
export type DateTimeFormatOptions = CreateOptions<Intl.DisplayNamesOptions>;
5+
6+
const type: (Intl.DisplayNamesType | undefined)[] = [
7+
"language",
8+
"region",
9+
"script",
10+
"calendar",
11+
"dateTimeField",
12+
"currency",
13+
undefined
14+
];
15+
16+
export const displayNamesOptions: DateTimeFormatOptions = {
417
style,
5-
type: ["language", "region", "script", "calendar", "dateTimeField", "currency", undefined],
18+
type: type as [
19+
Intl.DisplayNamesType,
20+
Intl.DisplayNamesType,
21+
Intl.DisplayNamesType,
22+
Intl.DisplayNamesType,
23+
Intl.DisplayNamesType,
24+
Intl.DisplayNamesType
25+
],
626
languageDisplay: ["dialect", "standard", undefined],
727
fallback: ["code", "none", undefined],
828
localeMatcher
9-
} as const;
29+
};

src/lib/format-options/duration-format.options.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { defaultNumberRange } from "$utils/format-utils";
22
import { style, localeMatcher } from "$lib/format-options/common.options";
3+
import type { CreateOptions, NumberOrUndefinedTuple } from "$types/common";
34

4-
export const durationFormatOptions = {
5-
style,
5+
type DurationFormatOptions = CreateOptions<Intl.DurationFormatOptions>;
6+
7+
export const durationFormatOptions: DurationFormatOptions = {
8+
style: [...style, "digital"],
69
years: style,
710
months: style,
811
weeks: style,
@@ -13,9 +16,9 @@ export const durationFormatOptions = {
1316
milliseconds: style,
1417
microseconds: style,
1518
nanoseconds: style,
16-
fractionalDigits: [...defaultNumberRange, undefined],
19+
fractionalDigits: [...defaultNumberRange, undefined] as NumberOrUndefinedTuple,
1720
localeMatcher
18-
} as const;
21+
}
1922

2023
export const durationValues: (keyof Intl.Duration)[] = [
2124
"years",
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import { style, localeMatcher } from "$lib/format-options/common.options";
2+
import type { CreateOptions } from "$types/common";
23

3-
export const listFormatOptions = {
4+
export type ListFormatOptions = CreateOptions<Intl.ListFormatOptions>;
5+
6+
export const listFormatOptions: ListFormatOptions = {
47
type: [undefined, "conjunction", "disjunction", "unit"],
58
style,
69
localeMatcher
7-
} as const;
10+
}

src/lib/format-options/number-format.options.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import {
99
trailingZeroDisplay,
1010
style
1111
} from "$lib/format-options/common.options";
12+
import type { CreateOptions } from "$types/common";
13+
14+
export type NumberFormatOptions = CreateOptions<Intl.NumberFormatOptions>;
1215

1316
export const numberFormatOptionsCommon = {
1417
style: ["currency", "unit"],
@@ -24,17 +27,17 @@ export const numberFormatOptionsCommon = {
2427
roundingPriority,
2528
trailingZeroDisplay,
2629
localeMatcher
27-
} as const;
30+
}
2831

29-
export const numberFormatOptionsCurrency = {
32+
export const numberFormatOptionsCurrency: NumberFormatOptions = {
3033
currencySign: ["standard", "accounting", undefined],
3134
currencyDisplay: ["code", "symbol", "narrowSymbol", "name", undefined],
32-
currency: Object.keys(currencies)
33-
} as const;
35+
currency: Object.keys(currencies) as [string | undefined, string | undefined],
36+
}
3437

35-
export const numberFormatOptionsUnit = {
36-
unit: units,
38+
export const numberFormatOptionsUnit: NumberFormatOptions = {
39+
unit: units as [string | undefined, string | undefined],
3740
unitDisplay: style,
3841
compactDisplay: ["short", "long", undefined],
3942
notation: ["standard", "scientific", "engineering", "compact", undefined]
40-
} as const;
43+
}

src/lib/format-options/plural-rules.options.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,20 @@ import {
66
roundingPriority,
77
trailingZeroDisplay
88
} from "$lib/format-options/common.options";
9+
import type { CreateOptions, NumberOrUndefinedTuple } from "$types/common";
910

10-
export const pluralRulesFormatOptions = {
11+
export type PluralRulesOptions = CreateOptions<Intl.PluralRulesOptions>;
12+
13+
export const pluralRulesFormatOptions: PluralRulesOptions = {
1114
type: ["cardinal", "ordinal", undefined],
12-
minimumIntegerDigits: [...defaultNumberRange, undefined],
13-
minimumFractionDigits: [...defaultNumberRange, undefined],
14-
maximumFractionDigits: [...defaultNumberRange, undefined],
15-
minimumSignificantDigits: [...defaultNumberRange, undefined],
16-
maximumSignificantDigits: [...defaultNumberRange, undefined],
15+
minimumIntegerDigits: [...defaultNumberRange, undefined] as NumberOrUndefinedTuple,
16+
minimumFractionDigits: [...defaultNumberRange, undefined] as NumberOrUndefinedTuple,
17+
maximumFractionDigits: [...defaultNumberRange, undefined] as NumberOrUndefinedTuple,
18+
minimumSignificantDigits: [...defaultNumberRange, undefined] as NumberOrUndefinedTuple,
19+
maximumSignificantDigits: [...defaultNumberRange, undefined] as NumberOrUndefinedTuple,
1720
roundingIncrement,
1821
roundingMode,
1922
roundingPriority,
2023
trailingZeroDisplay,
2124
localeMatcher
22-
} as const;
25+
};

src/lib/format-options/relative-time-format.options.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
import { localeMatcher, style } from "$lib/format-options/common.options";
2+
import type { CreateOptions } from "$types/common";
3+
4+
export type RelativeTimeFormatOptions = CreateOptions<Intl.RelativeTimeFormatOptions> & {
5+
unit: Intl.RelativeTimeFormatUnit[];
6+
}
27

38
export const relativeTimeFormatUnits: Intl.RelativeTimeFormatUnit[] = [
49
"year",
@@ -19,9 +24,9 @@ export const relativeTimeFormatUnits: Intl.RelativeTimeFormatUnit[] = [
1924
"seconds"
2025
];
2126

22-
export const relativeTimeFormatOptions = {
27+
export const relativeTimeFormatOptions: RelativeTimeFormatOptions = {
2328
numeric: ["always", "auto", undefined],
2429
style,
2530
unit: relativeTimeFormatUnits,
2631
localeMatcher
27-
} as const;
32+
}
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import { localeMatcher } from "$lib/format-options/common.options";
2+
import type { CreateOptions } from "$types/common";
23

3-
export const segmenterOptions = {
4+
export type SegmenterOptions = CreateOptions<Intl.SegmenterOptions>;
5+
6+
export const segmenterOptions: SegmenterOptions = {
47
granularity: ["word", "sentence", "grapheme", undefined],
58
localeMatcher
6-
} as const;
9+
}

0 commit comments

Comments
 (0)