mirror of
https://github.com/navikt/aksel.git
synced 2026-10-16 10:42:03 +00:00
Compare commits
18
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
33b3ac795a | ||
|
|
122477cf98 | ||
|
|
64240eb84a | ||
|
|
b5d76f7360 | ||
|
|
7244e7b148 | ||
|
|
deb4ef16fd | ||
|
|
8c5c6dde96 | ||
|
|
f5ff01c830 | ||
|
|
8ce364ec39 | ||
|
|
293b15f6bb | ||
|
|
289ce637f6 | ||
|
|
09ea18a54e | ||
|
|
936d4176f8 | ||
|
|
19e8fcaff1 | ||
|
|
4e76298a9a | ||
|
|
2f23278d53 | ||
|
|
75da983588 | ||
|
|
27c43ef5e5 |
No files matched your search
@@ -1,5 +1,9 @@
|
||||
# @navikt/aksel-icons
|
||||
|
||||
## 6.16.2
|
||||
|
||||
## 6.16.1
|
||||
|
||||
## 6.16.0
|
||||
|
||||
## 6.15.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@navikt/aksel-icons",
|
||||
"version": "6.16.0",
|
||||
"version": "6.16.2",
|
||||
"author": "Aksel | NAV",
|
||||
"homepage": "https://aksel.nav.no/ikoner",
|
||||
"repository": {
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# @navikt/aksel-stylelint
|
||||
|
||||
## 6.16.2
|
||||
|
||||
## 6.16.1
|
||||
|
||||
## 6.16.0
|
||||
|
||||
## 6.15.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@navikt/aksel-stylelint",
|
||||
"version": "6.16.0",
|
||||
"version": "6.16.2",
|
||||
"author": "Aksel | NAV",
|
||||
"homepage": "https://aksel.nav.no/grunnleggende/kode/stylelint",
|
||||
"repository": {
|
||||
@@ -35,8 +35,8 @@
|
||||
"dev": "yarn watch:lint"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@navikt/ds-css": "^6.16.0",
|
||||
"@navikt/ds-tokens": "^6.16.0",
|
||||
"@navikt/ds-css": "^6.16.2",
|
||||
"@navikt/ds-tokens": "^6.16.2",
|
||||
"concurrently": "7.2.1",
|
||||
"postcss-selector-parser": "^6.0.13",
|
||||
"postcss-value-parser": "^4.2.0",
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# @navikt/aksel
|
||||
|
||||
## 6.16.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [[`122477cf9`](https://github.com/navikt/aksel/commit/122477cf988051b09e4723696d87c0110cc8e70a)]:
|
||||
- @navikt/ds-css@6.16.2
|
||||
|
||||
## 6.16.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Aksel-CLI: Bump jscodeshift-add-imports to 1.0.11. ([#3099](https://github.com/navikt/aksel/pull/3099))
|
||||
|
||||
- Updated dependencies [[`8ce364ec3`](https://github.com/navikt/aksel/commit/8ce364ec39bceaca80973e1a059e58d477499a8c)]:
|
||||
- @navikt/ds-css@6.16.1
|
||||
|
||||
## 6.16.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@navikt/aksel",
|
||||
"version": "6.16.0",
|
||||
"version": "6.16.2",
|
||||
"description": "Aksel command line interface. Handles css-imports, codemods and more",
|
||||
"author": "Aksel | NAV designsystem team",
|
||||
"license": "MIT",
|
||||
@@ -29,8 +29,8 @@
|
||||
},
|
||||
"homepage": "https://aksel.nav.no/grunnleggende/kode/kommandolinje",
|
||||
"dependencies": {
|
||||
"@navikt/ds-css": "6.16.0",
|
||||
"axios": "1.6.0",
|
||||
"@navikt/ds-css": "6.16.2",
|
||||
"axios": "1.7.4",
|
||||
"chalk": "4.1.0",
|
||||
"clipboardy": "^2.3.0",
|
||||
"commander": "10.0.1",
|
||||
@@ -39,7 +39,7 @@
|
||||
"figlet": "1.6.0",
|
||||
"is-git-clean": "1.1.0",
|
||||
"jscodeshift": "^0.15.1",
|
||||
"jscodeshift-add-imports": "1.0.10",
|
||||
"jscodeshift-add-imports": "1.0.11",
|
||||
"lodash": "4.17.21",
|
||||
"react-scanner": "^1.1.0"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# @navikt/ds-css
|
||||
|
||||
## 6.16.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Font: Reverted change introduced in v6.14 where font locations were changed. This caused a regression where every preload-instance to old font locations no longer worked. ([#3114](https://github.com/navikt/aksel/pull/3114))
|
||||
|
||||
## 6.16.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Table: Fixed background-clipping when using ExpandableRow. ([#3095](https://github.com/navikt/aksel/pull/3095))
|
||||
|
||||
## 6.16.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
font-style: italic;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/italic-cyrillic-ext.woff2) format("woff2");
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
font-style: italic;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/italic-cyrillic.woff2) format("woff2");
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
font-style: italic;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/italic-latin-ext.woff2) format("woff2");
|
||||
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,
|
||||
U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@@ -35,7 +35,7 @@
|
||||
font-style: italic;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/italic-latin.woff2) format("woff2");
|
||||
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,
|
||||
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@@ -46,7 +46,7 @@
|
||||
font-style: normal;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/normal-cyrillic-ext.woff2) format("woff2");
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
font-style: normal;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/normal-cyrillic.woff2) format("woff2");
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
font-style: normal;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/normal-latin-ext.woff2) format("woff2");
|
||||
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,
|
||||
U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@@ -77,7 +77,7 @@
|
||||
font-style: normal;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/normal-latin.woff2) format("woff2");
|
||||
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,
|
||||
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@@ -90,7 +90,7 @@
|
||||
font-style: italic;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/italic-latin-ext.woff2) format("woff2");
|
||||
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,
|
||||
U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@@ -101,7 +101,7 @@
|
||||
font-style: italic;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/italic-latin.woff2) format("woff2");
|
||||
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,
|
||||
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@@ -112,7 +112,7 @@
|
||||
font-style: normal;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/normal-latin-ext.woff2) format("woff2");
|
||||
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,
|
||||
U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
@@ -123,7 +123,7 @@
|
||||
font-style: normal;
|
||||
font-weight: 400 600;
|
||||
font-display: swap;
|
||||
src: url(https://cdn.nav.no/aksel/fonts/SourceSans3/normal-latin.woff2) format("woff2");
|
||||
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,
|
||||
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@navikt/ds-css",
|
||||
"version": "6.16.0",
|
||||
"version": "6.16.2",
|
||||
"description": "CSS for NAV Designsystem",
|
||||
"author": "Aksel | NAV designsystem team",
|
||||
"keywords": [
|
||||
@@ -27,7 +27,7 @@
|
||||
"css:get-version": "node config/get-version.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@navikt/ds-tokens": "^6.16.0",
|
||||
"@navikt/ds-tokens": "^6.16.2",
|
||||
"cssnano": "6.0.0",
|
||||
"fast-glob": "3.2.11",
|
||||
"lodash": "4.17.21",
|
||||
|
||||
@@ -176,9 +176,8 @@
|
||||
}
|
||||
|
||||
.navds-table__toggle-expand-cell {
|
||||
padding: 0 var(--a-spacing-2);
|
||||
position: relative;
|
||||
width: 2.5rem;
|
||||
padding: 0;
|
||||
width: 3rem;
|
||||
}
|
||||
|
||||
.navds-table--large .navds-table__toggle-expand-cell {
|
||||
@@ -193,20 +192,25 @@
|
||||
display: grid;
|
||||
place-content: center;
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
background: transparent;
|
||||
border: none;
|
||||
border-radius: var(--a-border-radius-medium);
|
||||
height: 2rem;
|
||||
width: 2rem;
|
||||
font-size: 1.5rem;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.navds-table__expandable-icon {
|
||||
transition: transform 150ms ease-in-out;
|
||||
}
|
||||
|
||||
.navds-table__toggle-expand-cell:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.navds-table__toggle-expand-button:hover,
|
||||
.navds-table__toggle-expand-cell:hover > .navds-table__toggle-expand-button,
|
||||
.navds-table__expandable-row--clickable:hover .navds-table__toggle-expand-button {
|
||||
background-color: var(--a-surface-hover);
|
||||
}
|
||||
@@ -235,16 +239,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.navds-table__toggle-expand-button::after {
|
||||
inset: 0;
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.navds-table__expanded-row-cell {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# @navikt/ds-react
|
||||
|
||||
## 6.16.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies []:
|
||||
- @navikt/ds-tokens@6.16.2
|
||||
- @navikt/aksel-icons@6.16.2
|
||||
|
||||
## 6.16.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Table: Corrected the type of onSortChange ([#3103](https://github.com/navikt/aksel/pull/3103))
|
||||
|
||||
- :adhesive_bandage: Combobox: Placeholder goes away when an option is selected ([#3101](https://github.com/navikt/aksel/pull/3101))
|
||||
|
||||
- Table: Fixed background-clipping when using ExpandableRow. ([#3095](https://github.com/navikt/aksel/pull/3095))
|
||||
|
||||
- Updated dependencies []:
|
||||
- @navikt/ds-tokens@6.16.1
|
||||
- @navikt/aksel-icons@6.16.1
|
||||
|
||||
## 6.16.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@navikt/ds-react",
|
||||
"version": "6.16.0",
|
||||
"version": "6.16.2",
|
||||
"description": "React components from the Norwegian Labour and Welfare Administration.",
|
||||
"author": "Aksel, a team part of the Norwegian Labour and Welfare Administration.",
|
||||
"license": "MIT",
|
||||
@@ -594,8 +594,8 @@
|
||||
"dependencies": {
|
||||
"@floating-ui/react": "0.25.4",
|
||||
"@floating-ui/react-dom": "^2.0.9",
|
||||
"@navikt/aksel-icons": "^6.16.0",
|
||||
"@navikt/ds-tokens": "^6.16.0",
|
||||
"@navikt/aksel-icons": "^6.16.2",
|
||||
"@navikt/ds-tokens": "^6.16.2",
|
||||
"clsx": "^2.1.0",
|
||||
"date-fns": "^3.0.0",
|
||||
"react-day-picker": "8.10.0"
|
||||
|
||||
@@ -230,6 +230,7 @@ const Input = forwardRef<HTMLInputElement, InputProps>(
|
||||
aria-activedescendant={activeDecendantId}
|
||||
aria-describedby={ariaDescribedBy}
|
||||
aria-invalid={inputProps["aria-invalid"]}
|
||||
placeholder={selectedOptions.length ? undefined : rest.placeholder}
|
||||
className={cl(
|
||||
inputClassName,
|
||||
"navds-combobox__input",
|
||||
|
||||
@@ -35,7 +35,11 @@ const options = [
|
||||
];
|
||||
|
||||
export const Default: StoryFunction = (props) => (
|
||||
<UNSAFE_Combobox {...props} id="combobox" />
|
||||
<UNSAFE_Combobox
|
||||
{...props}
|
||||
maxSelected={{ limit: Number(props.maxSelected) }}
|
||||
id="combobox"
|
||||
/>
|
||||
);
|
||||
|
||||
Default.args = {
|
||||
@@ -51,6 +55,9 @@ Default.argTypes = {
|
||||
description: {
|
||||
control: { type: "text" },
|
||||
},
|
||||
placeholder: {
|
||||
control: { type: "text" },
|
||||
},
|
||||
disabled: {
|
||||
control: { type: "boolean" },
|
||||
},
|
||||
|
||||
@@ -112,6 +112,7 @@ export const ExpandableRow: ExpandableRowType = forwardRef(
|
||||
className={cl("navds-table__toggle-expand-cell", {
|
||||
"navds-table__toggle-expand-cell--open": _open,
|
||||
})}
|
||||
onClick={expansionHandler}
|
||||
>
|
||||
{!expansionDisabled && (
|
||||
<button
|
||||
|
||||
@@ -29,7 +29,7 @@ export interface TableProps
|
||||
/**
|
||||
* Callback whens sort state changes
|
||||
*/
|
||||
onSortChange?: (sortKey?: string) => void;
|
||||
onSortChange?: (sortKey: string) => void;
|
||||
}
|
||||
|
||||
export interface TableType
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# @navikt/ds-tailwind
|
||||
|
||||
## 6.16.2
|
||||
|
||||
## 6.16.1
|
||||
|
||||
## 6.16.0
|
||||
|
||||
## 6.15.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@navikt/ds-tailwind",
|
||||
"version": "6.16.0",
|
||||
"version": "6.16.2",
|
||||
"description": "Tailwind config based on @navikt/ds-tokens",
|
||||
"author": "Aksel | NAV designsystem team",
|
||||
"keywords": [
|
||||
@@ -25,7 +25,7 @@
|
||||
"directory": "@navikt/core/tailwind"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@navikt/ds-tokens": "^6.16.0",
|
||||
"@navikt/ds-tokens": "^6.16.2",
|
||||
"color": "4.2.3",
|
||||
"lodash": "^4.17.21",
|
||||
"tailwindcss": "^3.3.3",
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# @navikt/ds-tokens
|
||||
|
||||
## 6.16.2
|
||||
|
||||
## 6.16.1
|
||||
|
||||
## 6.16.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@navikt/ds-tokens",
|
||||
"version": "6.16.0",
|
||||
"version": "6.16.2",
|
||||
"description": "Design-tokens for NAV designsystem",
|
||||
"author": "Aksel | NAV designsystem team",
|
||||
"keywords": [
|
||||
|
||||
+15
-1
@@ -8,16 +8,30 @@
|
||||
|
||||
### @navikt/ds-react
|
||||
|
||||
- Primitives: Added `gridColumn`-prop for more grid alignment control. ([#3082](https://github.com/navikt/aksel/pull/3082))
|
||||
- Table: Corrected the type of onSortChange ([#3103](https://github.com/navikt/aksel/pull/3103))
|
||||
|
||||
- :adhesive_bandage: Combobox: Placeholder goes away when an option is selected ([#3101](https://github.com/navikt/aksel/pull/3101))
|
||||
|
||||
- Table: Fixed background-clipping when using ExpandableRow. ([#3095](https://github.com/navikt/aksel/pull/3095))
|
||||
|
||||
* Primitives: Added `gridColumn`-prop for more grid alignment control. ([#3082](https://github.com/navikt/aksel/pull/3082))
|
||||
|
||||
### @navikt/ds-css
|
||||
|
||||
- Font: Reverted change introduced in v6.14 where font locations were changed. This caused a regression where every preload-instance to old font locations no longer worked. ([#3114](https://github.com/navikt/aksel/pull/3114))
|
||||
|
||||
* Table: Fixed background-clipping when using ExpandableRow. ([#3095](https://github.com/navikt/aksel/pull/3095))
|
||||
|
||||
- Primitives: Added `gridColumn`-prop for more grid alignment control. ([#3082](https://github.com/navikt/aksel/pull/3082))
|
||||
|
||||
* FormSummary: Added background color ([#3093](https://github.com/navikt/aksel/pull/3093))
|
||||
|
||||
* Modal: Added scroll shadows ([#3083](https://github.com/navikt/aksel/pull/3083))
|
||||
|
||||
### @navikt/aksel
|
||||
|
||||
- Aksel-CLI: Bump jscodeshift-add-imports to 1.0.11. ([#3099](https://github.com/navikt/aksel/pull/3099))
|
||||
|
||||
## 6.15
|
||||
|
||||
### @navikt/ds-react
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
"playroom"
|
||||
],
|
||||
"dependencies": {
|
||||
"@navikt/aksel-icons": "^6.16.0",
|
||||
"@navikt/ds-css": "^6.16.0",
|
||||
"@navikt/ds-react": "^6.16.0",
|
||||
"@navikt/ds-tailwind": "^6.16.0",
|
||||
"@navikt/ds-tokens": "^6.16.0"
|
||||
"@navikt/aksel-icons": "^6.16.2",
|
||||
"@navikt/ds-css": "^6.16.2",
|
||||
"@navikt/ds-react": "^6.16.2",
|
||||
"@navikt/ds-tailwind": "^6.16.2",
|
||||
"@navikt/ds-tokens": "^6.16.2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
import type { Meta, StoryObj } from "@storybook/react";
|
||||
import { AkselTheme, getBlocks } from "@/sb-util";
|
||||
import Attachment from "./Attachment";
|
||||
|
||||
const meta = {
|
||||
title: "Sanity-modules/Attachment",
|
||||
component: Attachment,
|
||||
tags: ["autodocs"],
|
||||
} satisfies Meta<typeof Attachment>;
|
||||
|
||||
export default meta;
|
||||
type Story = StoryObj<typeof meta>;
|
||||
|
||||
export const Aksel: Story = {
|
||||
args: {
|
||||
node: {
|
||||
title: "NAV-logo (for digitale flater)",
|
||||
body: getBlocks({ length: 1 }),
|
||||
downloadLink: "1234.zip",
|
||||
fileName: "NAV logopakke digitale flater",
|
||||
size: "4321",
|
||||
},
|
||||
},
|
||||
decorators: [AkselTheme],
|
||||
};
|
||||
|
||||
export const NoBody: Story = {
|
||||
args: {
|
||||
node: {
|
||||
title: "NAV-logo (for digitale flater)",
|
||||
downloadLink: "1234.zip",
|
||||
fileName: "NAV logopakke digitale flater",
|
||||
size: "4321",
|
||||
},
|
||||
},
|
||||
decorators: [AkselTheme],
|
||||
};
|
||||
@@ -0,0 +1,74 @@
|
||||
import { useId } from "react";
|
||||
import { DownloadIcon } from "@navikt/aksel-icons";
|
||||
import { Heading, Link } from "@navikt/ds-react";
|
||||
import ErrorBoundary from "@/error-boundary";
|
||||
import { SanityBlockContent } from "@/sanity-block";
|
||||
|
||||
type AttachmentProps = {
|
||||
node: {
|
||||
title?: string;
|
||||
body?: any[];
|
||||
downloadLink: string;
|
||||
fileName: string;
|
||||
size: string;
|
||||
};
|
||||
};
|
||||
|
||||
const Attachment = ({ node }: AttachmentProps) => {
|
||||
const id = useId();
|
||||
|
||||
if (!node.title || !node.downloadLink || !node.fileName || !node.size) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const filetype = node.downloadLink.split(".").at(-1);
|
||||
|
||||
return (
|
||||
<section
|
||||
aria-labelledby={id}
|
||||
className="mb-12 flex max-w-2xl gap-2 rounded-lg bg-pink-100 px-6 py-4 ring-1 ring-inset ring-pink-300"
|
||||
>
|
||||
<span className="-mt-[1px] grid h-[1.625rem] shrink-0 place-content-center text-2xl">
|
||||
<DownloadIcon aria-hidden />
|
||||
</span>
|
||||
<div>
|
||||
<Heading size="small" level="2" id={id} aria-hidden>
|
||||
{node.title}
|
||||
</Heading>
|
||||
{node.body && (
|
||||
<SanityBlockContent blocks={node.body} className="mt-2" />
|
||||
)}
|
||||
|
||||
<Link
|
||||
href={`${node.downloadLink}?dl=${node.fileName}.${filetype}`}
|
||||
className="mt-2 text-lg"
|
||||
rel="noreferrer noopener"
|
||||
download={node.fileName}
|
||||
>
|
||||
{`${node.fileName}.${filetype} (${bytesToSize(parseInt(node.size))})`}
|
||||
</Link>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
};
|
||||
|
||||
/* https://gist.github.com/lanqy/5193417?permalink_comment_id=3874119 */
|
||||
function bytesToSize(bytes: number) {
|
||||
const units = ["byte", "kilobyte", "megabyte"];
|
||||
const unit = Math.floor(Math.log(bytes) / Math.log(1024));
|
||||
return new Intl.NumberFormat("nb-NO", {
|
||||
style: "unit",
|
||||
minimumFractionDigits: 0,
|
||||
maximumFractionDigits: 0,
|
||||
roundingMode: "ceil",
|
||||
unit: units[unit],
|
||||
}).format(bytes / 1024 ** unit);
|
||||
}
|
||||
|
||||
export default function Component(props: AttachmentProps) {
|
||||
return (
|
||||
<ErrorBoundary boundaryName="Attachment">
|
||||
<Attachment {...props} />
|
||||
</ErrorBoundary>
|
||||
);
|
||||
}
|
||||
+2
-1
@@ -29,10 +29,11 @@ export const Designsystem: Story = {
|
||||
index: 1,
|
||||
sandboxBase64: "fakebase64",
|
||||
sandboxEnabled: true,
|
||||
description:
|
||||
"Tekst før lenke [Aksel-lenke](https://aksel.nav.no/) tekst etter lenke.",
|
||||
},
|
||||
{
|
||||
_key: getKey(),
|
||||
description: "Testdescription",
|
||||
innhold:
|
||||
'import { Button } from "@navikt/ds-react";\n\nconst Example = () => {\n return (\n <div className="flex flex-wrap gap-2">\n <Button variant="primary-neutral">Primary</Button>\n <Button variant="secondary-neutral">Secondary</Button>\n <Button variant="tertiary-neutral">Tertiary</Button>\n </div>\n );\n};',
|
||||
navn: "neutral",
|
||||
|
||||
@@ -11,6 +11,7 @@ import { BodyLong, Button, Chips, HStack } from "@navikt/ds-react";
|
||||
import SnippetLazy from "@/cms/code-snippet/SnippetLazy";
|
||||
import ErrorBoundary from "@/error-boundary";
|
||||
import { CodeExamplesT } from "@/types";
|
||||
import { TextWithMarkdownLink } from "@/web/TextWithMarkdownLink";
|
||||
import { CodeSandbox } from "./parts/CodeSandbox";
|
||||
import { Sandbox } from "./parts/Sandbox";
|
||||
|
||||
@@ -129,7 +130,9 @@ const ComponentExamples = ({ node }: CodeExamplesProps) => {
|
||||
})}
|
||||
>
|
||||
{fil?.description && (
|
||||
<BodyLong className="mb-2">{fil.description}</BodyLong>
|
||||
<BodyLong className="mb-2">
|
||||
<TextWithMarkdownLink>{fil.description}</TextWithMarkdownLink>
|
||||
</BodyLong>
|
||||
)}
|
||||
|
||||
{active === fil.navn && (
|
||||
|
||||
@@ -5,7 +5,7 @@ import { SanityBlockContent } from "@/sanity-block";
|
||||
type ExpansionCardProps = {
|
||||
node: {
|
||||
heading: string;
|
||||
heading_level: "h3" | "h4";
|
||||
heading_level: "h2" | "h3" | "h4";
|
||||
description?: string;
|
||||
body: any[];
|
||||
};
|
||||
@@ -16,6 +16,12 @@ const ExpansionCard = ({ node }: ExpansionCardProps) => {
|
||||
return null;
|
||||
}
|
||||
|
||||
const cardSize = {
|
||||
h2: "large",
|
||||
h3: "medium",
|
||||
h4: "small",
|
||||
} as const;
|
||||
|
||||
return (
|
||||
<DsExpansionCard
|
||||
id="aksel-expansioncard"
|
||||
@@ -25,7 +31,8 @@ const ExpansionCard = ({ node }: ExpansionCardProps) => {
|
||||
<DsExpansionCard.Header>
|
||||
<DsExpansionCard.Title
|
||||
as={node.heading_level}
|
||||
size={node.heading_level === "h3" ? "medium" : "small"}
|
||||
size={cardSize[node.heading_level]}
|
||||
className="text-aksel-heading"
|
||||
>
|
||||
{node.heading}
|
||||
</DsExpansionCard.Title>
|
||||
|
||||
@@ -2,7 +2,7 @@ import ErrorBoundary from "@/error-boundary";
|
||||
import { SanityBlockContent } from "@/sanity-block";
|
||||
import { AkselGrunnleggendeDocT, AkselKomponentDocT } from "@/types";
|
||||
import { List, ListItem } from "@/web/List";
|
||||
import { markdownLink } from "./markdown-link";
|
||||
import { TextWithMarkdownLink } from "@/web/TextWithMarkdownLink";
|
||||
|
||||
type IntroProps = {
|
||||
node: AkselKomponentDocT["intro"] | AkselGrunnleggendeDocT["intro"];
|
||||
@@ -25,7 +25,7 @@ const Intro = ({ node, internal }: IntroProps) => {
|
||||
{internal && <ListItem icon>Bruk på interne flater</ListItem>}
|
||||
{node.brukes_til.map((x) => (
|
||||
<ListItem icon key={x}>
|
||||
{markdownLink(x)}
|
||||
<TextWithMarkdownLink>{x}</TextWithMarkdownLink>
|
||||
</ListItem>
|
||||
))}
|
||||
</List>
|
||||
@@ -33,7 +33,7 @@ const Intro = ({ node, internal }: IntroProps) => {
|
||||
<List title="Uegnet til:">
|
||||
{node.brukes_ikke_til.map((x) => (
|
||||
<ListItem icon key={x}>
|
||||
{markdownLink(x)}
|
||||
<TextWithMarkdownLink>{x}</TextWithMarkdownLink>
|
||||
</ListItem>
|
||||
))}
|
||||
</List>
|
||||
|
||||
@@ -8,6 +8,7 @@ import { Children } from "react";
|
||||
import { BodyLong, Detail, Heading } from "@navikt/ds-react";
|
||||
import Accordion from "@/cms/accordion/Accordion";
|
||||
import Alert from "@/cms/alert/Alert";
|
||||
import Attachment from "@/cms/attachment/Attachment";
|
||||
import Bilde from "@/cms/bilde/Bilde";
|
||||
import InnholdsKort from "@/cms/cards/InnholdsKort";
|
||||
import CodeExamples from "@/cms/code-examples/CodeExamples";
|
||||
@@ -48,6 +49,7 @@ const serializers: Partial<PortableTextReactComponents> = {
|
||||
tips: ({ value }) => <Tips node={value} />,
|
||||
kode_eksempler: ({ value }) => <CodeExamples node={value} />,
|
||||
exampletext_block: ({ value }) => <ExampletextBlock node={value} />,
|
||||
attachment: ({ value }) => <Attachment node={value} />,
|
||||
},
|
||||
unknownType: () => null,
|
||||
block: {
|
||||
|
||||
+4
-4
@@ -5,7 +5,7 @@ import AkselLink from "@/web/AkselLink";
|
||||
* Splits a string into text and links,
|
||||
* and returns an array of React elements.
|
||||
*/
|
||||
function markdownLink(input: string) {
|
||||
const TextWithMarkdownLink = ({ children: input }: { children: string }) => {
|
||||
const regex = /\[([^\]]+)\]\(([^\s)]+)\)/g;
|
||||
let lastIndex = 0;
|
||||
const elements: React.ReactNode[] = [];
|
||||
@@ -28,7 +28,7 @@ function markdownLink(input: string) {
|
||||
elements.push(input.slice(lastIndex));
|
||||
}
|
||||
|
||||
return elements;
|
||||
}
|
||||
return <>{elements}</>;
|
||||
};
|
||||
|
||||
export { markdownLink };
|
||||
export { TextWithMarkdownLink };
|
||||
+3
-3
@@ -16,9 +16,9 @@ export const SuggestionBlockGhPages = ({
|
||||
Samarbeid
|
||||
</Heading>
|
||||
<BodyLong className="mt-2">
|
||||
Malen er klar til bruk. Når du har fått prøvd den og høstet erfaringer
|
||||
ønsker vi å lære av din innsikt. Delta i diskusjonen og bli med på å
|
||||
forbedre malen.
|
||||
Retningslinjene er klare til bruk. Når du har fått prøvd dem og høstet
|
||||
erfaringer ønsker vi å lære av din innsikt. Delta i diskusjonen og bli
|
||||
med på å forbedre retningslinjene.
|
||||
</BodyLong>
|
||||
<Button
|
||||
variant="secondary-neutral"
|
||||
|
||||
@@ -4,10 +4,10 @@ import { withDsExample } from "@/web/examples/withDsExample";
|
||||
const Example = () => {
|
||||
return (
|
||||
<Select
|
||||
label="Hvilket land har du bosted i?"
|
||||
label="Velg bostedsland"
|
||||
description="Velg det landet du tilbringer mest tid."
|
||||
>
|
||||
<option value="">Velg land</option>
|
||||
<option value="">- Velg land -</option>
|
||||
<option value="norge">Norge</option>
|
||||
<option value="sverige">Sverige</option>
|
||||
<option value="danmark">Danmark</option>
|
||||
|
||||
@@ -3,8 +3,8 @@ import { withDsExample } from "@/web/examples/withDsExample";
|
||||
|
||||
const Example = () => {
|
||||
return (
|
||||
<Select label="Hvilket land har du bosted i?" disabled>
|
||||
<option value="">Velg land</option>
|
||||
<Select label="Velg bostedsland" disabled>
|
||||
<option value="">- Velg land -</option>
|
||||
<option value="norge">Norge</option>
|
||||
<option value="sverige">Sverige</option>
|
||||
<option value="danmark">Danmark</option>
|
||||
|
||||
@@ -4,10 +4,10 @@ import { withDsExample } from "@/web/examples/withDsExample";
|
||||
const Example = () => {
|
||||
return (
|
||||
<Select
|
||||
label="Hvilket land har du bosted i?"
|
||||
label="Velg bostedsland"
|
||||
error="Adressen matcher ikke landet du har satt som bosted."
|
||||
>
|
||||
<option value="">Velg land</option>
|
||||
<option value="">- Velg land -</option>
|
||||
<option value="norge">Norge</option>
|
||||
<option value="sverige">Sverige</option>
|
||||
<option value="danmark">Danmark</option>
|
||||
|
||||
@@ -3,8 +3,8 @@ import { withDsExample } from "@/web/examples/withDsExample";
|
||||
|
||||
const Example = () => {
|
||||
return (
|
||||
<Select label="Hvilket land har du bosted i?" hideLabel>
|
||||
<option value="">Velg land</option>
|
||||
<Select label="Velg bostedsland" hideLabel>
|
||||
<option value="">- Velg land -</option>
|
||||
<option value="norge">Norge</option>
|
||||
<option value="sverige">Sverige</option>
|
||||
<option value="danmark">Danmark</option>
|
||||
|
||||
@@ -3,8 +3,8 @@ import { withDsExample } from "@/web/examples/withDsExample";
|
||||
|
||||
const Example = () => {
|
||||
return (
|
||||
<Select label="Hvilket land har du bosted i?">
|
||||
<option value="">Velg land</option>
|
||||
<Select label="Velg bostedsland">
|
||||
<option value="">- Velg land -</option>
|
||||
<option value="norge">Norge</option>
|
||||
<option value="sverige">Sverige</option>
|
||||
<option value="danmark">Danmark</option>
|
||||
|
||||
@@ -3,8 +3,8 @@ import { withDsExample } from "@/web/examples/withDsExample";
|
||||
|
||||
const Example = () => {
|
||||
return (
|
||||
<Select label="Hvilket land har du bosted i?" readOnly value="sverige">
|
||||
<option value="">Velg land</option>
|
||||
<Select label="Velg bostedsland" readOnly value="sverige">
|
||||
<option value="">- Velg land -</option>
|
||||
<option value="norge">Norge</option>
|
||||
<option value="sverige">Sverige</option>
|
||||
<option value="danmark">Danmark</option>
|
||||
|
||||
@@ -3,8 +3,8 @@ import { withDsExample } from "@/web/examples/withDsExample";
|
||||
|
||||
const Example = () => {
|
||||
return (
|
||||
<Select label="Hvilket land har du bosted i?" size="small">
|
||||
<option value="">Velg land</option>
|
||||
<Select label="Velg bostedsland" size="small">
|
||||
<option>- Velg land -</option>
|
||||
<option value="norge">Norge</option>
|
||||
<option value="sverige">Sverige</option>
|
||||
<option value="danmark">Danmark</option>
|
||||
|
||||
@@ -16,17 +16,17 @@ const Example = () => {
|
||||
<Tabs.Tab
|
||||
value="logg"
|
||||
label="Logg"
|
||||
icon={<ClockDashedIcon title="historielogg" aria-hidden />}
|
||||
icon={<ClockDashedIcon aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="inbox"
|
||||
label="Inbox"
|
||||
icon={<InboxDownIcon title="inbox" aria-hidden />}
|
||||
icon={<InboxDownIcon aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="sendt"
|
||||
label="Sendt"
|
||||
icon={<PaperplaneIcon title="sendt" aria-hidden />}
|
||||
icon={<PaperplaneIcon aria-hidden />}
|
||||
/>
|
||||
</Tabs.List>
|
||||
<Tabs.Panel value="logg" className="h-24 w-full bg-gray-50 p-4">
|
||||
|
||||
@@ -13,17 +13,17 @@ const Example = () => {
|
||||
<Tabs.Tab
|
||||
value="logg"
|
||||
label="Logg"
|
||||
icon={<ClockDashedIcon title="historielogg" aria-hidden />}
|
||||
icon={<ClockDashedIcon aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="inbox"
|
||||
label="Inbox"
|
||||
icon={<InboxDownIcon title="inbox" aria-hidden />}
|
||||
icon={<InboxDownIcon aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="sendt"
|
||||
label="Sendt"
|
||||
icon={<PaperplaneIcon title="sendt" aria-hidden />}
|
||||
icon={<PaperplaneIcon aria-hidden />}
|
||||
/>
|
||||
</Tabs.List>
|
||||
<Tabs.Panel value="logg" className="h-24 w-full bg-gray-50 p-4">
|
||||
|
||||
@@ -13,17 +13,17 @@ const Example = () => {
|
||||
<Tabs.Tab
|
||||
value="logg"
|
||||
label="Logg"
|
||||
icon={<ClockDashedIcon title="historielogg" aria-hidden />}
|
||||
icon={<ClockDashedIcon aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="inbox"
|
||||
label="Inbox"
|
||||
icon={<InboxDownIcon title="inbox" aria-hidden />}
|
||||
icon={<InboxDownIcon aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="sendt"
|
||||
label="Sendt"
|
||||
icon={<PaperplaneIcon title="sendt" aria-hidden />}
|
||||
icon={<PaperplaneIcon aria-hidden />}
|
||||
/>
|
||||
</Tabs.List>
|
||||
<Tabs.Panel value="logg" className="h-24 w-full bg-gray-50 p-4">
|
||||
@@ -49,4 +49,5 @@ export const Demo = {
|
||||
|
||||
export const args = {
|
||||
index: 3,
|
||||
desc: "'selectionFollowsFocus' gjør at valgt tab følger fokus ved bruk av piltaster.",
|
||||
};
|
||||
@@ -13,17 +13,17 @@ const Example = () => {
|
||||
<Tabs.Tab
|
||||
value="logg"
|
||||
label="Logg"
|
||||
icon={<ClockDashedIcon title="historielogg" aria-hidden />}
|
||||
icon={<ClockDashedIcon aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="inbox"
|
||||
label="Inbox"
|
||||
icon={<InboxDownIcon title="inbox" aria-hidden />}
|
||||
icon={<InboxDownIcon aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="sendt"
|
||||
label="Sendt"
|
||||
icon={<PaperplaneIcon title="sendt" aria-hidden />}
|
||||
icon={<PaperplaneIcon aria-hidden />}
|
||||
/>
|
||||
</Tabs.List>
|
||||
<Tabs.Panel value="logg" className="h-24 w-full bg-gray-50 p-4">
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
import {
|
||||
ClockDashedIcon,
|
||||
InboxDownIcon,
|
||||
PaperplaneIcon,
|
||||
} from "@navikt/aksel-icons";
|
||||
import { Tabs } from "@navikt/ds-react";
|
||||
import { withDsExample } from "@/web/examples/withDsExample";
|
||||
|
||||
const Example = () => {
|
||||
return (
|
||||
<Tabs defaultValue="logg" loop>
|
||||
<Tabs.List>
|
||||
<Tabs.Tab
|
||||
value="logg"
|
||||
label="Logg"
|
||||
icon={<ClockDashedIcon title="historielogg" aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="inbox"
|
||||
label="Inbox"
|
||||
icon={<InboxDownIcon title="inbox" aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="sendt"
|
||||
label="Sendt"
|
||||
icon={<PaperplaneIcon title="sendt" aria-hidden />}
|
||||
/>
|
||||
</Tabs.List>
|
||||
<Tabs.Panel value="logg" className="h-24 w-full bg-gray-50 p-4">
|
||||
Logg-tab
|
||||
</Tabs.Panel>
|
||||
<Tabs.Panel value="inbox" className="h-24 w-full bg-gray-50 p-4">
|
||||
Inbox-tab
|
||||
</Tabs.Panel>
|
||||
<Tabs.Panel value="sendt" className="h-24 w-full bg-gray-50 p-4">
|
||||
Sendt-tab
|
||||
</Tabs.Panel>
|
||||
</Tabs>
|
||||
);
|
||||
};
|
||||
|
||||
// EXAMPLES DO NOT INCLUDE CONTENT BELOW THIS LINE
|
||||
export default withDsExample(Example);
|
||||
|
||||
/* Storybook story */
|
||||
export const Demo = {
|
||||
render: Example,
|
||||
};
|
||||
|
||||
export const args = {
|
||||
index: 2,
|
||||
};
|
||||
@@ -13,17 +13,17 @@ const Example = () => {
|
||||
<Tabs.Tab
|
||||
value="logg"
|
||||
label="Logg"
|
||||
icon={<ClockDashedIcon title="historielogg" aria-hidden />}
|
||||
icon={<ClockDashedIcon aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="inbox"
|
||||
label="Inbox"
|
||||
icon={<InboxDownIcon title="inbox" aria-hidden />}
|
||||
icon={<InboxDownIcon aria-hidden />}
|
||||
/>
|
||||
<Tabs.Tab
|
||||
value="sendt"
|
||||
label="Sendt"
|
||||
icon={<PaperplaneIcon title="sendt" aria-hidden />}
|
||||
icon={<PaperplaneIcon aria-hidden />}
|
||||
/>
|
||||
</Tabs.List>
|
||||
<Tabs.Panel value="logg" className="h-24 w-full bg-gray-50 p-4">
|
||||
@@ -49,4 +49,5 @@ export const Demo = {
|
||||
|
||||
export const args = {
|
||||
index: 1,
|
||||
desc: "Small brukes på interne flater der det er behov for et mer komprimert grensesnitt.",
|
||||
};
|
||||
@@ -1,35 +0,0 @@
|
||||
import { Tabs } from "@navikt/ds-react";
|
||||
import { withDsExample } from "@/web/examples/withDsExample";
|
||||
|
||||
const Example = () => {
|
||||
return (
|
||||
<Tabs defaultValue="logg">
|
||||
<Tabs.List>
|
||||
<Tabs.Tab value="logg" label="Logg" />
|
||||
<Tabs.Tab value="inbox" label="Inbox" />
|
||||
<Tabs.Tab value="sendt" label="Sendt" />
|
||||
</Tabs.List>
|
||||
<Tabs.Panel value="logg" className="h-24 w-full bg-gray-50 p-4">
|
||||
Logg-tab
|
||||
</Tabs.Panel>
|
||||
<Tabs.Panel value="inbox" className="h-24 w-full bg-gray-50 p-4">
|
||||
Inbox-tab
|
||||
</Tabs.Panel>
|
||||
<Tabs.Panel value="sendt" className="h-24 w-full bg-gray-50 p-4">
|
||||
Sendt-tab
|
||||
</Tabs.Panel>
|
||||
</Tabs>
|
||||
);
|
||||
};
|
||||
|
||||
// EXAMPLES DO NOT INCLUDE CONTENT BELOW THIS LINE
|
||||
export default withDsExample(Example);
|
||||
|
||||
/* Storybook story */
|
||||
export const Demo = {
|
||||
render: Example,
|
||||
};
|
||||
|
||||
export const args = {
|
||||
index: 5,
|
||||
};
|
||||
+1
-1
@@ -45,7 +45,7 @@ function Example() {
|
||||
<Show above="sm">
|
||||
<ApplicationPictogram />
|
||||
</Show>
|
||||
<Heading level="1" size="large">
|
||||
<Heading level="1" size="xlarge">
|
||||
Søknad om arbeidsavklaringspenger (AAP)
|
||||
</Heading>
|
||||
</Stack>
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ function Example() {
|
||||
<Show above="sm">
|
||||
<ApplicationPictogram />
|
||||
</Show>
|
||||
<Heading level="1" size="large">
|
||||
<Heading level="1" size="xlarge">
|
||||
Søknad om alderspensjon
|
||||
</Heading>
|
||||
</Stack>
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ function Example() {
|
||||
<Show above="sm">
|
||||
<ApplicationPictogram />
|
||||
</Show>
|
||||
<Heading level="1" size="large">
|
||||
<Heading level="1" size="xlarge">
|
||||
Søknad om foreldrepenger
|
||||
</Heading>
|
||||
</Stack>
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ function Example() {
|
||||
<Show above="sm">
|
||||
<ApplicationPictogram />
|
||||
</Show>
|
||||
<Heading level="1" size="large">
|
||||
<Heading level="1" size="xlarge">
|
||||
Søknad om støtte til pass av barn
|
||||
</Heading>
|
||||
</Stack>
|
||||
|
||||
@@ -49,7 +49,7 @@ function Example() {
|
||||
</Show>
|
||||
<VStack gap="1">
|
||||
<BodyShort size="small">NAV 10-07.03 (om relevant)</BodyShort>
|
||||
<Heading level="1" size="large">
|
||||
<Heading level="1" size="xlarge">
|
||||
Søknad om [ytelse]
|
||||
</Heading>
|
||||
</VStack>
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ function Example() {
|
||||
</Show>
|
||||
<VStack gap="1">
|
||||
<BodyShort size="small">NAV 10-07.03 (om relevant)</BodyShort>
|
||||
<Heading level="1" size="large">
|
||||
<Heading level="1" size="xlarge">
|
||||
Søknad om [ytelse]
|
||||
</Heading>
|
||||
</VStack>
|
||||
|
||||
@@ -48,7 +48,7 @@ function Example() {
|
||||
</Show>
|
||||
<VStack gap="1">
|
||||
<BodyShort size="small">NAV 10-07.03 (om relevant)</BodyShort>
|
||||
<Heading level="1" size="large">
|
||||
<Heading level="1" size="xlarge">
|
||||
Søknad om [ytelse]
|
||||
</Heading>
|
||||
</VStack>
|
||||
|
||||
@@ -41,7 +41,7 @@ function Example() {
|
||||
<Show above="sm">
|
||||
<ApplicationPictogram />
|
||||
</Show>
|
||||
<Heading level="1" size="large">
|
||||
<Heading level="1" size="xlarge">
|
||||
Søknad om arbeidsavklaringspenger (AAP)
|
||||
</Heading>
|
||||
</Stack>
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ function Example() {
|
||||
<Show above="sm">
|
||||
<ApplicationPictogram />
|
||||
</Show>
|
||||
<Heading level="1" size="large">
|
||||
<Heading level="1" size="xlarge">
|
||||
Søknad om dagpenger
|
||||
</Heading>
|
||||
</Stack>
|
||||
|
||||
@@ -46,7 +46,7 @@ function Example() {
|
||||
<BodyShort size="small">
|
||||
NAV 10-07.03 (Om søknaden har ID)
|
||||
</BodyShort>
|
||||
<Heading level="1" size="large">
|
||||
<Heading level="1" size="xlarge">
|
||||
Søknad om [ytelse]
|
||||
</Heading>
|
||||
</VStack>
|
||||
|
||||
@@ -54,8 +54,10 @@ export const grunnleggendeKategorier = [
|
||||
];
|
||||
|
||||
export const templatesKategorier = [
|
||||
{ title: "Brev", value: "brev" },
|
||||
{ title: "Støtte", value: "stotte" },
|
||||
{ title: "Søknadsdialog", value: "soknadsdialog" },
|
||||
{ title: "Skjemavalidering", value: "skjemavalidering" },
|
||||
];
|
||||
|
||||
export const bloggKategorier = [
|
||||
|
||||
@@ -16,6 +16,16 @@ const alert = `_type == "alert" =>{
|
||||
}
|
||||
}`;
|
||||
|
||||
const attachment = `_type == "attachment" =>{
|
||||
...,
|
||||
"downloadLink": asset->url,
|
||||
"size": asset->size,
|
||||
body[]{
|
||||
...,
|
||||
${markDef}
|
||||
}
|
||||
}`;
|
||||
|
||||
const tips = `_type == "tips" =>{
|
||||
...,
|
||||
body[]{
|
||||
@@ -151,6 +161,7 @@ const tokenRef = `_type == "token_ref"=>@->`;
|
||||
|
||||
export const destructureBlocks = `
|
||||
${alert},
|
||||
${attachment},
|
||||
${tips},
|
||||
${tokenRef},
|
||||
${markDef},
|
||||
|
||||
@@ -60,6 +60,7 @@ export const schema: SchemaPluginOptions = {
|
||||
object.ExpansionCard,
|
||||
object.Tips,
|
||||
object.UnikSidemodul,
|
||||
object.Attachment,
|
||||
|
||||
/* Riktekst */
|
||||
object.RiktekstKomponent,
|
||||
|
||||
@@ -9,6 +9,7 @@ export * from "./shared/accordion";
|
||||
export * from "./shared/alert";
|
||||
export * from "./shared/bilde";
|
||||
export * from "./shared/dodont";
|
||||
export * from "./shared/attachment";
|
||||
export * from "./shared/expansion-card";
|
||||
export * from "./shared/kode";
|
||||
export * from "./shared/relatert-innhold";
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
import { defineField, defineType } from "sanity";
|
||||
import { DownloadIcon } from "@navikt/aksel-icons";
|
||||
|
||||
export const Attachment = defineType({
|
||||
title: "Vedlegg med nedlastning",
|
||||
name: "attachment",
|
||||
type: "file",
|
||||
icon: DownloadIcon,
|
||||
fields: [
|
||||
defineField({
|
||||
title: "Tittel",
|
||||
name: "title",
|
||||
type: "string",
|
||||
validation: (Rule) => Rule.required().error("Vedlegg trenger tittel."),
|
||||
}),
|
||||
defineField({
|
||||
title: "Filnavn",
|
||||
description: "Filtype blir automatisk lagt til.",
|
||||
name: "fileName",
|
||||
type: "string",
|
||||
validation: (Rule) => Rule.required().error("Vedlegg trenger filnavn."),
|
||||
}),
|
||||
defineField({
|
||||
title: "Innhold",
|
||||
name: "body",
|
||||
type: "riktekst_enkel",
|
||||
}),
|
||||
],
|
||||
preview: {
|
||||
select: {
|
||||
title: "title",
|
||||
},
|
||||
prepare(selection) {
|
||||
return {
|
||||
title: selection.title,
|
||||
subtitle: "Vedlegg med nedlastning",
|
||||
media: DownloadIcon,
|
||||
};
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -5,7 +5,7 @@ export type ExpansionCardT = {
|
||||
_key: string;
|
||||
_type: "expansioncard";
|
||||
heading: string;
|
||||
heading_level: "h3" | "h4";
|
||||
heading_level: "h2" | "h3" | "h4";
|
||||
description?: string;
|
||||
body: any[];
|
||||
};
|
||||
@@ -33,6 +33,7 @@ export const ExpansionCard = defineType({
|
||||
validation: (Rule) => Rule.required(),
|
||||
options: {
|
||||
list: [
|
||||
{ value: "h2", title: "H2" },
|
||||
{ value: "h3", title: "H3" },
|
||||
{ value: "h4", title: "H4" },
|
||||
],
|
||||
|
||||
@@ -188,7 +188,7 @@ const Riktekst = (
|
||||
|
||||
const templates = ["kode_eksempler", "exampletext_block"];
|
||||
|
||||
const grunnleggende = ["spesial_seksjon"];
|
||||
const grunnleggende = ["spesial_seksjon", "attachment"];
|
||||
|
||||
fields.push(...standard);
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
## LICENSE
|
||||
|
||||
See LICENSE
|
||||
|
||||
## Deprecated
|
||||
|
||||
These files are no longer in use, but kept for legacy reasons.
|
||||
|
||||
- SourceSans3-italic-latin-semibold.woff2
|
||||
- SourceSans3-italic-latin.woff2
|
||||
- SourceSans3-normal-latin.woff2
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3543,7 +3543,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@navikt/aksel-icons@npm:^6.15.0, @navikt/aksel-icons@workspace:@navikt/aksel-icons":
|
||||
"@navikt/aksel-icons@npm:^6.16.0, @navikt/aksel-icons@workspace:@navikt/aksel-icons":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@navikt/aksel-icons@workspace:@navikt/aksel-icons"
|
||||
dependencies:
|
||||
@@ -3572,8 +3572,8 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@navikt/aksel-stylelint@workspace:@navikt/aksel-stylelint"
|
||||
dependencies:
|
||||
"@navikt/ds-css": "npm:^6.15.0"
|
||||
"@navikt/ds-tokens": "npm:^6.15.0"
|
||||
"@navikt/ds-css": "npm:^6.16.0"
|
||||
"@navikt/ds-tokens": "npm:^6.16.0"
|
||||
concurrently: "npm:7.2.1"
|
||||
postcss-selector-parser: "npm:^6.0.13"
|
||||
postcss-value-parser: "npm:^4.2.0"
|
||||
@@ -3588,8 +3588,8 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@navikt/aksel@workspace:@navikt/aksel"
|
||||
dependencies:
|
||||
"@navikt/ds-css": "npm:6.15.0"
|
||||
axios: "npm:1.6.0"
|
||||
"@navikt/ds-css": "npm:6.16.0"
|
||||
axios: "npm:1.7.4"
|
||||
chalk: "npm:4.1.0"
|
||||
clipboardy: "npm:^2.3.0"
|
||||
commander: "npm:10.0.1"
|
||||
@@ -3598,7 +3598,7 @@ __metadata:
|
||||
figlet: "npm:1.6.0"
|
||||
is-git-clean: "npm:1.1.0"
|
||||
jscodeshift: "npm:^0.15.1"
|
||||
jscodeshift-add-imports: "npm:1.0.10"
|
||||
jscodeshift-add-imports: "npm:1.0.11"
|
||||
lodash: "npm:4.17.21"
|
||||
react-scanner: "npm:^1.1.0"
|
||||
rimraf: "npm:6.0.1"
|
||||
@@ -3609,11 +3609,11 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@navikt/ds-css@npm:*, @navikt/ds-css@npm:6.15.0, @navikt/ds-css@npm:^6.15.0, @navikt/ds-css@workspace:@navikt/core/css":
|
||||
"@navikt/ds-css@npm:*, @navikt/ds-css@npm:6.16.0, @navikt/ds-css@npm:^6.16.0, @navikt/ds-css@workspace:@navikt/core/css":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@navikt/ds-css@workspace:@navikt/core/css"
|
||||
dependencies:
|
||||
"@navikt/ds-tokens": "npm:^6.15.0"
|
||||
"@navikt/ds-tokens": "npm:^6.16.0"
|
||||
cssnano: "npm:6.0.0"
|
||||
fast-glob: "npm:3.2.11"
|
||||
lodash: "npm:4.17.21"
|
||||
@@ -3626,14 +3626,14 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@navikt/ds-react@npm:*, @navikt/ds-react@npm:^6.15.0, @navikt/ds-react@workspace:@navikt/core/react":
|
||||
"@navikt/ds-react@npm:*, @navikt/ds-react@npm:^6.16.0, @navikt/ds-react@workspace:@navikt/core/react":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@navikt/ds-react@workspace:@navikt/core/react"
|
||||
dependencies:
|
||||
"@floating-ui/react": "npm:0.25.4"
|
||||
"@floating-ui/react-dom": "npm:^2.0.9"
|
||||
"@navikt/aksel-icons": "npm:^6.15.0"
|
||||
"@navikt/ds-tokens": "npm:^6.15.0"
|
||||
"@navikt/aksel-icons": "npm:^6.16.0"
|
||||
"@navikt/ds-tokens": "npm:^6.16.0"
|
||||
"@testing-library/dom": "npm:9.3.4"
|
||||
"@testing-library/jest-dom": "npm:^5.16.0"
|
||||
"@testing-library/react": "npm:^15.0.7"
|
||||
@@ -3663,11 +3663,11 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@navikt/ds-tailwind@npm:^6.15.0, @navikt/ds-tailwind@workspace:@navikt/core/tailwind":
|
||||
"@navikt/ds-tailwind@npm:^6.16.0, @navikt/ds-tailwind@workspace:@navikt/core/tailwind":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@navikt/ds-tailwind@workspace:@navikt/core/tailwind"
|
||||
dependencies:
|
||||
"@navikt/ds-tokens": "npm:^6.15.0"
|
||||
"@navikt/ds-tokens": "npm:^6.16.0"
|
||||
color: "npm:4.2.3"
|
||||
lodash: "npm:^4.17.21"
|
||||
tailwindcss: "npm:^3.3.3"
|
||||
@@ -3677,7 +3677,7 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@navikt/ds-tokens@npm:^6.15.0, @navikt/ds-tokens@workspace:@navikt/core/tokens":
|
||||
"@navikt/ds-tokens@npm:^6.16.0, @navikt/ds-tokens@workspace:@navikt/core/tokens":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@navikt/ds-tokens@workspace:@navikt/core/tokens"
|
||||
dependencies:
|
||||
@@ -7654,11 +7654,11 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "aksel.nav.no@workspace:aksel.nav.no"
|
||||
dependencies:
|
||||
"@navikt/aksel-icons": "npm:^6.15.0"
|
||||
"@navikt/ds-css": "npm:^6.15.0"
|
||||
"@navikt/ds-react": "npm:^6.15.0"
|
||||
"@navikt/ds-tailwind": "npm:^6.15.0"
|
||||
"@navikt/ds-tokens": "npm:^6.15.0"
|
||||
"@navikt/aksel-icons": "npm:^6.16.0"
|
||||
"@navikt/ds-css": "npm:^6.16.0"
|
||||
"@navikt/ds-react": "npm:^6.16.0"
|
||||
"@navikt/ds-tailwind": "npm:^6.16.0"
|
||||
"@navikt/ds-tokens": "npm:^6.16.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
@@ -8279,14 +8279,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"axios@npm:1.6.0":
|
||||
version: 1.6.0
|
||||
resolution: "axios@npm:1.6.0"
|
||||
"axios@npm:1.7.4":
|
||||
version: 1.7.4
|
||||
resolution: "axios@npm:1.7.4"
|
||||
dependencies:
|
||||
follow-redirects: "npm:^1.15.0"
|
||||
follow-redirects: "npm:^1.15.6"
|
||||
form-data: "npm:^4.0.0"
|
||||
proxy-from-env: "npm:^1.1.0"
|
||||
checksum: 10/f069d938a05d2293e27c7cd6f0c08a1cb764f7cc43a1e637572f8d5928837ecd735890ad67a867d696094ee4b8b4dfdb3727a57aae600845e4c295581cb32f9a
|
||||
checksum: 10/7a1429be1e3d0c2e1b96d4bba4d113efbfabc7c724bed107beb535c782c7bea447ff634886b0c7c43395a264d085450d009eb1154b5f38a8bae49d469fdcbc61
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -11541,8 +11541,8 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"elliptic@npm:^6.5.3, elliptic@npm:^6.5.5":
|
||||
version: 6.5.6
|
||||
resolution: "elliptic@npm:6.5.6"
|
||||
version: 6.5.7
|
||||
resolution: "elliptic@npm:6.5.7"
|
||||
dependencies:
|
||||
bn.js: "npm:^4.11.9"
|
||||
brorand: "npm:^1.1.0"
|
||||
@@ -11551,7 +11551,7 @@ __metadata:
|
||||
inherits: "npm:^2.0.4"
|
||||
minimalistic-assert: "npm:^1.0.1"
|
||||
minimalistic-crypto-utils: "npm:^1.0.1"
|
||||
checksum: 10/09377ec924fdb37775d63e5d7e5ebb2845842e6f08880b68265b1108863e968970c4a4e1c43df622078c8262417deec9a04aeb9d34e8d09a9693e19b5454e1df
|
||||
checksum: 10/fbad1fad0a5cc07df83f80cc1f7a784247ef59075194d3e340eaeb2f4dd594825ee24c7e9b0cf279c9f1982efe610503bb3139737926428c4821d4fca1bcf348
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -13213,7 +13213,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.15.0, follow-redirects@npm:^1.15.6":
|
||||
"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.15.6":
|
||||
version: 1.15.6
|
||||
resolution: "follow-redirects@npm:1.15.6"
|
||||
peerDependenciesMeta:
|
||||
@@ -16111,15 +16111,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"jscodeshift-add-imports@npm:1.0.10":
|
||||
version: 1.0.10
|
||||
resolution: "jscodeshift-add-imports@npm:1.0.10"
|
||||
"jscodeshift-add-imports@npm:1.0.11":
|
||||
version: 1.0.11
|
||||
resolution: "jscodeshift-add-imports@npm:1.0.11"
|
||||
dependencies:
|
||||
"@babel/traverse": "npm:^7.4.5"
|
||||
jscodeshift-find-imports: "npm:^2.0.2"
|
||||
peerDependencies:
|
||||
jscodeshift: ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0
|
||||
checksum: 10/da502e351e8b541f62e6cc6a8b953b153fe8ad2055bbf875ff238b204f6b48a1701bdf6e8e9536bbfc7e699f52f1af539cdb0dbdd899e0608a7fdf8e3c66bbee
|
||||
jscodeshift: ">=0.7 <1"
|
||||
checksum: 10/c50ce72c722b24fa4535ed7bca6f2b17b5ecaa4fa579f1411bdf6cf05b6d2f2c1f1de3d7e35bc1d4d03ae09228afc3dac64fac87b39044c814c6438513d00123
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
Reference in new issue
Block a user