From 9a2f32212a9498d7a9fa14c1da7697f1e722fe58 Mon Sep 17 00:00:00 2001
From: RasmusKjeldgaard
Date: Thu, 14 Nov 2024 13:30:27 +0100
Subject: [PATCH 1/5] Deps: Update date-fns and date-fns-tz (#3706)
---
.../calendar-example/examples/in-card.ts | 6 +-
.../calendar/src/calendar.component.spec.ts | 4 +-
.../calendar/src/calendar.component.ts | 12 +-
libs/designsystem/package.json | 4 +-
package-lock.json | 962 ++++++++++--------
5 files changed, 530 insertions(+), 458 deletions(-)
diff --git a/apps/cookbook/src/app/examples/calendar-example/examples/in-card.ts b/apps/cookbook/src/app/examples/calendar-example/examples/in-card.ts
index f74506300b..dcf1fff264 100644
--- a/apps/cookbook/src/app/examples/calendar-example/examples/in-card.ts
+++ b/apps/cookbook/src/app/examples/calendar-example/examples/in-card.ts
@@ -1,6 +1,6 @@
import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';
import { addDays, startOfDay, subDays } from 'date-fns';
-import { utcToZonedTime, zonedTimeToUtc } from 'date-fns-tz';
+import { fromZonedTime, toZonedTime } from 'date-fns-tz';
const config = {
template: `
@@ -104,13 +104,13 @@ export class CalendarCardExampleComponent implements OnChanges {
// be misleading and confusing
if (this.useTimezoneUTC) {
// realign local -> selectedDate
- this.selectedDate = zonedTimeToUtc(
+ this.selectedDate = fromZonedTime(
this.subtractTimezoneOffset(this.selectedDate),
this.timeZoneName
);
} else {
// realign UTC -> local
- this.selectedDate = utcToZonedTime(this.selectedDate, this.timeZoneName);
+ this.selectedDate = toZonedTime(this.selectedDate, this.timeZoneName);
}
}
}
diff --git a/libs/designsystem/calendar/src/calendar.component.spec.ts b/libs/designsystem/calendar/src/calendar.component.spec.ts
index 6033efeec5..52481596a0 100644
--- a/libs/designsystem/calendar/src/calendar.component.spec.ts
+++ b/libs/designsystem/calendar/src/calendar.component.spec.ts
@@ -1,7 +1,7 @@
import { LOCALE_ID } from '@angular/core';
import { createHostFactory, SpectatorHost } from '@ngneat/spectator';
import { format, Locale, startOfDay, startOfMonth } from 'date-fns';
-import { zonedTimeToUtc } from 'date-fns-tz';
+import { fromZonedTime } from 'date-fns-tz';
import { TestHelper } from '@kirbydesign/designsystem/testing';
import { WindowRef } from '@kirbydesign/designsystem/types';
@@ -891,7 +891,7 @@ describe('CalendarComponent', () => {
}
function utcMidnightDate(yyyyMMdd) {
- return zonedTimeToUtc(yyyyMMdd, 'UTC');
+ return fromZonedTime(yyyyMMdd, 'UTC');
}
function clickDayOfMonth(dateOneIndexed: number) {
diff --git a/libs/designsystem/calendar/src/calendar.component.ts b/libs/designsystem/calendar/src/calendar.component.ts
index b0ebb52937..59e13125af 100644
--- a/libs/designsystem/calendar/src/calendar.component.ts
+++ b/libs/designsystem/calendar/src/calendar.component.ts
@@ -31,7 +31,7 @@ import {
startOfMonth,
startOfWeek,
} from 'date-fns';
-import { utcToZonedTime, zonedTimeToUtc } from 'date-fns-tz';
+import { fromZonedTime, toZonedTime } from 'date-fns-tz';
import { da, enGB, enUS } from 'date-fns/locale';
import { capitalizeFirstLetter } from '@kirbydesign/core';
@@ -299,11 +299,11 @@ export class CalendarComponent implements OnInit, OnChanges {
return dateLocalOrUTC;
}
if (
- startOfDay(utcToZonedTime(dateLocalOrUTC, this.timeZoneName)).getTime() ===
- utcToZonedTime(dateLocalOrUTC, this.timeZoneName).getTime()
+ startOfDay(toZonedTime(dateLocalOrUTC, this.timeZoneName)).getTime() ===
+ toZonedTime(dateLocalOrUTC, this.timeZoneName).getTime()
) {
// the date is a UTC midnight; create the equivalent local timezone midnight date
- const normalizedUTCdate = utcToZonedTime(dateLocalOrUTC, this.timeZoneName);
+ const normalizedUTCdate = toZonedTime(dateLocalOrUTC, this.timeZoneName);
return normalizedUTCdate;
}
// does not point to midnight so we make it
@@ -438,7 +438,7 @@ export class CalendarComponent implements OnInit, OnChanges {
let newDate = new Date(newDay.year, newDay.monthIndex, newDay.date);
if (this.timezone === 'UTC') {
- newDate = zonedTimeToUtc(this.subtractTimezoneOffset(newDate), this.timeZoneName);
+ newDate = fromZonedTime(this.subtractTimezoneOffset(newDate), this.timeZoneName);
}
const dateToEmit = newDate;
@@ -546,7 +546,7 @@ export class CalendarComponent implements OnInit, OnChanges {
if (!newDate) return;
if (this.timezone === 'UTC') {
- newDate = zonedTimeToUtc(this.subtractTimezoneOffset(newDate), this.timeZoneName);
+ newDate = fromZonedTime(this.subtractTimezoneOffset(newDate), this.timeZoneName);
}
const today = this.getTodayDate();
diff --git a/libs/designsystem/package.json b/libs/designsystem/package.json
index 2d9c97dd23..db28cfa8d5 100644
--- a/libs/designsystem/package.json
+++ b/libs/designsystem/package.json
@@ -35,8 +35,8 @@
"chartjs-adapter-date-fns": "^2.0.0",
"chartjs-plugin-annotation": "^1.0.2",
"chartjs-plugin-datalabels": "^2.0.0",
- "date-fns": "^2.30.0",
- "date-fns-tz": "^1.3.8",
+ "date-fns": "^4.1.0",
+ "date-fns-tz": "^3.2.0",
"rxjs": "^7.0.0",
"swiper": "^9.2.0",
"zone.js": "^0.14.3"
diff --git a/package-lock.json b/package-lock.json
index d0b09cce8a..5de818f33a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -212,8 +212,8 @@
"chartjs-adapter-date-fns": "^2.0.0",
"chartjs-plugin-annotation": "^1.0.2",
"chartjs-plugin-datalabels": "^2.0.0",
- "date-fns": "^2.30.0",
- "date-fns-tz": "^1.3.8",
+ "date-fns": "^4.1.0",
+ "date-fns-tz": "^3.2.0",
"rxjs": "^7.0.0",
"swiper": "^9.2.0",
"zone.js": "^0.14.3"
@@ -641,6 +641,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@angular-devkit/build-angular/node_modules/immutable": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz",
+ "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@angular-devkit/build-angular/node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -931,9 +938,9 @@
}
},
"node_modules/@angular/animations": {
- "version": "18.2.10",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.10.tgz",
- "integrity": "sha512-LT5+CocFZJ4t5jXsXLx5w/sBuWSxOEjmNTYga13usRcLOblrAB902pjUdFCHEZyrCUgm4MH8vov9fMS+Ks2GCw==",
+ "version": "18.2.11",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.11.tgz",
+ "integrity": "sha512-ghgXa2VhtyJJnTMuH2NYxCMsveQbZno44AZGygPqrcW8UQMQe9GulFaTXCH5s6/so2CLy2ZviIwSZQRgK0ZlDw==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -942,7 +949,7 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/core": "18.2.10"
+ "@angular/core": "18.2.11"
}
},
"node_modules/@angular/build": {
@@ -1052,6 +1059,13 @@
"node": ">= 6"
}
},
+ "node_modules/@angular/build/node_modules/immutable": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz",
+ "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@angular/build/node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -1097,9 +1111,9 @@
}
},
"node_modules/@angular/cdk": {
- "version": "18.2.11",
- "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.11.tgz",
- "integrity": "sha512-FuvfhrSz2ch0gyOVHrkWq2C/I2PnOzKYSXlG/VEG+ize/WNrvlYy//5WVrTh/hv+HD9sdoWPr9ULXsfFfgbo7w==",
+ "version": "18.2.13",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.13.tgz",
+ "integrity": "sha512-yBKoqcOwmwXnc5phFMEEMO130/Bz9beQLJrKzIS87f6TXaGCeBs4xrPHq2i7Xx/2TqvMiOD9ucjmlVbtGvNG3w==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -1187,9 +1201,9 @@
}
},
"node_modules/@angular/common": {
- "version": "18.2.10",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.10.tgz",
- "integrity": "sha512-YzTCmuqLiOuT+Yv07vuKymDWiebOVZ8BuXakJiz4EM7FMoOw5gICHJ04jepZSjDNWpA16e7kJSdt5ucnmvCFDQ==",
+ "version": "18.2.11",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.11.tgz",
+ "integrity": "sha512-bamJeISl2zUlvjPYebQWazUjhjXU9nrot42cQJng94SkvNENT9LTWfPYgc+Bd972Kg+31jG4H41rgFNs7zySmw==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -1198,14 +1212,14 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/core": "18.2.10",
+ "@angular/core": "18.2.11",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/compiler": {
- "version": "18.2.10",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.10.tgz",
- "integrity": "sha512-cu+Uq1nnyl00Glg0+2uvm+Xpaq5b4YvWpaLGGtit7uGETAJ4L/frlBVeaTRhEoaIAGBI+RRlyuFLae+etQDA0w==",
+ "version": "18.2.11",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.11.tgz",
+ "integrity": "sha512-PSVL1YXUhTzkgJNYXiWk9eAZxNV6laQJRGdj9++C1q9m2S9/GlehZGzkt5GtC5rlUweJucCNvBC1+2D5FAt9vA==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -1214,7 +1228,7 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/core": "18.2.10"
+ "@angular/core": "18.2.11"
},
"peerDependenciesMeta": {
"@angular/core": {
@@ -1223,9 +1237,9 @@
}
},
"node_modules/@angular/compiler-cli": {
- "version": "18.2.10",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.10.tgz",
- "integrity": "sha512-CNFStKWMB89MFKAZZFUOhoQi+fHqRLgNOOrI73LjizXixvngEh3BDZJRtK9hbSGG+giujBrummEA60CWAw69MA==",
+ "version": "18.2.11",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.11.tgz",
+ "integrity": "sha512-YJlAOiXZUYP6/RK9isu5AOucmNZhFB9lpY/beMzkkWgDku+va8szm4BZbLJFz176IUteyLWF3IP4aE7P9OBlXw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1247,14 +1261,14 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/compiler": "18.2.10",
+ "@angular/compiler": "18.2.11",
"typescript": ">=5.4 <5.6"
}
},
"node_modules/@angular/core": {
- "version": "18.2.10",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.10.tgz",
- "integrity": "sha512-EfxVz0pLaxnOppOYkdhnaUkk8HZT+uxaAGpJD3ppAa7YAWTE9xIGoNJmtS33cZNNOnvriMkdv7yn6pDtV4ct+Q==",
+ "version": "18.2.11",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.11.tgz",
+ "integrity": "sha512-/AGAFyZN8KR+kW5FUFCCBCj3qHyDDum7G0lJe5otrT9AqF6+g7PjF8yLha/6wPkJG7ri5xGLhini1sEivVeq/g==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -1268,9 +1282,9 @@
}
},
"node_modules/@angular/forms": {
- "version": "18.2.10",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.10.tgz",
- "integrity": "sha512-2VprGB+enJIeqfz2oALmP/G/UiFzpZW6PHgyZXhk/0J/UMsa26JoYxwDFvfdm/WGTrB+VaQEG7in5xwiFPAFtQ==",
+ "version": "18.2.11",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.11.tgz",
+ "integrity": "sha512-QjxayOxDTqsTJGBzfWd3nms1LZIXj2f1+wIPxxUNXyNS5ZaM7hBWkz2BTFYeewlD/HdNj0alNVCYK3M8ElLWYw==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -1279,16 +1293,16 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/common": "18.2.10",
- "@angular/core": "18.2.10",
- "@angular/platform-browser": "18.2.10",
+ "@angular/common": "18.2.11",
+ "@angular/core": "18.2.11",
+ "@angular/platform-browser": "18.2.11",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/language-service": {
- "version": "18.2.10",
- "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-18.2.10.tgz",
- "integrity": "sha512-V5yslbkFrBhGr70yK7Bauk8186Di9W8OQtR41fEvPEHecQ5IWjnXzPabl0rjOPtpcAARAYnbIq3sqjQygiX6fw==",
+ "version": "18.2.11",
+ "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-18.2.11.tgz",
+ "integrity": "sha512-kI36Wfvw3E01Xox/H535/rrSTiDfzQeXATFR5i5vqc94XWUdQG67e4X6ybnqFUrezXoLPTULHp+5Di896YFPzw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1296,9 +1310,9 @@
}
},
"node_modules/@angular/platform-browser": {
- "version": "18.2.10",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.10.tgz",
- "integrity": "sha512-zKyRKFr3AaEA4SE/DEeb5FWHJutT26avHZog6ZGDkMeMN12zMtSqjPuTSgmDXCWleoOkzbb+nhAQ+fK/EyGyPA==",
+ "version": "18.2.11",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.11.tgz",
+ "integrity": "sha512-bzcP0QdPT/ncTxOx0t7901z5m0wDmkraTo/es4g8reV6VK9Ptv0QDuD8aDvrHh7sLCX5VgwDF9ohc6S2TpYUCA==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -1307,9 +1321,9 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/animations": "18.2.10",
- "@angular/common": "18.2.10",
- "@angular/core": "18.2.10"
+ "@angular/animations": "18.2.11",
+ "@angular/common": "18.2.11",
+ "@angular/core": "18.2.11"
},
"peerDependenciesMeta": {
"@angular/animations": {
@@ -1318,9 +1332,9 @@
}
},
"node_modules/@angular/platform-browser-dynamic": {
- "version": "18.2.10",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.10.tgz",
- "integrity": "sha512-syKyOTgfQnMxfpDRP1khTSPZ5dsMgA8YQwNF6KsB3eZQl15CKSka7bzjMOUWeZ8M3WShOp1AzTf0MfwNeh0UBA==",
+ "version": "18.2.11",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.11.tgz",
+ "integrity": "sha512-a30U4ZdTZSvL17xWwOq6xh9ToCDP2K7/j1HTJFREObbuAtZTa/6IVgBUM6oOMNQ43kHkT6Mr9Emkgf9iGtWwfw==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -1329,16 +1343,16 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/common": "18.2.10",
- "@angular/compiler": "18.2.10",
- "@angular/core": "18.2.10",
- "@angular/platform-browser": "18.2.10"
+ "@angular/common": "18.2.11",
+ "@angular/compiler": "18.2.11",
+ "@angular/core": "18.2.11",
+ "@angular/platform-browser": "18.2.11"
}
},
"node_modules/@angular/router": {
- "version": "18.2.10",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.10.tgz",
- "integrity": "sha512-ZqJgOGOfvW0epsc7pIo7DffZqYHo3O9aUCVepZAhOxqtjF/sfhX2fy+A0xopTIiR0eM3LrT823V+2hjlBHj+CA==",
+ "version": "18.2.11",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.11.tgz",
+ "integrity": "sha512-xh4+t4pNBWxeH1a6GIoEGVSRZO4NDKK8q6b+AzB5GBgKsYgOz2lc74RXIPA//pK3aHrS9qD4sJLlodwgE/1+bA==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -1347,9 +1361,9 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/common": "18.2.10",
- "@angular/core": "18.2.10",
- "@angular/platform-browser": "18.2.10",
+ "@angular/common": "18.2.11",
+ "@angular/core": "18.2.11",
+ "@angular/platform-browser": "18.2.11",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
@@ -1583,9 +1597,9 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz",
- "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz",
+ "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3322,6 +3336,7 @@
"version": "7.25.0",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz",
"integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"regenerator-runtime": "^0.14.0"
@@ -5605,9 +5620,9 @@
}
},
"node_modules/@inquirer/figures": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.7.tgz",
- "integrity": "sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.8.tgz",
+ "integrity": "sha512-tKd+jsmhq21AP1LhexC0pPwsCxEhGgAkg28byjJAd+xhmIs8LUX8JbUc3vBf3PhLxWiB5EvyBE5X7JSPAqMAqg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -10056,9 +10071,9 @@
"peer": true
},
"node_modules/@rollup/wasm-node": {
- "version": "4.24.4",
- "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.24.4.tgz",
- "integrity": "sha512-WKJUdPcM8YAYujafY95+2EapqU3F/nwfBkXh9AfkBvWBwFhsvNJABA86Br6graRH2vRE4FBsiqjFvFWOtEO6wg==",
+ "version": "4.26.0",
+ "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.26.0.tgz",
+ "integrity": "sha512-Jp8J0pSP6AFePI0ijz9flUwU6/ZACZ8DTWkNE6mJHuZF0GCjRYRgq7b+76Kq2nTbYgPXLcBCyhy9xTTUaTWDoQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10296,9 +10311,9 @@
}
},
"node_modules/@storybook/addon-actions": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.4.2.tgz",
- "integrity": "sha512-+hA200XN5aeA4T3jq8IifQq6Y+9FyNQ0Q+blM1L0Tl7WLzBc7B1kHQnKvhSj5pvMSBWc/Q/kY7Ev5t9gdOu13g==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.4.3.tgz",
+ "integrity": "sha512-3lPiMszzxi7YWouIiWSLELCQNFLY2ABmD7O1u2+i/0ZXZZeHqIrhdNoVCj9j0qMisAe9neYzDWLfyKX5yv226g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10313,13 +10328,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/addon-backgrounds": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.4.2.tgz",
- "integrity": "sha512-s4uag5VKuk8q2MSnuNS7Sv+v1/mykzGPXe/zZRW2ammtkdHp8Uy78eQS2G0aiG02chXCX+qQgWMyy5QItDcTFQ==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.4.3.tgz",
+ "integrity": "sha512-m3kTxtn+GgO1dj+qVUYV8LnYEVbeITUk+iXJlCBoYQptmWOmOry0KBSk3m/eWlWPeI42X6btwrLtXzMziC2RGA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10332,13 +10347,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/addon-controls": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.4.2.tgz",
- "integrity": "sha512-raCbHEj1xl4F3wKH6IdfEXNRaxKpY4QGhjSTE8Pte5iJSVhKG86taLqqRr+4dC7H1/LVMPU1XCGV4mkgDGtyxQ==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.4.3.tgz",
+ "integrity": "sha512-KPX1IxI60C0iLNYlkGVuRT+YKbSdbdy//pc2eDHWktxY0TnDymc3VWaSxNvIOpZK8N7ut1/UP/qb+sH/ckW7SA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10351,20 +10366,20 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/addon-docs": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.4.2.tgz",
- "integrity": "sha512-jIpykha7hv2Inlrq31ZoYg2QhuCuvcO+Q+uvhT45RDTB+2US/fg3rJINKlw2Djq8RPPOXvty5W0yvE6CrWKhnQ==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.4.3.tgz",
+ "integrity": "sha512-3xSYtbg+pjZiQIzJJOKlSXgxxRvRSdQYMQbAZoJVizGpb2y5OpEKiAoP1wuOaYTD8t2wlBgpi/aEx7qHAWaDbA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@mdx-js/react": "^3.0.0",
- "@storybook/blocks": "8.4.2",
- "@storybook/csf-plugin": "8.4.2",
- "@storybook/react-dom-shim": "8.4.2",
+ "@storybook/blocks": "8.4.3",
+ "@storybook/csf-plugin": "8.4.3",
+ "@storybook/react-dom-shim": "8.4.3",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
"ts-dedent": "^2.0.0"
@@ -10374,25 +10389,25 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/addon-essentials": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.4.2.tgz",
- "integrity": "sha512-+/vfPrXM/GWU3Kbrg92PepwAZr7lOeulTTYF4THK0CL3DfUUlkGNpBPLP5PtjCuIkVrTCjXiIEdVWk47d5m2+w==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.4.3.tgz",
+ "integrity": "sha512-5SOC8FUJHVhicbLlaD9D+BKa556Zc0XnsXgkFWgeXhNSXRcM1ZrhUFWxVYGMAyXBZ3lmeYHNo/mYxDBnD2fWPQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/addon-actions": "8.4.2",
- "@storybook/addon-backgrounds": "8.4.2",
- "@storybook/addon-controls": "8.4.2",
- "@storybook/addon-docs": "8.4.2",
- "@storybook/addon-highlight": "8.4.2",
- "@storybook/addon-measure": "8.4.2",
- "@storybook/addon-outline": "8.4.2",
- "@storybook/addon-toolbars": "8.4.2",
- "@storybook/addon-viewport": "8.4.2",
+ "@storybook/addon-actions": "8.4.3",
+ "@storybook/addon-backgrounds": "8.4.3",
+ "@storybook/addon-controls": "8.4.3",
+ "@storybook/addon-docs": "8.4.3",
+ "@storybook/addon-highlight": "8.4.3",
+ "@storybook/addon-measure": "8.4.3",
+ "@storybook/addon-outline": "8.4.3",
+ "@storybook/addon-toolbars": "8.4.3",
+ "@storybook/addon-viewport": "8.4.3",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -10400,13 +10415,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/addon-highlight": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.4.2.tgz",
- "integrity": "sha512-vTtwp7nyJ09SXrsMnH+pukCjHjRMjQXgHZHxvbrv09uoH8ldQMv9B7u+X+9Wcy/jYSKFz/ng7pWo4b4a2oXHkg==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.4.3.tgz",
+ "integrity": "sha512-MfBvokTJkbynHBceA2SgvFvS7Tpdv6FxzSZbeVtJHyYBqXrobj8llpo4n2IqAo/f3otcapN64wK82Jl4u8dYVg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10417,19 +10432,19 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/addon-interactions": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.4.2.tgz",
- "integrity": "sha512-+/NTENTApeOcONgFNQ6Olbk0GH3pTDG3w0eh00slCB+2agD1BcVKg8SSlHQV0lQF1cK3vWL/X3jeaxdFLYOjjg==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.4.3.tgz",
+ "integrity": "sha512-PLc5qM5/CtVcSSVmoyS+dgJNvLN3Z99PwcbDb7y0a2/tSd+LGQ6pEB02OtHWyJepkzKulMV7k9SwpywD2XsToA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@storybook/global": "^5.0.0",
- "@storybook/instrumenter": "8.4.2",
- "@storybook/test": "8.4.2",
+ "@storybook/instrumenter": "8.4.3",
+ "@storybook/test": "8.4.3",
"polished": "^4.2.2",
"ts-dedent": "^2.2.0"
},
@@ -10438,13 +10453,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/addon-measure": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.4.2.tgz",
- "integrity": "sha512-z+j6xQwcUBSpgzl1XDU+xU4YYgLraLMljECW7NvRNyJ/PYixvol8R3wtzWbr+CBpxmvbXjEJCPlF+EjF9/mBWQ==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.4.3.tgz",
+ "integrity": "sha512-R9m71P6LDNr7cUtDgWWPBRB/GQfv8hdDjWbD/HfqPkGi49RtBXf/zzFr7OrzgwaT9A73VEM74FGOhCZyHz5Qtg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10456,13 +10471,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/addon-outline": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.4.2.tgz",
- "integrity": "sha512-oTMlPEyT4CBqzcQbfemoJzJ6yzeRAmvrAx9ssaBcnQQRsKxo0D2Ri/Jmm6SNcR0yBHxYRkvIH+2phLw8aiflCQ==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.4.3.tgz",
+ "integrity": "sha512-9dMmh6uQrlJUlKvH+rxEvvo8BCYznRa/YxLoGtgNzh5EbbSR03IVqgfZPpE4ewZidsfCL3Jf3cPjwSuWs3dxLA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10474,13 +10489,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/addon-toolbars": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.4.2.tgz",
- "integrity": "sha512-DidzW/NQS224niMJIjcJI2ls83emqygUcS9GYNGgdc5Xwro/TPgGYOXP2qnXgYUxXQTHbrxmIbHdEehxC7CcYQ==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.4.3.tgz",
+ "integrity": "sha512-lW7p7VPeUDIqS0RAXY4yRQ4LCQWGzGdw64moU20NpeVfedfDc4EeCisLD54sU/xA6kMnxoFNYsdHfpkHvJA/Cg==",
"dev": true,
"license": "MIT",
"funding": {
@@ -10488,13 +10503,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/addon-viewport": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.4.2.tgz",
- "integrity": "sha512-qVQ2UaxCNsUSFHnAAAizNPIJ/QwfMg7p5bBdpYROTZXJe+bxVp0rFzZmQgHZ3/sn+lzE4ItM4QEfxkfQUWi1ag==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.4.3.tgz",
+ "integrity": "sha512-KUstpUx++5cWXMXlz9jBhM6qDW9rwtKMvTyJV24TmhYIDmynset2ILRknIqLbVdBixop40+I67O3SF/ydU4E0w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10505,23 +10520,23 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/angular": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-8.4.2.tgz",
- "integrity": "sha512-/yLusTMKlmWy3luLyuqwTwVBiKFlliMU//WXkbupb1a1F2H4j8FUjNGVn8o/WLsmXUD5R/kakBNuzOFd7jAFpA==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-8.4.3.tgz",
+ "integrity": "sha512-79AReoH2ppTrqY1hODYhio5NDpzLsl5Wgc1WI3QxoKsTUG/YKmpocJYlO7wM24B0b6AMmFYI2VWbY4sCiki55w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/builder-webpack5": "8.4.2",
- "@storybook/components": "8.4.2",
- "@storybook/core-webpack": "8.4.2",
+ "@storybook/builder-webpack5": "8.4.3",
+ "@storybook/components": "8.4.3",
+ "@storybook/core-webpack": "8.4.3",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "8.4.2",
- "@storybook/preview-api": "8.4.2",
- "@storybook/theming": "8.4.2",
+ "@storybook/manager-api": "8.4.3",
+ "@storybook/preview-api": "8.4.3",
+ "@storybook/theming": "8.4.3",
"@types/node": "^22.0.0",
"@types/react": "^18.0.37",
"@types/react-dom": "^18.0.11",
@@ -10556,7 +10571,7 @@
"@angular/platform-browser": ">=15.0.0 < 19.0.0",
"@angular/platform-browser-dynamic": ">=15.0.0 < 19.0.0",
"rxjs": "^6.0.0 || ^7.4.0",
- "storybook": "^8.4.2",
+ "storybook": "^8.4.3",
"typescript": "^4.0.0 || ^5.0.0",
"zone.js": ">= 0.11.1 < 1.0.0"
},
@@ -10592,9 +10607,9 @@
}
},
"node_modules/@storybook/blocks": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.4.2.tgz",
- "integrity": "sha512-yAAvmOWaD8gIrepOxCh/RxQqd/1xZIwd/V+gsvAhW/thawN+SpI+zK63gmcqAPLX84hJ3Dh5pegRk0SoHNuDVA==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.4.3.tgz",
+ "integrity": "sha512-PPC+RXievuHKYlL+oO4ygllT59YzpESklNfeHUkeyuSo0nr04UwSrbfdsQlYJo3nRP0wNKyj/NkYDvzMJ5RlTg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -10609,7 +10624,7 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
},
"peerDependenciesMeta": {
"react": {
@@ -10621,13 +10636,13 @@
}
},
"node_modules/@storybook/builder-webpack5": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.4.2.tgz",
- "integrity": "sha512-Pqa0/sqqEujzcvs+/Cwf/5qRLC+atmceROCFokMOgpIaorTXlbmiQdJ2dBhMFNugLvXfL7dVQBjBfiuzhsQ57g==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.4.3.tgz",
+ "integrity": "sha512-Ji5FrIo5WYpwXIdflCIfYEvM8oJuITXFXjEC8dLahEKJnbRmqQoxMoVxxJWmybBZ2xjSatdPV/aud1sz1wa7Ow==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/core-webpack": "8.4.2",
+ "@storybook/core-webpack": "8.4.3",
"@types/node": "^22.0.0",
"@types/semver": "^7.3.4",
"browser-assert": "^1.2.1",
@@ -10658,7 +10673,7 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
},
"peerDependenciesMeta": {
"typescript": {
@@ -10967,9 +10982,9 @@
}
},
"node_modules/@storybook/components": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.4.2.tgz",
- "integrity": "sha512-+W59oF7D73LAxLNmCfFrfs98cH9pyNHK9HlJoO5/lKbK4IdWhhOoqUR/AJ3ueksoLuetFat4DxyE8SN1H4Bvrg==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.4.3.tgz",
+ "integrity": "sha512-5+krpYrKC0aLUlkfhKLR78Yrai0S9AP7SR3jXMpyuWIny0fIKn+Ak2IQ721A6RGW+zP02GR6/wLHI+A7CDpcAg==",
"dev": true,
"license": "MIT",
"funding": {
@@ -10981,9 +10996,9 @@
}
},
"node_modules/@storybook/core": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.4.2.tgz",
- "integrity": "sha512-hF8GWoUZTjwwuV5j4OLhMHZtZQL/NYcVUBReC2Ba06c8PkFIKqKZwATr1zKd301gQ5Qwcn9WgmZxJTMgdKQtOg==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.4.3.tgz",
+ "integrity": "sha512-Ly4sR2gU2Xxu+O0qR4RJpq+Bs45Kv0JPlzdkoTDKQD8B2ozRAdvQLgBHjnBbUYw9jUPzC96uusqTJIBxIdBi7w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11013,9 +11028,9 @@
}
},
"node_modules/@storybook/core-common": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.4.2.tgz",
- "integrity": "sha512-om+tWPdCDuL9zSioxE1EGaZw5c8yRjQTfaVBpWCxbGOMgbbFJXOcJ9oXwmVEQSbxEPY7RUmCXcVpO3N+N+xDKA==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.4.3.tgz",
+ "integrity": "sha512-KR+5nsj4s3i0HjkMegDmAg9R/HDrdUoeYjwzP6DEy9wod45NekDa+tpepUD9TkhPEVle0Jovymq/f4L7qpYusg==",
"dev": true,
"license": "MIT",
"funding": {
@@ -11027,9 +11042,9 @@
}
},
"node_modules/@storybook/core-server": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-8.4.2.tgz",
- "integrity": "sha512-i9GAT728zmt22sTsRn/8gyEKHcv4kDyvWkk5AdR6Y7j2uStd5Rw4G5no0jPNTzghC35BO4p7LYg52LrQXtGcig==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-8.4.3.tgz",
+ "integrity": "sha512-1fQHlXbab0FYe8jkyuIGdRqrDbQtOMkFgPNFEngPgBUyE+TFKzLa4sOzpKLqdQEzWRde/Q5JIf70GFxDQdbddw==",
"dev": true,
"license": "MIT",
"funding": {
@@ -11041,9 +11056,9 @@
}
},
"node_modules/@storybook/core-webpack": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.4.2.tgz",
- "integrity": "sha512-bzGvzrLK/oDE9YlKayDEplcECURSa1oRkvV7rxI2sOTNfwuoxHJapvxFxazEKAHMVeSwfWDf4uKK0XeG2R/arA==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.4.3.tgz",
+ "integrity": "sha512-UWHXtEibKwYA62J3GYDKRUkWaU18EsALE4IvakconVTKnpV+YrnXezpT0AgxJzhVZqEVFKaaVhhYw212tyycQg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11055,7 +11070,7 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/core-webpack/node_modules/@types/node": {
@@ -11079,9 +11094,9 @@
}
},
"node_modules/@storybook/csf-plugin": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.4.2.tgz",
- "integrity": "sha512-1f0t6W5xbC1sSAHHs3uXYPIQs2NXAEtIGqn6X9i3xbbub6hDS8PF8BIm7dOjQ8dZOPp7d9ltR64V5CoLlsOigA==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.4.3.tgz",
+ "integrity": "sha512-lS3qJ1qBZk7ddu3O+1hmmp+eDsQ/pOTKuTCJY7Zaoyze97LnLtYRs3FbfPhievVWiIoPdnXtK+mcssR9N9AHMw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11092,13 +11107,13 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/csf-tools": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.4.2.tgz",
- "integrity": "sha512-zBIwzc3Anj2jW5dE900dLOMDJrMb1tz3Hcea9rsB/zJKOhyAKz2H0wEsoC97sge7ga90FJAHDM6Q0UBVnBRWcQ==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.4.3.tgz",
+ "integrity": "sha512-dn2x3j5VGhdvdv6SBBHy1kCef/SR1LKjG3WA+iAKjnreQDqiiCJFxBuPK0n9oaTpS5pqQAy8nFiiq1R+ko2XuA==",
"dev": true,
"license": "MIT",
"funding": {
@@ -11142,9 +11157,9 @@
}
},
"node_modules/@storybook/instrumenter": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.4.2.tgz",
- "integrity": "sha512-gPYCZ/0O6gRLI3zmenu2N6QtKzxDZFdT2xf4RWcNUSZyp28RZkRCIgKFMt3fTmvE0yMzAjQyRSkBdrONjQ44HA==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.4.3.tgz",
+ "integrity": "sha512-jEMi3CFlyeMQv6V/WWPnL10Qgqn5j03pXXnfLylGcrvLnl1pa1A6sDWqeB6XR2L1HuW96XelkMecCvp5pYXAdQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11156,7 +11171,7 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/jest": {
@@ -11174,9 +11189,9 @@
}
},
"node_modules/@storybook/manager-api": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.4.2.tgz",
- "integrity": "sha512-rhPc4cgQDKDH8NUyRh/ZaJW7QIhR/PO5MNX4xc+vz71sM2nO7ONA/FrgLtCuu4SULdwilEPvGefYvLK0dE+Caw==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.4.3.tgz",
+ "integrity": "sha512-b09FHQLHrc3VGdodgV+EkA6V8VhpgadygDn9aVIXUULHXMQCfzzsSK9kiunFGVjH5r4BtdanucBXoBRFAi9D/g==",
"dev": true,
"license": "MIT",
"funding": {
@@ -11188,9 +11203,9 @@
}
},
"node_modules/@storybook/preview-api": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.4.2.tgz",
- "integrity": "sha512-5X/xvIvDPaWJKUBCo5zVeBbbjkhnwcI2KPkuOgrHVRRhuQ5WqD0RYxVtOOFNyQXme7g0nNl5RFNgvT7qv9qGeg==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.4.3.tgz",
+ "integrity": "sha512-SQPiGJ5iNk/RMZTfTQZe27MaZz16XfIgb1GTDWuaSrDBWVcelHRCZdh8Ps+9X5Mre6GeZ9wMQ56l+hQf/DO9Ug==",
"dev": true,
"license": "MIT",
"funding": {
@@ -11202,9 +11217,9 @@
}
},
"node_modules/@storybook/react-dom-shim": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.4.2.tgz",
- "integrity": "sha512-FZVTM1f34FpGnf6e3MDIKkz05gmn8H9wEccvQAgr8pEFe8VWfrpVWeUrmatSAfgrCMNXYC1avDend8UX6IM8Fg==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.4.3.tgz",
+ "integrity": "sha512-0zFfPJsDzqEMXk6CEHOIPRR8BcST/X4UbZDZmQBVrzOlmJWdyx1nFK7BT9bbJvb6N9v2Qy6yHL3b2wzZqkDezA==",
"dev": true,
"license": "MIT",
"funding": {
@@ -11214,19 +11229,19 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/test": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.4.2.tgz",
- "integrity": "sha512-MipTdboStv0hsqF2Sw8TZgP0YnxCcDYwxkTOd4hmRzev/7Brtvpi4pqjqh8k98ZCvhrCPAPVIoX5drk+oi3YUA==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.4.3.tgz",
+ "integrity": "sha512-R4KMIZE4S7GyFE4AFD9FESv2Ws406lsg9GFrBaiJGrzOlRKe5yJ7w1MWOu76UclqRNlQHzaEOnOE6lEHVISsDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@storybook/csf": "^0.1.11",
"@storybook/global": "^5.0.0",
- "@storybook/instrumenter": "8.4.2",
+ "@storybook/instrumenter": "8.4.3",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.5.0",
"@testing-library/user-event": "14.5.2",
@@ -11238,7 +11253,7 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "storybook": "^8.4.2"
+ "storybook": "^8.4.3"
}
},
"node_modules/@storybook/test-runner": {
@@ -11497,9 +11512,9 @@
"license": "MIT"
},
"node_modules/@storybook/theming": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.4.2.tgz",
- "integrity": "sha512-9j4fnu5LcV+qSs1rdwf61Bt14lms0T1LOZkHxGNcS1c1oH+cPS+sxECh2lxtni+mvOAHUlBs9pKhVZzRPdWpvg==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.4.3.tgz",
+ "integrity": "sha512-ORQY2/C488ur5NkQYes6x+fO5rcyRMyh4uX3DlkNhCsA2CJ/Ik3WVGjprrDuLn+9S4+mtXfVUNfvN7xszlT1oA==",
"dev": true,
"license": "MIT",
"funding": {
@@ -11564,15 +11579,15 @@
}
},
"node_modules/@swc/core": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.8.0.tgz",
- "integrity": "sha512-EF8C5lp1RKMp3426tAKwQyVbg4Zcn/2FDax3cz8EcOXYQJM/ctB687IvBm9Ciej1wMcQ/dMRg+OB4Xl8BGLBoA==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.9.2.tgz",
+ "integrity": "sha512-dYyEkO6mRYtZFpnOsnYzv9rY69fHAHoawYOjGOEcxk9WYtaJhowMdP/w6NcOKnz2G7GlZaenjkzkMa6ZeQeMsg==",
"dev": true,
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
"@swc/counter": "^0.1.3",
- "@swc/types": "^0.1.14"
+ "@swc/types": "^0.1.15"
},
"engines": {
"node": ">=10"
@@ -11582,16 +11597,16 @@
"url": "https://opencollective.com/swc"
},
"optionalDependencies": {
- "@swc/core-darwin-arm64": "1.8.0",
- "@swc/core-darwin-x64": "1.8.0",
- "@swc/core-linux-arm-gnueabihf": "1.8.0",
- "@swc/core-linux-arm64-gnu": "1.8.0",
- "@swc/core-linux-arm64-musl": "1.8.0",
- "@swc/core-linux-x64-gnu": "1.8.0",
- "@swc/core-linux-x64-musl": "1.8.0",
- "@swc/core-win32-arm64-msvc": "1.8.0",
- "@swc/core-win32-ia32-msvc": "1.8.0",
- "@swc/core-win32-x64-msvc": "1.8.0"
+ "@swc/core-darwin-arm64": "1.9.2",
+ "@swc/core-darwin-x64": "1.9.2",
+ "@swc/core-linux-arm-gnueabihf": "1.9.2",
+ "@swc/core-linux-arm64-gnu": "1.9.2",
+ "@swc/core-linux-arm64-musl": "1.9.2",
+ "@swc/core-linux-x64-gnu": "1.9.2",
+ "@swc/core-linux-x64-musl": "1.9.2",
+ "@swc/core-win32-arm64-msvc": "1.9.2",
+ "@swc/core-win32-ia32-msvc": "1.9.2",
+ "@swc/core-win32-x64-msvc": "1.9.2"
},
"peerDependencies": {
"@swc/helpers": "*"
@@ -11603,9 +11618,9 @@
}
},
"node_modules/@swc/core-darwin-arm64": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.8.0.tgz",
- "integrity": "sha512-TIus1/SE/Ud4g84hCnchcagu+LfyndSDy5r5qf64nflojejDidPU9Fp1InzQhQpEgIpntnZID/KFCP5rQnvsIw==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.9.2.tgz",
+ "integrity": "sha512-nETmsCoY29krTF2PtspEgicb3tqw7Ci5sInTI03EU5zpqYbPjoPH99BVTjj0OsF53jP5MxwnLI5Hm21lUn1d6A==",
"cpu": [
"arm64"
],
@@ -11620,9 +11635,9 @@
}
},
"node_modules/@swc/core-darwin-x64": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.8.0.tgz",
- "integrity": "sha512-yCb1FHCX/HUmNRGB1X3CFJ1WPKXMosZVUe3K2TrosCGvytwgaLoW5FS0bZg5Qv6cEUERQBg75cJnOUPwLLRCVg==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.9.2.tgz",
+ "integrity": "sha512-9gD+bwBz8ZByjP6nZTXe/hzd0tySIAjpDHgkFiUrc+5zGF+rdTwhcNrzxNHJmy6mw+PW38jqII4uspFHUqqxuQ==",
"cpu": [
"x64"
],
@@ -11637,9 +11652,9 @@
}
},
"node_modules/@swc/core-linux-arm-gnueabihf": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.8.0.tgz",
- "integrity": "sha512-6TdjVdiLaSW+eGiHKEojMDlx673nowrPHa6nM6toWgRzy8tIZgjPOguVKJDoMnoHuvO7SkOLCUiMRw0rTskypA==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.9.2.tgz",
+ "integrity": "sha512-kYq8ief1Qrn+WmsTWAYo4r+Coul4dXN6cLFjiPZ29Cv5pyU+GFvSPAB4bEdMzwy99rCR0u2P10UExaeCjurjvg==",
"cpu": [
"arm"
],
@@ -11654,9 +11669,9 @@
}
},
"node_modules/@swc/core-linux-arm64-gnu": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.8.0.tgz",
- "integrity": "sha512-TU2YcTornnyZiJUabRuk7Xtvzaep11FwK77IkFomjN9/Os5s25B8ea652c2fAQMe9RsM84FPVmX303ohxavjKQ==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.9.2.tgz",
+ "integrity": "sha512-n0W4XiXlmEIVqxt+rD3ZpkogsEWUk1jJ+i5bQNgB+1JuWh0fBE8c/blDgTQXa0GB5lTPVDZQussgdNOCnAZwiA==",
"cpu": [
"arm64"
],
@@ -11671,9 +11686,9 @@
}
},
"node_modules/@swc/core-linux-arm64-musl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.8.0.tgz",
- "integrity": "sha512-2CdPTEKxx2hJIj/B0fn8L8k2coo/FDS95smzXyi2bov5FcrP6Ohboq8roFBYgj38fkHusXjY8qt+cCH7yXWAdg==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.9.2.tgz",
+ "integrity": "sha512-8xzrOmsyCC1zrx2Wzx/h8dVsdewO1oMCwBTLc1gSJ/YllZYTb04pNm6NsVbzUX2tKddJVRgSJXV10j/NECLwpA==",
"cpu": [
"arm64"
],
@@ -11688,9 +11703,9 @@
}
},
"node_modules/@swc/core-linux-x64-gnu": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.8.0.tgz",
- "integrity": "sha512-14StQBifCs/AMsySdU95OmwNJr9LOVqo6rcTFt2b7XaWpe/AyeuMJFxcndLgUewksJHpfepzCTwNdbcYmuNo6A==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.9.2.tgz",
+ "integrity": "sha512-kZrNz/PjRQKcchWF6W292jk3K44EoVu1ad5w+zbS4jekIAxsM8WwQ1kd+yjUlN9jFcF8XBat5NKIs9WphJCVXg==",
"cpu": [
"x64"
],
@@ -11705,9 +11720,9 @@
}
},
"node_modules/@swc/core-linux-x64-musl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.8.0.tgz",
- "integrity": "sha512-qemJnAQlYqKCfWNqVv5SG8uGvw8JotwU86cuFUkq35oTB+dsSFM3b83+B1giGTKKFOh2nfWT7bvPXTKk+aUjew==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.9.2.tgz",
+ "integrity": "sha512-TTIpR4rjMkhX1lnFR+PSXpaL83TrQzp9znRdp2TzYrODlUd/R20zOwSo9vFLCyH6ZoD47bccY7QeGZDYT3nlRg==",
"cpu": [
"x64"
],
@@ -11722,9 +11737,9 @@
}
},
"node_modules/@swc/core-win32-arm64-msvc": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.8.0.tgz",
- "integrity": "sha512-fXt5vZbnrVdXZzGj2qRnZtY3uh+NtLCaFjS2uD9w8ssdbjhbDZYlJCj2JINOjv35ttEfAD2goiYmVa5P/Ypl+g==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.9.2.tgz",
+ "integrity": "sha512-+Eg2d4icItKC0PMjZxH7cSYFLWk0aIp94LNmOw6tPq0e69ax6oh10upeq0D1fjWsKLmOJAWEvnXlayZcijEXDw==",
"cpu": [
"arm64"
],
@@ -11739,9 +11754,9 @@
}
},
"node_modules/@swc/core-win32-ia32-msvc": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.8.0.tgz",
- "integrity": "sha512-W4FA2vSJ+bGYiTj6gspxghSdKQNLfLMo65AH07u797x7I+YJj8amnFY/fQRlroDv5Dez/FHTv14oPlTlNFUpIw==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.9.2.tgz",
+ "integrity": "sha512-nLWBi4vZDdM/LkiQmPCakof8Dh1/t5EM7eudue04V1lIcqx9YHVRS3KMwEaCoHLGg0c312Wm4YgrWQd9vwZ5zQ==",
"cpu": [
"ia32"
],
@@ -11756,9 +11771,9 @@
}
},
"node_modules/@swc/core-win32-x64-msvc": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.8.0.tgz",
- "integrity": "sha512-Il4y8XwKDV0Bnk0IpA00kGcSQC6I9XOIinW5egTutnwIDfDE+qsD0j+0isW5H76GetY3/Ze0lVxeOXLAUgpegA==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.9.2.tgz",
+ "integrity": "sha512-ik/k+JjRJBFkXARukdU82tSVx0CbExFQoQ78qTO682esbYXzjdB5eLVkoUbwen299pnfr88Kn4kyIqFPTje8Xw==",
"cpu": [
"x64"
],
@@ -11780,15 +11795,22 @@
"license": "Apache-2.0"
},
"node_modules/@swc/helpers": {
- "version": "0.5.13",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz",
- "integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==",
+ "version": "0.5.15",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
+ "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "tslib": "^2.4.0"
+ "tslib": "^2.8.0"
}
},
+ "node_modules/@swc/helpers/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "dev": true,
+ "license": "0BSD"
+ },
"node_modules/@swc/jest": {
"version": "0.2.37",
"resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.37.tgz",
@@ -11808,9 +11830,9 @@
}
},
"node_modules/@swc/types": {
- "version": "0.1.14",
- "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.14.tgz",
- "integrity": "sha512-PbSmTiYCN+GMrvfjrMo9bdY+f2COnwbdnoMw7rqU/PI5jXpKjxOGZ0qqZCImxnT81NkNsKnmEpvu+hRXLBeCJg==",
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.15.tgz",
+ "integrity": "sha512-XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -12992,14 +13014,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.13.0.tgz",
- "integrity": "sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.14.0.tgz",
+ "integrity": "sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.13.0",
- "@typescript-eslint/utils": "8.13.0",
+ "@typescript-eslint/typescript-estree": "8.14.0",
+ "@typescript-eslint/utils": "8.14.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
@@ -13017,14 +13039,14 @@
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.13.0.tgz",
- "integrity": "sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.14.0.tgz",
+ "integrity": "sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/types": "8.13.0",
- "@typescript-eslint/visitor-keys": "8.13.0",
+ "@typescript-eslint/types": "8.14.0",
+ "@typescript-eslint/visitor-keys": "8.14.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -13046,13 +13068,13 @@
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.13.0.tgz",
- "integrity": "sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.14.0.tgz",
+ "integrity": "sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.13.0",
+ "@typescript-eslint/types": "8.14.0",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
@@ -13080,9 +13102,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.13.0.tgz",
- "integrity": "sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.14.0.tgz",
+ "integrity": "sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -13153,16 +13175,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.13.0.tgz",
- "integrity": "sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.14.0.tgz",
+ "integrity": "sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.13.0",
- "@typescript-eslint/types": "8.13.0",
- "@typescript-eslint/typescript-estree": "8.13.0"
+ "@typescript-eslint/scope-manager": "8.14.0",
+ "@typescript-eslint/types": "8.14.0",
+ "@typescript-eslint/typescript-estree": "8.14.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -13176,14 +13198,14 @@
}
},
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.13.0.tgz",
- "integrity": "sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.14.0.tgz",
+ "integrity": "sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.13.0",
- "@typescript-eslint/visitor-keys": "8.13.0"
+ "@typescript-eslint/types": "8.14.0",
+ "@typescript-eslint/visitor-keys": "8.14.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -13194,14 +13216,14 @@
}
},
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.13.0.tgz",
- "integrity": "sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.14.0.tgz",
+ "integrity": "sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/types": "8.13.0",
- "@typescript-eslint/visitor-keys": "8.13.0",
+ "@typescript-eslint/types": "8.14.0",
+ "@typescript-eslint/visitor-keys": "8.14.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -13223,13 +13245,13 @@
}
},
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.13.0.tgz",
- "integrity": "sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.14.0.tgz",
+ "integrity": "sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.13.0",
+ "@typescript-eslint/types": "8.14.0",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
@@ -13364,9 +13386,9 @@
}
},
"node_modules/@vitest/pretty-format": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.4.tgz",
- "integrity": "sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.5.tgz",
+ "integrity": "sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -13390,13 +13412,13 @@
}
},
"node_modules/@vitest/utils": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.4.tgz",
- "integrity": "sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.5.tgz",
+ "integrity": "sha512-yfj6Yrp0Vesw2cwJbP+cl04OC+IHFsuQsrsJBL9pyGeQXE56v1UAOQco+SR55Vf1nQzfV0QJg1Qum7AaWUwwYg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "2.1.4",
+ "@vitest/pretty-format": "2.1.5",
"loupe": "^3.1.2",
"tinyrainbow": "^1.2.0"
},
@@ -13405,73 +13427,73 @@
}
},
"node_modules/@webassemblyjs/ast": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
- "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
+ "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/helper-numbers": "1.11.6",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
+ "@webassemblyjs/helper-numbers": "1.13.2",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
}
},
"node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
- "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
+ "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
- "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
+ "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
- "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
+ "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
- "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
+ "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.6",
- "@webassemblyjs/helper-api-error": "1.11.6",
+ "@webassemblyjs/floating-point-hex-parser": "1.13.2",
+ "@webassemblyjs/helper-api-error": "1.13.2",
"@xtuc/long": "4.2.2"
}
},
"node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
- "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
+ "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
- "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
+ "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-buffer": "1.12.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/wasm-gen": "1.12.1"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/wasm-gen": "1.14.1"
}
},
"node_modules/@webassemblyjs/ieee754": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
- "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
+ "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -13479,9 +13501,9 @@
}
},
"node_modules/@webassemblyjs/leb128": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
- "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
+ "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -13489,79 +13511,79 @@
}
},
"node_modules/@webassemblyjs/utf8": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
- "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
+ "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
- "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
+ "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-buffer": "1.12.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/helper-wasm-section": "1.12.1",
- "@webassemblyjs/wasm-gen": "1.12.1",
- "@webassemblyjs/wasm-opt": "1.12.1",
- "@webassemblyjs/wasm-parser": "1.12.1",
- "@webassemblyjs/wast-printer": "1.12.1"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/helper-wasm-section": "1.14.1",
+ "@webassemblyjs/wasm-gen": "1.14.1",
+ "@webassemblyjs/wasm-opt": "1.14.1",
+ "@webassemblyjs/wasm-parser": "1.14.1",
+ "@webassemblyjs/wast-printer": "1.14.1"
}
},
"node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
- "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
+ "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/ieee754": "1.11.6",
- "@webassemblyjs/leb128": "1.11.6",
- "@webassemblyjs/utf8": "1.11.6"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/ieee754": "1.13.2",
+ "@webassemblyjs/leb128": "1.13.2",
+ "@webassemblyjs/utf8": "1.13.2"
}
},
"node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
- "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
+ "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-buffer": "1.12.1",
- "@webassemblyjs/wasm-gen": "1.12.1",
- "@webassemblyjs/wasm-parser": "1.12.1"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/wasm-gen": "1.14.1",
+ "@webassemblyjs/wasm-parser": "1.14.1"
}
},
"node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
- "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
+ "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-api-error": "1.11.6",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/ieee754": "1.11.6",
- "@webassemblyjs/leb128": "1.11.6",
- "@webassemblyjs/utf8": "1.11.6"
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-api-error": "1.13.2",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/ieee754": "1.13.2",
+ "@webassemblyjs/leb128": "1.13.2",
+ "@webassemblyjs/utf8": "1.13.2"
}
},
"node_modules/@webassemblyjs/wast-printer": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
- "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
+ "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/ast": "1.14.1",
"@xtuc/long": "4.2.2"
}
},
@@ -14574,14 +14596,14 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.11",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz",
- "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==",
+ "version": "0.4.12",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz",
+ "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.22.6",
- "@babel/helper-define-polyfill-provider": "^0.6.2",
+ "@babel/helper-define-polyfill-provider": "^0.6.3",
"semver": "^6.3.1"
},
"peerDependencies": {
@@ -14613,13 +14635,13 @@
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz",
- "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz",
+ "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.2"
+ "@babel/helper-define-polyfill-provider": "^0.6.3"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -15414,9 +15436,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001677",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz",
- "integrity": "sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==",
+ "version": "1.0.30001680",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz",
+ "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==",
"dev": true,
"funding": [
{
@@ -15622,9 +15644,9 @@
}
},
"node_modules/chromatic": {
- "version": "11.16.5",
- "resolved": "https://registry.npmjs.org/chromatic/-/chromatic-11.16.5.tgz",
- "integrity": "sha512-wUEKXyu3GYmUg6Jq13uyRE9iC8ph5gbfDHdyHH0vQathkGQrcjHHdoxI/GXKIjU6d+xupLon8sxRV9NuZKTWbA==",
+ "version": "11.18.1",
+ "resolved": "https://registry.npmjs.org/chromatic/-/chromatic-11.18.1.tgz",
+ "integrity": "sha512-hkNT9vA6K9+PnE/khhZYBnRCOm8NonaQDs7RZ8YHFo7/lh1b/x/uFMkTjWjaj/mkM6QOR/evu5VcZMtcaauSlw==",
"dev": true,
"license": "MIT",
"bin": {
@@ -16404,9 +16426,9 @@
}
},
"node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz",
+ "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -17012,30 +17034,24 @@
}
},
"node_modules/date-fns": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
- "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
+ "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
"license": "MIT",
"peer": true,
- "dependencies": {
- "@babel/runtime": "^7.21.0"
- },
- "engines": {
- "node": ">=0.11"
- },
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/date-fns"
+ "type": "github",
+ "url": "https://github.com/sponsors/kossnocorp"
}
},
"node_modules/date-fns-tz": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-1.3.8.tgz",
- "integrity": "sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-3.2.0.tgz",
+ "integrity": "sha512-sg8HqoTEulcbbbVXeg84u5UnlsQa8GS5QXMqjjYIhS4abEVVKIUwe0/l/UhrZdKaL/W5eWZNlbTeEIiOXTcsBQ==",
"license": "MIT",
"peer": true,
"peerDependencies": {
- "date-fns": ">=2.0.0"
+ "date-fns": "^3.0.0 || ^4.0.0"
}
},
"node_modules/date-format": {
@@ -17836,9 +17852,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.52",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.52.tgz",
- "integrity": "sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ==",
+ "version": "1.5.57",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.57.tgz",
+ "integrity": "sha512-xS65H/tqgOwUBa5UmOuNSLuslDo7zho0y/lgQw35pnrqiZh7UOWHCeL/Bt6noJATbA6tpQJGCifsFsIRZj1Fqg==",
"dev": true,
"license": "ISC"
},
@@ -18130,9 +18146,9 @@
}
},
"node_modules/es-abstract": {
- "version": "1.23.3",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
- "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
+ "version": "1.23.4",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.4.tgz",
+ "integrity": "sha512-HR1gxH5OaiN7XH7uiWH0RLw0RcFySiSoW1ctxmD1ahTw3uGBtkmm/ng0tDU1OtYx5OK6EOL5Y6O21cDflG3Jcg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -18151,7 +18167,7 @@
"function.prototype.name": "^1.1.6",
"get-intrinsic": "^1.2.4",
"get-symbol-description": "^1.0.2",
- "globalthis": "^1.0.3",
+ "globalthis": "^1.0.4",
"gopd": "^1.0.1",
"has-property-descriptors": "^1.0.2",
"has-proto": "^1.0.3",
@@ -18167,10 +18183,10 @@
"is-string": "^1.0.7",
"is-typed-array": "^1.1.13",
"is-weakref": "^1.0.2",
- "object-inspect": "^1.13.1",
+ "object-inspect": "^1.13.3",
"object-keys": "^1.1.1",
"object.assign": "^4.1.5",
- "regexp.prototype.flags": "^1.5.2",
+ "regexp.prototype.flags": "^1.5.3",
"safe-array-concat": "^1.1.2",
"safe-regex-test": "^1.0.3",
"string.prototype.trim": "^1.2.9",
@@ -21435,9 +21451,9 @@
}
},
"node_modules/i18next": {
- "version": "23.16.4",
- "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.4.tgz",
- "integrity": "sha512-9NIYBVy9cs4wIqzurf7nLXPyf3R78xYbxExVqHLK9od3038rjpyOEzW+XB130kZ1N4PZ9inTtJ471CRJ4Ituyg==",
+ "version": "23.16.5",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.5.tgz",
+ "integrity": "sha512-KTlhE3EP9x6pPTAW7dy0WKIhoCpfOGhRQlO+jttQLgzVaoOjWwBWramu7Pp0i+8wDNduuzXfe3kkVbzrKyrbTA==",
"dev": true,
"funding": [
{
@@ -21556,9 +21572,9 @@
}
},
"node_modules/immutable": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz",
- "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.2.tgz",
+ "integrity": "sha512-1NU7hWZDkV7hJ4PJ9dur9gTNQ4ePNPN4k9/0YhwjzykTi/+3Q5pF93YU5QoVj8BuOnhLgaY8gs0U2pj4kSYVcw==",
"dev": true,
"license": "MIT"
},
@@ -27333,9 +27349,9 @@
}
},
"node_modules/node-gyp-build": {
- "version": "4.8.2",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz",
- "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==",
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.3.tgz",
+ "integrity": "sha512-EMS95CMJzdoSKoIiXo8pxKoL8DYxwIZXYlLmgPb8KUv794abpnLK6ynsCAWNliOjREKruYKdzbh76HHYUHX7nw==",
"dev": true,
"license": "MIT",
"optional": true,
@@ -28307,9 +28323,9 @@
}
},
"node_modules/object-inspect": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
- "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
+ "version": "1.13.3",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz",
+ "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -30106,14 +30122,14 @@
}
},
"node_modules/postcss-modules-local-by-default": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz",
- "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz",
+ "integrity": "sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"icss-utils": "^5.0.0",
- "postcss-selector-parser": "^6.0.2",
+ "postcss-selector-parser": "^7.0.0",
"postcss-value-parser": "^4.1.0"
},
"engines": {
@@ -30123,14 +30139,28 @@
"postcss": "^8.1.0"
}
},
+ "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz",
+ "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-modules-scope": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz",
- "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz",
+ "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==",
"dev": true,
"license": "ISC",
"dependencies": {
- "postcss-selector-parser": "^6.0.4"
+ "postcss-selector-parser": "^7.0.0"
},
"engines": {
"node": "^10 || ^12 || >= 14"
@@ -30139,6 +30169,20 @@
"postcss": "^8.1.0"
}
},
+ "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz",
+ "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-modules-values": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
@@ -30835,9 +30879,9 @@
"license": "MIT"
},
"node_modules/process-on-spawn": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
- "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.1.0.tgz",
+ "integrity": "sha512-JOnOPQ/8TZgjs1JIH/m9ni7FfimjNa/PRx7y/Wb5qdItsnhO0jE4AT7fC0HjC28DUQWDr50dwSYZLdRMlqDq3Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -30932,11 +30976,24 @@
"optional": true
},
"node_modules/psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.10.0.tgz",
+ "integrity": "sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "^2.3.1"
+ }
+ },
+ "node_modules/psl/node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
},
"node_modules/pump": {
"version": "3.0.2",
@@ -31281,6 +31338,7 @@
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "dev": true,
"license": "MIT"
},
"node_modules/regenerator-transform": {
@@ -31977,14 +32035,14 @@
"license": "MIT"
},
"node_modules/sass": {
- "version": "1.80.6",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.6.tgz",
- "integrity": "sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==",
+ "version": "1.80.7",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.7.tgz",
+ "integrity": "sha512-MVWvN0u5meytrSjsU7AWsbhoXi1sc58zADXFllfZzbsBT1GHjjar6JwBINYPRrkx/zqnQ6uqbQuHgE95O+C+eQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"chokidar": "^4.0.0",
- "immutable": "^4.0.0",
+ "immutable": "^5.0.2",
"source-map-js": ">=0.6.2 <2.0.0"
},
"bin": {
@@ -32949,13 +33007,13 @@
}
},
"node_modules/storybook": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.4.2.tgz",
- "integrity": "sha512-GMCgyAulmLNrkUtDkCpFO4SB77YrpiIxq6e5tzaQdXEuaDu1mdNwOuP3VG7nE2FzxmqDvagSgriM68YW9iFaZA==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.4.3.tgz",
+ "integrity": "sha512-n+6ME+APinsx0zjNTmx3SntJ4iCgoTK7TsxUC8+op/rUAA8hNbD+/NT7Qx/F5peHNchVeVFGtebPDAHU9g1M/Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/core": "8.4.2"
+ "@storybook/core": "8.4.3"
},
"bin": {
"getstorybook": "bin/index.cjs",
@@ -33478,16 +33536,16 @@
}
},
"node_modules/stylelint-scss": {
- "version": "6.8.1",
- "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.8.1.tgz",
- "integrity": "sha512-al+5eRb72bKrFyVAY+CLWKUMX+k+wsDCgyooSfhISJA2exqnJq1PX1iIIpdrvhu3GtJgNJZl9/BIW6EVSMCxdg==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.9.0.tgz",
+ "integrity": "sha512-oWOR+g6ccagfrENecImGmorWWjVyWpt2R8bmkhOW8FkNNPGStZPQMqb8QWMW4Lwu9TyPqmyjHkkAsy3weqsnNw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "css-tree": "^3.0.0",
+ "css-tree": "^3.0.1",
"is-plain-object": "^5.0.0",
- "known-css-properties": "^0.34.0",
- "mdn-data": "^2.11.1",
+ "known-css-properties": "^0.35.0",
+ "mdn-data": "^2.12.2",
"postcss-media-query-parser": "^0.2.3",
"postcss-resolve-nested-selector": "^0.1.6",
"postcss-selector-parser": "^6.1.2",
@@ -33500,6 +33558,20 @@
"stylelint": "^16.0.2"
}
},
+ "node_modules/stylelint-scss/node_modules/known-css-properties": {
+ "version": "0.35.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.35.0.tgz",
+ "integrity": "sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/stylelint-scss/node_modules/mdn-data": {
+ "version": "2.12.2",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz",
+ "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
"node_modules/stylelint/node_modules/@csstools/selector-specificity": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-4.0.0.tgz",
@@ -33613,9 +33685,9 @@
}
},
"node_modules/stylelint/node_modules/postcss": {
- "version": "8.4.47",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
- "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
+ "version": "8.4.49",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
+ "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
"dev": true,
"funding": [
{
@@ -33634,7 +33706,7 @@
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.7",
- "picocolors": "^1.1.0",
+ "picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
"engines": {
@@ -35805,9 +35877,9 @@
}
},
"node_modules/vite/node_modules/postcss": {
- "version": "8.4.47",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
- "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
+ "version": "8.4.49",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
+ "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
"dev": true,
"funding": [
{
@@ -35826,7 +35898,7 @@
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.7",
- "picocolors": "^1.1.0",
+ "picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
"engines": {
From 1e82b33e39190805767917901779c625f0060f15 Mon Sep 17 00:00:00 2001
From: Jakob Engelbrecht
Date: Fri, 15 Nov 2024 14:25:40 +0100
Subject: [PATCH 2/5] Houskeeping: fix failing tests (#3711)
Co-authored-by: RasmusKjeldgaard
---
.../form-field/src/form-field.component.spec.ts | 8 ++++++--
.../src/input/input.component.integration.spec.ts | 8 ++++++--
.../section-header/src/section-header.component.spec.ts | 5 ++++-
3 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/libs/designsystem/form-field/src/form-field.component.spec.ts b/libs/designsystem/form-field/src/form-field.component.spec.ts
index cbb42b844e..8687e4df08 100644
--- a/libs/designsystem/form-field/src/form-field.component.spec.ts
+++ b/libs/designsystem/form-field/src/form-field.component.spec.ts
@@ -443,7 +443,7 @@ describe('FormFieldComponent', () => {
describe('When nested inside a kirby-item', () => {
describe('by default', () => {
- beforeEach(() => {
+ beforeEach(async () => {
spectator = createHost(
`
@@ -451,6 +451,8 @@ describe('FormFieldComponent', () => {
`
);
+ // Ensure ion-item is ready and styles are applied:
+ await TestHelper.whenReady(spectator.queryHost('ion-item'));
});
it('should render with no bottom margin', () => {
@@ -462,7 +464,7 @@ describe('FormFieldComponent', () => {
});
describe('and slotted end', () => {
- beforeEach(() => {
+ beforeEach(async () => {
spectator = createHost(
`
@@ -470,6 +472,8 @@ describe('FormFieldComponent', () => {
`
);
+ // Ensure ion-item is ready and styles are applied:
+ await TestHelper.whenReady(spectator.queryHost('ion-item'));
});
it('should render the input with correct text alignment', () => {
diff --git a/libs/designsystem/form-field/src/input/input.component.integration.spec.ts b/libs/designsystem/form-field/src/input/input.component.integration.spec.ts
index 4b5e964e77..9c78eb8653 100644
--- a/libs/designsystem/form-field/src/input/input.component.integration.spec.ts
+++ b/libs/designsystem/form-field/src/input/input.component.integration.spec.ts
@@ -20,12 +20,14 @@ describe('InputComponent in Item', () => {
});
describe('by default', () => {
- beforeEach(() => {
+ beforeEach(async () => {
spectator = createHost(`
`);
element = spectator.element as HTMLInputElement;
+ // Ensure ion-item is ready and styles are applied:
+ await TestHelper.whenReady(spectator.queryHost('ion-item'));
});
it('should render with correct padding', () => {
@@ -54,12 +56,14 @@ describe('InputComponent in Item', () => {
});
describe('slotted end', () => {
- beforeEach(() => {
+ beforeEach(async () => {
spectator = createHost(`
`);
element = spectator.element as HTMLInputElement;
+ // Ensure ion-item is ready and styles are applied:
+ await TestHelper.whenReady(spectator.queryHost('ion-item'));
});
it('should render with default width', () => {
diff --git a/libs/designsystem/section-header/src/section-header.component.spec.ts b/libs/designsystem/section-header/src/section-header.component.spec.ts
index d5e98f8e25..423ceab22a 100644
--- a/libs/designsystem/section-header/src/section-header.component.spec.ts
+++ b/libs/designsystem/section-header/src/section-header.component.spec.ts
@@ -1,6 +1,7 @@
import { DesignTokenHelper } from '@kirbydesign/designsystem/helpers';
import { createHostFactory, SpectatorHost } from '@ngneat/spectator';
+import { TestHelper } from '@kirbydesign/designsystem/testing';
import { SectionHeaderComponent } from './section-header.component';
const { fontSize, fontWeight, lineHeight } = DesignTokenHelper;
@@ -12,12 +13,14 @@ describe('SectionHeaderComponent', () => {
component: SectionHeaderComponent,
});
- beforeEach(() => {
+ beforeEach(async () => {
spectator = createHost(`
Section Header
Section Header
Section Header
`);
+ // Ensure ion-item-divider is ready and styles are applied:
+ await TestHelper.whenReady(spectator.queryHost('ion-item-divider'));
});
it('should create', () => {
From 0373c4fde8e9e004014c5972f131e3367e1ac5e5 Mon Sep 17 00:00:00 2001
From: Jakob Engelbrecht
Date: Mon, 18 Nov 2024 14:11:20 +0100
Subject: [PATCH 3/5] Segmented Control: a11y improvements (#3707)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: Søren Oest Balmer
Co-authored-by: RasmusKjeldgaard
---
.../segmented-control-showcase.component.html | 291 ++++++++++--------
.../segmented-control.component.html | 39 +--
.../segmented-control.component.spec.ts | 176 +++++++++++
.../segmented-control.component.ts | 31 +-
4 files changed, 393 insertions(+), 144 deletions(-)
diff --git a/apps/cookbook/src/app/showcase/segmented-control-showcase/segmented-control-showcase.component.html b/apps/cookbook/src/app/showcase/segmented-control-showcase/segmented-control-showcase.component.html
index 345af823a4..720d2ed60e 100644
--- a/apps/cookbook/src/app/showcase/segmented-control-showcase/segmented-control-showcase.component.html
+++ b/apps/cookbook/src/app/showcase/segmented-control-showcase/segmented-control-showcase.component.html
@@ -2,135 +2,180 @@
Segmented Control is a horizontal row of buttons used for toggling between related choices within
content.
-
-
Default
-
-
-
-
Size
-
- Segmented Control can be rendered in two different sizes when in default mode:
- sm
- and
- md
- .
-
-
-
-
+
-
Mode
-
- Use the
- mode
- property to control the rendering of each segment. In addiditon to the
- default
- mode, Segmented Control supports
- chip
- and
- compactChip
- mode.
-
-
-
-
+
Examples
+
Default
+
+
+
-
Grouped
-
- Segmented Control can be combined with a Button to create a related group of choices with one
- option separate from the others—all mutually exclusive. Use this pattern to create a filter as
- in the example below.
-
-
-
- Note: If changing the
- size
- of the Segmented Control be sure to set the same
- size
- for the Button.
-
-
-
Size
+
+ Segmented Control can be rendered in two different sizes when in default mode:
+ sm
+ and
+ md
+ .
+
+
+
+
+
+Mode
+
+ Use the
+ mode
+ property to control the rendering of each segment. In addiditon to the
+ default
+ mode, Segmented Control supports
+ chip
+ and
+ compactChip
+ mode.
+
+
+
+
+
+Grouped
+
+ Segmented Control can be combined with a Button to create a related group of choices with one
+ option separate from the others—all mutually exclusive. Use this pattern to create a filter as in
+ the example below.
+
+
+
+ Note: If changing the
+ size
+ of the Segmented Control be sure to set the same
+ size
+ for the Button.
+
+
+
+
+
+
+Badge
+
+ Badges can be applied to Segmented Control in
+ default
+ mode. A badge can be added to any
+ SegmentItem
+ using the
+ badge
+ property.
+
+
+
-
-
+ See SegmentItem on Github
+
+
+
+ The badge can contain either a plain text string through
+ badge.content
+ or an icon provided as the name of an icon in the
+ badge.icon
+ property.
+
+ When using an icon the
+ badge.description
+ property should be set which will be used as the
+ aria-label
+ of the badge for accessibility.
+
+ The background color of the badge can be controlled through
+ badge.themeColor
+ .
+
+
+
+
+
+
+
Colors
+
Segmented Control has support for theme colors when used within a Card.
+
+ Simply set the Card's
+ themeColor
+ property and Segmented Control will render in a light or dark variant accordingly.
+
+
+
+
-
Badge
-
- Badges can be applied to Segmented Control in
- default
- mode. A badge can be added to any
- SegmentItem
- using the
- badge
- property.
-
-
-
- See SegmentItem on Github
-
-
-
- The badge can contain either a plain text string through
- badge.content
- or an icon provided as the name of an icon in the
- badge.icon
- property.
-
- When using an icon the
- badge.description
- property should be set which will be used as the
- aria-label
- of the badge for accessibility.
-
- The background color of the badge can be controlled through
- badge.themeColor
- .
-
+
-
-
-
+
Accessibility
+
+ The Segmented Control implements the
+
+ Tabs Pattern from ARIA Authoring Practices Guide
+
+
+
Keyboard support
+
+ The component has full keyboard support for navigating between and selecting segment buttons.
+ Keyboard navigation moves focus between segment buttons, and
+ Enter ↵
+ or
+ Space
+ selects the element that is currently focused.
+
+
The following keys can be used to navigate within the control:
+
+
+
+ Tab
+
+ When focus moves into the segmented control, places focus on the selected segment button. If none is selected, places focus on the first segment button
+ When the segmented control contains the focus, moves focus to the next element in the page tab sequence outside the control
+
+
+
+ ← moves focus to the previous segment button. If focus is on the first segment button, moves focus to the last segment button
+
+
+ → moves focus to the next segment button. If focus is on the last segment button, moves focus to the first segment button
+
+
+ Home moves focus to the first segment button
+
+
+ End moves focus to the last segment button
+
+
-
Colors
-
Segmented Control has support for theme colors when used within a Card.
-
- Simply set the Card's
- themeColor
- property and Segmented Control will render in a light or dark variant accordingly.
-
-
-
-
+
-
Properties:
-
+
API
+
Properties
+
-
- Note on size:
- For all modes, the touch area will always be a minimum of 44px by 44px. If chip/segment is
- smaller than this, the surrounding area will still be clickable, to preserve accessibility.
-
-
+
+ Note on size:
+ For all modes, the touch area will always be a minimum of 44px by 44px. If chip/segment is smaller
+ than this, the surrounding area will still be clickable, to preserve accessibility.
+
diff --git a/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.html b/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.html
index 94ad435941..66f7ae79a6 100644
--- a/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.html
+++ b/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.html
@@ -4,22 +4,25 @@
(ionChange)="onSegmentSelect($event.detail.value)"
(click)="preventOutsideClick($event)"
>
-
-
- {{ item.text }}
-
-
-
-
-
- {{ item.badge.content }}
-
-
-
-
+
+ {{ item.text }}
+
+
+
+
+
+ {{ item.badge.content }}
+
+
+
diff --git a/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.spec.ts b/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.spec.ts
index d0d8d6248a..acebf20df6 100644
--- a/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.spec.ts
+++ b/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.spec.ts
@@ -58,6 +58,7 @@ describe('SegmentedControlComponent', () => {
ionSegmentElement = spectator.queryHost('ion-segment');
await TestHelper.whenReady(ionSegmentElement);
+ await TestHelper.whenReady(spectator.queryHostAll('ion-segment-button'));
});
it('should create', () => {
@@ -68,6 +69,181 @@ describe('SegmentedControlComponent', () => {
expect(component.value).toBe(items[1]);
});
+ describe('keyboard interaction', () => {
+ describe('when navigating with keyboard', () => {
+ let initSelectedSegmentButton: HTMLIonSegmentButtonElement;
+ beforeEach(async () => {
+ initSelectedSegmentButton = spectator.queryHost(
+ 'ion-segment-button.segment-button-checked'
+ );
+ await initSelectedSegmentButton.setFocus();
+ });
+
+ it('should focus previous item when ArrowLeft is pressed', () => {
+ spectator.keyboard.pressKey('ArrowLeft', ionSegmentElement, 'keydown');
+
+ expect(document.activeElement).toEqual(initSelectedSegmentButton.previousElementSibling);
+ });
+
+ it('should focus next item when ArrowRight is pressed', () => {
+ spectator.keyboard.pressKey('ArrowRight', ionSegmentElement, 'keydown');
+
+ expect(document.activeElement).toEqual(initSelectedSegmentButton.nextElementSibling);
+ });
+
+ it('should focus first item when Home is pressed', async () => {
+ const lastSegmentButton = spectator.queryHost(
+ 'ion-segment-button:last-of-type'
+ );
+ await lastSegmentButton.setFocus();
+ expect(document.activeElement).toEqual(lastSegmentButton);
+
+ spectator.keyboard.pressKey('Home', ionSegmentElement, 'keydown');
+
+ const firstSegmentButton = spectator.queryHost('ion-segment-button:first-of-type');
+ expect(document.activeElement).toEqual(firstSegmentButton);
+ });
+
+ it('should focus last item when End is pressed', async () => {
+ const firstSegmentButton = spectator.queryHost(
+ 'ion-segment-button:first-of-type'
+ );
+ await firstSegmentButton.setFocus();
+ expect(document.activeElement).toEqual(firstSegmentButton);
+
+ spectator.keyboard.pressKey('End', ionSegmentElement, 'keydown');
+
+ const lastSegmentButton = spectator.queryHost('ion-segment-button:last-of-type');
+ expect(document.activeElement).toEqual(lastSegmentButton);
+ });
+
+ it('should select focused item when Space is pressed', async () => {
+ spectator.keyboard.pressKey('ArrowLeft', ionSegmentElement, 'keydown');
+ const focusedItem = initSelectedSegmentButton.previousElementSibling;
+ expect(document.activeElement).toEqual(focusedItem);
+
+ const spaceKey = ' '; // Ionic tests for a blank space instead of 'Space'
+ spectator.keyboard.pressKey(spaceKey, ionSegmentElement, 'keydown');
+ // Wait for Ionic to update css classes
+ await TestHelper.whenTrue(() => focusedItem.classList.contains('segment-button-checked'));
+
+ expect(focusedItem).toHaveClass('segment-button-checked');
+ });
+
+ it('should select focused item when Enter is pressed', async () => {
+ spectator.keyboard.pressKey('ArrowRight', ionSegmentElement, 'keydown');
+ const focusedItem = initSelectedSegmentButton.nextElementSibling;
+ expect(document.activeElement).toEqual(focusedItem);
+
+ spectator.keyboard.pressKey('Enter', ionSegmentElement, 'keydown');
+ // Wait for Ionic to update css classes
+ await TestHelper.whenTrue(() => focusedItem.classList.contains('segment-button-checked'));
+
+ expect(focusedItem).toHaveClass('segment-button-checked');
+ });
+ });
+ describe('with checked item', () => {
+ it('should have only 1 tab stop', async () => {
+ const segmentButtons =
+ spectator.queryHostAll('ion-segment-button');
+
+ const segmentButtonsWithTabStop = segmentButtons.filter(
+ (button) => !button.hasAttribute('tabindex')
+ );
+ const segmentButtonsWithoutTabStop = segmentButtons.filter(
+ (button) => button.getAttribute('tabindex') === '-1'
+ );
+ expect(segmentButtonsWithTabStop).toHaveLength(1);
+ expect(segmentButtonsWithoutTabStop).toHaveLength(segmentButtons.length - 1);
+ });
+
+ it('should set selected segment button as tab stop', async () => {
+ const selectedSegmentButton = spectator.queryHost(
+ 'ion-segment-button.segment-button-checked'
+ );
+ expect(selectedSegmentButton).not.toHaveAttribute('tabindex');
+ });
+
+ it('should remove tab stop when focused', async () => {
+ const selectedSegmentButton = spectator.queryHost(
+ 'ion-segment-button.segment-button-checked'
+ );
+ expect(selectedSegmentButton).not.toHaveAttribute('tabindex');
+
+ await selectedSegmentButton.setFocus();
+ spectator.detectComponentChanges();
+
+ expect(selectedSegmentButton).toHaveAttribute('tabindex', '-1');
+ });
+
+ it('should add tab stop when blurred', async () => {
+ const selectedSegmentButton = spectator.queryHost(
+ 'ion-segment-button.segment-button-checked'
+ );
+ await selectedSegmentButton.setFocus();
+ spectator.detectComponentChanges();
+ expect(selectedSegmentButton).toHaveAttribute('tabindex', '-1');
+
+ selectedSegmentButton.blur();
+ spectator.detectComponentChanges();
+
+ expect(selectedSegmentButton).not.toHaveAttribute('tabindex');
+ });
+ });
+
+ describe('with no checked item', () => {
+ beforeEach(() => {
+ spectator.setInput('selectedIndex', -1);
+ });
+
+ it('should have only 1 tab stop', async () => {
+ const segmentButtons =
+ spectator.queryHostAll('ion-segment-button');
+
+ const segmentButtonsWithTabStop = segmentButtons.filter(
+ (button) => !button.hasAttribute('tabindex')
+ );
+ const segmentButtonsWithoutTabStop = segmentButtons.filter(
+ (button) => button.getAttribute('tabindex') === '-1'
+ );
+ expect(segmentButtonsWithTabStop).toHaveLength(1);
+ expect(segmentButtonsWithoutTabStop).toHaveLength(segmentButtons.length - 1);
+ });
+
+ it('should set first segment button as tab stop', async () => {
+ const firstSegmentButton = spectator.queryHost(
+ 'ion-segment-button:first-of-type'
+ );
+ expect(firstSegmentButton).not.toHaveAttribute('tabindex');
+ });
+
+ it('should remove tab stop when focused', async () => {
+ const focusableSegmentButton = spectator.queryHost(
+ 'ion-segment-button:not([tabindex])'
+ );
+
+ await focusableSegmentButton.setFocus();
+ spectator.detectComponentChanges();
+
+ expect(focusableSegmentButton).toHaveAttribute('tabindex', '-1');
+ });
+
+ it('should add tab stop when blurred', async () => {
+ const focusableSegmentButton = spectator.queryHost(
+ 'ion-segment-button:not([tabindex])'
+ );
+ await focusableSegmentButton.setFocus();
+ spectator.detectComponentChanges();
+ expect(focusableSegmentButton).toHaveAttribute('tabindex', '-1');
+
+ focusableSegmentButton.blur();
+ spectator.detectComponentChanges();
+
+ expect(focusableSegmentButton).not.toHaveAttribute('tabindex');
+ });
+ });
+ });
+
describe('in chip mode', () => {
it('should have ion-segment with same width as segmented control', () => {
spectator.setInput('mode', SegmentedControlMode.chip);
diff --git a/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.ts b/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.ts
index a6dec8a697..1dedc18f88 100644
--- a/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.ts
+++ b/libs/designsystem/src/lib/components/segmented-control/segmented-control.component.ts
@@ -1,8 +1,10 @@
import {
+ ChangeDetectionStrategy,
Component,
ElementRef,
EventEmitter,
HostBinding,
+ HostListener,
Input,
Output,
ViewChild,
@@ -31,8 +33,7 @@ type NoInfer = [T][T extends any ? 0 : never];
selector: 'kirby-segmented-control',
templateUrl: './segmented-control.component.html',
styleUrls: ['./segmented-control.component.scss'],
- // eslint-disable-next-line @angular-eslint/no-host-metadata-property
- host: { role: 'group' },
+ changeDetection: ChangeDetectionStrategy.OnPush,
})
export class SegmentedControlComponent {
@ViewChild(IonSegment, { static: true, read: ElementRef })
@@ -93,7 +94,7 @@ export class SegmentedControlComponent
);
if (selectedSegmentButton) return; // Nothing to patch
- ionSelectEvent.emit({ value: this._value.id });
+ ionSelectEvent.emit({ value: this._value?.id });
});
}
}
@@ -150,4 +151,28 @@ export class SegmentedControlComponent
});
}
}
+
+ focusNativeButton(event: UIEvent) {
+ (event.target as HTMLIonSegmentButtonElement)?.setFocus();
+ }
+
+ private _segmentElementHasFocus = false;
+
+ getTabIndex(item: TItem, index: number) {
+ // When focused prevent tab stop from inner native button to outer ion-segment-button:
+ if (this._segmentElementHasFocus) return -1;
+ // Allow tab stop on selected item:
+ if (item.id === this.value?.id) return null;
+ // Allow tab stop on first item if no value is set:
+ if (!this.value && index === 0) return null;
+ // Prevent tab stop on all other items:
+ return -1;
+ }
+
+ @HostListener('focusin')
+ @HostListener('focusout')
+ _onFocusInOut() {
+ // @HostListener(focusin|focusout) triggers Change Detection and updates attr.tabindex on each ion-segment-button
+ this._segmentElementHasFocus = this.ionSegmentElement.nativeElement.matches(':focus-within');
+ }
}
From 2540a5b7db99d6c4d83619f9dcdf78dd6b55324d Mon Sep 17 00:00:00 2001
From: Jakob Engelbrecht
Date: Tue, 19 Nov 2024 14:40:38 +0100
Subject: [PATCH 4/5] Button: add a11y documentation for icon only button
(#3713)
Co-authored-by: RasmusKjeldgaard
---
.../button-example/examples/disabled.ts | 4 +-
.../button-example/examples/icon-only.ts | 32 +++++------
.../button-example/examples/undecorated.ts | 2 +-
.../modal-route-page2-example.component.ts | 2 +-
.../page-advanced-example.component.ts | 4 +-
.../page-custom-title-example.component.ts | 4 +-
.../tab/fixed-footer-tab-example.component.ts | 2 +-
...xed-title-and-actions-example.component.ts | 2 +-
.../tabs-example/tab/tab-example.component.ts | 4 +-
.../button-showcase.component.html | 57 +++++++++++++++----
.../button/src/button.component.scss | 3 +-
.../button/src/button.component.spec.ts | 28 ++++++---
12 files changed, 96 insertions(+), 48 deletions(-)
diff --git a/apps/cookbook/src/app/examples/button-example/examples/disabled.ts b/apps/cookbook/src/app/examples/button-example/examples/disabled.ts
index a4731e4c7f..8dcdef94e7 100644
--- a/apps/cookbook/src/app/examples/button-example/examples/disabled.ts
+++ b/apps/cookbook/src/app/examples/button-example/examples/disabled.ts
@@ -9,10 +9,10 @@ const config = {
Disabled with icon
-
+
-
+
`,
};
diff --git a/apps/cookbook/src/app/examples/button-example/examples/icon-only.ts b/apps/cookbook/src/app/examples/button-example/examples/icon-only.ts
index 81a49534c6..708e390bd6 100644
--- a/apps/cookbook/src/app/examples/button-example/examples/icon-only.ts
+++ b/apps/cookbook/src/app/examples/button-example/examples/icon-only.ts
@@ -2,47 +2,47 @@ import { Component } from '@angular/core';
const config = {
selector: 'cookbook-button-example-icon-only',
- template: `
+ template: `
-
+
-
+
-
+
-
+
+ Search
-
+
+ Search
-
+
+ Search
-
+
+ Search
-
- More settings
+
-
- More settings
+
-
+
- More settings
-
+
- More settings
`,
};
diff --git a/apps/cookbook/src/app/examples/button-example/examples/undecorated.ts b/apps/cookbook/src/app/examples/button-example/examples/undecorated.ts
index fcf0a0b372..ca3631b506 100644
--- a/apps/cookbook/src/app/examples/button-example/examples/undecorated.ts
+++ b/apps/cookbook/src/app/examples/button-example/examples/undecorated.ts
@@ -2,7 +2,7 @@ import { Component } from '@angular/core';
const config = {
selector: 'cookbook-button-example-undecorated',
- template: `
+ template: `
`,
};
diff --git a/apps/cookbook/src/app/examples/modal-example/modal-route-example/modal-route-page2-example.component.ts b/apps/cookbook/src/app/examples/modal-example/modal-route-example/modal-route-page2-example.component.ts
index 4e0c913670..cacf74f90b 100644
--- a/apps/cookbook/src/app/examples/modal-example/modal-route-example/modal-route-page2-example.component.ts
+++ b/apps/cookbook/src/app/examples/modal-example/modal-route-example/modal-route-page2-example.component.ts
@@ -18,7 +18,7 @@ import { Modal, ModalController } from '@kirbydesign/designsystem';
Toggle footer
-
+
Finish
diff --git a/apps/cookbook/src/app/examples/page-example/advanced/page-advanced-example.component.ts b/apps/cookbook/src/app/examples/page-example/advanced/page-advanced-example.component.ts
index 85b6b21ba2..f0c73779c9 100644
--- a/apps/cookbook/src/app/examples/page-example/advanced/page-advanced-example.component.ts
+++ b/apps/cookbook/src/app/examples/page-example/advanced/page-advanced-example.component.ts
@@ -35,14 +35,14 @@ const config = {
-
+
-
+
diff --git a/apps/cookbook/src/app/examples/page-example/advanced/page-custom-title-example.component.ts b/apps/cookbook/src/app/examples/page-example/advanced/page-custom-title-example.component.ts
index 69d811f420..8fe5ea43d5 100644
--- a/apps/cookbook/src/app/examples/page-example/advanced/page-custom-title-example.component.ts
+++ b/apps/cookbook/src/app/examples/page-example/advanced/page-custom-title-example.component.ts
@@ -33,14 +33,14 @@ const config = {
-
+
-
+
diff --git a/apps/cookbook/src/app/examples/page-example/fixed-footer-tabs/tab/fixed-footer-tab-example.component.ts b/apps/cookbook/src/app/examples/page-example/fixed-footer-tabs/tab/fixed-footer-tab-example.component.ts
index 29d6764496..9a5a7900a5 100644
--- a/apps/cookbook/src/app/examples/page-example/fixed-footer-tabs/tab/fixed-footer-tab-example.component.ts
+++ b/apps/cookbook/src/app/examples/page-example/fixed-footer-tabs/tab/fixed-footer-tab-example.component.ts
@@ -14,7 +14,7 @@ const pageTemplate = `
0 selected
This is a fixed footer
-