Compare commits

..
Author SHA1 Message Date
github-actions[bot]andgithub-actions[bot] bb00b750e6 Version Packages (#3529)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-03 12:19:10 +01:00
dependabot[bot] 803eb21ab1 ⬆️ Bump cssnano from 6.0.0 to 7.0.6 (#3545)
Bumps [cssnano](https://github.com/cssnano/cssnano) from 6.0.0 to 7.0.6.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@6.0.0...cssnano@7.0.6)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 12:18:12 +01:00
dependabot[bot] dc548667ff ⬆️ Bump peter-evans/create-or-update-comment from 3 to 4 (#3539)
Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 3 to 4.
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](https://github.com/peter-evans/create-or-update-comment/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/create-or-update-comment
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 12:14:16 +01:00
dependabot[bot] aa537e4d4a ⬆️ Bump peter-evans/find-comment from 2 to 3 (#3540)
Bumps [peter-evans/find-comment](https://github.com/peter-evans/find-comment) from 2 to 3.
- [Release notes](https://github.com/peter-evans/find-comment/releases)
- [Commits](https://github.com/peter-evans/find-comment/compare/v2...v3)

---
updated-dependencies:
- dependency-name: peter-evans/find-comment
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 12:13:40 +01:00
Ken 71408487e0 🐛 Refreshed yarn.lock to stop chromatic from breaking on build 2025-02-03 10:03:23 +01:00
Ken ddd04367af [Darkside]: SoftA-token added for use in Table zebra-stripes 2025-02-01 14:03:32 +01:00
dependabot[bot] 2303d6ce8c ⬆️ Bump the npm_and_yarn group across 4 directories with 11 updates (#3535)
Bumps the npm_and_yarn group with 8 updates in the /examples/astro directory:

| Package | From | To |
| --- | --- | --- |
| [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) | `4.15.8` | `4.16.18` |
| [braces](https://github.com/micromatch/braces) | `3.0.2` | `3.0.3` |
| [cross-spawn](https://github.com/moxystudio/node-cross-spawn) | `7.0.3` | `7.0.6` |
| [dset](https://github.com/lukeed/dset) | `3.1.3` | `3.1.4` |
| [micromatch](https://github.com/micromatch/micromatch) | `4.0.5` | `4.0.8` |
| [nanoid](https://github.com/ai/nanoid) | `3.3.7` | `3.3.8` |
| [rollup](https://github.com/rollup/rollup) | `4.22.2` | `4.32.1` |
| [tar](https://github.com/isaacs/node-tar) | `6.2.0` | `6.2.1` |

Bumps the npm_and_yarn group with 3 updates in the /examples/next-appdir directory: [cross-spawn](https://github.com/moxystudio/node-cross-spawn), [nanoid](https://github.com/ai/nanoid) and [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 3 updates in the /examples/referansesider directory: [nanoid](https://github.com/ai/nanoid), [rollup](https://github.com/rollup/rollup) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).
Bumps the npm_and_yarn group with 4 updates in the /examples/shadow-dom directory: [cross-spawn](https://github.com/moxystudio/node-cross-spawn), [nanoid](https://github.com/ai/nanoid), [rollup](https://github.com/rollup/rollup) and [tar](https://github.com/isaacs/node-tar).


Updates `astro` from 4.15.8 to 4.16.18
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/astro@4.16.18/packages/astro/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/astro@4.16.18/packages/astro)

Updates `braces` from 3.0.2 to 3.0.3
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

Updates `cookie` from 0.6.0 to 0.7.2
- [Release notes](https://github.com/jshttp/cookie/releases)
- [Commits](https://github.com/jshttp/cookie/compare/v0.6.0...v0.7.2)

Updates `cross-spawn` from 7.0.3 to 7.0.6
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

Updates `dset` from 3.1.3 to 3.1.4
- [Release notes](https://github.com/lukeed/dset/releases)
- [Commits](https://github.com/lukeed/dset/compare/v3.1.3...v3.1.4)

Updates `micromatch` from 4.0.5 to 4.0.8
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

Updates `nanoid` from 3.3.7 to 3.3.8
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

Updates `rollup` from 4.22.2 to 4.32.1
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.22.2...v4.32.1)

Updates `tar` from 6.2.0 to 6.2.1
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.2.0...v6.2.1)

Updates `vite` from 5.4.6 to 5.4.14
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.0.11/packages/vite)

Updates `cross-spawn` from 7.0.3 to 7.0.6
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

Updates `nanoid` from 3.3.7 to 3.3.8
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

Updates `next` from 15.0.0 to 15.1.2
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.0.0...v15.1.2)

Updates `nanoid` from 3.3.7 to 3.3.8
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

Updates `rollup` from 4.22.4 to 4.32.1
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.22.2...v4.32.1)

Updates `vite` from 5.4.14 to 6.0.11
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.0.11/packages/vite)

Updates `cross-spawn` from 7.0.3 to 7.0.6
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

Updates `nanoid` from 3.3.7 to 3.3.8
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

Updates `rollup` from 4.22.0 to 4.32.1
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.22.2...v4.32.1)

Updates `tar` from 6.2.0 to 6.2.1
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.2.0...v6.2.1)

Updates `vite` from 5.4.6 to 5.4.14
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.0.11/packages/vite)

---
updated-dependencies:
- dependency-name: astro
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: braces
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: cookie
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: cross-spawn
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: dset
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: micromatch
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: nanoid
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: tar
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: cross-spawn
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: nanoid
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: nanoid
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: cross-spawn
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: nanoid
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: tar
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-31 14:54:23 +01:00
dependabot[bot] 216eae6f1d ⬆️ Bump the npm_and_yarn group with 4 updates (#3534)
Bumps the npm_and_yarn group with 4 updates: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite), [cross-spawn](https://github.com/moxystudio/node-cross-spawn), [nanoid](https://github.com/ai/nanoid) and [next](https://github.com/vercel/next.js).


Updates `vite` from 5.4.14 to 6.0.9
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.0.9/packages/vite)

Updates `cross-spawn` from 6.0.5 to 6.0.6
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/v6.0.6/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v6.0.5...v6.0.6)

Updates `nanoid` from 3.3.7 to 3.3.8
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

Updates `next` from 14.2.15 to 14.2.23
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v14.2.15...v14.2.23)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: cross-spawn
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: nanoid
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-31 14:53:42 +01:00
Ken 0e5c58b28f 🩺 Add dependabot support (#3533) 2025-01-31 14:35:52 +01:00
Julian NymarkandKen 163c1bce04 Accordion: change: do animation similar to ExpansionCard (#3491)
* Accordion: change: do animation similar to ExpansionCard

* changeset

* change: comment expansioncard -> accordion

* don't need changeset for unreleased code

* 🚧 attempt to smooth out expansion of accordion

* working animation

* Update @navikt/core/css/darkside/accordion.darkside.css

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>

* accordion: remove border-bottom on content, add on item

* Update @navikt/core/css/darkside/accordion.darkside.css

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>

* Accordion: only set box-shadow line for indented items

---------

Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>
2025-01-31 14:03:11 +01:00
Ken 8ee604e6a7 🐛 Remove update to inline-reset 2025-01-31 13:16:25 +01:00
Ken c73db43c96 Fixed Tailwind 4 migration bugs, broken build (#3532)
* 🧪 Added tw-reset to compare chromatic

* 🐛 ExpansionCard button had dynamic padding

* 📝 Added changeset, removed old stories from Tag
2025-01-31 12:58:45 +01:00
Ken 83960d7390 🐛 Use correct global token for darkside JS 2025-01-29 16:23:30 +01:00
Ken 6c81fc0b23 ✨ New icons for sorting (#3528) 2025-01-29 12:45:59 +01:00
Ken a8cbd92e1c [Darkside] Quality assurance P6 (Fileupload) (#3524)
* 📝 Update FileUpload CSS-artifacts

* 🐛 Synced release-text with updated role-colors
2025-01-28 20:38:29 +01:00
Ken 2700f7ac41 [Darkside] Updated focus-outline (#3520)
* 💄 Updated focus-outline

* 🧪 Added legacy-support for deprecated files

* 🐛 Account for legacy files in count
2025-01-28 20:37:23 +01:00
Ken c3ce2c50f8 [Darkside] Quality assurance P5 (border-radius and font-weight) (#3519)
* 💄 Update border-radius based on Figma

* 💄 More border-radius adjustments

* 💄 Bolder medium+ headings
2025-01-28 18:55:16 +01:00
Ken a7db426e04 [Darkside] Quality assurance P4 (#3518)
* 💄 Adjust bg transparency

* 💄 Default border now same scale as roles
2025-01-28 18:54:24 +01:00
Ken 68a2f0249b [Darkside] Updated Focus design for Checkbox, Radio and Switch (#3513)
* 💄 Focus-outline now around item checkbox,radio

* 🐛 Resolved small and indeterminate-state

* 💄 updated focus-markings for switch

* Update @navikt/core/css/darkside/form/radio-checkbox.darkside.css

* 🐛 Hide new indeterminate node from old checkbox
2025-01-28 18:53:48 +01:00
Ken 5f9fdb617b Update LICENSE 2025-01-24 14:37:44 +01:00
github-actions[bot]andgithub-actions[bot] b4f37e80d0 Version Packages (#3509)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-23 09:07:21 +01:00
Ken f70bebc03e Update swift-readers-check.md 2025-01-22 14:03:11 +01:00
Ken 7aa85beb01 [Darkside] Quality assurance P1 (#3510)
* 💄 Adjustments 1

* 💄 Bumped default strong scale

* 💄 Bumped secondary neutral border

* 💄 Reduced text-color change on hover

* 🐛 Resolved border and focus logic for combobox

* 🐛 Fix icon sizing for buttons

* 💄 Use tertiary-buttons for datepicker caption

* Update @navikt/core/react/src/chips/Toggle.tsx

* 💄 QA updates combobox darkside (#3511)
2025-01-22 13:58:27 +01:00
Ken d29509dc0a 🐛 Using 'loader' inside 'icon'-prop broke layout caused by position absolute (#3515) 2025-01-22 11:19:29 +01:00
Ken 90f6178c3a ♻️ Fix #3451 scaling for 400% zoom (#3514) 2025-01-22 11:19:21 +01:00
Ken 6678742543 💄 Error borders uses danger-strong consistently (#3512) 2025-01-22 11:19:13 +01:00
715a34ac7d always render the maxSelected message when isMultiSelect (#3506)
* always render the maxSelected message when isMultiSelect

* also check if maxSelected is set

* Changeset

* Update .changeset/swift-readers-check.md

---------

Co-authored-by: Lars Eirik Korsgaard Hansen <71271458+larseirikhansen@users.noreply.github.com>
Co-authored-by: Ken <26967723+KenAJoh@users.noreply.github.com>
2025-01-22 09:02:58 +01:00
Ken 85feb0ed8a 📝 Added new sidebar category for /komponenter 2025-01-22 08:53:44 +01:00
dependabot[bot]andKen d2a7c868d5 ⬆️ Bump vite from 5.4.8 to 5.4.12 in /examples/referansesider (#3516)
* ⬆️ Bump vite from 5.4.8 to 5.4.12 in /examples/referansesider

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.8 to 5.4.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* Repo-bump vite

* 🔀 Yarn lock

---------

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>
2025-01-22 08:48:18 +01:00
Ken edab37a5da 🐛 Third bloggpost was sliced from view on frontpage 2025-01-21 13:13:20 +01:00
KenandHalvor Haugan fad913ce6b [Table] ExpandableRow contentGutter-prop (#3507)
* ✨ New prop contentGutter for ExpandableRow component

* ✨ Added new prop-support in darkside CSS

* 📝 changeset

* Update @navikt/core/react/src/table/ExpandableRow.tsx

Co-authored-by: Halvor Haugan <83693529+HalvorHaugan@users.noreply.github.com>

---------

Co-authored-by: Halvor Haugan <83693529+HalvorHaugan@users.noreply.github.com>
2025-01-21 06:00:20 +01:00
Ken 54e03db491 🐛 Added missing 'li'-tag for list-item in blogglist 2025-01-20 10:00:48 +01:00
Ken b52806535d 💄 Incremental layout and list-view update on Produktbloggen 2025-01-20 08:26:19 +01:00
Ken bbca69af9c ♻️ Removed raised-tokens from darkside roles 2025-01-20 07:48:09 +01:00
114 changed files with 27825 additions and 27322 deletions

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
version: 2
registries:
npm-github:
type: npm-registry
url: https://npm.pkg.github.com
token: ${{ secrets.READER_TOKEN }}
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: weekly
registries:
- npm-github
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
registries:
- npm-github
+2 -2
View File
@@ -60,7 +60,7 @@ jobs:
- name: Find Comment
if: github.event_name != 'push' && !contains(github.event.head_commit.message, '[ci skip]')
uses: peter-evans/find-comment@v2
uses: peter-evans/find-comment@v3
id: fc
with:
issue-number: ${{ github.event.pull_request.number }}
@@ -69,7 +69,7 @@ jobs:
- name: Create or update comment
if: github.event_name != 'push' && !contains(github.event.head_commit.message, '[ci skip]')
uses: peter-evans/create-or-update-comment@v3
uses: peter-evans/create-or-update-comment@v4
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
+8
View File
@@ -1,5 +1,13 @@
# @navikt/aksel-icons
## 7.11.0
### Minor Changes
- Icons: Added new icons 'SortUp' and 'SortDown' 🎉. ([#3528](https://github.com/navikt/aksel/pull/3528))
## 7.10.0
## 7.9.2
## 7.9.1
@@ -28,7 +28,7 @@
"postcss": "^8.4.31",
"postcss-url": "^10.1.3",
"typescript": "5.5.4",
"vite": "^5.4.6",
"vite": "^6.0.9",
"vite-plugin-singlefile": "^1.0.0",
"vite-plugin-svgr": "^4.2.0"
}
+1 -1
View File
@@ -13,5 +13,5 @@ keywords:
- forward
- videresend
variant: Stroke
updated_at: 23.02.2024
updated_at: 05.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -15,5 +15,5 @@ keywords:
- risiko
- forsiktighet
variant: Stroke
updated_at: 05.01.2024
updated_at: 27.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -15,5 +15,5 @@ keywords:
- markup-språk
- kildekode
variant: Stroke
updated_at: 01.03.2024
updated_at: 18.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -6,5 +6,5 @@ keywords:
- sann
- resultat
variant: Stroke
updated_at: 05.01.2024
updated_at: 24.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -9,5 +9,5 @@ keywords:
- open
- åpne
variant: Stroke
updated_at: 24.01.2024
updated_at: 16.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -10,5 +10,5 @@ keywords:
- wardrobe
- kleshenger
variant: Stroke
updated_at: 04.12.2023
updated_at: 12.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -7,5 +7,5 @@ keywords:
- penger
- norske kroner
variant: Stroke
updated_at: 05.01.2024
updated_at: 03.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -15,5 +15,5 @@ keywords:
- avslutt
- avslutt
variant: Stroke
updated_at: 25.04.2024
updated_at: 06.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -20,5 +20,5 @@ keywords:
- ansvar
- paragraf
variant: Stroke
updated_at: 04.01.2024
updated_at: 18.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -6,5 +6,5 @@ keywords:
- crystal
- snø
variant: Stroke
updated_at: 05.01.2024
updated_at: 23.09.2024
created_at: 07.03.2023
+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 fill-rule="evenodd" clip-rule="evenodd" d="M18.0303 18.5303C17.8897 18.671 17.6989 18.75 17.5 18.75C17.3011 18.75 17.1103 18.671 16.9697 18.5303L13.4697 15.0303C13.1768 14.7374 13.1768 14.2626 13.4697 13.9697C13.7626 13.6768 14.2374 13.6768 14.5303 13.9697L16.75 16.1893V6C16.75 5.58579 17.0858 5.25 17.5 5.25C17.9142 5.25 18.25 5.58579 18.25 6V16.1893L20.4697 13.9697C20.7626 13.6768 21.2374 13.6768 21.5303 13.9697C21.8232 14.2626 21.8232 14.7374 21.5303 15.0303L18.0303 18.5303ZM2.75 6.25C2.33579 6.25 2 6.58579 2 7C2 7.41421 2.33579 7.75 2.75 7.75L12.25 7.75C12.6642 7.75 13 7.41421 13 7C13 6.58579 12.6642 6.25 12.25 6.25L2.75 6.25ZM2.75 11.25C2.33579 11.25 2 11.5858 2 12C2 12.4142 2.33579 12.75 2.75 12.75L10.25 12.75C10.6642 12.75 11 12.4142 11 12C11 11.5858 10.6642 11.25 10.25 11.25H2.75ZM2 17C2 16.5858 2.33579 16.25 2.75 16.25H8.25C8.66421 16.25 9 16.5858 9 17C9 17.4142 8.66421 17.75 8.25 17.75H2.75C2.33579 17.75 2 17.4142 2 17Z" fill="#23262A"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

+11
View File
@@ -0,0 +1,11 @@
name: SortDown
category: Interface
sub_category: Filtering and sorting
keywords:
- sort
- sortering
- synkende
- descending
variant: Stroke
updated_at: 27.01.2025
created_at: 27.01.2025
+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 fill-rule="evenodd" clip-rule="evenodd" d="M18.0303 5.46967C17.8897 5.32902 17.6989 5.25 17.5 5.25C17.3011 5.25 17.1103 5.32902 16.9697 5.46967L13.4697 8.96967C13.1768 9.26256 13.1768 9.73744 13.4697 10.0303C13.7626 10.3232 14.2374 10.3232 14.5303 10.0303L16.75 7.81066V18C16.75 18.4142 17.0858 18.75 17.5 18.75C17.9142 18.75 18.25 18.4142 18.25 18V7.81066L20.4697 10.0303C20.7626 10.3232 21.2374 10.3232 21.5303 10.0303C21.8232 9.73744 21.8232 9.26256 21.5303 8.96967L18.0303 5.46967ZM2.75 17.75C2.33579 17.75 2 17.4142 2 17C2 16.5858 2.33579 16.25 2.75 16.25L12.25 16.25C12.6642 16.25 13 16.5858 13 17C13 17.4142 12.6642 17.75 12.25 17.75L2.75 17.75ZM2.75 12.75C2.33579 12.75 2 12.4142 2 12C2 11.5858 2.33579 11.25 2.75 11.25L10.25 11.25C10.6642 11.25 11 11.5858 11 12C11 12.4142 10.6642 12.75 10.25 12.75H2.75ZM2 7C2 7.41421 2.33579 7.75 2.75 7.75H8.25C8.66421 7.75 9 7.41421 9 7C9 6.58579 8.66421 6.25 8.25 6.25H2.75C2.33579 6.25 2 6.58579 2 7Z" fill="#23262A"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

+11
View File
@@ -0,0 +1,11 @@
name: SortUp
category: Interface
sub_category: Filtering and sorting
keywords:
- sort
- sortering
- stigende
- ascending
variant: Stroke
updated_at: 27.01.2025
created_at: 27.01.2025
+1 -1
View File
@@ -6,5 +6,5 @@ keywords:
- europa
- europe
variant: Stroke
updated_at: 08.07.2024
updated_at: 23.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -12,5 +12,5 @@ keywords:
- diagram
- analyse
variant: Stroke
updated_at: 05.07.2024
updated_at: 18.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -12,5 +12,5 @@ keywords:
- diagram
- analyse
variant: Stroke
updated_at: 05.07.2024
updated_at: 26.09.2024
created_at: 07.03.2023
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/aksel-icons",
"version": "7.9.2",
"version": "7.11.0",
"author": "Aksel | Nav",
"homepage": "https://aksel.nav.no/ikoner",
"repository": {
+4
View File
@@ -1,5 +1,9 @@
# @navikt/aksel-stylelint
## 7.11.0
## 7.10.0
## 7.9.2
## 7.9.1
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/aksel-stylelint",
"version": "7.9.2",
"version": "7.11.0",
"author": "Aksel | Nav",
"homepage": "https://aksel.nav.no/grunnleggende/kode/stylelint",
"repository": {
@@ -35,8 +35,8 @@
"dev": "yarn watch:lint"
},
"devDependencies": {
"@navikt/ds-css": "^7.9.2",
"@navikt/ds-tokens": "^7.9.2",
"@navikt/ds-css": "^7.11.0",
"@navikt/ds-tokens": "^7.11.0",
"concurrently": "9.0.1",
"postcss-selector-parser": "^6.0.13",
"postcss-value-parser": "^4.2.0",
+14
View File
@@ -1,5 +1,19 @@
# @navikt/aksel
## 7.11.0
### Patch Changes
- Updated dependencies [[`c73db43`](https://github.com/navikt/aksel/commit/c73db43c9638b922388ef6684c016663a0a29873), [`c73db43`](https://github.com/navikt/aksel/commit/c73db43c9638b922388ef6684c016663a0a29873)]:
- @navikt/ds-css@7.11.0
## 7.10.0
### Patch Changes
- Updated dependencies [[`d29509d`](https://github.com/navikt/aksel/commit/d29509dc0ad0ef6bff38ad9a2a820d3bd1770aaa), [`fad913c`](https://github.com/navikt/aksel/commit/fad913ce6b27580a2f7b54984955324d1af08196), [`715a34a`](https://github.com/navikt/aksel/commit/715a34ac7d4aa46b5b7b5990e5e1cd528cfd7f6b)]:
- @navikt/ds-css@7.10.0
## 7.9.2
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/aksel",
"version": "7.9.2",
"version": "7.11.0",
"description": "Aksel command line interface. Handles css-imports, codemods and more",
"author": "Aksel | Nav designsystem team",
"license": "MIT",
@@ -29,7 +29,7 @@
},
"homepage": "https://aksel.nav.no/grunnleggende/kode/kommandolinje",
"dependencies": {
"@navikt/ds-css": "^7.9.2",
"@navikt/ds-css": "^7.11.0",
"axios": "1.7.4",
"chalk": "4.1.0",
"clipboardy": "^2.3.0",
+20
View File
@@ -1,5 +1,25 @@
# @navikt/ds-css
## 7.11.0
### Patch Changes
- ExpansionCard: Removed dynamic padding on button-element. ([#3532](https://github.com/navikt/aksel/pull/3532))
- Modal: Defaults to `margin: auto` for tailwind 4 support. ([#3532](https://github.com/navikt/aksel/pull/3532))
## 7.10.0
### Minor Changes
- Table: New prop `contentGutter` added to `ExpandableRow`-component. This allows user more control for content layout inside expandable element. ([#3507](https://github.com/navikt/aksel/pull/3507))
### Patch Changes
- Button: Using `<Loader />` within `icon`-prop now supported. ([#3515](https://github.com/navikt/aksel/pull/3515))
- Combobox: Always render `maxSelected` message when `isMultiSelect` is set. ([#3506](https://github.com/navikt/aksel/pull/3506))
## 7.9.2
### Patch Changes
+1 -1
View File
@@ -497,7 +497,7 @@
}
/* Loader overrides */
.navds-button .navds-loader {
.navds-button > .navds-loader {
position: absolute;
}
+7 -2
View File
@@ -6,6 +6,7 @@ import { describe, expect, test } from "vitest";
* Darkside config might have some new files added. We can skip these when checking for equality.
*/
const newFiles = ["theme"];
const deprecatedFiles = ["linkpanel"];
describe("Check that old and new (darkside) bundle matches", () => {
test("Darkside includes the same files as old bundle", () => {
@@ -27,6 +28,9 @@ describe("Check that old and new (darkside) bundle matches", () => {
// Compare file names
oldFiles.forEach((file) => {
if (deprecatedFiles.find((oldFile) => file.includes(oldFile))) {
return;
}
expect(darksideFiles).toContain(file);
});
@@ -39,8 +43,9 @@ describe("Check that old and new (darkside) bundle matches", () => {
/**
* Check that darkside has the same amount of files as old bundle
* (minus the new files * 2 since .min.css is also included)
*/
expect(darksideFiles.length - newFiles.length * 2).toBe(oldFiles.length);
expect(
darksideFiles.length - newFiles.length * 2 + deprecatedFiles.length * 2,
).toBe(oldFiles.length);
});
});
@@ -45,8 +45,8 @@
}
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
z-index: 1;
&::before,
@@ -57,7 +57,7 @@
}
.navds-accordion--small .navds-accordion__header {
padding-block: var(--a-spacing-2);
padding-block: var(--ax-space-8);
}
.navds-accordion__header::before,
@@ -73,10 +73,6 @@
background-color: var(--ax-border-subtleA);
}
.navds-accordion__item:last-child > .navds-accordion__content {
border-bottom: 1px solid transparent;
}
.navds-accordion__header::after {
top: initial;
bottom: 0;
@@ -100,7 +96,7 @@
height: 22px;
align-self: center;
background-color: var(--ax-bg-accent-moderateA);
color: var(--ax-text-accent-strong);
color: var(--ax-text-accent);
}
.navds-accordion__header-chevron {
@@ -115,46 +111,9 @@
}
/* ---------------------------- Accordion content --------------------------- */
.navds-accordion__content {
--__acx-accordion-content-line-width: 2px;
padding-inline: var(--ax-space-24) var(--ax-space-12);
display: none;
overflow: hidden;
padding-block: 0;
max-height: 0;
border-color: transparent;
transition: all 250ms cubic-bezier(0.2, 0, 0, 1) allow-discrete;
animation: navds-accordion-content-animation 250ms cubic-bezier(0.2, 0, 0, 1);
}
.navds-accordion__item--no-animation {
animation: none;
}
@keyframes navds-accordion-content-animation {
0% {
opacity: 0.01;
}
20% {
opacity: 0.01;
}
100% {
opacity: 1;
}
}
.navds-accordion--indent > .navds-accordion__item > .navds-accordion__content {
padding-inline: var(--ax-space-24) var(--ax-space-12);
}
.navds-accordion--indent > .navds-accordion__item .navds-accordion__content-inner {
box-shadow: -2px 0 0 0 var(--ax-border-subtleA);
padding-block: var(--ax-space-8);
/* Aligns content with heading-section */
padding-inline: calc(var(--ax-space-20) + 2px) var(--ax-space-20);
@media (forced-colors: active) {
@@ -162,20 +121,54 @@
}
}
.navds-accordion__item[data-expanded="true"] > .navds-accordion__content {
display: block;
opacity: 1;
overflow: visible;
max-height: fit-content;
padding-block: var(--ax-space-8);
padding-block-end: var(--ax-space-24);
border-color: var(--ax-border-subtleA);
.navds-accordion--indent > .navds-accordion__item > .navds-accordion__content {
box-shadow: -2px 0 0 0 var(--ax-border-subtleA);
}
@starting-style {
.navds-accordion__item[data-expanded="true"]:not(.navds-accordion__item--no-animation) > .navds-accordion__content {
padding-block: 0;
max-height: 0;
.navds-accordion__item {
& > .navds-accordion__content {
display: grid;
grid-template-rows: 0fr;
visibility: hidden;
overflow: hidden;
margin-inline: var(--ax-space-24) var(--ax-space-12);
margin-block: 0;
transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
transition-duration: 250ms;
transition-property: visibility, opacity, grid-template-rows, margin, min-height;
border-color: transparent;
opacity: 0;
& .navds-accordion__content-inner {
min-height: 0;
padding-block: 0;
}
}
&[data-expanded="true"] {
& > .navds-accordion__content {
grid-template-rows: 1fr;
visibility: visible;
margin-block: var(--ax-space-8);
margin-block-end: var(--ax-space-24);
border-color: var(--ax-border-subtleA);
opacity: 1;
& .navds-accordion__content-inner {
min-height: fit-content;
}
}
&:last-child {
border-bottom: 1px solid var(--ax-border-subtleA);
}
}
}
/* ---------------- Accordion No Animation (defaultOpen) ---------------- */
.navds-accordion__item--no-animation {
& > .navds-accordion__content {
transition: none;
}
}
@@ -1,7 +1,7 @@
/* --------------------------- ActionMenu content --------------------------- */
.navds-action-menu__content {
overflow: hidden;
border-radius: var(--ax-border-radius-large);
border-radius: var(--ax-border-radius-xlarge);
border: 1px solid var(--ax-border-subtleA);
box-shadow: var(--ax-shadow-dialog);
transition: transform 250ms cubic-bezier(0, 0, 0, 1) allow-discrete;
@@ -39,7 +39,7 @@
--__axc-action-menu-item-pl: var(--ax-space-8);
--__axc-action-menu-item-height: 2rem;
border-radius: var(--ax-border-radius-large);
border-radius: var(--ax-border-radius-xlarge);
background-color: var(--ax-bg-raised);
min-width: 128px;
max-width: min(95vw, 640px);
@@ -60,7 +60,7 @@
gap: var(--ax-space-8);
min-height: var(--__axc-action-menu-item-height);
cursor: default;
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
position: relative;
padding-left: var(--__axc-action-menu-item-pl);
padding-right: var(--__axc-action-menu-item-pr);
@@ -107,7 +107,7 @@
&:focus {
background-color: var(--ax-bg-danger-moderate-hoverA);
color: var(--ax-text-danger-strong);
color: var(--ax-text-danger);
}
}
@@ -2,7 +2,7 @@
@font-face {
font-family: "Source Sans 3";
font-style: italic;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-italic-cyrillic_ext.woff2) format("woff2");
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
@@ -12,7 +12,7 @@
@font-face {
font-family: "Source Sans 3";
font-style: italic;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-italic-cyrillic.woff2) format("woff2");
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
@@ -22,7 +22,7 @@
@font-face {
font-family: "Source Sans 3";
font-style: italic;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-italic-latin_ext.woff2) format("woff2");
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
@@ -33,7 +33,7 @@
@font-face {
font-family: "Source Sans 3";
font-style: italic;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-italic.woff2) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
@@ -44,7 +44,7 @@
@font-face {
font-family: "Source Sans 3";
font-style: normal;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-normal-cyrillic_ext.woff2) format("woff2");
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
@@ -54,7 +54,7 @@
@font-face {
font-family: "Source Sans 3";
font-style: normal;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-normal-cyrillic.woff2) format("woff2");
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
@@ -64,7 +64,7 @@
@font-face {
font-family: "Source Sans 3";
font-style: normal;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-normal-latin_ext.woff2) format("woff2");
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
@@ -75,7 +75,7 @@
@font-face {
font-family: "Source Sans 3";
font-style: normal;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-normal.woff2) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
@@ -88,7 +88,7 @@
@font-face {
font-family: "Source Sans Pro";
font-style: italic;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-italic-latin_ext.woff2) format("woff2");
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
@@ -99,7 +99,7 @@
@font-face {
font-family: "Source Sans Pro";
font-style: italic;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-italic.woff2) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
@@ -110,7 +110,7 @@
@font-face {
font-family: "Source Sans Pro";
font-style: normal;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-normal-latin_ext.woff2) format("woff2");
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
@@ -121,7 +121,7 @@
@font-face {
font-family: "Source Sans Pro";
font-style: normal;
font-weight: 400 600;
font-weight: 400 650;
font-display: swap;
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3-normal.woff2) format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
@@ -5,7 +5,7 @@
--__axc-button-border-width: 2px;
padding: var(--ax-space-12) var(--ax-space-20);
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
display: inline-flex;
cursor: pointer;
text-decoration: none;
@@ -17,26 +17,28 @@
box-shadow: inset 0 0 0 var(--__axc-button-border-width) var(--__axc-button-border-color);
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
}
}
.navds-button--small,
.navds-button--xsmall {
--__axc-button-icon-margin: -2px;
--__axc-button-icon-size: 1.25rem;
}
.navds-button--small {
padding: var(--ax-space-4) var(--ax-space-12);
min-height: 2rem;
min-width: 2rem;
gap: var(--ax-space-6);
}
.navds-button--xsmall {
padding: var(--ax-space-2) var(--ax-space-8);
gap: var(--ax-space-4);
--__axc-button-icon-size: 1.25rem;
}
.navds-button--icon-only {
@@ -53,7 +55,7 @@
@supports not selector(:focus-visible) {
.navds-button:focus {
outline: 2px solid var(--ax-border-focus);
outline: 3px solid var(--ax-border-focus);
}
}
@@ -262,7 +264,7 @@
}
/* Loader overrides */
.navds-button .navds-loader {
.navds-button > .navds-loader {
position: absolute;
}
+2 -2
View File
@@ -73,14 +73,14 @@
.navds-chat--info {
& .navds-chat__bubble,
& .navds-chat__avatar {
background-color: var(--ax-bg-info-raised);
background-color: var(--ax-bg-info-moderate);
}
}
.navds-chat--neutral {
& .navds-chat__bubble,
& .navds-chat__avatar {
background-color: var(--ax-bg-raised);
background-color: var(--ax-bg-moderateA);
}
}
+3 -3
View File
@@ -28,8 +28,8 @@
min-height: 2rem;
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
}
}
@@ -72,7 +72,7 @@
.navds-chips__toggle--action {
box-shadow: inset 0 0 0 1px var(--ax-border-accent-subtleA);
background-color: var(--ax-bg-accent-moderate);
color: var(--ax-text-default);
color: var(--ax-text-accent-strong);
&:hover {
background-color: var(--ax-bg-accent-moderate-hover);
@@ -5,7 +5,7 @@
margin: 0;
text-decoration: none;
border: none;
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
padding: var(--__axc-copybutton-padding);
display: grid;
place-content: center;
@@ -25,8 +25,8 @@
}
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
}
&:disabled {
@@ -67,12 +67,8 @@
--__axc-copybutton-padding: var(--ax-space-4);
}
& .navds-copybutton__icon {
font-size: 1.25rem;
}
& > .navds-copybutton__content {
gap: var(--ax-space-6);
gap: var(--ax-space-4);
}
}
@@ -96,7 +92,7 @@
}
& > .navds-copybutton__content {
gap: var(--ax-space-4);
gap: var(--ax-space-2);
}
}
@@ -104,18 +100,6 @@
.navds-copybutton__icon {
font-size: 1.5rem;
display: flex;
&:first-of-type {
margin-left: -0.25rem;
}
&:last-of-type {
margin-right: -0.25rem;
}
&:only-child {
margin: 0;
}
}
.navds-copybutton--active .navds-copybutton__icon {
@@ -146,14 +130,6 @@
&.navds-copybutton--active {
color: var(--ax-text-success);
&:hover {
color: var(--ax-text-success-strong);
}
}
&:hover {
color: var(--ax-text-accent-strong);
}
&:disabled {
@@ -165,11 +141,6 @@
.navds-copybutton--neutral {
color: var(--ax-text-subtle);
&:hover,
&.navds-copybutton--active {
color: var(--ax-text-default);
}
&:disabled {
color: var(--ax-text-subtle);
}
@@ -179,5 +150,5 @@
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--ax-space-8);
gap: var(--ax-space-6);
}
+8 -10
View File
@@ -35,21 +35,19 @@
width: 2.5rem;
height: 2.5rem;
text-align: center;
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
}
.rdp-day_range_start {
border-radius: var(--ax-border-radius-xlarge) var(--ax-border-radius-medium) var(--ax-border-radius-medium)
var(--ax-border-radius-xlarge);
border-radius: 100% var(--ax-border-radius-xlarge) var(--ax-border-radius-xlarge) 100%;
}
.rdp-day_range_end:not(.rdp-day_range_start) {
border-radius: var(--ax-border-radius-medium) var(--ax-border-radius-xlarge) var(--ax-border-radius-xlarge)
var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large) 100% 100% var(--ax-border-radius-large);
}
.rdp-day_range_start.rdp-day_range_end {
border-radius: var(--ax-border-radius-xlarge);
border-radius: var(--ax-border-radius-large);
}
.navds-date__field {
@@ -142,7 +140,7 @@
width: 3rem;
height: 3rem;
text-transform: capitalize;
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
cursor: pointer;
}
@@ -159,8 +157,8 @@
.rdp-cell > button.rdp-day,
button.navds-date__month-button {
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: 1px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
}
&:active:not(:disabled) {
@@ -192,7 +190,7 @@
text-decoration: none;
border: none;
background: none;
border-radius: calc(var(--ax-border-radius-medium) - 1px);
border-radius: calc(var(--ax-border-radius-large) - 1px);
padding: var(--ax-space-12);
align-items: center;
justify-content: center;
@@ -1,6 +1,6 @@
.navds-expansioncard {
--__axc-expansioncard-border-radius: calc(var(--ax-border-radius-xlarge) - 1px);
--__axc-expansioncard-padding-block: var(--ax-space-16);
--__axc-expansioncard-padding-block: var(--ax-space-20);
--__axc-expansioncard-padding-inline: var(--ax-space-20);
border-radius: var(--ax-border-radius-xlarge);
@@ -17,7 +17,7 @@
/* ------------------------ ExpansionCard Small-size ------------------------ */
.navds-expansioncard--small {
--__axc-expansioncard-padding-inline: var(--ax-space-16);
--__axc-expansioncard-padding-block: var(--ax-space-12);
--__axc-expansioncard-padding-block: var(--ax-space-16);
& > .navds-expansioncard__header .navds-expansioncard__title--small {
margin-top: var(--ax-space-2);
@@ -45,7 +45,7 @@
justify-content: space-between;
&:hover {
background-color: var(--ax-bg-hover);
background-color: var(--ax-bg-hoverA);
}
&[data-open="true"] {
@@ -55,7 +55,7 @@
/* Divider between header and content */
&::after {
content: "";
background-color: var(--ax-border-subtle);
background-color: var(--ax-border-subtleA);
bottom: 0;
left: var(--__axc-expansioncard-padding-inline);
height: 1px;
@@ -98,15 +98,7 @@
align-self: flex-start;
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
}
@supports not selector(:focus-visible) {
&:focus {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
}
outline: 3px solid var(--ax-border-focus);
}
/* Makes the whole header clickable */
@@ -10,12 +10,12 @@
flex-direction: column;
width: 100%;
position: relative;
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
}
.navds-form-field:not(:is(.navds-combobox--disabled, .navds-combobox--readonly)) {
& .navds-combobox__wrapper:hover {
border-color: var(--ax-border-focus);
border-color: var(--ax-border-accent-strong);
}
}
@@ -31,6 +31,10 @@
opacity: var(--ax-opacity-disabled);
& .navds-combobox__wrapper {
&:hover {
border-color: var(--ax-border-default);
}
& *:hover {
cursor: not-allowed;
}
@@ -77,12 +81,12 @@
.navds-combobox__wrapper-inner {
border: 1px solid var(--ax-border-default);
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
&:has(.navds-combobox__input:focus-visible) {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
border-color: var(--ax-border-focus);
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
border-color: var(--ax-border-accent-strong);
}
&:has(.navds-combobox__input:focus-visible).navds-combobox__wrapper-inner--virtually-unfocused {
@@ -113,15 +117,19 @@
&:hover {
cursor: text;
}
.navds-combobox--disabled &:hover {
border-color: var(--ax-border-default);
}
}
.navds-combobox--error {
& .navds-combobox__wrapper-inner {
border-color: var(--ax-border-danger);
box-shadow: 0 0 0 1px var(--ax-border-danger);
border-color: var(--ax-border-danger-strong);
box-shadow: 0 0 0 1px var(--ax-border-danger-strong);
&:has(.navds-combobox__input:focus-visible) {
border-color: var(--ax-border-danger);
border-color: var(--ax-border-danger-strong);
}
}
}
@@ -207,7 +215,6 @@
}
.navds-combobox__button-toggle-list {
border-radius: var(--ax-border-radius-medium);
color: var(--ax-text-default);
display: flex;
justify-content: center;
@@ -230,7 +237,7 @@
/* dropdown & non selectable dropdown items */
.navds-combobox__list {
max-height: 290px;
max-height: 316px;
overflow: clip;
position: absolute;
left: 0;
@@ -265,10 +272,10 @@
justify-content: space-between;
padding-block: var(--__axc-combobox-list-item-padding-block);
padding-inline: var(--__axc-combobox-list-item-padding-inline);
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
border: 0;
margin-inline: var(--ax-space-8);
margin-block: var(--ax-space-4);
margin-block: var(--ax-space-2);
scroll-margin-block: 8px; /* outline + outline-offset + margin-block */
}
@@ -307,7 +314,6 @@
.navds-combobox__list-item--focus {
cursor: pointer;
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
}
.navds-combobox__list-item {
@@ -321,10 +327,11 @@
& mark {
background-color: transparent;
font-weight: var(--ax-font-weight-bold);
color: var(--ax-text-default);
}
& svg {
color: var(--ax-text-accent);
color: var(--ax-text-default);
}
}
@@ -344,14 +351,14 @@
justify-content: flex-start;
gap: 0.25rem;
margin: 0;
margin-block: calc(var(--ax-space-4) * -1);
padding-block: var(--ax-space-16);
margin-block-start: calc(var(--ax-space-4) * -1);
& svg {
color: var(--ax-text-default);
}
&:only-child {
margin-block: calc(var(--ax-space-4) * -1);
border: none;
}
}
@@ -3,17 +3,17 @@
padding: var(--ax-space-16) var(--ax-space-20);
border: 4px solid var(--ax-border-danger);
border-radius: var(--ax-border-radius-xlarge);
outline-offset: 2px;
outline-offset: 3px;
&:focus-visible,
&:has(.navds-error-summary__heading:focus-visible) {
outline: 2px solid var(--ax-border-focus);
outline: 3px solid var(--ax-border-focus);
}
}
@supports not selector(:focus-visible) {
.navds-error-summary:focus {
outline: 2px solid var(--ax-border-focus);
outline: 3px solid var(--ax-border-focus);
}
}
@@ -26,19 +26,23 @@
border-color: var(--ax-border-accent-strong);
& > .navds-dropzone__area-button {
color: var(--ax-text-accent-strong);
background-color: var(--ax-bg-accent-moderate-hover);
box-shadow: inset 0 0 0 2px var(--ax-bg-accent-strong-hover);
}
}
&:active .navds-dropzone__area-button {
background-color: var(--ax-bg-accent-strong-pressed);
color: var(--ax-text-accent-contrast);
box-shadow: none;
&:active:not([data-disabled="true"]) {
& > .navds-dropzone__area-button {
background-color: var(--ax-bg-accent-strong-pressed);
color: var(--ax-text-accent-contrast);
box-shadow: none;
}
}
&[data-disabled="true"] {
--__axc-dropzone-background: var(--ax-bg-soft);
border-color: var(--ax-border-subtleA);
cursor: default;
}
}
@@ -89,7 +93,7 @@
.navds-dropzone--error > .navds-dropzone__area {
border-color: transparent;
outline: 2px solid var(--ax-border-danger);
outline: 2px solid var(--ax-border-danger-strong);
outline-offset: -1px;
}
@@ -130,7 +134,7 @@
}
.navds-dropzone--dragging .navds-dropzone__area-release {
color: var(--ax-text-accent-strong);
color: var(--ax-text-accent);
top: 50%;
transform: translateY(-50%);
}
@@ -165,7 +169,7 @@ li.navds-file-item {
}
.navds-file-item--error > .navds-file-item__inner {
outline: 2px solid var(--ax-border-danger);
outline: 2px solid var(--ax-border-danger-strong);
}
.navds-file-item__icon {
@@ -198,7 +202,6 @@ li.navds-file-item {
}
.navds-file-item__error {
color: var(--ax-text-danger);
display: grid;
transition-property: grid-template-rows, padding-top;
transition-duration: 250ms;
@@ -206,20 +209,8 @@ li.navds-file-item {
overflow: hidden;
grid-template-rows: 0fr;
& .navds-file-item__error {
.navds-file-item--error & {
grid-template-rows: 1fr;
padding-top: var(--ax-space-4);
}
}
.navds-file-item__error-content {
min-height: 0;
display: flex;
gap: var(--ax-space-4);
& > svg {
flex-shrink: 0;
height: 1rem;
margin-top: 0.1rem;
}
}
@@ -50,7 +50,7 @@
.navds-form-progress__stepper {
border: 1px solid var(--ax-border-subtle);
border-radius: var(--ax-border-radius-large);
border-radius: var(--ax-border-radius-xlarge);
padding: var(--ax-space-16) var(--ax-space-20);
margin-top: var(--ax-space-4);
background: var(--ax-bg-raised);
@@ -68,26 +68,42 @@
height: 1.25rem;
}
.navds-checkbox__input:focus + .navds-checkbox__label::before,
.navds-radio__input:focus + .navds-radio__label::before {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
}
.navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
.navds-checkbox__input:focus + .navds-checkbox__label::after,
.navds-radio__input:focus + .navds-radio__label::after {
content: "";
position: absolute;
top: 50%;
transform: translate(var(--ax-space-6), -50%);
background-color: var(--ax-bg-default);
width: 0.75rem;
height: 0.25rem;
border-radius: 1px;
flex-shrink: 0;
width: 100%;
height: calc(100% - var(--ax-space-24));
border-radius: var(--ax-border-radius-medium);
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
pointer-events: none;
}
.navds-checkbox--small .navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
transform: translate(0.25rem, -50%);
.navds-checkbox--small > .navds-checkbox__input:focus + .navds-checkbox__label::after,
.navds-radio--small > .navds-radio__input:focus + .navds-radio__label::after {
height: calc(100% - var(--ax-space-12));
}
.navds-checkbox__icon-indeterminate {
display: none;
}
.navds-checkbox__input:indeterminate + .navds-checkbox__label > .navds-checkbox__icon-indeterminate {
display: block;
width: 0.75rem;
height: 0.25rem;
background-color: var(--ax-bg-default);
border-radius: 1px;
position: absolute;
transform: translate(var(--ax-space-6), -50%);
top: 50%;
pointer-events: none;
}
.navds-checkbox--small .navds-checkbox__input:indeterminate + .navds-checkbox__label > .navds-checkbox__icon-indeterminate {
transform: translate(var(--ax-space-4), -50%);
height: 0.1875rem;
}
.navds-checkbox__input:where(:checked, :indeterminate) + .navds-checkbox__label::before {
@@ -141,7 +157,7 @@
.navds-checkbox__input:hover:not(:disabled) + .navds-checkbox__label,
.navds-radio__input:hover:not(:disabled) + .navds-radio__label {
color: var(--ax-text-accent-strong);
color: var(--ax-text-accent);
}
.navds-checkbox__input:hover:not(:disabled, :checked, :indeterminate) + .navds-checkbox__label::before,
@@ -152,13 +168,12 @@
.navds-checkbox--error > .navds-checkbox__input:not(:disabled, :checked, :indeterminate) + .navds-checkbox__label::before,
.navds-radio--error > .navds-radio__input:not(:disabled, :checked) + .navds-radio__label::before {
border-color: var(--ax-border-danger);
border-color: var(--ax-border-danger-strong);
}
.navds-checkbox--error > .navds-checkbox__input:not(:disabled, :checked, :indeterminate):hover + .navds-checkbox__label::before,
.navds-radio--error > .navds-radio__input:not(:disabled, :checked):hover + .navds-radio__label::before {
background-color: var(--ax-bg-danger-moderate-hoverA);
border-color: var(--ax-border-danger-strong);
}
.navds-checkbox--error > .navds-checkbox__input:is(:checked, :indeterminate):not(:disabled) + .navds-checkbox__label::before {
@@ -222,7 +237,7 @@
inset 0 0 0 8px var(--ax-bg-moderate);
}
.navds-checkbox--readonly > .navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
.navds-checkbox--readonly > .navds-checkbox__input:indeterminate + .navds-checkbox__label > .navds-checkbox__icon-indeterminate {
background-color: var(--ax-text-subtle);
}
@@ -247,7 +262,7 @@
color: var(--__axc-radio-checkbox-high-contrast-text);
}
.navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
.navds-checkbox__input:indeterminate + .navds-checkbox__label > .navds-checkbox__icon-indeterminate {
background-color: var(--__axc-radio-checkbox-high-contrast-text);
}
@@ -265,7 +280,10 @@
background-color: var(--__axc-radio-checkbox-high-contrast-bg);
}
.navds-checkbox--readonly > .navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
.navds-checkbox--readonly
> .navds-checkbox__input:indeterminate
+ .navds-checkbox__label
> .navds-checkbox__icon-indeterminate {
background-color: var(--__axc-radio-checkbox-high-contrast-text);
}
@@ -22,12 +22,12 @@
.navds-search__wrapper {
display: inline-flex;
align-items: center;
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
/* We have to outline the whole container to include the Search-buttons */
&:has(.navds-search__input:focus-visible) {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
}
}
@@ -97,8 +97,8 @@
.navds-search__button-search {
flex-shrink: 0;
border-radius: 0;
border-top-right-radius: var(--ax-border-radius-medium);
border-bottom-right-radius: var(--ax-border-radius-medium);
border-top-right-radius: var(--ax-border-radius-large);
border-bottom-right-radius: var(--ax-border-radius-large);
}
.navds-search__button-search.navds-button--secondary {
@@ -127,13 +127,13 @@
/* --------------------------- Search Error-state --------------------------- */
.navds-search--error .navds-search__input:not(:disabled) {
border-color: var(--ax-border-danger);
border-color: var(--ax-border-danger-strong);
box-shadow:
inset -2px 0 0 0 var(--ax-border-danger),
inset 0 0 0 1px var(--ax-border-danger);
inset -2px 0 0 0 var(--ax-border-danger-strong),
inset 0 0 0 1px var(--ax-border-danger-strong);
&.navds-search__input--simple {
box-shadow: inset 0 0 0 1px var(--ax-border-danger);
box-shadow: inset 0 0 0 1px var(--ax-border-danger-strong);
}
}
@@ -1,7 +1,7 @@
.navds-select__input {
appearance: none;
background-color: var(--ax-bg-input);
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
border: 1px solid var(--ax-border-default);
color: var(--ax-text-default);
width: 100%;
@@ -18,8 +18,8 @@
}
&:focus {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
border-color: var(--ax-border-accent-strong);
}
@@ -66,8 +66,8 @@
/* --------------------------- Select Error-state --------------------------- */
.navds-select--error {
> * select {
box-shadow: 0 0 0 1px var(--ax-border-danger);
border-color: var(--ax-border-danger);
box-shadow: 0 0 0 1px var(--ax-border-danger-strong);
border-color: var(--ax-border-danger-strong);
}
> * select:hover,
@@ -31,31 +31,46 @@
}
.navds-switch__content {
--__axc-switch-block-padding: 0.75rem;
position: relative;
display: flex;
flex-direction: column;
gap: 0.125rem;
padding: 0.75rem 0 0.75rem 3.25rem;
gap: var(--ax-space-2);
padding: var(--__axc-switch-block-padding) 0 var(--__axc-switch-block-padding) 3.25rem;
.navds-switch--right & {
padding: 0.75rem 3.25rem 0.75rem 0;
padding: var(--__axc-switch-block-padding) 3.25rem var(--__axc-switch-block-padding) 0;
}
.navds-switch--small & {
padding: calc(var(--ax-space-8) - var(--ax-space-2)) 0 calc(var(--ax-space-8) - var(--ax-space-2)) 3.25rem;
--__axc-switch-block-padding: 0.375rem;
}
.navds-switch--right.navds-switch--small & {
padding: calc(var(--ax-space-8) - var(--ax-space-2)) 3.25rem calc(var(--ax-space-8) - var(--ax-space-2)) 0;
&.navds-switch--with-description {
padding-bottom: 0;
}
}
.navds-switch--with-description {
padding-bottom: 0;
.navds-switch__input:focus ~ .navds-switch__label-wrapper > &::after {
content: "";
position: absolute;
left: 0;
width: 100%;
height: calc(100% - var(--__axc-switch-block-padding) * 2);
border-radius: var(--ax-border-radius-medium);
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
pointer-events: none;
}
.navds-switch__input:focus ~ .navds-switch__label-wrapper > &.navds-switch--with-description::after {
height: calc(100% - var(--__axc-switch-block-padding) * 1);
}
}
.navds-switch__input:hover ~ .navds-switch__label-wrapper,
.navds-switch__label-wrapper:hover {
color: var(--ax-text-accent-strong);
color: var(--ax-text-accent);
}
.navds-switch__input:disabled:hover ~ .navds-switch__label-wrapper {
@@ -100,9 +115,9 @@
border-color: var(--ax-bg-accent-strong-pressed);
}
.navds-switch__input:focus-visible ~ & {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
.navds-switch--standalone > .navds-switch__input:focus ~ & {
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
}
}
@@ -124,7 +139,7 @@
.navds-switch__input:checked ~ .navds-switch__track > & {
background-color: var(--ax-bg-raised);
transform: translateX(1.25rem);
color: var(--ax-text-accent-strong);
color: var(--ax-text-accent);
width: 1.25rem;
height: 1.25rem;
left: 0;
@@ -238,9 +253,9 @@
color: field;
}
.navds-switch__input:focus-visible ~ .navds-switch__track {
outline: 2px solid highlight;
outline-offset: 2px;
.navds-switch__input:focus ~ .navds-switch__label-wrapper > .navds-switch__content::after,
.navds-switch--standalone > .navds-switch__input:focus ~ .navds-switch__track {
outline: 3px solid highlight;
}
.navds-switch--disabled:not(.navds-switch--loading) {
@@ -248,7 +263,7 @@
}
.navds-switch--disabled:not(.navds-switch--loading) .navds-switch__thumb {
background-color: graytext;
background-color: graytext !important;
}
.navds-switch--disabled:not(.navds-switch--loading) .navds-switch__track {
@@ -2,7 +2,7 @@
appearance: none;
padding: var(--ax-space-8);
background: var(--ax-bg-input);
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
border: 1px solid var(--ax-border-default);
min-height: 3rem;
width: 100%;
@@ -14,8 +14,8 @@
&:focus-visible {
border-color: var(--ax-border-accent-strong);
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
}
&:disabled {
@@ -39,8 +39,8 @@
}
.navds-text-field--error .navds-text-field__input:not(:disabled) {
border-color: var(--ax-border-danger);
box-shadow: 0 0 0 1px var(--ax-border-danger);
border-color: var(--ax-border-danger-strong);
box-shadow: 0 0 0 1px var(--ax-border-danger-strong);
}
.navds-text-field--readonly .navds-text-field__input {
@@ -4,7 +4,7 @@
appearance: none;
padding: var(--ax-space-8);
background-color: var(--ax-bg-input);
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
border: 1px solid var(--ax-border-default);
resize: none;
width: 100%;
@@ -20,8 +20,8 @@
}
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
border-color: var(--ax-border-accent-strong);
}
@@ -90,8 +90,8 @@
}
.navds-textarea--error .navds-textarea__input:not(:disabled) {
box-shadow: 0 0 0 1px var(--ax-border-danger);
border-color: var(--ax-border-danger);
box-shadow: 0 0 0 1px var(--ax-border-danger-strong);
border-color: var(--ax-border-danger-strong);
}
@media (forced-colors: active) {
-1
View File
@@ -45,7 +45,6 @@
@import "./tooltip.darkside.css" layer(aksel.components);
@import "./toggle-group.darkside.css" layer(aksel.components);
@import "./panel.darkside.css" layer(aksel.components);
@import "./link-panel.darkside.css" layer(aksel.components);
@import "./read-more.darkside.css" layer(aksel.components);
@import "./progress-bar.darkside.css" layer(aksel.components);
@import "./skeleton.darkside.css" layer(aksel.components);
@@ -87,7 +87,7 @@
.navds-internalheader__button {
&:focus-visible {
outline: 3px solid var(--ax-border-focus);
outline-offset: -3px;
outline-offset: -4px;
}
&:active {
@@ -1,47 +0,0 @@
.navds-link-panel {
text-decoration: none;
color: var(--ac-link-panel-text, var(--a-text-default));
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--a-spacing-4);
}
.navds-link-panel:hover .navds-link-panel__title {
text-decoration: underline;
color: var(--ac-link-panel-hover-text, var(--a-text-action-hover));
}
.navds-link-panel:hover {
box-shadow: var(--a-shadow-small);
border-color: var(--ac-link-panel-hover-border, var(--a-border-action-hover));
}
.navds-link-panel:focus-visible {
outline: 3px solid transparent;
outline-offset: 2px;
box-shadow: var(--a-shadow-focus);
}
@supports not selector(:focus-visible) {
.navds-link-panel:focus {
outline: 3px solid transparent;
outline-offset: 2px;
box-shadow: var(--a-shadow-focus);
}
}
.navds-link-panel__chevron {
flex-shrink: 0;
font-size: 1.5rem;
transition: transform 200ms;
}
.navds-link-panel:hover > .navds-link-panel__chevron,
.navds-link-panel:focus-within > .navds-link-panel__chevron {
transform: translateX(4px);
}
.navds-link-panel__description {
margin-top: var(--a-spacing-1);
}
+3 -2
View File
@@ -13,8 +13,9 @@
}
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
border-radius: 1px;
}
&.navds-link--inline-text {
@@ -14,6 +14,7 @@
max-height: 100%;
max-width: 100%;
color: var(--ax-text-default);
margin: auto;
&[open] {
display: flex;
@@ -20,8 +20,8 @@
text-align: start;
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
}
&[data-state="open"] .navds-read-more__expand-icon {
@@ -66,10 +66,11 @@
padding: var(--__axc-stepper-border-width);
margin: calc(var(--__axc-stepper-border-width) * -1) calc(var(--__axc-stepper-border-width) * -1)
var(--__axc-stepper-circle-size);
width: 100%;
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: 4px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
/* Isolate item to make outline show above line--2 */
isolation: isolate;
+23 -5
View File
@@ -126,8 +126,8 @@
}
.navds-table__sort-button:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: -4px;
outline: 3px solid var(--ax-border-focus);
outline-offset: -5px;
}
.navds-table__header-cell[aria-sort="ascending"] .navds-table__sort-button,
@@ -211,7 +211,7 @@
}
.navds-table__toggle-expand-button:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline: 3px solid var(--ax-border-focus);
}
.navds-table__expanded-row-cell {
@@ -229,9 +229,27 @@
}
.navds-table__expanded-row-content {
padding: var(--ax-space-16) calc(var(--ax-space-8) + 3rem);
--__ac-table-expanded-row-pi: calc(var(--ax-space-8) + 3rem);
padding-block: var(--ax-space-16);
}
.navds-table--small .navds-table__expanded-row-content {
padding: var(--ax-space-8) calc(var(--ax-space-8) + 3rem);
padding-block: var(--ax-space-8);
}
.navds-table__expanded-row-content--gutter-both {
padding-inline: var(--__ac-table-expanded-row-pi);
}
.navds-table__expanded-row-content--gutter-left {
padding-inline: var(--__ac-table-expanded-row-pi) var(--ax-space-8);
}
.navds-table__expanded-row-content--gutter-right {
padding-inline: var(--ax-space-8) var(--__ac-table-expanded-row-pi);
}
.navds-table__expanded-row-content--gutter-none {
padding-inline: var(--ax-space-8);
}
+4 -4
View File
@@ -68,8 +68,8 @@
}
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: -2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: -3px;
}
}
@@ -126,8 +126,8 @@
}
.navds-tabs__tabpanel:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: -2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: -4px;
}
@media (forced-colors: active) {
+10 -10
View File
@@ -64,11 +64,11 @@
.navds-timeline__period:focus-visible {
z-index: 4;
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
&& {
box-shadow: 0 0 0 2px var(--ax-bg-default);
box-shadow: 0 0 0 3px var(--ax-bg-default);
}
}
@@ -237,9 +237,9 @@
&:focus-visible {
box-shadow:
inset 0 0 0 4px var(--ax-border-danger-strong),
0 0 0 2px var(--ax-bg-default);
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
0 0 0 3px var(--ax-bg-default);
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
}
}
@@ -298,7 +298,7 @@
.navds-timeline__zoom-button:focus-visible {
box-shadow:
0 0 0 1px var(--ax-bg-default),
0 0 0 3px var(--ax-border-focus);
0 0 0 4px var(--ax-border-focus);
border-width: 1px;
}
@@ -323,8 +323,8 @@
@media (forced-colors: active) {
.navds-timeline__period:focus {
outline: 2px solid highlight;
outline-offset: 2px;
outline: 3px solid highlight;
outline-offset: 3px;
}
.navds-timeline__period--success,
@@ -350,7 +350,7 @@
.navds-timeline__pin-button:focus,
.navds-timeline__pin-button:focus-visible {
outline: 4px solid highlight;
outline-offset: 2px;
outline-offset: 3px;
box-shadow: none;
}
}
@@ -10,7 +10,7 @@
/* Main Togglegroup */
.navds-toggle-group {
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
background-color: transparent;
box-shadow: inset 0 0 0 1px var(--ax-border-default);
display: inline-grid;
@@ -30,7 +30,7 @@
cursor: pointer;
background-color: transparent;
color: var(--ax-text-default);
border-radius: var(--ax-border-radius-medium);
border-radius: var(--ax-border-radius-large);
min-width: fit-content;
position: relative;
@@ -40,8 +40,8 @@
}
&:focus-visible {
outline: 2px solid var(--ax-border-focus);
outline-offset: 2px;
outline: 3px solid var(--ax-border-focus);
outline-offset: 3px;
z-index: 1;
}
@@ -8,6 +8,7 @@
font-size: var(--ax-font-size-heading-2xlarge);
letter-spacing: -0.01em;
line-height: var(--ax-font-line-height-heading-2xlarge);
font-weight: 650;
}
.navds-heading--xlarge.navds-typo--spacing {
@@ -18,6 +19,7 @@
font-size: var(--ax-font-size-heading-xlarge);
letter-spacing: -0.008em;
line-height: var(--ax-font-line-height-heading-xlarge);
font-weight: 650;
}
.navds-heading--large.navds-typo--spacing {
@@ -51,6 +53,7 @@
font-size: var(--ax-font-size-heading-medium);
letter-spacing: -0.002em;
line-height: var(--ax-font-line-height-heading-medium);
font-weight: 650;
}
.navds-heading--medium.navds-typo--spacing {
+1
View File
@@ -121,6 +121,7 @@
min-width: 3rem;
font-size: 1.5rem;
align-self: flex-start;
padding: 0;
}
.navds-expansioncard--small > :where(.navds-expansioncard__header) > :where(.navds-expansioncard__header-button) {
+5
View File
@@ -87,6 +87,11 @@
0 0 0 4px var(--a-border-focus);
}
/* Temp-fix to remove new darkside indeterminate node */
.navds-checkbox__icon-indeterminate {
display: none;
}
.navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
content: "";
position: absolute;
+1
View File
@@ -14,6 +14,7 @@
max-height: 100%;
max-width: 100%;
color: var(--a-text-default);
margin: auto;
/* In case Modal is opened with `show()`, in eg. Vergic screensharing */
inset: 0;
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-css",
"version": "7.9.2",
"version": "7.11.0",
"description": "CSS for Nav Designsystem",
"author": "Aksel | Nav designsystem team",
"keywords": [
@@ -28,12 +28,12 @@
"test": "yarn build && vitest run"
},
"devDependencies": {
"@navikt/ds-tokens": "^7.9.2",
"@navikt/ds-tokens": "^7.11.0",
"@types/clean-css": "4.2.11",
"autoprefixer": "^10.4.20",
"browserslist": "^4.24.2",
"clean-css": "5.3.3",
"cssnano": "6.0.0",
"cssnano": "7.0.6",
"fast-glob": "3.2.11",
"lightningcss": "^1.28.0",
"lodash": "^4.17.21",
+20 -2
View File
@@ -249,11 +249,29 @@
}
.navds-table__expanded-row-content {
padding: var(--a-spacing-4) calc(var(--a-spacing-2) + 3rem);
--__ac-table-expanded-row-pi: calc(var(--a-spacing-2) + 3rem);
padding-block: var(--a-spacing-4);
}
.navds-table--small .navds-table__expanded-row-content {
padding: var(--a-spacing-2) calc(var(--a-spacing-2) + 3rem);
padding-block: var(--a-spacing-2);
}
.navds-table__expanded-row-content--gutter-both {
padding-inline: var(--__ac-table-expanded-row-pi);
}
.navds-table__expanded-row-content--gutter-left {
padding-inline: var(--__ac-table-expanded-row-pi) var(--a-spacing-2);
}
.navds-table__expanded-row-content--gutter-right {
padding-inline: var(--a-spacing-2) var(--__ac-table-expanded-row-pi);
}
.navds-table__expanded-row-content--gutter-none {
padding-inline: var(--a-spacing-2);
}
@media (forced-colors: active) {
+22
View File
@@ -1,5 +1,27 @@
# @navikt/ds-react
## 7.11.0
### Patch Changes
- Updated dependencies [[`6c81fc0`](https://github.com/navikt/aksel/commit/6c81fc0b239a02499412d350af65389833d59b26)]:
- @navikt/aksel-icons@7.11.0
- @navikt/ds-tokens@7.11.0
## 7.10.0
### Minor Changes
- Table: New prop `contentGutter` added to `ExpandableRow`-component. This allows user more control for content layout inside expandable element. ([#3507](https://github.com/navikt/aksel/pull/3507))
### Patch Changes
- Combobox: Always render `maxSelected` message when `isMultiSelect` is set. ([#3506](https://github.com/navikt/aksel/pull/3506))
- Updated dependencies []:
- @navikt/ds-tokens@7.10.0
- @navikt/aksel-icons@7.10.0
## 7.9.2
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-react",
"version": "7.9.2",
"version": "7.11.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",
@@ -615,8 +615,8 @@
"dependencies": {
"@floating-ui/react": "0.25.4",
"@floating-ui/react-dom": "^2.0.9",
"@navikt/aksel-icons": "^7.9.2",
"@navikt/ds-tokens": "^7.9.2",
"@navikt/aksel-icons": "^7.11.0",
"@navikt/ds-tokens": "^7.11.0",
"clsx": "^2.1.0",
"date-fns": "^3.0.0",
"react-day-picker": "8.10.1"
+6 -1
View File
@@ -74,7 +74,12 @@ export const ToggleChips: OverridableComponent<
fillRule="evenodd"
clipRule="evenodd"
d="M10 3.125C6.20304 3.125 3.125 6.20304 3.125 10C3.125 13.797 6.20304 16.875 10 16.875C13.797 16.875 16.875 13.797 16.875 10C16.875 6.20304 13.797 3.125 10 3.125ZM1.875 10C1.875 5.51269 5.51269 1.875 10 1.875C14.4873 1.875 18.125 5.51269 18.125 10C18.125 14.4873 14.4873 18.125 10 18.125C5.51269 18.125 1.875 14.4873 1.875 10Z"
fill="var(--ax-text-neutral-icon, var(--ac-chip-toggle-circle-border, var(--a-border-default)))"
/* After removing old fallbacks, change to currentColor */
fill={`var(${
variant === "action"
? "--ax-text-accent-strong"
: "--ax-text-default"
}, var(--ac-chip-toggle-circle-border, var(--a-border-default)))`}
/>
)}
</svg>
@@ -21,7 +21,7 @@ export const DatePickerCaption = ({ displayMonth, id }: CaptionProps) => {
<>
<div className="navds-date__caption">
<Button
variant="tertiary"
variant="tertiary-neutral"
disabled={!previousMonth}
onClick={() => previousMonth && goToMonth(previousMonth)}
icon={<ArrowLeftIcon title={translate("goToPreviousMonth")} />}
@@ -41,7 +41,7 @@ export const DatePickerCaption = ({ displayMonth, id }: CaptionProps) => {
icon={<ArrowRightIcon title={translate("goToNextMonth")} />}
onClick={() => nextMonth && goToMonth(nextMonth)}
disabled={!nextMonth}
variant="tertiary"
variant="tertiary-neutral"
className="navds-date__caption-button"
type="button"
/>
@@ -56,7 +56,7 @@ export const DropdownCaption = ({ displayMonth, id }: CaptionProps) => {
{formatCaption(displayMonth, { locale })}
</span>
<Button
variant="tertiary"
variant="tertiary-neutral"
disabled={!previousMonth}
onClick={() => previousMonth && goToMonth(previousMonth)}
icon={<ArrowLeftIcon title={translate("goToPreviousMonth")} />}
@@ -94,10 +94,10 @@ export const DropdownCaption = ({ displayMonth, id }: CaptionProps) => {
</div>
<Button
variant="tertiary-neutral"
icon={<ArrowRightIcon title={translate("goToNextMonth")} />}
onClick={() => nextMonth && goToMonth(nextMonth)}
disabled={!nextMonth}
variant="tertiary"
className="navds-date__caption-button"
type="button"
/>
@@ -78,6 +78,7 @@ export const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(
/>
</svg>
</span>
<span className="navds-checkbox__icon-indeterminate" />
<span
className={cl("navds-checkbox__content", {
"navds-sr-only": props.hideLabel,
@@ -23,10 +23,10 @@ const FilteredOptions = () => {
isMouseLastUsedInputDevice,
isValueNew,
} = useFilteredOptionsContext();
const { maxSelected } = useSelectedOptionsContext();
const { maxSelected, isMultiSelect } = useSelectedOptionsContext();
const shouldRenderNonSelectables =
maxSelected.isLimitReached || // Render maxSelected message
(isMultiSelect && maxSelected.limit) || // Render maxSelected message
isLoading || // Render loading message
(!isLoading && filteredOptions.length === 0 && !allowNewValues); // Render no hits message
@@ -45,7 +45,7 @@ const FilteredOptions = () => {
>
{shouldRenderNonSelectables && (
<div className="navds-combobox__list_non-selectables" role="status">
{maxSelected.isLimitReached && <MaxSelectedMessage />}
{isMultiSelect && maxSelected.limit && <MaxSelectedMessage />}
{isLoading && <LoadingMessage />}
{!isLoading && filteredOptions.length === 0 && !allowNewValues && (
<NoSearchHitsMessage />
@@ -1,7 +1,6 @@
import cl from "clsx";
import React, { MouseEvent, forwardRef } from "react";
import { ExclamationmarkTriangleIcon } from "@navikt/aksel-icons";
import { BodyShort } from "../../../../typography";
import { BodyShort, ErrorMessage } from "../../../../typography";
import { OverridableComponent } from "../../../../util";
import { useI18n } from "../../../../util/i18n/i18n.hooks";
import { ComponentTranslation } from "../../../../util/i18n/i18n.types";
@@ -125,13 +124,9 @@ export const Item: OverridableComponent<FileUploadItemProps, HTMLDivElement> =
aria-live="polite"
>
{showError && (
<BodyShort
size="small"
className="navds-file-item__error-content"
>
<ExclamationmarkTriangleIcon aria-hidden />
<ErrorMessage size="small" showIcon>
{error}
</BodyShort>
</ErrorMessage>
)}
</div>
</div>
@@ -85,6 +85,7 @@ export const Switch = forwardRef<HTMLInputElement, SwitchProps>(
"navds-switch--loading": loading,
"navds-switch--disabled": inputProps.disabled ?? loading,
"navds-switch--readonly": readOnly,
"navds-switch--standalone": hideLabel,
},
)}
>
@@ -48,6 +48,11 @@ export interface ExpandableRowProps extends Omit<RowProps, "content"> {
* @default 999
*/
colSpan?: number;
/**
* Optional left, right-gutter for content
* @default Same as `togglePlacement`
*/
contentGutter?: "left" | "right" | "none";
}
export type ExpandableRowType = React.ForwardRefExoticComponent<
@@ -67,6 +72,7 @@ export const ExpandableRow: ExpandableRowType = forwardRef(
expansionDisabled = false,
expandOnRowClick = false,
colSpan = 999,
contentGutter,
onClick,
...rest
},
@@ -139,7 +145,9 @@ export const ExpandableRow: ExpandableRowType = forwardRef(
<td colSpan={colSpan} className="navds-table__expanded-row-cell">
<AnimateHeight
className="navds-table__expanded-row-collapse"
innerClassName="navds-table__expanded-row-content"
innerClassName={`navds-table__expanded-row-content navds-table__expanded-row-content--gutter-${
contentGutter ?? togglePlacement
}`}
height={_open ? "auto" : 0}
duration={150}
easing="cubic-bezier(0.39,0.57,0.56,1)"
@@ -120,6 +120,68 @@ export const ExpandableSmall = () => {
);
};
export const ExpandableContentGutter = () => {
return (
<Table zebraStripes>
<Table.Header>
<Table.Row>
<Table.HeaderCell></Table.HeaderCell>
<Table.HeaderCell>Cell</Table.HeaderCell>
<Table.HeaderCell>Cell</Table.HeaderCell>
<Table.HeaderCell></Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.ExpandableRow
defaultOpen
content="ContentContent ContentContent ContentContent"
togglePlacement="left"
>
<Table.DataCell>Cell</Table.DataCell>
<Table.DataCell>Cell</Table.DataCell>
<Table.DataCell>Cell</Table.DataCell>
</Table.ExpandableRow>
<Table.ExpandableRow
content="ContentContent ContentContent ContentContent"
togglePlacement="right"
defaultOpen
>
<Table.DataCell>Cell</Table.DataCell>
<Table.DataCell>Cell</Table.DataCell>
<Table.DataCell>Cell</Table.DataCell>
</Table.ExpandableRow>
<Table.ExpandableRow
content="ContentContent ContentContent ContentContent"
defaultOpen
contentGutter="left"
>
<Table.DataCell>Cell</Table.DataCell>
<Table.DataCell>Cell</Table.DataCell>
<Table.DataCell>Cell</Table.DataCell>
</Table.ExpandableRow>
<Table.ExpandableRow
content="ContentContent ContentContent ContentContent"
defaultOpen
contentGutter="right"
>
<Table.DataCell>Cell</Table.DataCell>
<Table.DataCell>Cell</Table.DataCell>
<Table.DataCell>Cell</Table.DataCell>
</Table.ExpandableRow>
<Table.ExpandableRow
content="ContentContent ContentContent ContentContent Con.."
defaultOpen
contentGutter="none"
>
<Table.DataCell>Cell</Table.DataCell>
<Table.DataCell>Cell</Table.DataCell>
<Table.DataCell>Cell</Table.DataCell>
</Table.ExpandableRow>
</Table.Body>
</Table>
);
};
const columns = [
{
name: "Navn",
+9 -7
View File
@@ -31,13 +31,15 @@ export interface TagProps extends HTMLAttributes<HTMLSpanElement> {
| "alt2-moderate"
| "alt3"
| "alt3-filled"
| "alt3-moderate"
| "meta-1"
| "meta-1-filled"
| "meta-1-moderate"
| "meta-2"
| "meta-2-filled"
| "meta-2-moderate";
| "alt3-moderate";
/* Temp hide these until naming is resolved */
// | "meta-1"
// | "meta-1-filled"
// | "meta-1-moderate"
// | "meta-2"
// | "meta-2-filled"
// | "meta-2-moderate";
/**
* @default "medium"
*/
@@ -15,8 +15,6 @@ const variants: TagProps["variant"][] = [
"alt1",
"alt2",
"alt3",
"meta-1",
"meta-2",
"warning-filled",
"error-filled",
"info-filled",
@@ -25,8 +23,6 @@ const variants: TagProps["variant"][] = [
"alt1-filled",
"alt2-filled",
"alt3-filled",
"meta-1-filled",
"meta-2-filled",
"warning-moderate",
"error-moderate",
"info-moderate",
@@ -35,8 +31,6 @@ const variants: TagProps["variant"][] = [
"alt1-moderate",
"alt2-moderate",
"alt3-moderate",
"meta-1-moderate",
"meta-2-moderate",
];
export default {
+4
View File
@@ -1,5 +1,9 @@
# @navikt/ds-tailwind
## 7.11.0
## 7.10.0
## 7.9.2
## 7.9.1
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-tailwind",
"version": "7.9.2",
"version": "7.11.0",
"description": "Tailwind config based on @navikt/ds-tokens",
"author": "Aksel | Nav designsystem team",
"keywords": [
@@ -24,7 +24,7 @@
"directory": "@navikt/core/tailwind"
},
"devDependencies": {
"@navikt/ds-tokens": "^7.9.2",
"@navikt/ds-tokens": "^7.11.0",
"color": "4.2.3",
"lodash": "^4.17.21",
"tailwindcss": "^3.3.3",
+4
View File
@@ -1,5 +1,9 @@
# @navikt/ds-tokens
## 7.11.0
## 7.10.0
## 7.9.2
## 7.9.1
@@ -95,6 +95,11 @@ function createTokenValue(token: TransformedToken): string {
if ((token.type as TokenTypes) === "global-breakpoints") {
return token.value ?? token.$value;
}
if ((token.type as TokenTypes) === "global-color") {
return `var(--${token.path.join("-")})`;
}
return `var(--${kebabName})`;
}
@@ -27,19 +27,13 @@ describe("Validate token configurations", () => {
test(`Semantic tokens for all roles: Lightmode`, () => {
expect(
validateConfig(
semanticTokensForAllRolesConfig("light"),
configKeysWithGroup,
),
validateConfig(semanticTokensForAllRolesConfig(), configKeysWithGroup),
).toBeTruthy();
});
test(`Semantic tokens for all roles: Darkmode`, () => {
expect(
validateConfig(
semanticTokensForAllRolesConfig("dark"),
configKeysWithGroup,
),
validateConfig(semanticTokensForAllRolesConfig(), configKeysWithGroup),
).toBeTruthy();
});
@@ -35,7 +35,7 @@ export const lightModeTokens = () => {
mergeConfigs([
shadowTokenConfig("light"),
opacityTokenConfig("light"),
semanticTokensForAllRolesConfig("light"),
semanticTokensForAllRolesConfig(),
textContrastTokenConfig,
semanticTokenConfig("light"),
globalColorLightModeConfig,
@@ -52,7 +52,7 @@ export const darkModeTokens = () => {
mergeConfigs([
shadowTokenConfig("dark"),
opacityTokenConfig("dark"),
semanticTokensForAllRolesConfig("dark"),
semanticTokensForAllRolesConfig(),
textContrastTokenConfig,
semanticTokenConfig("dark"),
globalColorDarkModeConfig,
@@ -1,12 +1,8 @@
import _ from "lodash";
import {
ColorRolesList,
type ColorTheme,
type SemanticColorRoles,
} from "../../types";
import { ColorRolesList, type SemanticColorRoles } from "../../types";
import { type StyleDictionaryTokenConfig } from "../tokens.util";
const configForRole = (role: SemanticColorRoles, theme: ColorTheme) => {
const configForRole = (role: SemanticColorRoles) => {
return {
bg: {
[`${role}-soft`]: {
@@ -14,6 +10,11 @@ const configForRole = (role: SemanticColorRoles, theme: ColorTheme) => {
type: "color",
group: `background.${role}`,
},
[`${role}-softA`]: {
value: `{ax.${role}.100A.value}`,
type: "color",
group: `background.${role}`,
},
[`${role}-hover`]: {
value: `{ax.${role}.200.value}`,
type: "color",
@@ -69,17 +70,6 @@ const configForRole = (role: SemanticColorRoles, theme: ColorTheme) => {
type: "color",
group: `background.${role}`,
},
[`${role}-raised`]: {
/* We bump raised for darkmode */
value: `{ax.${role}.${theme === "light" ? "100" : "200"}.value}`,
type: "color",
group: `background.${role}`,
},
[`${role}-raised-hover`]: {
value: `{ax.${role}.${theme === "light" ? "200" : "300"}.value}`,
type: "color",
group: `background.${role}`,
},
},
text: {
[role]: {
@@ -126,9 +116,9 @@ const configForRole = (role: SemanticColorRoles, theme: ColorTheme) => {
/**
* We need to deep merge the token config for each role to get the complete token config for all roles.
*/
export const semanticTokensForAllRolesConfig = (theme: ColorTheme) => {
export const semanticTokensForAllRolesConfig = () => {
return ColorRolesList.filter((name) => name !== "neutral").reduce(
(acc, role) => _.merge(acc, configForRole(role, theme)),
(acc, role) => _.merge(acc, configForRole(role)),
{} as ReturnType<typeof configForRole>,
);
};
@@ -78,6 +78,11 @@ export function semanticTokenConfig(theme: ColorTheme) {
type: "color",
group: `background`,
},
softA: {
value: `{ax.neutral.100A.value}`,
type: "color",
group: `background`,
},
hover: {
value: `{ax.neutral.200.value}`,
type: "color",
@@ -119,24 +124,24 @@ export function semanticTokenConfig(theme: ColorTheme) {
group: `background`,
},
strong: {
value: `{ax.neutral.600.value}`,
type: "color",
group: `background`,
},
"strong-hover": {
value: `{ax.neutral.700.value}`,
type: "color",
group: `background`,
},
"strong-pressed": {
"strong-hover": {
value: `{ax.neutral.800.value}`,
type: "color",
group: `background`,
},
"strong-pressed": {
value: `{ax.neutral.900.value}`,
type: "color",
group: `background`,
},
},
border: {
default: {
value: "{ax.neutral.500.value}",
value: "{ax.neutral.600.value}",
type: "color",
group: "border",
},
@@ -160,7 +165,7 @@ export function semanticTokenConfig(theme: ColorTheme) {
* - Discuss with brand
*/
focus: {
value: "{ax.accent.700.value}",
value: "{ax.neutral.1000.value}",
type: "color",
group: "border",
/**
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@navikt/ds-tokens",
"version": "7.9.2",
"version": "7.11.0",
"description": "Design-tokens for Nav designsystem",
"author": "Aksel | Nav designsystem team",
"keywords": [
+4 -4
View File
@@ -50,6 +50,7 @@ export type StaticDefaultBgKeys =
| "sunken"
| "overlay"
| "soft"
| "softA"
| "moderate"
| "moderateA"
| "strong";
@@ -66,10 +67,10 @@ export type StatefulDefaultBgKeys =
export type StaticBgKeys =
| `${SemanticColorRoles}-soft`
| `${SemanticColorRoles}-softA`
| `${SemanticColorRoles}-moderate`
| `${SemanticColorRoles}-moderateA`
| `${SemanticColorRoles}-strong`
| `${SemanticColorRoles}-raised`;
| `${SemanticColorRoles}-strong`;
export type StatefulBgKeys =
| `${SemanticColorRoles}-hover`
@@ -79,8 +80,7 @@ export type StatefulBgKeys =
| `${SemanticColorRoles}-moderate-pressed`
| `${SemanticColorRoles}-moderate-pressedA`
| `${SemanticColorRoles}-strong-hover`
| `${SemanticColorRoles}-strong-pressed`
| `${SemanticColorRoles}-raised-hover`;
| `${SemanticColorRoles}-strong-pressed`;
export type DefaultTextColorKeys =
| "default"
+560 -532
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -1,6 +1,6 @@
# MIT License
Copyright 2024 NAV (Arbeids- og velferdsdirektoratet) - The Norwegian Labour and Welfare Administration
Copyright 2025 NAV (Arbeids- og velferdsdirektoratet) - The Norwegian Labour and Welfare Administration
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the "Software"),
+5 -5
View File
@@ -15,10 +15,10 @@
"playroom"
],
"dependencies": {
"@navikt/aksel-icons": "^7.9.2",
"@navikt/ds-css": "^7.9.2",
"@navikt/ds-react": "^7.9.2",
"@navikt/ds-tailwind": "^7.9.2",
"@navikt/ds-tokens": "^7.9.2"
"@navikt/aksel-icons": "^7.11.0",
"@navikt/ds-css": "^7.11.0",
"@navikt/ds-react": "^7.11.0",
"@navikt/ds-tailwind": "^7.11.0",
"@navikt/ds-tokens": "^7.11.0"
}
}
@@ -1,55 +0,0 @@
import NextLink from "next/link";
import { BodyLong, BodyShort, Heading, Link } from "@navikt/ds-react";
import ErrorBoundary from "@/error-boundary";
import { useFormatedDate } from "@/hooks/useFormatedDate";
import { amplitudeLogNavigation } from "@/logging";
import { AkselBloggDocT, ResolveContributorsT, ResolveSlugT } from "@/types";
import { getAuthors } from "@/utils";
type BloggCardProps = {
blog: ResolveContributorsT<ResolveSlugT<AkselBloggDocT>>;
};
const BloggCard = ({ blog }: BloggCardProps) => {
const date = useFormatedDate(blog?.publishedAt ?? blog._createdAt);
return (
<li
key={blog._id}
className="flex h-full flex-col place-content-start border-b border-b-border-subtle pb-10"
>
<Heading size="medium" as="div">
<NextLink href={`/${blog.slug}`} passHref legacyBehavior>
<Link
className="text-deepblue-500 underline hover:no-underline"
onClick={(e) =>
amplitudeLogNavigation(
"blogg-card",
e.currentTarget.getAttribute("href"),
)
}
>
{blog.heading}
</Link>
</NextLink>
</Heading>
<BodyLong className="my-2 line-clamp-2">{blog?.ingress}</BodyLong>
{getAuthors(blog).length > 0 && (
<BodyShort
size="small"
className="mt-auto flex gap-2 justify-self-end text-text-subtle"
>
<span className="font-semibold">{getAuthors(blog)[0]}</span>
<span>{date}</span>
</BodyShort>
)}
</li>
);
};
export default function Component(props: BloggCardProps) {
return (
<ErrorBoundary boundaryName="ArtikkelCard">
<BloggCard {...props} />
</ErrorBoundary>
);
}
@@ -1,88 +0,0 @@
import NextLink from "next/link";
import { BodyLong, Heading, Link } from "@navikt/ds-react";
const CubeLarge = () => (
<svg
width="1016"
height="320"
viewBox="0 0 1016 320"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className="pointer-events-none absolute right-0 z-0 hidden lg:block"
aria-hidden
>
<path
d="M849.229 637.344L1096.48 390.09L849.228 142.836L601.975 390.09L849.229 637.344Z"
stroke="#F9A8D4"
strokeOpacity="0.4"
strokeWidth="3.54219"
strokeLinejoin="round"
/>
<path
d="M872.671 119.393L1119.93 -127.861H873.041L625.787 119.393H872.671Z"
stroke="#F9A8D4"
strokeOpacity="0.4"
strokeWidth="3.54219"
strokeLinejoin="round"
/>
</svg>
);
const CubeSmall = () => (
<svg
className="pointer-events-none absolute left-0 z-0 max-w-full overflow-hidden lg:hidden"
width="390"
height="290"
viewBox="0 0 390 290"
fill="none"
xmlns="http://www.w3.org/2000/svg"
aria-hidden
>
<path
d="M-0.327544 508.393L246.927 261.139H0.0431418L-247.212 508.393H-0.327544Z"
stroke="#F9A8D4"
strokeOpacity="0.4"
strokeWidth="3.54219"
strokeLinejoin="round"
/>
<path
d="M517.621 -9.55799L764.876 237.697L517.992 237.697L270.737 -9.55799H517.621Z"
stroke="#F9A8D4"
strokeOpacity="0.4"
strokeWidth="3.54219"
strokeLinejoin="round"
/>
</svg>
);
export const BloggAd = () => {
return (
<div className="relative left-1/2 right-1/2 -mx-[50vw] my-20 flex h-72 w-screen items-center bg-[#FBCFE8] px-4 md:left-auto md:right-auto md:mx-auto md:w-full md:max-w-[85%] md:rounded-2xl md:px-6 lg:h-80 lg:pl-12">
<div className="z-10 max-w-sm text-[#831843]">
<Heading level="2" size="xlarge" spacing>
Skriv for bloggen
</Heading>
<BodyLong spacing>
Brenner du for digital produktutvikling, og har en #FFC0E6-blogger i
magen?
</BodyLong>
<BodyLong>
Ta kontakt med{" "}
<NextLink
href="https://nav-it.slack.com/archives/C7NE7A8UF"
passHref
legacyBehavior
>
<Link className="font-semibold text-[#831843]">
#Aksel-designsystemet
</Link>
</NextLink>{" "}
på Slack
</BodyLong>
</div>
<CubeLarge />
<CubeSmall />
</div>
);
};
@@ -1,7 +1,6 @@
import { Heading } from "@navikt/ds-react";
import { Heading, Show } from "@navikt/ds-react";
import { SanityBlockContent } from "@/sanity-block";
import { AkselBloggDocT, ResolveContributorsT, ResolveSlugT } from "@/types";
import { BloggList } from "./parts/BloggList";
import { HighlightedBlogg } from "./parts/HighlightedBlogg";
export const LatestBloggposts = ({
@@ -23,7 +22,7 @@ export const LatestBloggposts = ({
level="1"
size="xlarge"
spacing
className="mx-auto w-full text-5xl text-deepblue-700 md:mx-0 md:max-w-none"
className="mx-auto w-full text-5xl text-aksel-heading md:mx-0 md:max-w-none"
>
{title}
</Heading>
@@ -31,11 +30,9 @@ export const LatestBloggposts = ({
{/* Desktop-view */}
<div className="mx-auto my-10 grid gap-12 md:my-12 md:grid-cols-2">
<HighlightedBlogg blogg={bloggs[0]} />
<div className="col-span-1 grid place-content-start gap-12">
{bloggs.slice(1, 3).map((blogg) => (
<BloggList blogg={blogg} key={blogg._id} />
))}
</div>
<Show above="md">
<HighlightedBlogg blogg={bloggs[1]} />
</Show>
</div>
</div>
);
@@ -13,7 +13,7 @@ export const BloggList = ({
}) => {
const date = useFormatedDate(blogg?.publishedAt ?? blogg._createdAt);
return (
<div>
<li>
<div className="hidden gap-6 md:flex">
<div className="relative hidden aspect-square h-[11.75rem] rounded-lg ring-1 ring-border-subtle lg:block">
{blogg?.seo?.image ? (
@@ -37,15 +37,15 @@ export const BloggList = ({
)}
</div>
<div>
<div className="w-full">
<NextLink href={`/${blogg.slug}`} passHref legacyBehavior>
<Link className="text-deepblue-500 underline hover:no-underline">
<Heading size="small" level="2">
<Link className="text-aksel-heading underline hover:no-underline">
<Heading size="medium" level="2">
{blogg.heading}
</Heading>
</Link>
</NextLink>
<BodyLong className="mt-4" size="small">
<BodyLong className="mt-4" size="medium">
{blogg?.ingress}
</BodyLong>
{getAuthors(blogg).length > 0 ? (
@@ -63,54 +63,29 @@ export const BloggList = ({
)}
</div>
</div>
<div className="md:hidden">
<div className="relative mb-6 block aspect-video">
{blogg?.seo?.image ? (
<Image
src={urlFor(blogg.seo.image).auto("format").url()}
layout="fill"
objectFit="cover"
aria-hidden
priority
className="rounded-lg"
/>
) : (
<Image
src={getImage(blogg?.heading ?? "", "thumbnail")}
layout="fill"
objectFit="cover"
aria-hidden
priority
className="rounded-lg"
/>
)}
</div>
<div className="md:hidden">
<NextLink href={`/${blogg.slug}`} passHref legacyBehavior>
<Link className="text-deepblue-500 underline hover:no-underline">
<Heading size="small" level="2">
{blogg.heading}
</Heading>
</Link>
</NextLink>
<BodyLong className="mt-4" size="small">
{blogg?.ingress}
</BodyLong>
{getAuthors(blogg).length > 0 ? (
<BodyShort
size="small"
className="mt-4 flex gap-2 text-text-subtle"
>
<span className="font-semibold">{getAuthors(blogg)[0]}</span>
<span>{date}</span>
</BodyShort>
) : (
<BodyShort size="small" className="mt-4 text-text-subtle">
<span>{date}</span>
</BodyShort>
)}
</div>
<div className="w-full md:hidden">
<NextLink href={`/${blogg.slug}`} passHref legacyBehavior>
<Link className="text-aksel-heading underline hover:no-underline">
<Heading size="medium" level="2">
{blogg.heading}
</Heading>
</Link>
</NextLink>
<BodyLong className="mt-4" size="medium">
{blogg?.ingress}
</BodyLong>
{getAuthors(blogg).length > 0 ? (
<BodyShort size="small" className="mt-4 flex gap-2 text-text-subtle">
<span className="font-semibold">{getAuthors(blogg)[0]}</span>
<span>{date}</span>
</BodyShort>
) : (
<BodyShort size="small" className="mt-4 text-text-subtle">
<span>{date}</span>
</BodyShort>
)}
</div>
</div>
</li>
);
};
@@ -13,7 +13,7 @@ export const HighlightedBlogg = ({
}) => {
const date = useFormatedDate(blogg?.publishedAt ?? blogg._createdAt);
return (
<div>
<article>
<div className="col-span-1 hidden md:block">
<div className="relative mb-10 block aspect-video rounded-lg ring-1 ring-border-subtle">
{blogg?.seo?.image ? (
@@ -46,7 +46,7 @@ export const HighlightedBlogg = ({
)}
</div>
<NextLink href={`/${blogg.slug}`} passHref legacyBehavior>
<Link className="text-deepblue-500 underline hover:no-underline">
<Link className="text-aksel-heading underline hover:no-underline">
<Heading size="large" level="2">
{blogg.heading}
</Heading>
@@ -93,7 +93,7 @@ export const HighlightedBlogg = ({
)}
</div>
<NextLink href={`/${blogg.slug}`} passHref legacyBehavior>
<Link className="text-deepblue-500 underline hover:no-underline">
<Link className="text-aksel-heading underline hover:no-underline">
<Heading size="large" level="2">
{blogg.heading}
</Heading>
@@ -109,6 +109,6 @@ export const HighlightedBlogg = ({
</BodyShort>
)}
</div>
</div>
</article>
);
};
@@ -25,11 +25,7 @@ export const SearchForm = () => {
}
return (
<form
role="search"
onSubmit={(e) => e.preventDefault()}
className="px-6 pb-4"
>
<form role="search" onSubmit={(e) => e.preventDefault()} className="w-full">
<Search
label={
<span className="flex items-center gap-2">
@@ -2,12 +2,13 @@ import cl from "clsx";
import Image from "next/legacy/image";
import NextLink from "next/link";
import { forwardRef, useContext } from "react";
import { Show } from "@navikt/ds-react";
import { Tag } from "@/cms/frontpage-blocks/latest-articles/Tag";
import { urlFor } from "@/sanity/interface";
import { SearchHitT, searchOptions } from "@/types";
import { StatusTag } from "@/web/StatusTag";
import { SearchContext, SearchLoggingContext } from "../providers";
import { highlightMatches, highlightStr } from "../utils";
import { highlightStr } from "../utils";
export const Hit = forwardRef<
HTMLLIElement,
@@ -33,10 +34,11 @@ export const Hit = forwardRef<
"relative flex scroll-my-10 items-center justify-between gap-3 border-b border-border-subtle px-2 last-of-type:border-b-0 has-[+_*_:focus-visible]:border-b-transparent has-[:focus-visible]:border-b-transparent",
)}
>
<div className="w-full truncate px-2 py-3">
<div className="w-full px-2 py-3">
<span
className={cl({
"flex flex-col": simple,
"flex flex-col gap-1 md:flex-row md:justify-between md:gap-4":
simple,
"flex items-center gap-2": !simple,
})}
>
@@ -44,12 +46,13 @@ export const Hit = forwardRef<
href={href}
onClick={() => logSuccess(index, `/${hit.item.slug}`)}
className={cl(
"group scroll-my-32 truncate text-xl font-semibold underline hover:decoration-[3px] focus:outline-none",
"group scroll-my-32 break-words text-xl font-semibold underline hover:decoration-[3px] focus:outline-none",
"after:absolute after:inset-0 after:rounded-lg after:ring-inset focus-visible:after:ring-[3px] focus-visible:after:ring-border-focus",
)}
>
{highlightStr(hit.item.heading, query, tag)}
</NextLink>
{simple ? (
<Tag
type={hit.item._type}
@@ -65,7 +68,9 @@ export const Hit = forwardRef<
)}
</span>
{!simple && <HeadingLinks hit={hit} />}
<Show above="md" asChild>
<p className="line-clamp-2">{hit.description}</p>
</Show>
</div>
{!simple && (
@@ -87,19 +92,3 @@ export const Hit = forwardRef<
</li>
);
});
function HeadingLinks({
hit,
}: {
hit: SearchHitT | Omit<SearchHitT, "score" | "anchor">;
}) {
if (hit.matches && hit.matches?.[0].key !== "heading") {
return highlightMatches(hit.matches[0]);
}
return (
<span className="max-w-full text-lg font-regular text-text-subtle">
{hit.description}
</span>
);
}
@@ -75,7 +75,7 @@ export function Collection({
<div>
{heading && tag && (
<h2
className={cl("sticky top-0 z-10 p-2 px-6 md:px-10", {
className={cl("top-0 z-10 p-2 px-6 md:sticky md:px-10", {
"bg-deepblue-50": ["komponent_artikkel", "ds_artikkel"].includes(
tag,
),
@@ -91,7 +91,7 @@ export function Collection({
)}
{heading && !tag && (
<Heading
className="sticky top-0 z-10 bg-surface-subtle p-2 px-6 md:px-10"
className="top-0 z-10 bg-surface-subtle p-2 px-6 md:sticky md:px-10"
size="small"
level="2"
>
@@ -1,5 +1,6 @@
import { useContext } from "react";
import { Modal } from "@navikt/ds-react";
import { XMarkIcon } from "@navikt/aksel-icons";
import { Button, Heading, Modal } from "@navikt/ds-react";
import { AkselSearchButton } from "@/web/search/parts/SearchButton";
import { SearchContext, SearchNavigationContext } from "../providers";
import { SearchForm } from "./Form";
@@ -22,16 +23,28 @@ export const Search = () => {
e.stopPropagation();
}
}}
className="h-[90%] max-h-[52rem]"
className="md:h-[90%] md:max-h-[52rem]"
width="medium"
aria-labelledby="aksel-search-heading"
closeOnBackdropClick
header={{
heading: "Søk",
closeButton: true,
}}
>
<Heading
level="1"
size="medium"
id="aksel-search-heading"
visuallyHidden
>
Søk
</Heading>
<Skeleton />
<SearchForm />
<div className="flex items-center gap-2 px-2 py-1 md:px-4 md:py-4">
<SearchForm />
<Button
variant="tertiary-neutral"
onClick={close}
icon={<XMarkIcon title="Lukk" />}
/>
</div>
<Results />
</Modal>
</>
Loaded 100 of 114 files, more files were not shown because too many files have changed in this diff. Show more