@navikt/ds-css 7.36.0 → 7.38.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.
Files changed (122) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/baseline/_utilities.css +1 -0
  3. package/config/_mappings.js +5 -0
  4. package/darkside/baseline/baseline.darkside.css +1 -0
  5. package/darkside/dialog.darkside.css +234 -0
  6. package/darkside/index.css +1 -0
  7. package/dialog.css +228 -0
  8. package/dist/component/dialog.css +228 -0
  9. package/dist/component/dialog.min.css +1 -0
  10. package/dist/components.css +229 -0
  11. package/dist/components.min.css +1 -1
  12. package/dist/darkside/component/dialog.css +211 -0
  13. package/dist/darkside/component/dialog.min.css +1 -0
  14. package/dist/darkside/components.css +210 -0
  15. package/dist/darkside/components.min.css +1 -1
  16. package/dist/darkside/global/tokens.css +3 -3
  17. package/dist/darkside/global/tokens.min.css +1 -1
  18. package/dist/darkside/index.css +213 -3
  19. package/dist/darkside/index.min.css +1 -1
  20. package/dist/darkside/version/7.38.0/component/dialog.css +211 -0
  21. package/dist/darkside/version/7.38.0/component/dialog.min.css +1 -0
  22. package/dist/darkside/version/{7.36.0 → 7.38.0}/components.css +210 -0
  23. package/dist/darkside/version/7.38.0/components.min.css +1 -0
  24. package/dist/darkside/version/{7.36.0 → 7.38.0}/global/tokens.css +3 -3
  25. package/dist/darkside/version/7.38.0/global/tokens.min.css +1 -0
  26. package/dist/darkside/version/{7.36.0 → 7.38.0}/index.css +213 -3
  27. package/dist/darkside/version/7.38.0/index.min.css +1 -0
  28. package/dist/global/tokens.css +1 -1
  29. package/dist/global/tokens.min.css +1 -1
  30. package/dist/index.css +230 -1
  31. package/dist/index.min.css +2 -2
  32. package/index.css +1 -0
  33. package/package.json +2 -2
  34. package/dist/darkside/version/7.36.0/components.min.css +0 -1
  35. package/dist/darkside/version/7.36.0/global/tokens.min.css +0 -1
  36. package/dist/darkside/version/7.36.0/index.min.css +0 -1
  37. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/accordion.css +0 -0
  38. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/accordion.min.css +0 -0
  39. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/actionmenu.css +0 -0
  40. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/actionmenu.min.css +0 -0
  41. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/alert.css +0 -0
  42. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/alert.min.css +0 -0
  43. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/button.css +0 -0
  44. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/button.min.css +0 -0
  45. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/chat.css +0 -0
  46. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/chat.min.css +0 -0
  47. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/chips.css +0 -0
  48. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/chips.min.css +0 -0
  49. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/copybutton.css +0 -0
  50. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/copybutton.min.css +0 -0
  51. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/date.css +0 -0
  52. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/date.min.css +0 -0
  53. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/dropdown.css +0 -0
  54. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/dropdown.min.css +0 -0
  55. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/expansioncard.css +0 -0
  56. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/expansioncard.min.css +0 -0
  57. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/form.css +0 -0
  58. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/form.min.css +0 -0
  59. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/guidepanel.css +0 -0
  60. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/guidepanel.min.css +0 -0
  61. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/helptext.css +0 -0
  62. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/helptext.min.css +0 -0
  63. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/inlinemessage.css +0 -0
  64. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/inlinemessage.min.css +0 -0
  65. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/internalheader.css +0 -0
  66. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/internalheader.min.css +0 -0
  67. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/link.css +0 -0
  68. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/link.min.css +0 -0
  69. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/linkanchor.css +0 -0
  70. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/linkanchor.min.css +0 -0
  71. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/linkcard.css +0 -0
  72. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/linkcard.min.css +0 -0
  73. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/linkpanel.css +0 -0
  74. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/linkpanel.min.css +0 -0
  75. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/list.css +0 -0
  76. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/list.min.css +0 -0
  77. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/loader.css +0 -0
  78. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/loader.min.css +0 -0
  79. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/modal.css +0 -0
  80. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/modal.min.css +0 -0
  81. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/pagination.css +0 -0
  82. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/pagination.min.css +0 -0
  83. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/panel.css +0 -0
  84. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/panel.min.css +0 -0
  85. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/popover.css +0 -0
  86. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/popover.min.css +0 -0
  87. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/primitives.css +0 -0
  88. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/primitives.min.css +0 -0
  89. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/process.css +0 -0
  90. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/process.min.css +0 -0
  91. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/progressbar.css +0 -0
  92. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/progressbar.min.css +0 -0
  93. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/readmore.css +0 -0
  94. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/readmore.min.css +0 -0
  95. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/skeleton.css +0 -0
  96. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/skeleton.min.css +0 -0
  97. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/stepper.css +0 -0
  98. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/stepper.min.css +0 -0
  99. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/table.css +0 -0
  100. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/table.min.css +0 -0
  101. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/tabs.css +0 -0
  102. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/tabs.min.css +0 -0
  103. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/tag.css +0 -0
  104. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/tag.min.css +0 -0
  105. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/theme.css +0 -0
  106. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/theme.min.css +0 -0
  107. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/timeline.css +0 -0
  108. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/timeline.min.css +0 -0
  109. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/togglegroup.css +0 -0
  110. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/togglegroup.min.css +0 -0
  111. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/tooltip.css +0 -0
  112. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/tooltip.min.css +0 -0
  113. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/typography.css +0 -0
  114. /package/dist/darkside/version/{7.36.0 → 7.38.0}/component/typography.min.css +0 -0
  115. /package/dist/darkside/version/{7.36.0 → 7.38.0}/global/baseline.css +0 -0
  116. /package/dist/darkside/version/{7.36.0 → 7.38.0}/global/baseline.min.css +0 -0
  117. /package/dist/darkside/version/{7.36.0 → 7.38.0}/global/fonts.css +0 -0
  118. /package/dist/darkside/version/{7.36.0 → 7.38.0}/global/fonts.min.css +0 -0
  119. /package/dist/darkside/version/{7.36.0 → 7.38.0}/global/print.css +0 -0
  120. /package/dist/darkside/version/{7.36.0 → 7.38.0}/global/print.min.css +0 -0
  121. /package/dist/darkside/version/{7.36.0 → 7.38.0}/global/reset.css +0 -0
  122. /package/dist/darkside/version/{7.36.0 → 7.38.0}/global/reset.min.css +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @navikt/ds-css
