@oruga-ui/theme-oruga 0.0.1

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.
Files changed (116) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +115 -0
  3. package/dist/oruga-full.css +3778 -0
  4. package/dist/oruga-full.min.css +1 -0
  5. package/dist/oruga.css +2209 -0
  6. package/dist/oruga.min.css +1 -0
  7. package/dist/scss/components/_autocomplete.scss +130 -0
  8. package/dist/scss/components/_button.scss +242 -0
  9. package/dist/scss/components/_carousel.scss +256 -0
  10. package/dist/scss/components/_checkbox.scss +183 -0
  11. package/dist/scss/components/_collapse.scss +12 -0
  12. package/dist/scss/components/_datepicker.scss +592 -0
  13. package/dist/scss/components/_datetimepicker.scss +10 -0
  14. package/dist/scss/components/_dropdown.scss +241 -0
  15. package/dist/scss/components/_field.scss +154 -0
  16. package/dist/scss/components/_icon.scss +53 -0
  17. package/dist/scss/components/_input.scss +153 -0
  18. package/dist/scss/components/_inputitems.scss +175 -0
  19. package/dist/scss/components/_loading.scss +45 -0
  20. package/dist/scss/components/_menu.scss +124 -0
  21. package/dist/scss/components/_modal.scss +103 -0
  22. package/dist/scss/components/_notification.scss +212 -0
  23. package/dist/scss/components/_pagination.scss +256 -0
  24. package/dist/scss/components/_radio.scss +121 -0
  25. package/dist/scss/components/_select.scss +168 -0
  26. package/dist/scss/components/_sidebar.scss +112 -0
  27. package/dist/scss/components/_skeleton.scss +93 -0
  28. package/dist/scss/components/_slider.scss +241 -0
  29. package/dist/scss/components/_steps.scss +599 -0
  30. package/dist/scss/components/_switch.scss +171 -0
  31. package/dist/scss/components/_table.scss +481 -0
  32. package/dist/scss/components/_tabs.scss +385 -0
  33. package/dist/scss/components/_timepicker.scss +116 -0
  34. package/dist/scss/components/_tooltip.scss +345 -0
  35. package/dist/scss/components/_upload.scss +74 -0
  36. package/dist/scss/oruga-common.scss +37 -0
  37. package/dist/scss/oruga-full.scss +9 -0
  38. package/dist/scss/oruga.scss +197 -0
  39. package/dist/scss/utils/_animations.scss +231 -0
  40. package/dist/scss/utils/_base.scss +31 -0
  41. package/dist/scss/utils/_helpers.scss +211 -0
  42. package/dist/scss/utils/_root.scss +28 -0
  43. package/dist/scss/utils/_variables.scss +105 -0
  44. package/dist/theme.js +8 -0
  45. package/package.json +72 -0
  46. package/src/App.vue +104 -0
  47. package/src/assets/scss/components/_autocomplete.scss +130 -0
  48. package/src/assets/scss/components/_button.scss +242 -0
  49. package/src/assets/scss/components/_carousel.scss +256 -0
  50. package/src/assets/scss/components/_checkbox.scss +183 -0
  51. package/src/assets/scss/components/_collapse.scss +12 -0
  52. package/src/assets/scss/components/_datepicker.scss +592 -0
  53. package/src/assets/scss/components/_datetimepicker.scss +10 -0
  54. package/src/assets/scss/components/_dropdown.scss +241 -0
  55. package/src/assets/scss/components/_field.scss +154 -0
  56. package/src/assets/scss/components/_icon.scss +53 -0
  57. package/src/assets/scss/components/_input.scss +153 -0
  58. package/src/assets/scss/components/_inputitems.scss +175 -0
  59. package/src/assets/scss/components/_loading.scss +45 -0
  60. package/src/assets/scss/components/_menu.scss +124 -0
  61. package/src/assets/scss/components/_modal.scss +103 -0
  62. package/src/assets/scss/components/_notification.scss +212 -0
  63. package/src/assets/scss/components/_pagination.scss +256 -0
  64. package/src/assets/scss/components/_radio.scss +121 -0
  65. package/src/assets/scss/components/_select.scss +168 -0
  66. package/src/assets/scss/components/_sidebar.scss +112 -0
  67. package/src/assets/scss/components/_skeleton.scss +93 -0
  68. package/src/assets/scss/components/_slider.scss +241 -0
  69. package/src/assets/scss/components/_steps.scss +599 -0
  70. package/src/assets/scss/components/_switch.scss +171 -0
  71. package/src/assets/scss/components/_table.scss +481 -0
  72. package/src/assets/scss/components/_tabs.scss +385 -0
  73. package/src/assets/scss/components/_timepicker.scss +116 -0
  74. package/src/assets/scss/components/_tooltip.scss +345 -0
  75. package/src/assets/scss/components/_upload.scss +74 -0
  76. package/src/assets/scss/oruga-common.scss +37 -0
  77. package/src/assets/scss/oruga-full.scss +9 -0
  78. package/src/assets/scss/oruga.scss +197 -0
  79. package/src/assets/scss/utils/_animations.scss +231 -0
  80. package/src/assets/scss/utils/_base.scss +31 -0
  81. package/src/assets/scss/utils/_helpers.scss +211 -0
  82. package/src/assets/scss/utils/_root.scss +28 -0
  83. package/src/assets/scss/utils/_variables.scss +105 -0
  84. package/src/components/Autocomplete.vue +606 -0
  85. package/src/components/Button.vue +80 -0
  86. package/src/components/Carousel.vue +296 -0
  87. package/src/components/Checkbox.vue +134 -0
  88. package/src/components/Collapse.vue +132 -0
  89. package/src/components/Datepicker.vue +285 -0
  90. package/src/components/Datetimepicker.vue +127 -0
  91. package/src/components/Dropdown.vue +284 -0
  92. package/src/components/Field.vue +243 -0
  93. package/src/components/Icon.vue +66 -0
  94. package/src/components/Input.vue +121 -0
  95. package/src/components/Loading.vue +71 -0
  96. package/src/components/Modal.vue +171 -0
  97. package/src/components/Notification.vue +136 -0
  98. package/src/components/Pagination.vue +97 -0
  99. package/src/components/Radio.vue +95 -0
  100. package/src/components/Select.vue +155 -0
  101. package/src/components/Sidebar.vue +56 -0
  102. package/src/components/Skeleton.vue +57 -0
  103. package/src/components/Slider.vue +226 -0
  104. package/src/components/Steps.vue +234 -0
  105. package/src/components/Switch.vue +134 -0
  106. package/src/components/Table.vue +285 -0
  107. package/src/components/Tabs.vue +208 -0
  108. package/src/components/Taginput.vue +507 -0
  109. package/src/components/Timepicker.vue +124 -0
  110. package/src/components/Tooltip.vue +149 -0
  111. package/src/components/Upload.vue +66 -0
  112. package/src/main.ts +29 -0
  113. package/src/plugins/theme.ts +1 -0
  114. package/src/router/index.ts +39 -0
  115. package/src/views/Home.vue +24 -0
  116. package/types/index.d.ts +1 -0
