@lucca-front/scss 22.1.0-rc.1 → 22.1.0-rc.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 (65) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +3 -3
  3. package/src/commons/base.scss +20 -2
  4. package/src/commons/config.scss +30 -1
  5. package/src/commons/core.scss +25 -7
  6. package/src/commons/utils/highlight-prisme.scss +3 -2
  7. package/src/commons/vars.scss +11 -1
  8. package/src/components/activityFeed/component.scss +10 -6
  9. package/src/components/activityFeed/index.scss +4 -0
  10. package/src/components/activityFeed/states.scss +6 -0
  11. package/src/components/bubbleIcon/mods.scss +9 -3
  12. package/src/components/button/mods.scss +8 -13
  13. package/src/components/calendar/component.scss +2 -5
  14. package/src/components/callout/mods.scss +1 -6
  15. package/src/components/dataTable/component.scss +2 -0
  16. package/src/components/dataTableSticked/mods.scss +12 -0
  17. package/src/components/dialog/component.scss +7 -3
  18. package/src/components/dialog/mods.scss +2 -2
  19. package/src/components/dialog/vars.scss +6 -0
  20. package/src/components/fancyBox/component.scss +87 -14
  21. package/src/components/fancyBox/mods.scss +8 -8
  22. package/src/components/fancyBox/vars.scss +25 -7
  23. package/src/components/filterPill/component.scss +0 -5
  24. package/src/components/filterPill/index.scss +0 -5
  25. package/src/components/highlightData/index.scss +12 -0
  26. package/src/components/highlightData/mods.scss +27 -0
  27. package/src/components/highlightData/vars.scss +9 -0
  28. package/src/components/index.scss +1 -1
  29. package/src/components/indexTable/component.scss +2 -0
  30. package/src/components/link/index.scss +4 -0
  31. package/src/components/link/mods.scss +5 -0
  32. package/src/components/listboxOption/component.scss +5 -0
  33. package/src/components/multiSelect/component.scss +17 -0
  34. package/src/components/multiSelect/index.scss +18 -0
  35. package/src/components/multiSelect/mods.scss +39 -0
  36. package/src/components/multiSelect/states.scss +4 -0
  37. package/src/components/multiSelect/vars.scss +1 -0
  38. package/src/components/priorityLevels/component.scss +38 -0
  39. package/src/components/priorityLevels/index.scss +30 -0
  40. package/src/components/priorityLevels/mods.scss +28 -0
  41. package/src/components/priorityLevels/vars.scss +8 -0
  42. package/src/components/simpleSelect/component.scss +23 -0
  43. package/src/components/simpleSelect/index.scss +18 -0
  44. package/src/components/simpleSelect/mods.scss +20 -0
  45. package/src/components/simpleSelect/states.scss +4 -0
  46. package/src/components/simpleSelect/vars.scss +1 -0
  47. package/src/components/tableSortable/component.scss +7 -1
  48. package/src/components/tableSortable/index.scss +6 -0
  49. package/src/components/tableSortable/mods.scss +11 -0
  50. package/src/components/tableSortable/vars.scss +2 -0
  51. package/src/components/tag/component.scss +1 -1
  52. package/src/components/tag/index.scss +7 -0
  53. package/src/components/tag/mods.scss +5 -6
  54. package/src/components/tag/vars.scss +1 -0
  55. package/src/components/textField/index.scss +8 -0
  56. package/src/components/textField/mods.scss +5 -0
  57. package/src/components/tooltip/component.scss +13 -1
  58. package/src/components/tooltip/vars.scss +1 -0
  59. package/src/components/userPopover/component.scss +5 -16
  60. package/src/components/icon/component.scss +0 -8
  61. package/src/components/icon/index.scss +0 -67
  62. package/src/components/icon/mods.scss +0 -67
  63. package/src/components/icon/vars.scss +0 -4
  64. /package/src/components/{icon → priorityLevels}/exports.scss +0 -0
  65. /package/src/components/{icon → priorityLevels}/states.scss +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/scss",
3
- "version": "22.1.0-rc.1",
3
+ "version": "22.1.0-rc.2",
4
4
  "description": "A Sass framework for Lucca products.",
5
5
  "main": "src/main.scss",
6
6
  "scripts": {},
@@ -24,7 +24,7 @@
24
24
  "normalize.css": "^8.0.0"
25
25
  },
