Compare commits

..
Author SHA1 Message Date
github-actions[bot] 2112d02f07 Version Packages 2026-11-06 13:03:44 +00:00
30 changed files with 158 additions and 121 deletions

No files matched your search

-5
View File
@@ -1,5 +0,0 @@
---
"@navikt/aksel-icons": minor
---
Icons: All icons are now available as CSS custom properties. Import `@navikt/aksel-icons/css/<IconName>.css` for a single icon (e.g. `--aksel-icon-magnifying-glass`), or `@navikt/aksel-icons/css/index.css` for every icon.
+6
View File
@@ -1,5 +1,11 @@
# @navikt/aksel-icons
## 8.23.0
### Minor Changes
- Icons: All icons are now available as CSS custom properties. Import `@navikt/aksel-icons/css/<IconName>.css` for a single icon (e.g. `--aksel-icon-magnifying-glass`), or `@navikt/aksel-icons/css/index.css` for every icon. ([#5489](https://github.com/navikt/aksel/pull/5489))
## 8.22.1
## 8.22.0
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/aksel-icons",
"version": "8.22.1",
"version": "8.23.0",
"author": "Aksel | Nav",
"homepage": "https://aksel.nav.no/ikoner",
"repository": {
+2
View File
@@ -1,5 +1,7 @@
# @navikt/aksel-stylelint
## 8.23.0
## 8.22.1
## 8.22.0
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/aksel-stylelint",
"version": "8.22.1",
"version": "8.23.0",
"type": "module",
"engines": {
"node": ">=18.12.0"
@@ -43,8 +43,8 @@
"dev": "yarn watch:lint"
},
"devDependencies": {
"@navikt/ds-css": "^8.22.1",
"@navikt/ds-tokens": "^8.22.1",
"@navikt/ds-css": "^8.23.0",
"@navikt/ds-tokens": "^8.23.0",
"concurrently": "10.0.6",
"postcss-selector-parser": "^7.1.7",
"postcss-value-parser": "^4.2.0",
+2
View File
@@ -1,5 +1,7 @@
# @navikt/aksel
## 8.23.0
## 8.22.1
## 8.22.0
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/aksel",
"version": "8.22.1",
"version": "8.23.0",
"description": "Aksel command line interface. Codemods and other utilities for Aksel users.",
"author": "Aksel | Nav designsystem team",
"license": "MIT",
+2
View File
@@ -1,5 +1,7 @@
# @navikt/ds-css
## 8.23.0
## 8.22.1
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-css",
"version": "8.22.1",
"version": "8.23.0",
"description": "CSS for Nav Designsystem",
"author": "Aksel | Nav designsystem team",
"keywords": [
@@ -32,7 +32,7 @@
"css:get-version": "node config/get-version.js"
},
"devDependencies": {
"@navikt/ds-tokens": "^8.22.1",
"@navikt/ds-tokens": "^8.23.0",
"browserslist": "^4.28.7",
"esbuild": "^0.28.2",
"fast-glob": "3.3.3",
+8
View File
@@ -1,5 +1,13 @@
# @navikt/ds-react
## 8.23.0
### Patch Changes
- Updated dependencies [[`d9a529f`](https://github.com/navikt/aksel/commit/d9a529f3968581225579d935ab8d3df463d781d6)]:
- @navikt/aksel-icons@8.23.0
- @navikt/ds-tokens@8.23.0
## 8.22.1
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-react",
"version": "8.22.1",
"version": "8.23.0",
"description": "React components from the Norwegian Labour and Welfare Administration.",
"author": "Aksel, a team part of the Norwegian Labour and Welfare Administration.",
"license": "MIT",
@@ -788,8 +788,8 @@
"dependencies": {
"@floating-ui/react": "0.27.20",
"@floating-ui/react-dom": "^2.1.9",
"@navikt/aksel-icons": "^8.22.1",
"@navikt/ds-tokens": "^8.22.1",
"@navikt/aksel-icons": "^8.23.0",
"@navikt/ds-tokens": "^8.23.0",
"date-fns": "^4.0.0",
"react-day-picker": "10.0.2"
},
@@ -272,7 +272,6 @@ export const Composition = () => {
: [...prev, option.value],
);
},
multiple: true,
};
return (
@@ -126,7 +126,6 @@ export const OptionMemoization = () => {
</div>
<ComboboxRoot
defaultOpen
multiple
options={groupedOptions}
value={value}
onToggleOption={(option) => {
@@ -38,7 +38,7 @@ export const ComboboxFilter = (props: ComboboxFilterProps) => {
}}
onKeyDown={(event) => {
if (["ArrowLeft", "ArrowRight"].includes(event.key)) {
setVirtuallyFocusedOptionValue(""); // Assume you want to edit the input, so remove virtual focus
setVirtuallyFocusedOptionValue("");
}
}}
aria-autocomplete="list"
@@ -1,4 +1,4 @@
import React from "react";
import React, { useCallback } from "react";
import { Listbox } from "../../../utils/components/Listbox/root/ListboxRoot";
import { useDeferredValue, useEventCallback } from "../../../utils/hooks";
import { useI18n } from "../../../utils/i18n/i18n.hooks";
@@ -51,16 +51,24 @@ function ComboboxListContent<
>({ children }: ComboboxListProps<T>) {
const { virtuallyFocusedOptionValue, filterString } =
useComboboxPopupContext();
const {
options,
value, // Selected options
onToggleOption: originalOnToggleOption,
} = useComboboxRootContext();
const onToggleOption = useEventCallback(originalOnToggleOption);
const { setOpen, options, value, onToggleOption, multiple, triggerRef } =
useComboboxRootContext();
const memoizedOnToggleOption = useEventCallback(onToggleOption);
const deferredFilterString = useDeferredValue(filterString);
const maybeAnnouceHits = useHitsAnnouncer(deferredFilterString);
const translate = useI18n("Combobox2");
const localOnToggleOption = useCallback(
(option: ComboboxOptionData, isSelected: boolean) => {
memoizedOnToggleOption(option, isSelected);
if (!multiple) {
setOpen(false);
triggerRef.current?.focus();
}
},
[memoizedOnToggleOption, multiple, triggerRef, setOpen],
);
if (children && typeof children !== "function") {
return children;
}
@@ -89,7 +97,7 @@ function ComboboxListContent<
<ComboboxOption
key={option.value}
option={option}
onToggleOption={onToggleOption}
onToggleOption={localOnToggleOption}
isSelected={value.includes(option.value)}
hasVirtualFocus={virtuallyFocusedOptionValue === option.value}
highlightText={deferredFilterString}
@@ -102,7 +110,7 @@ function ComboboxListContent<
<ComboboxOption
key={optOrGroup.value}
option={optOrGroup}
onToggleOption={onToggleOption}
onToggleOption={localOnToggleOption}
isSelected={value.includes(optOrGroup.value)}
hasVirtualFocus={virtuallyFocusedOptionValue === optOrGroup.value}
highlightText={deferredFilterString} // TODO: Vurder å kunne slå av dette for bedre ytelse
@@ -118,27 +126,26 @@ function filterOptions<T extends ComboboxOptionData>(
filterString: string,
): (T | ComboboxGroupData<T>)[] {
const filterStringLowerCase = filterString.toLocaleLowerCase();
const results: (T | ComboboxGroupData<T>)[] = [];
for (const optOrGroup of options) {
if ("options" in optOrGroup) {
const matchingOptions: T[] = [];
for (const option of optOrGroup.options) {
if (option.label.toLocaleLowerCase().includes(filterStringLowerCase)) {
matchingOptions.push(option);
return options
.map((optOrGroup) => {
if ("options" in optOrGroup) {
const matchingOptions = optOrGroup.options.filter((option) =>
option.label.toLocaleLowerCase().includes(filterStringLowerCase),
);
if (matchingOptions.length > 0) {
return { ...optOrGroup, options: matchingOptions };
}
return null;
}
if (matchingOptions.length > 0) {
results.push({ ...optOrGroup, options: matchingOptions });
if (
optOrGroup.label.toLocaleLowerCase().includes(filterStringLowerCase)
) {
return optOrGroup;
}
} else if (
optOrGroup.label.toLocaleLowerCase().includes(filterStringLowerCase)
) {
results.push(optOrGroup);
}
}
return results;
return null;
})
.filter((option): option is T | ComboboxGroupData<T> => option !== null);
}
export type { ComboboxListProps };
@@ -91,7 +91,7 @@ function announce(message: string, politeness: Politeness = "polite") {
}
/**
* Announces a message through a persistently-mounted, visually-hidden live region.
* Speaks a message through a persistently-mounted, visually-hidden live region.
*
* The polite and assertive regions are created once and kept mounted.
*
@@ -19,7 +19,16 @@ function ComboboxOverlay({ children, mobileHeader }: ComboboxOverlayProps) {
if (isMobile) {
return (
<ComboboxModal open={rootContext.open} onOpenChange={rootContext.setOpen}>
<ComboboxModal
open={rootContext.open}
onOpenChange={(open) => {
rootContext.setOpen(open);
!open && rootContext.triggerRef.current?.focus(); // This does not work when closing with button
}}
onOpenChangeComplete={(open) =>
!open && rootContext.triggerRef.current?.focus()
}
>
{mobileHeader}
{children}
</ComboboxModal>
@@ -33,6 +42,7 @@ function ComboboxOverlay({ children, mobileHeader }: ComboboxOverlayProps) {
return (
<DismissableLayer
asChild
//safeZone={{ anchor: rootContext.triggerRef.current }}
onDismiss={(event) => {
// We don't have trigger as `safeZone` because we want to close when trigger is focused.
// To avoid immediately re-opening the popup when trigger is clicked (blur closes, click opens),
@@ -45,6 +55,7 @@ function ComboboxOverlay({ children, mobileHeader }: ComboboxOverlayProps) {
return;
}
rootContext.setOpen(false);
rootContext.triggerRef.current?.focus();
}}
enabled={rootContext.open}
>
@@ -66,6 +77,7 @@ type ComboboxModalProps = {
children: React.ReactNode;
open: boolean;
onOpenChange: (open: boolean) => void;
onOpenChangeComplete: (open: boolean) => void;
};
function subscribeToResize(callback: () => void) {
@@ -77,7 +89,12 @@ function getVisualViewportHeight() {
return visualViewport?.height; // Takes into account virtual keyboard etc.
}
function ComboboxModal({ children, open, onOpenChange }: ComboboxModalProps) {
function ComboboxModal({
children,
open,
onOpenChange,
onOpenChangeComplete,
}: ComboboxModalProps) {
const visualViewportHeight = useSyncExternalStore(
subscribeToResize,
getVisualViewportHeight,
@@ -95,7 +112,12 @@ function ComboboxModal({ children, open, onOpenChange }: ComboboxModalProps) {
}, [open]);
return (
<Dialog size="small" open={open} onOpenChange={onOpenChange}>
<Dialog
size="small"
open={open}
onOpenChange={onOpenChange}
onOpenChangeComplete={onOpenChangeComplete}
>
<Dialog.Popup className="aksel-combobox2__modal" position="fullscreen">
<div
className="aksel-combobox2__modal-inner"
@@ -62,7 +62,6 @@ export const Default = () => {
return (
<ComboboxRoot
defaultOpen
multiple
options={options}
value={value}
onToggleOption={(option, newSelected) => {
@@ -174,7 +173,6 @@ export const CustomOptionRendering = () => {
return (
<ComboboxRoot
defaultOpen
multiple
options={options}
value={value}
onToggleOption={(option, isSelected) => {
@@ -261,7 +259,6 @@ export const ControlledInput = () => {
return (
<ComboboxRoot
defaultOpen
multiple
options={filteredOptions}
value={value}
onToggleOption={(option) => {
@@ -1,5 +1,4 @@
import React, { useRef, useState } from "react";
import { useClientLayoutEffect } from "../../../utils-external";
import React, { useLayoutEffect, useRef, useState } from "react";
import { Listbox } from "../../../utils/components/Listbox/root/ListboxRoot";
import { createStrictContext } from "../../../utils/helpers";
import { useComboboxRootContext } from "../root/ComboboxRoot";
@@ -30,7 +29,7 @@ export const ComboboxPopup = ({ children }: ComboboxPopupProps) => {
const rootContext = useComboboxRootContext();
const ref = useRef<HTMLDivElement | null>(null);
useClientLayoutEffect(
useLayoutEffect(
function onOpen() {
const canHover = window.matchMedia("(hover: hover)").matches;
@@ -86,7 +85,7 @@ export const ComboboxPopup = ({ children }: ComboboxPopupProps) => {
filterString={filterString}
setFilterString={(newString) => {
setFilterString(newString);
setVirtuallyFocusedOptionValue(""); // Remove virtual focus when filter string changes
setVirtuallyFocusedOptionValue("");
}}
>
{children}
@@ -1,4 +1,4 @@
import React, { useCallback, useRef, useState } from "react";
import React, { useRef, useState } from "react";
import { Floating } from "../../../utils/components/floating/Floating";
import { cl, createStrictContext } from "../../../utils/helpers";
import type { FormFieldProps } from "../../useFormField";
@@ -74,8 +74,9 @@ export interface ComboboxRootProps<
defaultOpen?: boolean;
/**
* Whether multiple options can be selected.
* @default true
*/
multiple?: boolean;
multiple?: boolean; // TODO: Hva skal være default?
}
export interface ComboboxRootContextProps {
@@ -83,10 +84,9 @@ export interface ComboboxRootContextProps {
setOpen: (newOpen: boolean) => void;
triggerRef: React.RefObject<HTMLDivElement | null>;
options: ComboboxRootProps["options"];
/** Values of selected options */
value: ComboboxRootProps["value"];
/** Consumer callback */
onToggleOption: ComboboxRootProps["onToggleOption"];
multiple: boolean;
size: Exclude<ComboboxRootProps["size"], undefined>;
disabled: ComboboxRootProps["disabled"];
}
@@ -107,7 +107,7 @@ export function ComboboxRoot<
value,
onToggleOption,
defaultOpen = false,
multiple = false,
multiple = true,
size = "medium",
disabled,
className,
@@ -125,25 +125,14 @@ export function ComboboxRoot<
>
<ComboboxRootContextProvider
open={open}
setOpen={useCallback((newOpen) => {
setOpen(newOpen);
if (!newOpen) {
// queueMicrotask is needed when closing with close button in Dialog
queueMicrotask(() => triggerRef.current?.focus());
}
}, [])}
setOpen={setOpen}
triggerRef={triggerRef}
options={options}
value={value}
onToggleOption={useCallback(
(...args) => {
(onToggleOption as ComboboxRootProps["onToggleOption"])(...args);
if (!multiple) {
setOpen(false);
}
},
[onToggleOption, multiple],
)}
onToggleOption={
onToggleOption as ComboboxRootContextProps["onToggleOption"]
}
multiple={multiple}
size={size}
disabled={disabled}
>
+2
View File
@@ -1,5 +1,7 @@
# @navikt/ds-tailwind
## 8.23.0
## 8.22.1
## 8.22.0
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-tailwind",
"version": "8.22.1",
"version": "8.23.0",
"description": "Tailwind config based on @navikt/ds-tokens",
"author": "Aksel | Nav designsystem team",
"keywords": [
@@ -28,7 +28,7 @@
},
"homepage": "https://aksel.nav.no/grunnleggende/kode/tailwind/",
"devDependencies": {
"@navikt/ds-tokens": "^8.22.1",
"@navikt/ds-tokens": "^8.23.0",
"@types/node": "^24.10.9",
"tailwindcss": "^4.3.3",
"tsx": "^4.23.15",
+2
View File
@@ -1,5 +1,7 @@
# @navikt/ds-tokens
## 8.23.0
## 8.22.1
## 8.22.0
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-tokens",
"version": "8.22.1",
"version": "8.23.0",
"description": "Design-tokens for Nav designsystem",
"author": "Aksel | Nav designsystem team",
"keywords": [
+6
View File
@@ -1,5 +1,11 @@
# Changelog
## 8.23.0
### @navikt/aksel-icons
- Icons: All icons are now available as CSS custom properties. Import `@navikt/aksel-icons/css/<IconName>.css` for a single icon (e.g. `--aksel-icon-magnifying-glass`), or `@navikt/aksel-icons/css/index.css` for every icon. ([#5489](https://github.com/navikt/aksel/pull/5489))
## 8.22.1
### @navikt/ds-css
+6 -6
View File
@@ -11,11 +11,11 @@
"sanity:update": "yarn workspace website update:sanity"
},
"dependencies": {
"@navikt/aksel": "^8.22.1",
"@navikt/aksel-icons": "^8.22.1",
"@navikt/ds-css": "^8.22.1",
"@navikt/ds-react": "^8.22.1",
"@navikt/ds-tailwind": "^8.22.1",
"@navikt/ds-tokens": "^8.22.1"
"@navikt/aksel": "^8.23.0",
"@navikt/aksel-icons": "^8.23.0",
"@navikt/ds-css": "^8.23.0",
"@navikt/ds-react": "^8.23.0",
"@navikt/ds-tailwind": "^8.23.0",
"@navikt/ds-tokens": "^8.23.0"
}
}
+3 -3
View File
@@ -11,9 +11,9 @@
"preview": "vite preview"
},
"dependencies": {
"@navikt/aksel-icons": "^8.22.1",
"@navikt/ds-css": "^8.22.1",
"@navikt/ds-react": "^8.22.1",
"@navikt/aksel-icons": "^8.23.0",
"@navikt/ds-css": "^8.23.0",
"@navikt/ds-react": "^8.23.0",
"fuse.js": "7.4.2",
"react": "19.3.1",
"react-dom": "19.3.1"
+3 -3
View File
@@ -19,9 +19,9 @@
"devDependencies": {
"@modelcontextprotocol/inspector": "^2.11.0",
"@modelcontextprotocol/sdk": "^1.32.0",
"@navikt/aksel": "^8.22.1",
"@navikt/aksel-icons": "^8.22.1",
"@navikt/ds-tokens": "^8.22.1",
"@navikt/aksel": "^8.23.0",
"@navikt/aksel-icons": "^8.23.0",
"@navikt/ds-tokens": "^8.23.0",
"@sanity/client": "7.27.0",
"@types/express": "^5.0.3",
"@types/node": "^24.10.9",
+3 -3
View File
@@ -20,9 +20,9 @@
"typescript": "6.0.3"
},
"dependencies": {
"@navikt/aksel-icons": "^8.22.1",
"@navikt/ds-css": "^8.22.1",
"@navikt/ds-react": "^8.22.1",
"@navikt/aksel-icons": "^8.23.0",
"@navikt/ds-css": "^8.23.0",
"@navikt/ds-react": "^8.23.0",
"react": "19.3.1"
}
}
+27 -27
View File
@@ -4872,7 +4872,7 @@ __metadata:
languageName: node
linkType: hard
"@navikt/aksel-icons@npm:^8.22.1, @navikt/aksel-icons@workspace:@navikt/aksel-icons":
"@navikt/aksel-icons@npm:^8.23.0, @navikt/aksel-icons@workspace:@navikt/aksel-icons":
version: 0.0.0-use.local
resolution: "@navikt/aksel-icons@workspace:@navikt/aksel-icons"
dependencies:
@@ -4904,8 +4904,8 @@ __metadata:
version: 0.0.0-use.local
resolution: "@navikt/aksel-stylelint@workspace:@navikt/aksel-stylelint"
dependencies:
"@navikt/ds-css": "npm:^8.22.1"
"@navikt/ds-tokens": "npm:^8.22.1"
"@navikt/ds-css": "npm:^8.23.0"
"@navikt/ds-tokens": "npm:^8.23.0"
concurrently: "npm:10.0.6"
postcss-selector-parser: "npm:^7.1.7"
postcss-value-parser: "npm:^4.2.0"
@@ -4916,7 +4916,7 @@ __metadata:
languageName: unknown
linkType: soft
"@navikt/aksel@npm:^8.22.1, @navikt/aksel@workspace:@navikt/aksel":
"@navikt/aksel@npm:^8.23.0, @navikt/aksel@workspace:@navikt/aksel":
version: 0.0.0-use.local
resolution: "@navikt/aksel@workspace:@navikt/aksel"
dependencies:
@@ -4949,11 +4949,11 @@ __metadata:
languageName: node
linkType: hard
"@navikt/ds-css@npm:^8.22.1, @navikt/ds-css@workspace:@navikt/core/css":
"@navikt/ds-css@npm:^8.23.0, @navikt/ds-css@workspace:@navikt/core/css":
version: 0.0.0-use.local
resolution: "@navikt/ds-css@workspace:@navikt/core/css"
dependencies:
"@navikt/ds-tokens": "npm:^8.22.1"
"@navikt/ds-tokens": "npm:^8.23.0"
browserslist: "npm:^4.28.7"
esbuild: "npm:^0.28.2"
fast-glob: "npm:3.3.3"
@@ -4962,14 +4962,14 @@ __metadata:
languageName: unknown
linkType: soft
"@navikt/ds-react@npm:^8.22.1, @navikt/ds-react@workspace:@navikt/core/react":
"@navikt/ds-react@npm:^8.23.0, @navikt/ds-react@workspace:@navikt/core/react":
version: 0.0.0-use.local
resolution: "@navikt/ds-react@workspace:@navikt/core/react"
dependencies:
"@floating-ui/react": "npm:0.27.20"
"@floating-ui/react-dom": "npm:^2.1.9"
"@navikt/aksel-icons": "npm:^8.22.1"
"@navikt/ds-tokens": "npm:^8.22.1"
"@navikt/aksel-icons": "npm:^8.23.0"
"@navikt/ds-tokens": "npm:^8.23.0"
"@testing-library/dom": "npm:10.4.2"
"@testing-library/jest-dom": "npm:^7.0.1"
"@testing-library/react": "npm:^16.3.3"
@@ -5003,11 +5003,11 @@ __metadata:
languageName: unknown
linkType: soft
"@navikt/ds-tailwind@npm:^8.22.1, @navikt/ds-tailwind@workspace:@navikt/core/tailwind":
"@navikt/ds-tailwind@npm:^8.23.0, @navikt/ds-tailwind@workspace:@navikt/core/tailwind":
version: 0.0.0-use.local
resolution: "@navikt/ds-tailwind@workspace:@navikt/core/tailwind"
dependencies:
"@navikt/ds-tokens": "npm:^8.22.1"
"@navikt/ds-tokens": "npm:^8.23.0"
"@types/node": "npm:^24.10.9"
tailwindcss: "npm:^4.3.3"
tsx: "npm:^4.23.15"
@@ -5016,7 +5016,7 @@ __metadata:
languageName: unknown
linkType: soft
"@navikt/ds-tokens@npm:^8.22.1, @navikt/ds-tokens@workspace:@navikt/core/tokens":
"@navikt/ds-tokens@npm:^8.23.0, @navikt/ds-tokens@workspace:@navikt/core/tokens":
version: 0.0.0-use.local
resolution: "@navikt/ds-tokens@workspace:@navikt/core/tokens"
dependencies:
@@ -9964,9 +9964,9 @@ __metadata:
resolution: "aksel-icons-figma-plugin@workspace:apps/figma-icon-plugin"
dependencies:
"@figma/plugin-typings": "npm:^1.142.0"
"@navikt/aksel-icons": "npm:^8.22.1"
"@navikt/ds-css": "npm:^8.22.1"
"@navikt/ds-react": "npm:^8.22.1"
"@navikt/aksel-icons": "npm:^8.23.0"
"@navikt/ds-css": "npm:^8.23.0"
"@navikt/ds-react": "npm:^8.23.0"
"@rollup/pluginutils": "npm:^5.4.0"
"@svgr/core": "npm:^8.1.0"
"@types/node": "npm:^24.10.9"
@@ -9988,9 +9988,9 @@ __metadata:
dependencies:
"@modelcontextprotocol/inspector": "npm:^2.11.0"
"@modelcontextprotocol/sdk": "npm:^1.32.0"
"@navikt/aksel": "npm:^8.22.1"
"@navikt/aksel-icons": "npm:^8.22.1"
"@navikt/ds-tokens": "npm:^8.22.1"
"@navikt/aksel": "npm:^8.23.0"
"@navikt/aksel-icons": "npm:^8.23.0"
"@navikt/ds-tokens": "npm:^8.23.0"
"@sanity/client": "npm:7.27.0"
"@types/express": "npm:^5.0.3"
"@types/node": "npm:^24.10.9"
@@ -10012,9 +10012,9 @@ __metadata:
"@babel/preset-env": "npm:^7.29.0"
"@babel/preset-react": "npm:^7.28.5"
"@babel/preset-typescript": "npm:^7.28.5"
"@navikt/aksel-icons": "npm:^8.22.1"
"@navikt/ds-css": "npm:^8.22.1"
"@navikt/ds-react": "npm:^8.22.1"
"@navikt/aksel-icons": "npm:^8.23.0"
"@navikt/ds-css": "npm:^8.23.0"
"@navikt/ds-react": "npm:^8.23.0"
"@types/node": "npm:^24.10.9"
babel-loader: "npm:^10.1.1"
playroom: "npm:^1.4.0"
@@ -10076,12 +10076,12 @@ __metadata:
version: 0.0.0-use.local
resolution: "aksel.nav.no@workspace:aksel.nav.no"
dependencies:
"@navikt/aksel": "npm:^8.22.1"
"@navikt/aksel-icons": "npm:^8.22.1"
"@navikt/ds-css": "npm:^8.22.1"
"@navikt/ds-react": "npm:^8.22.1"
"@navikt/ds-tailwind": "npm:^8.22.1"
"@navikt/ds-tokens": "npm:^8.22.1"
"@navikt/aksel": "npm:^8.23.0"
"@navikt/aksel-icons": "npm:^8.23.0"
"@navikt/ds-css": "npm:^8.23.0"
"@navikt/ds-react": "npm:^8.23.0"
"@navikt/ds-tailwind": "npm:^8.23.0"
"@navikt/ds-tokens": "npm:^8.23.0"
languageName: unknown
linkType: soft