Compare commits

..
Author SHA1 Message Date
dependabot[bot] 1b264fdbc6 ⬆️ Bump globals from 17.11.0 to 17.13.0 (#5500)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-03 11:35:32 +01:00
dependabot[bot]andKen e9ef18f2f2 ⬆️ Bump react-responsive-masonry from 2.7.2 to 2.9.0 (#5499)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ken <ken.aleksander@gmail.com>
2026-11-03 11:33:45 +01:00
dependabot[bot] 50f46bf62b ⬆️ Bump stylelint-test-rule-node from 1.2.0 to 1.3.0 (#5496)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-03 11:31:36 +01:00
dependabot[bot] f3d6b18a51 ⬆️ Bump pino from 10.3.1 to 10.4.0 (#5497)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-03 11:25:04 +01:00
Halvor Haugan 1f873a13b9 fix(website): use new next analyze script and remove old package (#5493) 2026-11-03 11:16:03 +01:00
Ken 16da3ce770 feat: New icons Gift, ArrowsPointingIn and ArrowsPointingOut (#5484) 2026-11-03 10:40:55 +01:00
Halvor Haugan c9daa56545 fix(Combobox): prevent navigation in play test (#5492) 2026-11-03 10:13:39 +01:00
KenandHalvor Haugan b3a5a10819 perf(website): Skip RSS and playroom build locally (#5467)
Co-authored-by: Halvor Haugan <83693529+HalvorHaugan@users.noreply.github.com>
2026-11-03 10:04:24 +01:00
Halvor Haugan 87194aeb70 fix(Combobox): make listbox unfocusable (#5490) 2026-11-03 08:57:35 +01:00
49 changed files with 221 additions and 225 deletions

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
---
"@navikt/aksel-icons": minor
---
Icons: New icons `Gift`, `ArrowsPointingIn` and `ArrowsPointingOut`.
+5
View File
@@ -0,0 +1,5 @@
---
"@navikt/ds-react": patch
---
Combobox: The list is no longer focusable
-5
View File
@@ -1,5 +0,0 @@
---
"@navikt/ds-react": patch
---
DataGrid: Keyboard navigation no longer rebuilds the internal grid map on every arrow key press, improving responsiveness in large tables.
+7 -1
View File
@@ -61,8 +61,14 @@ runs:
SANITY_AUTH_TOKEN: ${{ inputs.sanity_deploy_studio }}
shell: bash
- name: Generate RSS feed
run: yarn workspace website update:rss
env:
SANITY_READ_NO_DRAFTS: ${{ inputs.sanity_read_no_drafts_token }}
shell: bash
- name: Build Next.js website
run: yarn build:next
run: yarn workspace website build:with-playroom
env:
SANITY_READ: ${{ inputs.sanity_read_token }}
SANITY_READ_NO_DRAFTS: ${{ inputs.sanity_read_no_drafts_token }}
-2
View File
@@ -19,7 +19,6 @@ updates:
applies-to: version-updates
patterns:
- "@next/eslint-plugin-next"
- "@next/bundle-analyzer"
- "next"
sanity:
applies-to: version-updates
@@ -53,7 +52,6 @@ updates:
applies-to: security-updates
patterns:
- "@next/eslint-plugin-next"
- "@next/bundle-analyzer"
- "next"
sanity-security:
applies-to: security-updates
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.0001 13.2501C10.4142 13.2501 10.7501 13.5859 10.7501 14.0001V18.0001C10.75 18.4142 10.4142 18.75 10.0001 18.7501C9.58586 18.7501 9.25009 18.4142 9.25006 18.0001V15.8106L5.03033 20.0303C4.73746 20.3232 4.26268 20.3232 3.96978 20.0303C3.67689 19.7374 3.67689 19.2627 3.96978 18.9698L8.18951 14.7501H6.00006C5.58586 14.7501 5.25009 14.4142 5.25006 14.0001C5.25006 13.5858 5.58584 13.2501 6.00006 13.2501H10.0001ZM18.0001 13.2501C18.4142 13.2501 18.7501 13.5859 18.7501 14.0001C18.75 14.4142 18.4142 14.75 18.0001 14.7501H15.8106L20.0303 18.9698C20.3232 19.2627 20.3232 19.7375 20.0303 20.0303C19.7375 20.3232 19.2627 20.3232 18.9698 20.0303L14.7501 15.8106V18.0001C14.75 18.4142 14.4142 18.75 14.0001 18.7501C13.5859 18.7501 13.2501 18.4142 13.2501 18.0001V14.0001C13.2501 13.8011 13.3291 13.6104 13.4698 13.4698C13.6104 13.3291 13.8011 13.2501 14.0001 13.2501H18.0001ZM3.96978 3.96978C4.26268 3.67689 4.73744 3.67689 5.03033 3.96978L9.25006 8.18951V6.00005C9.25006 5.58584 9.58584 5.25005 10.0001 5.25005C10.4142 5.25008 10.7501 5.58586 10.7501 6.00005V10.0001C10.75 10.4142 10.4142 10.75 10.0001 10.7501H6.00006C5.58586 10.7501 5.25009 10.4142 5.25006 10.0001C5.25006 9.58584 5.58584 9.25005 6.00006 9.25005H8.18951L3.96978 5.03033C3.67689 4.73743 3.67689 4.26267 3.96978 3.96978ZM18.9698 3.96978C19.2627 3.67689 19.7374 3.67689 20.0303 3.96978C20.3232 4.26268 20.3232 4.73745 20.0303 5.03033L15.8106 9.25005H18.0001C18.4142 9.25008 18.7501 9.58586 18.7501 10.0001C18.75 10.4142 18.4142 10.75 18.0001 10.7501H14.0001C13.5859 10.7501 13.2501 10.4142 13.2501 10.0001V6.00005C13.2501 5.58584 13.5858 5.25005 14.0001 5.25005C14.4142 5.25008 14.7501 5.58586 14.7501 6.00005V8.18951L18.9698 3.96978Z" fill="#202733"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,12 @@
name: ArrowsPointingIn
category: Arrows
sub_category: Arrow
keywords:
- arrows
- piler
- fullscreen
- fullskjerm
- lukk
- close
variant: Stroke
created_at: 31.10.2026
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.96973 13.9697C9.26262 13.6768 9.73738 13.6768 10.0303 13.9697C10.3232 14.2626 10.3232 14.7374 10.0303 15.0303L5.81055 19.25H8C8.41421 19.25 8.75 19.5858 8.75 20C8.75 20.4142 8.41421 20.75 8 20.75H4C3.80109 20.75 3.61038 20.6709 3.46973 20.5303C3.32907 20.3896 3.25 20.1989 3.25 20V16C3.25 15.5858 3.58579 15.25 4 15.25C4.41421 15.25 4.75 15.5858 4.75 16V18.1895L8.96973 13.9697ZM13.9697 13.9697C14.2626 13.6768 14.7374 13.6768 15.0303 13.9697L19.25 18.1895V16C19.25 15.5858 19.5858 15.25 20 15.25C20.4142 15.25 20.75 15.5858 20.75 16V20C20.75 20.1989 20.6709 20.3896 20.5303 20.5303C20.3896 20.6709 20.1989 20.75 20 20.75H16C15.5858 20.75 15.25 20.4142 15.25 20C15.25 19.5858 15.5858 19.25 16 19.25H18.1895L13.9697 15.0303C13.6768 14.7374 13.6768 14.2626 13.9697 13.9697ZM8 3.25C8.41421 3.25 8.75 3.58579 8.75 4C8.75 4.41421 8.41421 4.75 8 4.75H5.81055L10.0303 8.96973C10.3232 9.26262 10.3232 9.73738 10.0303 10.0303C9.73738 10.3232 9.26262 10.3232 8.96973 10.0303L4.75 5.81055V8C4.75 8.41421 4.41421 8.75 4 8.75C3.58579 8.75 3.25 8.41421 3.25 8V4C3.25 3.58579 3.58579 3.25 4 3.25H8ZM20 3.25C20.4142 3.25 20.75 3.58579 20.75 4V8C20.75 8.41421 20.4142 8.75 20 8.75C19.5858 8.75 19.25 8.41421 19.25 8V5.81055L15.0303 10.0303C14.7374 10.3232 14.2626 10.3232 13.9697 10.0303C13.6768 9.73738 13.6768 9.26262 13.9697 8.96973L18.1895 4.75H16C15.5858 4.75 15.25 4.41421 15.25 4C15.25 3.58579 15.5858 3.25 16 3.25H20Z" fill="#202733"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1,12 @@
name: ArrowsPointingOut
category: Arrows
sub_category: Arrow
keywords:
- arrows
- piler
- fullscreen
- fullskjerm
- open
- åpne
variant: Stroke
created_at: 31.10.2026
@@ -6,5 +6,7 @@ keywords:
- søkeresultater
- tabell
- trakt
- fjern
- slett
variant: Stroke
created_at: 26.10.2026
@@ -6,5 +6,7 @@ keywords:
- søkeresultater
- tabell
- trakt
- fjern
- slett
variant: Fill
created_at: 26.10.2026
+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14 3.25C15.5188 3.25 16.75 4.48122 16.75 6C16.75 6.45058 16.6394 6.87468 16.4473 7.25H19C19.9665 7.25 20.75 8.0335 20.75 9V11C20.75 11.6977 20.3407 12.298 19.75 12.5791V19C19.75 19.9665 18.9665 20.75 18 20.75H6C5.0335 20.75 4.25 19.9665 4.25 19V12.5791C3.65928 12.298 3.25 11.6977 3.25 11V9C3.25 8.0335 4.0335 7.25 5 7.25H7.55273C7.36065 6.87468 7.25 6.45058 7.25 6C7.25 4.48122 8.48122 3.25 10 3.25C10.789 3.25 11.4985 3.58399 12 4.11621C12.5015 3.58399 13.211 3.25 14 3.25ZM5.75 19C5.75 19.1381 5.86193 19.25 6 19.25H11.25V12.75H5.75V19ZM12.75 19.25H18C18.1381 19.25 18.25 19.1381 18.25 19V12.75H12.75V19.25ZM5 8.75C4.86193 8.75 4.75 8.86193 4.75 9V11C4.75 11.1381 4.86193 11.25 5 11.25H11.25V8.75H5ZM12.75 11.25H19C19.1381 11.25 19.25 11.1381 19.25 11V9C19.25 8.86193 19.1381 8.75 19 8.75H12.75V11.25ZM10 4.75C9.30964 4.75 8.75 5.30964 8.75 6C8.75 6.69036 9.30964 7.25 10 7.25H11.25V6C11.25 5.30964 10.6904 4.75 10 4.75ZM14 4.75C13.3096 4.75 12.75 5.30964 12.75 6V7.25H14C14.6904 7.25 15.25 6.69036 15.25 6C15.25 5.30964 14.6904 4.75 14 4.75Z" fill="#202733"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

+8
View File
@@ -0,0 +1,8 @@
name: Gift
category: Home
sub_category: Toys
keywords:
- gave
- presang
variant: Stroke
created_at: 31.10.2026
+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.56055 13.2197C4.70421 13.2397 4.85088 13.25 5 13.25H11C11.1381 13.25 11.25 13.3619 11.25 13.5V20.5C11.25 20.6381 11.1381 20.75 11 20.75H6C5.0335 20.75 4.25 19.9665 4.25 19V13.4775C4.25 13.3162 4.40077 13.1975 4.56055 13.2197ZM19.4395 13.2197C19.5992 13.1975 19.75 13.3162 19.75 13.4775V19C19.75 19.9665 18.9665 20.75 18 20.75H13C12.8619 20.75 12.75 20.6381 12.75 20.5V13.5C12.75 13.3619 12.8619 13.25 13 13.25H19C19.1491 13.25 19.2958 13.2397 19.4395 13.2197ZM14 3.25C15.5188 3.25 16.75 4.48122 16.75 6C16.75 6.45058 16.6394 6.87468 16.4473 7.25H19C19.9665 7.25 20.75 8.0335 20.75 9V10C20.75 10.9665 19.9665 11.75 19 11.75H13C12.8619 11.75 12.75 11.6381 12.75 11.5V7.25H14C14.6904 7.25 15.25 6.69036 15.25 6C15.25 5.30964 14.6904 4.75 14 4.75C13.3096 4.75 12.75 5.30964 12.75 6V7.24707H11.25V6C11.25 5.30964 10.6904 4.75 10 4.75C9.30964 4.75 8.75 5.30964 8.75 6C8.75 6.69036 9.30964 7.25 10 7.25H11.25V11.5C11.25 11.6381 11.1381 11.75 11 11.75H5C4.0335 11.75 3.25 10.9665 3.25 10V9C3.25 8.0335 4.0335 7.25 5 7.25H7.55273C7.36065 6.87468 7.25 6.45058 7.25 6C7.25 4.48122 8.48122 3.25 10 3.25C10.789 3.25 11.4985 3.58399 12 4.11621C12.5015 3.58399 13.211 3.25 14 3.25Z" fill="#202733"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+8
View File
@@ -0,0 +1,8 @@
name: GiftFill
category: Home
sub_category: Toys
keywords:
- gave
- presang
variant: Fill
created_at: 31.10.2026
+1 -1
View File
@@ -2,6 +2,6 @@ name: Keyboard
category: Interface
sub_category: Devices
keywords:
- Keyboard
- Tastatur
variant: Stroke
created_at: 26.10.2026
+1 -1
View File
@@ -2,6 +2,6 @@ name: KeyboardFill
category: Interface
sub_category: Devices
keywords:
- KeyboardFill
- Tastatur
variant: Fill
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableCellsMerge
category: Interface
sub_category: Table
keywords:
- TableCellsMerge
- celle
- slå sammen
- tabell
- datagrid
variant: Stroke
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableCellsMergeFill
category: Interface
sub_category: Table
keywords:
- TableCellsMergeFill
- celle
- slå sammen
- tabell
- datagrid
variant: Fill
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableCellsSplit
category: Interface
sub_category: Table
keywords:
- TableCellsSplit
- celle
- splitt
- tabell
- datagrid
variant: Stroke
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableCellsSplitFill
category: Interface
sub_category: Table
keywords:
- TableCellsSplitFill
- celle
- splitt
- tabell
- datagrid
variant: Fill
created_at: 26.10.2026
+4 -1
View File
@@ -2,6 +2,9 @@ name: TableCross
category: Interface
sub_category: Table
keywords:
- TableCross
- tabell
- datagrid
- fjern
- slett
variant: Stroke
created_at: 26.10.2026
+4 -1
View File
@@ -2,6 +2,9 @@ name: TableCrossFill
category: Interface
sub_category: Table
keywords:
- TableCrossFill
- tabell
- datagrid
- fjern
- slett
variant: Fill
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableDeleteColumn
category: Interface
sub_category: Table
keywords:
- TableDeleteColumn
- slett kolonne
- tabell
- datagrid
- fjern
variant: Stroke
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableDeleteColumnFill
category: Interface
sub_category: Table
keywords:
- TableDeleteColumnFill
- slett kolonne
- tabell
- datagrid
- fjern
variant: Fill
created_at: 26.10.2026
+4 -1
View File
@@ -2,6 +2,9 @@ name: TableDeleteRow
category: Interface
sub_category: Table
keywords:
- TableDeleteRow
- slett rad
- tabell
- datagrid
- fjern
variant: Stroke
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableDeleteRowFill
category: Interface
sub_category: Table
keywords:
- TableDeleteRowFill
- slett rad
- tabell
- datagrid
- fjern
variant: Fill
created_at: 26.10.2026
+2 -1
View File
@@ -2,6 +2,7 @@ name: TableGrid
category: Interface
sub_category: Table
keywords:
- TableGrid
- tabell
- datagrid
variant: Stroke
created_at: 26.10.2026
+2 -1
View File
@@ -2,6 +2,7 @@ name: TableGridFill
category: Interface
sub_category: Table
keywords:
- TableGridFill
- tabell
- datagrid
variant: Fill
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableInsertColumnLeft
category: Interface
sub_category: Table
keywords:
- TableInsertColumnLeft
- ny kolonne
- venstre
- tabell
- datagrid
variant: Stroke
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableInsertColumnLeftFill
category: Interface
sub_category: Table
keywords:
- TableInsertColumnLeftFill
- ny kolonne
- venstre
- tabell
- datagrid
variant: Fill
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableInsertColumnRight
category: Interface
sub_category: Table
keywords:
- TableInsertColumnRight
- ny kolonne
- høyre
- tabell
- datagrid
variant: Stroke
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableInsertColumnRightFill
category: Interface
sub_category: Table
keywords:
- TableInsertColumnRightFill
- ny kolonne
- høyre
- tabell
- datagrid
variant: Fill
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableInsertRowAbove
category: Interface
sub_category: Table
keywords:
- TableInsertRowAbove
- ny rad
- over
- tabell
- datagrid
variant: Stroke
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableInsertRowAboveFill
category: Interface
sub_category: Table
keywords:
- TableInsertRowAboveFill
- ny rad
- over
- tabell
- datagrid
variant: Fill
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableInsertRowBelow
category: Interface
sub_category: Table
keywords:
- TableInsertRowBelow
- ny rad
- under
- tabell
- datagrid
variant: Stroke
created_at: 26.10.2026
@@ -2,6 +2,9 @@ name: TableInsertRowBelowFill
category: Interface
sub_category: Table
keywords:
- TableInsertRowBelowFill
- ny rad
- under
- tabell
- datagrid
variant: Fill
created_at: 26.10.2026
+4 -1
View File
@@ -2,6 +2,9 @@ name: TablePlus
category: Interface
sub_category: Table
keywords:
- TablePlus
- tabell
- legg til
- ny
- datagrid
variant: Stroke
created_at: 26.10.2026
+4 -1
View File
@@ -2,6 +2,9 @@ name: TablePlusFill
category: Interface
sub_category: Table
keywords:
- TablePlusFill
- tabell
- legg til
- ny
- datagrid
variant: Fill
created_at: 26.10.2026
+1 -1
View File
@@ -49,7 +49,7 @@
"postcss-selector-parser": "^7.1.7",
"postcss-value-parser": "^4.2.0",
"stylelint": "^17.15.0",
"stylelint-test-rule-node": "^1.2.0",
"stylelint-test-rule-node": "^1.3.0",
"tsx": "^4.23.15",
"typescript": "6.0.3"
}
@@ -6,7 +6,6 @@ import { type GridCache, buildTableGridMap } from "../helpers/table-grid-nav";
* Manages the table grid cache and observes DOM changes that require grid rebuilding.
* Watches for structural changes (rows/cells added/removed) and attribute changes
* (colspan, rowspan, hidden, style) that affect grid layout and focusability.
* Style mutations that only touch scroll-margin (written during focus navigation) are ignored.
*/
function useGridCache(tableRef: HTMLTableElement | null, enabled: boolean) {
const gridCacheRef = useRef<GridCache>({
@@ -23,11 +22,7 @@ function useGridCache(tableRef: HTMLTableElement | null, enabled: boolean) {
return;
}
observerRef.current = new MutationObserver((records) => {
if (records.every(isScrollMarginOnlyMutation)) {
return;
}
observerRef.current = new MutationObserver(() => {
gridCacheRef.current.dirty = true;
if (activeCellRef.current && !activeCellRef.current.isConnected) {
@@ -40,7 +35,6 @@ function useGridCache(tableRef: HTMLTableElement | null, enabled: boolean) {
childList: true,
attributes: true,
attributeFilter: ["colspan", "rowspan", "hidden", "style"],
attributeOldValue: true,
});
return () => {
@@ -77,35 +71,4 @@ function useGridCache(tableRef: HTMLTableElement | null, enabled: boolean) {
};
}
function stripScrollMargin(style: string | null): string {
if (!style) {
return "";
}
return style
.split(";")
.map((declaration) => declaration.trim())
.filter(
(declaration) => declaration && !declaration.startsWith("scroll-margin"),
)
.join(";");
}
/**
* Focus navigation temporarily writes inline scroll-margin (see `applyFocusAndScroll`).
* Those writes don't affect grid topology, so they should not invalidate the cache.
* Compares the value before the first mutation with the current value, so any
* net change to other inline styles (e.g. `display: none`) still invalidates.
*/
function isScrollMarginOnlyMutation(record: MutationRecord): boolean {
if (record.type !== "attributes" || record.attributeName !== "style") {
return false;
}
return (
stripScrollMargin(record.oldValue) ===
stripScrollMargin((record.target as Element).getAttribute("style"))
);
}
export { useGridCache };
@@ -343,18 +343,21 @@ export const EnterNotSubmittingForm: StoryObj<{
args: {
onSubmit: fn(),
},
render: ({ onSubmit }) => {
return (
<form action="https://www.aksel.nav.no" method="get" onSubmit={onSubmit}>
<UNSAFE_Combobox
options={options}
label="Hva er dine favorittfrukter?"
isMultiSelect
allowNewValues
/>
</form>
);
},
render: ({ onSubmit }) => (
<form
onSubmit={(event) => {
event.preventDefault();
onSubmit(event);
}}
>
<UNSAFE_Combobox
options={options}
label="Hva er dine favorittfrukter?"
isMultiSelect
allowNewValues
/>
</form>
),
play: async ({ canvasElement, args }) => {
args.onSubmit.mockClear();
const canvas = within(canvasElement);
@@ -115,6 +115,7 @@ const FilteredOptions = () => {
ref={setFilteredOptionsRef}
// biome-ignore lint/a11y/noNoninteractiveElementToInteractiveRole: The <ul> element acts as a listbox in the combobox.
role="listbox"
tabIndex={-1}
className="aksel-combobox__list-options"
>
{isValueNew && !maxSelected.isLimitReached && allowNewValues && (
+8
View File
@@ -37,6 +37,14 @@ yarn build:next
yarn serve:next
```
`yarn build:next` genererer ikke RSS-feeden og bygger ikke Playroom. Kjør dette for å bygge alt:
```bash
yarn workspace website update:rss
yarn workspace website build:with-playroom
yarn serve:next
```
**Rettigheter**
Sanity-datasettet er privat, noe som betyr du må ha tilgang til Sanity-applikasjonen og følgende tokens:
@@ -1,7 +1,7 @@
"use client";
import { useEffect, useMemo, useRef, useState } from "react";
import Masonry from "react-responsive-masonry";
import { Masonry } from "react-responsive-masonry";
import { Box, HGrid, Heading } from "@navikt/ds-react";
import { useMedia } from "@/app/_ui/utils/hooks/useMedia";
import Card, { type ArticleT } from "./FrontpageMasonryCard";
+1 -3
View File
@@ -1,4 +1,3 @@
import BundleAnalyzer from "@next/bundle-analyzer";
import type { NextConfig } from "next";
import { sanity } from "next-sanity/live/cache-life";
import path from "node:path";
@@ -173,5 +172,4 @@ const nextConfig: NextConfig = {
serverExternalPackages: ["@navikt/next-logger", "next-logger", "pino"],
};
module.exports =
process.env.ANALYZE === "true" ? BundleAnalyzer()(nextConfig) : nextConfig;
module.exports = nextConfig;
+7 -6
View File
@@ -6,7 +6,8 @@
"author": "Aksel | Nav designsystem team",
"scripts": {
"dev": "next | pino-pretty --messageKey=message",
"build": "concurrently \"yarn workspace aksel-playroom build:playroom\" \"yarn next build\" \"yarn update:rss\" && yarn cp:assets",
"build": "yarn next build && yarn cp:assets",
"build:with-playroom": "concurrently \"yarn workspace aksel-playroom build:playroom\" \"yarn next build\" && yarn cp:assets:with-playroom",
"start": "cd .next/standalone/aksel.nav.no/website && PORT=3000 HOSTNAME=0.0.0.0 node server.js",
"e2e:dev": "yarn generate-testpaths && playwright test --ui",
"e2e:docker": "yarn generate-testpaths && playwright test",
@@ -17,7 +18,7 @@
"update:changelog": "yarn tsx --env-file-if-exists=.env ./scripts/changelog",
"update:stats": "yarn tsx --env-file-if-exists=.env ./scripts/update-stats/update-stats",
"update:sanity": "yarn update:metadata && yarn update:eksempler && yarn update:changelog && yarn update:stats",
"analyze": "cross-env ANALYZE=true yarn build",
"analyze": "next analyze",
"test": "vitest run -c config/vitest.config.ts",
"test:watch": "vitest watch -c config/vitest.config.ts",
"playwright": "playwright test",
@@ -26,7 +27,8 @@
"cp:playroom": "copyfiles -E -u 5 '../../apps/playroom/dist/sandbox/**' public/",
"cp:static": "copyfiles -E -u 1 '.next/static/**' .next/standalone/aksel.nav.no/website/.next/",
"cp:public": "copyfiles -E 'public/**' .next/standalone/aksel.nav.no/website/",
"cp:assets": "yarn cp:playroom && yarn cp:public && yarn cp:static"
"cp:assets": "yarn cp:public && yarn cp:static",
"cp:assets:with-playroom": "yarn cp:playroom && yarn cp:assets"
},
"dependencies": {
"@navikt/analytics-types": "0.0.9",
@@ -48,13 +50,13 @@
"next-logger": "^5.0.2",
"next-sanity": "13.2.3",
"next-themes": "^0.4.6",
"pino": "^10.3.1",
"pino": "^10.4.0",
"prism-react-renderer": "^2.0.0",
"react": "19.3.1",
"react-dom": "19.3.1",
"react-hook-form": "^7.90.0",
"react-markdown": "^9.0.1",
"react-responsive-masonry": "2.7.2",
"react-responsive-masonry": "2.9.0",
"react-snowfall": "^2.4.0",
"remark-gfm": "^4.0.0",
"rxjs": "^7.8.2",
@@ -72,7 +74,6 @@
"@babel/parser": "^7.27.5",
"@babel/traverse": "^7.27.4",
"@google-cloud/bigquery": "^9.5.0",
"@next/bundle-analyzer": "16.4.3",
"@next/eslint-plugin-next": "16.4.3",
"@playwright/test": "1.61.1",
"@portabletext/block-tools": "^6.0.0",
+1 -1
View File
@@ -106,7 +106,7 @@
"eslint-plugin-storybook": "^10.6.3",
"eslint-plugin-testing-library": "^7.16.0",
"fast-glob": "3.3.3",
"globals": "^17.7.0",
"globals": "^17.13.0",
"husky": "^9.1.7",
"lint-staged": "17.6.0",
"playwright": "1.61.1",
+26 -131
View File
@@ -2388,13 +2388,6 @@ __metadata:
languageName: node
linkType: hard
"@discoveryjs/json-ext@npm:0.5.7":
version: 0.5.7
resolution: "@discoveryjs/json-ext@npm:0.5.7"
checksum: 10/b95682a852448e8ef50d6f8e3b7ba288aab3fd98a2bafbe46881a3db0c6e7248a2debe9e1ee0d4137c521e4743ca5bbcb1c0765c9d7b3e0ef53231506fec42b4
languageName: node
linkType: hard
"@dnd-kit/accessibility@npm:^3.1.1":
version: 3.1.1
resolution: "@dnd-kit/accessibility@npm:3.1.1"
@@ -4923,7 +4916,7 @@ __metadata:
postcss-selector-parser: "npm:^7.1.7"
postcss-value-parser: "npm:^4.2.0"
stylelint: "npm:^17.15.0"
stylelint-test-rule-node: "npm:^1.2.0"
stylelint-test-rule-node: "npm:^1.3.0"
tsx: "npm:^4.23.15"
typescript: "npm:6.0.3"
languageName: unknown
@@ -5092,15 +5085,6 @@ __metadata:
languageName: node
linkType: hard
"@next/bundle-analyzer@npm:16.4.3":
version: 16.4.3
resolution: "@next/bundle-analyzer@npm:16.4.3"
dependencies:
webpack-bundle-analyzer: "npm:4.10.1"
checksum: 10/cc29a60472950a8c178af34f7e164f8b903455811aeb01b12ae3f2721124485cc20dcf4e941b509c2dbb82e8023174ea01a69d4a90735fd6c7657f35fb245a60
languageName: node
linkType: hard
"@next/env@npm:16.4.3":
version: 16.4.3
resolution: "@next/env@npm:16.4.3"
@@ -9649,16 +9633,7 @@ __metadata:
languageName: node
linkType: hard
"acorn-walk@npm:^8.0.0":
version: 8.3.5
resolution: "acorn-walk@npm:8.3.5"
dependencies:
acorn: "npm:^8.11.0"
checksum: 10/f52a158a1c1f00c82702c7eb9b8ae8aad79748a7689241dcc2d797dce680f1dcb15c78f312f687eeacdfb3a4cac4b87d04af470f0201bd56c6661fca6f94b195
languageName: node
linkType: hard
"acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.15.0, acorn@npm:^8.16.0":
"acorn@npm:^8.15.0, acorn@npm:^8.16.0":
version: 8.18.0
resolution: "acorn@npm:8.18.0"
bin:
@@ -9938,7 +9913,7 @@ __metadata:
eslint-plugin-storybook: "npm:^10.6.3"
eslint-plugin-testing-library: "npm:^7.16.0"
fast-glob: "npm:3.3.3"
globals: "npm:^17.7.0"
globals: "npm:^17.13.0"
husky: "npm:^9.1.7"
lint-staged: "npm:17.6.0"
playwright: "npm:1.61.1"
@@ -12249,7 +12224,7 @@ __metadata:
languageName: node
linkType: hard
"debounce@npm:^1.0.0, debounce@npm:^1.2.1":
"debounce@npm:^1.0.0":
version: 1.2.1
resolution: "debounce@npm:1.2.1"
checksum: 10/0b95b2a9d80ed69117d890f8dab8c0f2d6066f8d20edd1d810ae51f8f366a6d4c8b1d56e97dcb9304e93d57de4d5db440d34a03def7dad50403fc3f22bf16808
@@ -12726,13 +12701,6 @@ __metadata:
languageName: node
linkType: hard
"duplexer@npm:^0.1.2":
version: 0.1.2
resolution: "duplexer@npm:0.1.2"
checksum: 10/62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0
languageName: node
linkType: hard
"duplexify@npm:^3.5.0, duplexify@npm:^3.6.0":
version: 3.7.1
resolution: "duplexify@npm:3.7.1"
@@ -14720,10 +14688,10 @@ __metadata:
languageName: node
linkType: hard
"globals@npm:^17.7.0":
version: 17.11.0
resolution: "globals@npm:17.11.0"
checksum: 10/9cff5b8099b585862ab0d31e8b93dc1c3e7b59239dc58b59447a38709715751df8794ee0d28f434f8e421b01aee3cc10051e2455b5c967d960e79f882e68aa0f
"globals@npm:^17.13.0":
version: 17.13.0
resolution: "globals@npm:17.13.0"
checksum: 10/f723714cfb07bcf3163d44661d63b2a6076d93fd2f3724622b22084c62bcbbdb3ea3c601ec39635f1430d5cdf60bbf6fd7e458f12b5381ed422ed355c699537b
languageName: node
linkType: hard
@@ -14889,15 +14857,6 @@ __metadata:
languageName: node
linkType: hard
"gzip-size@npm:^6.0.0":
version: 6.0.0
resolution: "gzip-size@npm:6.0.0"
dependencies:
duplexer: "npm:^0.1.2"
checksum: 10/2df97f359696ad154fc171dcb55bc883fe6e833bca7a65e457b9358f3cb6312405ed70a8da24a77c1baac0639906cd52358dc0ce2ec1a937eaa631b934c94194
languageName: node
linkType: hard
"handle-thing@npm:^2.0.0":
version: 2.0.1
resolution: "handle-thing@npm:2.0.1"
@@ -15232,7 +15191,7 @@ __metadata:
languageName: node
linkType: hard
"html-escaper@npm:^2.0.0, html-escaper@npm:^2.0.2":
"html-escaper@npm:^2.0.0":
version: 2.0.2
resolution: "html-escaper@npm:2.0.2"
checksum: 10/034d74029dcca544a34fb6135e98d427acd73019796ffc17383eaa3ec2fe1c0471dcbbc8f8ed39e46e86d43ccd753a160631615e4048285e313569609b66d5b7
@@ -16084,13 +16043,6 @@ __metadata:
languageName: node
linkType: hard
"is-plain-object@npm:^5.0.0":
version: 5.1.0
resolution: "is-plain-object@npm:5.1.0"
checksum: 10/100adc3c2a7ef53968957346aecd1ee427053e1cfa5a12a0b6e49466dd86703d9f52440772f0aa296539691ac164deadfdff5c24c7cadb8635c6a00a9fcaf7ba
languageName: node
linkType: hard
"is-potential-custom-element-name@npm:^1.0.1":
version: 1.0.1
resolution: "is-potential-custom-element-name@npm:1.0.1"
@@ -19043,15 +18995,6 @@ __metadata:
languageName: node
linkType: hard
"opener@npm:^1.5.2":
version: 1.5.2
resolution: "opener@npm:1.5.2"
bin:
opener: bin/opener-bin.js
checksum: 10/0504efcd6546e14c016a261f58a68acf9f2e5c23d84865d7d5470d5169788327ceaa5386253682f533b3fba4821748aa37ecb395f3dae7acb3261b9b22e36814
languageName: node
linkType: hard
"optionator@npm:^0.9.3":
version: 0.9.4
resolution: "optionator@npm:0.9.4"
@@ -19794,9 +19737,9 @@ __metadata:
languageName: node
linkType: hard
"pino@npm:^10.3.1":
version: 10.3.1
resolution: "pino@npm:10.3.1"
"pino@npm:^10.4.0":
version: 10.4.0
resolution: "pino@npm:10.4.0"
dependencies:
"@pinojs/redact": "npm:^0.4.0"
atomic-sleep: "npm:^1.0.0"
@@ -19805,13 +19748,13 @@ __metadata:
pino-std-serializers: "npm:^7.0.0"
process-warning: "npm:^5.0.0"
quick-format-unescaped: "npm:^4.0.3"
real-require: "npm:^0.2.0"
real-require: "npm:^1.0.0"
safe-stable-stringify: "npm:^2.3.1"
sonic-boom: "npm:^4.0.1"
thread-stream: "npm:^4.0.0"
bin:
pino: bin.js
checksum: 10/46cad7bf1859c83a8a9c43af764e5165f44057ce76d44b1b2b4390f2abccb8a579f42abfe742d88b4d8e1d339213afb46ea50fc39c50095dd1f0f9fe26ea1342
checksum: 10/d08f13885de461acad93034b3f526de011fd9b904083750bdcfd2df0573c68942564a58f9fba76ab45c8e8dd6cc13ffa56b8dff7dd247f326164631ae4f96bcc
languageName: node
linkType: hard
@@ -20875,12 +20818,14 @@ __metadata:
languageName: node
linkType: hard
"react-responsive-masonry@npm:2.7.2":
version: 2.7.2
resolution: "react-responsive-masonry@npm:2.7.2"
"react-responsive-masonry@npm:2.9.0":
version: 2.9.0
resolution: "react-responsive-masonry@npm:2.9.0"
dependencies:
prop-types: "npm:^15.7.2"
checksum: 10/480ddee29adf0c400246dea0990f4f39e8a1d6c66e21f0055d59451ca4cb68711bba1df0e2e75a1a2419cbced961a1b00c0228658b2f86fb6547ed2ec5891c01
peerDependencies:
react: ">=16.8.0"
checksum: 10/8256ed341e0bf13313155f3d89897f0a02f9824a188a96709c02610d5cb03a6d8dbfa9794816ba88fdbc7fa2647f51d070f722dc20389ab442f925c0ed961328
languageName: node
linkType: hard
@@ -22413,17 +22358,6 @@ __metadata:
languageName: node
linkType: hard
"sirv@npm:^2.0.3":
version: 2.0.4
resolution: "sirv@npm:2.0.4"
dependencies:
"@polka/url": "npm:^1.0.0-next.24"
mrmime: "npm:^2.0.0"
totalist: "npm:^3.0.0"
checksum: 10/24f42cf06895017e589c9d16fc3f1c6c07fe8b0dbafce8a8b46322cfba67b7f2498610183954cb0e9d089c8cb60002a7ee7e8bca6a91a0d7042bfbc3473c95c3
languageName: node
linkType: hard
"sirv@npm:^3.0.2":
version: 3.0.2
resolution: "sirv@npm:3.0.2"
@@ -23158,15 +23092,15 @@ __metadata:
languageName: node
linkType: hard
"stylelint-test-rule-node@npm:^1.2.0":
version: 1.2.0
resolution: "stylelint-test-rule-node@npm:1.2.0"
"stylelint-test-rule-node@npm:^1.3.0":
version: 1.3.0
resolution: "stylelint-test-rule-node@npm:1.3.0"
peerDependencies:
stylelint: ^17.0.0
peerDependenciesMeta:
stylelint:
optional: true
checksum: 10/83881f1b545ad726b5278faab64b440d7f386649639158b5af5a3e1fefeaae65543426df44128a5d7c404aabbdcf7b522e41485bdf77a01db03542a9600473af
checksum: 10/6fbfa19a18c5c41d92aa7548cc44f04239beeaa34058627b2faa2419796c5e3eb2959371d006d7f44d44e7bf13bee8db115a179a63cc573c77a0a60eb8dc6d59
languageName: node
linkType: hard
@@ -25039,29 +24973,6 @@ __metadata:
languageName: node
linkType: hard
"webpack-bundle-analyzer@npm:4.10.1":
version: 4.10.1
resolution: "webpack-bundle-analyzer@npm:4.10.1"
dependencies:
"@discoveryjs/json-ext": "npm:0.5.7"
acorn: "npm:^8.0.4"
acorn-walk: "npm:^8.0.0"
commander: "npm:^7.2.0"
debounce: "npm:^1.2.1"
escape-string-regexp: "npm:^4.0.0"
gzip-size: "npm:^6.0.0"
html-escaper: "npm:^2.0.2"
is-plain-object: "npm:^5.0.0"
opener: "npm:^1.5.2"
picocolors: "npm:^1.0.0"
sirv: "npm:^2.0.3"
ws: "npm:^7.3.1"
bin:
webpack-bundle-analyzer: lib/bin/analyzer.js
checksum: 10/bc7bc2c014ba36dfb3f28ef75e3bb4be17ebff092ae713a30392a1d578a73b5d83ed0940b9d12eca6b06e514218d8a1e7cb0610f0b4d74b53425be3f0cc3aea8
languageName: node
linkType: hard
"webpack-dev-middleware@npm:^7.4.2":
version: 7.4.5
resolution: "webpack-dev-middleware@npm:7.4.5"
@@ -25196,7 +25107,6 @@ __metadata:
"@navikt/analytics-types": "npm:0.0.9"
"@navikt/next-logger": "npm:5.0.1"
"@navikt/oasis": "npm:4.1.4"
"@next/bundle-analyzer": "npm:16.4.3"
"@next/eslint-plugin-next": "npm:16.4.3"
"@playwright/test": "npm:1.61.1"
"@portabletext/block-tools": "npm:^6.0.0"
@@ -25232,14 +25142,14 @@ __metadata:
next-logger: "npm:^5.0.2"
next-sanity: "npm:13.2.3"
next-themes: "npm:^0.4.6"
pino: "npm:^10.3.1"
pino: "npm:^10.4.0"
pino-pretty: "npm:^13.1.3"
prism-react-renderer: "npm:^2.0.0"
react: "npm:19.3.1"
react-dom: "npm:19.3.1"
react-hook-form: "npm:^7.90.0"
react-markdown: "npm:^9.0.1"
react-responsive-masonry: "npm:2.7.2"
react-responsive-masonry: "npm:2.9.0"
react-snowfall: "npm:^2.4.0"
remark-gfm: "npm:^4.0.0"
rss: "npm:^1.2.2"
@@ -25578,21 +25488,6 @@ __metadata:
languageName: node
linkType: hard
"ws@npm:^7.3.1":
version: 7.5.13
resolution: "ws@npm:7.5.13"
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ^5.0.2
peerDependenciesMeta:
bufferutil:
optional: true
utf-8-validate:
optional: true
checksum: 10/0873c813ce75c466b026ce0a4ce9a8b5b5f1dc9ef0dd7ae9690fa4025c66afb165d3a45550357080b29d66a0e3028cd13c72ccefc83ce10723b4822a574ebc99
languageName: node
linkType: hard
"wsl-utils@npm:^0.1.0":
version: 0.1.0
resolution: "wsl-utils@npm:0.1.0"