@newlogic-digital/ui 3.2.0 → 3.4.2

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 (89) hide show
  1. package/README.md +1 -5
  2. package/package.json +21 -14
  3. package/src/data/main.json +5 -1
  4. package/src/emails/{email.css → styles/email.css} +1 -1
  5. package/src/emails/templates/Content.twig +16 -0
  6. package/src/emails/templates/Header.twig +14 -0
  7. package/src/emails/templates/Layout.twig +23 -0
  8. package/src/scripts/Components/CookieConsent.js +0 -1
  9. package/src/scripts/Layout/Header.js +23 -11
  10. package/src/scripts/Layout/Main.js +6 -39
  11. package/src/scripts/Libraries/+.js +2 -1
  12. package/src/scripts/Libraries/Dialog.js +35 -65
  13. package/src/scripts/Libraries/Drawer.js +21 -15
  14. package/src/scripts/Libraries/Form.js +14 -18
  15. package/src/scripts/Libraries/Naja.js +35 -0
  16. package/src/scripts/Libraries/NativeSlider.js +3 -2
  17. package/src/scripts/Libraries/ReCaptcha.js +24 -4
  18. package/src/scripts/Libraries/Stimulus.js +1 -31
  19. package/src/scripts/Libraries/Swup.js +24 -32
  20. package/src/scripts/Libraries/Tabs.js +5 -5
  21. package/src/scripts/Libraries/Tippy.js +3 -1
  22. package/src/scripts/Ui/+.js +0 -1
  23. package/src/scripts/Ui/Checkbox.js +4 -13
  24. package/src/scripts/Ui/Input.js +19 -65
  25. package/src/scripts/Ui/Select.js +11 -39
  26. package/src/scripts/Ui/Text.js +2 -4
  27. package/src/scripts/Utils/Functions/+.js +1 -1
  28. package/src/scripts/Utils/Functions/checkValidity.js +44 -0
  29. package/src/scripts/Utils/Functions/loadStimulus.js +4 -1
  30. package/src/scripts/Utils/cdn.js +3 -3
  31. package/src/scripts/Utils/global.js +6 -8
  32. package/src/styles/Components/+.css +1 -1
  33. package/src/styles/Components/Dialog/Default.css +17 -52
  34. package/src/styles/Components/Dropdown/+.css +1 -0
  35. package/src/styles/{Ui/Dropdown.css → Components/Dropdown/Default.css} +1 -1
  36. package/src/styles/Layout/Main.css +4 -20
  37. package/src/styles/Libraries/+.css +0 -1
  38. package/src/styles/Libraries/Dialog.css +23 -7
  39. package/src/styles/Libraries/Drawer.css +3 -9
  40. package/src/styles/Libraries/Hint.css +4 -3
  41. package/src/styles/Libraries/NativeSlider.css +8 -0
  42. package/src/styles/Libraries/Ripple.css +4 -17
  43. package/src/styles/Libraries/Tippy.css +1 -1
  44. package/src/styles/Ui/+.css +0 -1
  45. package/src/styles/Ui/Badge.css +1 -1
  46. package/src/styles/Ui/Btn.css +24 -6
  47. package/src/styles/Ui/Checkbox.css +28 -3
  48. package/src/styles/Ui/Heading.css +2 -1
  49. package/src/styles/Ui/Icon.css +2 -2
  50. package/src/styles/Ui/Image.css +1 -7
  51. package/src/styles/Ui/Input.css +65 -18
  52. package/src/styles/Ui/Label.css +2 -2
  53. package/src/styles/Ui/Link.css +13 -6
  54. package/src/styles/Ui/Notice.css +1 -1
  55. package/src/styles/Ui/Select.css +3 -5
  56. package/src/styles/Ui/Text.css +18 -4
  57. package/src/styles/Ui/Title.css +3 -2
  58. package/src/styles/Utils/+.css +1 -0
  59. package/src/styles/Utils/breakpoints.css +9 -0
  60. package/src/styles/Utils/default.css +12 -115
  61. package/src/styles/Utils/tailwind/+.css +1 -0
  62. package/src/styles/Utils/tailwind/base.css +0 -12
  63. package/src/styles/Utils/tailwind/utilities.css +48 -0
  64. package/src/styles/Utils/vars.css +28 -39
  65. package/src/styles/Utils/vendor.css +2 -1
  66. package/src/styles/main.css +2 -3
  67. package/src/templates/Components/Dialogs/Basic.twig +15 -17
  68. package/src/templates/Layout/Main.twig +0 -6
  69. package/src/templates/Sections/Ui/Docs/@intro.html +97 -0
  70. package/src/templates/Sections/Ui/Docs/@nav.html +195 -0
  71. package/src/templates/Sections/Ui/Docs/@styles.html +100 -0
  72. package/src/templates/Sections/Ui/Docs/Default.twig +1600 -0
  73. package/src/templates/Sections/Ui/Icons.html +28 -0
  74. package/src/templates/Sections/Ui/Intro.html +136 -0
  75. package/src/templates/Sections/Ui.twig +5 -2090
  76. package/src/templates/Utils/sections.twig +2 -2
  77. package/src/views/{dialog-basic.json.twig → dialog/basic.json.twig} +1 -1
  78. package/src/views/{json-tippy.json.twig → dropdown/tippy.json.twig} +3 -3
  79. package/src/views/email/email.twig +6 -0
  80. package/src/views/gdpr.json +2 -1
  81. package/src/views/index.json +2 -2
  82. package/src/views/ui-icons.json +12 -0
  83. package/src/views/ui.json +2 -2
  84. package/vite.config.js +24 -4
  85. package/src/emails/email.twig +0 -60
  86. package/src/scripts/Ui/Radio.js +0 -23
  87. package/src/scripts/Utils/Functions/inView.js +0 -25
  88. package/src/styles/Components/Item/+.css +0 -1
  89. package/src/styles/Libraries/Lazysizes.css +0 -9
