@amsterdam/design-system-css 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -0
- package/README.md +1 -1
- package/dist/accordion/accordion.css +1 -1
- package/dist/accordion/accordion.css.map +1 -1
- package/dist/breakout/breakout.css +1 -1
- package/dist/breakout/breakout.css.map +1 -1
- package/dist/card/card.css +1 -1
- package/dist/card/card.css.map +1 -1
- package/dist/dialog/dialog.css +1 -1
- package/dist/dialog/dialog.css.map +1 -1
- package/dist/field-set/field-set.css +1 -1
- package/dist/field-set/field-set.css.map +1 -1
- package/dist/grid/grid.css +1 -1
- package/dist/grid/grid.css.map +1 -1
- package/dist/heading/heading.css +1 -1
- package/dist/heading/heading.css.map +1 -1
- package/dist/icon/icon.css +1 -1
- package/dist/icon/icon.css.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/label/label.css +1 -1
- package/dist/label/label.css.map +1 -1
- package/dist/link/link.css +1 -1
- package/dist/link/link.css.map +1 -1
- package/dist/page/page.css +1 -0
- package/dist/page/page.css.map +1 -0
- package/dist/page-footer/page-footer.css +1 -0
- package/dist/page-footer/page-footer.css.map +1 -0
- package/dist/page-header/page-header.css +1 -0
- package/dist/page-header/page-header.css.map +1 -0
- package/dist/page-heading/page-heading.css +1 -1
- package/dist/page-heading/page-heading.css.map +1 -1
- package/dist/standalone-link/standalone-link.css +1 -0
- package/dist/standalone-link/standalone-link.css.map +1 -0
- package/dist/visually-hidden/visually-hidden.css +1 -1
- package/dist/visually-hidden/visually-hidden.css.map +1 -1
- package/package.json +3 -3
- package/src/components/accordion/accordion.scss +1 -0
- package/src/components/alert/README.md +1 -1
- package/src/components/breakout/breakout.scss +19 -19
- package/src/components/card/README.md +15 -14
- package/src/components/card/card.scss +9 -1
- package/src/components/dialog/README.md +3 -5
- package/src/components/dialog/dialog.scss +21 -0
- package/src/components/field-set/field-set.scss +7 -6
- package/src/components/grid/README.md +9 -8
- package/src/components/grid/_mixins.scss +22 -22
- package/src/components/grid/grid.scss +19 -19
- package/src/components/heading/heading.scss +1 -0
- package/src/components/icon/icon.scss +2 -1
- package/src/components/image-slider/README.md +1 -1
- package/src/components/index.scss +4 -6
- package/src/components/label/label.scss +1 -0
- package/src/components/link/README.md +9 -10
- package/src/components/link/link.scss +6 -28
- package/src/components/logo/README.md +1 -1
- package/src/components/page/README.md +23 -0
- package/src/components/page/page.scss +12 -0
- package/src/components/{footer → page-footer}/README.md +7 -5
- package/src/components/page-footer/page-footer.scss +56 -0
- package/src/components/{header → page-header}/README.md +5 -5
- package/src/components/{header/header.scss → page-header/page-header.scss} +65 -56
- package/src/components/page-heading/README.md +1 -1
- package/src/components/page-heading/page-heading.scss +1 -0
- package/src/components/skip-link/README.md +3 -3
- package/src/components/spotlight/README.md +2 -3
- package/src/components/standalone-link/README.md +11 -0
- package/src/components/standalone-link/standalone-link.scss +53 -0
- package/src/components/tabs/README.md +1 -1
- package/src/components/visually-hidden/visually-hidden.scss +1 -0
- package/dist/footer/footer.css +0 -1
- package/dist/footer/footer.css.map +0 -1
- package/dist/header/header.css +0 -1
- package/dist/header/header.css.map +0 -1
- package/dist/mega-menu/mega-menu.css +0 -1
- package/dist/mega-menu/mega-menu.css.map +0 -1
- package/dist/page-menu/page-menu.css +0 -1
- package/dist/page-menu/page-menu.css.map +0 -1
- package/dist/screen/screen.css +0 -1
- package/dist/screen/screen.css.map +0 -1
- package/dist/top-task-link/top-task-link.css +0 -1
- package/dist/top-task-link/top-task-link.css.map +0 -1
- package/src/components/footer/footer.scss +0 -47
- package/src/components/mega-menu/README.md +0 -3
- package/src/components/mega-menu/mega-menu.scss +0 -16
- package/src/components/page-menu/README.md +0 -24
- package/src/components/page-menu/page-menu.scss +0 -65
- package/src/components/screen/README.md +0 -23
- package/src/components/screen/screen.scss +0 -23
- package/src/components/top-task-link/README.md +0 -27
- package/src/components/top-task-link/top-task-link.scss +0 -45
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/components/page-footer/page-footer.scss","../../src/common/hyphenation.scss","../../src/common/text-rendering.scss"],"names":[],"mappings":"AAcA,4BACE,mEAGF,uBACE,kDACA,aACA,eACA,wDACA,0DACA,4CAdA,gBACA,eAiBA,qCAVF,uBAWI,kEAGF,qCAdF,uBAeI,gEAIJ,4BACE,6CACA,yDACA,qDACA,yDACA,yDACA,+DACA,2EACA,qFACA,6ECxCA,kEACA,aACA,yBCEA,kCACA,2BACA,8BACA,sBFsCA,kCACE,mDACA","file":"page-footer.css"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ams-page-header{display:grid;font-family:var(--ams-page-header-font-family);padding-block:var(--ams-page-header-padding-block);padding-inline:var(--ams-page-header-padding-inline)}@media screen and (min-width: 36rem){.ams-page-header{padding-inline:var(--ams-page-header-medium-padding-inline)}}@media screen and (min-width: 68rem){.ams-page-header{padding-inline:var(--ams-page-header-wide-padding-inline)}}.ams-page-header__logo-link{align-items:center;align-self:start;column-gap:var(--ams-page-header-logo-link-column-gap);display:flex;grid-area:1/1;inline-size:fit-content;outline-offset:var(--ams-page-header-logo-link-outline-offset);text-decoration:none}.ams-page-header__logo-link--hidden{opacity:0%;user-select:none}.ams-page-header__logo-container{flex-shrink:0;inline-size:.75rem;overflow:hidden}@media screen and (min-width: 36rem){.ams-page-header__logo-container{inline-size:auto}}.ams-page-header__brand-name{color:var(--ams-page-header-brand-name-color);font-size:var(--ams-page-header-brand-name-font-size);font-weight:var(--ams-page-header-brand-name-font-weight);line-height:1.35;text-wrap:var(--ams-page-header-brand-name-text-wrap)}.ams-page-header__navigation{column-gap:var(--ams-page-header-navigation-column-gap);display:flex;flex-wrap:wrap;grid-area:1/1;pointer-events:none;row-gap:var(--ams-page-header-navigation-row-gap)}.ams-page-header__menu{align-items:center;column-gap:var(--ams-page-header-menu-column-gap);display:flex;flex-wrap:wrap;justify-content:flex-end;margin-inline-start:auto;pointer-events:auto;row-gap:var(--ams-page-header-menu-row-gap);list-style:none;margin-block:0;padding-inline-start:0}@media screen and not (min-width: 68rem){.ams-page-header__menu-item{display:none}}.ams-page-header__menu-item--fixed{display:revert}.ams-page-header__menu-link{display:inline-block;text-decoration-line:var(--ams-page-header-menu-link-text-decoration-line);text-decoration-thickness:var(--ams-page-header-menu-link-text-decoration-thickness);text-underline-offset:var(--ams-page-header-menu-link-text-underline-offset);color:var(--ams-page-header-menu-item-color);font-size:var(--ams-page-header-menu-item-font-size);font-weight:var(--ams-page-header-menu-item-font-weight);line-height:var(--ams-page-header-menu-item-line-height);outline-offset:var(--ams-page-header-menu-item-outline-offset);padding-block:var(--ams-page-header-menu-item-padding-block);touch-action:manipulation;white-space:nowrap;text-rendering:optimizeLegibility;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}.ams-page-header__menu-link:hover{color:var(--ams-page-header-menu-item-hover-color)}.ams-page-header__menu-link:hover{text-decoration-line:var(--ams-page-header-menu-link-hover-text-decoration-line)}@media screen and (min-width: 68rem){.ams-page-header__mega-menu-button-item--hide-on-wide-window{display:none}}.ams-page-header__mega-menu-button{column-gap:var(--ams-page-header-menu-item-column-gap);cursor:var(--ams-page-header-mega-menu-button-cursor);display:grid;font-family:inherit;grid-auto-flow:column;color:var(--ams-page-header-menu-item-color);font-size:var(--ams-page-header-menu-item-font-size);font-weight:var(--ams-page-header-menu-item-font-weight);line-height:var(--ams-page-header-menu-item-line-height);outline-offset:var(--ams-page-header-menu-item-outline-offset);padding-block:var(--ams-page-header-menu-item-padding-block);touch-action:manipulation;white-space:nowrap;text-rendering:optimizeLegibility;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;background:none;border:none;margin-block:0;margin-inline:0;padding-inline:0}.ams-page-header__mega-menu-button:hover{color:var(--ams-page-header-menu-item-hover-color)}.ams-page-header__mega-menu-button[aria-expanded=true]{font-weight:var(--ams-page-header-mega-menu-button-label-open-font-weight)}.ams-page-header__mega-menu-button-label,.ams-page-header__mega-menu-button-hidden-label{grid-area:1/1}.ams-page-header__mega-menu-button-hidden-label{font-weight:var(--ams-page-header-mega-menu-button-label-open-font-weight);pointer-events:none;user-select:none;visibility:hidden}.ams-page-header__menu-icon line{stroke:currentColor;stroke-width:3px;transform-origin:center;transition:translate .1s ease-in-out,rotate .2s ease-in-out,opacity .1s ease-in-out}@media(prefers-reduced-motion){.ams-page-header__menu-icon line{transition:none}}.ams-page-header__menu-icon .ams-page-header__menu-icon-top{translate:0 -7px}.ams-page-header__menu-icon .ams-page-header__menu-icon-bottom{translate:0 7px}.ams-page-header__menu-icon--open .ams-page-header__menu-icon-top{rotate:45deg;translate:0}.ams-page-header__menu-icon--open .ams-page-header__menu-icon-middle{opacity:0%}.ams-page-header__menu-icon--open .ams-page-header__menu-icon-bottom{rotate:-45deg;translate:0}.ams-page-header__mega-menu{inline-size:100%;pointer-events:auto}.ams-page-header__mega-menu .ams-grid{padding-inline:0}.ams-page-header__mega-menu--closed.ams-page-header__mega-menu--closed{display:none}@media screen and (min-width: 68rem){.ams-page-header__grid-cell-narrow-window-only{display:none}}/*# sourceMappingURL=page-header.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/components/page-header/page-header.scss","../../src/common/text-rendering.scss"],"names":[],"mappings":"AAQA,iBAME,aACA,+CACA,mDACA,qDAEA,qCAXF,iBAYI,6DAGF,qCAfF,iBAgBI,2DAIJ,4BACE,mBACA,iBACA,uDACA,aACA,cACA,wBACA,+DACA,qBAGF,oCACE,WACA,iBAGF,iCACE,cACA,mBACA,gBAEA,qCALF,iCAMI,kBAIJ,6BACE,8CACA,sDACA,0DACA,iBACA,sDAGF,6BACE,wDACA,aACA,eACA,cAGA,oBACA,kDASF,uBACE,mBACA,kDACA,aACA,eACA,yBACA,yBACA,oBACA,4CAbA,gBACA,eACA,uBAkBA,yCADF,4BAEI,cAKJ,mCACE,eAoBF,4BACE,qBACA,2EACA,qFACA,6EApBA,6CACA,qDACA,yDACA,yDACA,+DACA,6DACA,0BACA,mBCtGA,kCACA,2BACA,8BACA,sBDuGA,kCACE,mDAYF,kCACE,iFAKF,qCADF,6DAEI,cAcJ,mCACE,uDACA,sDACA,aACA,oBACA,sBAlDA,6CACA,qDACA,yDACA,yDACA,+DACA,6DACA,0BACA,mBCtGA,kCACA,2BACA,8BACA,sBDgIA,gBACA,YACA,eACA,gBACA,iBA7BA,yCACE,mDA4CJ,uDACE,2EAGF,yFAEE,cAKF,gDACE,2EACA,oBACA,iBACA,kBAIA,iCACE,oBACA,iBACA,wBACA,WACE,yEAIF,+BATF,iCAUI,iBAIJ,4DACE,iBAGF,+DACE,gBAKF,kEACE,aACA,YAEF,qEACE,WAEF,qEACE,cACA,YAIJ,4BACE,iBACA,oBAIA,sCACE,iBAIJ,uEACE,aAIA,qCADF,+CAEI","file":"page-header.css"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ams-page-heading{box-sizing:border-box;break-after:avoid;break-inside:avoid;color:var(--ams-page-heading-color);font-family:var(--ams-page-heading-font-family);font-size:var(--ams-page-heading-font-size);font-weight:var(--ams-page-heading-font-weight);line-height:var(--ams-page-heading-line-height);hyphenate-limit-chars:var(--ams-typography-hyphenate-limit-chars);hyphens:auto;overflow-wrap:break-word;text-rendering:optimizeLegibility;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;margin-block:0}.ams-page-heading--inverse{color:var(--ams-page-heading-inverse-color)}/*# sourceMappingURL=page-heading.css.map */
|
|
1
|
+
.ams-page-heading{box-sizing:border-box;break-after:avoid;break-inside:avoid;color:var(--ams-page-heading-color);font-family:var(--ams-page-heading-font-family);font-size:var(--ams-page-heading-font-size);font-weight:var(--ams-page-heading-font-weight);line-height:var(--ams-page-heading-line-height);text-wrap:var(--ams-page-heading-text-wrap);hyphenate-limit-chars:var(--ams-typography-hyphenate-limit-chars);hyphens:auto;overflow-wrap:break-word;text-rendering:optimizeLegibility;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;margin-block:0}.ams-page-heading--inverse{color:var(--ams-page-heading-inverse-color)}/*# sourceMappingURL=page-heading.css.map */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/components/page-heading/page-heading.scss","../../src/common/hyphenation.scss","../../src/common/text-rendering.scss"],"names":[],"mappings":"AAYA,kBACE,sBACA,kBACA,mBACA,oCACA,gDACA,4CACA,gDACA,
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/components/page-heading/page-heading.scss","../../src/common/hyphenation.scss","../../src/common/text-rendering.scss"],"names":[],"mappings":"AAYA,kBACE,sBACA,kBACA,mBACA,oCACA,gDACA,4CACA,gDACA,gDACA,4CCfA,kEACA,aACA,yBCEA,kCACA,2BACA,8BACA,sBFJA,eAmBF,2BACE","file":"page-heading.css"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ams-standalone-link{color:var(--ams-standalone-link-color);column-gap:var(--ams-standalone-link-column-gap);display:inline-flex;font-family:var(--ams-standalone-link-font-family);font-size:var(--ams-standalone-link-font-size);font-weight:var(--ams-standalone-link-font-weight);line-height:var(--ams-standalone-link-line-height);outline-offset:var(--ams-standalone-link-outline-offset);text-decoration-thickness:var(--ams-standalone-link-text-decoration-thickness);text-underline-offset:var(--ams-standalone-link-text-underline-offset);hyphenate-limit-chars:var(--ams-typography-hyphenate-limit-chars);hyphens:auto;overflow-wrap:break-word;text-rendering:optimizeLegibility;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}.ams-standalone-link:hover{color:var(--ams-standalone-link-hover-color);text-decoration-thickness:var(--ams-standalone-link-hover-text-decoration-thickness);text-underline-offset:var(--ams-standalone-link-hover-text-underline-offset)}.ams-standalone-link--contrast{color:var(--ams-standalone-link-contrast-color)}.ams-standalone-link--contrast:hover{color:var(--ams-standalone-link-contrast-hover-color)}.ams-standalone-link--inverse{color:var(--ams-standalone-link-inverse-color)}.ams-standalone-link--inverse:hover{color:var(--ams-standalone-link-inverse-hover-color)}.ams-standalone-link--with-icon{text-decoration-line:var(--ams-standalone-link-with-icon-text-decoration-line)}.ams-standalone-link--with-icon:hover{text-decoration-line:var(--ams-standalone-link-with-icon-hover-text-decoration-line)}/*# sourceMappingURL=standalone-link.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/components/standalone-link/standalone-link.scss","../../src/common/hyphenation.scss","../../src/common/text-rendering.scss"],"names":[],"mappings":"AAQA,qBACE,uCACA,iDACA,oBACA,mDACA,+CACA,mDACA,mDACA,yDACA,+EACA,uECZA,kEACA,aACA,yBCEA,kCACA,2BACA,8BACA,sBFUA,2BACE,6CACA,qFACA,6EAIJ,+BACE,gDAEA,qCACE,sDAIJ,8BACE,+CAEA,oCACE,qDAIJ,gCACE,+EAEA,sCACE","file":"standalone-link.css"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ams-visually-hidden:not(:active,:focus){block-size:1px;clip:rect(0 0 0 0);clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}/*# sourceMappingURL=visually-hidden.css.map */
|
|
1
|
+
.ams-visually-hidden:not(:active,:focus){block-size:1px;clip:rect(0 0 0 0);clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;user-select:none;white-space:nowrap}/*# sourceMappingURL=visually-hidden.css.map */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/components/visually-hidden/visually-hidden.scss"],"names":[],"mappings":"AAMA,yCACE,eACA,mBACA,qBACA,gBACA,gBACA,kBACA","file":"visually-hidden.css"}
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/components/visually-hidden/visually-hidden.scss"],"names":[],"mappings":"AAMA,yCACE,eACA,mBACA,qBACA,gBACA,gBACA,kBACA,iBACA","file":"visually-hidden.css"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.16.0",
|
|
3
3
|
"author": "Design System Team, City of Amsterdam <designsystem@amsterdam.nl>",
|
|
4
4
|
"description": "Stylesheets for all components from the Amsterdam Design System and some general utilities. Use it to apply the visual design of the City of Amsterdam to your HTML elements or non-React components.",
|
|
5
5
|
"homepage": "https://designsystem.amsterdam",
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"directory": "packages/css"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"sass": "1.86.
|
|
22
|
+
"sass": "1.86.3"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"@amsterdam/design-system-tokens": "0.
|
|
25
|
+
"@amsterdam/design-system-tokens": "0.16.0",
|
|
26
26
|
"@amsterdam/design-system-assets": "0.3.0"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
@@ -16,7 +16,7 @@ An Alert informs the user of a significant or time-sensitive message without int
|
|
|
16
16
|
- **Error** indicates an error has occurred.
|
|
17
17
|
This variation is red.
|
|
18
18
|
- Place the Alert in a Grid Cell to create enough white space around it.
|
|
19
|
-
- Important and urgent information is to be placed directly below the Header.
|
|
19
|
+
- Important and urgent information is to be placed directly below the Page Header.
|
|
20
20
|
Examples: system outage or changes in the opening hours of a City Office.
|
|
21
21
|
This can be applied to the entire application or to a part of it.
|
|
22
22
|
- Add a close button if the user should be able to dismiss the Alert.
|
|
@@ -19,52 +19,52 @@ $ams-breakout-row-span-max: 4;
|
|
|
19
19
|
@include ams-grid--gap-vertical--none;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
.ams-breakout--gap-vertical--small {
|
|
23
|
-
@include ams-grid--gap-vertical--small;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
22
|
.ams-breakout--gap-vertical--large {
|
|
27
23
|
@include ams-grid--gap-vertical--large;
|
|
28
24
|
}
|
|
29
25
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
.ams-breakout--padding-bottom--small {
|
|
33
|
-
@include ams-grid--padding-bottom--small;
|
|
26
|
+
.ams-breakout--gap-vertical--2x-large {
|
|
27
|
+
@include ams-grid--gap-vertical--2x-large;
|
|
34
28
|
}
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
@include ams-grid--padding-bottom--medium;
|
|
38
|
-
}
|
|
30
|
+
// Grid padding
|
|
39
31
|
|
|
40
32
|
.ams-breakout--padding-bottom--large {
|
|
41
33
|
@include ams-grid--padding-bottom--large;
|
|
42
34
|
}
|
|
43
35
|
|
|
44
|
-
.ams-breakout--padding-
|
|
45
|
-
@include ams-grid--padding-
|
|
36
|
+
.ams-breakout--padding-bottom--x-large {
|
|
37
|
+
@include ams-grid--padding-bottom--x-large;
|
|
46
38
|
}
|
|
47
39
|
|
|
48
|
-
.ams-breakout--padding-
|
|
49
|
-
@include ams-grid--padding-
|
|
40
|
+
.ams-breakout--padding-bottom--2x-large {
|
|
41
|
+
@include ams-grid--padding-bottom--2x-large;
|
|
50
42
|
}
|
|
51
43
|
|
|
52
44
|
.ams-breakout--padding-top--large {
|
|
53
45
|
@include ams-grid--padding-top--large;
|
|
54
46
|
}
|
|
55
47
|
|
|
56
|
-
.ams-breakout--padding-
|
|
57
|
-
@include ams-grid--padding-
|
|
48
|
+
.ams-breakout--padding-top--x-large {
|
|
49
|
+
@include ams-grid--padding-top--x-large;
|
|
58
50
|
}
|
|
59
51
|
|
|
60
|
-
.ams-breakout--padding-
|
|
61
|
-
@include ams-grid--padding-
|
|
52
|
+
.ams-breakout--padding-top--2x-large {
|
|
53
|
+
@include ams-grid--padding-top--2x-large;
|
|
62
54
|
}
|
|
63
55
|
|
|
64
56
|
.ams-breakout--padding-vertical--large {
|
|
65
57
|
@include ams-grid--padding-vertical--large;
|
|
66
58
|
}
|
|
67
59
|
|
|
60
|
+
.ams-breakout--padding-vertical--x-large {
|
|
61
|
+
@include ams-grid--padding-vertical--x-large;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.ams-breakout--padding-vertical--2x-large {
|
|
65
|
+
@include ams-grid--padding-vertical--2x-large;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
68
|
// Column span
|
|
69
69
|
// The order of these declaration blocks ensures the intended specificity.
|
|
70
70
|
|
|
@@ -2,27 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
# Card
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
The card typically includes the title, introduction, and an image of the content.
|
|
7
|
-
The link is mandatory.
|
|
5
|
+
A brief section of a heading, some text, and optionally an image, that leads to a related page.
|
|
8
6
|
|
|
9
7
|
## Guidelines
|
|
10
8
|
|
|
11
|
-
- The title of a card is a link within a
|
|
12
|
-
The
|
|
13
|
-
The link is active across the entire area of the card.
|
|
9
|
+
- The mandatory title of a card is a link within a Heading.
|
|
10
|
+
The guidelines for regular [links](/docs/components-navigation-link--docs) and [headings](/docs/components-text-heading--docs) apply.
|
|
11
|
+
The link is made active across the entire area of the card.
|
|
14
12
|
- A card needs more content than just a title.
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
Add a short text and optionally an image and metadata.
|
|
14
|
+
- Use the Card Heading, Card Heading Group and Card Image subcomponents.
|
|
15
|
+
They apply the correct spacing.
|
|
16
|
+
- Card Heading requires a `level`, because there is no sensible default.
|
|
17
|
+
Its visual size of `heading-4` can be overridden.
|
|
18
|
+
- Place the text in a regular [Paragraph](/docs/components-text-paragraph--docs).
|
|
19
|
+
Use a small Paragraph for a publication date.
|
|
20
|
+
- This component is not the best option if the target content does not represent an article-like page.
|
|
21
|
+
In that case, use a Heading, a Paragraph and a [Standalone Link](/docs/components-navigation-standalone-link--docs) instead.
|
|
21
22
|
|
|
22
23
|
### Screen readers
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
Screen reader users may navigate a page using headings and links.
|
|
26
|
+
A Card works well in both approaches as its title carries a link.
|
|
26
27
|
A screen reader reads the title first, followed by the rest of the content.
|
|
27
28
|
|
|
28
29
|
### Using links with routing libraries
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
|
|
6
6
|
.ams-card {
|
|
7
7
|
display: grid;
|
|
8
|
-
gap: var(--ams-card-gap);
|
|
9
8
|
outline-offset: var(--ams-card-outline-offset);
|
|
10
9
|
position: relative; // Allows stretching the card link below.
|
|
11
10
|
touch-action: manipulation;
|
|
@@ -16,12 +15,21 @@
|
|
|
16
15
|
outline-style: auto;
|
|
17
16
|
outline-width: 0.0625rem;
|
|
18
17
|
}
|
|
18
|
+
|
|
19
|
+
> .ams-card__heading:has(+ *) {
|
|
20
|
+
margin-block-end: var(--ams-card-heading-margin-block-end);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
> .ams-card__image:has(+ *) {
|
|
24
|
+
margin-block-end: var(--ams-card-image-margin-block-end);
|
|
25
|
+
}
|
|
19
26
|
}
|
|
20
27
|
|
|
21
28
|
.ams-card__heading-group {
|
|
22
29
|
display: flex;
|
|
23
30
|
flex-direction: column-reverse;
|
|
24
31
|
gap: var(--ams-card-heading-group-gap);
|
|
32
|
+
margin-block-end: var(--ams-card-heading-group-margin-block-end);
|
|
25
33
|
}
|
|
26
34
|
|
|
27
35
|
.ams-card__link {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Dialog
|
|
4
4
|
|
|
5
|
-
A
|
|
5
|
+
A popup window in which the user must perform an action to proceed.
|
|
6
6
|
|
|
7
7
|
## Guidelines
|
|
8
8
|
|
|
@@ -10,6 +10,8 @@ A Dialog allows the user to focus on one task or a piece of information by poppi
|
|
|
10
10
|
- Use a dialog for short and non-frequent tasks.
|
|
11
11
|
Consider using the main flow for regular tasks.
|
|
12
12
|
- Wrap multiple buttons in an [Action Group](https://designsystem.amsterdam/?path=/docs/components-layout-action-group--docs).
|
|
13
|
+
- To open the Dialog, use `Dialog.open(dialogId)` from the React package.
|
|
14
|
+
- To close it, either call the `Dialog.close` function or add a `<form>` as in the ‘confirmation’ example.
|
|
13
15
|
|
|
14
16
|
## Keyboard support
|
|
15
17
|
|
|
@@ -19,10 +21,6 @@ A Dialog allows the user to focus on one task or a piece of information by poppi
|
|
|
19
21
|
| Shift + Tab | Moves focus to the previous focusable element inside the dialog. |
|
|
20
22
|
| Escape | Closes the dialog. |
|
|
21
23
|
|
|
22
|
-
## Closing Dialog without submit
|
|
23
|
-
|
|
24
|
-
You can close a Dialog without submitting by using `<button type="button" onClick={Dialog.close}>`.
|
|
25
|
-
|
|
26
24
|
## References
|
|
27
25
|
|
|
28
26
|
- [HTMLDialogElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement)
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* Copyright Gemeente Amsterdam
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
@use "../../common/breakpoint" as *;
|
|
7
|
+
|
|
6
8
|
@mixin reset-dialog {
|
|
7
9
|
inset-block: 0;
|
|
8
10
|
padding-block: 0;
|
|
@@ -24,6 +26,11 @@ so do not apply these styles without an `open` attribute. */
|
|
|
24
26
|
|
|
25
27
|
@include reset-dialog;
|
|
26
28
|
|
|
29
|
+
@media screen and (min-width: $ams-breakpoint-medium) {
|
|
30
|
+
inline-size: var(--ams-dialog-medium-inline-size);
|
|
31
|
+
max-block-size: var(--ams-dialog-medium-max-block-size);
|
|
32
|
+
}
|
|
33
|
+
|
|
27
34
|
/*
|
|
28
35
|
* The fallback value is for browsers where ::backdrop does not inherit from its originating element.
|
|
29
36
|
* @see https://caniuse.com/mdn-css_selectors_backdrop_inherit_from_originating_element
|
|
@@ -40,6 +47,11 @@ so do not apply these styles without an `open` attribute. */
|
|
|
40
47
|
justify-content: space-between;
|
|
41
48
|
padding-block: var(--ams-dialog-header-padding-block);
|
|
42
49
|
padding-inline: var(--ams-dialog-header-padding-inline);
|
|
50
|
+
|
|
51
|
+
@media screen and (min-width: $ams-breakpoint-medium) {
|
|
52
|
+
padding-block: var(--ams-dialog-header-medium-padding-block);
|
|
53
|
+
padding-inline: var(--ams-dialog-header-medium-padding-inline);
|
|
54
|
+
}
|
|
43
55
|
}
|
|
44
56
|
|
|
45
57
|
.ams-dialog__body {
|
|
@@ -47,9 +59,18 @@ so do not apply these styles without an `open` attribute. */
|
|
|
47
59
|
overscroll-behavior-y: contain;
|
|
48
60
|
padding-block: var(--ams-dialog-body-padding-block);
|
|
49
61
|
padding-inline: var(--ams-dialog-body-padding-inline);
|
|
62
|
+
|
|
63
|
+
@media screen and (min-width: $ams-breakpoint-medium) {
|
|
64
|
+
padding-inline: var(--ams-dialog-body-medium-padding-inline);
|
|
65
|
+
}
|
|
50
66
|
}
|
|
51
67
|
|
|
52
68
|
.ams-dialog__footer {
|
|
53
69
|
padding-block: var(--ams-dialog-footer-padding-block);
|
|
54
70
|
padding-inline: var(--ams-dialog-footer-padding-inline);
|
|
71
|
+
|
|
72
|
+
@media screen and (min-width: $ams-breakpoint-medium) {
|
|
73
|
+
padding-block: var(--ams-dialog-footer-medium-padding-block);
|
|
74
|
+
padding-inline: var(--ams-dialog-footer-medium-padding-inline);
|
|
75
|
+
}
|
|
55
76
|
}
|
|
@@ -30,23 +30,24 @@
|
|
|
30
30
|
padding-inline: 0;
|
|
31
31
|
|
|
32
32
|
+ * {
|
|
33
|
-
clear: both; //
|
|
33
|
+
clear: both; // [2]
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
// [1] This combination allows the fieldset border to go around the legend, instead of through it.
|
|
38
|
-
|
|
39
37
|
.ams-field-set__legend {
|
|
40
38
|
color: var(--ams-field-set-legend-color);
|
|
41
39
|
font-family: var(--ams-field-set-legend-font-family);
|
|
42
40
|
font-size: var(--ams-field-set-legend-font-size);
|
|
43
41
|
font-weight: var(--ams-field-set-legend-font-weight);
|
|
44
42
|
line-height: var(--ams-field-set-legend-line-height);
|
|
45
|
-
margin-block-end: var(
|
|
46
|
-
|
|
47
|
-
); /* Because of a bug in Chrome we can’t use display grid or flex for this gap */
|
|
43
|
+
margin-block-end: var(--ams-field-set-legend-margin-block-end); // [3]
|
|
44
|
+
text-wrap: var(--ams-field-set-legend-text-wrap);
|
|
48
45
|
|
|
49
46
|
@include hyphenation;
|
|
50
47
|
@include text-rendering;
|
|
51
48
|
@include reset-legend;
|
|
52
49
|
}
|
|
50
|
+
|
|
51
|
+
// [1] This combination allows the fieldset border to go around the legend, instead of through it.
|
|
52
|
+
// [2] Reset the applied float for the legend’s first sibling.
|
|
53
|
+
// [3] We can’t use grid or flex display and a gap because of a bug in Chrome.
|
|
@@ -6,14 +6,15 @@ Divides the screen into columns to align the elements of a page.
|
|
|
6
6
|
|
|
7
7
|
## Guidelines
|
|
8
8
|
|
|
9
|
-
- Every page
|
|
10
|
-
It is
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
- Every page uses the Grid component as the foundation for its layout.
|
|
10
|
+
It is a direct child of the [Page](/docs/components-containers-page--docs) container.
|
|
11
|
+
- The Grid provides 4, 8, or 12 columns, depending on the width of the window.
|
|
12
|
+
- Its children are `Grid.Cell` components that define how many columns they span, and optionally where they start.
|
|
13
|
+
Both its `span` and `start` properties accept a single value, or separate values for the narrow, medium and wide variations of the Grid.
|
|
14
|
+
- A single page can have several Grids.
|
|
15
|
+
This allows mixing a Grid with a [Spotlight](/docs/components-containers-spotlight--docs), [Breakout](/docs/components-layout-breakout--docs) or full width [Image](/docs/components-media-image--docs) which ‘bleed out’ of the main layout.
|
|
16
|
+
- Grids must not be nested.
|
|
17
|
+
The component is currently intended for the full width of the page only.
|
|
17
18
|
- The Gap utility classes must not be used on the Grid component.
|
|
18
19
|
|
|
19
20
|
## Design
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
@use "../../common/breakpoint" as *;
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* @license EUPL-1.2+
|
|
5
3
|
* Copyright Gemeente Amsterdam
|
|
6
4
|
*/
|
|
7
5
|
|
|
6
|
+
@use "../../common/breakpoint" as *;
|
|
7
|
+
|
|
8
8
|
@mixin ams-grid {
|
|
9
9
|
column-gap: var(--ams-grid-column-gap);
|
|
10
10
|
display: grid;
|
|
11
11
|
grid-template-columns: repeat(var(--ams-grid-column-count), 1fr);
|
|
12
12
|
padding-inline: var(--ams-grid-padding-inline);
|
|
13
|
-
row-gap: var(--ams-grid-row-gap-
|
|
13
|
+
row-gap: var(--ams-grid-row-gap-xl);
|
|
14
14
|
|
|
15
15
|
@media screen and (min-width: $ams-breakpoint-medium) {
|
|
16
16
|
grid-template-columns: repeat(var(--ams-grid-medium-column-count), 1fr);
|
|
@@ -29,52 +29,52 @@
|
|
|
29
29
|
row-gap: initial;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
@mixin ams-grid--gap-vertical--small {
|
|
33
|
-
row-gap: var(--ams-grid-row-gap-s);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
32
|
@mixin ams-grid--gap-vertical--large {
|
|
37
33
|
row-gap: var(--ams-grid-row-gap-l);
|
|
38
34
|
}
|
|
39
35
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
@mixin ams-grid--padding-bottom--small {
|
|
43
|
-
padding-block-end: var(--ams-grid-padding-block-s);
|
|
36
|
+
@mixin ams-grid--gap-vertical--2x-large {
|
|
37
|
+
row-gap: var(--ams-grid-row-gap-2xl);
|
|
44
38
|
}
|
|
45
39
|
|
|
46
|
-
|
|
47
|
-
padding-block-end: var(--ams-grid-padding-block-m);
|
|
48
|
-
}
|
|
40
|
+
// Grid padding
|
|
49
41
|
|
|
50
42
|
@mixin ams-grid--padding-bottom--large {
|
|
51
43
|
padding-block-end: var(--ams-grid-padding-block-l);
|
|
52
44
|
}
|
|
53
45
|
|
|
54
|
-
@mixin ams-grid--padding-
|
|
55
|
-
padding-block-
|
|
46
|
+
@mixin ams-grid--padding-bottom--x-large {
|
|
47
|
+
padding-block-end: var(--ams-grid-padding-block-xl);
|
|
56
48
|
}
|
|
57
49
|
|
|
58
|
-
@mixin ams-grid--padding-
|
|
59
|
-
padding-block-
|
|
50
|
+
@mixin ams-grid--padding-bottom--2x-large {
|
|
51
|
+
padding-block-end: var(--ams-grid-padding-block-2xl);
|
|
60
52
|
}
|
|
61
53
|
|
|
62
54
|
@mixin ams-grid--padding-top--large {
|
|
63
55
|
padding-block-start: var(--ams-grid-padding-block-l);
|
|
64
56
|
}
|
|
65
57
|
|
|
66
|
-
@mixin ams-grid--padding-
|
|
67
|
-
padding-block: var(--ams-grid-padding-block-
|
|
58
|
+
@mixin ams-grid--padding-top--x-large {
|
|
59
|
+
padding-block-start: var(--ams-grid-padding-block-xl);
|
|
68
60
|
}
|
|
69
61
|
|
|
70
|
-
@mixin ams-grid--padding-
|
|
71
|
-
padding-block: var(--ams-grid-padding-block-
|
|
62
|
+
@mixin ams-grid--padding-top--2x-large {
|
|
63
|
+
padding-block-start: var(--ams-grid-padding-block-2xl);
|
|
72
64
|
}
|
|
73
65
|
|
|
74
66
|
@mixin ams-grid--padding-vertical--large {
|
|
75
67
|
padding-block: var(--ams-grid-padding-block-l);
|
|
76
68
|
}
|
|
77
69
|
|
|
70
|
+
@mixin ams-grid--padding-vertical--x-large {
|
|
71
|
+
padding-block: var(--ams-grid-padding-block-xl);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@mixin ams-grid--padding-vertical--2x-large {
|
|
75
|
+
padding-block: var(--ams-grid-padding-block-2xl);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
78
|
@mixin ams-grid__cell--span-all {
|
|
79
79
|
grid-column: 1 / -1;
|
|
80
80
|
}
|
|
@@ -18,52 +18,52 @@ $ams-grid-column-count: 12;
|
|
|
18
18
|
@include ams-grid--gap-vertical--none;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
.ams-grid--gap-vertical--small {
|
|
22
|
-
@include ams-grid--gap-vertical--small;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
21
|
.ams-grid--gap-vertical--large {
|
|
26
22
|
@include ams-grid--gap-vertical--large;
|
|
27
23
|
}
|
|
28
24
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
.ams-grid--padding-bottom--small {
|
|
32
|
-
@include ams-grid--padding-bottom--small;
|
|
25
|
+
.ams-grid--gap-vertical--2x-large {
|
|
26
|
+
@include ams-grid--gap-vertical--2x-large;
|
|
33
27
|
}
|
|
34
28
|
|
|
35
|
-
|
|
36
|
-
@include ams-grid--padding-bottom--medium;
|
|
37
|
-
}
|
|
29
|
+
// Grid padding
|
|
38
30
|
|
|
39
31
|
.ams-grid--padding-bottom--large {
|
|
40
32
|
@include ams-grid--padding-bottom--large;
|
|
41
33
|
}
|
|
42
34
|
|
|
43
|
-
.ams-grid--padding-
|
|
44
|
-
@include ams-grid--padding-
|
|
35
|
+
.ams-grid--padding-bottom--x-large {
|
|
36
|
+
@include ams-grid--padding-bottom--x-large;
|
|
45
37
|
}
|
|
46
38
|
|
|
47
|
-
.ams-grid--padding-
|
|
48
|
-
@include ams-grid--padding-
|
|
39
|
+
.ams-grid--padding-bottom--2x-large {
|
|
40
|
+
@include ams-grid--padding-bottom--2x-large;
|
|
49
41
|
}
|
|
50
42
|
|
|
51
43
|
.ams-grid--padding-top--large {
|
|
52
44
|
@include ams-grid--padding-top--large;
|
|
53
45
|
}
|
|
54
46
|
|
|
55
|
-
.ams-grid--padding-
|
|
56
|
-
@include ams-grid--padding-
|
|
47
|
+
.ams-grid--padding-top--x-large {
|
|
48
|
+
@include ams-grid--padding-top--x-large;
|
|
57
49
|
}
|
|
58
50
|
|
|
59
|
-
.ams-grid--padding-
|
|
60
|
-
@include ams-grid--padding-
|
|
51
|
+
.ams-grid--padding-top--2x-large {
|
|
52
|
+
@include ams-grid--padding-top--2x-large;
|
|
61
53
|
}
|
|
62
54
|
|
|
63
55
|
.ams-grid--padding-vertical--large {
|
|
64
56
|
@include ams-grid--padding-vertical--large;
|
|
65
57
|
}
|
|
66
58
|
|
|
59
|
+
.ams-grid--padding-vertical--x-large {
|
|
60
|
+
@include ams-grid--padding-vertical--x-large;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.ams-grid--padding-vertical--2x-large {
|
|
64
|
+
@include ams-grid--padding-vertical--2x-large;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
67
|
// Column span
|
|
68
68
|
// The order of these declaration blocks ensures the intended specificity.
|
|
69
69
|
|
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
.ams-icon {
|
|
7
7
|
--ams-line-height: var(--ams-icon-line-height);
|
|
8
8
|
|
|
9
|
+
align-items: center;
|
|
9
10
|
align-self: baseline; // Aligns the icon with text in flex or grid context
|
|
10
|
-
display: inline-flex;
|
|
11
|
+
display: inline-flex;
|
|
11
12
|
font-size: var(--ams-icon-font-size);
|
|
12
13
|
line-height: var(--ams-line-height);
|
|
13
14
|
|
|
@@ -19,7 +19,7 @@ The images do not slide automatically.
|
|
|
19
19
|
- Feature the most essential image first.
|
|
20
20
|
- Assume that some or many users will not navigate between the slides and only see the first image.
|
|
21
21
|
Display all images separately if you want each of them to receive attention.
|
|
22
|
-
- A full-width Image Slider should run from one edge of the
|
|
22
|
+
- A full-width Image Slider should run from one edge of the [Page](/docs/components-containers-page--docs) container to the other;
|
|
23
23
|
position it next to a Grid, not in a Cell spanning all columns.
|
|
24
24
|
Smaller sliders are fine in a Grid Cell.
|
|
25
25
|
- Consult the [Image](/docs/components-media-image--docs) docs for guidelines on the individual images.
|
|
@@ -28,10 +28,8 @@
|
|
|
28
28
|
@use "figure/figure";
|
|
29
29
|
@use "file-input/file-input";
|
|
30
30
|
@use "file-list/file-list";
|
|
31
|
-
@use "footer/footer";
|
|
32
31
|
@use "gap/gap";
|
|
33
32
|
@use "grid/grid";
|
|
34
|
-
@use "header/header";
|
|
35
33
|
@use "heading/heading";
|
|
36
34
|
@use "hint/hint";
|
|
37
35
|
@use "icon-button/icon-button";
|
|
@@ -45,21 +43,22 @@
|
|
|
45
43
|
@use "logo/logo";
|
|
46
44
|
@use "margin/margin";
|
|
47
45
|
@use "mark/mark";
|
|
48
|
-
@use "mega-menu/mega-menu";
|
|
49
46
|
@use "ordered-list/ordered-list";
|
|
50
47
|
@use "overlap/overlap";
|
|
48
|
+
@use "page/page";
|
|
49
|
+
@use "page-footer/page-footer";
|
|
50
|
+
@use "page-header/page-header";
|
|
51
51
|
@use "page-heading/page-heading";
|
|
52
|
-
@use "page-menu/page-menu";
|
|
53
52
|
@use "pagination/pagination";
|
|
54
53
|
@use "paragraph/paragraph";
|
|
55
54
|
@use "password-input/password-input";
|
|
56
55
|
@use "radio/radio";
|
|
57
56
|
@use "row/row";
|
|
58
|
-
@use "screen/screen";
|
|
59
57
|
@use "search-field/search-field";
|
|
60
58
|
@use "select/select";
|
|
61
59
|
@use "skip-link/skip-link";
|
|
62
60
|
@use "spotlight/spotlight";
|
|
61
|
+
@use "standalone-link/standalone-link";
|
|
63
62
|
@use "switch/switch";
|
|
64
63
|
@use "table-of-contents/table-of-contents";
|
|
65
64
|
@use "table/table";
|
|
@@ -67,6 +66,5 @@
|
|
|
67
66
|
@use "text-area/text-area";
|
|
68
67
|
@use "text-input/text-input";
|
|
69
68
|
@use "time-input/time-input";
|
|
70
|
-
@use "top-task-link/top-task-link";
|
|
71
69
|
@use "unordered-list/unordered-list";
|
|
72
70
|
@use "visually-hidden/visually-hidden";
|