@@ -0,0 +1,175 @@
1
+ @use "sass:list";
2
+
3
+ /* @docs */
4
+ $inputitems-background-color: $input-background-color !default;
5
+ $inputitems-height: calc(2em - 1px) !default;
6
+ $inputitems-padding: calc(0.275em - 1px) 0 0 !default;
7
+ $inputitems-border-color: $grey-lighter !default;
8
+ $inputitems-border-style: solid !default;
9
+ $inputitems-border-width: 1px !default;
10
+ $inputitems-border-radius: $base-border-radius !default;
11
+ $inputitems-color: #363636 !default;
12
+ $inputitems-line-height: $base-line-height !default;
13
+ $inputitems-box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, 0.1) !default;
14
+ $inputitems-max-width: 100% !default;
15
+ $inputitems-width: 100% !default;
16
+ $inputitems-counter-font-size: 0.75rem !default;
17
+ $inputitems-counter-margin: 0.25rem 0 0 0.5rem !default;
18
+ $inputitems-item-background-color: $primary !default;
19
+ $inputitems-item-color: $primary-invert !default;
20
+ $inputitems-item-border-radius: $base-border-radius !default;
21
+ $inputitems-item-margin: 0 0 0 0.275em !default;
22
+ $inputitems-item-padding: 0 0.75em 0 0.75em !default;
23
+ $inputitems-margin-icon-to-text: 0.1875em !default;
24
+ /* @docs */
25
+
26
+ .o-inputit {
27
+ display: block;
28
+
29
+ &__container {
30
+ display: flex;
31
+ align-items: center;
32
+ justify-content: flex-start;
33
+ position: relative;
34
+ vertical-align: top;
35
+ flex-wrap: wrap;
36
+
37
+ @include avariable(
38
+ "max-width",
39
+ "inputitems-max-width",
40
+ $inputitems-max-width
41
+ );
42
+ @include avariable("width", "inputitems-width", $inputitems-width);
43
+ @include avariable("padding", "inputitems-padding", $inputitems-padding);
44
+ @include avariable(
45
+ "background-color",
46
+ "inputitems-background-color",
47
+ $inputitems-background-color
48
+ );
49
+ @include avariable(
50
+ "border-color",
51
+ "inputitems-border-color",
52
+ $inputitems-border-color
53
+ );
54
+ @include avariable(
55
+ "border-style",
56
+ "inputitems-border-style",
57
+ $inputitems-border-style
58
+ );
59
+ @include avariable(
60
+ "border-width",
61
+ "inputitems-border-width",
62
+ $inputitems-border-width
63
+ );
64
+ @include avariable(
65
+ "border-radius",
66
+ "inputitems-border-radius",
67
+ $inputitems-border-radius
68
+ );
69
+ @include avariable("color", "inputitems-color", $inputitems-color);
70
+ @include avariable("font-size", "base-font-size", $base-font-size);
71
+ @include avariable(
72
+ "line-height",
73
+ "inputitems-line-height",
74
+ $inputitems-line-height
75
+ );
76
+ @include avariable(
77
+ "box-shadow",
78
+ "inputitems-box-shadow",
79
+ $inputitems-box-shadow
80
+ );
81
+
82
+ @each $name, $value in $sizes {
83
+ &--#{$name} {
84
+ @include avariable(
85
+ "font-size",
86
+ ("inputitems-font-size-" + #{$name}),
87
+ $value
88
+ );
89
+ }
90
+ }
91
+ }
92
+
93
+ &__autocomplete {
94
+ position: static;
95
+ flex: 1;
96
+ }
97
+
98
+ &__input {
99
+ border: none;
100
+ box-shadow: none;
101
+
102
+ &:focus {
103
+ box-shadow: none;
104
+ }
105
+ }
106
+
107
+ &__item {
108
+ display: inline-flex;
109
+ justify-content: center;
110
+ align-items: center;
111
+ position: relative;
112
+
113
+ @include side-flex-gap($inputitems-margin-icon-to-text);
114
+ @include avariable(
115
+ "background-color",
116
+ "inputitems-item-background-color",
117
+ $inputitems-item-background-color
118
+ );
119
+ @include avariable(
120
+ "color",
121
+ "inputitems-item-color",
122
+ $inputitems-item-color
123
+ );
124
+ @include avariable(
125
+ "border-radius",
126
+ "inputitems-item-border-radius",
127
+ $inputitems-item-border-radius
128
+ );
129
+ @include avariable(
130
+ "margin",
131
+ "inputitems-item-margin",
132
+ $inputitems-item-margin
133
+ );
134
+ @include avariable(
135
+ "padding",
136
+ "inputitems-item-padding",
137
+ $inputitems-item-padding
138
+ );
139
+
140
+ @each $name, $pair in $colors {
141
+ $color: list.nth($pair, 1);
142
+ $color-invert: list.nth($pair, 2);
143
+ &--#{$name} {
144
+ @include avariable("background-color", ("variant-" + #{$name}), $color);
145
+ @include avariable(
146
+ "color",
147
+ ("variant-invert-" + #{$name}),
148
+ $color-invert
149
+ );
150
+ }
151
+ }
152
+ }
153
+
154
+ &__counter {
155
+ display: block;
156
+ float: right;
157
+
158
+ @include avariable(
159
+ "font-size",
160
+ "inputitems-counter-font-size",
161
+ $inputitems-counter-font-size
162
+ );
163
+ @include avariable(
164
+ "margin",
165
+ "inputitems-counter-margin",
166
+ $inputitems-counter-margin
167
+ );
168
+ }
169
+
170
+ &--expanded {
171
+ width: 100%;
172
+ flex-grow: 1;
173
+ flex-shrink: 1;
174
+ }
175
+ }
@@ -0,0 +1,45 @@
1
+ /* @docs */
2
+ $loading-overlay-legacy: #7f7f7f !default;
3
+ $loading-overlay: rgba(255, 255, 255, 0.5) !default;
4
+ $loading-zindex: 29 !default;
5
+ $loading-fullpage-zindex: 999 !default;
6
+ /* @docs */
7
+
8
+ .o-load {
9
+ position: absolute;
10
+ bottom: 0;
11
+ left: 0;
12
+ right: 0;
13
+ top: 0;
14
+ align-items: center;
15
+ display: flex;
16
+ justify-content: center;
17
+ overflow: hidden;
18
+
19
+ @include avariable("z-index", "loading-zindex", $loading-zindex);
20
+
21
+ &--fullpage {
22
+ position: fixed;
23
+
24
+ @include avariable(
25
+ "z-index",
26
+ "loading-fullpage-zindex",
27
+ $loading-fullpage-zindex
28
+ );
29
+ }
30
+
31
+ &__overlay {
32
+ position: absolute;
33
+ bottom: 0;
34
+ left: 0;
35
+ right: 0;
36
+ top: 0;
37
+
38
+ @include avariable(
39
+ "background",
40
+ "loading-overlay-legacy",
41
+ $loading-overlay-legacy
42
+ );
43
+ @include avariable("background", "loading-overlay", $loading-overlay);
44
+ }
45
+ }
@@ -0,0 +1,124 @@
1
+ /* @docs */
2
+ $menu-item-color: $grey-dark !default;
3
+ $menu-item-hover-color: $black !default;
4
+ $menu-item-hover-background-color: $grey-light !default;
5
+ $menu-item-active-color: $primary-invert !default;
6
+ $menu-item-active-background-color: $primary !default;
7
+ $menu-item-disabled-color: $grey-light !default;
8
+ $menu-list-border-left: 1px solid $primary !default;
9
+ $menu-list-line-height: 1.25em !default;
10
+ $menu-item-padding: 0.5em 0.75em !default;
11
+ $menu-nested-list-margin: 0.75em !default;
12
+ $menu-nested-list-padding-left: 0.75em !default;
13
+ $menu-label-color: $grey !default;
14
+ $menu-label-font-size: 0.75em !default;
15
+ $menu-label-spacing: 1em !default;
16
+ /* @docs */
17
+
18
+ .o-menu {
19
+ @include avariable("font-size", "base-font-size", $base-font-size);
20
+
21
+ @each $name, $value in $sizes {
22
+ &--#{$name} {
23
+ @include avariable("font-size", ("menu-font-size-" + #{$name}), $value);
24
+ }
25
+ }
26
+ }
27
+
28
+ .o-menu-list {
29
+ @include avariable(
30
+ "line-height",
31
+ ("menu-list-line-height"),
32
+ $menu-list-line-height
33
+ );
34
+
35
+ .o-menu-list,
36
+ .o-menu-item__wrapper {
37
+ list-style: none;
38
+ }
39
+
40
+ .o-menu-item__submenu {
41
+ @include avariable(
42
+ "border-left",
43
+ ("menu-list-border-left"),
44
+ $menu-list-border-left
45
+ );
46
+ @include avariable(
47
+ "padding-left",
48
+ ("menu-nested-list-padding-left"),
49
+ $menu-nested-list-padding-left
50
+ );
51
+ @include avariable(
52
+ "margin",
53
+ ("menu-nested-list-margin"),
54
+ $menu-nested-list-margin
55
+ );
56
+ }
57
+ }
58
+
59
+ .o-menu-label {
60
+ @include avariable("color", ("menu-label-color"), $menu-label-color);
61
+ @include avariable(
62
+ "font-size",
63
+ ("menu-label-font-size"),
64
+ $menu-label-font-size
65
+ );
66
+ text-transform: uppercase;
67
+
68
+ &:not(:first-child) {
69
+ @include avariable(
70
+ "margin-top",
71
+ ("menu-label-spacing"),
72
+ $menu-label-spacing
73
+ );
74
+ }
75
+
76
+ &:not(:last-child) {
77
+ @include avariable(
78
+ "margin-bottom",
79
+ ("menu-label-spacing"),
80
+ $menu-label-spacing
81
+ );
82
+ }
83
+ }
84
+
85
+ .o-menu-item {
86
+ @include avariable("color", ("menu-item-color"), $menu-item-color);
87
+ @include avariable("padding", ("menu-item-padding"), $menu-item-padding);
88
+ display: block;
89
+ list-style: none;
90
+
91
+ &:hover:not(&--active):not(&--disabled) {
92
+ @include avariable(
93
+ "color",
94
+ ("menu-item-hover-color"),
95
+ $menu-item-hover-color
96
+ );
97
+ @include avariable(
98
+ "background-color",
99
+ ("menu-item-hover-background-color"),
100
+ $menu-item-hover-background-color
101
+ );
102
+ }
103
+
104
+ &--active {
105
+ @include avariable(
106
+ "color",
107
+ ("menu-item-active-color"),
108
+ $menu-item-active-color
109
+ );
110
+ @include avariable(
111
+ "background-color",
112
+ ("menu-item-active-background-color"),
113
+ $menu-item-active-background-color
114
+ );
115
+ }
116
+
117
+ &--disabled {
118
+ @include avariable(
119
+ "color",
120
+ ("menu-item-disabled-color"),
121
+ $menu-item-disabled-color
122
+ );
123
+ }
124
+ }
@@ -0,0 +1,103 @@
1
+ /* @docs */
2
+ $modal-content-background-color: $white !default;
3
+ $modal-content-border-radius: $base-border-radius !default;
4
+ $modal-overlay-background-color: hsla(0, 0%, 4%, 0.86) !default;
5
+ $modal-close-border-radius: $base-rounded-border-radius !default;
6
+ $modal-close-right: 20px !default;
7
+ $modal-close-top: 20px !default;
8
+ $modal-close-size: 32px !default;
9
+ $modal-close-color: $white !default;
10
+ $modal-content-fullscreen-background-color: #f5f5f5 !default;
11
+ $modal-content-max-height: calc(100vh - 160px) !default;
12
+ $modal-content-margin: 0 auto !default;
13
+ $modal-zindex: 40 !default;
14
+ /* @docs */
15
+
16
+ .o-modal {
17
+ display: flex;
18
+ flex-direction: column;
19
+ justify-content: center;
20
+ align-items: center;
21
+ overflow: hidden;
22
+ position: fixed;
23
+ bottom: 0;
24
+ left: 0;
25
+ right: 0;
26
+ top: 0;
27
+
28
+ @include avariable("z-index", "modal-zindex", $modal-zindex);
29
+
30
+ &__overlay {
31
+ bottom: 0;
32
+ left: 0;
33
+ position: absolute;
34
+ right: 0;
35
+ top: 0;
36
+
37
+ @include avariable(
38
+ "background-color",
39
+ "modal-overlay-background-color",
40
+ $modal-overlay-background-color
41
+ );
42
+ }
43
+
44
+ &__content {
45
+ overflow: auto;
46
+ position: relative;
47
+
48
+ @include avariable("margin", "modal-content-margin", $modal-content-margin);
49
+ @include avariable(
50
+ "max-height",
51
+ "modal-content-max-height",
52
+ $modal-content-max-height
53
+ );
54
+ @include avariable(
55
+ "background-color",
56
+ "modal-content-background-color",
57
+ $modal-content-background-color
58
+ );
59
+ @include avariable(
60
+ "border-radius",
61
+ "modal-content-border-radius",
62
+ $modal-content-border-radius
63
+ );
64
+
65
+ &--full-screen {
66
+ width: 100%;
67
+ height: 100%;
68
+ max-height: 100vh;
69
+ margin: 0;
70
+
71
+ @include avariable(
72
+ "background-color",
73
+ "modal-content-fullscreen-background-color",
74
+ $modal-content-fullscreen-background-color
75
+ );
76
+ }
77
+ }
78
+
79
+ &__close {
80
+ background: none;
81
+ position: fixed;
82
+ border: none;
83
+ display: inline-block;
84
+ vertical-align: top;
85
+
86
+ @include avariable(
87
+ "border-radius",
88
+ "modal-close-border-radius",
89
+ $modal-close-border-radius
90
+ );
91
+ @include avariable("right", "modal-close-right", $modal-close-right);
92
+ @include avariable("top", "modal-close-top", $modal-close-top);
93
+ @include avariable("height", "modal-close-size", $modal-close-size);
94
+ @include avariable("width", "modal-close-size", $modal-close-size);
95
+ @include avariable("color", "modal-close-color", $modal-close-color);
96
+ }
97
+
98
+ &--mobile {
99
+ .o-modal__content {
100
+ width: 100%;
101
+ }
102
+ }
103
+ }
@@ -0,0 +1,212 @@
1
+ @use "sass:list";
2
+
3
+ /* @docs */
4
+ $notification-background-color: $primary !default;
5
+ $notification-border-radius: 4px !default;
6
+ $notification-padding: 1.75em 1.75em !default;
7
+ $notification-margin-bottom: 1.5rem !default;
8
+ $notification-animantion: append-animate 0.3s linear !default;
9
+ $notification-color: $white !default;
10
+ $notification-close-border-radius: $base-rounded-border-radius !default;
11
+ $notification-close-right: 0.5rem !default;
12
+ $notification-close-top: 0.5rem !default;
13
+ $notification-close-size: 20px !default;
14
+ $notification-close-color: $white !default;
15
+ $notification-close-background-color: hsla(0, 0%, 4%, 0.2) !default;
16
+ $notification-icon-margin-right: 1rem !default;
17
+ $notification-notices-padding: 2em !default;
18
+ $notification-notices-zindex: 1000 !default;
19
+ /* @docs */
20
+
21
+ .o-notification {
22
+ // Modifiers
23
+ @include avariable(
24
+ "background-color",
25
+ "notification-background-color",
26
+ $notification-background-color
27
+ );
28
+ @include avariable("color", "notification-color", $notification-color);
29
+ @include avariable(
30
+ "border-radius",
31
+ "notification-border-radius",
32
+ $notification-border-radius
33
+ );
34
+ @include avariable("padding", "notification-padding", $notification-padding);
35
+ @include avariable(
36
+ "margin-bottom",
37
+ "notification-margin-bottom",
38
+ $notification-margin-bottom
39
+ );
40
+
41
+ position: relative;
42
+ transform-origin: 50% 0;
43
+
44
+ &__content {
45
+ flex-basis: auto;
46
+ flex-grow: 1;
47
+ flex-shrink: 1;
48
+ text-align: inherit;
49
+ overflow-y: hidden;
50
+ overflow-x: auto;
51
+ }
52
+
53
+ &__wrapper {
54
+ align-items: flex-start;
55
+ display: flex;
56
+ text-align: inherit;
57
+ padding-top: 0;
58
+ border: 0;
59
+ }
60
+
61
+ &__icon {
62
+ flex-basis: auto;
63
+ flex-grow: 0;
64
+ flex-shrink: 0;
65
+
66
+ @include avariable(
67
+ "margin-right",
68
+ "notification-icon-margin-right",
69
+ $notification-icon-margin-right
70
+ );
71
+ }
72
+
73
+ &__close {
74
+ position: absolute;
75
+ border: none;
76
+ cursor: pointer;
77
+ pointer-events: auto;
78
+ display: flex;
79
+ justify-content: center;
80
+ align-items: center;
81
+ flex-grow: 0;
82
+ flex-shrink: 0;
83
+ vertical-align: top;
84
+
85
+ @include avariable(
86
+ "background-color",
87
+ "notification-close-background-color",
88
+ $notification-close-background-color
89
+ );
90
+ @include avariable(
91
+ "border-radius",
92
+ "notification-close-border-radius",
93
+ $notification-close-border-radius
94
+ );
95
+ @include avariable(
96
+ "right",
97
+ "notification-close-right",
98
+ $notification-close-right
99
+ );
100
+ @include avariable(
101
+ "top",
102
+ "notification-close-top",
103
+ $notification-close-top
104
+ );
105
+ @include avariable(
106
+ "height",
107
+ "notification-close-size",
108
+ $notification-close-size
109
+ );
110
+ @include avariable(
111
+ "width",
112
+ "notification-close-size",
113
+ $notification-close-size
114
+ );
115
+ @include avariable(
116
+ "color",
117
+ "notification-close-color",
118
+ $notification-close-color
119
+ );
120
+ }
121
+
122
+ @each $name, $pair in $colors {
123
+ $color: list.nth($pair, 1);
124
+ $color-invert: list.nth($pair, 2);
125
+ &--#{$name} {
126
+ border-color: transparent;
127
+
128
+ @include avariable("background-color", ("variant-" + #{$name}), $color);
129
+ @include avariable(
130
+ "color",
131
+ ("variant-invert-" + #{$name}),
132
+ $color-invert
133
+ );
134
+
135
+ &:hover {
136
+ // background-color: darken($color, 2.5%)
137
+ // IE 11 needs polyfill
138
+ filter: brightness(97.5%);
139
+ }
140
+ }
141
+ }
142
+ }
143
+
144
+ .o-notices {
145
+ position: fixed;
146
+ display: flex;
147
+ top: 0;
148
+ bottom: 0;
149
+ left: 0;
150
+ right: 0;
151
+ overflow: hidden;
152
+ pointer-events: none;
153
+
154
+ @include avariable(
155
+ "padding",
156
+ "notification-notices-padding",
157
+ $notification-notices-padding
158
+ );
159
+ @include avariable(
160
+ "z-index",
161
+ "notification-notices-zindex",
162
+ $notification-notices-zindex
163
+ );
164
+
165
+ .o-notification {
166
+ pointer-events: stroke;
167
+ max-width: 600px;
168
+
169
+ @include avariable(
170
+ "animation",
171
+ "notification-animantion",
172
+ $notification-animantion
173
+ );
174
+
175
+ &--top,
176
+ &--bottom {
177
+ align-self: center;
178
+ }
179
+
180
+ &--top-right,
181
+ &--bottom-right {
182
+ align-self: flex-end;
183
+ }
184
+
185
+ &--top-left,
186
+ &--bottom-left {
187
+ align-self: flex-start;
188
+ }
189
+ }
190
+
191
+ &--top {
192
+ flex-direction: column;
193
+ }
194
+
195
+ &--bottom {
196
+ flex-direction: column-reverse;
197
+
198
+ // Since the columns are reversed, we need to reverse the margin logic from
199
+ // :not(:last-child) to :not(:first-child)
200
+ .o-notification {
201
+ margin-bottom: 0;
202
+
203
+ &:not(:first-child) {
204
+ margin-bottom: $notification-margin-bottom;
205
+ }
206
+ }
207
+ }
208
+
209
+ &__custom-container {
210
+ position: absolute;
211
+ }
212
+ }