fds-vue-core 6.2.7 → 6.2.10
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/README.md +6 -7
- package/dist/fds-vue-core.cjs.js +169 -517
- package/dist/fds-vue-core.cjs.js.map +1 -1
- package/dist/fds-vue-core.es.js +169 -517
- package/dist/fds-vue-core.es.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +4 -2
- package/src/components/FdsWeekCalendar/FdsWeekCalendar.stories.ts +1 -1
- package/src/components/FdsWeekCalendar/FdsWeekCalendar.vue +38 -20
- package/src/components/FdsWeekCalendar/WeekDay.vue +5 -3
- package/src/components/FdsWeekCalendar/types.ts +1 -0
- package/src/components/FdsWeekCalendar/weekCalendar.utils.ts +7 -15
- package/src/index.ts +12 -1
- package/src/lang/en.json +6 -0
- package/src/lang/sv.json +6 -0
- package/src/plugin/i18n.ts +15 -0
- package/src/plugin/useFdsI18n.ts +40 -0
package/dist/fds-vue-core.cjs.js
CHANGED
|
@@ -13215,7 +13215,7 @@ function startOfYear(date, options) {
|
|
|
13215
13215
|
date_.setHours(0, 0, 0, 0);
|
|
13216
13216
|
return date_;
|
|
13217
13217
|
}
|
|
13218
|
-
const formatDistanceLocale
|
|
13218
|
+
const formatDistanceLocale = {
|
|
13219
13219
|
lessThanXSeconds: {
|
|
13220
13220
|
one: "less than a second",
|
|
13221
13221
|
other: "less than {{count}} seconds"
|
|
@@ -13278,9 +13278,9 @@ const formatDistanceLocale$1 = {
|
|
|
13278
13278
|
other: "almost {{count}} years"
|
|
13279
13279
|
}
|
|
13280
13280
|
};
|
|
13281
|
-
const formatDistance
|
|
13281
|
+
const formatDistance = (token, count, options) => {
|
|
13282
13282
|
let result;
|
|
13283
|
-
const tokenValue = formatDistanceLocale
|
|
13283
|
+
const tokenValue = formatDistanceLocale[token];
|
|
13284
13284
|
if (typeof tokenValue === "string") {
|
|
13285
13285
|
result = tokenValue;
|
|
13286
13286
|
} else if (count === 1) {
|
|
@@ -13304,39 +13304,39 @@ function buildFormatLongFn(args) {
|
|
|
13304
13304
|
return format2;
|
|
13305
13305
|
};
|
|
13306
13306
|
}
|
|
13307
|
-
const dateFormats
|
|
13307
|
+
const dateFormats = {
|
|
13308
13308
|
full: "EEEE, MMMM do, y",
|
|
13309
13309
|
long: "MMMM do, y",
|
|
13310
13310
|
medium: "MMM d, y",
|
|
13311
13311
|
short: "MM/dd/yyyy"
|
|
13312
13312
|
};
|
|
13313
|
-
const timeFormats
|
|
13313
|
+
const timeFormats = {
|
|
13314
13314
|
full: "h:mm:ss a zzzz",
|
|
13315
13315
|
long: "h:mm:ss a z",
|
|
13316
13316
|
medium: "h:mm:ss a",
|
|
13317
13317
|
short: "h:mm a"
|
|
13318
13318
|
};
|
|
13319
|
-
const dateTimeFormats
|
|
13319
|
+
const dateTimeFormats = {
|
|
13320
13320
|
full: "{{date}} 'at' {{time}}",
|
|
13321
13321
|
long: "{{date}} 'at' {{time}}",
|
|
13322
13322
|
medium: "{{date}}, {{time}}",
|
|
13323
13323
|
short: "{{date}}, {{time}}"
|
|
13324
13324
|
};
|
|
13325
|
-
const formatLong
|
|
13325
|
+
const formatLong = {
|
|
13326
13326
|
date: buildFormatLongFn({
|
|
13327
|
-
formats: dateFormats
|
|
13327
|
+
formats: dateFormats,
|
|
13328
13328
|
defaultWidth: "full"
|
|
13329
13329
|
}),
|
|
13330
13330
|
time: buildFormatLongFn({
|
|
13331
|
-
formats: timeFormats
|
|
13331
|
+
formats: timeFormats,
|
|
13332
13332
|
defaultWidth: "full"
|
|
13333
13333
|
}),
|
|
13334
13334
|
dateTime: buildFormatLongFn({
|
|
13335
|
-
formats: dateTimeFormats
|
|
13335
|
+
formats: dateTimeFormats,
|
|
13336
13336
|
defaultWidth: "full"
|
|
13337
13337
|
})
|
|
13338
13338
|
};
|
|
13339
|
-
const formatRelativeLocale
|
|
13339
|
+
const formatRelativeLocale = {
|
|
13340
13340
|
lastWeek: "'last' eeee 'at' p",
|
|
13341
13341
|
yesterday: "'yesterday at' p",
|
|
13342
13342
|
today: "'today at' p",
|
|
@@ -13344,7 +13344,7 @@ const formatRelativeLocale$1 = {
|
|
|
13344
13344
|
nextWeek: "eeee 'at' p",
|
|
13345
13345
|
other: "P"
|
|
13346
13346
|
};
|
|
13347
|
-
const formatRelative
|
|
13347
|
+
const formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale[token];
|
|
13348
13348
|
function buildLocalizeFn(args) {
|
|
13349
13349
|
return (value, options) => {
|
|
13350
13350
|
const context = options?.context ? String(options.context) : "standalone";
|
|
@@ -13362,17 +13362,17 @@ function buildLocalizeFn(args) {
|
|
|
13362
13362
|
return valuesArray[index];
|
|
13363
13363
|
};
|
|
13364
13364
|
}
|
|
13365
|
-
const eraValues
|
|
13365
|
+
const eraValues = {
|
|
13366
13366
|
narrow: ["B", "A"],
|
|
13367
13367
|
abbreviated: ["BC", "AD"],
|
|
13368
13368
|
wide: ["Before Christ", "Anno Domini"]
|
|
13369
13369
|
};
|
|
13370
|
-
const quarterValues
|
|
13370
|
+
const quarterValues = {
|
|
13371
13371
|
narrow: ["1", "2", "3", "4"],
|
|
13372
13372
|
abbreviated: ["Q1", "Q2", "Q3", "Q4"],
|
|
13373
13373
|
wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
|
|
13374
13374
|
};
|
|
13375
|
-
const monthValues
|
|
13375
|
+
const monthValues = {
|
|
13376
13376
|
narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
|
|
13377
13377
|
abbreviated: [
|
|
13378
13378
|
"Jan",
|
|
@@ -13403,7 +13403,7 @@ const monthValues$1 = {
|
|
|
13403
13403
|
"December"
|
|
13404
13404
|
]
|
|
13405
13405
|
};
|
|
13406
|
-
const dayValues
|
|
13406
|
+
const dayValues = {
|
|
13407
13407
|
narrow: ["S", "M", "T", "W", "T", "F", "S"],
|
|
13408
13408
|
short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
|
|
13409
13409
|
abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
|
@@ -13417,7 +13417,7 @@ const dayValues$1 = {
|
|
|
13417
13417
|
"Saturday"
|
|
13418
13418
|
]
|
|
13419
13419
|
};
|
|
13420
|
-
const dayPeriodValues
|
|
13420
|
+
const dayPeriodValues = {
|
|
13421
13421
|
narrow: {
|
|
13422
13422
|
am: "a",
|
|
13423
13423
|
pm: "p",
|
|
@@ -13449,7 +13449,7 @@ const dayPeriodValues$1 = {
|
|
|
13449
13449
|
night: "night"
|
|
13450
13450
|
}
|
|
13451
13451
|
};
|
|
13452
|
-
const formattingDayPeriodValues
|
|
13452
|
+
const formattingDayPeriodValues = {
|
|
13453
13453
|
narrow: {
|
|
13454
13454
|
am: "a",
|
|
13455
13455
|
pm: "p",
|
|
@@ -13481,7 +13481,7 @@ const formattingDayPeriodValues$1 = {
|
|
|
13481
13481
|
night: "at night"
|
|
13482
13482
|
}
|
|
13483
13483
|
};
|
|
13484
|
-
const ordinalNumber
|
|
13484
|
+
const ordinalNumber = (dirtyNumber, _options) => {
|
|
13485
13485
|
const number = Number(dirtyNumber);
|
|
13486
13486
|
const rem100 = number % 100;
|
|
13487
13487
|
if (rem100 > 20 || rem100 < 10) {
|
|
@@ -13496,29 +13496,29 @@ const ordinalNumber$1 = (dirtyNumber, _options) => {
|
|
|
13496
13496
|
}
|
|
13497
13497
|
return number + "th";
|
|
13498
13498
|
};
|
|
13499
|
-
const localize
|
|
13500
|
-
ordinalNumber
|
|
13499
|
+
const localize = {
|
|
13500
|
+
ordinalNumber,
|
|
13501
13501
|
era: buildLocalizeFn({
|
|
13502
|
-
values: eraValues
|
|
13502
|
+
values: eraValues,
|
|
13503
13503
|
defaultWidth: "wide"
|
|
13504
13504
|
}),
|
|
13505
13505
|
quarter: buildLocalizeFn({
|
|
13506
|
-
values: quarterValues
|
|
13506
|
+
values: quarterValues,
|
|
13507
13507
|
defaultWidth: "wide",
|
|
13508
13508
|
argumentCallback: (quarter) => quarter - 1
|
|
13509
13509
|
}),
|
|
13510
13510
|
month: buildLocalizeFn({
|
|
13511
|
-
values: monthValues
|
|
13511
|
+
values: monthValues,
|
|
13512
13512
|
defaultWidth: "wide"
|
|
13513
13513
|
}),
|
|
13514
13514
|
day: buildLocalizeFn({
|
|
13515
|
-
values: dayValues
|
|
13515
|
+
values: dayValues,
|
|
13516
13516
|
defaultWidth: "wide"
|
|
13517
13517
|
}),
|
|
13518
13518
|
dayPeriod: buildLocalizeFn({
|
|
13519
|
-
values: dayPeriodValues
|
|
13519
|
+
values: dayPeriodValues,
|
|
13520
13520
|
defaultWidth: "wide",
|
|
13521
|
-
formattingValues: formattingDayPeriodValues
|
|
13521
|
+
formattingValues: formattingDayPeriodValues,
|
|
13522
13522
|
defaultFormattingWidth: "wide"
|
|
13523
13523
|
})
|
|
13524
13524
|
};
|
|
@@ -13575,30 +13575,30 @@ function buildMatchPatternFn(args) {
|
|
|
13575
13575
|
return { value, rest };
|
|
13576
13576
|
};
|
|
13577
13577
|
}
|
|
13578
|
-
const matchOrdinalNumberPattern
|
|
13579
|
-
const parseOrdinalNumberPattern
|
|
13580
|
-
const matchEraPatterns
|
|
13578
|
+
const matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
|
|
13579
|
+
const parseOrdinalNumberPattern = /\d+/i;
|
|
13580
|
+
const matchEraPatterns = {
|
|
13581
13581
|
narrow: /^(b|a)/i,
|
|
13582
13582
|
abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
|
|
13583
13583
|
wide: /^(before christ|before common era|anno domini|common era)/i
|
|
13584
13584
|
};
|
|
13585
|
-
const parseEraPatterns
|
|
13585
|
+
const parseEraPatterns = {
|
|
13586
13586
|
any: [/^b/i, /^(a|c)/i]
|
|
13587
13587
|
};
|
|
13588
|
-
const matchQuarterPatterns
|
|
13588
|
+
const matchQuarterPatterns = {
|
|
13589
13589
|
narrow: /^[1234]/i,
|
|
13590
13590
|
abbreviated: /^q[1234]/i,
|
|
13591
13591
|
wide: /^[1234](th|st|nd|rd)? quarter/i
|
|
13592
13592
|
};
|
|
13593
|
-
const parseQuarterPatterns
|
|
13593
|
+
const parseQuarterPatterns = {
|
|
13594
13594
|
any: [/1/i, /2/i, /3/i, /4/i]
|
|
13595
13595
|
};
|
|
13596
|
-
const matchMonthPatterns
|
|
13596
|
+
const matchMonthPatterns = {
|
|
13597
13597
|
narrow: /^[jfmasond]/i,
|
|
13598
13598
|
abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
|
|
13599
13599
|
wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i
|
|
13600
13600
|
};
|
|
13601
|
-
const parseMonthPatterns
|
|
13601
|
+
const parseMonthPatterns = {
|
|
13602
13602
|
narrow: [
|
|
13603
13603
|
/^j/i,
|
|
13604
13604
|
/^f/i,
|
|
@@ -13628,21 +13628,21 @@ const parseMonthPatterns$1 = {
|
|
|
13628
13628
|
/^d/i
|
|
13629
13629
|
]
|
|
13630
13630
|
};
|
|
13631
|
-
const matchDayPatterns
|
|
13631
|
+
const matchDayPatterns = {
|
|
13632
13632
|
narrow: /^[smtwf]/i,
|
|
13633
13633
|
short: /^(su|mo|tu|we|th|fr|sa)/i,
|
|
13634
13634
|
abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
|
|
13635
13635
|
wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i
|
|
13636
13636
|
};
|
|
13637
|
-
const parseDayPatterns
|
|
13637
|
+
const parseDayPatterns = {
|
|
13638
13638
|
narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
|
|
13639
13639
|
any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
|
|
13640
13640
|
};
|
|
13641
|
-
const matchDayPeriodPatterns
|
|
13641
|
+
const matchDayPeriodPatterns = {
|
|
13642
13642
|
narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
|
|
13643
13643
|
any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i
|
|
13644
13644
|
};
|
|
13645
|
-
const parseDayPeriodPatterns
|
|
13645
|
+
const parseDayPeriodPatterns = {
|
|
13646
13646
|
any: {
|
|
13647
13647
|
am: /^a/i,
|
|
13648
13648
|
pm: /^p/i,
|
|
@@ -13654,51 +13654,51 @@ const parseDayPeriodPatterns$1 = {
|
|
|
13654
13654
|
night: /night/i
|
|
13655
13655
|
}
|
|
13656
13656
|
};
|
|
13657
|
-
const match
|
|
13657
|
+
const match = {
|
|
13658
13658
|
ordinalNumber: buildMatchPatternFn({
|
|
13659
|
-
matchPattern: matchOrdinalNumberPattern
|
|
13660
|
-
parsePattern: parseOrdinalNumberPattern
|
|
13659
|
+
matchPattern: matchOrdinalNumberPattern,
|
|
13660
|
+
parsePattern: parseOrdinalNumberPattern,
|
|
13661
13661
|
valueCallback: (value) => parseInt(value, 10)
|
|
13662
13662
|
}),
|
|
13663
13663
|
era: buildMatchFn({
|
|
13664
|
-
matchPatterns: matchEraPatterns
|
|
13664
|
+
matchPatterns: matchEraPatterns,
|
|
13665
13665
|
defaultMatchWidth: "wide",
|
|
13666
|
-
parsePatterns: parseEraPatterns
|
|
13666
|
+
parsePatterns: parseEraPatterns,
|
|
13667
13667
|
defaultParseWidth: "any"
|
|
13668
13668
|
}),
|
|
13669
13669
|
quarter: buildMatchFn({
|
|
13670
|
-
matchPatterns: matchQuarterPatterns
|
|
13670
|
+
matchPatterns: matchQuarterPatterns,
|
|
13671
13671
|
defaultMatchWidth: "wide",
|
|
13672
|
-
parsePatterns: parseQuarterPatterns
|
|
13672
|
+
parsePatterns: parseQuarterPatterns,
|
|
13673
13673
|
defaultParseWidth: "any",
|
|
13674
13674
|
valueCallback: (index) => index + 1
|
|
13675
13675
|
}),
|
|
13676
13676
|
month: buildMatchFn({
|
|
13677
|
-
matchPatterns: matchMonthPatterns
|
|
13677
|
+
matchPatterns: matchMonthPatterns,
|
|
13678
13678
|
defaultMatchWidth: "wide",
|
|
13679
|
-
parsePatterns: parseMonthPatterns
|
|
13679
|
+
parsePatterns: parseMonthPatterns,
|
|
13680
13680
|
defaultParseWidth: "any"
|
|
13681
13681
|
}),
|
|
13682
13682
|
day: buildMatchFn({
|
|
13683
|
-
matchPatterns: matchDayPatterns
|
|
13683
|
+
matchPatterns: matchDayPatterns,
|
|
13684
13684
|
defaultMatchWidth: "wide",
|
|
13685
|
-
parsePatterns: parseDayPatterns
|
|
13685
|
+
parsePatterns: parseDayPatterns,
|
|
13686
13686
|
defaultParseWidth: "any"
|
|
13687
13687
|
}),
|
|
13688
13688
|
dayPeriod: buildMatchFn({
|
|
13689
|
-
matchPatterns: matchDayPeriodPatterns
|
|
13689
|
+
matchPatterns: matchDayPeriodPatterns,
|
|
13690
13690
|
defaultMatchWidth: "any",
|
|
13691
|
-
parsePatterns: parseDayPeriodPatterns
|
|
13691
|
+
parsePatterns: parseDayPeriodPatterns,
|
|
13692
13692
|
defaultParseWidth: "any"
|
|
13693
13693
|
})
|
|
13694
13694
|
};
|
|
13695
13695
|
const enUS = {
|
|
13696
13696
|
code: "en-US",
|
|
13697
|
-
formatDistance
|
|
13698
|
-
formatLong
|
|
13699
|
-
formatRelative
|
|
13700
|
-
localize
|
|
13701
|
-
match
|
|
13697
|
+
formatDistance,
|
|
13698
|
+
formatLong,
|
|
13699
|
+
formatRelative,
|
|
13700
|
+
localize,
|
|
13701
|
+
match,
|
|
13702
13702
|
options: {
|
|
13703
13703
|
weekStartsOn: 0,
|
|
13704
13704
|
firstWeekContainsDate: 1
|
|
@@ -14625,423 +14625,88 @@ function subDays(date, amount, options) {
|
|
|
14625
14625
|
function subWeeks(date, amount, options) {
|
|
14626
14626
|
return addWeeks(date, -1, options);
|
|
14627
14627
|
}
|
|
14628
|
-
const
|
|
14629
|
-
|
|
14630
|
-
|
|
14631
|
-
|
|
14632
|
-
|
|
14633
|
-
xSeconds: {
|
|
14634
|
-
one: "en sekund",
|
|
14635
|
-
other: "{{count}} sekunder"
|
|
14636
|
-
},
|
|
14637
|
-
halfAMinute: "en halv minut",
|
|
14638
|
-
lessThanXMinutes: {
|
|
14639
|
-
one: "mindre än en minut",
|
|
14640
|
-
other: "mindre än {{count}} minuter"
|
|
14641
|
-
},
|
|
14642
|
-
xMinutes: {
|
|
14643
|
-
one: "en minut",
|
|
14644
|
-
other: "{{count}} minuter"
|
|
14645
|
-
},
|
|
14646
|
-
aboutXHours: {
|
|
14647
|
-
one: "ungefär en timme",
|
|
14648
|
-
other: "ungefär {{count}} timmar"
|
|
14649
|
-
},
|
|
14650
|
-
xHours: {
|
|
14651
|
-
one: "en timme",
|
|
14652
|
-
other: "{{count}} timmar"
|
|
14653
|
-
},
|
|
14654
|
-
xDays: {
|
|
14655
|
-
one: "en dag",
|
|
14656
|
-
other: "{{count}} dagar"
|
|
14657
|
-
},
|
|
14658
|
-
aboutXWeeks: {
|
|
14659
|
-
one: "ungefär en vecka",
|
|
14660
|
-
other: "ungefär {{count}} veckor"
|
|
14661
|
-
},
|
|
14662
|
-
xWeeks: {
|
|
14663
|
-
one: "en vecka",
|
|
14664
|
-
other: "{{count}} veckor"
|
|
14665
|
-
},
|
|
14666
|
-
aboutXMonths: {
|
|
14667
|
-
one: "ungefär en månad",
|
|
14668
|
-
other: "ungefär {{count}} månader"
|
|
14669
|
-
},
|
|
14670
|
-
xMonths: {
|
|
14671
|
-
one: "en månad",
|
|
14672
|
-
other: "{{count}} månader"
|
|
14673
|
-
},
|
|
14674
|
-
aboutXYears: {
|
|
14675
|
-
one: "ungefär ett år",
|
|
14676
|
-
other: "ungefär {{count}} år"
|
|
14677
|
-
},
|
|
14678
|
-
xYears: {
|
|
14679
|
-
one: "ett år",
|
|
14680
|
-
other: "{{count}} år"
|
|
14681
|
-
},
|
|
14682
|
-
overXYears: {
|
|
14683
|
-
one: "över ett år",
|
|
14684
|
-
other: "över {{count}} år"
|
|
14685
|
-
},
|
|
14686
|
-
almostXYears: {
|
|
14687
|
-
one: "nästan ett år",
|
|
14688
|
-
other: "nästan {{count}} år"
|
|
14689
|
-
}
|
|
14690
|
-
};
|
|
14691
|
-
const wordMapping = [
|
|
14692
|
-
"noll",
|
|
14693
|
-
"en",
|
|
14694
|
-
"två",
|
|
14695
|
-
"tre",
|
|
14696
|
-
"fyra",
|
|
14697
|
-
"fem",
|
|
14698
|
-
"sex",
|
|
14699
|
-
"sju",
|
|
14700
|
-
"åtta",
|
|
14701
|
-
"nio",
|
|
14702
|
-
"tio",
|
|
14703
|
-
"elva",
|
|
14704
|
-
"tolv"
|
|
14705
|
-
];
|
|
14706
|
-
const formatDistance = (token, count, options) => {
|
|
14707
|
-
let result;
|
|
14708
|
-
const tokenValue = formatDistanceLocale[token];
|
|
14709
|
-
if (typeof tokenValue === "string") {
|
|
14710
|
-
result = tokenValue;
|
|
14711
|
-
} else if (count === 1) {
|
|
14712
|
-
result = tokenValue.one;
|
|
14713
|
-
} else {
|
|
14714
|
-
result = tokenValue.other.replace(
|
|
14715
|
-
"{{count}}",
|
|
14716
|
-
count < 13 ? wordMapping[count] : String(count)
|
|
14717
|
-
);
|
|
14718
|
-
}
|
|
14719
|
-
if (options?.addSuffix) {
|
|
14720
|
-
if (options.comparison && options.comparison > 0) {
|
|
14721
|
-
return "om " + result;
|
|
14722
|
-
} else {
|
|
14723
|
-
return result + " sedan";
|
|
14724
|
-
}
|
|
14725
|
-
}
|
|
14726
|
-
return result;
|
|
14727
|
-
};
|
|
14728
|
-
const dateFormats = {
|
|
14729
|
-
full: "EEEE d MMMM y",
|
|
14730
|
-
long: "d MMMM y",
|
|
14731
|
-
medium: "d MMM y",
|
|
14732
|
-
short: "y-MM-dd"
|
|
14733
|
-
};
|
|
14734
|
-
const timeFormats = {
|
|
14735
|
-
full: "'kl'. HH:mm:ss zzzz",
|
|
14736
|
-
long: "HH:mm:ss z",
|
|
14737
|
-
medium: "HH:mm:ss",
|
|
14738
|
-
short: "HH:mm"
|
|
14739
|
-
};
|
|
14740
|
-
const dateTimeFormats = {
|
|
14741
|
-
full: "{{date}} 'kl.' {{time}}",
|
|
14742
|
-
long: "{{date}} 'kl.' {{time}}",
|
|
14743
|
-
medium: "{{date}} {{time}}",
|
|
14744
|
-
short: "{{date}} {{time}}"
|
|
14745
|
-
};
|
|
14746
|
-
const formatLong = {
|
|
14747
|
-
date: buildFormatLongFn({
|
|
14748
|
-
formats: dateFormats,
|
|
14749
|
-
defaultWidth: "full"
|
|
14750
|
-
}),
|
|
14751
|
-
time: buildFormatLongFn({
|
|
14752
|
-
formats: timeFormats,
|
|
14753
|
-
defaultWidth: "full"
|
|
14754
|
-
}),
|
|
14755
|
-
dateTime: buildFormatLongFn({
|
|
14756
|
-
formats: dateTimeFormats,
|
|
14757
|
-
defaultWidth: "full"
|
|
14758
|
-
})
|
|
14628
|
+
const en = {
|
|
14629
|
+
"FdsWeekCalendar.nextWeek": "Next week",
|
|
14630
|
+
"FdsWeekCalendar.previousWeek": "Previous week",
|
|
14631
|
+
"FdsWeekCalendar.today": "Today",
|
|
14632
|
+
"FdsWeekCalendar.week": "week"
|
|
14759
14633
|
};
|
|
14760
|
-
const
|
|
14761
|
-
|
|
14762
|
-
|
|
14763
|
-
today: "
|
|
14764
|
-
|
|
14765
|
-
nextWeek: "EEEE 'kl.' p",
|
|
14766
|
-
other: "P"
|
|
14767
|
-
};
|
|
14768
|
-
const formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale[token];
|
|
14769
|
-
const eraValues = {
|
|
14770
|
-
narrow: ["f.Kr.", "e.Kr."],
|
|
14771
|
-
abbreviated: ["f.Kr.", "e.Kr."],
|
|
14772
|
-
wide: ["före Kristus", "efter Kristus"]
|
|
14773
|
-
};
|
|
14774
|
-
const quarterValues = {
|
|
14775
|
-
narrow: ["1", "2", "3", "4"],
|
|
14776
|
-
abbreviated: ["Q1", "Q2", "Q3", "Q4"],
|
|
14777
|
-
wide: ["1:a kvartalet", "2:a kvartalet", "3:e kvartalet", "4:e kvartalet"]
|
|
14778
|
-
};
|
|
14779
|
-
const monthValues = {
|
|
14780
|
-
narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
|
|
14781
|
-
abbreviated: [
|
|
14782
|
-
"jan.",
|
|
14783
|
-
"feb.",
|
|
14784
|
-
"mars",
|
|
14785
|
-
"apr.",
|
|
14786
|
-
"maj",
|
|
14787
|
-
"juni",
|
|
14788
|
-
"juli",
|
|
14789
|
-
"aug.",
|
|
14790
|
-
"sep.",
|
|
14791
|
-
"okt.",
|
|
14792
|
-
"nov.",
|
|
14793
|
-
"dec."
|
|
14794
|
-
],
|
|
14795
|
-
wide: [
|
|
14796
|
-
"januari",
|
|
14797
|
-
"februari",
|
|
14798
|
-
"mars",
|
|
14799
|
-
"april",
|
|
14800
|
-
"maj",
|
|
14801
|
-
"juni",
|
|
14802
|
-
"juli",
|
|
14803
|
-
"augusti",
|
|
14804
|
-
"september",
|
|
14805
|
-
"oktober",
|
|
14806
|
-
"november",
|
|
14807
|
-
"december"
|
|
14808
|
-
]
|
|
14634
|
+
const sv = {
|
|
14635
|
+
"FdsWeekCalendar.nextWeek": "Nästa vecka",
|
|
14636
|
+
"FdsWeekCalendar.previousWeek": "Föregående vecka",
|
|
14637
|
+
"FdsWeekCalendar.today": "Idag",
|
|
14638
|
+
"FdsWeekCalendar.week": "vecka"
|
|
14809
14639
|
};
|
|
14810
|
-
const
|
|
14811
|
-
|
|
14812
|
-
|
|
14813
|
-
|
|
14814
|
-
wide: ["söndag", "måndag", "tisdag", "onsdag", "torsdag", "fredag", "lördag"]
|
|
14640
|
+
const FDS_VUE_CORE_I18N_KEY = /* @__PURE__ */ Symbol("fds-vue-core:i18n");
|
|
14641
|
+
const translations = {
|
|
14642
|
+
en,
|
|
14643
|
+
sv
|
|
14815
14644
|
};
|
|
14816
|
-
const
|
|
14817
|
-
|
|
14818
|
-
|
|
14819
|
-
|
|
14820
|
-
|
|
14821
|
-
|
|
14822
|
-
|
|
14823
|
-
|
|
14824
|
-
|
|
14825
|
-
|
|
14826
|
-
|
|
14827
|
-
|
|
14828
|
-
|
|
14829
|
-
|
|
14830
|
-
|
|
14831
|
-
|
|
14832
|
-
|
|
14833
|
-
|
|
14834
|
-
|
|
14835
|
-
|
|
14836
|
-
|
|
14837
|
-
|
|
14838
|
-
|
|
14839
|
-
|
|
14840
|
-
midnight: "midnatt",
|
|
14841
|
-
noon: "middag",
|
|
14842
|
-
morning: "morgon",
|
|
14843
|
-
afternoon: "eftermiddag",
|
|
14844
|
-
evening: "kväll",
|
|
14845
|
-
night: "natt"
|
|
14846
|
-
}
|
|
14645
|
+
const useFdsI18n = () => {
|
|
14646
|
+
const i18n = vue.inject(FDS_VUE_CORE_I18N_KEY, void 0);
|
|
14647
|
+
const locale = vue.computed(() => {
|
|
14648
|
+
const locale2 = i18n?.global?.locale ?? i18n?.locale;
|
|
14649
|
+
if (typeof locale2 === "string") return locale2;
|
|
14650
|
+
if (locale2 && typeof locale2 === "object" && "value" in locale2 && typeof locale2.value === "string") {
|
|
14651
|
+
return locale2.value;
|
|
14652
|
+
}
|
|
14653
|
+
return "sv-SE";
|
|
14654
|
+
});
|
|
14655
|
+
const activeLanguage = vue.computed(() => locale.value.toLowerCase().split("-")[0]);
|
|
14656
|
+
const dictionary = vue.computed(() => {
|
|
14657
|
+
const currentDictionary = translations[activeLanguage.value];
|
|
14658
|
+
return currentDictionary ?? translations.sv;
|
|
14659
|
+
});
|
|
14660
|
+
const t = (key) => {
|
|
14661
|
+
const value = dictionary.value[key];
|
|
14662
|
+
return typeof value === "string" ? value : "";
|
|
14663
|
+
};
|
|
14664
|
+
return {
|
|
14665
|
+
i18n,
|
|
14666
|
+
locale,
|
|
14667
|
+
t
|
|
14668
|
+
};
|
|
14847
14669
|
};
|
|
14848
|
-
const
|
|
14849
|
-
|
|
14850
|
-
|
|
14851
|
-
pm: "em",
|
|
14852
|
-
midnight: "midnatt",
|
|
14853
|
-
noon: "middag",
|
|
14854
|
-
morning: "på morg.",
|
|
14855
|
-
afternoon: "på efterm.",
|
|
14856
|
-
evening: "på kvällen",
|
|
14857
|
-
night: "på natten"
|
|
14858
|
-
},
|
|
14859
|
-
abbreviated: {
|
|
14860
|
-
am: "fm",
|
|
14861
|
-
pm: "em",
|
|
14862
|
-
midnight: "midnatt",
|
|
14863
|
-
noon: "middag",
|
|
14864
|
-
morning: "på morg.",
|
|
14865
|
-
afternoon: "på efterm.",
|
|
14866
|
-
evening: "på kvällen",
|
|
14867
|
-
night: "på natten"
|
|
14868
|
-
},
|
|
14869
|
-
wide: {
|
|
14870
|
-
am: "fm",
|
|
14871
|
-
pm: "em",
|
|
14872
|
-
midnight: "midnatt",
|
|
14873
|
-
noon: "middag",
|
|
14874
|
-
morning: "på morgonen",
|
|
14875
|
-
afternoon: "på eftermiddagen",
|
|
14876
|
-
evening: "på kvällen",
|
|
14877
|
-
night: "på natten"
|
|
14878
|
-
}
|
|
14670
|
+
const capitalizeFirstLetter$1 = (value) => {
|
|
14671
|
+
if (!value) return value;
|
|
14672
|
+
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
14879
14673
|
};
|
|
14880
|
-
const
|
|
14881
|
-
const
|
|
14882
|
-
const
|
|
14883
|
-
|
|
14884
|
-
|
|
14885
|
-
|
|
14886
|
-
|
|
14887
|
-
|
|
14888
|
-
}
|
|
14674
|
+
const getOverlappingMonths = (week, locale = "sv-SE") => {
|
|
14675
|
+
const startDayMonth = startOfISOWeek(week);
|
|
14676
|
+
const endDayMonth = addDays(startDayMonth, 6);
|
|
14677
|
+
const shortMonthFormatter = new Intl.DateTimeFormat(locale, { month: "short" });
|
|
14678
|
+
const longMonthFormatter = new Intl.DateTimeFormat(locale, { month: "long" });
|
|
14679
|
+
if (!isSameMonth(startDayMonth, endDayMonth)) {
|
|
14680
|
+
return `${capitalizeFirstLetter$1(shortMonthFormatter.format(startDayMonth).replace(".", ""))} - ${capitalizeFirstLetter$1(
|
|
14681
|
+
shortMonthFormatter.format(endDayMonth).replace(".", "")
|
|
14682
|
+
)}`;
|
|
14889
14683
|
}
|
|
14890
|
-
return
|
|
14891
|
-
};
|
|
14892
|
-
const localize = {
|
|
14893
|
-
ordinalNumber,
|
|
14894
|
-
era: buildLocalizeFn({
|
|
14895
|
-
values: eraValues,
|
|
14896
|
-
defaultWidth: "wide"
|
|
14897
|
-
}),
|
|
14898
|
-
quarter: buildLocalizeFn({
|
|
14899
|
-
values: quarterValues,
|
|
14900
|
-
defaultWidth: "wide",
|
|
14901
|
-
argumentCallback: (quarter) => quarter - 1
|
|
14902
|
-
}),
|
|
14903
|
-
month: buildLocalizeFn({
|
|
14904
|
-
values: monthValues,
|
|
14905
|
-
defaultWidth: "wide"
|
|
14906
|
-
}),
|
|
14907
|
-
day: buildLocalizeFn({
|
|
14908
|
-
values: dayValues,
|
|
14909
|
-
defaultWidth: "wide"
|
|
14910
|
-
}),
|
|
14911
|
-
dayPeriod: buildLocalizeFn({
|
|
14912
|
-
values: dayPeriodValues,
|
|
14913
|
-
defaultWidth: "wide",
|
|
14914
|
-
formattingValues: formattingDayPeriodValues,
|
|
14915
|
-
defaultFormattingWidth: "wide"
|
|
14916
|
-
})
|
|
14917
|
-
};
|
|
14918
|
-
const matchOrdinalNumberPattern = /^(\d+)(:a|:e)?/i;
|
|
14919
|
-
const parseOrdinalNumberPattern = /\d+/i;
|
|
14920
|
-
const matchEraPatterns = {
|
|
14921
|
-
narrow: /^(f\.? ?Kr\.?|f\.? ?v\.? ?t\.?|e\.? ?Kr\.?|v\.? ?t\.?)/i,
|
|
14922
|
-
abbreviated: /^(f\.? ?Kr\.?|f\.? ?v\.? ?t\.?|e\.? ?Kr\.?|v\.? ?t\.?)/i,
|
|
14923
|
-
wide: /^(före Kristus|före vår tid|efter Kristus|vår tid)/i
|
|
14924
|
-
};
|
|
14925
|
-
const parseEraPatterns = {
|
|
14926
|
-
any: [/^f/i, /^[ev]/i]
|
|
14927
|
-
};
|
|
14928
|
-
const matchQuarterPatterns = {
|
|
14929
|
-
narrow: /^[1234]/i,
|
|
14930
|
-
abbreviated: /^q[1234]/i,
|
|
14931
|
-
wide: /^[1234](:a|:e)? kvartalet/i
|
|
14932
|
-
};
|
|
14933
|
-
const parseQuarterPatterns = {
|
|
14934
|
-
any: [/1/i, /2/i, /3/i, /4/i]
|
|
14684
|
+
return capitalizeFirstLetter$1(longMonthFormatter.format(startOfISOWeek(week)));
|
|
14935
14685
|
};
|
|
14936
|
-
const
|
|
14937
|
-
|
|
14938
|
-
|
|
14939
|
-
|
|
14940
|
-
|
|
14941
|
-
|
|
14942
|
-
narrow: [
|
|
14943
|
-
/^j/i,
|
|
14944
|
-
/^f/i,
|
|
14945
|
-
/^m/i,
|
|
14946
|
-
/^a/i,
|
|
14947
|
-
/^m/i,
|
|
14948
|
-
/^j/i,
|
|
14949
|
-
/^j/i,
|
|
14950
|
-
/^a/i,
|
|
14951
|
-
/^s/i,
|
|
14952
|
-
/^o/i,
|
|
14953
|
-
/^n/i,
|
|
14954
|
-
/^d/i
|
|
14955
|
-
],
|
|
14956
|
-
any: [
|
|
14957
|
-
/^ja/i,
|
|
14958
|
-
/^f/i,
|
|
14959
|
-
/^mar/i,
|
|
14960
|
-
/^ap/i,
|
|
14961
|
-
/^maj/i,
|
|
14962
|
-
/^jun/i,
|
|
14963
|
-
/^jul/i,
|
|
14964
|
-
/^au/i,
|
|
14965
|
-
/^s/i,
|
|
14966
|
-
/^o/i,
|
|
14967
|
-
/^n/i,
|
|
14968
|
-
/^d/i
|
|
14969
|
-
]
|
|
14970
|
-
};
|
|
14971
|
-
const matchDayPatterns = {
|
|
14972
|
-
narrow: /^[smtofl]/i,
|
|
14973
|
-
short: /^(sö|må|ti|on|to|fr|lö)/i,
|
|
14974
|
-
abbreviated: /^(sön|mån|tis|ons|tors|fre|lör)/i,
|
|
14975
|
-
wide: /^(söndag|måndag|tisdag|onsdag|torsdag|fredag|lördag)/i
|
|
14976
|
-
};
|
|
14977
|
-
const parseDayPatterns = {
|
|
14978
|
-
any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i]
|
|
14979
|
-
};
|
|
14980
|
-
const matchDayPeriodPatterns = {
|
|
14981
|
-
any: /^([fe]\.?\s?m\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i
|
|
14982
|
-
};
|
|
14983
|
-
const parseDayPeriodPatterns = {
|
|
14984
|
-
any: {
|
|
14985
|
-
am: /^f/i,
|
|
14986
|
-
pm: /^e/i,
|
|
14987
|
-
midnight: /^midn/i,
|
|
14988
|
-
noon: /^midd/i,
|
|
14989
|
-
morning: /morgon/i,
|
|
14990
|
-
afternoon: /eftermiddag/i,
|
|
14991
|
-
evening: /kväll/i,
|
|
14992
|
-
night: /natt/i
|
|
14686
|
+
const getDaysInWeek = (weekStart) => {
|
|
14687
|
+
const startOfWeek2 = startOfISOWeek(weekStart);
|
|
14688
|
+
const day = subDays(startOfWeek2);
|
|
14689
|
+
const calendar = [];
|
|
14690
|
+
for (let index = 0; index < 7; index++) {
|
|
14691
|
+
calendar.push(addDays(day, index + 1));
|
|
14993
14692
|
}
|
|
14693
|
+
return calendar;
|
|
14994
14694
|
};
|
|
14995
|
-
const
|
|
14996
|
-
|
|
14997
|
-
|
|
14998
|
-
|
|
14999
|
-
|
|
15000
|
-
|
|
15001
|
-
|
|
15002
|
-
|
|
15003
|
-
defaultMatchWidth: "wide",
|
|
15004
|
-
parsePatterns: parseEraPatterns,
|
|
15005
|
-
defaultParseWidth: "any"
|
|
15006
|
-
}),
|
|
15007
|
-
quarter: buildMatchFn({
|
|
15008
|
-
matchPatterns: matchQuarterPatterns,
|
|
15009
|
-
defaultMatchWidth: "wide",
|
|
15010
|
-
parsePatterns: parseQuarterPatterns,
|
|
15011
|
-
defaultParseWidth: "any",
|
|
15012
|
-
valueCallback: (index) => index + 1
|
|
15013
|
-
}),
|
|
15014
|
-
month: buildMatchFn({
|
|
15015
|
-
matchPatterns: matchMonthPatterns,
|
|
15016
|
-
defaultMatchWidth: "wide",
|
|
15017
|
-
parsePatterns: parseMonthPatterns,
|
|
15018
|
-
defaultParseWidth: "any"
|
|
15019
|
-
}),
|
|
15020
|
-
day: buildMatchFn({
|
|
15021
|
-
matchPatterns: matchDayPatterns,
|
|
15022
|
-
defaultMatchWidth: "wide",
|
|
15023
|
-
parsePatterns: parseDayPatterns,
|
|
15024
|
-
defaultParseWidth: "any"
|
|
15025
|
-
}),
|
|
15026
|
-
dayPeriod: buildMatchFn({
|
|
15027
|
-
matchPatterns: matchDayPeriodPatterns,
|
|
15028
|
-
defaultMatchWidth: "any",
|
|
15029
|
-
parsePatterns: parseDayPeriodPatterns,
|
|
15030
|
-
defaultParseWidth: "any"
|
|
15031
|
-
})
|
|
14695
|
+
const getDaysOfLastWeek = (week) => getDaysInWeek(week);
|
|
14696
|
+
const getStartAndEndRangeFromWeek = (week) => {
|
|
14697
|
+
const lastDay = week.at(-1);
|
|
14698
|
+
const firstDay = week.at(0);
|
|
14699
|
+
return {
|
|
14700
|
+
endDate: lastDay ? format(lastDay, "yyyy-MM-dd") : void 0,
|
|
14701
|
+
startDate: firstDay ? format(firstDay, "yyyy-MM-dd") : void 0
|
|
14702
|
+
};
|
|
15032
14703
|
};
|
|
15033
|
-
const
|
|
15034
|
-
|
|
15035
|
-
|
|
15036
|
-
|
|
15037
|
-
formatRelative,
|
|
15038
|
-
localize,
|
|
15039
|
-
match,
|
|
15040
|
-
options: {
|
|
15041
|
-
weekStartsOn: 1,
|
|
15042
|
-
firstWeekContainsDate: 4
|
|
15043
|
-
}
|
|
14704
|
+
const checkIfDateIsBeforeToday = (date) => {
|
|
14705
|
+
const startOfDate = startOfDay(date);
|
|
14706
|
+
const startOfToday = startOfDay(/* @__PURE__ */ new Date());
|
|
14707
|
+
return isAfter(startOfToday, startOfDate);
|
|
15044
14708
|
};
|
|
14709
|
+
const checkIfDateIsEnabled = (date, enabledDates) => enabledDates.some((enabledDate) => isSameDay(enabledDate, date));
|
|
15045
14710
|
const _hoisted_1$6 = ["disabled"];
|
|
15046
14711
|
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
15047
14712
|
__name: "WeekDay",
|
|
@@ -15055,6 +14720,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
15055
14720
|
setup(__props, { emit: __emit }) {
|
|
15056
14721
|
const props = __props;
|
|
15057
14722
|
const emit = __emit;
|
|
14723
|
+
const { locale, t } = useFdsI18n();
|
|
15058
14724
|
const classes = vue.computed(() => [
|
|
15059
14725
|
"box-border flex h-[64px] w-full max-w-[100px] flex-1 basis-0 flex-col items-center justify-center border-2 border-transparent px-1 py-1 transition-colors cursor-pointer",
|
|
15060
14726
|
props.disabled ? "" : "hover:border-2 hover:border-blue-500 border-solid",
|
|
@@ -15076,7 +14742,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
15076
14742
|
emit("select-date", props.selected ? null : props.date);
|
|
15077
14743
|
};
|
|
15078
14744
|
const weekdayLabel = vue.computed(() => {
|
|
15079
|
-
const value =
|
|
14745
|
+
const value = new Intl.DateTimeFormat(locale.value, { weekday: "short" }).format(props.date);
|
|
15080
14746
|
return value.charAt(0).toUpperCase() + value.slice(1).replace(".", "");
|
|
15081
14747
|
});
|
|
15082
14748
|
return (_ctx, _cache) => {
|
|
@@ -15093,9 +14759,9 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
15093
14759
|
class: vue.normalizeClass(weekdayLabelClasses.value)
|
|
15094
14760
|
}, [
|
|
15095
14761
|
__props.isToday ? (vue.openBlock(), vue.createBlock(_sfc_main$t, { key: 0 }, {
|
|
15096
|
-
default: vue.withCtx(() => [
|
|
15097
|
-
vue.createTextVNode("
|
|
15098
|
-
])
|
|
14762
|
+
default: vue.withCtx(() => [
|
|
14763
|
+
vue.createTextVNode(vue.toDisplayString(vue.unref(t)("FdsWeekCalendar.today")), 1)
|
|
14764
|
+
]),
|
|
15099
14765
|
_: 1
|
|
15100
14766
|
})) : (vue.openBlock(), vue.createBlock(_sfc_main$t, { key: 1 }, {
|
|
15101
14767
|
default: vue.withCtx(() => [
|
|
@@ -15108,44 +14774,6 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
15108
14774
|
};
|
|
15109
14775
|
}
|
|
15110
14776
|
});
|
|
15111
|
-
const capitalizeFirstLetter$1 = (value) => {
|
|
15112
|
-
if (!value) return value;
|
|
15113
|
-
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
15114
|
-
};
|
|
15115
|
-
const getOverlappingMonths = (week) => {
|
|
15116
|
-
const startDayMonth = startOfISOWeek(week);
|
|
15117
|
-
const endDayMonth = addDays(startDayMonth, 6);
|
|
15118
|
-
if (!isSameMonth(startDayMonth, endDayMonth)) {
|
|
15119
|
-
return `${capitalizeFirstLetter$1(format(startDayMonth, "MMM", { locale: sv }).replace(".", ""))} - ${capitalizeFirstLetter$1(
|
|
15120
|
-
format(endDayMonth, "MMM", { locale: sv }).replace(".", "")
|
|
15121
|
-
)}`;
|
|
15122
|
-
}
|
|
15123
|
-
return capitalizeFirstLetter$1(format(startOfISOWeek(week), "MMMM", { locale: sv }));
|
|
15124
|
-
};
|
|
15125
|
-
const getDaysInWeek = (weekStart) => {
|
|
15126
|
-
const startOfWeek2 = startOfISOWeek(weekStart);
|
|
15127
|
-
const day = subDays(startOfWeek2);
|
|
15128
|
-
const calendar = [];
|
|
15129
|
-
for (let index = 0; index < 7; index++) {
|
|
15130
|
-
calendar.push(addDays(day, index + 1));
|
|
15131
|
-
}
|
|
15132
|
-
return calendar;
|
|
15133
|
-
};
|
|
15134
|
-
const getDaysOfLastWeek = (week) => getDaysInWeek(week);
|
|
15135
|
-
const getStartAndEndRangeFromWeek = (week) => {
|
|
15136
|
-
const lastDay = week.at(-1);
|
|
15137
|
-
const firstDay = week.at(0);
|
|
15138
|
-
return {
|
|
15139
|
-
endDate: lastDay ? format(lastDay, "yyyy-MM-dd") : void 0,
|
|
15140
|
-
startDate: firstDay ? format(firstDay, "yyyy-MM-dd") : void 0
|
|
15141
|
-
};
|
|
15142
|
-
};
|
|
15143
|
-
const checkIfDateIsBeforeToday = (date) => {
|
|
15144
|
-
const startOfDate = startOfDay(date);
|
|
15145
|
-
const startOfToday = startOfDay(/* @__PURE__ */ new Date());
|
|
15146
|
-
return isAfter(startOfToday, startOfDate);
|
|
15147
|
-
};
|
|
15148
|
-
const checkIfDateIsEnabled = (date, enabledDates) => enabledDates.some((enabledDate) => isSameDay(enabledDate, date));
|
|
15149
14777
|
const _hoisted_1$5 = { class: "mb-6" };
|
|
15150
14778
|
const _hoisted_2$4 = { class: "max-w-[487px]" };
|
|
15151
14779
|
const _hoisted_3$4 = { class: "mb-3 flex w-full flex-row items-center" };
|
|
@@ -15166,6 +14794,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
15166
14794
|
disableNextWeek: { type: Boolean, default: false },
|
|
15167
14795
|
enableHorizontalAnimation: { type: Boolean, default: true },
|
|
15168
14796
|
minWeek: { default: void 0 },
|
|
14797
|
+
goToWeek: {},
|
|
15169
14798
|
maxDate: { default: void 0 },
|
|
15170
14799
|
previewOtherDays: { type: Boolean, default: false },
|
|
15171
14800
|
selected: { default: null },
|
|
@@ -15179,13 +14808,16 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
15179
14808
|
setup(__props, { emit: __emit }) {
|
|
15180
14809
|
const props = __props;
|
|
15181
14810
|
const emit = __emit;
|
|
14811
|
+
const { locale, t } = useFdsI18n();
|
|
15182
14812
|
const currentWeek = vue.ref(props.minWeek ?? startOfISOWeek(/* @__PURE__ */ new Date()));
|
|
15183
14813
|
const selectedDay = vue.ref(props.selected ?? null);
|
|
15184
14814
|
const slideDirection = vue.ref("left");
|
|
15185
14815
|
const weekToRender = vue.computed(() => getDaysInWeek(currentWeek.value));
|
|
15186
14816
|
const visibleWeekDays = vue.computed(() => weekToRender.value.filter((day) => getISODay(day) <= 5));
|
|
15187
14817
|
const lastWeek = vue.computed(() => getDaysOfLastWeek(subWeeks(currentWeek.value)));
|
|
15188
|
-
const weekText = vue.computed(
|
|
14818
|
+
const weekText = vue.computed(
|
|
14819
|
+
() => `${getOverlappingMonths(currentWeek.value, locale.value)} (${t("FdsWeekCalendar.week")} ${getISOWeek(currentWeek.value)})`
|
|
14820
|
+
);
|
|
15189
14821
|
const lastDayOfPreviousWeek = vue.computed(() => lastWeek.value[lastWeek.value.length - 1]);
|
|
15190
14822
|
const disableLastWeekInteraction = vue.computed(
|
|
15191
14823
|
() => !!props.disablePreviousWeek || !!lastDayOfPreviousWeek.value && checkIfDateIsBeforeToday(lastDayOfPreviousWeek.value) || !!props.minWeek && isBefore(subWeeks(currentWeek.value), startOfISOWeek(props.minWeek))
|
|
@@ -15245,6 +14877,17 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
15245
14877
|
emit("select-date", newSelected ?? null);
|
|
15246
14878
|
}
|
|
15247
14879
|
);
|
|
14880
|
+
vue.watch(
|
|
14881
|
+
() => props.goToWeek?.getTime(),
|
|
14882
|
+
(newTimestamp) => {
|
|
14883
|
+
if (!newTimestamp) return;
|
|
14884
|
+
const normalizedWeek = startOfISOWeek(new Date(newTimestamp));
|
|
14885
|
+
if (isSameWeek(normalizedWeek, currentWeek.value, { weekStartsOn: 1 })) return;
|
|
14886
|
+
slideDirection.value = normalizedWeek.getTime() > currentWeek.value.getTime() ? "left" : "right";
|
|
14887
|
+
onHandleSetCurrentWeek(normalizedWeek);
|
|
14888
|
+
},
|
|
14889
|
+
{ immediate: true }
|
|
14890
|
+
);
|
|
15248
14891
|
const onHandleSelectedDay = (weekDay) => {
|
|
15249
14892
|
selectedDay.value = weekDay;
|
|
15250
14893
|
emit("select-date", weekDay);
|
|
@@ -15255,17 +14898,22 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
15255
14898
|
}
|
|
15256
14899
|
currentWeek.value = week;
|
|
15257
14900
|
};
|
|
14901
|
+
const navigateToWeek = (week) => {
|
|
14902
|
+
const normalizedWeek = startOfISOWeek(week);
|
|
14903
|
+
if (isSameWeek(normalizedWeek, currentWeek.value, { weekStartsOn: 1 })) return;
|
|
14904
|
+
const isForward = normalizedWeek.getTime() > currentWeek.value.getTime();
|
|
14905
|
+
if (isForward && disableNextWeekInteraction.value) return;
|
|
14906
|
+
if (!isForward && disableLastWeekInteraction.value) return;
|
|
14907
|
+
slideDirection.value = isForward ? "left" : "right";
|
|
14908
|
+
onHandleSetCurrentWeek(normalizedWeek);
|
|
14909
|
+
};
|
|
15258
14910
|
const incrementWeek = () => {
|
|
15259
|
-
if (disableNextWeekInteraction.value) return;
|
|
15260
|
-
slideDirection.value = "left";
|
|
15261
14911
|
emit("increment-week");
|
|
15262
|
-
|
|
14912
|
+
navigateToWeek(addWeeks(currentWeek.value, 1));
|
|
15263
14913
|
};
|
|
15264
14914
|
const decrementWeek = () => {
|
|
15265
|
-
if (disableLastWeekInteraction.value) return;
|
|
15266
|
-
slideDirection.value = "right";
|
|
15267
14915
|
emit("decrement-week");
|
|
15268
|
-
|
|
14916
|
+
navigateToWeek(subWeeks(currentWeek.value));
|
|
15269
14917
|
};
|
|
15270
14918
|
const isWeekDayDisabled = (weekDay) => checkIfDateIsBeforeToday(weekDay) || !checkIfDateIsEnabled(weekDay, props.enabledDates);
|
|
15271
14919
|
const isTodayDate = (weekDay) => isSameDay(weekDay, /* @__PURE__ */ new Date());
|
|
@@ -15278,15 +14926,15 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
15278
14926
|
vue.createVNode(_sfc_main$I, {
|
|
15279
14927
|
icon: "arrowLeft",
|
|
15280
14928
|
disabled: disableLastWeekInteraction.value,
|
|
15281
|
-
"aria-label": "
|
|
14929
|
+
"aria-label": vue.unref(t)("FdsWeekCalendar.previousWeek"),
|
|
15282
14930
|
onClick: decrementWeek
|
|
15283
|
-
}, null, 8, ["disabled"]),
|
|
14931
|
+
}, null, 8, ["disabled", "aria-label"]),
|
|
15284
14932
|
vue.createVNode(_sfc_main$I, {
|
|
15285
14933
|
icon: "arrowRight",
|
|
15286
14934
|
disabled: disableNextWeekInteraction.value,
|
|
15287
|
-
"aria-label": "
|
|
14935
|
+
"aria-label": vue.unref(t)("FdsWeekCalendar.nextWeek"),
|
|
15288
14936
|
onClick: incrementWeek
|
|
15289
|
-
}, null, 8, ["disabled"])
|
|
14937
|
+
}, null, 8, ["disabled", "aria-label"])
|
|
15290
14938
|
])
|
|
15291
14939
|
]),
|
|
15292
14940
|
vue.createElementVNode("div", _hoisted_6$2, [
|
|
@@ -16685,7 +16333,10 @@ const logoFeelgoodColored = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.or
|
|
|
16685
16333
|
const logoFeelgoodLight = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='83'%20xmlns:v='https://vecta.io/nano'%3e%3cpath%20fill='%23fff'%20d='M39.389%2011.947L36.139%2026h.001%208.038v3H35.55l-2.575%2012.093c-.813%203.982-1.716%207.964-2.711%2011.857-1.625%206.336-5.781%2017.378-9.576%2022.628C16.804%2081.009%2013.641%2083%206.866%2083%203.433%2083%200%2080.375%200%2076.845c0-2.353%201.806-4.344%204.246-4.344%202.078%200%204.246%201.266%204.246%203.62%200%201.086-.361%201.72-.723%202.172s-.722.724-.722%201.267c0%201.177%201.535%201.177%202.348%201.177%202.982%200%205.692-2.263%207.77-9.052%201.445-4.706%202.259-9.684%203.162-14.481L25.948%2029h-8.421l-.001-3h9.258s-.076.268%200%200c2.628-9.359%206.73-20.689%2016.038-24.824C44.268.543%2045.984%200%2048.514%200%2052.85%200%2058%202.262%2058%207.241c0%203.077-1.897%204.706-4.879%204.706-2.62%200-3.975-1.629-4.246-4.163-.18-1.448.813-2.897%201.626-3.62%201.988-1.72-1.626-1.902-2.529-1.902-4.427%200-7.318%204.254-8.583%209.685zm9.227%2028.868h8.559v-4.608c0-5.186-2.222-5.432-4.279-5.432-2.881%200-4.28%201.727-4.28%205.679v4.361zm17.53%201.976h-17.53v7.571c0%205.926%202.222%208.807%205.926%208.807%204.938%200%208.888-2.634%209.958-8.231h1.975c-1.317%206.337-5.843%2010.452-12.427%2010.452-9.547%200-14.978-7.242-14.978-16.295%200-8.148%205.596-16.049%2014.319-16.049%207.654%200%2012.757%206.584%2012.757%2013.745zm12.403-1.976h8.559v-4.608c0-5.186-2.222-5.432-4.279-5.432-2.881%200-4.28%201.727-4.28%205.679v4.361zm17.53%201.976h-17.53v7.571c0%205.926%202.222%208.807%205.926%208.807%204.938%200%208.888-2.634%209.958-8.231h1.975c-1.317%206.337-5.843%2010.452-12.427%2010.452-9.547%200-14.979-7.242-14.979-16.295%200-8.148%205.597-16.049%2014.32-16.049%207.654%200%2012.757%206.584%2012.757%2013.745zM101.159%209h-3.457V7h12.181v52h3.456v2H98v-2h3.159V9zm25.733%2041.691h-2.469c-4.115%200-5.679%201.646-5.679%203.539%200%201.482.905%202.716%204.773%202.716%203.21%200%206.42-.082%209.547-.164%206.749-.165%209.959%203.209%209.959%208.394%200%206.584-4.527%2014.156-15.308%2014.156-10.287%200-12.098-5.761-12.098-7.655%200-3.867%201.811-5.348%206.007-7.653-4.032-1.152-6.089-3.703-6.089-7.983%200-3.704%203.456-6.172%206.584-6.749v-.164c-3.869-1.4-6.502-5.103-6.502-9.547%200-2.716%202.387-10.535%2012.344-10.535%202.799%200%205.515%201.071%207.82%202.634.822-1.728%202.632-3.704%204.69-3.704%201.811%200%203.374.905%203.374%202.881%200%201.563-.987%202.469-2.551%202.469-1.316%200-2.221-.493-2.798-1.728a5.2%205.2%200%200%200-1.81%201.152c2.14%201.81%203.127%204.526%203.127%207.325%200%204.937-2.881%2010.616-12.921%2010.616zm-3.292-9.958c0%206.502.823%208.23%204.279%208.23%203.21%200%203.704-1.399%203.704-10.699%200-6.749-1.07-7.489-3.622-7.489-3.949%200-4.361%201.893-4.361%209.958zm10.369%2023.62h-11.11c-.988%201.729-1.564%202.634-1.564%204.774%200%205.267%203.128%207.9%208.231%207.9%205.513%200%2010.863-3.868%2010.863-8.888%200-2.386-.658-3.786-6.42-3.786zm19.418-26.912v14.814c0%205.349%201.234%207.572%204.773%207.572%203.951%200%204.774-2.223%204.774-7.49V37.441c0-6.09-2.305-6.831-4.774-6.831s-4.773.741-4.773%206.831zm4.773%2023.949c-9.628%200-14.237-8.065-14.237-16.131%200-8.147%204.609-16.213%2014.237-16.213s14.239%208.066%2014.239%2016.213c0%208.066-4.61%2016.131-14.239%2016.131zm27.217-23.949v14.814c0%205.349%201.234%207.572%204.773%207.572%203.951%200%204.774-2.223%204.774-7.49V37.441c0-6.09-2.305-6.831-4.774-6.831s-4.773.741-4.773%206.831zm4.773%2023.949c-9.628%200-14.238-8.065-14.238-16.131%200-8.147%204.61-16.213%2014.238-16.213s14.239%208.066%2014.239%2016.213c0%208.066-4.61%2016.131-14.239%2016.131zm37.505-12.592v-5.103c0-5.678-1.234-12.674-7.078-12.674-3.539%200-3.621%205.349-3.621%208.724v12.839c0%202.963.247%206.83%203.786%206.83%203.292%200%206.831-2.88%206.913-10.616zM236.379%2059H240v2h-12.263v-4.301h-.164c-1.317%202.881-4.444%204.692-7.819%204.692-8.806%200-12.098-8.23-12.098-15.802%200-10.287%204.855-16.542%2012.427-16.542%203.292%200%206.009%202.222%207.407%204.773h.165V8.883h-3.95V7h12.674v52z'/%3e%3c/svg%3e";
|
|
16686
16334
|
const bankid = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='85'%20height='80'%20fill='%23193e4f'%20xmlns:v='https://vecta.io/nano'%3e%3cpath%20d='M26.693%2041.74l3.534-22.276h-3.775c-1.767%200-4.043-.991-4.712-2.811-.214-.616-.723-2.731%202.195-4.793%201.044-.723%201.714-1.526%201.847-2.142.134-.643-.027-1.205-.482-1.633-.643-.616-1.901-.964-3.507-.964-2.704%200-4.605%201.553-4.792%202.677-.134.83.509%201.499%201.071%201.928%201.687%201.258%202.088%203.079%201.044%204.793-1.071%201.767-3.4%202.918-5.89%202.945H9.371L3.4%2057.51h20.83l2.463-15.77zM2.276%2065.221h8.541c3.641%200%204.525%201.847%204.257%203.534-.214%201.366-1.151%202.383-2.758%203.052%202.035.776%202.838%201.981%202.544%203.882-.375%202.383-2.436%204.15-5.141%204.15H0l2.276-14.618zm5.649%206.051c1.66%200%202.436-.884%202.597-1.928.161-1.124-.348-1.901-2.008-1.901H7.042l-.589%203.829h1.473zm-.91%206.292c1.714%200%202.704-.696%202.945-2.115.187-1.232-.509-1.954-2.169-1.954h-1.66l-.643%204.096h1.526v-.027zm19.812%202.383c-2.222.161-3.293-.08-3.829-1.044-1.178.723-2.49%201.098-3.882%201.098-2.517%200-3.4-1.312-3.159-2.758.107-.696.509-1.365%201.151-1.928%201.392-1.205%204.819-1.365%206.158-2.276.107-1.017-.294-1.392-1.553-1.392-1.473%200-2.704.482-4.819%201.928l.509-3.32c1.821-1.312%203.588-1.928%205.623-1.928%202.597%200%204.9%201.071%204.471%203.909l-.509%203.213c-.187%201.124-.134%201.473%201.125%201.499l-1.285%202.999zm-3.855-5.06c-1.178.75-3.373.616-3.615%202.169-.107.723.348%201.258%201.071%201.258.696%200%201.553-.294%202.249-.776-.054-.268-.027-.535.053-1.044l.241-1.606zm8.005-6.373h4.445l-.241%201.472c1.419-1.205%202.49-1.66%203.882-1.66%202.49%200%203.641%201.526%203.24%204.016l-1.151%207.47h-4.444l.964-6.185c.187-1.124-.161-1.66-1.017-1.66-.696%200-1.339.375-1.955%201.205l-1.017%206.613h-4.444l1.74-11.272zm14.806-3.293h4.445l-1.125%207.175%204.257-3.882h5.489l-5.462%204.819%204.391%206.479h-5.596l-3.373-5.248h-.054l-.803%205.221h-4.444l2.276-14.565zm15.716%200h5.114l-2.249%2014.592H59.25l2.249-14.592zm7.604%200h7.309c5.649%200%207.282%204.096%206.747%207.497-.509%203.32-3.133%207.095-8.086%207.095h-8.246l2.276-14.592zm4.739%2011.111c2.49%200%203.855-1.232%204.257-3.829.294-1.928-.295-3.829-3.052-3.829h-1.365l-1.178%207.657h1.339zM54.699%200H33.414l-2.838%2018.019h3.614c1.981%200%203.855-.91%204.659-2.222.268-.428.375-.803.375-1.151%200-.75-.509-1.312-1.017-1.687-1.392-1.044-1.687-2.142-1.687-2.918%200-.161%200-.295.027-.428.294-1.901%202.865-3.963%206.265-3.963%202.035%200%203.588.482%204.525%201.365.83.776%201.151%201.874.91%203.025-.294%201.365-1.66%202.49-2.436%203.052-2.062%201.446-1.794%202.704-1.66%203.079.428%201.124%202.062%201.847%203.32%201.847h5.515v.027c7.497.054%2011.513%203.507%2010.254%2011.54-1.178%207.47-6.908%2010.683-13.735%2010.736l-2.704%2017.242h3.989c16.841%200%2030.602-10.817%2033.307-27.898C87.443%208.461%2073.976%200%2054.699%200z'/%3e%3c/svg%3e";
|
|
16687
16335
|
const FdsVueCorePlugin = {
|
|
16688
|
-
install(app) {
|
|
16336
|
+
install(app, options) {
|
|
16337
|
+
if (options?.i18n) {
|
|
16338
|
+
app.provide(FDS_VUE_CORE_I18N_KEY, options.i18n);
|
|
16339
|
+
}
|
|
16689
16340
|
app.component("FdsTreeView", _sfc_main$f);
|
|
16690
16341
|
app.component("FdsButtonPrimary", _sfc_main$x);
|
|
16691
16342
|
app.component("FdsButtonSecondary", _sfc_main$w);
|
|
@@ -16729,6 +16380,7 @@ const FdsVueCorePlugin = {
|
|
|
16729
16380
|
app.component("FdsListHeading", _sfc_main);
|
|
16730
16381
|
}
|
|
16731
16382
|
};
|
|
16383
|
+
exports.FDS_VUE_CORE_I18N_KEY = FDS_VUE_CORE_I18N_KEY;
|
|
16732
16384
|
exports.FdsBlockAlert = _sfc_main$H;
|
|
16733
16385
|
exports.FdsBlockContent = _sfc_main$G;
|
|
16734
16386
|
exports.FdsBlockExpander = _sfc_main$E;
|