@graupl/core 1.0.0-beta.22 → 1.0.0-beta.24
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/dist/css/base/button.css +2 -2
- package/dist/css/base/button.css.map +1 -1
- package/dist/css/base/form.css +2 -2
- package/dist/css/base/form.css.map +1 -1
- package/dist/css/base/link.css +2 -2
- package/dist/css/base/link.css.map +1 -1
- package/dist/css/base/table.css +2 -2
- package/dist/css/base/table.css.map +1 -1
- package/dist/css/base.css +2 -2
- package/dist/css/base.css.map +1 -1
- package/dist/css/component/accordion.css +2 -5
- package/dist/css/component/accordion.css.map +1 -1
- package/dist/css/component/alert.css +2 -2
- package/dist/css/component/alert.css.map +1 -1
- package/dist/css/component/badge.css +2 -2
- package/dist/css/component/badge.css.map +1 -1
- package/dist/css/component/card.css +2 -2
- package/dist/css/component/card.css.map +1 -1
- package/dist/css/component/carousel.css +2 -2
- package/dist/css/component/carousel.css.map +1 -1
- package/dist/css/component/disclosure.css +2 -2
- package/dist/css/component/disclosure.css.map +1 -1
- package/dist/css/component/input-group.css +2 -2
- package/dist/css/component/input-group.css.map +1 -1
- package/dist/css/component/list.css +2 -2
- package/dist/css/component/list.css.map +1 -1
- package/dist/css/component/menu.css +2 -2
- package/dist/css/component/menu.css.map +1 -1
- package/dist/css/component/navigation.css +2 -2
- package/dist/css/component/navigation.css.map +1 -1
- package/dist/css/component.css +2 -5
- package/dist/css/component.css.map +1 -1
- package/dist/css/graupl.css +2 -5
- package/dist/css/graupl.css.map +1 -1
- package/dist/css/init.css +2 -2
- package/dist/css/init.css.map +1 -1
- package/dist/css/layout/columns.css +2 -2
- package/dist/css/layout/columns.css.map +1 -1
- package/dist/css/layout/container.css +2 -2
- package/dist/css/layout/container.css.map +1 -1
- package/dist/css/layout/flex-columns.css +2 -2
- package/dist/css/layout/flex-columns.css.map +1 -1
- package/dist/css/layout.css +2 -5
- package/dist/css/layout.css.map +1 -1
- package/dist/css/normalize.css +2 -2
- package/dist/css/normalize.css.map +1 -1
- package/dist/css/state/focus.css +2 -2
- package/dist/css/state/focus.css.map +1 -1
- package/dist/css/state.css +2 -2
- package/dist/css/state.css.map +1 -1
- package/dist/css/theme/color.css +2 -2
- package/dist/css/theme/color.css.map +1 -1
- package/dist/css/theme/typography.css +2 -2
- package/dist/css/theme/typography.css.map +1 -1
- package/dist/css/theme.css +2 -2
- package/dist/css/theme.css.map +1 -1
- package/dist/css/utilities/alignment.css +1 -1
- package/dist/css/utilities/alignment.css.map +1 -1
- package/dist/css/utilities/background.css +2 -2
- package/dist/css/utilities/background.css.map +1 -1
- package/dist/css/utilities/border.css +2 -2
- package/dist/css/utilities/border.css.map +1 -1
- package/dist/css/utilities/color.css +2 -2
- package/dist/css/utilities/color.css.map +1 -1
- package/dist/css/utilities/container.css +1 -1
- package/dist/css/utilities/container.css.map +1 -1
- package/dist/css/utilities/display.css +2 -2
- package/dist/css/utilities/display.css.map +1 -1
- package/dist/css/utilities/flex.css +2 -2
- package/dist/css/utilities/flex.css.map +1 -1
- package/dist/css/utilities/gradient.css +2 -2
- package/dist/css/utilities/gradient.css.map +1 -1
- package/dist/css/utilities/height.css +2 -2
- package/dist/css/utilities/height.css.map +1 -1
- package/dist/css/utilities/inset.css +2 -2
- package/dist/css/utilities/inset.css.map +1 -1
- package/dist/css/utilities/justification.css +1 -1
- package/dist/css/utilities/justification.css.map +1 -1
- package/dist/css/utilities/list.css +1 -1
- package/dist/css/utilities/list.css.map +1 -1
- package/dist/css/utilities/order.css +2 -2
- package/dist/css/utilities/order.css.map +1 -1
- package/dist/css/utilities/position.css +2 -2
- package/dist/css/utilities/position.css.map +1 -1
- package/dist/css/utilities/ratio.css +2 -2
- package/dist/css/utilities/ratio.css.map +1 -1
- package/dist/css/utilities/spacing.css +2 -2
- package/dist/css/utilities/spacing.css.map +1 -1
- package/dist/css/utilities/typography.css +2 -2
- package/dist/css/utilities/typography.css.map +1 -1
- package/dist/css/utilities/visibility.css +2 -2
- package/dist/css/utilities/visibility.css.map +1 -1
- package/dist/css/utilities/visually-hidden.css +2 -2
- package/dist/css/utilities/visually-hidden.css.map +1 -1
- package/dist/css/utilities/width.css +2 -2
- package/dist/css/utilities/width.css.map +1 -1
- package/dist/css/utilities/z-index.css +1 -1
- package/dist/css/utilities/z-index.css.map +1 -1
- package/dist/css/utilities.css +2 -2
- package/dist/css/utilities.css.map +1 -1
- package/dist/js/accordion.js.map +1 -1
- package/dist/js/alert.js.map +1 -1
- package/dist/js/carousel.js.map +1 -1
- package/dist/js/component/accordion.cjs.js.map +1 -1
- package/dist/js/component/accordion.es.js.map +1 -1
- package/dist/js/component/accordion.iife.js.map +1 -1
- package/dist/js/component/alert.cjs.js.map +1 -1
- package/dist/js/component/alert.es.js.map +1 -1
- package/dist/js/component/alert.iife.js.map +1 -1
- package/dist/js/component/carousel.cjs.js.map +1 -1
- package/dist/js/component/carousel.es.js.map +1 -1
- package/dist/js/component/carousel.iife.js.map +1 -1
- package/dist/js/component/disclosure.cjs.js +2 -2
- package/dist/js/component/disclosure.cjs.js.map +1 -1
- package/dist/js/component/disclosure.es.js +2 -2
- package/dist/js/component/disclosure.es.js.map +1 -1
- package/dist/js/component/disclosure.iife.js +2 -2
- package/dist/js/component/disclosure.iife.js.map +1 -1
- package/dist/js/component/tabs.cjs.js +5 -0
- package/dist/js/component/tabs.cjs.js.map +1 -0
- package/dist/js/component/tabs.es.js +5 -0
- package/dist/js/component/tabs.es.js.map +1 -0
- package/dist/js/component/tabs.iife.js +5 -0
- package/dist/js/component/tabs.iife.js.map +1 -0
- package/dist/js/disclosure.js +2 -2
- package/dist/js/disclosure.js.map +1 -1
- package/dist/js/generator/accordion.cjs.js.map +1 -1
- package/dist/js/generator/accordion.es.js.map +1 -1
- package/dist/js/generator/accordion.iife.js.map +1 -1
- package/dist/js/generator/alert.cjs.js.map +1 -1
- package/dist/js/generator/alert.es.js.map +1 -1
- package/dist/js/generator/alert.iife.js.map +1 -1
- package/dist/js/generator/carousel.cjs.js.map +1 -1
- package/dist/js/generator/carousel.es.js.map +1 -1
- package/dist/js/generator/carousel.iife.js.map +1 -1
- package/dist/js/generator/disclosure.cjs.js +2 -2
- package/dist/js/generator/disclosure.cjs.js.map +1 -1
- package/dist/js/generator/disclosure.es.js +2 -2
- package/dist/js/generator/disclosure.es.js.map +1 -1
- package/dist/js/generator/disclosure.iife.js +2 -2
- package/dist/js/generator/disclosure.iife.js.map +1 -1
- package/dist/js/generator/navigation.cjs.js.map +1 -1
- package/dist/js/generator/navigation.es.js.map +1 -1
- package/dist/js/generator/navigation.iife.js.map +1 -1
- package/dist/js/generator/tabs.cjs.js +5 -0
- package/dist/js/generator/tabs.cjs.js.map +1 -0
- package/dist/js/generator/tabs.es.js +5 -0
- package/dist/js/generator/tabs.es.js.map +1 -0
- package/dist/js/generator/tabs.iife.js +5 -0
- package/dist/js/generator/tabs.iife.js.map +1 -0
- package/dist/js/graupl.js +5 -5
- package/dist/js/graupl.js.map +1 -1
- package/dist/js/navigation.js.map +1 -1
- package/dist/js/tabs.js +5 -0
- package/dist/js/tabs.js.map +1 -0
- package/package.json +4 -3
- package/src/js/disclosure/Disclosure.js +25 -45
- package/src/js/domHelpers.js +39 -22
- package/src/js/tabs/TabToggle.js +378 -0
- package/src/js/tabs/Tabs.js +1091 -0
- package/src/js/tabs/generator.js +32 -0
- package/src/js/tabs/index.js +5 -0
- package/src/scss/_defaults.scss +21 -88
- package/src/scss/_variables.scss +70 -0
- package/src/scss/base/button/_defaults.scss +2 -24
- package/src/scss/base/button/_index.scss +53 -52
- package/src/scss/base/button/_mixins.scss +24 -58
- package/src/scss/base/button/_variables.scss +139 -0
- package/src/scss/base/form/_defaults.scss +72 -2
- package/src/scss/base/form/_index.scss +196 -70
- package/src/scss/base/form/_variables.scss +166 -0
- package/src/scss/base/link/_defaults.scss +31 -0
- package/src/scss/base/link/_index.scss +177 -172
- package/src/scss/base/link/_variables.scss +215 -0
- package/src/scss/base/table/_defaults.scss +1 -11
- package/src/scss/base/table/_index.scss +126 -117
- package/src/scss/base/table/_variables.scss +214 -3
- package/src/scss/component/_index.scss +1 -0
- package/src/scss/component/accordion/_defaults.scss +73 -22
- package/src/scss/component/accordion/_index.scss +437 -62
- package/src/scss/component/accordion/_variables.scss +527 -101
- package/src/scss/component/alert/_defaults.scss +23 -32
- package/src/scss/component/alert/_index.scss +236 -30
- package/src/scss/component/alert/_variables.scss +155 -6
- package/src/scss/component/badge/_defaults.scss +1 -0
- package/src/scss/component/badge/_index.scss +25 -28
- package/src/scss/component/badge/_variables.scss +66 -2
- package/src/scss/component/card/_defaults.scss +64 -13
- package/src/scss/component/card/_index.scss +276 -30
- package/src/scss/component/card/_variables.scss +132 -0
- package/src/scss/component/carousel/_defaults.scss +73 -15
- package/src/scss/component/carousel/_index.scss +357 -41
- package/src/scss/component/carousel/_variables.scss +391 -0
- package/src/scss/component/disclosure/_index.scss +4 -4
- package/src/scss/component/disclosure/_variables.scss +127 -2
- package/src/scss/component/input-group/_defaults.scss +10 -3
- package/src/scss/component/input-group/_index.scss +72 -4
- package/src/scss/component/input-group/_variables.scss +37 -0
- package/src/scss/component/list/_defaults.scss +35 -2
- package/src/scss/component/list/_index.scss +159 -5
- package/src/scss/component/list/_variables.scss +152 -0
- package/src/scss/component/menu/_defaults.scss +49 -7
- package/src/scss/component/menu/_index.scss +325 -99
- package/src/scss/component/menu/_variables.scss +484 -1
- package/src/scss/component/navigation/_defaults.scss +45 -3
- package/src/scss/component/navigation/_index.scss +249 -98
- package/src/scss/component/navigation/_variables.scss +334 -5
- package/src/scss/component/tabs/_defaults.scss +82 -0
- package/src/scss/component/tabs/_index.scss +497 -0
- package/src/scss/component/tabs/_variables.scss +974 -0
- package/src/scss/layout/columns/_defaults.scss +5 -3
- package/src/scss/layout/columns/_index.scss +27 -21
- package/src/scss/layout/columns/_variables.scss +13 -0
- package/src/scss/layout/container/_defaults.scss +28 -11
- package/src/scss/layout/container/_index.scss +305 -161
- package/src/scss/layout/container/_variables.scss +148 -15
- package/src/scss/layout/flex-columns/_defaults.scss +5 -3
- package/src/scss/layout/flex-columns/_index.scss +28 -20
- package/src/scss/layout/flex-columns/_variables.scss +9 -0
- package/src/scss/mixins/_state.scss +37 -0
- package/src/scss/mixins/_theme.scss +36 -1
- package/src/scss/state/focus/_index.scss +17 -12
- package/src/scss/state/focus/_variables.scss +30 -4
- package/src/scss/theme/color/_defaults.scss +6 -35
- package/src/scss/theme/color/_index.scss +167 -1
- package/src/scss/theme/color/_variables.scss +155 -0
- package/src/scss/theme/typography/_defaults.scss +26 -19
- package/src/scss/theme/typography/_index.scss +176 -20
- package/src/scss/theme/typography/_variables.scss +186 -0
- package/src/scss/utilities/_template/_index.scss +0 -1
- package/src/scss/utilities/alignment/_defaults.scss +0 -33
- package/src/scss/utilities/alignment/_index.scss +24 -25
- package/src/scss/utilities/background/_defaults.scss +0 -77
- package/src/scss/utilities/background/_index.scss +32 -37
- package/src/scss/utilities/border/_defaults.scss +0 -33
- package/src/scss/utilities/border/_index.scss +25 -26
- package/src/scss/utilities/color/_defaults.scss +0 -19
- package/src/scss/utilities/color/_index.scss +22 -22
- package/src/scss/utilities/container/_defaults.scss +0 -11
- package/src/scss/utilities/container/_index.scss +20 -19
- package/src/scss/utilities/display/_defaults.scss +0 -11
- package/src/scss/utilities/display/_index.scss +20 -19
- package/src/scss/utilities/flex/_defaults.scss +0 -55
- package/src/scss/utilities/flex/_index.scss +28 -31
- package/src/scss/utilities/gradient/_defaults.scss +0 -28
- package/src/scss/utilities/gradient/_index.scss +27 -28
- package/src/scss/utilities/gradient/_variables.scss +15 -0
- package/src/scss/utilities/height/_defaults.scss +0 -8
- package/src/scss/utilities/height/_index.scss +22 -21
- package/src/scss/utilities/inset/_defaults.scss +0 -16
- package/src/scss/utilities/inset/_index.scss +20 -20
- package/src/scss/utilities/justification/_defaults.scss +0 -33
- package/src/scss/utilities/justification/_index.scss +24 -25
- package/src/scss/utilities/list/_defaults.scss +0 -22
- package/src/scss/utilities/list/_index.scss +22 -22
- package/src/scss/utilities/order/_defaults.scss +0 -8
- package/src/scss/utilities/order/_index.scss +20 -19
- package/src/scss/utilities/position/_defaults.scss +0 -11
- package/src/scss/utilities/position/_index.scss +20 -19
- package/src/scss/utilities/ratio/_defaults.scss +0 -8
- package/src/scss/utilities/ratio/_index.scss +22 -21
- package/src/scss/utilities/ratio/_variables.scss +6 -0
- package/src/scss/utilities/spacing/_defaults.scss +0 -11
- package/src/scss/utilities/spacing/_index.scss +18 -17
- package/src/scss/utilities/typography/_defaults.scss +0 -22
- package/src/scss/utilities/typography/_index.scss +27 -26
- package/src/scss/utilities/visibility/_defaults.scss +0 -11
- package/src/scss/utilities/visibility/_index.scss +19 -18
- package/src/scss/utilities/visually-hidden/_index.scss +19 -17
- package/src/scss/utilities/width/_defaults.scss +0 -8
- package/src/scss/utilities/width/_index.scss +21 -20
- package/src/scss/utilities/z-index/_defaults.scss +0 -11
- package/src/scss/utilities/z-index/_index.scss +19 -18
|
@@ -11,17 +11,30 @@
|
|
|
11
11
|
@use "sass:map";
|
|
12
12
|
|
|
13
13
|
// Alert selectors.
|
|
14
|
+
$selector-base: root-defaults.$component-selector-base !default;
|
|
15
|
+
$modifier-selector-base: root-defaults.$modifier-selector-base !default;
|
|
14
16
|
$generate-base-theme-map: root-defaults.$generate-base-theme-maps !default;
|
|
15
|
-
$
|
|
16
|
-
$alert-
|
|
17
|
-
$alert-
|
|
18
|
-
$alert-
|
|
19
|
-
$alert-
|
|
20
|
-
$alert-
|
|
21
|
-
$alert-
|
|
22
|
-
$alert-
|
|
23
|
-
$alert-
|
|
24
|
-
$alert-
|
|
17
|
+
$themeable: true !default;
|
|
18
|
+
$alert-selector-base: $selector-base !default;
|
|
19
|
+
$alert-selector: "alert" !default;
|
|
20
|
+
$alert-theme-selector-base: $modifier-selector-base !default;
|
|
21
|
+
$alert-theme-selector-prefix: "" !default;
|
|
22
|
+
$alert-body-selector-base: $selector-base !default;
|
|
23
|
+
$alert-body-selector: "alert-body" !default;
|
|
24
|
+
$alert-header-selector-base: $selector-base !default;
|
|
25
|
+
$alert-header-selector: "alert-header" !default;
|
|
26
|
+
$alert-footer-selector-base: $selector-base !default;
|
|
27
|
+
$alert-footer-selector: "alert-footer" !default;
|
|
28
|
+
$alert-title-selector-base: $selector-base !default;
|
|
29
|
+
$alert-title-selector: "alert-title" !default;
|
|
30
|
+
$alert-dismisser-selector-base: $selector-base !default;
|
|
31
|
+
$alert-dismisser-selector: "alert-dismisser" !default;
|
|
32
|
+
$alert-hidden-selector-base: $modifier-selector-base !default;
|
|
33
|
+
$alert-hidden-selector: "hide" !default;
|
|
34
|
+
$alert-shown-selector-base: $modifier-selector-base !default;
|
|
35
|
+
$alert-shown-selector: "show" !default;
|
|
36
|
+
$alert-transition-selector-base: $modifier-selector-base !default;
|
|
37
|
+
$alert-transition-selector: "transitioning" !default;
|
|
25
38
|
|
|
26
39
|
// Alert state theme defaults.
|
|
27
40
|
// This map is used to define the default colour shades for the
|
|
@@ -45,30 +58,8 @@ $-alert-theme-mappings: (
|
|
|
45
58
|
link-active-color: 900,
|
|
46
59
|
link-disabled-color: 400,
|
|
47
60
|
);
|
|
48
|
-
$custom-alert-state-theme-map: () !default;
|
|
49
|
-
$alert-state-theme-map: () !default;
|
|
50
61
|
$alert-theme-mappings: () !default;
|
|
51
62
|
|
|
52
|
-
// @todo remove this once $custom-alert-state-theme-map is removed
|
|
53
|
-
@if $custom-alert-state-theme-map != () {
|
|
54
|
-
@warn "`$custom-alert-state-theme-map` is deprecated and will be removed in a future release of Graupl. Use `$alert-theme-mappings` instead.";
|
|
55
|
-
|
|
56
|
-
$alert-state-theme-map: map.merge(
|
|
57
|
-
$alert-theme-mappings,
|
|
58
|
-
$custom-alert-state-theme-map
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// @todo remove the once $alert-state-theme-map is removed
|
|
63
|
-
@if $alert-state-theme-map != () {
|
|
64
|
-
@warn "`$alert-state-theme-map` is deprecated and will be removed in a future release of Graupl. Use `$alert-theme-mappings` instead.";
|
|
65
|
-
|
|
66
|
-
$alert-theme-mappings: map.merge(
|
|
67
|
-
$alert-theme-mappings,
|
|
68
|
-
$alert-state-theme-map
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
63
|
// Merge the custom alert state theme map with the default one.
|
|
73
64
|
@if $generate-base-theme-map {
|
|
74
65
|
$alert-theme-mappings: map.merge(
|
|
@@ -1,23 +1,219 @@
|
|
|
1
1
|
// @graupl/core alert component styles.
|
|
2
|
+
//
|
|
3
|
+
// This module provides the alert component styles.
|
|
4
|
+
//
|
|
5
|
+
// The following selectors are generated by default:
|
|
6
|
+
// - `.alert`: The alert container.
|
|
7
|
+
// - `.alert-body`: The alert body content.
|
|
8
|
+
// - `.alert-header`: The alert header content.
|
|
9
|
+
// - `.alert-footer`: The alert footer content.
|
|
10
|
+
// - `.alert-title`: The alert title element.
|
|
11
|
+
// - `.alert-dismisser`: The alert dismisser control.
|
|
12
|
+
// - `.show`: Modifier applied when the alert is shown.
|
|
13
|
+
// - `.hide`: Modifier applied when the alert is hidden.
|
|
14
|
+
// - `.transitioning`: Modifier applied while the alert is transitioning.
|
|
15
|
+
//
|
|
16
|
+
// The following custom properties can be used to customize the alert component:
|
|
17
|
+
// | Property | Description | Default Value |
|
|
18
|
+
// | --- | --- | --- |
|
|
19
|
+
// | `--graupl-alert-padding-x` | Horizontal padding of the alert. | `var(--graupl-spacer-5)` |
|
|
20
|
+
// | `--graupl-alert-padding-y` | Vertical padding of the alert. | `var(--graupl-spacer-5)` |
|
|
21
|
+
// | `--graupl-alert-padding` | Shorthand padding of the alert. | `var(--graupl-alert-padding-y) var(--graupl-alert-padding-x)` |
|
|
22
|
+
// | `--graupl-alert-gap` | Gap inside the alert (column/row). | `var(--graupl-alert-column-gap) var(--graupl-alert-row-gap)` |
|
|
23
|
+
// | `--graupl-alert-background` | Background colour of the alert. | `var(--graupl-background)` |
|
|
24
|
+
// | `--graupl-alert-color` | Text colour of the alert. | `var(--graupl-color)` |
|
|
25
|
+
// | `--graupl-alert-border-width` | Border width of the alert. | `var(--graupl-border-top-width) var(--graupl-border-right-width) var(--graupl-border-bottom-width) var(--graupl-border-left-width)` |
|
|
26
|
+
// | `--graupl-alert-border-style` | Border style of the alert. | `var(--graupl-border-top-style) var(--graupl-border-right-style) var(--graupl-border-bottom-style) var(--graupl-border-left-style)` |
|
|
27
|
+
// | `--graupl-alert-border-radius` | Border radius of the alert. | `var(--graupl-border-top-left-radius) var(--graupl-border-top-right-radius) var(--graupl-border-bottom-right-radius) var(--graupl-border-bottom-left-radius)` |
|
|
28
|
+
// | `--graupl-alert-border-color` | Border colour of the alert. | `var(--graupl-alert-color)` |
|
|
29
|
+
// | `--graupl-alert-transition` | Transition applied to alert appearance. | `opacity var(--graupl-transition-duration-fast) var(--graupl-transition-timing-function), transform var(--graupl-transition-duration-fast) var(--graupl-transition-timing-function)` |
|
|
30
|
+
// | `--graupl-alert-transition-reduced-motion` | Transition when reduced motion is enabled. | `opacity var(--graupl-transition-duration-fast) var(--graupl-transition-timing-function)` |
|
|
31
|
+
// | `--graupl-alert-header-padding` | Padding for the alert header. | `0 0` |
|
|
32
|
+
// | `--graupl-alert-body-padding` | Padding for the alert body. | `0 0` |
|
|
33
|
+
// | `--graupl-alert-footer-padding` | Padding for the alert footer. | `0 0` |
|
|
34
|
+
// | `--graupl-alert-title-color` | Text colour of the alert title. | `var(--graupl-alert-color)` |
|
|
35
|
+
// | `--graupl-alert-title-font-size` | Font size of the alert title. | `var(--graupl-h4)` |
|
|
36
|
+
// | `--graupl-alert-title-font-weight` | Font weight of the alert title. | `var(--graupl-font-weight-h4)` |
|
|
37
|
+
// | `--graupl-alert-title-font-family` | Font family of the alert title. | `var(--graupl-font-family-h4)` |
|
|
38
|
+
// | `--graupl-alert-title-line-height` | Line height of the alert title. | `var(--graupl-line-height-h4)` |
|
|
39
|
+
// | `--graupl-alert-title-margin` | Margin for the alert title. | `0 0 0 0` |
|
|
40
|
+
// | `--graupl-alert-link-color` | Link colour inside alerts. | `unset` (inherits) |
|
|
41
|
+
// | `--graupl-alert-link-visited-color` | Visited link colour inside alerts. | `unset` |
|
|
42
|
+
// | `--graupl-alert-link-focus-color` | Focused link colour inside alerts. | `unset` |
|
|
43
|
+
// | `--graupl-alert-link-hover-color` | Hovered link colour inside alerts. | `unset` |
|
|
44
|
+
// | `--graupl-alert-link-active-color` | Active link colour inside alerts. | `unset` |
|
|
45
|
+
// | `--graupl-alert-link-disabled-color` | Disabled link colour inside alerts. | `unset` |
|
|
46
|
+
//
|
|
47
|
+
// The following sass variables can be used to customize the generation of the alert component:
|
|
48
|
+
// | Variable | Description | Default Value |
|
|
49
|
+
// | --- | --- | --- |
|
|
50
|
+
// | `$selector-base` | Selector base for the component. | `"."` |
|
|
51
|
+
// | `$modifier-selector-base` | Selector base for component modifiers. | `"."` |
|
|
52
|
+
// | `$generate-base-theme-map` | Flag to generate the base theme map. | `true` |
|
|
53
|
+
// | `$themeable` | Flag to generate theme modifiers. | `true` |
|
|
54
|
+
// | `$alert-selector-base` | Selector base for the alert container. | `$selector-base` |
|
|
55
|
+
// | `$alert-selector` | Selector for the alert container. | `"alert"` |
|
|
56
|
+
// | `$alert-theme-selector-base` | Selector base for theme modifiers. | `"."` |
|
|
57
|
+
// | `$alert-theme-selector-prefix` | Selector prefix for theme modifiers. | `""` |
|
|
58
|
+
// | `$alert-body-selector-base` | Selector base for the alert body. | `$selector-base` |
|
|
59
|
+
// | `$alert-body-selector` | Selector for the alert body. | `"alert-body"` |
|
|
60
|
+
// | `$alert-header-selector-base` | Selector base for the alert header. | `$selector-base` |
|
|
61
|
+
// | `$alert-header-selector` | Selector for the alert header. | `"alert-header"` |
|
|
62
|
+
// | `$alert-footer-selector-base` | Selector base for the alert footer. | `$selector-base` |
|
|
63
|
+
// | `$alert-footer-selector` | Selector for the alert footer. | `"alert-footer"` |
|
|
64
|
+
// | `$alert-title-selector-base` | Selector base for the alert title. | `$selector-base` |
|
|
65
|
+
// | `$alert-title-selector` | Selector for the alert title. | `"alert-title"` |
|
|
66
|
+
// | `$alert-dismisser-selector-base` | Selector base for the alert dismisser. | `$selector-base` |
|
|
67
|
+
// | `$alert-dismisser-selector` | Selector for the alert dismisser. | `"alert-dismisser"` |
|
|
68
|
+
// | `$alert-hidden-selector-base` | Selector base for the hidden modifier. | `"."` |
|
|
69
|
+
// | `$alert-hidden-selector` | Selector applied when hidden. | `"hide"` |
|
|
70
|
+
// | `$alert-shown-selector-base` | Selector base for the shown modifier. | `"."` |
|
|
71
|
+
// | `$alert-shown-selector` | Selector applied when shown. | `"show"` |
|
|
72
|
+
// | `$alert-transition-selector-base` | Selector base for the transitioning modifier. | `"."` |
|
|
73
|
+
// | `$alert-transition-selector` | Selector applied while transitioning. | `"transitioning"` |
|
|
74
|
+
//
|
|
75
|
+
// ## Using `$alert-theme-mappings`
|
|
76
|
+
//
|
|
77
|
+
// `$alert-theme-mappings` is a 1-level map of properties and shade values.
|
|
78
|
+
//
|
|
79
|
+
// e.g.
|
|
80
|
+
// ```scss
|
|
81
|
+
// $alert-theme-mappings: (
|
|
82
|
+
// border-color: 700,
|
|
83
|
+
// )
|
|
84
|
+
// ```
|
|
85
|
+
//
|
|
86
|
+
// This directly[1] maps to all alert variants, telling them what shade to use for said property.
|
|
87
|
+
// All alert variants will use the following based on the example above:
|
|
88
|
+
// - Primary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--primary--700`,
|
|
89
|
+
// - Secondary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--secondary--700`, and
|
|
90
|
+
// - Tertiary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--tertiary--700`.
|
|
91
|
+
//
|
|
92
|
+
// You can use this to customize _all_ alerts variants in the same way.
|
|
93
|
+
//
|
|
94
|
+
// For example, if you use the following map:
|
|
95
|
+
// ```scss
|
|
96
|
+
// $alert-theme-mappings: (
|
|
97
|
+
// border-color: 500,
|
|
98
|
+
// )
|
|
99
|
+
// ```
|
|
100
|
+
//
|
|
101
|
+
// All alert variants will use the following:
|
|
102
|
+
// - Primary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--primary--500`,
|
|
103
|
+
// - Secondary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--secondary--500`, and
|
|
104
|
+
// - Tertiary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--tertiary--500`.
|
|
105
|
+
//
|
|
106
|
+
// [1] `$alert-theme-mappings` gets parsed into a larger, more explicit map: `$alert-theme-map`.
|
|
107
|
+
//
|
|
108
|
+
// Using `$alert-theme-map`
|
|
109
|
+
//
|
|
110
|
+
// `$alert-theme-map` is a multi-level map of properties, colors, and shade values.
|
|
111
|
+
//
|
|
112
|
+
// e.g.
|
|
113
|
+
// ```scss
|
|
114
|
+
// $alert-theme-map: (
|
|
115
|
+
// primary: (
|
|
116
|
+
// border-color: (
|
|
117
|
+
// color: primary,
|
|
118
|
+
// shade: 700
|
|
119
|
+
// ),
|
|
120
|
+
// ),
|
|
121
|
+
// secondary: (
|
|
122
|
+
// border-color: (
|
|
123
|
+
// color: secondary,
|
|
124
|
+
// shade: 700
|
|
125
|
+
// ),
|
|
126
|
+
// ),
|
|
127
|
+
// tertiary: (
|
|
128
|
+
// border-color: (
|
|
129
|
+
// color: tertiary,
|
|
130
|
+
// shade: 700
|
|
131
|
+
// ),
|
|
132
|
+
// ),
|
|
133
|
+
// )
|
|
134
|
+
// ```
|
|
135
|
+
//
|
|
136
|
+
// This directly maps to all alert variants, telling them what shade to use for said property.
|
|
137
|
+
// The alert variants will use the following based on the example above:
|
|
138
|
+
// - Primary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--primary--700`,
|
|
139
|
+
// - Secondary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--secondary--700`, and
|
|
140
|
+
// - Tertiary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--tertiary--700`.
|
|
141
|
+
//
|
|
142
|
+
// You can use this to customize alert variants individually.
|
|
143
|
+
//
|
|
144
|
+
// For example, if you use the following map:
|
|
145
|
+
//
|
|
146
|
+
// ```scss
|
|
147
|
+
// $alert-theme-map: (
|
|
148
|
+
// primary: (
|
|
149
|
+
// border-color: (
|
|
150
|
+
// color: secondary,
|
|
151
|
+
// shade: 700
|
|
152
|
+
// ),
|
|
153
|
+
// ),
|
|
154
|
+
// secondary: (
|
|
155
|
+
// border-color: (
|
|
156
|
+
// color: secondary,
|
|
157
|
+
// shade: 700
|
|
158
|
+
// ),
|
|
159
|
+
// ),
|
|
160
|
+
// tertiary: (
|
|
161
|
+
// border-color: (
|
|
162
|
+
// color: secondary,
|
|
163
|
+
// shade: 700
|
|
164
|
+
// ),
|
|
165
|
+
// ),
|
|
166
|
+
// )
|
|
167
|
+
// ```
|
|
168
|
+
//
|
|
169
|
+
// The alert variants will use the following:
|
|
170
|
+
// - Primary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--secondary--700`,
|
|
171
|
+
// - Secondary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--secondary--700`, and
|
|
172
|
+
// - Tertiary alerts will have their `--graupl-alert-border-color` property set to `--graupl-theme-active--secondary--700`.
|
|
173
|
+
//
|
|
174
|
+
// @example
|
|
175
|
+
// <div class="alert">
|
|
176
|
+
// <div class="alert-header">
|
|
177
|
+
// <h3 class="alert-title">Alert</h3>
|
|
178
|
+
// </div>
|
|
179
|
+
// <div class="alert-body">
|
|
180
|
+
// <p>This is some text that describes the alert.</p>
|
|
181
|
+
// </div>
|
|
182
|
+
// </div>
|
|
183
|
+
//
|
|
184
|
+
// @example
|
|
185
|
+
// <div class="alert primary">
|
|
186
|
+
// <div class="alert-header">
|
|
187
|
+
// <h3 class="alert-title">Alert</h3>
|
|
188
|
+
// </div>
|
|
189
|
+
// <div class="alert-body">
|
|
190
|
+
// <p>This is some text that describes the alert.</p>
|
|
191
|
+
// </div>
|
|
192
|
+
// <div class="alert-footer">
|
|
193
|
+
// <a href="#">Action</a>
|
|
194
|
+
// </div>
|
|
195
|
+
// <button class="alert-dismisser">x</button>
|
|
196
|
+
// </div>
|
|
2
197
|
|
|
3
198
|
@use "defaults";
|
|
4
199
|
@use "variables" as *;
|
|
5
200
|
@use "../../defaults" as root-defaults;
|
|
6
|
-
@use "../../theme/color/variables" as color;
|
|
7
201
|
@use "../../mixins/layer" as *;
|
|
8
202
|
@use "../../mixins/animation";
|
|
9
|
-
@use "../../
|
|
203
|
+
@use "../../mixins/theme";
|
|
10
204
|
@use "../../base/button/mixins" as button-mixins;
|
|
11
205
|
@use "sass:map";
|
|
12
206
|
|
|
13
207
|
@include layer(base) {
|
|
14
|
-
|
|
208
|
+
// .alert-dismisser
|
|
209
|
+
#{defaults.$alert-dismisser-selector-base}#{defaults.$alert-dismisser-selector} {
|
|
15
210
|
@include button-mixins.apply-base;
|
|
16
211
|
}
|
|
17
212
|
}
|
|
18
213
|
|
|
19
214
|
@include layer(component) {
|
|
20
|
-
|
|
215
|
+
// .alert
|
|
216
|
+
#{defaults.$alert-selector-base}#{defaults.$alert-selector} {
|
|
21
217
|
--#{root-defaults.$prefix}button-border: 0;
|
|
22
218
|
|
|
23
219
|
display: grid;
|
|
@@ -30,57 +226,67 @@
|
|
|
30
226
|
border-radius: $alert-border-radius;
|
|
31
227
|
gap: $alert-gap;
|
|
32
228
|
|
|
33
|
-
|
|
229
|
+
// &.hide
|
|
230
|
+
&#{defaults.$alert-hidden-selector-base}#{defaults.$alert-hidden-selector} {
|
|
34
231
|
display: none;
|
|
35
232
|
}
|
|
36
233
|
|
|
37
|
-
|
|
234
|
+
// &.transitioning
|
|
235
|
+
&#{defaults.$alert-transition-selector-base}#{defaults.$alert-transition-selector} {
|
|
38
236
|
display: grid;
|
|
39
237
|
opacity: 0;
|
|
40
238
|
}
|
|
41
239
|
|
|
42
|
-
|
|
240
|
+
// &.show
|
|
241
|
+
&#{defaults.$alert-shown-selector-base}#{defaults.$alert-shown-selector} {
|
|
43
242
|
display: grid;
|
|
44
243
|
}
|
|
45
|
-
|
|
46
|
-
@include animation.off {
|
|
47
|
-
#{defaults.$alert-selector} {
|
|
48
|
-
--#{root-defaults.$prefix}alert-transition: #{$alert-transition-reduced-motion};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
244
|
}
|
|
52
245
|
|
|
53
|
-
|
|
246
|
+
// .alert-header
|
|
247
|
+
#{defaults.$alert-header-selector-base}#{defaults.$alert-header-selector} {
|
|
54
248
|
grid-column: content;
|
|
55
249
|
grid-row: header;
|
|
56
250
|
padding: $alert-header-padding;
|
|
57
251
|
}
|
|
58
252
|
|
|
59
|
-
|
|
253
|
+
// .alert-body
|
|
254
|
+
#{defaults.$alert-body-selector-base}#{defaults.$alert-body-selector} {
|
|
60
255
|
grid-column: content;
|
|
61
256
|
grid-row: body;
|
|
62
257
|
padding: $alert-body-padding;
|
|
63
258
|
}
|
|
64
259
|
|
|
65
|
-
|
|
260
|
+
// .alert-footer
|
|
261
|
+
#{defaults.$alert-footer-selector-base}#{defaults.$alert-footer-selector} {
|
|
66
262
|
grid-column: content;
|
|
67
263
|
grid-row: footer;
|
|
68
264
|
padding: $alert-footer-padding;
|
|
69
265
|
}
|
|
70
266
|
|
|
71
|
-
|
|
267
|
+
// .alert-dismisser
|
|
268
|
+
#{defaults.$alert-dismisser-selector-base}#{defaults.$alert-dismisser-selector} {
|
|
72
269
|
grid-column: dismiss;
|
|
73
270
|
grid-row: 1 / -1;
|
|
74
271
|
align-self: flex-start;
|
|
75
272
|
}
|
|
76
273
|
|
|
77
|
-
|
|
274
|
+
// .alert-title
|
|
275
|
+
#{defaults.$alert-title-selector-base}#{defaults.$alert-title-selector} {
|
|
78
276
|
margin: $alert-title-margin;
|
|
79
277
|
}
|
|
278
|
+
|
|
279
|
+
@include animation.off {
|
|
280
|
+
// .alert
|
|
281
|
+
#{defaults.$alert-selector-base}#{defaults.$alert-selector} {
|
|
282
|
+
--#{root-defaults.$prefix}alert-transition: #{$alert-transition-reduced-motion};
|
|
283
|
+
}
|
|
284
|
+
}
|
|
80
285
|
}
|
|
81
286
|
|
|
82
287
|
@include layer(theme) {
|
|
83
|
-
|
|
288
|
+
// .alert
|
|
289
|
+
#{defaults.$alert-selector-base}#{defaults.$alert-selector} {
|
|
84
290
|
--#{root-defaults.$prefix}button-background: #{$alert-background};
|
|
85
291
|
--#{root-defaults.$prefix}button-focus-background: #{$alert-background};
|
|
86
292
|
--#{root-defaults.$prefix}link-color: #{$alert-link-color};
|
|
@@ -94,23 +300,23 @@
|
|
|
94
300
|
background-color: $alert-background;
|
|
95
301
|
color: $alert-color;
|
|
96
302
|
|
|
97
|
-
@
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
}
|
|
303
|
+
@if root-defaults.$themeable-components and defaults.$themeable {
|
|
304
|
+
@include theme.generate-modifiers(
|
|
305
|
+
defaults.$alert-theme-map,
|
|
306
|
+
defaults.$alert-theme-selector-base,
|
|
307
|
+
defaults.$alert-theme-selector-prefix,
|
|
308
|
+
"alert-"
|
|
309
|
+
);
|
|
106
310
|
}
|
|
107
311
|
}
|
|
108
312
|
|
|
109
|
-
|
|
313
|
+
// .alert-dismisser
|
|
314
|
+
#{defaults.$alert-dismisser-selector-base}#{defaults.$alert-dismisser-selector} {
|
|
110
315
|
@include button-mixins.apply-theme;
|
|
111
316
|
}
|
|
112
317
|
|
|
113
|
-
|
|
318
|
+
// .alert-title
|
|
319
|
+
#{defaults.$alert-title-selector-base}#{defaults.$alert-title-selector} {
|
|
114
320
|
color: $alert-title-color;
|
|
115
321
|
font-size: $alert-title-font-size;
|
|
116
322
|
font-weight: $alert-title-font-weight;
|