26
26
  "peerDependencies": {
27
- "@lucca-front/icons": "22.1.0-rc.1",
28
- "@lucca/prisme": "22.1.0-rc.1"
27
+ "@lucca-front/icons": "22.1.0-rc.2",
28
+ "@lucca/prisme": "22.1.0-rc.2"
29
29
  }
30
30
  }
@@ -24,11 +24,29 @@
24
24
  @mixin base($atRoot: namespace.$defaultAtRoot) {
25
25
  @at-root ($atRoot) {
26
26
  @if config.$fontFamily {
27
- @include core.fontFace(config.$fontFamily, config.$fontWeights, config.$fontStyles);
27
+ @include core.fontFace(
28
+ config.$fontFamily,
29
+ config.$fontWeights,
30
+ config.$fontStyles,
31
+ $unicodeRange: config.$fontCoreRange
32
+ );
33
+ @include core.fontFace(
34
+ config.$fontFamily,
35
+ config.$fontWeights,
36
+ config.$fontStyles,
37
+ $unicodeRange: config.$fontExtendedRange,
38
+ $filenameSuffix: '-extended'
39
+ );
28
40
  }
29
41
 
30
42
  @if config.$fontFamilyBrand {
31
- @include core.fontFace(config.$fontFamilyBrand, config.$fontWeightsBrand, config.$fontStylesBrand);
43
+ @include core.fontFace(
44
+ config.$fontFamilyBrand,
45
+ config.$fontWeightsBrand,
46
+ config.$fontStylesBrand,
47
+ $path: config.$fontPathBrand,
48
+ $unicodeRangeFolder: config.$fontUnicodeRangeFolderBrand
49
+ );
32
50
  }
33
51
 
34
52
  @if config.$fontFamilyCursive {
@@ -13,6 +13,35 @@ $deprecatedUtilityPrefix: false !default;
13
13
  $prefersContrast: 'no-preference' !default;
14
14
 
15
15
  $fontFamily: 'SourceSans' !default;
16
+
17
+ $fontPath: '//cdn.lucca.fr/transverse/fonts' !default;
18
+
19
+ $fontPathBrand: $fontPath !default;
20
+
21
+ $fontUnicodeRangeFolder: 'unicode-range' !default;
22
+
23
+ $fontUnicodeRangeFolderBrand: $fontUnicodeRangeFolder !default;
24
+
25
+ // Covers fr/en/de/es/it/nl/pt/ca on their own: ASCII
26
+ // + Latin-1 Supplement (letters/punctuation/currency), Œ œ Ÿ,
27
+ // and common typographic punctuation.
28
+
29
+ // ¡ ¢ £ ¥ ¨ © ª « ® ° ± ´ · ¸ º » ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý ß à á â ã ä å æ ç è
30
+ // é ê ë ì í î ï ñ ò ó ô õ ö ÷ ø ù ú û ü ý ÿ Œ œ Ÿ – — ‘ ’ ‚ “ ” „ • … ‰ ‹ › ⁄ € ™ − fi fl (+ a thin space, U+2009)
31
+
32
+ $fontCoreRange: 'U+0020-007E, U+00A0-00A3, U+00A5, U+00A8-00AB, U+00AE, U+00B0-00B1, U+00B4, U+00B7-00B8, U+00BA-00BB, U+00BF-00CF, U+00D1-00DD, U+00DF-00EF, U+00F1-00FD, U+00FF, U+0152-0153, U+0178, U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+202F-2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02' !default;
33
+
34
+ // Only fetched by the browser when a page actually renders one of these glyphs:
35
+ // Central/Eastern European Latin
36
+ // Extended-A/B (pl/cs/hr/ro/hu/tr),
37
+ // Vietnamese-style tilde/grave vowels and ẞ found in LuccaSans,
38
+ // spacing modifiers, and arrows.
39
+
40
+ // Ă ă Ą ą Ć ć Č č Ď ď Đ đ Ę ę Ě ě Ğ ğ Ĩ ĩ İ ı Ł ł Ń ń Ň ň Ő ő Ř ř Ś ś Ş ş Š š Ť ť Ũ ũ Ů ů Ű ű Ŷ ŷ Ź ź Ż ż Ž ž Ș ș
41
+ // Ț ț ˆ ˜ ô ẞ Ẽ ẽ Ỳ ỳ Ỹ ỹ ← ↑ → ↓ ↔ ↕ ↖ ↗ ↘ ↙ ≈ ≠ ≤ ≥
42
+
43
+ $fontExtendedRange: 'U+0102-0107, U+010C-0111, U+0118-011B, U+011E-011F, U+0128-0129, U+0130-0131, U+0141-0144, U+0147-0148, U+0150-0151, U+0158-015B, U+015E-0161, U+0164-0165, U+0168-0169, U+016E-0171, U+0176-0177, U+0179-017E, U+0218-021B, U+02C6, U+02DC, U+0302, U+1E9E, U+1EBC-1EBD, U+1EF2-1EF3, U+1EF8-1EF9, U+2190-2199, U+2248, U+2260, U+2264-2265' !default;
44
+
16
45
  $fontFamilyBrand: 'LuccaSans' !default;
17
46
  $fontWeights: (
18
47
  'regular': 400,
@@ -155,7 +184,7 @@ $palettesAssets: (
155
184
  'timmi': ('brand': 'brand', 'secondary': 'glacier')
156
185
  );
157
186
 
158
- $fieldsWidth: 20, 30, 40, 50, 60 !default;
187
+ $fieldsWidth: 10, 20, 30, 40, 50, 60 !default;
159
188
 
160
189
  // Palettes
161
190
 
@@ -157,28 +157,46 @@ $cursor: 'pointer', 'auto', 'default', 'text';
157
157
  }
158
158
  }
159
159
 
160
- @mixin fontFace($family, $weights, $styles, $path: '//cdn.lucca.fr/transverse/fonts') {
160
+ @mixin fontFace(
161
+ $family,
162
+ $weights,
163
+ $styles,
164
+ $path: config.$fontPath,
165
+ $unicodeRange: null,
166
+ $filenameSuffix: '',
167
+ $unicodeRangeFolder: config.$fontUnicodeRangeFolder
168
+ ) {
169
+ $familyPath: '#{$path}/#{$family}';
170
+
171
+ @if $unicodeRange {
172
+ $familyPath: '#{$familyPath}/#{$unicodeRangeFolder}';
173
+ }
174
+
161
175
  @each $keyword, $number in $weights {
162
176
  @each $style in $styles {
163
177
  @if $style == 'normal' {
164
178
  @font-face {
165
179
  font-family: '#{$family}';
166
- src:
167
- url('#{$path}/#{$family}/#{$keyword}.woff2') format('woff2'),
168
- url('#{$path}/#{$family}/#{$keyword}.woff') format('woff');
180
+ src: url('#{$familyPath}/#{$keyword}#{$filenameSuffix}.woff2') format('woff2');
169
181
  font-weight: #{$number};
170
182
  font-style: #{$style};
171
183
  font-display: swap;
184
+
185
+ @if $unicodeRange {
186
+ unicode-range: #{$unicodeRange};
187
+ }
172
188
  }
173
189
  } @else {
174
190
  @font-face {
175
191
  font-family: '#{$family}';
176
- src:
177
- url('#{$path}/#{$family}/#{$keyword}-#{$style}.woff2') format('woff2'),
178
- url('#{$path}/#{$family}/#{$keyword}-#{$style}.woff') format('woff');
192
+ src: url('#{$familyPath}/#{$keyword}#{$filenameSuffix}-#{$style}.woff2') format('woff2');
179
193
  font-weight: #{$number};
180
194
  font-style: #{$style};
181
195
  font-display: swap;
196
+
197
+ @if $unicodeRange {
198
+ unicode-range: #{$unicodeRange};
199
+ }
182
200
  }
183
201
  }
184
202
  }
@@ -13,7 +13,6 @@
13
13
  .bubbleIcon,
14
14
  .softwareIcon,
15
15
  .lucca-icon,
16
- .icon,
17
16
 
18
17
  // Texts
19
18
  .code,
@@ -21,6 +20,7 @@
21
20
  .newBadge,
22
21
  .numericBadge,
23
22
  .plgPush,
23
+ .priorityLevels,
24
24
  .readMore,
25
25
  .statusBadge,
26
26
  .tag,
@@ -148,7 +148,7 @@
148
148
  lu-bubble-illustration .bubbleIllustration,
149
149
  lu-bubble-icon,
150
150
  lu-software-icon .softwareIcon,
151
- lu-icon .icon,
151
+ lu-icon .lucca-icon,
152
152
 
153
153
  // Texts
154
154
  lu-code .code,
@@ -156,6 +156,7 @@
156
156
  lu-new-badge,
157
157
  lu-numeric-badge,
158
158
  lu-plg-push .plgPush,
159
+ lu-priority-levels,
159
160
  lu-read-more,
160
161
  lu-status-badge,
161
162
  lu-tag .tag,
@@ -11,7 +11,17 @@
11
11
  // TOKENS : TYPO
12
12
 
13
13
  --pr-t-font-family: '#{config.$fontFamily}', Tahoma, sans-serif;
14
- --pr-t-font-family-brand: '#{config.$fontFamilyBrand}', Tahoma, sans-serif;
14
+ --pr-t-font-family-brand: var(--pr-t-font-family);
15
+
16
+ &:lang(fr),
17
+ &:lang(en),
18
+ &:lang(de),
19
+ &:lang(nl),
20
+ &:lang(it),
21
+ &:lang(pt),
22
+ &:lang(es) {
23
+ --pr-t-font-family-brand: '#{config.$fontFamilyBrand}', Tahoma, sans-serif;
24
+ }
15
25
 
16
26
  @if (config.$fontFamilyCursive) {
17
27
  --pr-t-font-family-cursive: '#{config.$fontFamilyCursive}', cursive;
@@ -1,5 +1,6 @@
1
1
  @use '@lucca-front/scss/src/commons/utils/namespace';
2
2
  @use '@lucca-front/scss/src/commons/utils/reset';
3
+ @use '@lucca-front/icons/src/icon/exports' as icons;
3
4
 
4
5
  @mixin component($atRoot: namespace.$defaultAtRoot) {
5
6
  list-style-type: '';
@@ -32,9 +33,15 @@
32
33
  .activityFeed-step-state,
33
34
  .activityFeed-step-avatar {
34
35
  margin-block: var(--pr-t-spacings-75);
36
+ flex-shrink: 0;
35
37
  }
36
38
 
37
39
  .activityFeed-step-state {
40
+ @include icons.S;
41
+
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: center;
38
45
  inline-size: var(--pr-t-spacings-400);
39
46
  block-size: var(--pr-t-spacings-400);
40
47
  border-radius: var(--pr-t-border-radius-full);
@@ -43,12 +50,8 @@
43
50
 
44
51
  &::before {
45
52
  color: var(--palettes-700, var(--palettes-neutral-700));
46
- font-size: calc(1.5 * var(--pr-t-font-body-M-fontSize));
53
+ font-size: var(--icon-size);
47
54
  block-size: var(--pr-t-font-body-M-lineHeight);
48
- inset: 0;
49
- margin: auto;
50
- position: absolute;
51
- text-align: center;
52
55
  }
53
56
  }
54
57
 
@@ -84,8 +87,9 @@
84
87
  .activityFeed-content-update-item {
85
88
  display: var(--components-activityFeed-content-update-item-display);
86
89
  align-items: center;
87
- gap: var(--pr-t-spacings-75);
90
+ gap: 0 var(--pr-t-spacings-75);
88
91
  min-block-size: var(--pr-t-spacings-300);
92
+ flex-wrap: wrap;
89
93
  }
90
94
 
91
95
  .activityFeed-content-update-item-object {
@@ -34,6 +34,10 @@
34
34
  @include critical;
35
35
  }
36
36
 
37
+ .activityFeed-step-state.mod-icon {
38
+ @include withIcon;
39
+ }
40
+
37
41
  .activityFeed-content-update-item {
38
42
  &:has(.activityFeed-content-update-item-before:empty, .activityFeed-content-update-item-after:empty) {
39
43
  @include single;
@@ -24,3 +24,9 @@
24
24
  @include icon.generate('sign_close');
25
25
  }
26
26
  }
27
+
28
+ @mixin withIcon {
29
+ @include color.palette('product');
30
+
31
+ color: var(--palettes-product-700);
32
+ }
@@ -3,19 +3,25 @@
3
3
  @mixin XS {
4
4
  --components-bubbleIcon-size: var(--pr-t-spacings-300);
5
5
 
6
- @include icon.XS;
6
+ .lucca-icon {
7
+ @include icon.XS;
8
+ }
7
9
  }
8
10
 
9
11
  @mixin S {
10
12
  --components-bubbleIcon-size: var(--pr-t-spacings-400);
11
13
 
12
- @include icon.S;
14
+ .lucca-icon {
15
+ @include icon.S;
16
+ }
13
17
  }
14
18
 
15
19
  @mixin L {
16
20
  --components-bubbleIcon-size: var(--pr-t-spacings-600);
17
21
 
18
- @include icon.L;
22
+ .lucca-icon {
23
+ @include icon.L;
24
+ }
19
25
  }
20
26
 
21
27
  @mixin left {
@@ -1,12 +1,11 @@
1
- @use '@lucca-front/icons/src/icon/exports' as luccaIcon;
2
- @use '@lucca-front/icons/src/commons/utils/icon' as utilsIcon;
3
- @use '@lucca-front/scss/src/components/icon/exports' as icon;
1
+ @use '@lucca-front/icons/src/icon/exports' as icons;
2
+ @use '@lucca-front/icons/src/commons/utils/icon';
4
3
  @use '@lucca-front/scss/src/commons/utils/a11y';
5
4
  @use '@lucca-front/scss/src/commons/utils/color';
6
5
  @use '@lucca-front/scss/src/components/numericBadge/exports' as numericBadge;
7
6
 
8
7
  @mixin M {
9
- @include luccaIcon.M;
8
+ @include icons.M;
10
9
 
11
10
  --components-button-font: var(--pr-t-font-body-M);
12
11
  --components-button-paddingBlock: var(--pr-t-spacings-100);
@@ -23,7 +22,7 @@
23
22
  }
24
23
 
25
24
  @mixin S {
26
- @include luccaIcon.S;
25
+ @include icons.S;
27
26
 
28
27
  --components-button-font: var(--pr-t-font-body-S);
29
28
  --components-button-paddingBlock: var(--pr-t-spacings-75);
@@ -46,7 +45,7 @@
46
45
  }
47
46
 
48
47
  @mixin XS {
49
- @include luccaIcon.XS;
48
+ @include icons.XS;
50
49
 
51
50
  --components-button-font: var(--pr-t-font-body-XS);
52
51
  --components-button-paddingBlock: var(--pr-t-spacings-50);
@@ -151,7 +150,7 @@
151
150
  --components-button-padding: 0;
152
151
 
153
152
  &::after {
154
- @include utilsIcon.generate('arrow_chevron_bottom');
153
+ @include icon.generate('arrow_chevron_bottom');
155
154
 
156
155
  block-size: 0;
157
156
  order: -1;
@@ -284,12 +283,8 @@
284
283
  @include color.borderGradient($gradient: var(--pr-t-color-border-ai));
285
284
 
286
285
  &:not(.mod-invert) {
287
- @include icon.whenRawIcon {
288
- @include luccaIcon.AI;
289
- }
290
-
291
- @include icon.whenIconComponent {
292
- @include icon.AI;
286
+ .lucca-icon {
287
+ @include icons.AI;
293
288
  }
294
289
  }
295
290
  }
@@ -28,11 +28,7 @@
28
28
  }
29
29
 
30
30
  &.mod-day {
31
- max-block-size: 19.25rem;
32
-
33
- &:has(+ .calendarWrapper .calendar-todayLink) {
34
- max-block-size: 21.75rem;
35
- }
31
+ max-block-size: 20rem;
36
32
  }
37
33
 
38
34
  &.mod-month,
@@ -154,6 +150,7 @@
154
150
 
155
151
  border-radius: var(--pr-t-border-radius-default);
156
152
  text-align: inherit;
153
+ text-transform: inherit;
157
154
  inline-size: fit-content;
158
155
  display: inline-block;
159
156
  padding: var(--pr-t-spacings-50);
@@ -1,5 +1,4 @@
1
1
  @use '@lucca-front/icons/src/icon/exports' as icons;
2
- @use '@lucca-front/scss/src/components/icon/exports' as icon;
3
2
  @use '@lucca-front/scss/src/commons/utils/color';
4
3
  @use '@lucca-front/scss/src/commons/utils/a11y';
5
4
  @use '@lucca-front/scss/src/components/button/exports' as button;
@@ -38,13 +37,9 @@
38
37
  @include color.borderGradient($gradient: var(--pr-t-color-border-ai));
39
38
 
40
39
  .callout-icon {
41
- @include icon.whenRawIcon {
40
+ .lucca-icon {
42
41
  @include icons.AI;
43
42
  }
44
-
45
- @include icon.whenIconComponent {
46
- @include icon.AI;
47
- }
48
43
  }
49
44
  }
50
45
 
@@ -160,6 +160,8 @@
160
160
 
161
161
  .statusBadge,
162
162
  .tag,
163
+ lu-tag,
164
+ pr-tag,
163
165
  .avatar {
164
166
  vertical-align: top;
165
167
  }
@@ -53,6 +53,12 @@
53
53
  flex-direction: column;
54
54
  flex-grow: 1;
55
55
 
56
+ .dataTable {
57
+ // override required for Safari
58
+ block-size: auto;
59
+ flex-grow: 1;
60
+ }
61
+
56
62
  &::before,
57
63
  &::after {
58
64
  content: '';
@@ -149,6 +155,12 @@
149
155
  }
150
156
  }
151
157
  }
158
+
159
+ .dataTable-body-row.mod-group .dataTable-body-row-cell-expand {
160
+ position: sticky;
161
+ inset-inline-start: var(--components-dataTable-cell-padding-inline);
162
+ inline-size: fit-content;
163
+ }
152
164
  }
153
165
 
154
166
  @mixin stickyColumnBorder {
@@ -6,7 +6,7 @@
6
6
 
7
7
  @mixin component($atRoot: namespace.$defaultAtRoot) {
8
8
  animation-name: var(--components-dialog-animationOpening);
9
- animation-duration: var(--commons-animations-durations-standard);
9
+ animation-duration: var(--components-dialog-animationDuration);
10
10
  inset: var(--components-dialog-inset);
11
11
  inline-size: var(--components-dialog-width);
12
12
  block-size: var(--components-dialog-height);
@@ -21,7 +21,7 @@
21
21
  max-inline-size: var(--components-dialog-maxWidth) !important;
22
22
  max-block-size: var(--components-dialog-maxHeight) !important;
23
23
  transition-property: scale, translate, inline-size, block-size, inset;
24
- transition-duration: var(--commons-animations-durations-standard);
24
+ transition-duration: var(--components-dialog-animationDuration);
25
25
  overflow: hidden;
26
26
  translate: var(--components-dialog-translateX) var(--components-dialog-translateY);
27
27
  scale: var(--components-dialog-scale);
@@ -108,6 +108,7 @@
108
108
  }
109
109
 
110
110
  .dialog-inside-header-actionOptional {
111
+ grid-area: action;
111
112
  margin-inline-end: calc(var(--pr-t-spacings-100) * -1);
112
113
 
113
114
  &:empty {
@@ -146,10 +147,12 @@
146
147
  position: var(--components-dialog-inside-header-button-position);
147
148
  inset-block-start: var(--components-dialog-inside-header-button-insetBlockStart);
148
149
  inset-inline-end: var(--components-dialog-inside-header-button-insetInlineEnd);
150
+ justify-self: var(--components-dialog-inside-header-button-justifySelf);
149
151
  }
150
152
 
151
153
  .dialog-inside-header-content {
152
154
  grid-area: content;
155
+ padding-block-start: var(--components-dialog-inside-header-content-paddingBlockStart);
153
156
 
154
157
  &:empty {
155
158
  display: none;
@@ -165,6 +168,7 @@
165
168
  flex-grow: var(--components-dialog-insideContent-flexGrow);
166
169
  display: block;
167
170
  outline: none;
171
+ isolation: isolate;
168
172
 
169
173
  &:empty {
170
174
  display: none;
@@ -176,7 +180,7 @@
176
180
  }
177
181
 
178
182
  .dialog-inside-header-container-title {
179
- font: var(--pr-t-font-heading-2);
183
+ font: var(--components-dialog-insideHeaderTitleFont);
180
184
  padding: var(--components-dialog-insideHeaderTitlePadding);
181
185
  text-align: var(--components-dialog-insideHeaderTitleAlign);
182
186
  margin: 0;
@@ -79,10 +79,10 @@
79
79
  @mixin sheet {
80
80
  --components-dialog-width: 100%;
81
81
  --components-dialog-maxWidth: none;
82
- --components-dialog-maxHeight: calc(100% - var(--pr-t-spacings-150));
82
+ --components-dialog-maxHeight: min(calc(100% - var(--pr-t-spacings-150)), calc(var(--components-dialog-visibleViewportBlockSize) - var(--pr-t-spacings-150)));
83
83
  --components-dialog-maxHeightFallback: var(--components-dialog-maxHeight);
84
84
  --components-dialog-borderRadius: var(--pr-t-border-radius-structure) var(--pr-t-border-radius-structure) 0 0;
85
- --components-dialog-inset: auto 0 0;
85
+ --components-dialog-inset: auto 0 var(--components-dialog-insetBlockEnd) 0;
86
86
  }
87
87
 
88
88
  @mixin sheetNarrow {
@@ -8,11 +8,15 @@
8
8
  --components-dialog-maxHeightFallback: calc(100vh - (var(--pr-t-spacings-200) * 2));
9
9
  --components-dialog-borderRadius: var(--pr-t-border-radius-structure);
10
10
  --components-dialog-inset: 0 var(--commons-pushPanel-inlineSize) 0 0;
11
+ --components-dialog-insetBlockEnd: 0px;
12
+ --components-dialog-visibleViewportBlockSize: 100%;
11
13
  --components-dialog-animationOpening: scaleIn;
14
+ --components-dialog-animationDuration: var(--commons-animations-durations-standard);
12
15
  --components-dialog-insideHeaderAreas:
13
16
  'container close'
14
17
  'content content';
15
18
  --components-dialog-insideHeaderTitleAlign: left;
19
+ --components-dialog-insideHeaderTitleFont: var(--pr-t-font-heading-2);
16
20
  --components-dialog-insideHeaderTitlePadding: calc(var(--pr-t-spacings-50) / 2) 0;
17
21
  --components-dialog-insideHeaderButtonDisplay: flex;
18
22
  --components-dialog-insideHeaderLinkDisplay: none;
@@ -32,6 +36,7 @@
32
36
  --components-dialog-inside-header-position: relative;
33
37
  --components-dialog-inside-header-paddingBlock: var(--pr-t-spacings-200);
34
38
  --components-dialog-inside-header-paddingInline: var(--pr-t-spacings-300);
39
+ --components-dialog-inside-header-content-paddingBlockStart: 0px;
35
40
  --components-dialog-inside-header-button-position: static;
36
41
  --components-dialog-inside-backgroundImage: none;
37
42
  --components-dialog-minBlockSize: 0px;
@@ -41,6 +46,7 @@
41
46
  --components-dialog-inside-fancyIllustrations-inlineSize: var(--components-dialog-inside-paddingInlineEnd);
42
47
  --components-dialog-inside-header-button-insetBlockStart: var(--pr-t-spacings-200);
43
48
  --components-dialog-inside-header-button-insetInlineEnd: var(--pr-t-spacings-300);
49
+ --components-dialog-inside-header-button-justifySelf: auto;
44
50
  --components-dialog-inside-header-marginBlock: 0px;
45
51
  --components-dialog-inside-footer-marginBlock: 0px;
46
52
  --components-dialog-inside-footer-actions-button-icon-menuDots-display: block;
@@ -9,7 +9,91 @@
9
9
  margin-inline: var(--components-fancyBox-marginInline);
10
10
  contain: layout;
11
11
 
12
+ &:has(.fancyBox-content-backgroundEndStart),
13
+ &:has(.fancyBox-content-backgroundStartEnd),
14
+ &:has(.fancyBox-content-foregroundStartEnd),
15
+ &:has(.fancyBox-content-foregroundEndStart) {
16
+ .fancyBox-content {
17
+ &::before,
18
+ &::after {
19
+ content: none;
20
+ }
21
+ }
22
+ }
23
+
12
24
  @at-root ($atRoot) {
25
+ :is(
26
+ .fancyBox-content-backgroundEndStart,
27
+ .fancyBox-content-backgroundStartEnd,
28
+ .fancyBox-content-foregroundStartEnd,
29
+ .fancyBox-content-foregroundEndStart
30
+ ) {
31
+ position: absolute;
32
+ transition-duration: var(--commons-animations-durations-slow);
33
+ pointer-events: none;
34
+ transition-property: inline-size, block-size, inset;
35
+
36
+ svg {
37
+ display: block;
38
+ inline-size: 100%;
39
+ block-size: auto;
40
+ }
41
+ }
42
+
43
+ .fancyBox-content-backgroundEndStart,
44
+ .fancyBox-content-backgroundStartEnd {
45
+ z-index: -1;
46
+ }
47
+
48
+ .fancyBox-content-backgroundEndStart {
49
+ inset-block-end: var(--components-fancyBox-content-backgroundEndStart-insetBlockEnd);
50
+ inset-inline-start: var(--components-fancyBox-content-backgroundEndStart-insetInlineStart);
51
+ inline-size: var(--components-fancyBox-content-backgroundEndStart-inlineSize);
52
+ block-size: var(--components-fancyBox-content-backgroundEndStart-blockSize);
53
+ }
54
+
55
+ .fancyBox-content-backgroundStartEnd {
56
+ inset-block-start: var(--components-fancyBox-content-backgroundStartEnd-insetBlockStart);
57
+ inset-inline-end: var(--components-fancyBox-content-backgroundStartEnd-insetInlineEnd);
58
+ inline-size: var(--components-fancyBox-content-backgroundStartEnd-inlineSize);
59
+ block-size: var(--components-fancyBox-content-backgroundStartEnd-blockSize);
60
+ }
61
+
62
+ .fancyBox-content-foregroundStartEnd {
63
+ inset-block-start: var(--components-fancyBox-content-foregroundStartEnd-insetBlockStart);
64
+ inset-inline-end: var(--components-fancyBox-content-foregroundStartEnd-insetInlineEnd);
65
+ inline-size: var(--components-fancyBox-content-foregroundStartEnd-inlineSize);
66
+ block-size: var(--components-fancyBox-content-foregroundStartEnd-blockSize);
67
+ }
68
+
69
+ .fancyBox-content-foregroundEndStart {
70
+ inset-block-end: var(--components-fancyBox-content-foregroundEndStart-insetBlockEnd);
71
+ inset-inline-start: var(--components-fancyBox-content-foregroundEndStart-insetInlineStart);
72
+ inline-size: var(--components-fancyBox-content-foregroundEndStart-inlineSize);
73
+ block-size: var(--components-fancyBox-content-foregroundEndStart-blockSize);
74
+ }
75
+
76
+ // deprecated
77
+ .fancyBox-content-foreground {
78
+ inset-block-start: var(--components-fancyBox-content-foregroundStartEnd-insetBlockStart);
79
+ inset-inline-end: var(--components-fancyBox-content-foregroundStartEnd-insetInlineEnd);
80
+ inline-size: var(--components-fancyBox-content-foregroundStartEnd-inlineSize);
81
+ block-size: var(--components-fancyBox-content-foregroundStartEnd-blockSize);
82
+ background-repeat: no-repeat;
83
+ background-image: var(--components-fancyBox-foreground);
84
+ background-size: contain;
85
+ position: absolute;
86
+ transition-duration: var(--commons-animations-durations-slow);
87
+ pointer-events: none;
88
+ transition-property: inline-size, block-size, inset;
89
+
90
+ svg {
91
+ display: block;
92
+ inline-size: 100%;
93
+ block-size: auto;
94
+ }
95
+ }
96
+
13
97
  .fancyBox-content {
14
98
  position: relative;
15
99
  min-block-size: var(--components-fancyBox-contentMinBlockSize);
@@ -25,6 +109,7 @@
25
109
  align-items: center;
26
110
  justify-content: center;
27
111
 
112
+ // deprecated
28
113
  &::before,
29
114
  &::after {
30
115
  content: '';
@@ -38,6 +123,7 @@
38
123
  pointer-events: none;
39
124
  }
40
125
 
126
+ // deprecated
41
127
  &::before {
42
128
  transition-property: inline-size, block-size, inset-block-end, inset-inline-start;
43
129
  inset-block-end: var(--components-fancyBox-offsetBlock);
@@ -45,6 +131,7 @@
45
131
  background-image: var(--components-fancyBox-background-left);
46
132
  }
47
133
 
134
+ // deprecated
48
135
  &::after {
49
136
  transition-property: inline-size, block-size, inset-block-start, inset-inline-end;
50
137
  inset-block-start: var(--components-fancyBox-offsetBlock);
@@ -52,19 +139,5 @@
52
139
  background-image: var(--components-fancyBox-background-right);
53
140
  }
54
141
  }
55
-
56
- .fancyBox-content-foreground {
57
- position: absolute;
58
- inline-size: var(--components-fancyBox-imageWidth);
59
- block-size: var(--components-fancyBox-imageHeight);
60
- background-repeat: no-repeat;
61
- inset-block-start: var(--components-fancyBox-offsetBlock);
62
- inset-inline-end: var(--components-fancyBox-offsetInline);
63
- background-image: var(--components-fancyBox-foreground);
64
- background-size: contain;
65
- transition-property: inline-size, block-size, inset-block-start, inset-inline-end;
66
- transition-duration: var(--commons-animations-durations-slow);
67
- pointer-events: none;
68
- }
69
142
  }
70
143
  }