Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2a4465a051 | ||
|
|
b77dbe0cad | ||
|
|
78fc16c1a9 | ||
|
|
5937d085c0 | ||
|
|
2f248a65f7 | ||
|
|
08e134ef3c | ||
|
|
821343b67d | ||
|
|
19b42daa69 | ||
|
|
09c44edccb | ||
|
|
2fab45f757 | ||
|
|
1ba5d9b5a2 | ||
|
|
5a749690c6 | ||
|
|
2f7873d3e7 | ||
|
|
e5dc975c44 | ||
|
|
1cc24c2998 | ||
|
|
636eb05bf5 | ||
|
|
c6424eda70 | ||
|
|
90f76498d6 | ||
|
|
6201d87a1a | ||
|
|
4dcb4efeea | ||
|
|
5586d42096 | ||
|
|
94e3bd7191 | ||
|
|
0d886b12bf | ||
|
|
dfbec997fc | ||
|
|
1ec34524e7 | ||
|
|
36f84458a5 | ||
|
|
2271072d1c | ||
|
|
0c22de8c61 | ||
|
|
1b20ad54de | ||
|
|
8576400263 | ||
|
|
c1e6bcc6bd | ||
|
|
f269311dbb | ||
|
|
11b1e98019 | ||
|
|
af39cbd79f | ||
|
|
a10e2a5c2d | ||
|
|
bb02aa9c94 | ||
|
|
2a26dc5130 | ||
|
|
cea27a85d9 | ||
|
|
29798d83ac | ||
|
|
aefbf3e0de | ||
|
|
ae02a87a9e | ||
|
|
2558874480 | ||
|
|
83490d4711 | ||
|
|
281ac2d940 | ||
|
|
70dd5b5926 | ||
|
|
fb5af09427 | ||
|
|
e06f0c6f9e | ||
|
|
5492741688 | ||
|
|
2bba7af7c2 | ||
|
|
8f9f313a85 | ||
|
|
1c31997be9 | ||
|
|
75d2f7a595 | ||
|
|
62aa43bab2 | ||
|
|
2434037250 | ||
|
|
a667f53dba | ||
|
|
7bf6a81bd5 | ||
|
|
9bda05c3ce | ||
|
|
6a7fbf7cc2 | ||
|
|
51cc4de4df | ||
|
|
132e2080a7 | ||
|
|
a516955681 | ||
|
|
81449a3e67 | ||
|
|
bb00b750e6 | ||
|
|
803eb21ab1 | ||
|
|
dc548667ff | ||
|
|
aa537e4d4a | ||
|
|
71408487e0 | ||
|
|
ddd04367af | ||
|
|
2303d6ce8c | ||
|
|
216eae6f1d | ||
|
|
0e5c58b28f | ||
|
|
163c1bce04 | ||
|
|
8ee604e6a7 | ||
|
|
c73db43c96 | ||
|
|
83960d7390 | ||
|
|
6c81fc0b23 | ||
|
|
a8cbd92e1c | ||
|
|
2700f7ac41 | ||
|
|
c3ce2c50f8 | ||
|
|
a7db426e04 | ||
|
|
68a2f0249b | ||
|
|
5f9fdb617b | ||
|
|
b4f37e80d0 | ||
|
|
f70bebc03e | ||
|
|
7aa85beb01 | ||
|
|
d29509dc0a | ||
|
|
90f6178c3a | ||
|
|
6678742543 | ||
|
|
715a34ac7d | ||
|
|
85feb0ed8a | ||
|
|
d2a7c868d5 | ||
|
|
edab37a5da | ||
|
|
fad913ce6b | ||
|
|
54e03db491 | ||
|
|
b52806535d | ||
|
|
bbca69af9c | ||
|
|
7e6d91efd4 | ||
|
|
54495a4460 | ||
|
|
8b5bfb4b09 | ||
|
|
627d6d9a61 | ||
|
|
f9c2c77559 | ||
|
|
a0ca882ee2 | ||
|
|
fd6e2b41cb | ||
|
|
dd642d77e1 | ||
|
|
ad73a523a9 | ||
|
|
e92eb90d33 | ||
|
|
eec41d6cb8 | ||
|
|
8da0af090f | ||
|
|
99465ddbeb | ||
|
|
25305ebba0 | ||
|
|
ef3464c96c | ||
|
|
0480d785c4 | ||
|
|
ef5e671cfe | ||
|
|
fa156773e0 | ||
|
|
137b4c49c1 | ||
|
|
1fb72241fe | ||
|
|
42470baaaf |
No files matched your search
@@ -1,31 +1,35 @@
|
||||
# Changesets
|
||||
|
||||
For versjonering bruker vi løsningen [Changesets](https://github.com/changesets/changesets) for [versjonering](https://semver.org/) og publisering av pakker.
|
||||
Vi bruker [Changesets](https://github.com/changesets/changesets) for [versjonering](https://semver.org/) og publisering av pakker.
|
||||
|
||||
## Howto
|
||||
## Lage ny versjon
|
||||
|
||||
- For å lage en ny versjons-entry: `yarn changeset`
|
||||
- Velg pakkene som skal versjoneres med `arrowkeys` + `Space`
|
||||
1. `yarn changeset`
|
||||
2. Svar på spørsmålene som kommer opp:
|
||||
|
||||
`🦋 Which packages would you like to include?`
|
||||
|
||||
Trykk `Space` for å velge pakkene som skal versjoneres, for så trykke `Enter` for å gå videre.
|
||||
Trykk `Space` for å velge pakkene som skal versjoneres, trykk så `Enter` for å gå videre.
|
||||
|
||||
`🦋 Which packages should have a major bump?`
|
||||
|
||||
Trykk `Enter` for å gå videre _*eller*_ velg pakkene som skal marjor-bumpes med `arrowkeys` + `Space`
|
||||
Trykk `Enter` for å gå videre _eller_ velg pakkene som skal marjor-bumpes med `arrowkeys` + `Space`.
|
||||
|
||||
`🦋 Which packages should have a minor bump?`
|
||||
|
||||
Trykk `Enter` for å gå videre _*eller*_ velg pakkene som skal marjor-bumpes med `arrowkeys` + `Space`
|
||||
Trykk `Enter` for å gå videre _eller_ velg pakkene som skal minor-bumpes med `arrowkeys` + `Space`.
|
||||
|
||||
Hvis du ikke velger major eller minor, så blir pakkene få en patch-bump
|
||||
Hvis du ikke velger major eller minor, så vil pakkene få en patch-bump.
|
||||
|
||||
- Commit og push.
|
||||
`Please enter a summary for this change`
|
||||
|
||||
Skriv inn en kort beskrivelse av endringen på formatet `<Komponent>: <gitmoji?> <Beskrivelse>`, f.eks. "Button: ✨ Add feature xyz".
|
||||
|
||||
3. Commit og push.
|
||||
|
||||
## Fixed versjonering
|
||||
|
||||
Alle base-pakkene våre har `fixed versjonering`. Dette tilsier at en bump på en av disse vil bumpe alle til samme versjon
|
||||
Alle base-pakkene våre har `fixed versjonering`. Dette betyr at en bump på en av disse vil bumpe alle til samme versjon
|
||||
|
||||
```sh
|
||||
"@navikt/ds-react",
|
||||
|
||||
@@ -143,7 +143,11 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ["**/examples/__parts*/*.tsx"],
|
||||
files: [
|
||||
"**/examples/__parts*/*.tsx",
|
||||
"**/pages/templates/**/*.tsx",
|
||||
"**/pages/eksempler/**/*.tsx",
|
||||
],
|
||||
plugins: ["aksel-local"],
|
||||
rules: {
|
||||
"aksel-local/import-check": ["error"], // Only allow imports from @navikt and react
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
name: "Build website"
|
||||
description: "Builds Nextjs-website and published CDN-asssets to GCP if needed"
|
||||
inputs:
|
||||
use_cdn_assets:
|
||||
description: "Use CDN assets, and upload build to GCP"
|
||||
required: true
|
||||
npm_auth_token:
|
||||
description: "NPM Auth Token"
|
||||
required: true
|
||||
nais_id_provider:
|
||||
description: "NAIS_WORKLOAD_IDENTITY_PROVIDER token"
|
||||
required: true
|
||||
nais_project_id:
|
||||
description: "NAIS_MANAGEMENT_PROJECT_ID token"
|
||||
required: true
|
||||
sanity_read_token:
|
||||
description: "Sanity read-only token allowing published and un-published documents"
|
||||
required: true
|
||||
sanity_read_no_drafts_token:
|
||||
description: "Sanity read-only token allowing only published documents"
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Setup project
|
||||
uses: ./.github/actions/setup
|
||||
with:
|
||||
npm_auth_token: ${{ inputs.npm_auth_token }}
|
||||
|
||||
- name: Run website tests
|
||||
run: yarn workspace website test
|
||||
shell: bash
|
||||
|
||||
- name: Make Next.js app use CDN assets
|
||||
if: ${{ inputs.use_cdn_assets == 'true' }}
|
||||
run: |
|
||||
echo "USE_CDN_ASSETS=true" >> aksel.nav.no/website/.env
|
||||
shell: bash
|
||||
|
||||
- name: Build Next.js website
|
||||
run: yarn build:next
|
||||
env:
|
||||
SANITY_READ: ${{ inputs.sanity_read_token }}
|
||||
SANITY_READ_NO_DRAFTS: ${{ inputs.sanity_read_no_drafts_token }}
|
||||
shell: bash
|
||||
|
||||
- name: Upload static files to Nav CDN
|
||||
if: ${{ inputs.use_cdn_assets == 'true' }}
|
||||
uses: nais/deploy/actions/cdn-upload/v2@master
|
||||
with:
|
||||
team: designsystem
|
||||
source: ./aksel.nav.no/website/.next/static
|
||||
destination: "/website/_next"
|
||||
project_id: ${{ inputs.nais_project_id }}
|
||||
identity_provider: ${{ inputs.nais_id_provider }}
|
||||
@@ -0,0 +1,26 @@
|
||||
name: "Setup Project"
|
||||
description: "Checks out repo, sets up Node, installs dependencies and runs boot command."
|
||||
inputs:
|
||||
npm_auth_token:
|
||||
description: "NPM Auth Token"
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
cache-dependency-path: "**/yarn.lock"
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
shell: bash
|
||||
env:
|
||||
NPM_AUTH_TOKEN: ${{ inputs.npm_auth_token }}
|
||||
|
||||
- name: Boot (build packages)
|
||||
run: yarn boot
|
||||
shell: bash
|
||||
@@ -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
|
||||
@@ -14,42 +14,20 @@ jobs:
|
||||
contents: "read"
|
||||
id-token: "write"
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
- name: set-env for yarn install to @navikt scope
|
||||
shell: bash
|
||||
run: echo "NPM_AUTH_TOKEN=${{ secrets.READER_TOKEN }}" >> $GITHUB_ENV
|
||||
fetch-depth: 1
|
||||
|
||||
- name: add tokens to .env
|
||||
run: |
|
||||
echo "USE_CDN_ASSETS=true" >> aksel.nav.no/website/.env
|
||||
|
||||
- name: Hide page from search engines
|
||||
run: |
|
||||
echo "User-agent: *\nDisallow: /" > aksel.nav.no/website/public/robots.txt
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
|
||||
- name: Build application
|
||||
env:
|
||||
SANITY_READ: ${{ secrets.SANITY_READ }}
|
||||
SANITY_READ_NO_DRAFTS: ${{ secrets.SANITY_READ_NO_DRAFTS }}
|
||||
run: |
|
||||
yarn boot
|
||||
yarn workspace aksel.nav.no build:next
|
||||
|
||||
- name: Upload static files to Nav CDN
|
||||
uses: nais/deploy/actions/cdn-upload/v2@master
|
||||
- name: Setup and build Next.js application
|
||||
uses: ./.github/actions/build-website
|
||||
with:
|
||||
team: designsystem
|
||||
source: ./aksel.nav.no/website/.next/static
|
||||
destination: "/website/_next"
|
||||
project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }}
|
||||
identity_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
use_cdn_assets: true
|
||||
npm_auth_token: ${{ secrets.READER_TOKEN }}
|
||||
nais_id_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
nais_project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }}
|
||||
sanity_read_token: ${{ secrets.SANITY_READ }}
|
||||
sanity_read_no_drafts_token: ${{ secrets.SANITY_READ_NO_DRAFTS }}
|
||||
|
||||
- name: Get complete tag
|
||||
run: echo "TAG=DEV-$( date +%s )" >> $GITHUB_ENV
|
||||
|
||||
@@ -16,21 +16,13 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
- name: Setup project
|
||||
uses: ./.github/actions/setup
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
- name: set-env for yarn install to @navikt scope
|
||||
shell: bash
|
||||
run: echo "NPM_AUTH_TOKEN=${{ secrets.READER_TOKEN }}" >> $GITHUB_ENV
|
||||
npm_auth_token: ${{ secrets.READER_TOKEN }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
|
||||
- name: Run docgen
|
||||
run: |
|
||||
yarn boot
|
||||
yarn docgen
|
||||
- name: Run ts-docgen
|
||||
run: yarn docgen
|
||||
|
||||
- name: Update sanity sync
|
||||
env:
|
||||
@@ -45,43 +37,20 @@ jobs:
|
||||
contents: "read"
|
||||
id-token: "write"
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
- name: set-env for yarn install to @navikt scope
|
||||
shell: bash
|
||||
run: echo "NPM_AUTH_TOKEN=${{ secrets.READER_TOKEN }}" >> $GITHUB_ENV
|
||||
fetch-depth: 1
|
||||
|
||||
- name: add tokens to .env
|
||||
run: |
|
||||
echo "USE_CDN_ASSETS=true" >> aksel.nav.no/website/.env
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
|
||||
- name: Build packages
|
||||
run: yarn boot
|
||||
|
||||
- name: Tests
|
||||
run: yarn workspace website test
|
||||
|
||||
- name: Build application
|
||||
env:
|
||||
SANITY_READ: ${{ secrets.SANITY_READ }}
|
||||
SANITY_READ_NO_DRAFTS: ${{ secrets.SANITY_READ_NO_DRAFTS }}
|
||||
run: yarn workspace aksel.nav.no build:next
|
||||
|
||||
- name: Upload static files to Nav CDN
|
||||
uses: nais/deploy/actions/cdn-upload/v2@master
|
||||
- name: Setup and build Next.js application
|
||||
uses: ./.github/actions/build-website
|
||||
with:
|
||||
team: designsystem
|
||||
source: ./aksel.nav.no/website/.next/static
|
||||
destination: "/website/_next"
|
||||
project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }}
|
||||
identity_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
use_cdn_assets: true
|
||||
npm_auth_token: ${{ secrets.READER_TOKEN }}
|
||||
nais_id_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
nais_project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }}
|
||||
sanity_read_token: ${{ secrets.SANITY_READ }}
|
||||
sanity_read_no_drafts_token: ${{ secrets.SANITY_READ_NO_DRAFTS }}
|
||||
|
||||
- name: Get complete tag
|
||||
run: echo "TAG=PROD-$( date +%s )" >> $GITHUB_ENV
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
name: Redeploy image for aksel.nav.no
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
tag:
|
||||
description: "Docker image tag"
|
||||
required: true
|
||||
default: ""
|
||||
dry:
|
||||
description: "Dry-run"
|
||||
required: true
|
||||
default: "false"
|
||||
|
||||
env:
|
||||
IMAGE: ghcr.io/navikt/aksel
|
||||
|
||||
jobs:
|
||||
redeploy:
|
||||
name: Redeploy image
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
- uses: actions/checkout@v4
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a # Use commit-sha1 instead of tag for security concerns
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Create docker image tag
|
||||
run: echo "DOCKER_TAG=${{ env.IMAGE }}:${{ github.event.inputs.tag }}" >> $GITHUB_ENV
|
||||
- name: Deploy to prod-gcp
|
||||
uses: nais/deploy/actions/deploy@master
|
||||
env:
|
||||
APIKEY: ${{ secrets.NAIS_DEPLOY_APIKEY }}
|
||||
RESOURCE: aksel.nav.no/nais-prod.yaml
|
||||
CLUSTER: prod-gcp
|
||||
IMAGE: ${{ env.DOCKER_TAG }}
|
||||
DRY_RUN: ${{ github.event.inputs.dry }}
|
||||
@@ -16,17 +16,18 @@ jobs:
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
- name: set-env for yarn install to @navikt scope
|
||||
shell: bash
|
||||
run: echo "NPM_AUTH_TOKEN=${{ secrets.READER_TOKEN }}" >> $GITHUB_ENV
|
||||
cache-dependency-path: "**/yarn.lock"
|
||||
|
||||
- name: Install dependencies
|
||||
run: cd aksel.nav.no/website && yarn
|
||||
env:
|
||||
NPM_AUTH_TOKEN: ${{ secrets.READER_TOKEN }}
|
||||
|
||||
- name: Export dataset
|
||||
run: cd aksel.nav.no/website && yarn backup
|
||||
env:
|
||||
SANITY_READ: ${{ secrets.SANITY_READ }}
|
||||
run: cd aksel.nav.no/website && yarn backup
|
||||
|
||||
- name: Upload GCP bucket
|
||||
uses: "google-github-actions/auth@v2"
|
||||
with:
|
||||
|
||||
@@ -18,31 +18,21 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
chromatic:
|
||||
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ignore-chromatic') }}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
contents: write
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
- name: Setup project
|
||||
uses: ./.github/actions/setup
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
|
||||
- name: set-env for yarn install to @navikt scope
|
||||
shell: bash
|
||||
run: echo "NPM_AUTH_TOKEN=${{ secrets.READER_TOKEN }}" >> $GITHUB_ENV
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
|
||||
- name: Build packages
|
||||
run: yarn boot
|
||||
npm_auth_token: ${{ secrets.READER_TOKEN }}
|
||||
|
||||
- name: Chromatic
|
||||
uses: chromaui/action@latest
|
||||
@@ -70,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 }}
|
||||
@@ -79,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 }}
|
||||
|
||||
@@ -9,36 +9,53 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: "Validate build"
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||
lint:
|
||||
name: "Linter: eslint, stylelint"
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: "write"
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
fetch-depth: 1
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
- name: Setup project
|
||||
uses: ./.github/actions/setup
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
- name: set-env for yarn install to @navikt scope
|
||||
shell: bash
|
||||
run: echo "NPM_AUTH_TOKEN=${{ secrets.READER_TOKEN }}" >> $GITHUB_ENV
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
|
||||
- name: Boot (build packages)
|
||||
run: yarn boot
|
||||
npm_auth_token: ${{ secrets.READER_TOKEN }}
|
||||
|
||||
- name: Lint
|
||||
run: yarn lint
|
||||
|
||||
validate-examples:
|
||||
name: "Validate Aksel.nav.no component examples"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Setup project
|
||||
uses: ./.github/actions/setup
|
||||
with:
|
||||
npm_auth_token: ${{ secrets.READER_TOKEN }}
|
||||
|
||||
- name: Validate example code
|
||||
run: yarn validate:eksempler
|
||||
|
||||
test:
|
||||
name: "Unit tests"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Setup project
|
||||
uses: ./.github/actions/setup
|
||||
with:
|
||||
npm_auth_token: ${{ secrets.READER_TOKEN }}
|
||||
|
||||
- name: Test
|
||||
run: yarn test
|
||||
@@ -0,0 +1,39 @@
|
||||
name: E2E / Playwright Tests
|
||||
on:
|
||||
push:
|
||||
branches: [main, next]
|
||||
paths:
|
||||
- "aksel.nav.no/**"
|
||||
pull_request:
|
||||
branches: [main, next]
|
||||
paths:
|
||||
- "aksel.nav.no/**"
|
||||
|
||||
jobs:
|
||||
playwright:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: mcr.microsoft.com/playwright:v1.48.1-jammy
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Setup and build Next.js application
|
||||
uses: ./.github/actions/build-website
|
||||
with:
|
||||
use_cdn_assets: false
|
||||
npm_auth_token: ${{ secrets.READER_TOKEN }}
|
||||
nais_id_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
nais_project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }}
|
||||
sanity_read_token: ${{ secrets.SANITY_READ }}
|
||||
sanity_read_no_drafts_token: ${{ secrets.SANITY_READ_NO_DRAFTS }}
|
||||
|
||||
- name: Run Playwright tests
|
||||
env:
|
||||
SANITY_READ: ${{ secrets.SANITY_READ }}
|
||||
SANITY_READ_NO_DRAFTS: ${{ secrets.SANITY_READ_NO_DRAFTS }}
|
||||
|
||||
run: yarn workspace website e2e:ci-full
|
||||
@@ -1,50 +0,0 @@
|
||||
name: E2E / Playwright Tests
|
||||
on:
|
||||
push:
|
||||
branches: [main, next]
|
||||
paths:
|
||||
- "aksel.nav.no/**"
|
||||
pull_request:
|
||||
branches: [main, next]
|
||||
paths:
|
||||
- "aksel.nav.no/**"
|
||||
|
||||
jobs:
|
||||
playwright:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: mcr.microsoft.com/playwright:v1.48.1-jammy
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
- name: set-env for yarn install to @navikt scope
|
||||
shell: bash
|
||||
run: echo "NPM_AUTH_TOKEN=${{ secrets.READER_TOKEN }}" >> $GITHUB_ENV
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
|
||||
- name: Build packages
|
||||
run: |
|
||||
yarn boot
|
||||
|
||||
- name: Build application
|
||||
env:
|
||||
SANITY_READ: ${{ secrets.SANITY_READ }}
|
||||
SANITY_READ_NO_DRAFTS: ${{ secrets.SANITY_READ_NO_DRAFTS }}
|
||||
run: yarn workspace aksel.nav.no build:next
|
||||
|
||||
- name: Run Playwright tests
|
||||
env:
|
||||
SANITY_READ: ${{ secrets.SANITY_READ }}
|
||||
SANITY_READ_NO_DRAFTS: ${{ secrets.SANITY_READ_NO_DRAFTS }}
|
||||
run: yarn workspace website e2e:ci-full
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
name: playwright-report
|
||||
path: aksel.nav.no/website/playwright-report/
|
||||
retention-days: 10
|
||||
@@ -25,12 +25,12 @@ jobs:
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
- name: set-env for yarn install to @navikt scope
|
||||
shell: bash
|
||||
run: echo "NPM_AUTH_TOKEN=${{ secrets.READER_TOKEN }}" >> $GITHUB_ENV
|
||||
cache-dependency-path: "**/yarn.lock"
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
env:
|
||||
NPM_AUTH_TOKEN: ${{ secrets.READER_TOKEN }}
|
||||
|
||||
- name: Build tokens
|
||||
run: yarn workspace @navikt/ds-tokens build
|
||||
|
||||
@@ -15,16 +15,16 @@ jobs:
|
||||
id-token: "write"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Setup project
|
||||
uses: ./.github/actions/setup
|
||||
with:
|
||||
npm_auth_token: ${{ secrets.READER_TOKEN }}
|
||||
|
||||
- run: yarn install
|
||||
env:
|
||||
NPM_AUTH_TOKEN: ${{ secrets.READER_TOKEN }}
|
||||
- run: yarn boot
|
||||
- run: cd ./examples/referansesider && yarn && yarn build
|
||||
- uses: nais/deploy/actions/spa-deploy/v2@master
|
||||
with:
|
||||
@@ -35,3 +35,4 @@ jobs:
|
||||
environment: dev
|
||||
project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }}
|
||||
identity_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
cache_invalidation: true
|
||||
@@ -30,9 +30,7 @@ jobs:
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: yarn
|
||||
- name: set-env for yarn install to @navikt scope
|
||||
shell: bash
|
||||
run: echo "NPM_AUTH_TOKEN=${{ secrets.READER_TOKEN }}" >> $GITHUB_ENV
|
||||
cache-dependency-path: "**/yarn.lock"
|
||||
|
||||
- uses: denoland/setup-deno@v1
|
||||
with:
|
||||
@@ -40,6 +38,8 @@ jobs:
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
env:
|
||||
NPM_AUTH_TOKEN: ${{ secrets.READER_TOKEN }}
|
||||
|
||||
- name: Create release Pull Request or publish to NPM
|
||||
id: changesets
|
||||
|
||||
@@ -18,6 +18,7 @@ jobs:
|
||||
dockerfile: scripts/article-views/Dockerfile.update-article-views
|
||||
project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }}
|
||||
identity_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
|
||||
- name: start naisjob prod-gcp
|
||||
uses: nais/deploy/actions/deploy@master
|
||||
env:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
. "$(dirname $0)/_/husky.sh"
|
||||
|
||||
yarn lint-staged
|
||||
yarn lint-staged && yarn tsx ./scripts/in-sync-versions.ts
|
||||
@@ -0,0 +1,112 @@
|
||||
import { Markdown, Meta } from "@storybook/blocks";
|
||||
|
||||
<Meta title="Docs/Become a Pilot team/3.Migration" />
|
||||
|
||||
# Migration
|
||||
|
||||
## Tokens
|
||||
|
||||
[See tokens docs here](https://main--66b4b3beb91603ed0ab5c45e.chromatic.com/?path=/docs/docs-become-a-pilot-team-4-tokens--docs).
|
||||
|
||||
## CSS
|
||||
|
||||
- Most of our CSS is re-written. This could potentially affect most custom overrides targeting `.navds`-classes.
|
||||
- You will not be able to use the old CSS and the new CSS at the same time.
|
||||
|
||||
As we strongly recommend avoiding custom
|
||||
overrides where possible, we would like to encourage opening an
|
||||
issue if you find that you have to override our CSS to achieve
|
||||
something! It's these cases we want to know about so that we can fix
|
||||
them for everyone.
|
||||
|
||||
### Removed component-tokens
|
||||
|
||||
All component-spesific tokens are no longer supported. That means all tokens like these from `Button` are removed:
|
||||
|
||||
```css
|
||||
--ac-button-primary-bg
|
||||
--ac-button-primary-text
|
||||
--ac-button-primary-hover-bg
|
||||
--ac-button-primary-active-bg
|
||||
```
|
||||
|
||||
All component-based tokens are prefixed with `--ac`, so a global search in your codebase should find all of them.
|
||||
|
||||
## Tailwind CSS
|
||||
|
||||
Since our Tailwind CSS config is tied to our tokens, most changes made to the tokens will affect the Tailwind CSS config.
|
||||
We have decided to prefix all our classes with `ax-` in the new config, so it should be possible to use both packages at the same time. We will develop tooling to hopefuly make the migrations easier in the future.
|
||||
|
||||
### Removed classes
|
||||
|
||||
z-index, maxWidth and spacing classes are removed from the new config.
|
||||
|
||||
## React
|
||||
|
||||
We have made some updates to `@navikt/ds-react` that you should be aware of before testing.
|
||||
|
||||
### Accordion
|
||||
|
||||
#### Props
|
||||
|
||||
- `variant` is deprecated and will be removed in the future. We have not implemented it in the new system.
|
||||
- `headingSize` is deprecated and will be removed in the future. Accordion-size medium now equals `small` heading, and size small equals `xsmall` heading.
|
||||
|
||||
#### Structural changes
|
||||
|
||||
`<Accordion.Content/>` now has an extra nested `div` to allow for better animations. Custom CSS might break.
|
||||
|
||||
### Datepicker
|
||||
|
||||
Weeknumber-button uses our own button-component, and no longer a
|
||||
custom button.
|
||||
|
||||
### GuidePanel
|
||||
|
||||
Component got a complete overhaul. Custom overrides might break.
|
||||
|
||||
### Popover, HelpText
|
||||
|
||||
`arrow`-prop is removed. All of our floating dialog-elements except for `Tooltip` now comes without arrow.
|
||||
If you have custom `offset`-values, you might have to update them to accommodate this.
|
||||
|
||||
### Pagination
|
||||
|
||||
Button now uses our own button-component and `variant="tertiary-neutral".
|
||||
|
||||
### Primitives
|
||||
|
||||
Given that these are closely tied to our tokens, you will most
|
||||
likely have to update parts of them to test the new system.
|
||||
|
||||
All primitives using our current `spacing`-tokens now has
|
||||
the new <code>space</code>-tokens. You can use the old tokens while
|
||||
testing, but the full release will remove them from the prop-list
|
||||
|
||||
<Markdown>
|
||||
{`
|
||||
\`\`\`diff
|
||||
- <HStack gap="4">
|
||||
+ <HStack gap="space-16">
|
||||
\`\`\`
|
||||
|
||||
`}
|
||||
|
||||
</Markdown>
|
||||
|
||||
#### Page
|
||||
|
||||
`background`-prop is removed. Now just uses `bg-default`-token.
|
||||
|
||||
#### Box
|
||||
|
||||
Since `<Box />` is directly tied to our tokens, we
|
||||
now offer `<Box.New />` as a temporary altenative. This
|
||||
component is based on our new tokens and can use the backgrounds,
|
||||
borders, border-radius and shadows from the new system. When the full release comes, we will update `<Box />` to use the new system, and provide tooling to handle this migration.
|
||||
|
||||
**All instances of `<Box />` will break when using the new system if:**
|
||||
|
||||
- `background`-prop is used
|
||||
- `shadow`-prop is used
|
||||
- `borderColor`-prop is used
|
||||
@@ -0,0 +1,128 @@
|
||||
import { Markdown, Meta } from "@storybook/blocks";
|
||||
|
||||
<Meta title="Docs/Become a Pilot team/2.Setup" />
|
||||
|
||||
# Setup
|
||||
|
||||
## Clean project
|
||||
|
||||
For new projects, setup is just as easy as before, but now requires a `Theme`-component to be wrapped around your app.
|
||||
The component acts as a local feature-flag for the new implementation, with the added benefit of being able to switch between light and dark mode for you.
|
||||
|
||||
Steps:
|
||||
|
||||
- 1. Import new CSS `@navikt/ds-css/darkside`
|
||||
- 2. Import `Theme`-component from `@navikt/ds-react/Theme`
|
||||
- 3. Wrap your app in the `Theme`-component. You do not have to set the theme, but it defaults to `light`.
|
||||
|
||||
```tsx
|
||||
import "@navikt/ds-css/darkside";
|
||||
import { Theme } from "@navikt/ds-react/Theme";
|
||||
|
||||
export const App = () => (
|
||||
<Theme theme="light">
|
||||
<YourApp />
|
||||
</Theme>
|
||||
);
|
||||
```
|
||||
|
||||
### Only Tokens/CSS
|
||||
|
||||
If you are not using any of our React-components, you can still switch between themes by setting `class="light"` or `class="dark"` on your root-element.
|
||||
|
||||
## Theme switching
|
||||
|
||||
The `Theme`-component has a `theme`-prop that can be set to either `light` or `dark`. This only sets a `class` on the element of `light` or `dark` (in addition to a `navds-theme` class), and the rest is handled by the CSS.
|
||||
|
||||
You have the option of using `hasBackground` (defaults to true) to make `Theme` include a built on default background.
|
||||
|
||||
Since theme-switching often is framework-spesific, we have not included a theme-toggle component or advanced logic for cookies/localstorage.
|
||||
You will have to implement this yourself using a custom setup, or use a library like [next-themes](https://github.com/pacocoursey/next-themes).
|
||||
|
||||
We will continue to work on the whole `Theme` ecosystem, and might include more features in the future to handle this built in.
|
||||
|
||||
### Theme-switch component
|
||||
|
||||
This is context-based for what fits your application, but there are some general patterns you can follow.
|
||||
|
||||
- **Light or Dark-mode**: Here you can use a simple Switch-component, or a Tertiary-button to toggle between them.
|
||||
|
||||
- **Light, Dark or System-mode**: Here you can use a ToggleGroup or Select-component.
|
||||
|
||||
```tsx
|
||||
isLightMode ? (
|
||||
<Button
|
||||
variant="tertiary-neutral"
|
||||
icon={<SunIcon title="Switch to dark theme" />}
|
||||
/>
|
||||
) : (
|
||||
<Button
|
||||
variant="tertiary-neutral"
|
||||
icon={<MoonIcon title="Switch to light theme" />}
|
||||
/>
|
||||
);
|
||||
```
|
||||
|
||||
## I just want to test the new tokens
|
||||
|
||||
Since you can use the new tokens alongside the old tokens, you can start by importing the new tokens as you would the old system.
|
||||
|
||||
```css
|
||||
@import "@navikt/ds-tokens/darkside-css";
|
||||
```
|
||||
|
||||
For SCSS, Less and JS they are also available under the paths
|
||||
|
||||
```
|
||||
@navikt/ds-tokens/darkside-scss
|
||||
@navikt/ds-tokens/darkside-less
|
||||
@navikt/ds-tokens/darkside-js
|
||||
```
|
||||
|
||||
**Note: To support theming, scss, less and js tokens are all now based on `css-variables`. This means you will have to import the css-version from `darkside-css` alongside them for everything to work.**
|
||||
|
||||
## I want to test the new React-changes
|
||||
|
||||
For the new system to work with our components, you will have to use the new `Theme`-component, and import the new CSS from `ds-css/darkside`
|
||||
|
||||
```tsx
|
||||
import "@navikt/ds-css/darkside;";
|
||||
import { Theme } from "@navikt/ds-react/Theme";
|
||||
|
||||
export const App = () => (
|
||||
<Theme theme="light">
|
||||
<YourApp />
|
||||
</Theme>
|
||||
);
|
||||
```
|
||||
|
||||
You will not be able to use the old CSS and the new CSS at the same time.
|
||||
You will have to check on all your custom overrides when making this switch.
|
||||
|
||||
## I have to make some custom changes in darkmode
|
||||
|
||||
Since our implementation is based on CSS, you can easily make custom adjustments where necessary.
|
||||
|
||||
```css
|
||||
.my-component {
|
||||
background-color: var(--ax-bg-raised);
|
||||
color: var(--ax-text-neutral);
|
||||
border: 1px solid var(--ax-border-neutral-subtleA);
|
||||
}
|
||||
|
||||
// Makes hover-state more visible only for darkmode
|
||||
.dark .my-component {
|
||||
&:hover {
|
||||
border-color: var(--ax-border-accent-default);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Tailwind CSS
|
||||
|
||||
```
|
||||
// Tailwind v3
|
||||
module.exports = {
|
||||
presets: [require("@navikt/ds-tailwind/darkside-tw3")],
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,7 @@
|
||||
import { Meta, Title } from "@storybook/blocks";
|
||||
|
||||
<Meta title="Docs/Become a Pilot team/5.Changelog" />
|
||||
|
||||
# Darkside changelog
|
||||
|
||||
Nothing to see here yet.
|
||||
@@ -0,0 +1,95 @@
|
||||
import { Meta, Title } from "@storybook/blocks";
|
||||
|
||||
<Meta title="Docs/Become a Pilot team/1.Intro" />
|
||||
|
||||
# Becoming a pilot team
|
||||
|
||||
We are looking for teams wanting to test our new theming implementation and darkmode before we go live with them later in 2025.
|
||||
|
||||
## What is a pilot team?
|
||||
|
||||
- A pilot team is a team that tests new implementations before they are released.
|
||||
- The team will test the new implementation in a real-world scenario and provide us with feedback.
|
||||
- The feedback will be used to improve the implementation before it replaces the old system.
|
||||
|
||||
As a pilot team, we want close communication to get
|
||||
feedback on the changes. We want to know all the unclear and bad parts
|
||||
of our implementations, so that we can fix them all up before the big release.
|
||||
|
||||
## Who are we mainly looking for?
|
||||
|
||||
We are focusing on applications meant for our internal systems and services for now. This line is often a little blurry,
|
||||
but in short, all the public facing applications including those using "Dekoratøren" will not be considered internal.
|
||||
Support for "Dekoratøren" is quite far down the road at the moment.
|
||||
|
||||
For teams wanting to test the new implementation, there are some key points to consider:
|
||||
|
||||
- You _probably_ want to be in the earlier stages of developing a new product or service (to more easily test something in isolation).
|
||||
- You can test _any_ smaller subset of the new system as it's not an "all or nothing" ordeal. This could be: design tokens, darkmode, updated CSS or a combination of these.
|
||||
- You have the capacity to test and provide feedback on the new implementation (You'll be saving Nav countless hours for every hour spent!).
|
||||
|
||||
Everyone is welcome to test the new implementation, but for some larger applications, it might be a bit early to adopt the new system. Keep in mind that there might be breaking changes as we go,
|
||||
and we won't have all tooling ready for adoption yet so you might have to do some manual work.
|
||||
|
||||
## How to give feedback
|
||||
|
||||
We welcome all forms of feedback:
|
||||
|
||||
- **Issues**: [Open an issue on Github](https://github.com/navikt/aksel/issues)
|
||||
- **Disussions**: [Start a discussion](https://github.com/navikt/aksel/discussions/categories/darkside).
|
||||
- **Slack**: [Reach out to us on Slack #Aksel-designsystemet](https://nav-it.slack.com/archives/C7NE7A8UF)
|
||||
|
||||
## What's new?
|
||||
|
||||
- **Design tokens**: A complete re-write of our design tokens to allow for dark mode.
|
||||
- **Dark mode**: A new dark mode implementation.
|
||||
- **Updated CSS**: Now uses new tokens, built-in CSS-layers support and most components are re-written.
|
||||
- **Updated Tailwind CSS config**: Now uses new tokens, now comes with built-in `ax`-prefix for easier separation between Aksel and your own config.
|
||||
- **Updated components**: Components use the new tokens and CSS.
|
||||
- **New Theme-component**: A new `<Theme/>`-component to handle the theming-switch locally.
|
||||
- **Updated documentation**: Updated documentation for the new implementation.
|
||||
|
||||
## Documentation
|
||||
|
||||
As we go, we will add more documentation to help you get started with the new implementation.
|
||||
|
||||
- [Design i light og dark-mode](https://aksel.nav.no/god-praksis/artikler/design-i-dark-mode-og-light-mode)
|
||||
|
||||
### Demo page
|
||||
|
||||
We have a demo page to show off some of the new features and tokens. [You can find it here](https://aksel-referansesider.ansatt.dev.nav.no/aktivitetsplan/).
|
||||
We recommend using "inspect-tool" in browser to get a feel for the new tokens and CSS.
|
||||
|
||||
## How testing could affect your application
|
||||
|
||||
All the changes are **opt in**, meaning you can choose to use nothing, some parts of the new implementation, or go all-in.
|
||||
You will still be able to recieve updates to the old implementation while we are in the testing phase.
|
||||
|
||||
### Tokens
|
||||
|
||||
We have made a complete re-write of our design tokens to allow for dark mode.
|
||||
This includes new backgrounds, text-colors, border-colors and updated spacing-tokens.
|
||||
|
||||
- All tokens have a new prefix `--ax` to avoid conflicts with old tokens.
|
||||
- You will be able to use the new tokens at the same time as the old tokens.
|
||||
- All background, text-colors and border-colors have new names and "concepts" to learn. Migration will not be a quick one to one with old system.
|
||||
- New spacing tokens are now named `space` and based on `px` values (most devs think and deal in `px` values first, no more on-the-fly mental arithmetic! WYSIWYG).
|
||||
|
||||
### CSS
|
||||
|
||||
We have updated our CSS to be based on the new tokens for theming.
|
||||
|
||||
- Most of our CSS is re-written.
|
||||
- All custom overrides targeting `.navds`-classes might have to be updated locally.
|
||||
- You will not be able to use the old CSS and the new CSS at the same time.
|
||||
- Component-based tokens are no longer avaliable.
|
||||
|
||||
### Tailwind CSS
|
||||
|
||||
We have made a new Tailwind CSS config based on the new tokens. Based on previous iterations, we have decided to try prefixing all our classes with `ax-`.
|
||||
While this will be a little more verbose, it makes it easier to separate your own config from ours, and hopefully makes it easier to maintain.
|
||||
|
||||
### React components
|
||||
|
||||
We have made some prop-changes to some components to facilitate the new theming and updated CSS. You can read more about them under `migration` in the sidebar.
|
||||
We have hidden the changes behind a "feature-flag", so you will have to use the new `<Theme/>`-component when testing the new CSS.
|
||||
@@ -0,0 +1,193 @@
|
||||
import { Meta } from "@storybook/blocks";
|
||||
|
||||
<Meta title="Docs/Become a Pilot team/4.Tokens" />
|
||||
|
||||
# Tokens
|
||||
|
||||
## Spacing scale
|
||||
|
||||
We have updated our spacing-scale to now be named `space` and for the values to reflect 1-1 the px-value.
|
||||
To migrate old `--a-spacing-X`-tokens, you can just take the value and 4x it to get the new `--ax-space-X`-token.
|
||||
|
||||
```diff
|
||||
// Old
|
||||
--a-spacing-4: 1rem;
|
||||
|
||||
// New
|
||||
--ax-space-16: 1rem;
|
||||
```
|
||||
|
||||
```css
|
||||
--ax-space-0: 0rem;
|
||||
--ax-space-1: 0.0625rem;
|
||||
--ax-space-2: 0.125rem;
|
||||
--ax-space-4: 0.25rem;
|
||||
--ax-space-6: 0.375rem;
|
||||
--ax-space-8: 0.5rem;
|
||||
--ax-space-12: 0.75rem;
|
||||
--ax-space-16: 1rem;
|
||||
--ax-space-20: 1.25rem;
|
||||
--ax-space-24: 1.5rem;
|
||||
--ax-space-28: 1.75rem;
|
||||
--ax-space-32: 2rem;
|
||||
--ax-space-36: 2.25rem;
|
||||
--ax-space-40: 2.5rem;
|
||||
--ax-space-44: 2.75rem;
|
||||
--ax-space-48: 3rem;
|
||||
--ax-space-56: 3.5rem;
|
||||
--ax-space-64: 4rem;
|
||||
--ax-space-72: 4.5rem;
|
||||
--ax-space-80: 5rem;
|
||||
--ax-space-96: 6rem;
|
||||
--ax-space-128: 8rem;
|
||||
```
|
||||
|
||||
## Global tokens
|
||||
|
||||
Our global colors are Neutral, Accent, Success, Info, Warning, Danger, Brand-magenta, Brand-beige, Brand-blue, Meta-purple and Meta-lime.
|
||||
|
||||
Beside `neutral` that has a `000`-token,
|
||||
all other color-tokens are named after the following pattern:
|
||||
|
||||
```css
|
||||
--ax-[role]-000 // Neutral only
|
||||
--ax-[role]-100
|
||||
--ax-[role]-100A
|
||||
--ax-[role]-200
|
||||
--ax-[role]-200A
|
||||
--ax-[role]-300
|
||||
--ax-[role]-300A
|
||||
--ax-[role]-400
|
||||
--ax-[role]-400A
|
||||
--ax-[role]-500
|
||||
--ax-[role]-600
|
||||
--ax-[role]-700
|
||||
--ax-[role]-800
|
||||
--ax-[role]-900
|
||||
--ax-[role]-1000
|
||||
```
|
||||
|
||||
## Semantic tokens
|
||||
|
||||
We have two sets of semantic tokens, one for unique cases and one for all the roles.
|
||||
|
||||
```css
|
||||
// Unique tokens
|
||||
--ax-bg-default // Main page background.
|
||||
--ax-bg-input // Background for input-fields.
|
||||
--ax-bg-overlay // Background for overlays like Modal.
|
||||
--ax-bg-sunken // Background for sunken sections to highlight ex. Cards.
|
||||
--ax-bg-raised // Background for raised elements, like cards or dialogs.
|
||||
--ax-text-logo // Nav-logo color.
|
||||
--ax-border-focus // Outline-color for focus-states.
|
||||
```
|
||||
|
||||
For the remaning tokens, they are equal between all the global roles. This means that if you know the token for one role, you know it for all the roles.
|
||||
|
||||
```css
|
||||
// Backgrounds
|
||||
|
||||
// Soft is used for subtle backgrounds without state.
|
||||
--ax-bg-[role]-soft
|
||||
--ax-bg-[role]-softA
|
||||
|
||||
// Moderate is used for subtle elements, with the option for states.
|
||||
// Should be used with a border in most cases to separate from the background.
|
||||
// Think Secondary-buttons, Alerts
|
||||
--ax-bg-[role]-moderate
|
||||
--ax-bg-[role]-moderateA
|
||||
--ax-bg-[role]-moderate-hover
|
||||
--ax-bg-[role]-moderate-hoverA
|
||||
--ax-bg-[role]-moderate-pressed
|
||||
--ax-bg-[role]-moderate-pressedA
|
||||
|
||||
// Strong is used for elements that should stand out, with the option for states.
|
||||
// Think Primary-buttons, Checkbox, Chips
|
||||
// Text on strong should use contrast version of the color.
|
||||
--ax-bg-[role]-strong
|
||||
--ax-bg-[role]-strong-hover
|
||||
--ax-bg-[role]-strong-pressed
|
||||
|
||||
// Text
|
||||
--ax-text-[role]
|
||||
--ax-text-[role]-subtle
|
||||
--ax-text-[role]-icon
|
||||
--ax-text-[role]-contrast
|
||||
|
||||
// Borders
|
||||
--ax-border-[role]
|
||||
--ax-border-[role]-subtle
|
||||
--ax-border-[role]-subtleA
|
||||
--ax-border-[role]-strong
|
||||
```
|
||||
|
||||
### Example use
|
||||
|
||||
```css
|
||||
.alert--success {
|
||||
background-color: var(--ax-bg-success-moderate);
|
||||
border: var(--ax-border-success);
|
||||
}
|
||||
|
||||
.alert--info {
|
||||
background-color: var(--ax-bg-info-moderate);
|
||||
border: var(--ax-border-info);
|
||||
}
|
||||
```
|
||||
|
||||
## Shadows
|
||||
|
||||
We now have only one shadow-token:
|
||||
|
||||
```css
|
||||
--ax-shadow-dialog
|
||||
```
|
||||
|
||||
## Z-index
|
||||
|
||||
We have removed the `--a-z-index`-tokens.
|
||||
|
||||
## Font-tokens, breakpoints etc
|
||||
|
||||
The remaining tokens are kept the same as the old system, but now with updated prefix.
|
||||
|
||||
```css
|
||||
--ax-font-weight-regular
|
||||
--ax-font-weight-bold
|
||||
--ax-font-size-small
|
||||
--ax-font-size-medium
|
||||
--ax-font-size-large
|
||||
--ax-font-size-xlarge
|
||||
--ax-font-size-heading-xsmall
|
||||
--ax-font-size-heading-small
|
||||
--ax-font-size-heading-medium
|
||||
--ax-font-size-heading-large
|
||||
--ax-font-size-heading-xlarge
|
||||
--ax-font-size-heading-2xlarge
|
||||
--ax-font-line-height-medium
|
||||
--ax-font-line-height-large
|
||||
--ax-font-line-height-xlarge
|
||||
--ax-font-line-height-heading-xsmall
|
||||
--ax-font-line-height-heading-small
|
||||
--ax-font-line-height-heading-medium
|
||||
--ax-font-line-height-heading-large
|
||||
--ax-font-line-height-heading-xlarge
|
||||
--ax-font-line-height-heading-2xlarge
|
||||
--ax-font-family
|
||||
--ax-breakpoint-2xl-down
|
||||
--ax-breakpoint-2xl
|
||||
--ax-breakpoint-xl-down
|
||||
--ax-breakpoint-xl
|
||||
--ax-breakpoint-lg-down
|
||||
--ax-breakpoint-lg
|
||||
--ax-breakpoint-md-down
|
||||
--ax-breakpoint-md
|
||||
--ax-breakpoint-sm-down
|
||||
--ax-breakpoint-sm
|
||||
--ax-breakpoint-xs
|
||||
--ax-border-radius-full
|
||||
--ax-border-radius-xlarge
|
||||
--ax-border-radius-large
|
||||
--ax-border-radius-medium
|
||||
--ax-border-radius-small
|
||||
```
|
||||
@@ -4,7 +4,7 @@ import AkselThumbnail from "./assets/aksel-thumbnail.png";
|
||||
import Components from "./assets/components.png";
|
||||
import Setup from "./assets/setup.png";
|
||||
|
||||
<Meta title="Getting started" />
|
||||
<Meta title="Docs/Getting started" />
|
||||
|
||||
<div className="sb-container">
|
||||
<div className='sb-section-title'>
|
||||
@@ -19,3 +19,15 @@
|
||||
.rowgap-wrap {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.sbdocs-content:not(.sb-unstyled) :is(p, li) {
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
|
||||
.sbdocs-content:not(.sb-unstyled) li > p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.sbdocs-content:not(.sb-unstyled) li > ul {
|
||||
margin-top: 0.25rem;
|
||||
}
|
||||
@@ -46,7 +46,8 @@ export default {
|
||||
staticDirs: ["./public"],
|
||||
stories: () => [
|
||||
"../@navikt/**/*.stories.@(js|jsx|ts|tsx|mdx)",
|
||||
"./*.mdx",
|
||||
"./docs/*.mdx",
|
||||
"./docs/*.stories.tsx",
|
||||
"../aksel.nav.no/website/pages/templates/**/*.tsx",
|
||||
],
|
||||
addons: [
|
||||
|
||||
@@ -58,7 +58,8 @@ export default {
|
||||
storySort: {
|
||||
method: "alphabetical",
|
||||
order: [
|
||||
"Getting started",
|
||||
"Docs",
|
||||
["Getting started"],
|
||||
"ds-react",
|
||||
["Primitives"],
|
||||
["Default", "Controls"],
|
||||
@@ -78,9 +79,9 @@ export default {
|
||||
{
|
||||
value: "default",
|
||||
icon: "hourglass",
|
||||
title: "Default (old)",
|
||||
title: "Legacy theme",
|
||||
},
|
||||
{ value: "darkside", icon: "beaker", title: "Darkside (new)" },
|
||||
{ value: "darkside", icon: "beaker", title: "Darkside theme" },
|
||||
],
|
||||
showName: true,
|
||||
dynamicTitle: true,
|
||||
|
||||
@@ -1,5 +1,37 @@
|
||||
# @navikt/aksel-icons
|
||||
|
||||
## 7.14.1
|
||||
|
||||
## 7.14.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- Icons: :tada: New icons `LineHeight`, `SpaceHorizontal` and `SpaceVertical`. ([#3587](https://github.com/navikt/aksel/pull/3587))
|
||||
|
||||
## 7.13.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- Icons: :tada: New icons `ExpandVertical` and `QuestionmarkCircle` ([#3583](https://github.com/navikt/aksel/pull/3583))
|
||||
|
||||
## 7.12.2
|
||||
|
||||
## 7.12.1
|
||||
|
||||
## 7.12.0
|
||||
|
||||
## 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
|
||||
|
||||
## 7.9.0
|
||||
|
||||
## 7.8.1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Aksel icons
|
||||
|
||||
800+ open source icons made by Aksel, NAVs designsystem-team
|
||||
800+ open source icons made by Aksel, Nav's design system team.
|
||||
|
||||
- Designed for 24x24px
|
||||
- Available in React and SVG
|
||||
@@ -30,7 +30,7 @@ Tip: Use the `title` prop for accessible icons.
|
||||
|
||||
### Sizing
|
||||
|
||||
Each icons `width` and `height` is default `1em`. This allows you to use the native `fontSize`-prop to adjust sizing. We recommend using at least 1.5rem/24px for best possible visual representation.
|
||||
Each icon's `width` and `height` is default `1em`. This allows you to use the native `fontSize`-prop to adjust sizing. We recommend using at least 1.5rem/24px for the best possible visual representation.
|
||||
|
||||
```jsx
|
||||
<StarIcon fontSize="1.5rem" />
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
# Aksel Icons plugin
|
||||
|
||||
Pluginen gir deg mulighet til å se gjennom og hente ut alle ikonene i fra ikonpakken `@navikt/aksel-icons`. Du slipper da å hente nye oppdateringer fra Figma Community.
|
||||
Pluginen gir deg mulighet til å se gjennom og hente ut alle ikonene fra ikonpakken `@navikt/aksel-icons`. Du slipper da å hente nye oppdateringer fra Figma Community.
|
||||
|
||||
Referer til [ikon-dokumentasjonen](https://aksel.nav.no/ikoner) for å se alle ikonene.
|
||||
Gå til [ikon-dokumentasjonen](https://aksel.nav.no/ikoner) for å se alle ikonene.
|
||||
Har du ønsker om nye ikoner, eller ønsker å bidra med å lage nye, lag et issue på [GitHub-repoet for designsystemet](https://github.com/navikt/aksel).
|
||||
|
||||
## Quickstart
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
"@svgr/core": "^8.1.0",
|
||||
"@types/node": "^18.15.11",
|
||||
"@types/postcss-url": "^10.0.4",
|
||||
"@types/react": "^18.0.0",
|
||||
"@types/react": "^18.3.11",
|
||||
"@types/react-dom": "^18.0.0",
|
||||
"@vitejs/plugin-react": "^4.2.1",
|
||||
"postcss": "^8.4.31",
|
||||
"postcss-url": "^10.1.3",
|
||||
"typescript": "5.5.4",
|
||||
"vite": "^5.4.6",
|
||||
"vite": "^5.4.12",
|
||||
"vite-plugin-singlefile": "^1.0.0",
|
||||
"vite-plugin-svgr": "^4.2.0"
|
||||
}
|
||||
|
||||
@@ -13,5 +13,5 @@ keywords:
|
||||
- forward
|
||||
- videresend
|
||||
variant: Stroke
|
||||
updated_at: 23.02.2024
|
||||
updated_at: 05.09.2024
|
||||
created_at: 07.03.2023
|
||||
@@ -15,5 +15,5 @@ keywords:
|
||||
- risiko
|
||||
- forsiktighet
|
||||
variant: Stroke
|
||||
updated_at: 05.01.2024
|
||||
updated_at: 27.09.2024
|
||||
created_at: 07.03.2023
|
||||
@@ -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
|
||||
@@ -12,5 +12,5 @@ keywords:
|
||||
- struktur
|
||||
- innhold
|
||||
variant: Stroke
|
||||
updated_at: 05.01.2024
|
||||
updated_at: 10.02.2025
|
||||
created_at: 07.03.2023
|
||||
@@ -6,5 +6,5 @@ keywords:
|
||||
- sann
|
||||
- resultat
|
||||
variant: Stroke
|
||||
updated_at: 05.01.2024
|
||||
updated_at: 24.09.2024
|
||||
created_at: 07.03.2023
|
||||
@@ -9,5 +9,5 @@ keywords:
|
||||
- open
|
||||
- åpne
|
||||
variant: Stroke
|
||||
updated_at: 24.01.2024
|
||||
updated_at: 16.09.2024
|
||||
created_at: 07.03.2023
|
||||
@@ -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="M12.5303 2.21967C12.2374 1.92678 11.7626 1.92678 11.4697 2.21967L7.46967 6.21967C7.17678 6.51256 7.17678 6.98744 7.46967 7.28033C7.76256 7.57322 8.23744 7.57322 8.53033 7.28033L11.25 4.56066L11.25 10C11.25 10.4142 11.5858 10.75 12 10.75C12.4142 10.75 12.75 10.4142 12.75 10L12.75 4.56066L15.4697 7.28033C15.7626 7.57322 16.2374 7.57322 16.5303 7.28033C16.8232 6.98744 16.8232 6.51256 16.5303 6.21967L12.5303 2.21967ZM11.4697 21.7803C11.7626 22.0732 12.2374 22.0732 12.5303 21.7803L16.5303 17.7803C16.8232 17.4874 16.8232 17.0126 16.5303 16.7197C16.2374 16.4268 15.7626 16.4268 15.4697 16.7197L12.75 19.4393L12.75 14C12.75 13.5858 12.4142 13.25 12 13.25C11.5858 13.25 11.25 13.5858 11.25 14L11.25 19.4393L8.53033 16.7197C8.23744 16.4268 7.76256 16.4268 7.46967 16.7197C7.17678 17.0126 7.17678 17.4874 7.46967 17.7803L11.4697 21.7803Z" fill="#23262A"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1003 B |
@@ -0,0 +1,13 @@
|
||||
name: ExpandVertical
|
||||
category: Arrows
|
||||
sub_category: Arrow
|
||||
keywords:
|
||||
- arrows
|
||||
- piler
|
||||
- fullscreen
|
||||
- fullskjerm
|
||||
- open
|
||||
- åpne
|
||||
variant: Stroke
|
||||
updated_at: 30.01.2025
|
||||
created_at: 29.01.2025
|
||||
@@ -10,5 +10,5 @@ keywords:
|
||||
- wardrobe
|
||||
- kleshenger
|
||||
variant: Stroke
|
||||
updated_at: 04.12.2023
|
||||
updated_at: 12.09.2024
|
||||
created_at: 07.03.2023
|
||||
@@ -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
|
||||
@@ -15,5 +15,5 @@ keywords:
|
||||
- avslutt
|
||||
- avslutt
|
||||
variant: Stroke
|
||||
updated_at: 25.04.2024
|
||||
updated_at: 06.09.2024
|
||||
created_at: 07.03.2023
|
||||
@@ -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="M3.75 3.25C3.33579 3.25 3 3.58579 3 4C3 4.41421 3.33579 4.75 3.75 4.75H20.25C20.6642 4.75 21 4.41421 21 4C21 3.58579 20.6642 3.25 20.25 3.25H3.75ZM12.6855 6.9454C12.5652 6.67455 12.2966 6.5 12.0002 6.5C11.7038 6.5 11.4352 6.67455 11.3148 6.9454L7.31483 15.9454C7.1466 16.3239 7.31707 16.7671 7.69558 16.9354C8.0741 17.1036 8.51732 16.9331 8.68555 16.5546L9.5987 14.5H14.4017L15.3148 16.5546C15.4831 16.9331 15.9263 17.1036 16.3048 16.9354C16.6833 16.7671 16.8538 16.3239 16.6855 15.9454L12.6855 6.9454ZM13.735 13L12.0002 9.09666L10.2654 13H13.735ZM3 20C3 19.5858 3.33579 19.25 3.75 19.25H20.25C20.6642 19.25 21 19.5858 21 20C21 20.4142 20.6642 20.75 20.25 20.75H3.75C3.33579 20.75 3 20.4142 3 20Z" fill="#23262A"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 867 B |
@@ -0,0 +1,9 @@
|
||||
name: LineHeight
|
||||
category: Interface
|
||||
sub_category: Design
|
||||
keywords:
|
||||
- linjehøyde
|
||||
- linjeavstand
|
||||
variant: Stroke
|
||||
updated_at: 14.02.2025
|
||||
created_at: 14.02.2025
|
||||
@@ -20,5 +20,5 @@ keywords:
|
||||
- ansvar
|
||||
- paragraf
|
||||
variant: Stroke
|
||||
updated_at: 04.01.2024
|
||||
updated_at: 18.09.2024
|
||||
created_at: 07.03.2023
|
||||
@@ -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="M12 3.75C7.44365 3.75 3.75 7.44365 3.75 12C3.75 16.5563 7.44365 20.25 12 20.25C16.5563 20.25 20.25 16.5563 20.25 12C20.25 7.44365 16.5563 3.75 12 3.75ZM2.25 12C2.25 6.61522 6.61522 2.25 12 2.25C17.3848 2.25 21.75 6.61522 21.75 12C21.75 17.3848 17.3848 21.75 12 21.75C6.61522 21.75 2.25 17.3848 2.25 12ZM11.0498 16.9C11.0498 16.3753 11.4751 15.95 11.9998 15.95C12.5245 15.95 12.9498 16.3753 12.9498 16.9C12.9498 17.4247 12.5245 17.85 11.9998 17.85C11.4751 17.85 11.0498 17.4247 11.0498 16.9ZM10.25 9.5C10.25 8.5335 11.0335 7.75 12 7.75H12.1361C13.0274 7.75 13.75 8.47255 13.75 9.36387C13.75 9.85413 13.5271 10.3178 13.1443 10.6241L12.7028 10.9773C11.7845 11.7119 11.25 12.8241 11.25 14C11.25 14.4142 11.5858 14.75 12 14.75C12.4142 14.75 12.75 14.4142 12.75 14C12.75 13.2797 13.0774 12.5985 13.6398 12.1486L14.0814 11.7954C14.82 11.2045 15.25 10.3098 15.25 9.36387C15.25 7.64413 13.8559 6.25 12.1361 6.25H12C10.2051 6.25 8.75 7.70507 8.75 9.5C8.75 9.91421 9.08579 10.25 9.5 10.25C9.91421 10.25 10.25 9.91421 10.25 9.5Z" fill="#23262A"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,17 @@
|
||||
name: QuestionmarkCircle
|
||||
category: Status
|
||||
sub_category: Guidance
|
||||
keywords:
|
||||
- assistance
|
||||
- support
|
||||
- information
|
||||
- guidance
|
||||
- question mark
|
||||
- hjelp
|
||||
- støtte
|
||||
- informasjon
|
||||
- veiledning
|
||||
- spørsmålstegn
|
||||
variant: Stroke
|
||||
updated_at: 29.01.2025
|
||||
created_at: 29.01.2025
|
||||
@@ -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="M12 21.75C17.3848 21.75 21.75 17.3848 21.75 12C21.75 6.61522 17.3848 2.25 12 2.25C6.61522 2.25 2.25 6.61522 2.25 12C2.25 17.3848 6.61522 21.75 12 21.75ZM12 7.75C11.0335 7.75 10.25 8.5335 10.25 9.5C10.25 9.91421 9.91421 10.25 9.5 10.25C9.08579 10.25 8.75 9.91421 8.75 9.5C8.75 7.70507 10.2051 6.25 12 6.25H12.1361C13.8559 6.25 15.25 7.64413 15.25 9.36387C15.25 10.3098 14.82 11.2045 14.0814 11.7954L13.6398 12.1486C13.0774 12.5985 12.75 13.2797 12.75 14C12.75 14.4142 12.4142 14.75 12 14.75C11.5858 14.75 11.25 14.4142 11.25 14C11.25 12.8241 11.7845 11.7119 12.7028 10.9773L13.1443 10.6241C13.5271 10.3178 13.75 9.85413 13.75 9.36387C13.75 8.47255 13.0274 7.75 12.1361 7.75H12ZM11.0498 16.9C11.0498 16.3753 11.4751 15.95 11.9998 15.95C12.5245 15.95 12.9498 16.3753 12.9498 16.9C12.9498 17.4247 12.5245 17.85 11.9998 17.85C11.4751 17.85 11.0498 17.4247 11.0498 16.9Z" fill="#23262A"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,17 @@
|
||||
name: QuestionmarkCircleFill
|
||||
category: Status
|
||||
sub_category: Guidance
|
||||
keywords:
|
||||
- assistance
|
||||
- support
|
||||
- information
|
||||
- guidance
|
||||
- question mark
|
||||
- hjelp
|
||||
- støtte
|
||||
- informasjon
|
||||
- veiledning
|
||||
- spørsmålstegn
|
||||
variant: Fill
|
||||
updated_at: 29.01.2025
|
||||
created_at: 29.01.2025
|
||||
@@ -6,5 +6,5 @@ keywords:
|
||||
- crystal
|
||||
- snø
|
||||
variant: Stroke
|
||||
updated_at: 05.01.2024
|
||||
updated_at: 23.09.2024
|
||||
created_at: 07.03.2023
|
||||
@@ -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 |
@@ -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
|
||||
@@ -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 |
@@ -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
|
||||
@@ -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="M4 4C4.41421 4 4.75 4.33579 4.75 4.75V11.25H6.75C7.16421 11.25 7.5 11.5858 7.5 12C7.5 12.4142 7.16421 12.75 6.75 12.75H4.75V19.25C4.75 19.6642 4.41421 20 4 20C3.58579 20 3.25 19.6642 3.25 19.25V4.75C3.25 4.33579 3.58579 4 4 4ZM9.25 11.25C8.83579 11.25 8.5 11.5858 8.5 12C8.5 12.4142 8.83579 12.75 9.25 12.75H10.75C11.1642 12.75 11.5 12.4142 11.5 12C11.5 11.5858 11.1642 11.25 10.75 11.25H9.25ZM12.5 12C12.5 11.5858 12.8358 11.25 13.25 11.25H14.75C15.1642 11.25 15.5 11.5858 15.5 12C15.5 12.4142 15.1642 12.75 14.75 12.75H13.25C12.8358 12.75 12.5 12.4142 12.5 12ZM17.25 11.25C16.8358 11.25 16.5 11.5858 16.5 12C16.5 12.4142 16.8358 12.75 17.25 12.75H19.25V19.25C19.25 19.6642 19.5858 20 20 20C20.4142 20 20.75 19.6642 20.75 19.25V4.75C20.75 4.33579 20.4142 4 20 4C19.5858 4 19.25 4.33579 19.25 4.75V11.25H17.25Z" fill="#23262A"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 981 B |
@@ -0,0 +1,12 @@
|
||||
name: SpaceHorizontal
|
||||
category: Interface
|
||||
sub_category: Design
|
||||
keywords:
|
||||
- avstand
|
||||
- padding
|
||||
- margin
|
||||
- horisontal
|
||||
- luft
|
||||
variant: Stroke
|
||||
updated_at: 14.02.2025
|
||||
created_at: 14.02.2025
|
||||
@@ -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="M4.75 3.25C4.33579 3.25 4 3.58579 4 4C4 4.41421 4.33579 4.75 4.75 4.75H11.25V6.75C11.25 7.16421 11.5858 7.5 12 7.5C12.4142 7.5 12.75 7.16421 12.75 6.75V4.75H19.25C19.6642 4.75 20 4.41421 20 4C20 3.58579 19.6642 3.25 19.25 3.25H4.75ZM12 11.5C11.5858 11.5 11.25 11.1642 11.25 10.75V9.25C11.25 8.83579 11.5858 8.5 12 8.5C12.4142 8.5 12.75 8.83579 12.75 9.25V10.75C12.75 11.1642 12.4142 11.5 12 11.5ZM11.25 14.75C11.25 15.1642 11.5858 15.5 12 15.5C12.4142 15.5 12.75 15.1642 12.75 14.75V13.25C12.75 12.8358 12.4142 12.5 12 12.5C11.5858 12.5 11.25 12.8358 11.25 13.25V14.75ZM4.75 19.25H11.25V17.25C11.25 16.8358 11.5858 16.5 12 16.5C12.4142 16.5 12.75 16.8358 12.75 17.25V19.25H19.25C19.6642 19.25 20 19.5858 20 20C20 20.4142 19.6642 20.75 19.25 20.75H4.75C4.33579 20.75 4 20.4142 4 20C4 19.5858 4.33579 19.25 4.75 19.25Z" fill="#23262A"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 987 B |
@@ -0,0 +1,12 @@
|
||||
name: SpaceVertical
|
||||
category: Interface
|
||||
sub_category: Design
|
||||
keywords:
|
||||
- avstand
|
||||
- padding
|
||||
- margin
|
||||
- vertikal
|
||||
- luft
|
||||
variant: Stroke
|
||||
updated_at: 14.02.2025
|
||||
created_at: 14.02.2025
|
||||
@@ -6,5 +6,5 @@ keywords:
|
||||
- europa
|
||||
- europe
|
||||
variant: Stroke
|
||||
updated_at: 08.07.2024
|
||||
updated_at: 23.09.2024
|
||||
created_at: 07.03.2023
|
||||
@@ -12,5 +12,5 @@ keywords:
|
||||
- diagram
|
||||
- analyse
|
||||
variant: Stroke
|
||||
updated_at: 05.07.2024
|
||||
updated_at: 18.09.2024
|
||||
created_at: 07.03.2023
|
||||
@@ -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,6 +1,6 @@
|
||||
{
|
||||
"name": "@navikt/aksel-icons",
|
||||
"version": "7.9.0",
|
||||
"version": "7.14.1",
|
||||
"author": "Aksel | Nav",
|
||||
"homepage": "https://aksel.nav.no/ikoner",
|
||||
"repository": {
|
||||
@@ -84,9 +84,9 @@
|
||||
"react": "^18.0.0",
|
||||
"rehype-parse": "8.0.4",
|
||||
"tsc-alias": "1.8.8",
|
||||
"tsx": "^4.7.1",
|
||||
"tsx": "^4.19.1",
|
||||
"typescript": "5.5.4",
|
||||
"unified": "10.1.2",
|
||||
"vitest": "^1.2.2"
|
||||
"vitest": "^2.1.8"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,25 @@
|
||||
# @navikt/aksel-stylelint
|
||||
|
||||
## 7.14.1
|
||||
|
||||
## 7.14.0
|
||||
|
||||
## 7.13.0
|
||||
|
||||
## 7.12.2
|
||||
|
||||
## 7.12.1
|
||||
|
||||
## 7.12.0
|
||||
|
||||
## 7.11.0
|
||||
|
||||
## 7.10.0
|
||||
|
||||
## 7.9.2
|
||||
|
||||
## 7.9.1
|
||||
|
||||
## 7.9.0
|
||||
|
||||
## 7.8.1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@navikt/aksel-stylelint",
|
||||
"version": "7.9.0",
|
||||
"version": "7.14.1",
|
||||
"author": "Aksel | Nav",
|
||||
"homepage": "https://aksel.nav.no/grunnleggende/kode/stylelint",
|
||||
"repository": {
|
||||
@@ -35,14 +35,14 @@
|
||||
"dev": "yarn watch:lint"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@navikt/ds-css": "^7.9.0",
|
||||
"@navikt/ds-tokens": "^7.9.0",
|
||||
"@navikt/ds-css": "^7.14.1",
|
||||
"@navikt/ds-tokens": "^7.14.1",
|
||||
"concurrently": "9.0.1",
|
||||
"postcss-selector-parser": "^6.0.13",
|
||||
"postcss-value-parser": "^4.2.0",
|
||||
"stylelint": "^14.8.5",
|
||||
"stylelint": "^16.10.0",
|
||||
"stylelint-test-rule-node": "^0.2.1",
|
||||
"tsx": "^4.7.1",
|
||||
"tsx": "^4.19.1",
|
||||
"typescript": "5.5.4"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,75 @@
|
||||
# @navikt/aksel
|
||||
|
||||
## 7.14.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies []:
|
||||
- @navikt/ds-css@7.14.1
|
||||
|
||||
## 7.14.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`08e134e`](https://github.com/navikt/aksel/commit/08e134ef3c2238d7d405b44e27edef593339406c), [`821343b`](https://github.com/navikt/aksel/commit/821343b67d702379013ceba5961a5872dca4fd1f)]:
|
||||
- @navikt/ds-css@7.14.0
|
||||
|
||||
## 7.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`1ba5d9b`](https://github.com/navikt/aksel/commit/1ba5d9b5a2fb74ee2c1fdb8d498520ad85323a12)]:
|
||||
- @navikt/ds-css@7.13.0
|
||||
|
||||
## 7.12.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies []:
|
||||
- @navikt/ds-css@7.12.2
|
||||
|
||||
## 7.12.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies []:
|
||||
- @navikt/ds-css@7.12.1
|
||||
|
||||
## 7.12.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies []:
|
||||
- @navikt/ds-css@7.12.0
|
||||
|
||||
## 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
|
||||
|
||||
- Updated dependencies [[`54495a4`](https://github.com/navikt/aksel/commit/54495a446065c73a06865885e65b3b07dedaa5ea)]:
|
||||
- @navikt/ds-css@7.9.2
|
||||
|
||||
## 7.9.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`25305eb`](https://github.com/navikt/aksel/commit/25305ebba04a37e6315bc37bfabb39f04f83f146)]:
|
||||
- @navikt/ds-css@7.9.1
|
||||
|
||||
## 7.9.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@navikt/aksel",
|
||||
"version": "7.9.0",
|
||||
"version": "7.14.1",
|
||||
"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.0",
|
||||
"@navikt/ds-css": "^7.14.1",
|
||||
"axios": "1.7.4",
|
||||
"chalk": "4.1.0",
|
||||
"clipboardy": "^2.3.0",
|
||||
@@ -40,13 +40,13 @@
|
||||
"is-git-clean": "1.1.0",
|
||||
"jscodeshift": "^0.15.1",
|
||||
"jscodeshift-add-imports": "1.0.11",
|
||||
"lodash": "4.17.21",
|
||||
"lodash": "^4.17.21",
|
||||
"react-scanner": "^1.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"rimraf": "6.0.1",
|
||||
"typescript": "5.5.4",
|
||||
"vitest": "^1.2.2"
|
||||
"vitest": "^2.1.8"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"engines": {
|
||||
|
||||
@@ -1,5 +1,61 @@
|
||||
# @navikt/ds-css
|
||||
|
||||
## 7.14.1
|
||||
|
||||
## 7.14.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- DatePicker: Updated `date.css` to support `react-day-picker v9`. ([#3525](https://github.com/navikt/aksel/pull/3525))
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Darkside: Added 'arrow' back to Tooltip. ([#3589](https://github.com/navikt/aksel/pull/3589))
|
||||
|
||||
## 7.13.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Darkside: Added support for `ConfirmationpPanel`, `Linkpanel`, `Panel` and `Dropdown`. Note that all of these will be deprecated in the future. ([#3581](https://github.com/navikt/aksel/pull/3581))
|
||||
|
||||
## 7.12.2
|
||||
|
||||
## 7.12.1
|
||||
|
||||
## 7.12.0
|
||||
|
||||
## 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
|
||||
|
||||
- Table: Removed border-bottom for HeaderCell used in ExpandableRow. ([#3503](https://github.com/navikt/aksel/pull/3503))
|
||||
|
||||
## 7.9.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Link: :bug: Use inside Alert got wrong text-color while focused or active. ([#3489](https://github.com/navikt/aksel/pull/3489))
|
||||
|
||||
## 7.9.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Aksel styling
|
||||
|
||||
CSS for NAVs designsystem.
|
||||
CSS for Nav's design system.
|
||||
|
||||
- Css tokens (Colors, border, shadows etc)
|
||||
- Component-styling for `@navikt/ds-react` packages
|
||||
- Css tokens (Colors, border, shadows etc.)
|
||||
- Component styling for `@navikt/ds-react` packages
|
||||
- Normalize.css v8
|
||||
- Font-loading
|
||||
- Font loading
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -16,7 +16,7 @@ CSS for NAVs designsystem.
|
||||
|
||||
## Usage
|
||||
|
||||
Import styles once to make it accessible for your entire project. Typically you will add the following line to your root .tsx file.
|
||||
Import styles once to make it accessible for your entire project. Typically you will add the following line to your root .tsx file:
|
||||
|
||||
```javascript
|
||||
import "@navikt/ds-css";
|
||||
@@ -26,7 +26,7 @@ function App() {
|
||||
}
|
||||
```
|
||||
|
||||
But you can import it in a .css-file
|
||||
But you can import it in a .css-file as well:
|
||||
|
||||
```css
|
||||
@import "@navikt/ds-css";
|
||||
|
||||
@@ -497,7 +497,7 @@
|
||||
}
|
||||
|
||||
/* Loader overrides */
|
||||
.navds-button .navds-loader {
|
||||
.navds-button > .navds-loader {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
|
||||
@@ -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: string[] = [];
|
||||
|
||||
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);
|
||||
});
|
||||
});
|
||||
@@ -4,15 +4,15 @@
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: var(--ax-spacing-3);
|
||||
padding: var(--ax-spacing-3);
|
||||
gap: var(--ax-space-12);
|
||||
padding: var(--ax-space-12);
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
position: relative;
|
||||
border-radius: var(--ax-border-radius-large);
|
||||
background: transparent;
|
||||
color: var(--ax-text-accent);
|
||||
color: var(--ax-text-accent-subtle);
|
||||
|
||||
> * {
|
||||
font-weight: var(--ax-font-weight-regular);
|
||||
@@ -25,8 +25,7 @@
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: var(--ax-bg-accent-hoverA);
|
||||
color: var(--ax-text-accent-strong);
|
||||
background-color: var(--ax-bg-accent-moderate-hoverA);
|
||||
|
||||
&::before,
|
||||
&::after {
|
||||
@@ -46,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,
|
||||
@@ -58,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,
|
||||
@@ -71,11 +70,7 @@
|
||||
right: 0;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background-color: var(--ax-border-subtleA);
|
||||
}
|
||||
|
||||
.navds-accordion__item:last-child > .navds-accordion__content {
|
||||
border-bottom: 1px solid transparent;
|
||||
background-color: var(--ax-border-neutral-subtleA);
|
||||
}
|
||||
|
||||
.navds-accordion__header::after {
|
||||
@@ -101,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-subtle);
|
||||
}
|
||||
|
||||
.navds-accordion__header-chevron {
|
||||
@@ -116,67 +111,64 @@
|
||||
}
|
||||
|
||||
/* ---------------------------- Accordion content --------------------------- */
|
||||
.navds-accordion__content {
|
||||
--__acx-accordion-content-line-width: 2px;
|
||||
|
||||
padding-inline: var(--ax-spacing-6) var(--ax-spacing-3);
|
||||
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-spacing-6) var(--ax-spacing-3);
|
||||
}
|
||||
|
||||
.navds-accordion--indent > .navds-accordion__item .navds-accordion__content-inner {
|
||||
box-shadow: -2px 0 0 0 var(--ax-border-subtleA);
|
||||
padding-block: var(--ax-spacing-2);
|
||||
|
||||
/* Aligns content with heading-section */
|
||||
padding-inline: calc(var(--ax-spacing-5) + 2px) var(--ax-spacing-5);
|
||||
padding-block: var(--ax-space-8);
|
||||
padding-inline: calc(var(--ax-space-20) + 2px) var(--ax-space-20);
|
||||
|
||||
@media (forced-colors: active) {
|
||||
border-left: 1px solid canvastext;
|
||||
}
|
||||
}
|
||||
|
||||
.navds-accordion__item[data-expanded="true"] > .navds-accordion__content {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
overflow: visible;
|
||||
max-height: fit-content;
|
||||
padding-block: var(--ax-spacing-2);
|
||||
padding-block-end: var(--ax-spacing-6);
|
||||
border-color: var(--ax-border-subtleA);
|
||||
.navds-accordion--indent > .navds-accordion__item > .navds-accordion__content {
|
||||
box-shadow: -2px 0 0 0 var(--ax-border-neutral-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-neutral-subtleA);
|
||||
opacity: 1;
|
||||
|
||||
& .navds-accordion__content-inner {
|
||||
min-height: fit-content;
|
||||
}
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
border-bottom: 1px solid var(--ax-border-neutral-subtleA);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------- Accordion No Animation (defaultOpen) ---------------- */
|
||||
|
||||
.navds-accordion__item--no-animation {
|
||||
& > .navds-accordion__content {
|
||||
transition: none;
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
/* --------------------------- ActionMenu content --------------------------- */
|
||||
.navds-action-menu__content {
|
||||
overflow: hidden;
|
||||
border-radius: var(--ax-border-radius-large);
|
||||
border: 1px solid var(--ax-border-subtleA);
|
||||
border-radius: var(--ax-border-radius-xlarge);
|
||||
border: 1px solid var(--ax-border-neutral-subtleA);
|
||||
box-shadow: var(--ax-shadow-dialog);
|
||||
transition: transform 250ms cubic-bezier(0, 0, 0, 1) allow-discrete;
|
||||
|
||||
@@ -34,12 +34,12 @@
|
||||
}
|
||||
|
||||
.navds-action-menu__content > .navds-action-menu__content-inner {
|
||||
--__axc-action-menu-content-p: var(--ax-spacing-2);
|
||||
--__axc-action-menu-item-pr: var(--ax-spacing-2);
|
||||
--__axc-action-menu-item-pl: var(--ax-spacing-2);
|
||||
--__axc-action-menu-content-p: var(--ax-space-8);
|
||||
--__axc-action-menu-item-pr: var(--ax-space-8);
|
||||
--__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);
|
||||
@@ -57,17 +57,17 @@
|
||||
.navds-action-menu__item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--ax-spacing-2);
|
||||
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);
|
||||
font-size: var(--ax-font-size-medium);
|
||||
scroll-margin-block: var(--__axc-action-menu-content-p);
|
||||
line-height: 1.5;
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
text-decoration: none;
|
||||
|
||||
& svg {
|
||||
@@ -77,7 +77,7 @@
|
||||
&:focus {
|
||||
outline: none;
|
||||
background-color: var(--ax-bg-accent-moderate-hoverA);
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
}
|
||||
|
||||
&[aria-disabled="true"] {
|
||||
@@ -87,14 +87,14 @@
|
||||
}
|
||||
|
||||
.navds-action-menu__item--has-icon {
|
||||
--__axc-action-menu-item-pl: var(--ax-spacing-6);
|
||||
--__axc-action-menu-item-pl: var(--ax-space-24);
|
||||
}
|
||||
|
||||
.navds-action-menu__sub-trigger {
|
||||
--__axc-action-menu-item-pr: var(--ax-spacing-05);
|
||||
--__axc-action-menu-item-pr: var(--ax-space-2);
|
||||
|
||||
&[data-state="open"] {
|
||||
background-color: var(--ax-bg-neutral-moderate-pressed);
|
||||
background-color: var(--ax-bg-neutral-moderate-pressedA);
|
||||
}
|
||||
|
||||
&:focus {
|
||||
@@ -103,11 +103,11 @@
|
||||
}
|
||||
|
||||
.navds-action-menu__item--danger {
|
||||
color: var(--ax-text-danger);
|
||||
color: var(--ax-text-danger-subtle);
|
||||
|
||||
&:focus {
|
||||
background-color: var(--ax-bg-danger-moderate-hoverA);
|
||||
color: var(--ax-text-danger-strong);
|
||||
color: var(--ax-text-danger-subtle);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,12 +115,12 @@
|
||||
.navds-action-menu__marker {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--ax-spacing-1);
|
||||
gap: var(--ax-space-4);
|
||||
}
|
||||
|
||||
.navds-action-menu__marker--right {
|
||||
margin-left: auto;
|
||||
padding-left: var(--ax-spacing-4);
|
||||
padding-left: var(--ax-space-16);
|
||||
}
|
||||
|
||||
.navds-action-menu__marker--left {
|
||||
@@ -139,9 +139,9 @@
|
||||
/* --------------------------- ActionMenu shortcut -------------------------- */
|
||||
.navds-action-menu__shortcut {
|
||||
background-color: var(--ax-bg-neutral-moderateA);
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
border-radius: var(--ax-border-radius-small);
|
||||
padding: 0 var(--ax-spacing-1);
|
||||
padding: 0 var(--ax-space-4);
|
||||
min-width: 1.125rem;
|
||||
height: 1.125rem;
|
||||
line-height: 1;
|
||||
@@ -158,7 +158,7 @@
|
||||
min-height: calc(var(--__axc-action-menu-item-height) - 6px);
|
||||
padding-right: var(--__axc-action-menu-item-pr);
|
||||
padding-left: var(--__axc-action-menu-item-pl);
|
||||
color: var(--ax-text-subtle);
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
border-radius: var(--ax-border-radius-medium);
|
||||
user-select: none;
|
||||
cursor: default;
|
||||
@@ -167,8 +167,8 @@
|
||||
|
||||
.navds-action-menu__divider {
|
||||
height: 1px;
|
||||
margin-block: var(--ax-spacing-2);
|
||||
background-color: var(--ax-border-subtleA);
|
||||
margin-block: var(--ax-space-8);
|
||||
background-color: var(--ax-border-neutral-subtleA);
|
||||
}
|
||||
|
||||
/* -------------------------- ActionMenu indicator -------------------------- */
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
.navds-alert {
|
||||
border-radius: var(--ax-border-radius-xlarge);
|
||||
border: 1px solid;
|
||||
padding: var(--ax-spacing-4) var(--ax-spacing-5);
|
||||
padding: var(--ax-space-16) var(--ax-space-20);
|
||||
display: flex;
|
||||
gap: var(--ax-spacing-3);
|
||||
gap: var(--ax-space-12);
|
||||
align-items: center;
|
||||
|
||||
@media (forced-colors: active) {
|
||||
@@ -25,8 +25,8 @@
|
||||
}
|
||||
|
||||
.navds-alert--small {
|
||||
padding: var(--ax-spacing-3) var(--ax-spacing-4);
|
||||
gap: var(--ax-spacing-2);
|
||||
padding: var(--ax-space-12) var(--ax-space-16);
|
||||
gap: var(--ax-space-8);
|
||||
|
||||
> .navds-alert__icon {
|
||||
margin-block-start: 0;
|
||||
@@ -94,22 +94,22 @@
|
||||
|
||||
.navds-alert--close-button {
|
||||
> .navds-alert__wrapper {
|
||||
margin-block-start: var(--ax-spacing-05);
|
||||
margin-block-start: var(--ax-space-2);
|
||||
}
|
||||
|
||||
> .navds-alert__icon {
|
||||
margin-block-start: var(--ax-spacing-05);
|
||||
margin-block-start: var(--ax-space-2);
|
||||
}
|
||||
|
||||
&.navds-alert--small {
|
||||
align-items: flex-start;
|
||||
|
||||
> .navds-alert__wrapper {
|
||||
margin-block-start: var(--ax-spacing-1);
|
||||
margin-block-start: var(--ax-space-4);
|
||||
}
|
||||
|
||||
> .navds-alert__icon {
|
||||
margin-block-start: var(--ax-spacing-1);
|
||||
margin-block-start: var(--ax-space-4);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,8 @@ body,
|
||||
|
||||
/* ---------------------------- Inline utilities ---------------------------- */
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
/* CSS-layers reverses "!important" ordering, so we can't set this to important if we want to override it later. */
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* https://web.dev/prefers-reduced-motion/ */
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
--__axc-button-border-color: transparent;
|
||||
--__axc-button-border-width: 2px;
|
||||
|
||||
padding: var(--ax-spacing-3) var(--ax-spacing-5);
|
||||
border-radius: var(--ax-border-radius-medium);
|
||||
padding: var(--ax-space-12) var(--ax-space-20);
|
||||
border-radius: var(--ax-border-radius-large);
|
||||
display: inline-flex;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
@@ -13,47 +13,49 @@
|
||||
background: none;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: var(--ax-spacing-2);
|
||||
gap: var(--ax-space-8);
|
||||
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-spacing-1) var(--ax-spacing-3);
|
||||
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-spacing-05) var(--ax-spacing-2);
|
||||
gap: var(--ax-spacing-1);
|
||||
padding: var(--ax-space-2) var(--ax-space-8);
|
||||
gap: var(--ax-space-4);
|
||||
|
||||
--__axc-button-icon-size: 1.25rem;
|
||||
}
|
||||
|
||||
.navds-button--icon-only {
|
||||
padding: var(--ax-spacing-3);
|
||||
padding: var(--ax-space-12);
|
||||
|
||||
&.navds-button--small {
|
||||
padding: var(--ax-spacing-1);
|
||||
padding: var(--ax-space-4);
|
||||
}
|
||||
|
||||
&.navds-button--xsmall {
|
||||
padding: var(--ax-spacing-05);
|
||||
padding: var(--ax-space-2);
|
||||
}
|
||||
}
|
||||
|
||||
@supports not selector(:focus-visible) {
|
||||
.navds-button:focus {
|
||||
outline: 2px solid var(--ax-border-focus);
|
||||
outline: 3px solid var(--ax-border-focus);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,27 +134,23 @@
|
||||
--__axc-button-border-color: var(--ax-border-accent);
|
||||
|
||||
background-color: transparent;
|
||||
color: var(--ax-text-accent);
|
||||
color: var(--ax-text-accent-subtle);
|
||||
|
||||
&:hover {
|
||||
--__axc-button-border-color: var(--ax-border-accent-strong);
|
||||
|
||||
background-color: var(--ax-bg-accent-moderate-hoverA);
|
||||
color: var(--ax-text-accent-strong);
|
||||
}
|
||||
|
||||
&:active {
|
||||
--__axc-button-border-color: transparent;
|
||||
|
||||
background-color: var(--ax-bg-accent-strong-pressed);
|
||||
color: var(--ax-text-accent-contrast);
|
||||
background-color: var(--ax-bg-accent-moderate-pressedA);
|
||||
}
|
||||
|
||||
&:is(:disabled, .navds-button--disabled) {
|
||||
--__axc-button-border-color: var(--ax-border-accent);
|
||||
|
||||
background-color: transparent;
|
||||
color: var(--ax-text-accent);
|
||||
color: var(--ax-text-accent-subtle);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,28 +158,25 @@
|
||||
* .navds-button--secondary-neutral *
|
||||
**************************/
|
||||
.navds-button--secondary-neutral {
|
||||
--__axc-button-border-color: var(--ax-border-default);
|
||||
--__axc-button-border-color: var(--ax-border-neutral);
|
||||
|
||||
background-color: transparent;
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
|
||||
&:hover {
|
||||
--__axc-button-border-color: var(--ax-border-strong);
|
||||
--__axc-button-border-color: var(--ax-border-neutral-strong);
|
||||
|
||||
background-color: var(--ax-bg-neutral-moderate-hoverA);
|
||||
}
|
||||
|
||||
&:active {
|
||||
--__axc-button-border-color: transparent;
|
||||
|
||||
color: var(--ax-text-neutral-contrast);
|
||||
background-color: var(--ax-bg-neutral-strong-pressed);
|
||||
background-color: var(--ax-bg-neutral-moderate-pressedA);
|
||||
}
|
||||
|
||||
&:is(:disabled, .navds-button--disabled) {
|
||||
--__axc-button-border-color: var(--ax-border-neutral);
|
||||
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
@@ -191,20 +186,18 @@
|
||||
****************************/
|
||||
.navds-button--tertiary {
|
||||
background-color: transparent;
|
||||
color: var(--ax-text-accent);
|
||||
color: var(--ax-text-accent-subtle);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--ax-bg-accent-moderate-hoverA);
|
||||
color: var(--ax-text-accent-strong);
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: var(--ax-bg-accent-strong-pressed);
|
||||
color: var(--ax-text-accent-contrast);
|
||||
background-color: var(--ax-bg-accent-moderate-pressedA);
|
||||
}
|
||||
|
||||
&:is(:disabled, .navds-button--disabled) {
|
||||
color: var(--ax-text-accent);
|
||||
color: var(--ax-text-accent-subtle);
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
@@ -214,19 +207,18 @@
|
||||
****************************/
|
||||
.navds-button--tertiary-neutral {
|
||||
background-color: transparent;
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--ax-bg-neutral-moderate-hoverA);
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: var(--ax-bg-neutral-strong-pressed);
|
||||
color: var(--ax-text-neutral-contrast);
|
||||
background-color: var(--ax-bg-neutral-moderate-pressedA);
|
||||
}
|
||||
|
||||
&:is(:disabled, .navds-button--disabled) {
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
@@ -264,7 +256,7 @@
|
||||
}
|
||||
|
||||
/* Loader overrides */
|
||||
.navds-button .navds-loader {
|
||||
.navds-button > .navds-loader {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.navds-chat {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
gap: var(--ax-spacing-3);
|
||||
gap: var(--ax-space-12);
|
||||
max-width: 40.75rem;
|
||||
}
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
align-items: center;
|
||||
background-color: var(--ax-bg-raised);
|
||||
border-radius: var(--ax-border-radius-full);
|
||||
border: 1px solid var(--ax-border-subtleA);
|
||||
color: var(--ax-text-default);
|
||||
border: 1px solid var(--ax-border-neutral-subtleA);
|
||||
color: var(--ax-text-neutral);
|
||||
display: flex;
|
||||
flex-shrink: 0;
|
||||
justify-content: center;
|
||||
@@ -50,45 +50,45 @@
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--ax-spacing-3);
|
||||
gap: var(--ax-space-12);
|
||||
}
|
||||
|
||||
.navds-chat__bubble {
|
||||
padding: var(--ax-spacing-4) var(--ax-spacing-5);
|
||||
padding: var(--ax-space-16) var(--ax-space-20);
|
||||
width: fit-content;
|
||||
background-color: var(--ax-bg-raised);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--ax-spacing-2);
|
||||
gap: var(--ax-space-8);
|
||||
border-radius: var(--ax-border-radius-xlarge);
|
||||
border-bottom-left-radius: var(--ax-border-radius-small);
|
||||
border: 1px solid var(--ax-border-subtleA);
|
||||
border: 1px solid var(--ax-border-neutral-subtleA);
|
||||
}
|
||||
|
||||
.navds-chat--small .navds-chat__bubble {
|
||||
padding: var(--ax-spacing-3) var(--ax-spacing-4);
|
||||
padding: var(--ax-space-12) var(--ax-space-16);
|
||||
}
|
||||
|
||||
/* -------------------------- Chat bubble variants -------------------------- */
|
||||
.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-neutral-raised);
|
||||
background-color: var(--ax-bg-neutral-moderateA);
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------------ Chat top text ----------------------------- */
|
||||
.navds-chat__top-text {
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
display: flex;
|
||||
gap: var(--ax-spacing-2);
|
||||
gap: var(--ax-space-8);
|
||||
align-items: baseline;
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.navds-chips {
|
||||
display: flex;
|
||||
gap: var(--ax-spacing-2);
|
||||
gap: var(--ax-space-8);
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
@@ -20,16 +20,16 @@
|
||||
cursor: pointer;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: var(--ax-spacing-05);
|
||||
gap: var(--ax-space-2);
|
||||
margin: 0;
|
||||
padding: 0 var(--ax-spacing-3);
|
||||
padding: 0 var(--ax-space-12);
|
||||
text-decoration: none;
|
||||
border-radius: var(--ax-border-radius-full);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
.navds-chips--small {
|
||||
.navds-chips__chip {
|
||||
min-height: 1.5rem;
|
||||
padding: 0 var(--ax-spacing-2);
|
||||
padding: 0 var(--ax-space-8);
|
||||
}
|
||||
|
||||
.navds-chips__toggle-icon {
|
||||
@@ -51,7 +51,7 @@
|
||||
}
|
||||
|
||||
.navds-chips__toggle--with-checkmark {
|
||||
padding-left: var(--ax-spacing-1);
|
||||
padding-left: var(--ax-space-4);
|
||||
}
|
||||
|
||||
.navds-chips__removable-icon {
|
||||
@@ -64,7 +64,7 @@
|
||||
}
|
||||
|
||||
.navds-chips--icon-right {
|
||||
padding-right: var(--ax-spacing-05);
|
||||
padding-right: var(--ax-space-2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--ax-bg-accent-moderate-hover);
|
||||
@@ -92,7 +92,7 @@
|
||||
.navds-chips__toggle--neutral {
|
||||
box-shadow: inset 0 0 0 1px var(--ax-border-neutral-subtleA);
|
||||
background-color: var(--ax-bg-neutral-moderate);
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--ax-bg-neutral-moderate-hover);
|
||||
@@ -110,7 +110,7 @@
|
||||
}
|
||||
|
||||
.navds-chips--medium .navds-chips__toggle--with-checkmark {
|
||||
padding-left: var(--ax-spacing-1-alt);
|
||||
padding-left: var(--ax-space-6);
|
||||
}
|
||||
|
||||
/* -------------------------- start old CSS -------------------------- */
|
||||
@@ -148,11 +148,11 @@
|
||||
}
|
||||
|
||||
.navds-chips--icon-left {
|
||||
padding-left: var(--ax-spacing-1-alt);
|
||||
padding-left: var(--ax-space-6);
|
||||
}
|
||||
|
||||
.navds-chips--icon-right {
|
||||
padding-right: var(--ax-spacing-1-alt);
|
||||
padding-right: var(--ax-space-6);
|
||||
}
|
||||
|
||||
@media (forced-colors: active) {
|
||||
|
||||
@@ -1,124 +1,4 @@
|
||||
.navds-copybutton {
|
||||
--__axc-copybutton-padding: var(--ax-spacing-3) var(--ax-spacing-5) var(--ax-spacing-3) var(--ax-spacing-4);
|
||||
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
border-radius: var(--ax-border-radius-medium);
|
||||
padding: var(--__axc-copybutton-padding);
|
||||
display: grid;
|
||||
place-content: center;
|
||||
background-color: transparent;
|
||||
transition: color 0.2s cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||
|
||||
&.navds-copybutton--icon-only {
|
||||
--__axc-copybutton-padding: var(--ax-spacing-3);
|
||||
}
|
||||
|
||||
&.navds-copybutton--icon-right {
|
||||
--__axc-copybutton-padding: var(--ax-spacing-3) var(--ax-spacing-4) var(--ax-spacing-3) var(--ax-spacing-5);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: var(--ax-bg-neutral-moderate-hoverA);
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
outline: 2px solid var(--ax-border-focus);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
cursor: not-allowed;
|
||||
opacity: var(--ax-opacity-disabled);
|
||||
}
|
||||
|
||||
&:disabled:hover {
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
@media (forced-colors: active) {
|
||||
.navds-copybutton {
|
||||
background-color: ButtonFace;
|
||||
border: solid 1px ButtonText;
|
||||
color: ButtonText;
|
||||
|
||||
&:disabled {
|
||||
opacity: 1;
|
||||
border-color: GrayText;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------- CopyButton small size ------------------------- */
|
||||
.navds-copybutton--small {
|
||||
min-height: 2rem;
|
||||
min-width: 2rem;
|
||||
|
||||
--__axc-copybutton-padding: var(--ax-spacing-1) var(--ax-spacing-3) var(--ax-spacing-1) var(--ax-spacing-2);
|
||||
|
||||
&.navds-copybutton--icon-right {
|
||||
--__axc-copybutton-padding: var(--ax-spacing-1) var(--ax-spacing-2) var(--ax-spacing-1) var(--ax-spacing-3);
|
||||
}
|
||||
|
||||
&.navds-copybutton--icon-only {
|
||||
--__axc-copybutton-padding: var(--ax-spacing-1);
|
||||
}
|
||||
|
||||
& .navds-copybutton__icon {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
& > .navds-copybutton__content {
|
||||
gap: var(--ax-spacing-1-alt);
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------- CopyButton xsmall size ------------------------- */
|
||||
.navds-copybutton--xsmall {
|
||||
min-height: 1.5rem;
|
||||
min-width: 1.5rem;
|
||||
|
||||
--__axc-copybutton-padding: var(--ax-spacing-05) var(--ax-spacing-2) var(--ax-spacing-05) var(--ax-spacing-1);
|
||||
|
||||
&.navds-copybutton--icon-right {
|
||||
--__axc-copybutton-padding: var(--ax-spacing-05) var(--ax-spacing-1) var(--ax-spacing-05) var(--ax-spacing-2);
|
||||
}
|
||||
|
||||
&.navds-copybutton--icon-only {
|
||||
--__axc-copybutton-padding: var(--ax-spacing-05);
|
||||
}
|
||||
|
||||
& .navds-copybutton__icon {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
& > .navds-copybutton__content {
|
||||
gap: var(--ax-spacing-1);
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------- CopyButton Icon ---------------------------- */
|
||||
.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 {
|
||||
.navds-copybutton[data-active="true"] .navds-copybutton__icon {
|
||||
animation: akselCopyButtonIconAnimation 2s cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||
}
|
||||
|
||||
@@ -139,45 +19,3 @@
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------- CopyButton Action --------------------------- */
|
||||
.navds-copybutton--action {
|
||||
color: var(--ax-text-accent);
|
||||
|
||||
&.navds-copybutton--active {
|
||||
color: var(--ax-text-success);
|
||||
|
||||
&:hover {
|
||||
color: var(--ax-text-success-strong);
|
||||
}
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: var(--ax-text-accent-strong);
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
color: var(--ax-text-accent);
|
||||
}
|
||||
}
|
||||
|
||||
/* --------------------------- CopyButton Neutral --------------------------- */
|
||||
.navds-copybutton--neutral {
|
||||
color: var(--ax-text-subtle);
|
||||
|
||||
&:hover,
|
||||
&.navds-copybutton--active {
|
||||
color: var(--ax-text-default);
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
color: var(--ax-text-subtle);
|
||||
}
|
||||
}
|
||||
|
||||
.navds-copybutton__content {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: var(--ax-spacing-2);
|
||||
}
|
||||
@@ -1,23 +1,23 @@
|
||||
.navds-date {
|
||||
padding: var(--ax-spacing-4) var(--ax-spacing-3);
|
||||
padding: var(--ax-space-16) var(--ax-space-12);
|
||||
|
||||
.rdp-day_range_middle {
|
||||
&.rdp-day_disabled {
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
background: var(--ax-bg-neutral-moderateA);
|
||||
}
|
||||
|
||||
&.rdp-day_selected {
|
||||
background-color: var(--ax-bg-accent-moderateA);
|
||||
background-color: var(--ax-bg-accent-moderate-pressedA);
|
||||
box-shadow: inset 0 0 0 1px var(--ax-border-accent-subtleA);
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
}
|
||||
}
|
||||
|
||||
.rdp-month,
|
||||
&.rdp-month {
|
||||
display: grid;
|
||||
gap: var(--ax-spacing-5);
|
||||
gap: var(--ax-space-20);
|
||||
}
|
||||
|
||||
.navds-date__caption-label {
|
||||
@@ -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 {
|
||||
@@ -70,7 +68,7 @@
|
||||
cursor: not-allowed;
|
||||
text-decoration: line-through;
|
||||
background-color: var(--ax-bg-neutral-moderateA);
|
||||
color: var(--ax-text-subtle);
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
}
|
||||
|
||||
.rdp-button:where(:not(.rdp-day_selected, [disabled])):hover,
|
||||
@@ -86,7 +84,7 @@
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
display: block;
|
||||
background-color: var(--ax-text-accent);
|
||||
background-color: var(--ax-text-accent-subtle);
|
||||
border-radius: var(--ax-border-radius-full);
|
||||
content: "";
|
||||
position: absolute;
|
||||
@@ -121,14 +119,14 @@
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
gap: var(--ax-spacing-1);
|
||||
padding-inline: var(--ax-spacing-1);
|
||||
gap: var(--ax-space-4);
|
||||
padding-inline: var(--ax-space-4);
|
||||
}
|
||||
|
||||
.navds-date__caption-button {
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
}
|
||||
|
||||
.navds-date__caption__month .navds-select__container select {
|
||||
@@ -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) {
|
||||
@@ -172,11 +170,11 @@
|
||||
|
||||
.navds-date__field-input {
|
||||
&.navds-text-field__input {
|
||||
padding-right: var(--ax-spacing-12);
|
||||
padding-right: var(--ax-space-48);
|
||||
}
|
||||
|
||||
.navds-form-field--small & {
|
||||
padding-right: var(--ax-spacing-8);
|
||||
padding-right: var(--ax-space-32);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,15 +183,15 @@
|
||||
right: 0.0625rem;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
display: inline-flex;
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
background: none;
|
||||
border-radius: calc(var(--ax-border-radius-medium) - 1px);
|
||||
padding: var(--ax-spacing-3);
|
||||
border-radius: calc(var(--ax-border-radius-large) - 1px);
|
||||
padding: var(--ax-space-12);
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 1.5rem;
|
||||
@@ -202,7 +200,7 @@
|
||||
border-end-start-radius: 0;
|
||||
|
||||
.navds-form-field--small & {
|
||||
padding: var(--ax-spacing-1);
|
||||
padding: var(--ax-space-4);
|
||||
}
|
||||
|
||||
.navds-form-field--disabled & {
|
||||
@@ -230,7 +228,7 @@
|
||||
.navds-date__week-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--ax-spacing-05);
|
||||
gap: var(--ax-space-2);
|
||||
}
|
||||
|
||||
.navds-date__weeknumber {
|
||||
@@ -239,11 +237,7 @@
|
||||
|
||||
.navds-date__weeknumber-number {
|
||||
font-size: 0.875rem;
|
||||
color: var(--ax-text-subtle);
|
||||
|
||||
.navds-date__weeknumber:active & {
|
||||
color: var(--ax-text-neutral-contrast);
|
||||
}
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
}
|
||||
|
||||
.navds-date__week-wrapper {
|
||||
@@ -258,21 +252,21 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-end;
|
||||
padding: var(--ax-spacing-4);
|
||||
gap: var(--ax-spacing-2);
|
||||
padding: var(--ax-space-16);
|
||||
gap: var(--ax-space-8);
|
||||
}
|
||||
|
||||
@media (min-width: 480px) {
|
||||
.navds-date {
|
||||
padding: var(--ax-spacing-5) var(--ax-spacing-4);
|
||||
padding: var(--ax-space-20) var(--ax-space-16);
|
||||
}
|
||||
|
||||
.navds-date__modal-body {
|
||||
padding: var(--ax-spacing-6);
|
||||
padding: var(--ax-space-24);
|
||||
}
|
||||
|
||||
.navds-date__caption {
|
||||
gap: var(--ax-spacing-2);
|
||||
gap: var(--ax-space-8);
|
||||
}
|
||||
|
||||
.navds-date .rdp-button,
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
.navds-dropdown__menu {
|
||||
overflow: hidden;
|
||||
padding: var(--a-spacing-2) 0;
|
||||
color: var(--ac-dropdown-text, var(--a-text-default));
|
||||
padding: var(--ax-space-8);
|
||||
color: var(--ax-text-neutral);
|
||||
width: 27ch;
|
||||
max-height: 616px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.navds-dropdown__divider {
|
||||
margin: var(--a-spacing-3) 0;
|
||||
margin: var(--ax-space-12) 0;
|
||||
border: none;
|
||||
border-bottom: 1px solid var(--a-border-divider);
|
||||
border-bottom: 1px solid var(--ax-border-neutral-subtle);
|
||||
}
|
||||
|
||||
.navds-dropdown__menu > :not(.navds-dropdown__divider, .navds-dropdown__list) {
|
||||
margin: 0 var(--a-spacing-4) var(--a-spacing-3);
|
||||
margin: 0 var(--ax-space-16) var(--ax-space-12);
|
||||
}
|
||||
|
||||
.navds-dropdown__list {
|
||||
@@ -28,7 +28,8 @@
|
||||
}
|
||||
|
||||
.navds-dropdown__list-heading {
|
||||
margin: var(--a-spacing-1) var(--a-spacing-4) var(--a-spacing-3);
|
||||
margin-block: var(--ax-space-4) var(--ax-space-12);
|
||||
margin-inline: var(--ax-space-4);
|
||||
}
|
||||
|
||||
.navds-dropdown__item {
|
||||
@@ -36,7 +37,6 @@
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
background: transparent;
|
||||
color: var(--ac-dropdown-item-text, var(--a-text-action));
|
||||
font: inherit;
|
||||
text-decoration: none;
|
||||
text-align: left;
|
||||
@@ -44,39 +44,29 @@
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--a-spacing-2);
|
||||
padding: var(--a-spacing-1) var(--a-spacing-4);
|
||||
}
|
||||
gap: var(--ax-space-8);
|
||||
padding: var(--ax-space-4);
|
||||
border-radius: var(--ax-border-radius-medium);
|
||||
color: var(--ax-text-neutral);
|
||||
|
||||
.navds-dropdown__item:hover {
|
||||
background-color: var(--ac-dropdown-item-hover-bg, var(--a-surface-action-subtle-hover));
|
||||
color: var(--ac-dropdown-item-hover-text, var(--a-text-action-hover));
|
||||
}
|
||||
|
||||
.navds-dropdown__item:active {
|
||||
background-color: var(--ac-dropdown-item-active-bg, var(--a-surface-action-active));
|
||||
color: var(--ac-dropdown-item-active-text, var(--a-text-on-action));
|
||||
}
|
||||
|
||||
.navds-dropdown__item:focus-visible {
|
||||
outline: 2px solid transparent;
|
||||
outline-offset: -2px;
|
||||
box-shadow: inset 0 0 0 2px var(--a-border-focus);
|
||||
}
|
||||
|
||||
@supports not selector(:focus-visible) {
|
||||
.navds-dropdown__item:focus {
|
||||
outline: 2px solid transparent;
|
||||
outline-offset: -2px;
|
||||
box-shadow: inset 0 0 0 2px var(--a-border-focus);
|
||||
&:hover {
|
||||
background-color: var(--ax-bg-accent-moderate-hoverA);
|
||||
}
|
||||
}
|
||||
|
||||
.navds-dropdown__item:disabled {
|
||||
color: var(--ac-dropdown-item-text, var(--a-text-action));
|
||||
opacity: var(--ax-opacity-disabled);
|
||||
background: transparent;
|
||||
cursor: not-allowed;
|
||||
&:active {
|
||||
background-color: var(--ax-bg-accent-moderate-pressedA);
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
outline: 3px solid var(--ax-border-focus);
|
||||
outline-offset: -3px;
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
opacity: var(--ax-opacity-disabled);
|
||||
background: transparent;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
|
||||
@media (forced-colors: active) {
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
.navds-expansioncard {
|
||||
--__axc-expansioncard-border-radius: calc(var(--ax-border-radius-xlarge) - 1px);
|
||||
--__axc-expansioncard-padding-block: var(--ax-spacing-4);
|
||||
--__axc-expansioncard-padding-inline: var(--ax-spacing-5);
|
||||
--__axc-expansioncard-padding-block: var(--ax-space-20);
|
||||
--__axc-expansioncard-padding-inline: var(--ax-space-20);
|
||||
|
||||
border-radius: var(--ax-border-radius-xlarge);
|
||||
background-color: var(--ax-bg-raised);
|
||||
height: fit-content;
|
||||
border: 1px solid var(--ax-border-default);
|
||||
border: 1px solid var(--ax-border-neutral);
|
||||
|
||||
&:has(.navds-expansioncard__header:hover) {
|
||||
box-shadow: 0 0 0 1px var(--ax-border-strong);
|
||||
border-color: var(--ax-border-strong);
|
||||
box-shadow: 0 0 0 1px var(--ax-border-neutral-strong);
|
||||
border-color: var(--ax-border-neutral-strong);
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------ ExpansionCard Small-size ------------------------ */
|
||||
.navds-expansioncard--small {
|
||||
--__axc-expansioncard-padding-inline: var(--ax-spacing-4);
|
||||
--__axc-expansioncard-padding-block: var(--ax-spacing-3);
|
||||
--__axc-expansioncard-padding-inline: var(--ax-space-16);
|
||||
--__axc-expansioncard-padding-block: var(--ax-space-16);
|
||||
|
||||
& > .navds-expansioncard__header .navds-expansioncard__title--small {
|
||||
margin-top: var(--ax-spacing-05);
|
||||
margin-top: var(--ax-space-2);
|
||||
}
|
||||
|
||||
& :is(.navds-expansioncard__title--medium, .navds-expansioncard__title--large) {
|
||||
@@ -37,7 +37,7 @@
|
||||
.navds-expansioncard__header {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
gap: var(--ax-spacing-4);
|
||||
gap: var(--ax-space-16);
|
||||
padding: var(--__axc-expansioncard-padding-block) var(--__axc-expansioncard-padding-inline);
|
||||
border-radius: var(--__axc-expansioncard-border-radius);
|
||||
background-color: transparent;
|
||||
@@ -45,7 +45,7 @@
|
||||
justify-content: space-between;
|
||||
|
||||
&:hover {
|
||||
background-color: var(--ax-bg-neutral-raised-hover);
|
||||
background-color: var(--ax-bg-neutral-moderate-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-neutral-subtleA);
|
||||
bottom: 0;
|
||||
left: var(--__axc-expansioncard-padding-inline);
|
||||
height: 1px;
|
||||
@@ -76,11 +76,11 @@
|
||||
}
|
||||
|
||||
.navds-expansioncard__title--medium {
|
||||
margin-top: var(--ax-spacing-2);
|
||||
margin-top: var(--ax-space-8);
|
||||
}
|
||||
|
||||
.navds-expansioncard__title--large {
|
||||
margin-top: var(--ax-spacing-1);
|
||||
margin-top: var(--ax-space-4);
|
||||
}
|
||||
|
||||
/* ----------------------- ExpansionCard Header Button ---------------------- */
|
||||
@@ -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 */
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
.navds-combobox__wrapper {
|
||||
--__axc-combobox-icon-size: 1.5rem;
|
||||
--__axc-combobox-wrapper-inner-padding: var(--ax-spacing-2);
|
||||
--__axc-combobox-list-item-padding-block: var(--ax-spacing-3);
|
||||
--__axc-combobox-list-item-padding-inline: var(--ax-spacing-3);
|
||||
--__axc-combobox-wrapper-inner-padding: var(--ax-space-8);
|
||||
--__axc-combobox-list-item-padding-block: var(--ax-space-12);
|
||||
--__axc-combobox-list-item-padding-inline: var(--ax-space-12);
|
||||
--__axc-combobox-border-width: 1px;
|
||||
--__axc-combobox-input-height: 2rem;
|
||||
|
||||
@@ -10,20 +10,20 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
.navds-form-field--small .navds-combobox__wrapper {
|
||||
--__axc-combobox-icon-size: 1.25rem;
|
||||
--__axc-combobox-wrapper-inner-padding: var(--ax-spacing-1);
|
||||
--__axc-combobox-list-item-padding-block: var(--ax-spacing-1-alt);
|
||||
--__axc-combobox-list-item-padding-inline: var(--ax-spacing-2);
|
||||
--__axc-combobox-wrapper-inner-padding: var(--ax-space-4);
|
||||
--__axc-combobox-list-item-padding-block: var(--ax-space-6);
|
||||
--__axc-combobox-list-item-padding-inline: var(--ax-space-8);
|
||||
--__axc-combobox-input-height: 1.5rem;
|
||||
}
|
||||
|
||||
@@ -31,6 +31,10 @@
|
||||
opacity: var(--ax-opacity-disabled);
|
||||
|
||||
& .navds-combobox__wrapper {
|
||||
&:hover {
|
||||
border-color: var(--ax-border-neutral);
|
||||
}
|
||||
|
||||
& *:hover {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
@@ -59,7 +63,7 @@
|
||||
}
|
||||
|
||||
& .navds-combobox__wrapper {
|
||||
border-color: var(--ax-border-subtle);
|
||||
border-color: var(--ax-border-neutral-subtle);
|
||||
overflow: clip;
|
||||
}
|
||||
|
||||
@@ -76,18 +80,18 @@
|
||||
}
|
||||
|
||||
.navds-combobox__wrapper-inner {
|
||||
border: 1px solid var(--ax-border-default);
|
||||
border-radius: var(--ax-border-radius-medium);
|
||||
border: 1px solid var(--ax-border-neutral);
|
||||
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 {
|
||||
outline: none;
|
||||
border-color: var(--ax-border-default);
|
||||
border-color: var(--ax-border-neutral);
|
||||
}
|
||||
|
||||
&.navds-text-field__input {
|
||||
@@ -113,15 +117,19 @@
|
||||
&:hover {
|
||||
cursor: text;
|
||||
}
|
||||
|
||||
.navds-combobox--disabled &:hover {
|
||||
border-color: var(--ax-border-neutral);
|
||||
}
|
||||
}
|
||||
|
||||
.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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -175,7 +183,7 @@
|
||||
}
|
||||
|
||||
.navds-combobox__selected-options > li:only-child > & {
|
||||
margin-left: var(--ax-spacing-1);
|
||||
margin-left: var(--ax-space-4);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -207,8 +215,7 @@
|
||||
}
|
||||
|
||||
.navds-combobox__button-toggle-list {
|
||||
border-radius: var(--ax-border-radius-medium);
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@@ -219,10 +226,10 @@
|
||||
padding: 0;
|
||||
|
||||
&:hover {
|
||||
color: var(--ax-text-accent);
|
||||
color: var(--ax-text-accent-subtle);
|
||||
|
||||
&:active {
|
||||
color: var(--ax-text-accent-strong);
|
||||
color: var(--ax-text-accent);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -230,19 +237,19 @@
|
||||
/* dropdown & non selectable dropdown items */
|
||||
|
||||
.navds-combobox__list {
|
||||
max-height: 290px;
|
||||
max-height: 316px;
|
||||
overflow: clip;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 10;
|
||||
top: calc(100% + var(--ax-spacing-2));
|
||||
border: 1px solid var(--ax-border-subtleA);
|
||||
top: calc(100% + var(--ax-space-8));
|
||||
border: 1px solid var(--ax-border-neutral-subtleA);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border-radius: var(--ax-border-radius-large);
|
||||
background-color: var(--ax-bg-raised);
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
overscroll-behavior: contain;
|
||||
box-shadow: var(--ax-shadow-dialog);
|
||||
|
||||
@@ -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-spacing-2);
|
||||
margin-block: var(--ax-spacing-1);
|
||||
margin-inline: var(--ax-space-8);
|
||||
margin-block: var(--ax-space-2);
|
||||
scroll-margin-block: 8px; /* outline + outline-offset + margin-block */
|
||||
}
|
||||
|
||||
@@ -286,7 +293,7 @@
|
||||
margin: 0;
|
||||
border-radius: 0;
|
||||
border-bottom: 1px solid var(--ax-border-neutral-subtle);
|
||||
padding-block: var(--ax-spacing-2);
|
||||
padding-block: var(--ax-space-8);
|
||||
line-height: var(--ax-font-line-height-large);
|
||||
}
|
||||
|
||||
@@ -301,13 +308,12 @@
|
||||
background-color: inherit;
|
||||
align-items: stretch;
|
||||
padding: 0;
|
||||
padding-block: var(--ax-spacing-1);
|
||||
padding-block: var(--ax-space-4);
|
||||
}
|
||||
|
||||
.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-neutral);
|
||||
}
|
||||
|
||||
& svg {
|
||||
color: var(--ax-text-accent);
|
||||
color: var(--ax-text-neutral);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,14 +351,14 @@
|
||||
justify-content: flex-start;
|
||||
gap: 0.25rem;
|
||||
margin: 0;
|
||||
margin-block: calc(var(--ax-spacing-1) * -1);
|
||||
padding-block: var(--ax-spacing-4);
|
||||
margin-block-start: calc(var(--ax-space-4) * -1);
|
||||
|
||||
& svg {
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
}
|
||||
|
||||
&:only-child {
|
||||
margin-block: calc(var(--ax-space-4) * -1);
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
@@ -383,7 +390,7 @@
|
||||
}
|
||||
|
||||
.navds-combobox__selected-options {
|
||||
gap: var(--ax-spacing-1);
|
||||
gap: var(--ax-space-4);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
.navds-confirmation-panel__inner {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--a-spacing-3);
|
||||
padding: var(--a-spacing-4);
|
||||
border-radius: var(--a-border-radius-medium);
|
||||
border: 1px solid var(--ac-confirmation-panel-border, var(--a-border-warning));
|
||||
background-color: var(--ac-confirmation-panel-bg, var(--a-surface-warning-subtle));
|
||||
gap: var(--ax-space-12);
|
||||
padding: var(--ax-space-16);
|
||||
border-radius: var(--ax-border-radius-large);
|
||||
border: 1px solid var(--ax-border-default);
|
||||
background-color: var(--ax-bg-moderate);
|
||||
transition: background-color linear 100ms;
|
||||
justify-self: stretch;
|
||||
position: relative;
|
||||
@@ -15,20 +15,6 @@
|
||||
max-width: 80ch;
|
||||
}
|
||||
|
||||
.navds-confirmation-panel--checked .navds-confirmation-panel__inner {
|
||||
border-color: var(--ac-confirmation-panel-checked-border, var(--a-border-success));
|
||||
background-color: var(--ac-confirmation-panel-checked-bg, var(--a-surface-success-subtle));
|
||||
}
|
||||
|
||||
.navds-confirmation-panel--error .navds-confirmation-panel__inner {
|
||||
border-color: var(--ac-confirmation-panel-error-border, var(--a-border-danger));
|
||||
background-color: var(--ac-confirmation-panel-error-bg, var(--a-surface-danger-subtle));
|
||||
}
|
||||
|
||||
.navds-confirmation-panel--error .navds-checkbox__input:hover:not(:disabled) + .navds-checkbox__label {
|
||||
color: var(--a-text-default);
|
||||
}
|
||||
|
||||
@media (forced-colors: active) {
|
||||
.navds-confirmation-panel__inner::before {
|
||||
content: "";
|
||||
@@ -39,8 +25,8 @@
|
||||
border-left: 8px solid;
|
||||
border-color: orange;
|
||||
forced-color-adjust: none;
|
||||
border-start-start-radius: calc(var(--a-border-radius-medium) - 1px);
|
||||
border-end-start-radius: calc(var(--a-border-radius-medium) - 1px);
|
||||
border-start-start-radius: calc(var(--ax-border-radius-large) - 1px);
|
||||
border-end-start-radius: calc(var(--ax-border-radius-large) - 1px);
|
||||
}
|
||||
|
||||
.navds-confirmation-panel--checked .navds-confirmation-panel__inner::before {
|
||||
|
||||
@@ -1,38 +1,38 @@
|
||||
.navds-error-summary {
|
||||
background-color: var(--ax-bg-default);
|
||||
padding: var(--ax-spacing-4) var(--ax-spacing-5);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
.navds-error-summary--small {
|
||||
padding: var(--ax-spacing-3) var(--ax-spacing-4);
|
||||
padding: var(--ax-space-12) var(--ax-space-16);
|
||||
|
||||
& .navds-error-summary__heading {
|
||||
scroll-margin-top: var(--ax-spacing-4);
|
||||
scroll-margin-top: var(--ax-space-16);
|
||||
}
|
||||
|
||||
& > .navds-error-summary__list {
|
||||
margin: var(--ax-spacing-2) 0;
|
||||
gap: var(--ax-spacing-2);
|
||||
padding-left: var(--ax-spacing-5);
|
||||
margin: var(--ax-space-8) 0;
|
||||
gap: var(--ax-space-8);
|
||||
padding-left: var(--ax-space-20);
|
||||
}
|
||||
}
|
||||
|
||||
.navds-error-summary__heading {
|
||||
scroll-margin-top: var(--ax-spacing-6);
|
||||
scroll-margin-top: var(--ax-space-24);
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
@@ -40,10 +40,10 @@
|
||||
}
|
||||
|
||||
.navds-error-summary__list {
|
||||
margin: var(--ax-spacing-3) 0;
|
||||
margin: var(--ax-space-12) 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--ax-spacing-3);
|
||||
padding-left: var(--ax-spacing-6);
|
||||
gap: var(--ax-space-12);
|
||||
padding-left: var(--ax-space-24);
|
||||
list-style: inherit;
|
||||
}
|
||||
@@ -6,11 +6,11 @@
|
||||
}
|
||||
|
||||
.navds-fieldset > :not(:first-child, :empty) {
|
||||
margin-top: var(--ax-spacing-2);
|
||||
margin-top: var(--ax-space-8);
|
||||
}
|
||||
|
||||
.navds-fieldset__description {
|
||||
color: var(--ax-text-subtle);
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
}
|
||||
|
||||
.navds-fieldset > .navds-fieldset__description:not(:empty) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* --------------------------- FileUpload Dropzone -------------------------- */
|
||||
.navds-dropzone__area {
|
||||
--__axc-dropzone-background: var(--ax-bg-input);
|
||||
--__axc-dropzone-icon-padding: var(--ax-spacing-2);
|
||||
--__axc-dropzone-icon-padding: var(--ax-space-8);
|
||||
--__axc-dropzone-animation-length-long: 400ms;
|
||||
--__axc-dropzone-animation-length-short: 250ms;
|
||||
--__axc-dropzone-animation-ease-out: cubic-bezier(0.3, 1, 0.3, 1);
|
||||
@@ -12,13 +12,13 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
gap: var(--ax-spacing-4);
|
||||
gap: var(--ax-space-16);
|
||||
text-align: center;
|
||||
padding: var(--ax-spacing-4) var(--ax-spacing-5);
|
||||
border: 1px dashed var(--ax-border-default);
|
||||
padding: var(--ax-space-16) var(--ax-space-20);
|
||||
border: 1px dashed var(--ax-border-neutral);
|
||||
border-radius: var(--ax-border-radius-xlarge);
|
||||
background-color: var(--__axc-dropzone-background);
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
transition: background-color var(--__axc-dropzone-animation-length-short) var(--__axc-dropzone-animation-ease-out);
|
||||
cursor: pointer;
|
||||
|
||||
@@ -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-neutral-soft);
|
||||
|
||||
border-color: var(--ax-border-neutral-subtleA);
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
@@ -49,7 +53,7 @@
|
||||
}
|
||||
|
||||
& > .navds-dropzone__area::after {
|
||||
color: var(--ax-text-accent-strong);
|
||||
color: var(--ax-text-accent);
|
||||
background-color: var(--ax-bg-accent-moderateA);
|
||||
content: "";
|
||||
inset: 0;
|
||||
@@ -89,12 +93,12 @@
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.navds-dropzone__area-release {
|
||||
top: var(--ax-spacing-4);
|
||||
top: var(--ax-space-16);
|
||||
display: grid;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
@@ -130,17 +134,17 @@
|
||||
}
|
||||
|
||||
.navds-dropzone--dragging .navds-dropzone__area-release {
|
||||
color: var(--ax-text-accent-strong);
|
||||
color: var(--ax-text-accent-subtle);
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.navds-dropzone__area-disabled {
|
||||
color: var(--ax-text-subtle);
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
gap: var(--ax-spacing-2);
|
||||
gap: var(--ax-space-8);
|
||||
}
|
||||
|
||||
/* ----------------------------- FileUpload Item ---------------------------- */
|
||||
@@ -154,27 +158,27 @@ li.navds-file-item {
|
||||
|
||||
.navds-file-item__inner {
|
||||
background-color: var(--ax-bg-raised);
|
||||
border: 1px solid var(--ax-border-subtleA);
|
||||
border: 1px solid var(--ax-border-neutral-subtleA);
|
||||
outline-offset: -1px;
|
||||
transition: outline-color 250ms cubic-bezier(0, 0.3, 0.15, 1);
|
||||
border-radius: var(--ax-border-radius-xlarge);
|
||||
padding: var(--ax-spacing-3) var(--ax-spacing-4);
|
||||
padding: var(--ax-space-12) var(--ax-space-16);
|
||||
display: flex;
|
||||
gap: var(--ax-spacing-3);
|
||||
gap: var(--ax-space-12);
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.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 {
|
||||
background-color: var(--ax-bg-neutral-moderateA);
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
border-radius: var(--ax-border-radius-full);
|
||||
min-height: 2.5rem;
|
||||
min-width: 2.5rem;
|
||||
margin-top: var(--ax-spacing-05);
|
||||
margin-top: var(--ax-space-2);
|
||||
display: grid;
|
||||
place-content: center;
|
||||
transition: background-color 250ms cubic-bezier(0, 0.3, 0.15, 1);
|
||||
@@ -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-spacing-1);
|
||||
}
|
||||
}
|
||||
|
||||
.navds-file-item__error-content {
|
||||
min-height: 0;
|
||||
display: flex;
|
||||
gap: var(--ax-spacing-1);
|
||||
|
||||
& > svg {
|
||||
flex-shrink: 0;
|
||||
height: 1rem;
|
||||
margin-top: 0.1rem;
|
||||
padding-top: var(--ax-space-4);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
.navds-form-progress__bar {
|
||||
margin-bottom: var(--ax-spacing-2);
|
||||
margin-bottom: var(--ax-space-8);
|
||||
}
|
||||
|
||||
.navds-form-progress__button {
|
||||
@@ -21,37 +21,35 @@
|
||||
|
||||
.navds-form-progress__collapsible {
|
||||
display: grid;
|
||||
grid-template-rows: 0fr;
|
||||
visibility: hidden;
|
||||
overflow: hidden;
|
||||
transition: grid-template-rows 250ms cubic-bezier(0.2, 0, 0, 1);
|
||||
border: 1px solid var(--ax-border-neutral-subtleA);
|
||||
border-radius: var(--ax-border-radius-xlarge);
|
||||
background: var(--ax-bg-raised);
|
||||
padding-inline: var(--ax-space-20);
|
||||
padding-block: 0;
|
||||
opacity: 0.001;
|
||||
transition-duration: 1s;
|
||||
transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
|
||||
transition-property: margin-top, opacity, visibility, padding-block-start, grid-template-rows;
|
||||
grid-template-rows: 0fr;
|
||||
|
||||
/* border-block leaves 2px of space when closes, so offset 2px with margin */
|
||||
margin-top: -2px;
|
||||
|
||||
&[hidden] {
|
||||
display: grid !important;
|
||||
display: grid;
|
||||
}
|
||||
|
||||
&[data-state="open"] {
|
||||
margin-top: var(--ax-space-4);
|
||||
grid-template-rows: 1fr;
|
||||
visibility: visible;
|
||||
padding-block: var(--ax-space-16);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.navds-form-progress__collapsible-content {
|
||||
min-height: 0;
|
||||
opacity: 0.01;
|
||||
visibility: hidden;
|
||||
transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
|
||||
transition-duration: 250ms;
|
||||
transition-property: opacity, visibility;
|
||||
}
|
||||
|
||||
.navds-form-progress__collapsible[data-state="open"] .navds-form-progress__collapsible-content {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.navds-form-progress__stepper {
|
||||
border: 1px solid var(--ax-border-subtle);
|
||||
border-radius: var(--ax-border-radius-large);
|
||||
padding: var(--ax-spacing-4) var(--ax-spacing-5);
|
||||
margin-top: var(--ax-spacing-1);
|
||||
background: var(--ax-bg-raised);
|
||||
}
|
||||
@@ -7,48 +7,48 @@
|
||||
|
||||
.navds-form-summary__header {
|
||||
background: var(--ax-bg-neutral-moderateA);
|
||||
padding: var(--ax-spacing-4) var(--ax-spacing-6);
|
||||
padding: var(--ax-space-20) var(--ax-space-20) var(--ax-space-16) var(--ax-space-20);
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
gap: 0 var(--ax-spacing-3);
|
||||
gap: 0 var(--ax-space-12);
|
||||
}
|
||||
|
||||
@media (max-width: 479px) {
|
||||
.navds-form-summary__header {
|
||||
padding: var(--ax-spacing-3) var(--ax-spacing-4);
|
||||
padding: var(--ax-space-16) var(--ax-space-16) var(--ax-space-12) var(--ax-space-16);
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
.navds-form-summary__edit {
|
||||
flex-shrink: 0;
|
||||
margin-top: var(--ax-spacing-1);
|
||||
margin-top: var(--ax-space-4);
|
||||
align-self: flex-start;
|
||||
}
|
||||
|
||||
.navds-form-summary > .navds-form-summary__answers {
|
||||
border-top: 1px solid var(--ax-border-subtleA);
|
||||
border-top: 1px solid var(--ax-border-neutral-subtleA);
|
||||
}
|
||||
|
||||
.navds-form-summary__answers {
|
||||
padding: var(--ax-spacing-4) var(--ax-spacing-5);
|
||||
padding: var(--ax-space-16) var(--ax-space-20) var(--ax-space-20) var(--ax-space-20);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 479px) {
|
||||
.navds-form-summary__answers {
|
||||
padding: var(--ax-spacing-4);
|
||||
padding: var(--ax-space-12) var(--ax-space-16) var(--ax-space-16) var(--ax-space-16);
|
||||
}
|
||||
}
|
||||
|
||||
.navds-form-summary__answer:not(:last-child) {
|
||||
margin-bottom: var(--ax-spacing-4);
|
||||
padding-bottom: var(--ax-spacing-4);
|
||||
border-bottom: 1px solid var(--ax-border-subtleA);
|
||||
margin-bottom: var(--ax-space-16);
|
||||
padding-bottom: var(--ax-space-16);
|
||||
border-bottom: 1px solid var(--ax-border-neutral-subtleA);
|
||||
}
|
||||
|
||||
.navds-form-summary__answer:has(.navds-form-summary__answer) {
|
||||
padding-bottom: var(--ax-spacing-6);
|
||||
padding-bottom: var(--ax-space-24);
|
||||
}
|
||||
|
||||
.navds-form-summary__answer:has(.navds-form-summary__answer):last-child {
|
||||
@@ -57,22 +57,22 @@
|
||||
|
||||
@media (max-width: 479px) {
|
||||
.navds-form-summary__answer:not(:last-child) {
|
||||
margin-bottom: var(--ax-spacing-3);
|
||||
padding-bottom: var(--ax-spacing-3);
|
||||
margin-bottom: var(--ax-space-12);
|
||||
padding-bottom: var(--ax-space-12);
|
||||
}
|
||||
|
||||
.navds-form-summary__answer:has(.navds-form-summary__answer) {
|
||||
padding-bottom: var(--ax-spacing-5);
|
||||
padding-bottom: var(--ax-space-20);
|
||||
}
|
||||
}
|
||||
|
||||
.navds-form-summary__value:first-of-type {
|
||||
margin-top: var(--ax-spacing-1);
|
||||
margin-top: var(--ax-space-4);
|
||||
}
|
||||
|
||||
.navds-form-summary__value .navds-form-summary__answers {
|
||||
margin-top: var(--ax-spacing-2);
|
||||
padding: var(--ax-spacing-4) var(--ax-spacing-5);
|
||||
margin-top: var(--ax-space-8);
|
||||
padding: var(--ax-space-16) var(--ax-space-20);
|
||||
background: var(--ax-bg-info-moderateA);
|
||||
border-radius: var(--ax-border-radius-large);
|
||||
border: 1px solid var(--ax-border-info-subtleA);
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
.navds-form-field {
|
||||
display: grid;
|
||||
justify-items: start;
|
||||
gap: var(--ax-spacing-2);
|
||||
gap: var(--ax-space-8);
|
||||
}
|
||||
|
||||
.navds-form-field__description {
|
||||
margin-top: -0.375rem;
|
||||
color: var(--ax-text-subtle);
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
}
|
||||
|
||||
.navds-form-field--disabled {
|
||||
@@ -19,7 +19,7 @@
|
||||
}
|
||||
|
||||
.navds-form-field__subdescription {
|
||||
color: var(--ax-text-subtle);
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
}
|
||||
|
||||
.navds-form-field--readonly > :where(.navds-form-field__label) {
|
||||
@@ -27,8 +27,8 @@
|
||||
}
|
||||
|
||||
.navds-form-field__readonly-icon {
|
||||
margin-top: var(--ax-spacing-05);
|
||||
margin-right: var(--ax-spacing-1);
|
||||
margin-top: var(--ax-space-2);
|
||||
margin-right: var(--ax-space-4);
|
||||
flex-shrink: 0;
|
||||
align-self: flex-start;
|
||||
}
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
.navds-checkbox__label,
|
||||
.navds-radio__label {
|
||||
padding: var(--ax-spacing-3) 0;
|
||||
padding: var(--ax-space-12) 0;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
gap: var(--ax-spacing-2);
|
||||
gap: var(--ax-space-8);
|
||||
|
||||
--__axc-radio-checkbox-readonly-bg: var(--ax-bg-neutral-moderate);
|
||||
--__axc-radio-checkbox-readonly-border: var(--ax-border-subtle);
|
||||
--__axc-radio-checkbox-readonly-border: var(--ax-border-neutral-subtle);
|
||||
}
|
||||
|
||||
.navds-checkbox__label::before,
|
||||
@@ -35,7 +35,7 @@
|
||||
flex-shrink: 0;
|
||||
width: 1.5rem;
|
||||
height: 1.5rem;
|
||||
border: 2px solid var(--ax-border-default);
|
||||
border: 2px solid var(--ax-border-neutral);
|
||||
}
|
||||
|
||||
.navds-radio__label::before {
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
.navds-checkbox--small > .navds-checkbox__label,
|
||||
.navds-radio--small > .navds-radio__label {
|
||||
padding: var(--ax-spacing-1-alt) 0;
|
||||
padding: var(--ax-space-6) 0;
|
||||
}
|
||||
|
||||
.navds-checkbox--small > .navds-checkbox__label::before,
|
||||
@@ -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-spacing-1-alt), -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 {
|
||||
@@ -108,7 +124,7 @@
|
||||
color: var(--ax-bg-default);
|
||||
position: absolute;
|
||||
height: 1.5rem;
|
||||
transform: translate(var(--ax-spacing-1-alt));
|
||||
transform: translate(var(--ax-space-6));
|
||||
pointer-events: none;
|
||||
|
||||
/* Fixed edcase where when using in shadow-dom, svg will not center */
|
||||
@@ -140,8 +156,8 @@
|
||||
}
|
||||
|
||||
.navds-checkbox__input:hover:not(:disabled) + .navds-checkbox__label,
|
||||
.navds-radio__input:hover:not(:disabled) + .navds-radio__label {
|
||||
color: var(--ax-text-accent-strong);
|
||||
.navds-radio__input:hover:not(:disabled, :checked) + .navds-radio__label {
|
||||
color: var(--ax-text-accent-subtle);
|
||||
}
|
||||
|
||||
.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 {
|
||||
@@ -194,7 +209,7 @@
|
||||
|
||||
.navds-checkbox--readonly > .navds-checkbox__input:hover + .navds-checkbox__label,
|
||||
.navds-radio--readonly > .navds-radio__input:hover + .navds-radio__label {
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
}
|
||||
|
||||
.navds-checkbox--readonly > .navds-checkbox__input:not(:disabled) + .navds-checkbox__label::before,
|
||||
@@ -211,19 +226,19 @@
|
||||
}
|
||||
|
||||
.navds-checkbox--readonly > .navds-checkbox__input:checked + .navds-checkbox__label > .navds-checkbox__icon {
|
||||
color: var(--ax-text-subtle);
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
}
|
||||
|
||||
.navds-radio--readonly > .navds-radio__input:checked + .navds-radio__label::before {
|
||||
background-color: var(--ax-bg-neutral-strong);
|
||||
border-width: 0;
|
||||
box-shadow:
|
||||
inset 0 0 0 2px var(--ax-border-subtle),
|
||||
inset 0 0 0 2px var(--ax-border-neutral-subtle),
|
||||
inset 0 0 0 8px var(--ax-bg-neutral-moderate);
|
||||
}
|
||||
|
||||
.navds-checkbox--readonly > .navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
|
||||
background-color: var(--ax-text-subtle);
|
||||
.navds-checkbox--readonly > .navds-checkbox__input:indeterminate + .navds-checkbox__label > .navds-checkbox__icon-indeterminate {
|
||||
background-color: var(--ax-text-neutral-subtle);
|
||||
}
|
||||
|
||||
@media (forced-colors: active) {
|
||||
@@ -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,18 +22,18 @@
|
||||
.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;
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------------ Search input ------------------------------ */
|
||||
.navds-search__input {
|
||||
padding-right: var(--ax-spacing-10);
|
||||
padding-right: var(--ax-space-40);
|
||||
|
||||
&:focus-visible {
|
||||
outline: none;
|
||||
@@ -48,33 +48,33 @@
|
||||
}
|
||||
|
||||
.navds-search__input--simple {
|
||||
padding-left: var(--ax-spacing-10);
|
||||
padding-left: var(--ax-space-40);
|
||||
}
|
||||
|
||||
/* ------------------------------ Search sizing ----------------------------- */
|
||||
.navds-form-field--small {
|
||||
& .navds-search__input {
|
||||
padding-right: var(--ax-spacing-7);
|
||||
padding-right: var(--ax-space-28);
|
||||
}
|
||||
|
||||
& .navds-search__input--simple {
|
||||
padding-left: var(--ax-spacing-7);
|
||||
padding-left: var(--ax-space-28);
|
||||
}
|
||||
|
||||
& .navds-search__search-icon {
|
||||
left: var(--ax-spacing-1);
|
||||
left: var(--ax-space-4);
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
& .navds-search__button-clear {
|
||||
right: var(--ax-spacing-1);
|
||||
right: var(--ax-space-4);
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------------- Search icon ------------------------------ */
|
||||
.navds-search__search-icon {
|
||||
position: absolute;
|
||||
left: var(--ax-spacing-2);
|
||||
left: var(--ax-space-8);
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
pointer-events: none;
|
||||
@@ -88,7 +88,7 @@
|
||||
/* --------------------------- Search Clear-button -------------------------- */
|
||||
.navds-search__button-clear {
|
||||
position: absolute;
|
||||
right: var(--ax-spacing-2);
|
||||
right: var(--ax-space-8);
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
@@ -97,13 +97,13 @@
|
||||
.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 {
|
||||
--__axc-button-border-width: 1px;
|
||||
--__axc-button-border-color: var(--ax-border-default);
|
||||
--__axc-button-border-color: var(--ax-border-neutral);
|
||||
|
||||
&:not(:hover, :active) {
|
||||
background-color: var(--ax-bg-input);
|
||||
@@ -112,10 +112,6 @@
|
||||
&:hover:not(:disabled) {
|
||||
--__axc-button-border-color: var(--ax-border-accent-strong);
|
||||
}
|
||||
|
||||
&:active:not(:disabled) {
|
||||
--__axc-button-border-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
/* Special-case where we hover/focus input, and want the secondary-button to match input-border */
|
||||
@@ -127,13 +123,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,16 +1,16 @@
|
||||
.navds-select__input {
|
||||
appearance: none;
|
||||
background-color: var(--ax-bg-input);
|
||||
border-radius: var(--ax-border-radius-medium);
|
||||
border: 1px solid var(--ax-border-default);
|
||||
color: var(--ax-text-default);
|
||||
border-radius: var(--ax-border-radius-large);
|
||||
border: 1px solid var(--ax-border-neutral);
|
||||
color: var(--ax-text-neutral);
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
min-height: 3rem;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
padding: var(--ax-spacing-2);
|
||||
padding-right: var(--ax-spacing-10);
|
||||
padding: var(--ax-space-8);
|
||||
padding-right: var(--ax-space-40);
|
||||
|
||||
&:hover {
|
||||
border-color: var(--ax-border-accent-strong);
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -36,17 +36,17 @@
|
||||
position: relative;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
}
|
||||
|
||||
/* ------------------------------- Select Icon ------------------------------ */
|
||||
.navds-select__chevron {
|
||||
position: absolute;
|
||||
font-size: 1.5rem;
|
||||
right: var(--ax-spacing-2);
|
||||
right: var(--ax-space-8);
|
||||
pointer-events: none;
|
||||
align-self: center;
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
|
||||
@media (forced-colors: active) {
|
||||
& {
|
||||
@@ -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,
|
||||
@@ -80,16 +80,16 @@
|
||||
/* ----------------------------- Select disabled ---------------------------- */
|
||||
.navds-select__input:disabled {
|
||||
background-color: var(--ax-bg-input);
|
||||
border: 1px solid var(--ax-border-default);
|
||||
border: 1px solid var(--ax-border-neutral);
|
||||
box-shadow: none;
|
||||
cursor: not-allowed;
|
||||
|
||||
/* Chrome-fix */
|
||||
opacity: 1;
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
|
||||
& > option {
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
}
|
||||
|
||||
@media (forced-colors: active) {
|
||||
@@ -116,6 +116,6 @@
|
||||
}
|
||||
|
||||
& .navds-select__chevron {
|
||||
color: var(--ax-text-subtle);
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
}
|
||||
}
|
||||
@@ -27,35 +27,50 @@
|
||||
/* -------------------------- Switch content/label -------------------------- */
|
||||
.navds-switch__label-wrapper {
|
||||
cursor: pointer;
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
}
|
||||
|
||||
.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-spacing-2) - var(--ax-spacing-05)) 0 calc(var(--ax-spacing-2) - var(--ax-spacing-05)) 3.25rem;
|
||||
--__axc-switch-block-padding: 0.375rem;
|
||||
}
|
||||
|
||||
.navds-switch--right.navds-switch--small & {
|
||||
padding: calc(var(--ax-spacing-2) - var(--ax-spacing-05)) 3.25rem calc(var(--ax-spacing-2) - var(--ax-spacing-05)) 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-subtle);
|
||||
}
|
||||
|
||||
.navds-switch__input:disabled:hover ~ .navds-switch__label-wrapper {
|
||||
@@ -68,16 +83,16 @@
|
||||
height: 1.5rem;
|
||||
background-color: var(--ax-bg-input);
|
||||
position: absolute;
|
||||
top: var(--ax-spacing-3);
|
||||
top: var(--ax-space-12);
|
||||
left: 0;
|
||||
border-radius: var(--ax-border-radius-full);
|
||||
border: 2px solid var(--ax-border-default);
|
||||
border: 2px solid var(--ax-border-neutral);
|
||||
transition-property: background-color, border-color;
|
||||
transition-duration: 100ms;
|
||||
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
||||
|
||||
.navds-switch--small > & {
|
||||
top: var(--ax-spacing-1);
|
||||
top: var(--ax-space-4);
|
||||
}
|
||||
|
||||
.navds-switch__input:checked ~ & {
|
||||
@@ -92,7 +107,7 @@
|
||||
|
||||
.navds-switch__input:disabled ~ & {
|
||||
background-color: var(--ax-bg-input);
|
||||
border-color: var(--ax-border-default);
|
||||
border-color: var(--ax-border-neutral);
|
||||
}
|
||||
|
||||
.navds-switch__input:checked:disabled ~ & {
|
||||
@@ -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-subtle);
|
||||
width: 1.25rem;
|
||||
height: 1.25rem;
|
||||
left: 0;
|
||||
@@ -194,7 +209,7 @@
|
||||
|
||||
& > .navds-switch__input:hover ~ .navds-switch__label-wrapper,
|
||||
& .navds-switch__label-wrapper:hover {
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
}
|
||||
|
||||
& .navds-switch__label {
|
||||
@@ -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 {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
.navds-text-field__input {
|
||||
appearance: none;
|
||||
padding: var(--ax-spacing-2);
|
||||
padding: var(--ax-space-8);
|
||||
background: var(--ax-bg-input);
|
||||
border-radius: var(--ax-border-radius-medium);
|
||||
border: 1px solid var(--ax-border-default);
|
||||
border-radius: var(--ax-border-radius-large);
|
||||
border: 1px solid var(--ax-border-neutral);
|
||||
min-height: 3rem;
|
||||
width: 100%;
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
|
||||
&:hover {
|
||||
border-color: var(--ax-border-accent-strong);
|
||||
@@ -14,18 +14,18 @@
|
||||
|
||||
&: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 {
|
||||
background-color: var(--ax-bg-input);
|
||||
border-color: var(--ax-border-default);
|
||||
border-color: var(--ax-border-neutral);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
&::placeholder {
|
||||
color: var(--ax-text-neutral);
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
}
|
||||
|
||||
&[size] {
|
||||
@@ -34,13 +34,13 @@
|
||||
}
|
||||
|
||||
.navds-form-field--small .navds-text-field__input {
|
||||
padding: 0 var(--ax-spacing-2);
|
||||
padding: 0 var(--ax-space-8);
|
||||
min-height: 2rem;
|
||||
}
|
||||
|
||||
.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 {
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
/* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */
|
||||
height: var(--__axc-textarea-height);
|
||||
appearance: none;
|
||||
padding: var(--ax-spacing-2);
|
||||
padding: var(--ax-space-8);
|
||||
background-color: var(--ax-bg-input);
|
||||
border-radius: var(--ax-border-radius-medium);
|
||||
border: 1px solid var(--ax-border-default);
|
||||
border-radius: var(--ax-border-radius-large);
|
||||
border: 1px solid var(--ax-border-neutral);
|
||||
resize: none;
|
||||
width: 100%;
|
||||
display: block;
|
||||
color: var(--ax-text-default);
|
||||
color: var(--ax-text-neutral);
|
||||
|
||||
&::placeholder {
|
||||
color: var(--ax-text-subtle);
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
@@ -20,19 +20,19 @@
|
||||
}
|
||||
|
||||
&: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);
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
background-color: var(--ax-bg-input);
|
||||
border-color: var(--ax-border-default);
|
||||
border-color: var(--ax-border-neutral);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.navds-form-field--small & {
|
||||
padding: var(--ax-spacing-1-alt);
|
||||
padding: var(--ax-space-6);
|
||||
}
|
||||
|
||||
.navds-textarea--readonly & {
|
||||
@@ -44,11 +44,11 @@
|
||||
|
||||
.navds-textarea__counter {
|
||||
margin-top: -0.25rem;
|
||||
color: var(--ax-text-subtle);
|
||||
color: var(--ax-text-neutral-subtle);
|
||||
}
|
||||
|
||||
.navds-textarea__counter--error {
|
||||
color: var(--ax-text-danger);
|
||||
color: var(--ax-text-danger-subtle);
|
||||
}
|
||||
|
||||
.navds-textarea__sr-counter {
|
||||
@@ -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,5 +1,5 @@
|
||||
.navds-guide-panel {
|
||||
--__axc-guide-panel-guide-size: 3.75rem;
|
||||
--__axc-guide-panel-guide-size: 5rem;
|
||||
|
||||
position: relative;
|
||||
display: flex;
|
||||
@@ -16,8 +16,12 @@
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
&[data-poster="false"][data-responsive="false"] {
|
||||
--__axc-guide-panel-guide-size: 3.75rem;
|
||||
}
|
||||
|
||||
@media (min-width: 480px) {
|
||||
& {
|
||||
&[data-poster="false"][data-responsive="false"] {
|
||||
--__axc-guide-panel-guide-size: 5rem;
|
||||
}
|
||||
|
||||
@@ -51,23 +55,23 @@
|
||||
position: relative;
|
||||
|
||||
.navds-guide-panel:is([data-poster="true"], [data-responsive="true"]) > & {
|
||||
margin-top: var(--ax-spacing-5);
|
||||
margin-top: var(--ax-space-20);
|
||||
}
|
||||
|
||||
.navds-guide-panel[data-poster="false"] > & {
|
||||
margin-left: var(--ax-spacing-5);
|
||||
margin-left: var(--ax-space-20);
|
||||
}
|
||||
|
||||
@media (min-width: 480px) {
|
||||
.navds-guide-panel[data-responsive="true"] > & {
|
||||
margin-top: 0;
|
||||
margin-left: var(--ax-spacing-5);
|
||||
margin-left: var(--ax-space-20);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navds-guide-panel__content-inner {
|
||||
padding: var(--ax-spacing-3) var(--ax-spacing-4);
|
||||
padding: var(--ax-space-12) var(--ax-space-16);
|
||||
border-radius: var(--ax-border-radius-xlarge);
|
||||
background-color: var(--ax-bg-raised);
|
||||
position: relative;
|
||||
@@ -79,7 +83,7 @@
|
||||
|
||||
@media (min-width: 480px) {
|
||||
& {
|
||||
padding: var(--ax-spacing-4) var(--ax-spacing-5);
|
||||
padding: var(--ax-space-16) var(--ax-space-20);
|
||||
}
|
||||
|
||||
.navds-guide-panel[data-responsive="true"] & {
|
||||
@@ -94,20 +98,20 @@
|
||||
|
||||
.navds-guide-panel:is([data-poster="true"], [data-responsive="true"]) & {
|
||||
left: 50%;
|
||||
top: calc(var(--ax-spacing-4) * -1 - 2px);
|
||||
top: calc(var(--ax-space-16) * -1 - 2px);
|
||||
transform: translateX(-48%);
|
||||
}
|
||||
|
||||
.navds-guide-panel[data-poster="false"] & {
|
||||
top: calc(var(--__axc-guide-panel-guide-size) / 2);
|
||||
left: calc(var(--ax-spacing-5) * -1 - 2px);
|
||||
left: calc(var(--ax-space-20) * -1 - 2px);
|
||||
transform: translateY(-48%) rotateZ(-90deg) scaleX(-1);
|
||||
}
|
||||
|
||||
@media (min-width: 480px) {
|
||||
.navds-guide-panel[data-responsive="true"] & {
|
||||
top: calc(var(--__axc-guide-panel-guide-size) / 2);
|
||||
left: calc(var(--ax-spacing-5) * -1 - 2px);
|
||||
left: calc(var(--ax-space-20) * -1 - 2px);
|
||||
transform: translateY(-48%) rotateZ(-90deg) scaleX(-1);
|
||||
}
|
||||
}
|
||||
|
||||