2
2
 
3
+ ## 7.38.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Dialog: Fixed z-index issue with backdrop. ([#4455](https://github.com/navikt/aksel/pull/4455))
8
+
9
+ - Dialog: Now has border in light-mode. ([#4452](https://github.com/navikt/aksel/pull/4452))
10
+
11
+ ## 7.37.0
12
+
13
+ ### Minor Changes
14
+
15
+ - Dialog: :tada: New component `Dialog`. ([#4262](https://github.com/navikt/aksel/pull/4262))
16
+
3
17
  ## 7.36.0
4
18
 
5
19
  ## 7.35.3
@@ -1,4 +1,5 @@
1
1
  /* https://web.dev/prefers-reduced-motion/ */
2
+
2
3
  @media (prefers-reduced-motion: reduce) {
3
4
  *:not(.navds-loader *, .navds-loader, .navds-progress-bar *, .navds-progress-bar),
4
5
  ::before,
@@ -108,6 +108,11 @@ const StyleMappings = {
108
108
  dependencies: [typoCss],
109
109
  },
110
110
  { component: "Detail", main: typoCss },
111
+ {
112
+ component: "Dialog",
113
+ main: "dialog.css",
114
+ dependencies: [typoCss, "button.css", primitivesCss],
115
+ },
111
116
  {
112
117
  component: "Dropdown",
113
118
  main: "dropdown.css",
@@ -1,4 +1,5 @@
1
1
  /* ------------------------- Global typo-definitions ------------------------ */
2
+
2
3
  body,
3
4
  :host {
4
5
  font-family: var(--ax-font-family, "Source Sans 3", "Source Sans Pro", Arial, sans-serif);
@@ -0,0 +1,234 @@
1
+ .aksel-dialog__popup {
2
+ --__axc-dialog-transform: ;
3
+ --__axc-dialog-p-b: var(--ax-space-16);
4
+ --__axc-dialog-p-i: var(--ax-space-20);
5
+
6
+ position: fixed;
7
+ background-color: var(--ax-bg-raised);
8
+ transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
9
+ transition-property: transform, opacity, translate;
10
+ border-radius: var(--ax-radius-12);
11
+ color: var(--ax-text-neutral);
12
+ box-shadow: var(--ax-shadow-dialog);
13
+ display: flex;
14
+ flex-direction: column;
15
+ border: 1px solid var(--ax-border-neutral-subtleA);
16
+ z-index: 2000;
17
+ overflow: hidden;
18
+
19
+ &:focus {
20
+ outline: none;
21
+ }
22
+
23
+ &[data-size="small"] {
24
+ --__axc-dialog-p-b: var(--ax-space-12);
25
+ --__axc-dialog-p-i: var(--ax-space-16);
26
+ }
27
+
28
+ &[data-entering-style],
29
+ &[data-exiting-style] {
30
+ /* Webkit a11y delays detecting visible elements when opacity starts at 0 */
31
+ opacity: 0.001;
32
+ transform: var(--__axc-dialog-transform);
33
+ }
34
+
35
+ &[data-exiting-style] {
36
+ transition-duration: 100ms;
37
+
38
+ &::after {
39
+ transition-timing-function: cubic-bezier(0.55, 0.09, 0.68, 0.53);
40
+ }
41
+ }
42
+
43
+ &[data-nested-dialog-open="true"] {
44
+ box-shadow: none;
45
+
46
+ &::after {
47
+ opacity: 0.9;
48
+ }
49
+ }
50
+
51
+ &::after {
52
+ transition: opacity 0ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
53
+ content: "";
54
+ inset: 0;
55
+ position: absolute;
56
+ border-radius: inherit;
57
+ background-color: var(--ax-bg-overlay);
58
+ opacity: 0;
59
+ z-index: 1;
60
+ pointer-events: none;
61
+ }
62
+
63
+ &[data-position="center"] {
64
+ --__axc-dialog-center-margin: 3rem;
65
+ --__axc-dialog-transform: scale(0.98);
66
+
67
+ left: 0;
68
+ right: 0;
69
+ margin-inline: auto;
70
+ top: 0;
71
+ max-width: calc(100dvw - 3rem);
72
+ max-height: calc(90dvh - var(--__axc-dialog-center-margin));
73
+ margin-block: max(var(--__axc-dialog-center-margin), 10dvh) auto;
74
+
75
+ &[data-nested="true"] {
76
+ &[data-entering-style] {
77
+ opacity: 1;
78
+ transform: scale(1);
79
+ transition-duration: 0ms;
80
+ }
81
+
82
+ &[data-exiting-style] {
83
+ opacity: 1;
84
+ transform: scale(1);
85
+ transition-duration: 0ms;
86
+ }
87
+ }
88
+
89
+ &[data-nested-dialog-open="true"] {
90
+ /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */
91
+ transform: translateY(calc(1rem * var(--__axc-nested-level) * -1)) scale(calc(1 - 0.02 * var(--__axc-nested-level)));
92
+ }
93
+
94
+ @media (max-width: 768px) or (max-height: 479px) {
95
+ --__axc-dialog-transform: translateY(35%);
96
+
97
+ max-height: calc(100dvh - max(16px, 10dvh));
98
+ max-width: 95dvw;
99
+ margin-inline: auto;
100
+ height: auto;
101
+ border-bottom-left-radius: 0;
102
+ border-bottom-right-radius: 0;
103
+ border-bottom: 0;
104
+ left: 0;
105
+ right: 0;
106
+ bottom: 0;
107
+ /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
108
+ top: auto;
109
+ margin-block: 0;
110
+ }
111
+ }
112
+
113
+ &[data-position="right"],
114
+ &[data-position="left"] {
115
+ max-width: calc(100vw - max(16px, 10vw));
116
+ top: 0;
117
+ bottom: 0;
118
+
119
+ &[data-nested-dialog-open="true"] {
120
+ &::after {
121
+ opacity: 1;
122
+ transition-duration: 100ms;
123
+ }
124
+ }
125
+ }
126
+
127
+ &[data-position="right"] {
128
+ --__axc-dialog-transform: translateX(35%);
129
+
130
+ border-top-right-radius: 0;
131
+ border-bottom-right-radius: 0;
132
+ border-right: 0;
133
+ right: 0;
134
+ }
135
+
136
+ &[data-position="left"] {
137
+ --__axc-dialog-transform: translateX(-35%);
138
+
139
+ border-top-left-radius: 0;
140
+ border-bottom-left-radius: 0;
141
+ border-left: 0;
142
+ left: 0;
143
+ }
144
+
145
+ &[data-position="bottom"] {
146
+ --__axc-dialog-transform: translateY(35%);
147
+
148
+ border-bottom-left-radius: 0;
149
+ border-bottom-right-radius: 0;
150
+ border-bottom: 0;
151
+ left: 0;
152
+ right: 0;
153
+ bottom: 0;
154
+ max-height: calc(100dvh - max(16px, 10dvh));
155
+ max-width: 95dvw;
156
+ margin-inline: auto;
157
+ height: auto;
158
+
159
+ &[data-nested-dialog-open="true"] {
160
+ /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */
161
+ transform: translateY(calc(1rem * var(--__axc-nested-level) * -1)) scale(calc(1 - 0.02 * var(--__axc-nested-level)));
162
+ }
163
+ }
164
+
165
+ &[data-position="fullscreen"] {
166
+ --__axc-dialog-transform: scale(0.98);
167
+
168
+ border-radius: 0;
169
+ border: 0;
170
+ inset: 0;
171
+ max-height: 100dvh;
172
+ max-width: 100dvw;
173
+ width: 100%;
174
+ height: 100%;
175
+ }
176
+ }
177
+
178
+ .aksel-dialog__backdrop {
179
+ position: fixed;
180
+ min-height: 100dvh;
181
+ inset: 0;
182
+ background-color: var(--ax-bg-overlay);
183
+ transition: opacity 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
184
+ z-index: 2000;
185
+
186
+ /* iOS 26+: Ensure the backdrop covers the entire visible viewport. */
187
+ @supports (-webkit-touch-callout: none) {
188
+ position: absolute;
189
+ }
190
+
191
+ &[data-entering-style],
192
+ &[data-exiting-style] {
193
+ opacity: 0.001;
194
+ }
195
+ }
196
+
197
+ .aksel-dialog__header {
198
+ padding-block: var(--__axc-dialog-p-b);
199
+ padding-inline: var(--__axc-dialog-p-i);
200
+ }
201
+
202
+ .aksel-dialog__title {
203
+ margin-block-end: var(--ax-space-4);
204
+ }
205
+
206
+ .aksel-dialog__close-button {
207
+ align-self: start;
208
+ float: right;
209
+ }
210
+
211
+ .aksel-dialog__body {
212
+ overflow: auto;
213
+ padding-block: var(--__axc-dialog-p-b);
214
+ padding-inline: var(--__axc-dialog-p-i);
215
+
216
+ .aksel-dialog__header ~ & {
217
+ padding-block-start: 0;
218
+ }
219
+ }
220
+
221
+ .aksel-dialog__footer {
222
+ justify-content: flex-end;
223
+ display: flex;
224
+ flex-flow: wrap;
225
+ gap: var(--ax-space-8);
226
+ padding-block: var(--__axc-dialog-p-b);
227
+ padding-inline: var(--__axc-dialog-p-i);
228
+ }
229
+
230
+ @media (forced-colors: active) {
231
+ .aksel-dialog__popup {
232
+ outline: 2px solid var(--ax-border-neutral-strong) !important;
233
+ }
234
+ }
@@ -30,6 +30,7 @@
30
30
  @import "./chat.darkside.css" layer(aksel.components);
31
31
  @import "./copybutton.darkside.css" layer(aksel.components);
32
32
  @import "./date.darkside.css" layer(aksel.components);
33
+ @import "./dialog.darkside.css" layer(aksel.components);
33
34
  @import "./dropdown.darkside.css" layer(aksel.components);
34
35
  @import "./action-menu.darkside.css" layer(aksel.components);
35
36
  @import "./expansioncard.darkside.css" layer(aksel.components);
package/dialog.css ADDED
@@ -0,0 +1,228 @@
1
+ .navds-dialog__popup {
2
+ --__ac-dialog-transform: ;
3
+ --__ac-dialog-p-b: var(--a-spacing-4);
4
+ --__ac-dialog-p-i: var(--a-spacing-5);
5
+
6
+ position: fixed;
7
+ background-color: var(--a-surface-default);
8
+ transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
9
+ transition-property: transform, opacity, translate;
10
+ border-radius: var(--a-border-radius-large);
11
+ color: var(--a-text-default);
12
+ box-shadow: var(--a-shadow-xlarge);
13
+ display: flex;
14
+ flex-direction: column;
15
+ border: 1px solid var(--a-border-subtle);
16
+ z-index: 2000;
17
+ overflow: hidden;
18
+
19
+ &:focus {
20
+ outline: none;
21
+ }
22
+
23
+ &[data-size="small"] {
24
+ --__ac-dialog-p-b: var(--a-spacing-3);
25
+ --__ac-dialog-p-i: var(--a-spacing-4);
26
+ }
27
+
28
+ &[data-entering-style],
29
+ &[data-exiting-style] {
30
+ /* Webkit a11y delays detecting visible elements when opacity starts at 0 */
31
+ opacity: 0.001;
32
+ transform: var(--__ac-dialog-transform);
33
+ }
34
+
35
+ &[data-exiting-style] {
36
+ transition-duration: 100ms;
37
+
38
+ &::after {
39
+ transition-timing-function: cubic-bezier(0.55, 0.09, 0.68, 0.53);
40
+ }
41
+ }
42
+
43
+ &[data-nested-dialog-open="true"] {
44
+ box-shadow: none;
45
+
46
+ &::after {
47
+ opacity: 0.9;
48
+ }
49
+ }
50
+
51
+ &::after {
52
+ transition: opacity 0ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
53
+ content: "";
54
+ inset: 0;
55
+ position: absolute;
56
+ border-radius: inherit;
57
+ background-color: var(--a-surface-backdrop);
58
+ opacity: 0;
59
+ z-index: 1;
60
+ pointer-events: none;
61
+ }
62
+
63
+ &[data-position="center"] {
64
+ --__ac-dialog-center-margin: 3rem;
65
+ --__ac-dialog-transform: scale(0.98);
66
+
67
+ left: 0;
68
+ right: 0;
69
+ margin-inline: auto;
70
+ top: 0;
71
+ max-width: calc(100dvw - 3rem);
72
+ max-height: calc(90dvh - var(--__ac-dialog-center-margin));
73
+ margin-block: max(var(--__ac-dialog-center-margin), 10dvh) auto;
74
+
75
+ &[data-nested="true"] {
76
+ &[data-entering-style] {
77
+ opacity: 1;
78
+ transform: scale(1);
79
+ transition-duration: 0ms;
80
+ }
81
+
82
+ &[data-exiting-style] {
83
+ opacity: 1;
84
+ transform: scale(1);
85
+ transition-duration: 0ms;
86
+ }
87
+ }
88
+
89
+ &[data-nested-dialog-open="true"] {
90
+ /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */
91
+ transform: translateY(calc(1rem * var(--__axc-nested-level) * -1)) scale(calc(1 - 0.02 * var(--__axc-nested-level)));
92
+ }
93
+
94
+ @media (max-width: 479px) or (max-height: 479px) {
95
+ --__ac-dialog-transform: translateY(35%);
96
+
97
+ max-height: calc(100dvh - max(16px, 10dvh));
98
+ max-width: 95dvw;
99
+ margin-inline: auto;
100
+ height: auto;
101
+ border-bottom-left-radius: 0;
102
+ border-bottom-right-radius: 0;
103
+ border-bottom: 0;
104
+ left: 0;
105
+ right: 0;
106
+ bottom: 0;
107
+ /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
108
+ top: auto;
109
+ margin-block: 0;
110
+ }
111
+ }
112
+
113
+ &[data-position="right"],
114
+ &[data-position="left"] {
115
+ max-width: calc(100vw - max(16px, 10vw));
116
+ top: 0;
117
+ bottom: 0;
118
+
119
+ &[data-nested-dialog-open="true"] {
120
+ &::after {
121
+ opacity: 1;
122
+ transition-duration: 100ms;
123
+ }
124
+ }
125
+ }
126
+
127
+ &[data-position="right"] {
128
+ --__ac-dialog-transform: translateX(35%);
129
+
130
+ border-top-right-radius: 0;
131
+ border-bottom-right-radius: 0;
132
+ border-right: 0;
133
+ right: 0;
134
+ }
135
+
136
+ &[data-position="left"] {
137
+ --__ac-dialog-transform: translateX(-35%);
138
+
139
+ border-top-left-radius: 0;
140
+ border-bottom-left-radius: 0;
141
+ border-left: 0;
142
+ left: 0;
143
+ }
144
+
145
+ &[data-position="bottom"] {
146
+ --__ac-dialog-transform: translateY(35%);
147
+
148
+ border-bottom-left-radius: 0;
149
+ border-bottom-right-radius: 0;
150
+ border-bottom: 0;
151
+ left: 0;
152
+ right: 0;
153
+ bottom: 0;
154
+ max-height: calc(100dvh - max(16px, 10dvh));
155
+ max-width: 95dvw;
156
+ margin-inline: auto;
157
+ height: auto;
158
+
159
+ &[data-nested-dialog-open="true"] {
160
+ /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */
161
+ transform: translateY(calc(1rem * var(--__axc-nested-level) * -1)) scale(calc(1 - 0.02 * var(--__axc-nested-level)));
162
+ }
163
+ }
164
+
165
+ &[data-position="fullscreen"] {
166
+ --__ac-dialog-transform: scale(0.98);
167
+
168
+ border-radius: 0;
169
+ border: 0;
170
+ inset: 0;
171
+ max-height: 100dvh;
172
+ max-width: 100dvw;
173
+ width: 100%;
174
+ height: 100%;
175
+ }
176
+ }
177
+
178
+ .navds-dialog__backdrop {
179
+ position: fixed;
180
+ min-height: 100dvh;
181
+ inset: 0;
182
+ background-color: var(--a-surface-backdrop);
183
+ transition: opacity 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
184
+ z-index: 2000;
185
+
186
+ /* iOS 26+: Ensure the backdrop covers the entire visible viewport. */
187
+ @supports (-webkit-touch-callout: none) {
188
+ position: absolute;
189
+ }
190
+
191
+ &[data-entering-style],
192
+ &[data-exiting-style] {
193
+ opacity: 0.001;
194
+ }
195
+ }
196
+
197
+ .navds-dialog__header {
198
+ padding-block: var(--__ac-dialog-p-b);
199
+ padding-inline: var(--__ac-dialog-p-i);
200
+ }
201
+
202
+ .navds-dialog__title {
203
+ margin-block-end: var(--a-spacing-1);
204
+ }
205
+
206
+ .navds-dialog__close-button {
207
+ align-self: start;
208
+ float: right;
209
+ }
210
+
211
+ .navds-dialog__body {
212
+ overflow: auto;
213
+ padding-block: var(--__ac-dialog-p-b);
214
+ padding-inline: var(--__ac-dialog-p-i);
215
+
216
+ .navds-dialog__header ~ & {
217
+ padding-block-start: 0;
218
+ }
219
+ }
220
+
221
+ .navds-dialog__footer {
222
+ justify-content: flex-start;
223
+ display: flex;
224
+ flex-flow: wrap;
225
+ gap: var(--a-spacing-2);
226
+ padding-block: var(--__ac-dialog-p-b);
227
+ padding-inline: var(--__ac-dialog-p-i);
228
+ }