@@ -1,49 +1,35 @@
1
1
  .c-dialog {
2
- --c-dialog-py: 1rem;
2
+ --c-dialog-py: 1.5rem;
3
3
  --c-dialog-px: 1.5rem;
4
- --c-dialog-offset-y: 2rem;
4
+ --c-dialog-width: 40rem;
5
+ --c-dialog-animation-duration: 0.3s;
5
6
 
6
- animation: 0.3s ease 0s backwards 1 fade-in-down;
7
+ animation: var(--c-dialog-animation-duration) ease 0s backwards 1 fade-in-down;
7
8
  position: relative;
8
- z-index: var(--z-30);
9
- display: flex;
10
- flex-direction: column;
11
- margin-left: auto;
12
- margin-right: auto;
13
- pointer-events: none;
14
- min-height: 100%;
15
- align-self: baseline;
16
- border-top: var(--c-dialog-offset-y) solid transparent;
17
- border-bottom: var(--c-dialog-offset-y) solid transparent;
18
- width: calc(100% - 2rem);
9
+ z-index: var(--z-20);
10
+ margin: auto;
11
+ background-color: rgb(var(--color-background));
12
+ width: 100%;
13
+ max-width: var(--c-dialog-width);
14
+ border-radius: var(--rounded-md);
15
+ padding: var(--c-dialog-py) var(--c-dialog-px);
19
16
 
20
- @nest :--state-hiding & {
21
- animation: 0.3s ease 0s forwards 1 fade-out-up;
22
- }
23
-
24
- @media (--media-t) {
25
- --c-dialog-offset-y: 4rem;
26
-
27
- width: 100%;
28
- min-width: 18.75rem;
29
- max-width: 40rem;
17
+ @nest dialog:not([open]) & {
18
+ animation: var(--c-dialog-animation-duration) ease 0s forwards 1 fade-out-up;
30
19
  }
31
20
 
32
21
  &:--size-sm {
33
- max-width: 31.25rem;
34
- }
35
-
36
- &:--size-base {
37
- max-width: none;
38
- width: auto;
22
+ --c-dialog-width: 32rem;
39
23
  }
40
24
 
41
25
  &:--size-lg {
42
- max-width: 80rem;
26
+ --c-dialog-width: 80rem;
43
27
  }
44
28
 
45
29
  &:--type-scrollable {
46
30
  height: 100%;
31
+ display: flex;
32
+ flex-direction: column;
47
33
 
48
34
  & .wrp_dialog_body {
49
35
  flex: 1 1 auto;
@@ -54,25 +40,4 @@
54
40
  -webkit-overflow-scrolling: touch;
55
41
  }
56
42
  }
57
-
58
- & .wrp_dialog {
59
- position: relative;
60
- background-color: rgb(var(--color-background));
61
- pointer-events: auto;
62
- border-radius: var(--radius);
63
- padding: var(--c-dialog-py) var(--c-dialog-px);
64
- display: flex;
65
- flex-direction: column;
66
- max-height: 100%;
67
-
68
- @media (--media-t) {
69
- --c-dialog-py: 1.25rem;
70
- }
71
- }
72
-
73
- & .elm_dialog_close {
74
- position: absolute;
75
- right: 1rem;
76
- top: 1rem;
77
- }
78
43
  }
@@ -0,0 +1 @@
1
+ @import "Default.css";
@@ -1,4 +1,4 @@
1
- .ui-dropdown {
1
+ .c-dropdown {
2
2
  padding: 1.25rem 1.5rem;
3
3
  overflow: hidden;
4
4
  max-width: 22rem;
@@ -4,26 +4,22 @@ html {
4
4
  scroll-behavior: smooth;
5
5
  accent-color: rgb(var(--color-accent));
6
6
 
7
- @media (--media-min-400) {
7
+ @media (--media-sm) {
8
8
  font-size: 95%;
9
9
  }
10
10
 
11
- @media (--media-min-768) {
11
+ @media not all and (--media-sm), (--media-md) {
12
12
  font-size: 90%;
13
13
  }
14
14
 
15
- @media (--media-min-1360) {
15
+ @media (--media-2xl) {
16
16
  font-size: 100%;
17
17
  }
18
18
 
19
- @media (--media-only-960) {
19
+ @media (max-width: 64em) and (--media-lg) {
20
20
  font-size: 80%;
21
21
  }
22
22
 
23
- @media (--media-360) {
24
- font-size: 90%;
25
- }
26
-
27
23
  &.no-touch, &.no-touch * {
28
24
  scrollbar-color: rgb(var(--color-current) / 0.2) rgb(var(--color-background));
29
25
  scrollbar-width: thin;
@@ -97,15 +93,3 @@ body {
97
93
  }
98
94
  }
99
95
  }
100
-
101
- .container {
102
- margin-left: auto;
103
- margin-right: auto;
104
- max-width: var(--container-width);
105
- padding-left: var(--container-padding);
106
- padding-right: var(--container-padding);
107
-
108
- &:--size-sm {
109
- --container: var(--container-width-sm);
110
- }
111
- }
@@ -2,7 +2,6 @@
2
2
  @import "Dialog.css";
3
3
  @import "Drawer.css";
4
4
  @import "Hint.css";
5
- @import "Lazysizes.css";
6
5
  @import "NativeSlider.css";
7
6
  @import "Ripple.css";
8
7
  @import "Tabs.css";
@@ -1,19 +1,35 @@
1
1
  .lib-dialog {
2
- --lib-dialog-bg: var(--color-dark);
3
- --lib-dialog-opacity: 0.8;
2
+ --lib-ripple-bg: rgb(var(--color-dark) / var(--tw-bg-opacity, 0.8));
3
+ --lib-dialog-py: 2rem;
4
+ --lib-dialog-px: 1.5rem;
5
+ --lib-dialog-animation-duration: 0.3s;
4
6
 
5
- animation: 0.3s ease 0s backwards 1 fade-in;
6
7
  inset: 0;
7
8
  z-index: var(--z-30);
8
9
  position: fixed;
9
- display: none;
10
10
  overflow: auto;
11
11
  -webkit-overflow-scrolling: touch;
12
- background-color: rgb(var(--lib-dialog-bg) / var(--lib-dialog-opacity));
12
+ background-color: var(--lib-ripple-bg);
13
13
  overscroll-behavior: contain;
14
+ display: flex;
15
+ visibility: hidden;
16
+ padding: var(--lib-dialog-py) var(--lib-dialog-px);
14
17
 
15
- &:--state-hiding {
16
- animation: 0.3s ease 0s forwards 1 fade-out;
18
+ &:not([open]) {
19
+ animation: var(--lib-dialog-animation-duration) ease 0s forwards 1 fade-out;
17
20
  pointer-events: none;
18
21
  }
22
+
23
+ &[open] {
24
+ animation: var(--lib-dialog-animation-duration) ease 0s backwards 1 fade-in;
25
+ }
26
+
27
+ @nest .is-lib-dialog-open & {
28
+ visibility: visible;
29
+ }
30
+ }
31
+
32
+ .is-lib-dialog-open {
33
+ overflow: hidden;
34
+ padding-right: var(--lib-dialog-scrollbar-width, 0);
19
35
  }
@@ -5,10 +5,7 @@
5
5
  width: 100%;
6
6
  height: 100%;
7
7
  position: fixed;
8
- top: 0;
9
- bottom: 0;
10
- left: 0;
11
- right: 0;
8
+ inset: 0;
12
9
  overflow: hidden;
13
10
  display: flex;
14
11
  flex-direction: row;
@@ -26,7 +23,7 @@
26
23
  -ms-overflow-style: none;
27
24
 
28
25
  &:--state-active {
29
- scroll-snap-type: x mandatory;
26
+ scroll-snap-type: x proximity;
30
27
  }
31
28
 
32
29
  &::-webkit-scrollbar {
@@ -37,10 +34,7 @@
37
34
 
38
35
  &::before {
39
36
  position: fixed;
40
- top: 0;
41
- bottom: 0;
42
- right: 0;
43
- left: 0;
37
+ inset: 0;
44
38
  z-index: -1;
45
39
  background-color: rgb(var(--color-dark) / 0.6);
46
40
  content: "";
@@ -41,7 +41,7 @@
41
41
  will-change: transform;
42
42
  backface-visibility: hidden;
43
43
 
44
- @nest :is(:hover, :focus)& {
44
+ @nest :is(:hover, :focus-visible)& {
45
45
  visibility: visible;
46
46
  opacity: 1;
47
47
  transition-delay: 100ms;
@@ -82,6 +82,7 @@
82
82
  line-height: 0.875rem;
83
83
  white-space: nowrap;
84
84
  box-shadow: 0.25rem 0.25rem 0.5rem rgb(var(--lib-hint-bg) / 0.15);
85
+ font-weight: var(--font-normal);
85
86
 
86
87
  @nest .lib-hint-light& {
87
88
  box-shadow: 0.25rem 0.25rem 0.5rem rgb(var(--color-dark) / 0.15);
@@ -120,7 +121,7 @@
120
121
  left: calc(50% - 0.375rem);
121
122
  margin-bottom: -0.6875rem;
122
123
 
123
- @nest :is(:hover, :focus)& {
124
+ @nest :is(:hover, :focus-visible)& {
124
125
  transform: translateY(-0.5rem);
125
126
  }
126
127
  }
@@ -128,7 +129,7 @@
128
129
  &::after {
129
130
  transform: translateX(-50%);
130
131
 
131
- @nest :is(:hover, :focus)& {
132
+ @nest :is(:hover, :focus-visible)& {
132
133
  transform: translateX(-50%) translateY(-0.5rem);
133
134
  }
134
135
  }
@@ -45,6 +45,14 @@
45
45
  height: 0.75rem;
46
46
  border: 0.125rem solid rgb(var(--color-current));
47
47
  border-radius: 50%;
48
+ cursor: pointer;
49
+ position: relative;
50
+
51
+ &::after {
52
+ position: absolute;
53
+ inset: -0.5rem;
54
+ content: "";
55
+ }
48
56
 
49
57
  &[data-state*="active"] {
50
58
  background-color: rgb(var(--color-current));
@@ -1,29 +1,16 @@
1
1
  [data-action*="lib#ripple"] {
2
- --lib-ripple-bg: rgb(var(--color-background));
3
-
4
2
  position: relative;
5
3
  user-select: none;
6
4
  }
7
5
 
8
6
  .lib-ripple {
7
+ --lib-ripple-animation-duration: 1s;
8
+ --lib-ripple-bg: rgb(var(--color-background) / var(--tw-bg-opacity, 0.4));
9
+
9
10
  position: absolute;
10
11
  background: var(--lib-ripple-bg);
11
12
  border-radius: 50%;
12
13
  transform: scale(0);
13
- opacity: 0.4;
14
+ animation-duration: var(--lib-ripple-animation-duration);
14
15
  pointer-events: none;
15
-
16
- @nest body > & {
17
- position: fixed;
18
- }
19
-
20
- @nest html.ie & {
21
- z-index: -1;
22
- }
23
-
24
- &.animation {
25
- animation-name: ripple;
26
- animation-duration: 1s;
27
- animation-fill-mode: both;
28
- }
29
16
  }
@@ -9,7 +9,7 @@
9
9
  background-color: rgb(var(--color-background));
10
10
  background-clip: padding-box;
11
11
  border: 1px solid rgb(0 8 16 / 0.05);
12
- color: rgb(var(--color-current));
12
+ color: rgb(var(--color-default));
13
13
  box-shadow: 0 3px 14px -0.5px rgb(0 8 16 / 0.08);
14
14
  border-radius: var(--radius);
15
15
  left: 0.1875rem;
@@ -1,7 +1,6 @@
1
1
  @import "Badge.css";
2
2
  @import "Btn.css";
3
3
  @import "Checkbox.css";
4
- @import "Dropdown.css";
5
4
  @import "Heading.css";
6
5
  @import "Icon.css";
7
6
  @import "Image.css";
@@ -29,7 +29,7 @@
29
29
  line-height: var(--ui-badge-size);
30
30
  transition: var(--transition-opacity);
31
31
 
32
- @nest .no-touch &:is([href]:hover, button:hover) {
32
+ @nest .no-touch &:is([href], button):is(:hover, :focus-visible) {
33
33
  opacity: var(--ui-badge-hover-opacity);
34
34
  }
35
35
 
@@ -32,12 +32,13 @@
32
32
  height: var(--ui-btn-height);
33
33
  padding: var(--ui-btn-py) var(--ui-btn-px);
34
34
  border-radius: var(--ui-btn-radius);
35
- transition: var(--transition-opacity), var(--transition-background);
35
+ transition: var(--transition-opacity), var(--transition-background), var(--transition-color);
36
36
  background-color: var(--ui-btn-bg);
37
37
  color: var(--ui-btn-color);
38
38
 
39
- @nest .dark &.bg-default {
39
+ @nest .dark &.accent-dark {
40
40
  --ui-btn-color: rgb(var(--color-dark));
41
+ --color-accent: var(--color-light);
41
42
  }
42
43
 
43
44
  &:--theme-light {
@@ -59,7 +60,7 @@
59
60
  opacity: 0;
60
61
  transition: var(--transition-opacity);
61
62
 
62
- @nest .no-touch :is(:hover, :focus)&, :is(:--state-active)& {
63
+ @nest .no-touch :is(:hover, :focus-visible)&, :is(:--state-active)& {
63
64
  opacity: var(--ui-btn-hover-opacity);
64
65
  }
65
66
  }
@@ -97,8 +98,16 @@
97
98
  }
98
99
  }
99
100
 
101
+ &:--type-text {
102
+ @nest :not(:hover, :focus-visible, :--state-active)& {
103
+ --ui-btn-color: currentColor;
104
+
105
+ background-color: transparent;
106
+ }
107
+ }
108
+
100
109
  &:--type-outline {
101
- --ui-btn-color: currentColor;
110
+ --ui-btn-color: rgb(var(--color-current));
102
111
  --ui-btn-hover-opacity: 0.1;
103
112
 
104
113
  background-color: transparent;
@@ -130,6 +139,11 @@
130
139
  border-radius: 50%;
131
140
  }
132
141
 
142
+ &:--size-sm {
143
+ --ui-btn-height: 2.25rem;
144
+ --ui-btn-px: 1rem;
145
+ }
146
+
133
147
  &:--size-lg {
134
148
  --ui-btn-icon-size: 1.5rem;
135
149
  --ui-btn-height: 3rem;
@@ -138,7 +152,11 @@
138
152
 
139
153
  &:--state-loading {
140
154
  pointer-events: none;
141
- color: var(--ui-btn-bg);
155
+ color: transparent;
156
+
157
+ & > * {
158
+ opacity: 0;
159
+ }
142
160
 
143
161
  &::before {
144
162
  z-index: 1;
@@ -155,7 +173,7 @@
155
173
  margin-top: -0.625rem;
156
174
  left: 50%;
157
175
  top: 50%;
158
- opacity: 1;
176
+ opacity: 1 !important;
159
177
  }
160
178
  }
161
179
 
@@ -12,9 +12,12 @@
12
12
  --ui-checkbox-radius: 0.375rem;
13
13
  --ui-checkbox-icon: var(--icon-check);
14
14
  --ui-checkbox-icon-size: 1.125rem;
15
+ --ui-checkbox-validity-size: 0.875rem;
16
+ --ui-checkbox-validity-offset: 0.375rem;
15
17
 
16
18
  transition: var(--transition-color);
17
19
  display: inline-flex;
20
+ flex-wrap: wrap;
18
21
  align-self: flex-start;
19
22
  position: relative;
20
23
  user-select: none;
@@ -22,6 +25,11 @@
22
25
  z-index: 1;
23
26
  color: var(--ui-checkbox-color);
24
27
 
28
+ &[disabled] {
29
+ pointer-events: none;
30
+ opacity: 0.5;
31
+ }
32
+
25
33
  @nest .text-light & {
26
34
  --ui-checkbox-border-color-raw: var(--color-light);
27
35
  }
@@ -39,6 +47,15 @@
39
47
  --ui-checkbox-color: rgb(var(--color-error));
40
48
  }
41
49
 
50
+ & em {
51
+ display: block;
52
+ width: 100%;
53
+ font-size: var(--ui-checkbox-validity-size);
54
+ color: rgb(var(--color-error));
55
+ font-style: normal;
56
+ margin-top: var(--ui-checkbox-validity-offset);
57
+ }
58
+
42
59
  & input {
43
60
  position: relative;
44
61
  display: inline-flex;
@@ -64,7 +81,6 @@
64
81
  content: "";
65
82
  background-color: currentColor;
66
83
  mask: var(--ui-checkbox-icon);
67
- opacity: 0;
68
84
  transform: scale(0);
69
85
  will-change: transform;
70
86
  width: 1em;
@@ -80,7 +96,7 @@
80
96
  }
81
97
  }
82
98
 
83
- &:focus, &:hover {
99
+ &:is(:hover, :focus-visible) {
84
100
  --ui-checkbox-bg-raw: var(--ui-checkbox-checked-bg-raw);
85
101
  --ui-checkbox-border-color-raw: var(--ui-checkbox-checked-bg-raw);
86
102
  --ui-checkbox-border-opacity: 0.75;
@@ -111,6 +127,15 @@
111
127
  transform: scale(1);
112
128
  }
113
129
  }
130
+
131
+ &[required] {
132
+ & + * {
133
+ &::after {
134
+ color: rgb(var(--color-error));
135
+ content: " *";
136
+ }
137
+ }
138
+ }
114
139
  }
115
140
 
116
141
  & a {
@@ -118,7 +143,7 @@
118
143
  transition: var(--transition-opacity);
119
144
  color: rgb(var(--color-accent));
120
145
 
121
- @nest .no-touch &[href]:hover {
146
+ @nest .no-touch &[href]:is(:hover, :focus-visible) {
122
147
  opacity: 0.8;
123
148
  }
124
149
  }
@@ -1,9 +1,10 @@
1
1
  .ui-heading {
2
2
  --ui-heading-size: 1.5rem;
3
+ --ui-heading-weight: var(--font-bold);
3
4
  --ui-heading-size-line: 0.5rem;
4
5
 
5
6
  display: block;
6
- font-weight: var(--font-bold);
7
+ font-weight: var(--ui-heading-weight);
7
8
  font-size: var(--ui-heading-size);
8
9
  line-height: calc(var(--ui-heading-size) + var(--ui-heading-size-line));
9
10
 
@@ -14,7 +14,7 @@
14
14
  & > * {
15
15
  transition: var(--transition-opacity);
16
16
 
17
- @nest .no-touch :is([href]:hover, button:hover)& {
17
+ @nest .no-touch :is([href], button):is(:hover, :focus-visible)& {
18
18
  opacity: var(--ui-icon-hover-opacity);
19
19
  }
20
20
  }
@@ -27,7 +27,7 @@
27
27
  align-items: center;
28
28
  transition: var(--transition-opacity), var(--transition-color);
29
29
 
30
- @nest .no-touch &:is([href]:hover, button:hover) {
30
+ @nest .no-touch &:is([href], button):is(:hover, :focus-visible) {
31
31
  opacity: var(--ui-icon-hover-opacity);
32
32
  }
33
33
  }
@@ -1,18 +1,12 @@
1
1
  .ui-image {
2
2
  position: relative;
3
+ display: block;
3
4
 
4
5
  &:not(.bg-transparent) {
5
6
  background-color: rgb(var(--color-background-100));
6
7
  }
7
8
 
8
- &::before {
9
- content: "";
10
- display: block;
11
- }
12
-
13
9
  & > * {
14
- position: absolute;
15
- inset: 0;
16
10
  width: 100%;
17
11
  height: 100%;
18
12
  }