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