@sc-360-v2/storefront-cms-library 0.5.53 → 0.5.55
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.
- package/dist/add-products-tab-details.scss +3 -0
- package/dist/allocation-header-quota-details.scss +520 -0
- package/dist/allocationDetails.scss +617 -644
- package/dist/allocations-quota-details.scss +454 -0
- package/dist/allocations.scss +8 -0
- package/dist/amount-estimator.scss +1088 -1083
- package/dist/badge.scss +396 -388
- package/dist/breadcrumbs.scss +17 -0
- package/dist/builder.js +1 -1
- package/dist/bulk-variant-picker.scss +4 -0
- package/dist/bundle copy.scss +26 -0
- package/dist/bundle.scss +10 -0
- package/dist/bundleDetails.scss +14 -0
- package/dist/button copy.scss +2 -0
- package/dist/button.scss +2 -0
- package/dist/buyForHeaders.scss +19 -0
- package/dist/cart-details.scss +101 -18
- package/dist/cart-summary.scss +18 -0
- package/dist/cart.scss +2 -0
- package/dist/cartAttributes.scss +4 -0
- package/dist/category-groups-quota-details.scss +124 -38
- package/dist/checkout.scss +6 -0
- package/dist/countdown.scss +2 -0
- package/dist/coupon.scss +8 -0
- package/dist/embroidery.scss +2 -0
- package/dist/employee-bulk-order.scss +5 -0
- package/dist/faq.scss +9 -0
- package/dist/filters.scss +2 -0
- package/dist/form-zindex-module.scss +24 -24
- package/dist/gallery-slider-temp.scss +205 -14
- package/dist/hotspot.scss +5 -1
- package/dist/icon-list.scss +2 -0
- package/dist/kitDetails.scss +2 -0
- package/dist/kits.scss +2 -0
- package/dist/language-selector.scss +2 -0
- package/dist/last-x-orders.scss +5 -0
- package/dist/login.scss +63 -9
- package/dist/map.scss +6 -0
- package/dist/mega-menu.scss +41 -0
- package/dist/menu-v2.scss +83 -6
- package/dist/order-status.scss +228 -136
- package/dist/past-orders.scss +989 -975
- package/dist/pickup-locations.scss +1172 -1167
- package/dist/product-image-allocation.scss +59 -0
- package/dist/product-inventory.scss +1381 -1378
- package/dist/product-promotions.scss +2768 -2759
- package/dist/product-sizechart.scss +4 -0
- package/dist/profile.scss +8 -0
- package/dist/quantity-selector.scss +4 -0
- package/dist/quick-inventory-check.scss +5 -0
- package/dist/quick-order-pad.scss +5 -0
- package/dist/quota-details.scss +99 -15
- package/dist/repeater copy.scss +3 -0
- package/dist/repeater-grid-toggle.scss +2 -0
- package/dist/repeater.scss +2 -0
- package/dist/rfqs.scss +10 -0
- package/dist/scroll.scss +46 -0
- package/dist/search.scss +4 -0
- package/dist/shipping-payments.scss +4 -0
- package/dist/social.scss +5 -0
- package/dist/store-locations.scss +1402 -1398
- package/dist/tab-v2.scss +2 -0
- package/dist/table-common.scss +509 -506
- package/dist/table.scss +687 -685
- package/dist/types/builder/tools/element-edit/addProductsTab.d.ts +28 -0
- package/dist/types/builder/tools/element-edit/allocationDetails.d.ts +5 -0
- package/dist/types/builder/tools/element-edit/allocations.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/breadcrumbs.d.ts +5 -0
- package/dist/types/builder/tools/element-edit/bundle.d.ts +40 -0
- package/dist/types/builder/tools/element-edit/bundleDetails.d.ts +20 -0
- package/dist/types/builder/tools/element-edit/buttonInstance.d.ts +18 -0
- package/dist/types/builder/tools/element-edit/buyForWithTab.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/cartAttributes.d.ts +9 -0
- package/dist/types/builder/tools/element-edit/cartDetails.d.ts +79 -1
- package/dist/types/builder/tools/element-edit/cartSummary.d.ts +259 -0
- package/dist/types/builder/tools/element-edit/categoryGroups.d.ts +28 -0
- package/dist/types/builder/tools/element-edit/checkout.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/common.d.ts +23 -0
- package/dist/types/builder/tools/element-edit/countdown.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/coupon.d.ts +19 -0
- package/dist/types/builder/tools/element-edit/embroidery.d.ts +9 -0
- package/dist/types/builder/tools/element-edit/filterResults.d.ts +10 -0
- package/dist/types/builder/tools/element-edit/gallery-slider.d.ts +19 -0
- package/dist/types/builder/tools/element-edit/icon-list.d.ts +31 -0
- package/dist/types/builder/tools/element-edit/iconInstace.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/iconLibrary.d.ts +2 -7
- package/dist/types/builder/tools/element-edit/kitDetails.d.ts +19 -0
- package/dist/types/builder/tools/element-edit/kits.d.ts +9 -0
- package/dist/types/builder/tools/element-edit/language-menu.d.ts +0 -1
- package/dist/types/builder/tools/element-edit/orderStatus.d.ts +320 -168
- package/dist/types/builder/tools/element-edit/quickLinks.d.ts +10 -0
- package/dist/types/builder/tools/element-edit/quotaDetails.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/rfqs.d.ts +5 -0
- package/dist/types/builder/tools/element-edit/scroll.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/shipping-payments.d.ts +2 -0
- package/dist/types/builder/tools/element-edit/social.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/table.d.ts +1 -0
- package/dist/types/builder/tools/element-edit/tabs.d.ts +18 -0
- package/dist/types/builder/tools/element-edit/tabsV2.d.ts +17 -0
- package/dist/types/builder/tools/element-edit/userElements.d.ts +197 -7
- package/dist/types/builder/tools/element-edit/video.d.ts +2 -0
- package/dist/user-elements.scss +263 -221
- package/dist/variant-picker.scss +2 -0
- package/dist/video.scss +2 -0
- package/dist/volume-pricing.scss +3 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@use "sass:map";
|
|
1
|
+
@use "sass:map";
|
|
2
2
|
@use "sass:list";
|
|
3
3
|
@use "./functions.scss" as *;
|
|
4
4
|
$overflowSelector: ".flex__overflow";
|
|
@@ -12,7 +12,7 @@ $defaultValues: (
|
|
|
12
12
|
);
|
|
13
13
|
// ---------------------------------------------------------------------------
|
|
14
14
|
// Tree view (Allocations View = "Tree"). Generated CSS-var bases for
|
|
15
|
-
// design.sidebarDesign.*
|
|
15
|
+
// design.sidebarDesign.* — the path shortcodes come from splitCamelCaseAndJoin.
|
|
16
16
|
// The rules below are the Category Groups sidebar rules, kept deliberately
|
|
17
17
|
// identical so the two trees look and behave the same; only the var bases and
|
|
18
18
|
// class prefix differ.
|
|
@@ -24,8 +24,11 @@ $ad-tree: "--_ctm-dn-sr-dn-pe-rw"; // sidebarDesign.profileRow
|
|
|
24
24
|
$ad-tree-icon: "--_ctm-dn-sr-dn-pe-te-in"; // sidebarDesign.profileTreeIcon
|
|
25
25
|
$ad-subtree: "--_ctm-dn-sr-dn-an-rw"; // sidebarDesign.allocationRow
|
|
26
26
|
$ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
27
|
+
$ad-slider-arrows: "--_ctm-dn-sr-pn-as"; // design.slider.paginationArrows
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
// $transform is the fallback for Text Transform, so a row that already rendered
|
|
30
|
+
// uppercase keeps doing so on elements saved before the control existed.
|
|
31
|
+
@mixin ad-font($base, $color, $size, $weight: 600, $transform: none) {
|
|
29
32
|
color: prepareMediaVariable(#{$base}-cr, $color);
|
|
30
33
|
font-family: prepareMediaVariable(#{$base}-ft-fy, ("Inter", sans-serif));
|
|
31
34
|
font-size: prepareMediaVariable(#{$base}-ft-se, $size);
|
|
@@ -35,6 +38,83 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
35
38
|
letter-spacing: prepareMediaVariable(#{$base}-lr-sg);
|
|
36
39
|
line-height: prepareMediaVariable(#{$base}-le-ht);
|
|
37
40
|
text-decoration: prepareMediaVariable(#{$base}-ue);
|
|
41
|
+
text-transform: prepareMediaVariable(#{$base}-tt-tm, $transform);
|
|
42
|
+
word-wrap: prepareMediaVariable(#{$base}-wd-wp, normal);
|
|
43
|
+
word-break: prepareMediaVariable(#{$base}-wd-bk, normal);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Text Transform and the word wrap/break pair the typography panel groups with it.
|
|
47
|
+
// $suffix is "-dc" for the sections whose Value block writes the *Desc keys.
|
|
48
|
+
@mixin ad-text-transform($base, $suffix: "", $transform: none) {
|
|
49
|
+
text-transform: prepareMediaVariable(#{$base}-tt-tm#{$suffix}, $transform);
|
|
50
|
+
word-wrap: prepareMediaVariable(#{$base}-wd-wp#{$suffix}, normal);
|
|
51
|
+
word-break: prepareMediaVariable(#{$base}-wd-bk#{$suffix}, normal);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Text Overflow: the renderer adds `.flex__overflow` and publishes the line count,
|
|
55
|
+
// so the clamp only applies once the toggle is on. `white-space: normal` undoes any
|
|
56
|
+
// `nowrap` above it — the text has to wrap before it can be restricted to N lines.
|
|
57
|
+
@mixin ad-text-overflow($clampVar: --_sf-line-clamp) {
|
|
58
|
+
&#{$overflowSelector} {
|
|
59
|
+
white-space: normal;
|
|
60
|
+
@include restrictToLinesShow(#{var($clampVar, 1)});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Container box for the sections whose schema has always carried Padding, Fill,
|
|
65
|
+
// Border, Border Radius and Shadow but which only ever rendered their font — the
|
|
66
|
+
// controls were there and did nothing (Brand, Code).
|
|
67
|
+
//
|
|
68
|
+
// Every fallback is the neutral value, not `prepareMediaVariable`'s `inherit`
|
|
69
|
+
// default: these boxes had no such rule at all until now, so an untouched card has
|
|
70
|
+
// to keep rendering byte for byte as it did. `inherit` would quietly hand them the
|
|
71
|
+
// parent's padding and fill, and a non-zero radius default would round every card
|
|
72
|
+
// nobody had styled.
|
|
73
|
+
@mixin ad-section-box($base) {
|
|
74
|
+
padding: prepareMediaVariable(#{$base}-pg, 0);
|
|
75
|
+
background-color: prepareMediaVariable(#{$base}-bd-cr, transparent);
|
|
76
|
+
border-color: prepareMediaVariable(#{$base}-br-cr, transparent);
|
|
77
|
+
border-style: prepareMediaVariable(#{$base}-br-se, solid);
|
|
78
|
+
border-width: prepareMediaVariable(#{$base}-br-wh, 0);
|
|
79
|
+
border-radius: prepareMediaVariable(#{$base}-br-rs, 0);
|
|
80
|
+
box-shadow: var(
|
|
81
|
+
--_show-shadow,
|
|
82
|
+
prepareMediaVariable(#{$base}-sw-ae, 0 0) prepareMediaVariable(#{$base}-sw-br, 0)
|
|
83
|
+
prepareMediaVariable(#{$base}-sw-sd, 0) prepareMediaVariable(#{$base}-sw-cr, transparent)
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// The icon a Brand / Code block can carry in front of its value. Sized and coloured
|
|
88
|
+
// from the section's own Icon settings, and told to hold its width so a long value
|
|
89
|
+
// wrapping beside it cannot squeeze the glyph.
|
|
90
|
+
@mixin ad-section-icon($base) {
|
|
91
|
+
display: flex;
|
|
92
|
+
align-items: center;
|
|
93
|
+
justify-content: center;
|
|
94
|
+
flex-shrink: 0;
|
|
95
|
+
color: prepareMediaVariable(#{$base}-in-c1, currentColor);
|
|
96
|
+
|
|
97
|
+
svg {
|
|
98
|
+
width: prepareMediaVariable(#{$base}-in-se, 16px);
|
|
99
|
+
height: prepareMediaVariable(#{$base}-in-se, 16px);
|
|
100
|
+
|
|
101
|
+
// Apply the configured colour even when the fetched SVG hardcodes its own
|
|
102
|
+
// stroke/fill (parts explicitly set to "none" are left alone).
|
|
103
|
+
&[stroke]:not([stroke="none"]),
|
|
104
|
+
[stroke]:not([stroke="none"]) {
|
|
105
|
+
stroke: prepareMediaVariable(#{$base}-in-c1, currentColor);
|
|
106
|
+
}
|
|
107
|
+
&[fill]:not([fill="none"]),
|
|
108
|
+
[fill]:not([fill="none"]) {
|
|
109
|
+
fill: prepareMediaVariable(#{$base}-in-c1, currentColor);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
img {
|
|
114
|
+
width: prepareMediaVariable(#{$base}-in-se, 16px);
|
|
115
|
+
height: prepareMediaVariable(#{$base}-in-se, 16px);
|
|
116
|
+
object-fit: contain;
|
|
117
|
+
}
|
|
38
118
|
}
|
|
39
119
|
|
|
40
120
|
@mixin ad-design($base) {
|
|
@@ -86,6 +166,80 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
86
166
|
#{$base}-#{$state}-ue,
|
|
87
167
|
prepareMediaVariable(#{$base}-dt-se-ue)
|
|
88
168
|
);
|
|
169
|
+
text-transform: prepareMediaVariable(
|
|
170
|
+
#{$base}-#{$state}-tt-tm,
|
|
171
|
+
prepareMediaVariable(#{$base}-dt-se-tt-tm, none)
|
|
172
|
+
);
|
|
173
|
+
word-wrap: prepareMediaVariable(
|
|
174
|
+
#{$base}-#{$state}-wd-wp,
|
|
175
|
+
prepareMediaVariable(#{$base}-dt-se-wd-wp, normal)
|
|
176
|
+
);
|
|
177
|
+
word-break: prepareMediaVariable(
|
|
178
|
+
#{$base}-#{$state}-wd-bk,
|
|
179
|
+
prepareMediaVariable(#{$base}-dt-se-wd-bk, normal)
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Padding, and the icon-to-label gap on the profile row, per interaction state.
|
|
184
|
+
// Same default-state fallback as ad-design-state; kept separate because only the
|
|
185
|
+
// profile row has an item gap — the allocation row is a lone label with nothing to
|
|
186
|
+
// space, so $gap is left out there rather than emitting a gap it never uses.
|
|
187
|
+
@mixin ad-layout-state($base, $state, $padding, $gap: null) {
|
|
188
|
+
padding: prepareMediaVariable(
|
|
189
|
+
#{$base}-#{$state}-pg,
|
|
190
|
+
prepareMediaVariable(#{$base}-dt-se-pg, $padding)
|
|
191
|
+
);
|
|
192
|
+
@if $gap != null {
|
|
193
|
+
gap: prepareMediaVariable(
|
|
194
|
+
#{$base}-#{$state}-im-gp,
|
|
195
|
+
prepareMediaVariable(#{$base}-dt-se-im-gp, $gap)
|
|
196
|
+
);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
// One key of the profile tree icon, resolved for an interaction state.
|
|
201
|
+
//
|
|
202
|
+
// $state is the state segment ("dt-se" | "hr-se" | "sd-se") and $key the icon key
|
|
203
|
+
// ("in-se" / "in-c1" for the collapsed icon, "in-se-ed" / "in-cr-ed" for the
|
|
204
|
+
// expanded one). Hover and selected fall back to the default state, so editing
|
|
205
|
+
// Default still cascades — the same rule the rows either side of the icon follow.
|
|
206
|
+
// The innermost fallback is the stateless variable this section used before it had
|
|
207
|
+
// states, which is what keeps trees saved back then rendering unchanged.
|
|
208
|
+
@function ad-tree-icon-var($state, $key, $fallback) {
|
|
209
|
+
$legacy: prepareMediaVariable(#{$ad-tree-icon}-#{$key}, $fallback);
|
|
210
|
+
|
|
211
|
+
@if $state == "dt-se" {
|
|
212
|
+
@return prepareMediaVariable(#{$ad-tree-icon}-dt-se-#{$key}, $legacy);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
@return prepareMediaVariable(
|
|
216
|
+
#{$ad-tree-icon}-#{$state}-#{$key},
|
|
217
|
+
prepareMediaVariable(#{$ad-tree-icon}-dt-se-#{$key}, $legacy)
|
|
218
|
+
);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// Size + colour of the tree icon for one state. The colour is applied to the
|
|
222
|
+
// element and to the fetched SVG's own stroke/fill, since a custom icon may
|
|
223
|
+
// hardcode them (parts explicitly set to "none" are left alone).
|
|
224
|
+
@mixin ad-tree-icon($state, $sizeKey, $colorKey, $fallbackSize: 20px, $fallbackColor: #002a4e) {
|
|
225
|
+
$size: ad-tree-icon-var($state, $sizeKey, $fallbackSize);
|
|
226
|
+
$color: ad-tree-icon-var($state, $colorKey, $fallbackColor);
|
|
227
|
+
|
|
228
|
+
color: $color;
|
|
229
|
+
|
|
230
|
+
svg {
|
|
231
|
+
width: $size;
|
|
232
|
+
height: $size;
|
|
233
|
+
|
|
234
|
+
&[stroke]:not([stroke="none"]),
|
|
235
|
+
[stroke]:not([stroke="none"]) {
|
|
236
|
+
stroke: $color;
|
|
237
|
+
}
|
|
238
|
+
&[fill]:not([fill="none"]),
|
|
239
|
+
[fill]:not([fill="none"]) {
|
|
240
|
+
fill: $color;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
89
243
|
}
|
|
90
244
|
|
|
91
245
|
@mixin ad-design-state($base, $state) {
|
|
@@ -271,6 +425,8 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
271
425
|
);
|
|
272
426
|
text-decoration: var(--_ctm-mob-dn-te-ue, var(--_ctm-tab-dn-te-ue, var(--_ctm-dn-te-ue)));
|
|
273
427
|
padding: prepareMediaVariable(--_ctm-dn-te-pg);
|
|
428
|
+
@include ad-text-transform(--_ctm-dn-te);
|
|
429
|
+
@include ad-text-overflow;
|
|
274
430
|
}
|
|
275
431
|
}
|
|
276
432
|
|
|
@@ -301,13 +457,23 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
301
457
|
.allocation__item {
|
|
302
458
|
@import "./product-image-allocation.scss";
|
|
303
459
|
|
|
460
|
+
// The configured Width must NOT go into flex-basis. In grid view the card
|
|
461
|
+
// is a column flex container, where basis is the main axis — the HEIGHT —
|
|
462
|
+
// so putting the width there silently overrode the Height (px) the import
|
|
463
|
+
// above sets, and the control looked dead. `auto` lets Width and Height
|
|
464
|
+
// each land on their own axis in both views; `0 0` still keeps the image
|
|
465
|
+
// from shrinking, which is the only thing the explicit basis was for.
|
|
304
466
|
.product__image_element {
|
|
305
|
-
flex: 0 0
|
|
467
|
+
flex: 0 0 auto;
|
|
306
468
|
}
|
|
307
469
|
|
|
308
470
|
display: flex;
|
|
309
471
|
flex-direction: column;
|
|
310
|
-
|
|
472
|
+
// Allocation > Item Gap. Spaces the header from the card grid below it;
|
|
473
|
+
// the same value spaces the header's own two parts (see `.showcase__title`),
|
|
474
|
+
// so name -> quota details -> cards keep one rhythm. 10px is what was
|
|
475
|
+
// hardcoded here before, so an untouched element does not move.
|
|
476
|
+
gap: prepareMediaVariable(--_ctm-dn-an-im-gp, 10px);
|
|
311
477
|
background-color: var(
|
|
312
478
|
--_ctm-mob-dn-an-an-im-bd-cr,
|
|
313
479
|
var(--_ctm-tab-dn-an-an-im-bd-cr, var(--_ctm-dn-an-an-im-bd-cr))
|
|
@@ -357,214 +523,32 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
357
523
|
var(--_ctm-tab-dn-an-an-im-pg, var(--_ctm-dn-an-an-im-pg))
|
|
358
524
|
);
|
|
359
525
|
|
|
360
|
-
.
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
);
|
|
375
|
-
|
|
376
|
-
border-width: var(
|
|
377
|
-
--_ctm-mob-dn-an-qa-lt-br-wh,
|
|
378
|
-
var(--_ctm-tab-dn-an-qa-lt-br-wh, var(--_ctm-dn-an-qa-lt-br-wh))
|
|
379
|
-
);
|
|
380
|
-
|
|
381
|
-
border-radius: var(
|
|
382
|
-
--_ctm-mob-dn-an-qa-lt-br-rs,
|
|
383
|
-
var(--_ctm-tab-dn-an-qa-lt-br-rs, var(--_ctm-dn-an-qa-lt-br-rs))
|
|
384
|
-
);
|
|
385
|
-
|
|
386
|
-
box-shadow: var(
|
|
387
|
-
--_show-shadow,
|
|
388
|
-
var(
|
|
389
|
-
--_ctm-mob-dn-an-qa-lt-sw-ae,
|
|
390
|
-
var(--_ctm-tab-dn-an-qa-lt-sw-ae, var(--_ctm-dn-an-qa-lt-sw-ae))
|
|
391
|
-
)
|
|
392
|
-
var(
|
|
393
|
-
--_ctm-mob-dn-an-qa-lt-sw-br,
|
|
394
|
-
var(--_ctm-tab-dn-an-qa-lt-sw-br, var(--_ctm-dn-an-qa-lt-sw-br))
|
|
395
|
-
)
|
|
396
|
-
var(
|
|
397
|
-
--_ctm-mob-dn-an-qa-lt-sw-sd,
|
|
398
|
-
var(--_ctm-tab-dn-an-qa-lt-sw-sd, var(--_ctm-dn-an-qa-lt-sw-sd))
|
|
399
|
-
)
|
|
400
|
-
var(
|
|
401
|
-
--_ctm-mob-dn-an-qa-lt-sw-cr,
|
|
402
|
-
var(--_ctm-tab-dn-an-qa-lt-sw-cr, var(--_ctm-dn-an-qa-lt-sw-cr))
|
|
403
|
-
)
|
|
404
|
-
);
|
|
405
|
-
white-space: nowrap;
|
|
406
|
-
|
|
407
|
-
height: 100%;
|
|
408
|
-
|
|
409
|
-
padding: prepareMediaVariable(--_ctm-dn-an-qa-lt-pg);
|
|
410
|
-
.label {
|
|
411
|
-
color: var(
|
|
412
|
-
--_ctm-mob-dn-an-qa-lt-cr,
|
|
413
|
-
var(--_ctm-tab-dn-an-qa-lt-cr, var(--_ctm-dn-an-qa-lt-cr))
|
|
414
|
-
);
|
|
415
|
-
font-family: var(
|
|
416
|
-
--_ctm-mob-dn-an-qa-lt-ft-fy,
|
|
417
|
-
var(--_ctm-tab-dn-an-qa-lt-ft-fy, var(--_ctm-dn-an-qa-lt-ft-fy))
|
|
418
|
-
);
|
|
419
|
-
font-size: var(
|
|
420
|
-
--_ctm-mob-dn-an-qa-lt-ft-se,
|
|
421
|
-
var(--_ctm-tab-dn-an-qa-lt-ft-se, var(--_ctm-dn-an-qa-lt-ft-se))
|
|
422
|
-
);
|
|
423
|
-
font-weight: var(
|
|
424
|
-
--_ctm-mob-dn-an-qa-lt-ft-wt,
|
|
425
|
-
var(--_ctm-tab-dn-an-qa-lt-ft-wt, var(--_ctm-dn-an-qa-lt-ft-wt))
|
|
426
|
-
);
|
|
427
|
-
font-style: var(
|
|
428
|
-
--_ctm-mob-dn-an-qa-lt-ft-se-ic,
|
|
429
|
-
var(--_ctm-tab-dn-an-qa-lt-ft-se-ic, var(--_ctm-dn-an-qa-lt-ft-se-ic))
|
|
430
|
-
);
|
|
431
|
-
text-align: var(
|
|
432
|
-
--_ctm-mob-dn-an-qa-lt-tt-an,
|
|
433
|
-
var(--_ctm-tab-dn-an-qa-lt-tt-an, var(--_ctm-dn-an-qa-lt-tt-an))
|
|
434
|
-
);
|
|
435
|
-
letter-spacing: var(
|
|
436
|
-
--_ctm-mob-dn-an-qa-lt-lr-sg,
|
|
437
|
-
var(--_ctm-tab-dn-an-qa-lt-lr-sg, var(--_ctm-dn-an-qa-lt-lr-sg))
|
|
438
|
-
);
|
|
439
|
-
line-height: var(
|
|
440
|
-
--_ctm-mob-dn-an-qa-lt-le-ht,
|
|
441
|
-
var(--_ctm-tab-dn-an-qa-lt-le-ht, var(--_ctm-dn-an-qa-lt-le-ht))
|
|
442
|
-
);
|
|
443
|
-
text-decoration: var(
|
|
444
|
-
--_ctm-mob-dn-an-qa-lt-ue,
|
|
445
|
-
var(--_ctm-tab-dn-an-qa-lt-ue, var(--_ctm-dn-an-qa-lt-ue))
|
|
446
|
-
);
|
|
447
|
-
}
|
|
448
|
-
.value {
|
|
449
|
-
// padding-block-end: var(--_sf-dc-pd-bt);
|
|
526
|
+
// Quota details in the allocation header. It renders the same embedded
|
|
527
|
+
// Quota Details element the cards do, from its own copy of the settings,
|
|
528
|
+
// so the rules come from a rebound copy of the card stylesheet rather than
|
|
529
|
+
// being written out again here.
|
|
530
|
+
.showcase__title {
|
|
531
|
+
// A row now, because the view switcher sits in this header beside the
|
|
532
|
+
// name and quota rather than up in `.main__header`. `flex-start` lets the
|
|
533
|
+
// switcher's own Vertical Alignment decide where it sits against the
|
|
534
|
+
// taller text column — in a row, align-self IS the vertical axis, which
|
|
535
|
+
// is what Top / Center / Bottom means.
|
|
536
|
+
display: flex;
|
|
537
|
+
align-items: flex-start;
|
|
538
|
+
justify-content: space-between;
|
|
539
|
+
gap: prepareMediaVariable(--_ctm-dn-an-im-gp, 10px);
|
|
450
540
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
font-size: var(
|
|
460
|
-
--_ctm-mob-dn-an-qa-lt-ft-se-dc,
|
|
461
|
-
var(--_ctm-tab-dn-an-qa-lt-ft-se-dc, var(--_ctm-dn-an-qa-lt-ft-se-dc))
|
|
462
|
-
);
|
|
463
|
-
font-weight: var(
|
|
464
|
-
--_ctm-mob-dn-an-qa-lt-ft-wt-dc,
|
|
465
|
-
var(--_ctm-tab-dn-an-qa-lt-ft-wt-dc, var(--_ctm-dn-an-qa-lt-ft-wt-dc))
|
|
466
|
-
);
|
|
467
|
-
font-style: var(
|
|
468
|
-
--_ctm-mob-dn-an-qa-lt-ft-se-ic-dc,
|
|
469
|
-
var(--_ctm-tab-dn-an-qa-lt-ft-se-ic-dc, var(--_ctm-dn-an-qa-lt-ft-se-ic-dc))
|
|
470
|
-
);
|
|
471
|
-
text-align: var(
|
|
472
|
-
--_ctm-mob-dn-an-qa-lt-tt-an-dc,
|
|
473
|
-
var(--_ctm-tab-dn-an-qa-lt-tt-an-dc, var(--_ctm-dn-an-qa-lt-tt-an-dc))
|
|
474
|
-
);
|
|
475
|
-
letter-spacing: var(
|
|
476
|
-
--_ctm-mob-dn-an-qa-lt-lr-sg-dc,
|
|
477
|
-
var(--_ctm-tab-dn-an-qa-lt-lr-sg-dc, var(--_ctm-dn-an-qa-lt-lr-sg-dc))
|
|
478
|
-
);
|
|
479
|
-
line-height: var(
|
|
480
|
-
--_ctm-mob-dn-an-qa-lt-le-ht-dc,
|
|
481
|
-
var(--_ctm-tab-dn-an-qa-lt-le-ht-dc, var(--_ctm-dn-an-qa-lt-le-ht-dc))
|
|
482
|
-
);
|
|
483
|
-
text-decoration: var(
|
|
484
|
-
--_ctm-mob-dn-an-qa-lt-ue-dc,
|
|
485
|
-
var(--_ctm-tab-dn-an-qa-lt-ue-dc, var(--_ctm-dn-an-qa-lt-ue-dc))
|
|
486
|
-
);
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
.days__left {
|
|
490
|
-
.label {
|
|
491
|
-
color: var(
|
|
492
|
-
--_ctm-mob-dn-an-es-in-cr,
|
|
493
|
-
var(--_ctm-tab-dn-an-es-in-cr, var(--_ctm-dn-an-es-in-cr))
|
|
494
|
-
);
|
|
495
|
-
font-family: var(
|
|
496
|
-
--_ctm-mob-dn-an-es-in-ft-fy,
|
|
497
|
-
var(--_ctm-tab-dn-an-es-in-ft-fy, var(--_ctm-dn-an-es-in-ft-fy))
|
|
498
|
-
);
|
|
499
|
-
font-size: var(
|
|
500
|
-
--_ctm-mob-dn-an-es-in-ft-se,
|
|
501
|
-
var(--_ctm-tab-dn-an-es-in-ft-se, var(--_ctm-dn-an-es-in-ft-se))
|
|
502
|
-
);
|
|
503
|
-
font-weight: var(
|
|
504
|
-
--_ctm-mob-dn-an-es-in-ft-wt,
|
|
505
|
-
var(--_ctm-tab-dn-an-es-in-ft-wt, var(--_ctm-dn-an-es-in-ft-wt))
|
|
506
|
-
);
|
|
507
|
-
font-style: var(
|
|
508
|
-
--_ctm-mob-dn-an-es-in-ft-se-ic,
|
|
509
|
-
var(--_ctm-tab-dn-an-es-in-ft-se-ic, var(--_ctm-dn-an-es-in-ft-se-ic))
|
|
510
|
-
);
|
|
511
|
-
text-align: var(
|
|
512
|
-
--_ctm-mob-dn-an-es-in-tt-an,
|
|
513
|
-
var(--_ctm-tab-dn-an-es-in-tt-an, var(--_ctm-dn-an-es-in-tt-an))
|
|
514
|
-
);
|
|
515
|
-
letter-spacing: var(
|
|
516
|
-
--_ctm-mob-dn-an-es-in-lr-sg,
|
|
517
|
-
var(--_ctm-tab-dn-an-es-in-lr-sg, var(--_ctm-dn-an-es-in-lr-sg))
|
|
518
|
-
);
|
|
519
|
-
line-height: var(
|
|
520
|
-
--_ctm-mob-dn-an-es-in-le-ht,
|
|
521
|
-
var(--_ctm-tab-dn-an-es-in-le-ht, var(--_ctm-dn-an-es-in-le-ht))
|
|
522
|
-
);
|
|
523
|
-
text-decoration: var(
|
|
524
|
-
--_ctm-mob-dn-an-es-in-ue,
|
|
525
|
-
var(--_ctm-tab-dn-an-es-in-ue, var(--_ctm-dn-an-es-in-ue))
|
|
526
|
-
);
|
|
541
|
+
// The name and quota keep their own column, so Allocation > Item Gap goes
|
|
542
|
+
// on spacing those two rather than pushing the switcher around.
|
|
543
|
+
.showcase__title__info {
|
|
544
|
+
display: flex;
|
|
545
|
+
flex-direction: column;
|
|
546
|
+
gap: prepareMediaVariable(--_ctm-dn-an-im-gp, 10px);
|
|
547
|
+
flex: 1;
|
|
548
|
+
min-width: 0;
|
|
527
549
|
}
|
|
528
|
-
.value {
|
|
529
|
-
// padding-block-end: var(--_sf-dc-pd-bt);
|
|
530
550
|
|
|
531
|
-
|
|
532
|
-
--_ctm-mob-dn-an-es-in-cr-dc,
|
|
533
|
-
var(--_ctm-tab-dn-an-es-in-cr-dc, var(--_ctm-dn-an-es-in-cr-dc))
|
|
534
|
-
);
|
|
535
|
-
font-family: var(
|
|
536
|
-
--_ctm-mob-dn-an-es-in-ft-fy-dc,
|
|
537
|
-
var(--_ctm-tab-dn-an-es-in-ft-fy-dc, var(--_ctm-dn-an-es-in-ft-fy-dc))
|
|
538
|
-
);
|
|
539
|
-
font-size: var(
|
|
540
|
-
--_ctm-mob-dn-an-es-in-ft-se-dc,
|
|
541
|
-
var(--_ctm-tab-dn-an-es-in-ft-se-dc, var(--_ctm-dn-an-es-in-ft-se-dc))
|
|
542
|
-
);
|
|
543
|
-
font-weight: var(
|
|
544
|
-
--_ctm-mob-dn-an-es-in-ft-wt-dc,
|
|
545
|
-
var(--_ctm-tab-dn-an-es-in-ft-wt-dc, var(--_ctm-dn-an-es-in-ft-wt-dc))
|
|
546
|
-
);
|
|
547
|
-
font-style: var(
|
|
548
|
-
--_ctm-mob-dn-an-es-in-ft-se-ic-dc,
|
|
549
|
-
var(--_ctm-tab-dn-an-es-in-ft-se-ic-dc, var(--_ctm-dn-an-es-in-ft-se-ic-dc))
|
|
550
|
-
);
|
|
551
|
-
text-align: var(
|
|
552
|
-
--_ctm-mob-dn-an-es-in-tt-an-dc,
|
|
553
|
-
var(--_ctm-tab-dn-an-es-in-tt-an-dc, var(--_ctm-dn-an-es-in-tt-an-dc))
|
|
554
|
-
);
|
|
555
|
-
letter-spacing: var(
|
|
556
|
-
--_ctm-mob-dn-an-es-in-lr-sg-dc,
|
|
557
|
-
var(--_ctm-tab-dn-an-es-in-lr-sg-dc, var(--_ctm-dn-an-es-in-lr-sg-dc))
|
|
558
|
-
);
|
|
559
|
-
line-height: var(
|
|
560
|
-
--_ctm-mob-dn-an-es-in-le-ht-dc,
|
|
561
|
-
var(--_ctm-tab-dn-an-es-in-le-ht-dc, var(--_ctm-dn-an-es-in-le-ht-dc))
|
|
562
|
-
);
|
|
563
|
-
text-decoration: var(
|
|
564
|
-
--_ctm-mob-dn-an-es-in-ue-dc,
|
|
565
|
-
var(--_ctm-tab-dn-an-es-in-ue-dc, var(--_ctm-dn-an-es-in-ue-dc))
|
|
566
|
-
);
|
|
567
|
-
}
|
|
551
|
+
@import "./allocation-header-quota-details.scss";
|
|
568
552
|
}
|
|
569
553
|
|
|
570
554
|
.allocation__name {
|
|
@@ -651,6 +635,8 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
651
635
|
var(--_ctm-tab-dn-an-an-ne-ue, var(--_ctm-dn-an-an-ne-ue))
|
|
652
636
|
);
|
|
653
637
|
padding: prepareMediaVariable(--_ctm-dn-an-an-ne-pg);
|
|
638
|
+
@include ad-text-transform(--_ctm-dn-an-an-ne);
|
|
639
|
+
@include ad-text-overflow;
|
|
654
640
|
}
|
|
655
641
|
}
|
|
656
642
|
|
|
@@ -707,107 +693,191 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
707
693
|
}
|
|
708
694
|
}
|
|
709
695
|
}
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
// The view switcher lives in the allocation header (`.showcase__title`), not
|
|
699
|
+
// in `.main__header` where it started, so its rules sit at showcase level and
|
|
700
|
+
// reach it wherever it is nested.
|
|
701
|
+
.button__group {
|
|
702
|
+
display: flex;
|
|
703
|
+
gap: 12px;
|
|
704
|
+
margin-left: auto;
|
|
705
|
+
// Grid View Control Style > Layout Style > Vertical Alignment. The
|
|
706
|
+
// renderer publishes the stored word (top / center / bottom); those are
|
|
707
|
+
// not align-self keywords, so the mapping is done here rather than
|
|
708
|
+
// written into every saved element.
|
|
709
|
+
align-self: center;
|
|
710
|
+
&[data-vertical-align="top"] {
|
|
711
|
+
align-self: flex-start;
|
|
714
712
|
}
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
713
|
+
&[data-vertical-align="center"] {
|
|
714
|
+
align-self: center;
|
|
715
|
+
}
|
|
716
|
+
&[data-vertical-align="bottom"] {
|
|
717
|
+
align-self: flex-end;
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
.product__views {
|
|
721
|
+
display: flex;
|
|
722
|
+
// background-color: #fff;
|
|
723
|
+
// border: 1px solid var(--_gray-300);
|
|
724
|
+
border-radius: 4px;
|
|
725
|
+
border-style: prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-lt-se-br-se, solid);
|
|
726
|
+
border-width: prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-lt-se-br-wh, 1px);
|
|
727
|
+
border-color: prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-lt-se-br-cr, var(--_gray-200));
|
|
728
|
+
background-color: prepareMediaVariable(
|
|
729
|
+
--_ctm-dn-gd-vw-cl-se-lt-se-bd-cr,
|
|
730
|
+
var(--_base-white)
|
|
731
|
+
);
|
|
732
|
+
// height: 40px;
|
|
733
|
+
// overflow: hidden;
|
|
734
|
+
|
|
735
|
+
// Hoisted out of `.btn` so the "Icon + Text" rules further down can size
|
|
736
|
+
// themselves off the same icon measurement.
|
|
737
|
+
$size: #{var(
|
|
738
|
+
--_sf-at-btn-size,
|
|
739
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-in-se, var(--_width-20))}
|
|
740
|
+
)};
|
|
741
|
+
|
|
742
|
+
.btn {
|
|
743
|
+
// display: inline-block;
|
|
744
|
+
// // padding: 8px;
|
|
745
|
+
// display: flex;
|
|
746
|
+
// align-items: center;
|
|
747
|
+
// justify-content: center;
|
|
729
748
|
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
749
|
+
display: var(--_d-flex);
|
|
750
|
+
--_width-20: 20px;
|
|
751
|
+
// $size: var(--_width-40);
|
|
752
|
+
// The 2x cell is now a floor rather than a fixed size: Padding is
|
|
753
|
+
// configurable, so the button grows past it once the padding needs more
|
|
754
|
+
// room than the icon left over. Untouched elements have no padding and
|
|
755
|
+
// stay exactly 2x, as they always were.
|
|
756
|
+
min-width: calc(#{$size} * 2);
|
|
757
|
+
min-height: calc(#{$size} * 2);
|
|
758
|
+
box-sizing: border-box;
|
|
759
|
+
padding: var(
|
|
760
|
+
--_sf-at-btn-pg,
|
|
761
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-pg, 0)}
|
|
762
|
+
);
|
|
763
|
+
align-items: center;
|
|
764
|
+
justify-content: center;
|
|
765
|
+
background: var(
|
|
766
|
+
--_sf-at-btn-bd,
|
|
767
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-bd-cr)}
|
|
768
|
+
);
|
|
769
|
+
box-shadow: var(
|
|
770
|
+
--_sf-at-btn-sw,
|
|
771
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-ae, 0 0)}
|
|
772
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-br, 0)}
|
|
773
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-sd, 0)}
|
|
774
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-sw-cr, transparent)}
|
|
775
|
+
);
|
|
776
|
+
|
|
777
|
+
// The renderer reads Show Shadow off whichever state the button is in,
|
|
778
|
+
// so one attribute covers both.
|
|
779
|
+
&[data-show-shadow="false"] {
|
|
780
|
+
box-shadow: none;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
cursor: pointer;
|
|
784
|
+
button {
|
|
785
|
+
display: flex;
|
|
786
|
+
// Until these are cleared the button keeps the browser's own
|
|
787
|
+
// padding and border, which pushed the glyph off the centre of its
|
|
788
|
+
// cell — that is what made the Grid and List icons sit unevenly
|
|
789
|
+
// beside each other. Filling the cell and centring here keeps them
|
|
790
|
+
// on one baseline at every icon size.
|
|
747
791
|
align-items: center;
|
|
748
792
|
justify-content: center;
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
793
|
+
width: 100%;
|
|
794
|
+
height: 100%;
|
|
795
|
+
padding: 0;
|
|
796
|
+
border: none;
|
|
797
|
+
background: transparent;
|
|
798
|
+
}
|
|
753
799
|
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
800
|
+
// The glyph gets its own flex box so the svg sits centred without the
|
|
801
|
+
// inline-baseline gap a bare `dangerouslySetInnerHTML` span would add.
|
|
802
|
+
.btn__icon {
|
|
803
|
+
display: flex;
|
|
804
|
+
align-items: center;
|
|
805
|
+
justify-content: center;
|
|
806
|
+
flex-shrink: 0;
|
|
761
807
|
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
)};
|
|
768
|
-
--_sf-at-pt-cl: #{prepareMediaVariable(
|
|
769
|
-
--_ctm-dn-gd-vw-cl-se-bn-sd-se-in-c1,
|
|
770
|
-
var(--_gray-700)
|
|
771
|
-
)};
|
|
772
|
-
--_sf-at-btn-bd: #{prepareMediaVariable(
|
|
773
|
-
--_ctm-dn-gd-vw-cl-se-bn-sd-se-bd-cr,
|
|
774
|
-
var(--_gray-200)
|
|
775
|
-
)};
|
|
776
|
-
// background: var(--_gray-200);
|
|
777
|
-
}
|
|
778
|
-
// &.active {
|
|
779
|
-
// background-color: #ced4f6;
|
|
780
|
-
// button {
|
|
781
|
-
// svg {
|
|
782
|
-
// path {
|
|
783
|
-
// stroke: var(--_primary-500);
|
|
784
|
-
// }
|
|
785
|
-
// }
|
|
786
|
-
// }
|
|
787
|
-
// }
|
|
788
|
-
// &:first-child {
|
|
789
|
-
// border-right: 1px solid var(--_gray-200);
|
|
790
|
-
// }
|
|
791
|
-
|
|
792
|
-
svg {
|
|
808
|
+
// An uploaded icon comes through as an <img> sized to its box, so the
|
|
809
|
+
// box needs a size of its own — the svg rule further down only reaches
|
|
810
|
+
// library icons, and a percentage inside a shrink-to-fit parent would
|
|
811
|
+
// otherwise resolve to nothing.
|
|
812
|
+
img {
|
|
793
813
|
width: calc(#{$size} * 1);
|
|
794
814
|
height: calc(#{$size} * 1);
|
|
795
|
-
|
|
796
|
-
path {
|
|
797
|
-
stroke: var(
|
|
798
|
-
--_sf-at-pt-cl,
|
|
799
|
-
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-in-c1, var(--_gray-500))}
|
|
800
|
-
);
|
|
801
|
-
}
|
|
815
|
+
object-fit: contain;
|
|
802
816
|
}
|
|
817
|
+
}
|
|
803
818
|
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
819
|
+
// &:hover {
|
|
820
|
+
// background-color: var(--_gray-100);
|
|
821
|
+
// }
|
|
822
|
+
|
|
823
|
+
&.active {
|
|
824
|
+
// --_sf-at-pt-cl: var(--_gray-700);
|
|
825
|
+
--_sf-at-btn-size: #{prepareMediaVariable(
|
|
826
|
+
--_ctm-dn-gd-vw-cl-se-bn-sd-se-in-se,
|
|
827
|
+
var(--_width-20)
|
|
828
|
+
)};
|
|
829
|
+
--_sf-at-pt-cl: #{prepareMediaVariable(
|
|
830
|
+
--_ctm-dn-gd-vw-cl-se-bn-sd-se-in-c1,
|
|
831
|
+
var(--_gray-700)
|
|
832
|
+
)};
|
|
833
|
+
--_sf-at-btn-bd: #{prepareMediaVariable(
|
|
834
|
+
--_ctm-dn-gd-vw-cl-se-bn-sd-se-bd-cr,
|
|
835
|
+
var(--_gray-200)
|
|
836
|
+
)};
|
|
837
|
+
// Same re-pointing trick as the icon vars above: the padding and
|
|
838
|
+
// shadow declarations stay written once and simply re-resolve
|
|
839
|
+
// against the selected state's values.
|
|
840
|
+
--_sf-at-btn-pg: #{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-pg, 0)};
|
|
841
|
+
--_sf-at-btn-sw: #{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-ae, 0 0)}
|
|
842
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-br, 0)}
|
|
843
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-sd, 0)}
|
|
844
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-sd-se-sw-cr, transparent)};
|
|
845
|
+
// background: var(--_gray-200);
|
|
846
|
+
}
|
|
847
|
+
// &.active {
|
|
848
|
+
// background-color: #ced4f6;
|
|
849
|
+
// button {
|
|
850
|
+
// svg {
|
|
851
|
+
// path {
|
|
852
|
+
// stroke: var(--_primary-500);
|
|
853
|
+
// }
|
|
854
|
+
// }
|
|
855
|
+
// }
|
|
856
|
+
// }
|
|
857
|
+
// &:first-child {
|
|
858
|
+
// border-right: 1px solid var(--_gray-200);
|
|
859
|
+
// }
|
|
860
|
+
|
|
861
|
+
svg {
|
|
862
|
+
width: calc(#{$size} * 1);
|
|
863
|
+
height: calc(#{$size} * 1);
|
|
864
|
+
|
|
865
|
+
path {
|
|
866
|
+
stroke: var(
|
|
867
|
+
--_sf-at-pt-cl,
|
|
868
|
+
#{prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-in-c1, var(--_gray-500))}
|
|
869
|
+
);
|
|
870
|
+
// Overrides the stroke-width presentation attribute baked into the icon markup.
|
|
871
|
+
stroke-width: prepareMediaVariable(--_ctm-dn-gd-vw-cl-se-bn-dt-se-se-wh, 1.25);
|
|
809
872
|
}
|
|
810
873
|
}
|
|
874
|
+
|
|
875
|
+
&:first-of-type {
|
|
876
|
+
border-radius: 4px 0 0 4px;
|
|
877
|
+
}
|
|
878
|
+
&:last-of-type {
|
|
879
|
+
border-radius: 0 4px 4px 0;
|
|
880
|
+
}
|
|
811
881
|
}
|
|
812
882
|
}
|
|
813
883
|
// products header styles
|
|
@@ -906,7 +976,12 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
906
976
|
// 1fr
|
|
907
977
|
// );
|
|
908
978
|
--_sf-cl-count: #{prepareMediaVariable(--_ctm-dn-an-an-im-is-pr-rw, 1)};
|
|
909
|
-
|
|
979
|
+
// The column width has to be worked out from the COLUMN gap alone — it is
|
|
980
|
+
// the only one that eats into the row's width.
|
|
981
|
+
--_sf-cl-gp: #{prepareMediaVariable(
|
|
982
|
+
--_ctm-dn-an-an-im-cn-gp,
|
|
983
|
+
prepareMediaVariable(--_ctm-dn-an-an-im-im-gp, 0px)
|
|
984
|
+
)};
|
|
910
985
|
grid-template-columns: getRepeatColWidth(--_sf-cl-count, --_sf-cl-gp);
|
|
911
986
|
// gap: 24px;
|
|
912
987
|
.product__card {
|
|
@@ -929,15 +1004,24 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
929
1004
|
}
|
|
930
1005
|
}
|
|
931
1006
|
display: grid;
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
1007
|
+
// Gap BETWEEN the item cards, now one control per axis. Both fall back to
|
|
1008
|
+
// the single `itemGap` this section used to carry, so a grid spaced before
|
|
1009
|
+
// the split keeps its spacing until either axis is touched.
|
|
1010
|
+
row-gap: prepareMediaVariable(
|
|
1011
|
+
--_ctm-dn-an-an-im-rw-gp,
|
|
1012
|
+
prepareMediaVariable(--_ctm-dn-an-an-im-im-gp, 0px)
|
|
1013
|
+
);
|
|
1014
|
+
column-gap: prepareMediaVariable(
|
|
1015
|
+
--_ctm-dn-an-an-im-cn-gp,
|
|
1016
|
+
prepareMediaVariable(--_ctm-dn-an-an-im-im-gp, 0px)
|
|
935
1017
|
);
|
|
936
1018
|
|
|
937
1019
|
.product__card {
|
|
938
1020
|
// product card styles
|
|
939
1021
|
display: flex;
|
|
940
|
-
|
|
1022
|
+
// Item Card > Item Gap: image container <-> details container. 12px is
|
|
1023
|
+
// what was hardcoded here, so an untouched card does not move.
|
|
1024
|
+
gap: prepareMediaVariable(--_ctm-dn-im-cd-im-gp, 12px);
|
|
941
1025
|
|
|
942
1026
|
background-color: var(
|
|
943
1027
|
--_ctm-mob-dn-im-cd-bd-cr,
|
|
@@ -1089,13 +1173,11 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1089
1173
|
var(--_ctm-tab-dn-ne-ue, var(--_ctm-dn-ne-ue))
|
|
1090
1174
|
);
|
|
1091
1175
|
padding: prepareMediaVariable(--_ctm-dn-ne-pg);
|
|
1092
|
-
text-transform
|
|
1176
|
+
@include ad-text-transform(--_ctm-dn-ne);
|
|
1093
1177
|
|
|
1094
1178
|
& > span {
|
|
1095
1179
|
width: 100%;
|
|
1096
|
-
|
|
1097
|
-
@include restrictToLinesShow(#{var(--_sf-line-clamp, 1)});
|
|
1098
|
-
}
|
|
1180
|
+
@include ad-text-overflow;
|
|
1099
1181
|
}
|
|
1100
1182
|
&[data-has-link="true"] {
|
|
1101
1183
|
cursor: pointer;
|
|
@@ -1111,6 +1193,15 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1111
1193
|
gap: 8px;
|
|
1112
1194
|
color: var(--_gray-600);
|
|
1113
1195
|
font-weight: 500;
|
|
1196
|
+
|
|
1197
|
+
// Item Card > Brand & Code Direction. Horizontal is the original
|
|
1198
|
+
// side-by-side row; vertical stacks the two blocks and lets each
|
|
1199
|
+
// start at the left rather than being centred against the other.
|
|
1200
|
+
&[data-direction="vertical"] {
|
|
1201
|
+
flex-direction: column;
|
|
1202
|
+
align-items: flex-start;
|
|
1203
|
+
flex-wrap: nowrap;
|
|
1204
|
+
}
|
|
1114
1205
|
}
|
|
1115
1206
|
}
|
|
1116
1207
|
|
|
@@ -1118,6 +1209,11 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1118
1209
|
display: flex;
|
|
1119
1210
|
align-items: center;
|
|
1120
1211
|
gap: 6px;
|
|
1212
|
+
@include ad-section-box(--_ctm-dn-bd);
|
|
1213
|
+
|
|
1214
|
+
.brand__icon {
|
|
1215
|
+
@include ad-section-icon(--_ctm-dn-bd);
|
|
1216
|
+
}
|
|
1121
1217
|
|
|
1122
1218
|
.value {
|
|
1123
1219
|
// padding-block-end: var(--_sf-dc-pd-bt);
|
|
@@ -1158,6 +1254,8 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1158
1254
|
--_ctm-mob-dn-bd-ue-dc,
|
|
1159
1255
|
var(--_ctm-tab-dn-bd-ue-dc, var(--_ctm-dn-bd-ue-dc))
|
|
1160
1256
|
);
|
|
1257
|
+
@include ad-text-transform(--_ctm-dn-bd, "-dc");
|
|
1258
|
+
@include ad-text-overflow(--_sf-line-clamp-desc);
|
|
1161
1259
|
}
|
|
1162
1260
|
.label {
|
|
1163
1261
|
color: var(--_ctm-mob-dn-bd-cr, var(--_ctm-tab-dn-bd-cr, var(--_ctm-dn-bd-cr)));
|
|
@@ -1193,12 +1291,19 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1193
1291
|
--_ctm-mob-dn-bd-ue,
|
|
1194
1292
|
var(--_ctm-tab-dn-bd-ue, var(--_ctm-dn-bd-ue))
|
|
1195
1293
|
);
|
|
1294
|
+
@include ad-text-transform(--_ctm-dn-bd);
|
|
1295
|
+
@include ad-text-overflow;
|
|
1196
1296
|
}
|
|
1197
1297
|
}
|
|
1198
1298
|
.code {
|
|
1199
1299
|
display: flex;
|
|
1200
1300
|
align-items: center;
|
|
1201
1301
|
gap: 6px;
|
|
1302
|
+
@include ad-section-box(--_ctm-dn-ce);
|
|
1303
|
+
|
|
1304
|
+
.code__icon {
|
|
1305
|
+
@include ad-section-icon(--_ctm-dn-ce);
|
|
1306
|
+
}
|
|
1202
1307
|
|
|
1203
1308
|
.value {
|
|
1204
1309
|
// padding-block-end: var(--_sf-dc-pd-bt);
|
|
@@ -1239,6 +1344,8 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1239
1344
|
--_ctm-mob-dn-ce-ue-dc,
|
|
1240
1345
|
var(--_ctm-tab-dn-ce-ue-dc, var(--_ctm-dn-ce-ue-dc))
|
|
1241
1346
|
);
|
|
1347
|
+
@include ad-text-transform(--_ctm-dn-ce, "-dc");
|
|
1348
|
+
@include ad-text-overflow(--_sf-line-clamp-desc);
|
|
1242
1349
|
}
|
|
1243
1350
|
.label {
|
|
1244
1351
|
color: var(--_ctm-mob-dn-ce-cr, var(--_ctm-tab-dn-ce-cr, var(--_ctm-dn-ce-cr)));
|
|
@@ -1274,6 +1381,8 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1274
1381
|
--_ctm-mob-dn-ce-ue,
|
|
1275
1382
|
var(--_ctm-tab-dn-ce-ue, var(--_ctm-dn-ce-ue))
|
|
1276
1383
|
);
|
|
1384
|
+
@include ad-text-transform(--_ctm-dn-ce);
|
|
1385
|
+
@include ad-text-overflow;
|
|
1277
1386
|
}
|
|
1278
1387
|
}
|
|
1279
1388
|
.price {
|
|
@@ -1347,251 +1456,14 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1347
1456
|
var(--_ctm-tab-dn-pe-ue, var(--_ctm-dn-pe-ue))
|
|
1348
1457
|
);
|
|
1349
1458
|
padding: prepareMediaVariable(--_ctm-dn-pe-pg);
|
|
1459
|
+
@include ad-text-transform(--_ctm-dn-pe);
|
|
1460
|
+
@include ad-text-overflow;
|
|
1350
1461
|
}
|
|
1351
1462
|
}
|
|
1352
1463
|
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-bd-cr, var(--_ctm-dn-qa-ds-wt-se-bd-cr))
|
|
1357
|
-
);
|
|
1358
|
-
padding: var(
|
|
1359
|
-
--_ctm-mob-dn-qa-ds-wt-se-pg,
|
|
1360
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-pg, var(--_ctm-dn-qa-ds-wt-se-pg))
|
|
1361
|
-
);
|
|
1362
|
-
display: flex;
|
|
1363
|
-
flex-direction: column;
|
|
1364
|
-
--_sf-gp: var(
|
|
1365
|
-
--_ctm-mob-dn-qa-ds-wt-se-im-sg,
|
|
1366
|
-
var(
|
|
1367
|
-
--_ctm-tab-dn-qa-ds-wt-se-im-sg,
|
|
1368
|
-
var(--_ctm-dn-qa-ds-wt-se-im-sg, var(--_ctm-dn-qa-ds-wt-se-im-sg), 16px)
|
|
1369
|
-
)
|
|
1370
|
-
);
|
|
1371
|
-
--_sf-cd-gp: calc(var(--_sf-gp) * 0.5);
|
|
1372
|
-
row-gap: var(--_sf-gp);
|
|
1373
|
-
width: 100%;
|
|
1374
|
-
height: 100%;
|
|
1375
|
-
border-color: var(
|
|
1376
|
-
--_ctm-mob-dn-qa-ds-wt-se-br-cr,
|
|
1377
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-br-cr, var(--_ctm-dn-qa-ds-wt-se-br-cr))
|
|
1378
|
-
);
|
|
1379
|
-
border-style: var(
|
|
1380
|
-
--_ctm-mob-dn-qa-ds-wt-se-br-se,
|
|
1381
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-br-se, var(--_ctm-dn-qa-ds-wt-se-br-se))
|
|
1382
|
-
);
|
|
1383
|
-
border-width: var(
|
|
1384
|
-
--_ctm-mob-dn-qa-ds-wt-se-br-wh,
|
|
1385
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-br-wh, var(--_ctm-dn-qa-ds-wt-se-br-wh))
|
|
1386
|
-
);
|
|
1387
|
-
border-radius: var(
|
|
1388
|
-
--_ctm-mob-dn-qa-ds-wt-se-br-rs,
|
|
1389
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-br-rs, var(--_ctm-dn-qa-ds-wt-se-br-rs))
|
|
1390
|
-
);
|
|
1391
|
-
box-shadow: var(
|
|
1392
|
-
--_show-shadow,
|
|
1393
|
-
var(
|
|
1394
|
-
--_ctm-mob-dn-qa-ds-wt-se-sw-ae,
|
|
1395
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-sw-ae, var(--_ctm-dn-qa-ds-wt-se-sw-ae))
|
|
1396
|
-
)
|
|
1397
|
-
var(
|
|
1398
|
-
--_ctm-mob-dn-qa-ds-wt-se-sw-br,
|
|
1399
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-sw-br, var(--_ctm-dn-qa-ds-wt-se-sw-br))
|
|
1400
|
-
)
|
|
1401
|
-
var(
|
|
1402
|
-
--_ctm-mob-dn-qa-ds-wt-se-sw-sd,
|
|
1403
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-sw-sd, var(--_ctm-dn-qa-ds-wt-se-sw-sd))
|
|
1404
|
-
)
|
|
1405
|
-
var(
|
|
1406
|
-
--_ctm-mob-dn-qa-ds-wt-se-sw-cr,
|
|
1407
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-sw-cr, var(--_ctm-dn-qa-ds-wt-se-sw-cr))
|
|
1408
|
-
)
|
|
1409
|
-
);
|
|
1410
|
-
|
|
1411
|
-
.product__hilights {
|
|
1412
|
-
display: flex;
|
|
1413
|
-
align-items: var(
|
|
1414
|
-
--_ctm-mob-dn-qa-ds-wt-se-wt-at,
|
|
1415
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-wt-at, var(--_ctm-dn-qa-ds-wt-se-wt-at))
|
|
1416
|
-
);
|
|
1417
|
-
justify-content: var(
|
|
1418
|
-
--_ctm-mob-dn-qa-ds-wt-se-hl-at,
|
|
1419
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-hl-at, var(--_ctm-dn-qa-ds-wt-se-hl-at))
|
|
1420
|
-
);
|
|
1421
|
-
gap: var(
|
|
1422
|
-
--_ctm-mob-dn-qa-ds-wt-se-im-sg,
|
|
1423
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-im-sg, var(--_ctm-dn-qa-ds-wt-se-im-sg))
|
|
1424
|
-
);
|
|
1425
|
-
width: 100%;
|
|
1426
|
-
|
|
1427
|
-
height: 100%;
|
|
1428
|
-
|
|
1429
|
-
&[data-show-dividers="true"] {
|
|
1430
|
-
.product__list__item {
|
|
1431
|
-
position: relative;
|
|
1432
|
-
&:not(:last-child)::after {
|
|
1433
|
-
content: "";
|
|
1434
|
-
width: var(
|
|
1435
|
-
--_ctm-mob-dn-qa-ds-dr-dr-wh,
|
|
1436
|
-
var(--_ctm-tab-dn-qa-ds-dr-dr-wh, var(--_ctm-dn-qa-ds-dr-dr-wh))
|
|
1437
|
-
);
|
|
1438
|
-
height: 100%;
|
|
1439
|
-
position: absolute;
|
|
1440
|
-
right: calc(
|
|
1441
|
-
(
|
|
1442
|
-
-1 *
|
|
1443
|
-
var(
|
|
1444
|
-
--_ctm-mob-dn-qa-ds-wt-se-im-sg,
|
|
1445
|
-
var(--_ctm-tab-dn-qa-ds-wt-se-im-sg, var(--_ctm-dn-qa-ds-wt-se-im-sg))
|
|
1446
|
-
) /
|
|
1447
|
-
2
|
|
1448
|
-
) -
|
|
1449
|
-
(
|
|
1450
|
-
var(
|
|
1451
|
-
--_ctm-mob-dn-qa-ds-dr-dr-wh,
|
|
1452
|
-
var(--_ctm-tab-dn-qa-ds-dr-dr-wh, var(--_ctm-dn-qa-ds-dr-dr-wh))
|
|
1453
|
-
) /
|
|
1454
|
-
2
|
|
1455
|
-
)
|
|
1456
|
-
);
|
|
1457
|
-
background-color: var(
|
|
1458
|
-
--_ctm-mob-dn-qa-ds-dr-dr-cr,
|
|
1459
|
-
var(--_ctm-tab-dn-qa-ds-dr-dr-cr, var(--_ctm-dn-qa-ds-dr-dr-cr))
|
|
1460
|
-
);
|
|
1461
|
-
}
|
|
1462
|
-
}
|
|
1463
|
-
}
|
|
1464
|
-
.product__list__item {
|
|
1465
|
-
display: flex;
|
|
1466
|
-
align-items: center;
|
|
1467
|
-
gap: 4px;
|
|
1468
|
-
|
|
1469
|
-
.svg_icon {
|
|
1470
|
-
display: flex;
|
|
1471
|
-
}
|
|
1472
|
-
}
|
|
1473
|
-
.quota__left {
|
|
1474
|
-
.count {
|
|
1475
|
-
// padding-inline: var(--_sf-cd-gp);
|
|
1476
|
-
color: var(
|
|
1477
|
-
--_ctm-mob-dn-qa-ds-qa-lt-cr,
|
|
1478
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-cr, var(--_ctm-dn-qa-ds-qa-lt-cr))
|
|
1479
|
-
);
|
|
1480
|
-
font-family: var(
|
|
1481
|
-
--_ctm-mob-dn-qa-ds-qa-lt-ft-fy,
|
|
1482
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-ft-fy, var(--_ctm-dn-qa-ds-qa-lt-ft-fy))
|
|
1483
|
-
);
|
|
1484
|
-
font-size: var(
|
|
1485
|
-
--_ctm-mob-dn-qa-ds-qa-lt-ft-se,
|
|
1486
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-ft-se, var(--_ctm-dn-qa-ds-qa-lt-ft-se))
|
|
1487
|
-
);
|
|
1488
|
-
font-weight: var(
|
|
1489
|
-
--_ctm-mob-dn-qa-ds-qa-lt-ft-wt,
|
|
1490
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-ft-wt, var(--_ctm-dn-qa-ds-qa-lt-ft-wt))
|
|
1491
|
-
);
|
|
1492
|
-
font-style: var(
|
|
1493
|
-
--_ctm-mob-dn-qa-ds-qa-lt-ft-se-ic,
|
|
1494
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-ft-se-ic, var(--_ctm-dn-qa-ds-qa-lt-ft-se-ic))
|
|
1495
|
-
);
|
|
1496
|
-
text-align: var(
|
|
1497
|
-
--_ctm-mob-dn-qa-ds-qa-lt-tt-an,
|
|
1498
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-tt-an, var(--_ctm-dn-qa-ds-qa-lt-tt-an))
|
|
1499
|
-
);
|
|
1500
|
-
letter-spacing: var(
|
|
1501
|
-
--_ctm-mob-dn-qa-ds-qa-lt-lr-sg,
|
|
1502
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-lr-sg, var(--_ctm-dn-qa-ds-qa-lt-lr-sg))
|
|
1503
|
-
);
|
|
1504
|
-
line-height: var(
|
|
1505
|
-
--_ctm-mob-dn-qa-ds-qa-lt-le-ht,
|
|
1506
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-le-ht, var(--_ctm-dn-qa-ds-qa-lt-le-ht-dc))
|
|
1507
|
-
);
|
|
1508
|
-
text-decoration: var(
|
|
1509
|
-
--_ctm-mob-dn-qa-ds-qa-lt-ue,
|
|
1510
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-ue, var(--_ctm-dn-qa-ds-qa-lt-ue))
|
|
1511
|
-
);
|
|
1512
|
-
}
|
|
1513
|
-
.icon {
|
|
1514
|
-
display: var(--_sf-show-icon-ff, flex);
|
|
1515
|
-
svg {
|
|
1516
|
-
width: var(
|
|
1517
|
-
--_ctm-mab-dn-qa-lt-in-se,
|
|
1518
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-in-se, var(--_ctm-dn-qa-ds-qa-lt-in-se))
|
|
1519
|
-
);
|
|
1520
|
-
height: var(
|
|
1521
|
-
--_ctm-mob-dn-qa-ds-qa-lt-in-se,
|
|
1522
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-in-se, var(--_ctm-dn-qa-ds-qa-lt-in-se))
|
|
1523
|
-
);
|
|
1524
|
-
path {
|
|
1525
|
-
stroke: var(
|
|
1526
|
-
--_ctm-mob-dn-qa-ds-qa-lt-in-c1,
|
|
1527
|
-
var(--_ctm-tab-dn-qa-ds-qa-lt-in-c1, var(--_ctm-dn-qa-ds-qa-lt-in-c1))
|
|
1528
|
-
);
|
|
1529
|
-
}
|
|
1530
|
-
}
|
|
1531
|
-
}
|
|
1532
|
-
}
|
|
1533
|
-
.days__left {
|
|
1534
|
-
.count {
|
|
1535
|
-
// padding-inline: var(--_sf-cd-gp);
|
|
1536
|
-
color: var(
|
|
1537
|
-
--_ctm-mob-dn-qa-ds-ds-lt-cr,
|
|
1538
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-cr, var(--_ctm-dn-qa-ds-ds-lt-cr))
|
|
1539
|
-
);
|
|
1540
|
-
font-family: var(
|
|
1541
|
-
--_ctm-mob-dn-qa-ds-ds-lt-ft-fy,
|
|
1542
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-ft-fy, var(--_ctm-dn-qa-ds-ds-lt-ft-fy))
|
|
1543
|
-
);
|
|
1544
|
-
font-size: var(
|
|
1545
|
-
--_ctm-mob-dn-qa-ds-ds-lt-ft-se,
|
|
1546
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-ft-se, var(--_ctm-dn-qa-ds-ds-lt-ft-se))
|
|
1547
|
-
);
|
|
1548
|
-
font-weight: var(
|
|
1549
|
-
--_ctm-mob-dn-qa-ds-ds-lt-ft-wt,
|
|
1550
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-ft-wt, var(--_ctm-dn-qa-ds-ds-lt-ft-wt))
|
|
1551
|
-
);
|
|
1552
|
-
font-style: var(
|
|
1553
|
-
--_ctm-mob-dn-qa-ds-ds-lt-ft-se-ic,
|
|
1554
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-ft-se-ic, var(--_ctm-dn-qa-ds-ds-lt-ft-se-ic))
|
|
1555
|
-
);
|
|
1556
|
-
text-align: var(
|
|
1557
|
-
--_ctm-mob-dn-qa-ds-ds-lt-tt-an,
|
|
1558
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-tt-an, var(--_ctm-dn-qa-ds-ds-lt-tt-an))
|
|
1559
|
-
);
|
|
1560
|
-
letter-spacing: var(
|
|
1561
|
-
--_ctm-mob-dn-qa-ds-ds-lt-lr-sg,
|
|
1562
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-lr-sg, var(--_ctm-dn-qa-ds-ds-lt-lr-sg))
|
|
1563
|
-
);
|
|
1564
|
-
line-height: var(
|
|
1565
|
-
--_ctm-mob-dn-qa-ds-ds-lt-le-ht,
|
|
1566
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-le-ht, var(--_ctm-dn-qa-ds-ds-lt-le-ht-dc))
|
|
1567
|
-
);
|
|
1568
|
-
text-decoration: var(
|
|
1569
|
-
--_ctm-mob-dn-qa-ds-ds-lt-ue,
|
|
1570
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-ue, var(--_ctm-dn-qa-ds-ds-lt-ue))
|
|
1571
|
-
);
|
|
1572
|
-
}
|
|
1573
|
-
.icon {
|
|
1574
|
-
display: var(--_sf-show-icon-ff, flex);
|
|
1575
|
-
svg {
|
|
1576
|
-
width: var(
|
|
1577
|
-
--_ctm-mab-dn-ds-lt-in-se,
|
|
1578
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-in-se, var(--_ctm-dn-qa-ds-ds-lt-in-se))
|
|
1579
|
-
);
|
|
1580
|
-
height: var(
|
|
1581
|
-
--_ctm-mob-dn-qa-ds-ds-lt-in-se,
|
|
1582
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-in-se, var(--_ctm-dn-qa-ds-ds-lt-in-se))
|
|
1583
|
-
);
|
|
1584
|
-
path {
|
|
1585
|
-
stroke: var(
|
|
1586
|
-
--_ctm-mob-dn-qa-ds-ds-lt-in-c1,
|
|
1587
|
-
var(--_ctm-tab-dn-qa-ds-ds-lt-in-c1, var(--_ctm-dn-qa-ds-ds-lt-in-c1))
|
|
1588
|
-
);
|
|
1589
|
-
}
|
|
1590
|
-
}
|
|
1591
|
-
}
|
|
1592
|
-
}
|
|
1593
|
-
}
|
|
1594
|
-
}
|
|
1464
|
+
// Quota details styling for the embedded QuotaDetailsContent, rebound to
|
|
1465
|
+
// the Allocations quotaDetails CSS-variable paths.
|
|
1466
|
+
@import "./allocations-quota-details.scss";
|
|
1595
1467
|
}
|
|
1596
1468
|
}
|
|
1597
1469
|
|
|
@@ -1743,6 +1615,18 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1743
1615
|
--_ctm-mob-dn-sr-tb-hr-se-le-ht,
|
|
1744
1616
|
var(--_ctm-tab-dn-sr-tb-hr-se-le-ht, var(--_ctm-dn-sr-tb-hr-se-le-ht))
|
|
1745
1617
|
);
|
|
1618
|
+
--_sf-hr-tt-tm: var(
|
|
1619
|
+
--_ctm-mob-dn-sr-tb-hr-se-tt-tm,
|
|
1620
|
+
var(--_ctm-tab-dn-sr-tb-hr-se-tt-tm, var(--_ctm-dn-sr-tb-hr-se-tt-tm))
|
|
1621
|
+
);
|
|
1622
|
+
--_sf-hr-wd-wp: var(
|
|
1623
|
+
--_ctm-mob-dn-sr-tb-hr-se-wd-wp,
|
|
1624
|
+
var(--_ctm-tab-dn-sr-tb-hr-se-wd-wp, var(--_ctm-dn-sr-tb-hr-se-wd-wp))
|
|
1625
|
+
);
|
|
1626
|
+
--_sf-hr-wd-bk: var(
|
|
1627
|
+
--_ctm-mob-dn-sr-tb-hr-se-wd-bk,
|
|
1628
|
+
var(--_ctm-tab-dn-sr-tb-hr-se-wd-bk, var(--_ctm-dn-sr-tb-hr-se-wd-bk))
|
|
1629
|
+
);
|
|
1746
1630
|
|
|
1747
1631
|
--_sf-hr-in-se: var(
|
|
1748
1632
|
--_ctm-mob-dn-sr-tb-hr-se-in-se,
|
|
@@ -1824,6 +1708,21 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1824
1708
|
|
|
1825
1709
|
text-decoration: var(--_sf-hr-ue, prepareMediaVariable(--_ctm-dn-dt-ue));
|
|
1826
1710
|
|
|
1711
|
+
// Same shape as the font rules above: the base value is the default
|
|
1712
|
+
// state, and the `&:hover` block below re-points --_sf-hr-* at the hover
|
|
1713
|
+
// state so this declaration re-resolves without being repeated.
|
|
1714
|
+
text-transform: var(
|
|
1715
|
+
--_sf-hr-tt-tm,
|
|
1716
|
+
prepareMediaVariable(--_ctm-dn-sr-tb-dt-se-tt-tm, none)
|
|
1717
|
+
);
|
|
1718
|
+
|
|
1719
|
+
word-wrap: var(--_sf-hr-wd-wp, prepareMediaVariable(--_ctm-dn-sr-tb-dt-se-wd-wp, normal));
|
|
1720
|
+
|
|
1721
|
+
word-break: var(
|
|
1722
|
+
--_sf-hr-wd-bk,
|
|
1723
|
+
prepareMediaVariable(--_ctm-dn-sr-tb-dt-se-wd-bk, normal)
|
|
1724
|
+
);
|
|
1725
|
+
|
|
1827
1726
|
[data-element-style="Text"] {
|
|
1828
1727
|
display: inline-block;
|
|
1829
1728
|
width: 100%;
|
|
@@ -1911,6 +1810,18 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1911
1810
|
--_ctm-mob-dn-sr-tb-sd-se-le-ht,
|
|
1912
1811
|
var(--_ctm-tab-dn-sr-tb-sd-se-le-ht, var(--_ctm-dn-sr-tb-sd-se-le-ht))
|
|
1913
1812
|
);
|
|
1813
|
+
--_sf-sd-tt-tm: var(
|
|
1814
|
+
--_ctm-mob-dn-sr-tb-sd-se-tt-tm,
|
|
1815
|
+
var(--_ctm-tab-dn-sr-tb-sd-se-tt-tm, var(--_ctm-dn-sr-tb-sd-se-tt-tm))
|
|
1816
|
+
);
|
|
1817
|
+
--_sf-sd-wd-wp: var(
|
|
1818
|
+
--_ctm-mob-dn-sr-tb-sd-se-wd-wp,
|
|
1819
|
+
var(--_ctm-tab-dn-sr-tb-sd-se-wd-wp, var(--_ctm-dn-sr-tb-sd-se-wd-wp))
|
|
1820
|
+
);
|
|
1821
|
+
--_sf-sd-wd-bk: var(
|
|
1822
|
+
--_ctm-mob-dn-sr-tb-sd-se-wd-bk,
|
|
1823
|
+
var(--_ctm-tab-dn-sr-tb-sd-se-wd-bk, var(--_ctm-dn-sr-tb-sd-se-wd-bk))
|
|
1824
|
+
);
|
|
1914
1825
|
|
|
1915
1826
|
--_sf-sd-in-se: var(
|
|
1916
1827
|
--_ctm-mob-dn-sr-tb-sd-se-in-se,
|
|
@@ -1997,6 +1908,21 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
1997
1908
|
|
|
1998
1909
|
text-decoration: var(--_sf-sd-ue, prepareMediaVariable(--_ctm-dn-dt-ue));
|
|
1999
1910
|
|
|
1911
|
+
text-transform: var(
|
|
1912
|
+
--_sf-sd-tt-tm,
|
|
1913
|
+
prepareMediaVariable(--_ctm-dn-sr-tb-dt-se-tt-tm, none)
|
|
1914
|
+
);
|
|
1915
|
+
|
|
1916
|
+
word-wrap: var(
|
|
1917
|
+
--_sf-sd-wd-wp,
|
|
1918
|
+
prepareMediaVariable(--_ctm-dn-sr-tb-dt-se-wd-wp, normal)
|
|
1919
|
+
);
|
|
1920
|
+
|
|
1921
|
+
word-break: var(
|
|
1922
|
+
--_sf-sd-wd-bk,
|
|
1923
|
+
prepareMediaVariable(--_ctm-dn-sr-tb-dt-se-wd-bk, normal)
|
|
1924
|
+
);
|
|
1925
|
+
|
|
2000
1926
|
[data-element-style="Text"] {
|
|
2001
1927
|
display: inline-block;
|
|
2002
1928
|
width: 100%;
|
|
@@ -2119,65 +2045,67 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
2119
2045
|
margin-top: 10px;
|
|
2120
2046
|
}
|
|
2121
2047
|
}
|
|
2048
|
+
// Profiles Slider > Pagination Arrows. These rules used to read
|
|
2049
|
+
// `--_ctm-dn-pn-as-*`, a `design.paginationArrows` node that does not exist
|
|
2050
|
+
// on this element — so every one of them fell through to its hardcoded
|
|
2051
|
+
// default and the panel could not reach the strip's arrows at all. They now
|
|
2052
|
+
// read design.slider.paginationArrows, and each fallback is the value that
|
|
2053
|
+
// was hardcoded, so an untouched strip renders exactly as before.
|
|
2122
2054
|
&[data-control-type="Side"] {
|
|
2123
2055
|
.left-button,
|
|
2124
2056
|
.right-button {
|
|
2125
|
-
background-color: transparent;
|
|
2057
|
+
background-color: prepareMediaVariable(#{$ad-slider-arrows}-bd-cr, transparent);
|
|
2126
2058
|
}
|
|
2127
2059
|
}
|
|
2128
2060
|
&[data-background-shape="Round"] {
|
|
2129
2061
|
.left-button,
|
|
2130
2062
|
.right-button {
|
|
2131
|
-
background-color: #f2f5f5;
|
|
2063
|
+
background-color: prepareMediaVariable(#{$ad-slider-arrows}-bd-cr, #f2f5f5);
|
|
2132
2064
|
box-sizing: 0 4px 8px rgba(0, 0, 0, 0.1);
|
|
2133
2065
|
}
|
|
2134
2066
|
}
|
|
2135
|
-
.left-button
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
border:
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2067
|
+
.left-button,
|
|
2068
|
+
.right-button {
|
|
2069
|
+
padding: prepareMediaVariable(#{$ad-slider-arrows}-pg, 10px);
|
|
2070
|
+
border-color: prepareMediaVariable(#{$ad-slider-arrows}-br-cr, transparent);
|
|
2071
|
+
border-style: prepareMediaVariable(#{$ad-slider-arrows}-br-se, solid);
|
|
2072
|
+
border-width: prepareMediaVariable(#{$ad-slider-arrows}-br-wh, 0);
|
|
2073
|
+
// 50%, not prepareMediaVariable's `inherit` tail: an arrow with no
|
|
2074
|
+
// configured radius has always been a circle.
|
|
2075
|
+
border-radius: prepareMediaVariable(#{$ad-slider-arrows}-br-rs, 50%);
|
|
2076
|
+
// 20px, not prepareMediaVariable's `inherit` tail — inheriting the strip's
|
|
2077
|
+
// width here would blow the buttons out. 20 is also the schema default, so
|
|
2078
|
+
// a strip saved before this node existed matches a fresh one.
|
|
2079
|
+
width: prepareMediaVariable(#{$ad-slider-arrows}-aw-se, 20px);
|
|
2080
|
+
height: prepareMediaVariable(#{$ad-slider-arrows}-aw-se, 20px);
|
|
2081
|
+
// Opt-in, like the gallery's: these arrows have never cast a shadow.
|
|
2082
|
+
box-shadow: none;
|
|
2083
|
+
|
|
2084
|
+
&[data-show-shadow="true"] {
|
|
2085
|
+
box-shadow: prepareMediaVariable(#{$ad-slider-arrows}-sw-ae, 0 0)
|
|
2086
|
+
prepareMediaVariable(#{$ad-slider-arrows}-sw-br, 0)
|
|
2087
|
+
prepareMediaVariable(#{$ad-slider-arrows}-sw-sd, 0)
|
|
2088
|
+
prepareMediaVariable(#{$ad-slider-arrows}-sw-cr, transparent);
|
|
2089
|
+
}
|
|
2147
2090
|
|
|
2148
2091
|
display: flex;
|
|
2149
2092
|
align-items: center;
|
|
2150
2093
|
justify-content: center;
|
|
2151
2094
|
cursor: pointer;
|
|
2152
2095
|
outline: none;
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
path {
|
|
2157
|
-
stroke: #c3b7b7;
|
|
2158
|
-
}
|
|
2159
|
-
}
|
|
2096
|
+
|
|
2097
|
+
&[data-show-border="false"] {
|
|
2098
|
+
border: none;
|
|
2160
2099
|
}
|
|
2161
|
-
}
|
|
2162
|
-
.right-button {
|
|
2163
|
-
border-radius: 50%;
|
|
2164
|
-
border: none;
|
|
2165
|
-
width: var(
|
|
2166
|
-
--_ctm-mob-dn-pn-as-aw-se,
|
|
2167
|
-
var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
|
|
2168
|
-
);
|
|
2169
|
-
height: var(
|
|
2170
|
-
--_ctm-mob-dn-pn-as-aw-se,
|
|
2171
|
-
var(--_ctm-tab-dn-pn-as-aw-se, var(--_ctm-dn-pn-as-aw-se))
|
|
2172
|
-
);
|
|
2173
2100
|
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2101
|
+
// Background Shape overrides the configured radius when it names one;
|
|
2102
|
+
// "None" leaves the radius alone.
|
|
2103
|
+
&[data-background-shape="Round"] {
|
|
2104
|
+
border-radius: 50%;
|
|
2105
|
+
}
|
|
2106
|
+
&[data-background-shape="Square"] {
|
|
2107
|
+
border-radius: 0;
|
|
2108
|
+
}
|
|
2181
2109
|
|
|
2182
2110
|
&:disabled {
|
|
2183
2111
|
& svg {
|
|
@@ -2187,27 +2115,30 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
2187
2115
|
}
|
|
2188
2116
|
}
|
|
2189
2117
|
}
|
|
2118
|
+
.left-button {
|
|
2119
|
+
margin-left: 12px;
|
|
2120
|
+
}
|
|
2121
|
+
.right-button {
|
|
2122
|
+
margin-right: 12px;
|
|
2123
|
+
}
|
|
2190
2124
|
.icon {
|
|
2191
2125
|
display: flex;
|
|
2192
2126
|
|
|
2193
2127
|
svg {
|
|
2194
|
-
width: calc(
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
path {
|
|
2210
|
-
stroke: #514949;
|
|
2128
|
+
width: calc(#{prepareMediaVariable(#{$ad-slider-arrows}-aw-se, 20px)} * 0.5);
|
|
2129
|
+
height: calc(#{prepareMediaVariable(#{$ad-slider-arrows}-aw-se, 20px)} * 0.5);
|
|
2130
|
+
|
|
2131
|
+
// Arrow Color. `path { stroke }` alone was too narrow — it matched the
|
|
2132
|
+
// built-in chevrons and nothing else. Cover the svg itself and any
|
|
2133
|
+
// descendant carrying a stroke or a fill, leaving parts explicitly set
|
|
2134
|
+
// to "none" alone so an unfilled shape stays unfilled.
|
|
2135
|
+
&[stroke]:not([stroke="none"]),
|
|
2136
|
+
[stroke]:not([stroke="none"]) {
|
|
2137
|
+
stroke: prepareMediaVariable(#{$ad-slider-arrows}-aw-cr, #514949);
|
|
2138
|
+
}
|
|
2139
|
+
&[fill]:not([fill="none"]),
|
|
2140
|
+
[fill]:not([fill="none"]) {
|
|
2141
|
+
fill: prepareMediaVariable(#{$ad-slider-arrows}-aw-cr, #514949);
|
|
2211
2142
|
}
|
|
2212
2143
|
}
|
|
2213
2144
|
}
|
|
@@ -2432,7 +2363,7 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
2432
2363
|
.ad_sidebar {
|
|
2433
2364
|
display: flex;
|
|
2434
2365
|
flex-direction: column;
|
|
2435
|
-
// Sidebar Container
|
|
2366
|
+
// Sidebar Container → gap (heading ↔ tree) + padding.
|
|
2436
2367
|
gap: prepareMediaVariable(#{$ad-sidebar}-im-gp, 12px);
|
|
2437
2368
|
padding: prepareMediaVariable(#{$ad-sidebar}-pg, 0);
|
|
2438
2369
|
width: 260px;
|
|
@@ -2444,15 +2375,17 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
2444
2375
|
.ad_sidebar_heading {
|
|
2445
2376
|
white-space: nowrap;
|
|
2446
2377
|
margin: 0;
|
|
2447
|
-
text-transform: uppercase;
|
|
2448
2378
|
line-height: 1.25;
|
|
2449
|
-
|
|
2379
|
+
// `uppercase` is the fallback, not a hardcoded rule, so Text Transform can
|
|
2380
|
+
// override it while untouched elements keep the look they always had.
|
|
2381
|
+
@include ad-font($ad-heading, #002a4e, 16px, 400, uppercase);
|
|
2382
|
+
@include ad-text-overflow;
|
|
2450
2383
|
}
|
|
2451
2384
|
|
|
2452
2385
|
.ad_allocation_tree {
|
|
2453
2386
|
display: flex;
|
|
2454
2387
|
flex-direction: column;
|
|
2455
|
-
// Gap BETWEEN profile rows (Sidebar Container
|
|
2388
|
+
// Gap BETWEEN profile rows (Sidebar Container → Profile Gap).
|
|
2456
2389
|
gap: prepareMediaVariable(#{$ad-sidebar}-pe-gp, 8px);
|
|
2457
2390
|
width: 100%;
|
|
2458
2391
|
}
|
|
@@ -2460,7 +2393,7 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
2460
2393
|
.ad_tree_node {
|
|
2461
2394
|
display: flex;
|
|
2462
2395
|
align-items: center;
|
|
2463
|
-
// Profile Row
|
|
2396
|
+
// Profile Row → item gap (icon ↔ label).
|
|
2464
2397
|
gap: prepareMediaVariable(#{$ad-tree}-dt-se-im-gp, 4px);
|
|
2465
2398
|
padding: prepareMediaVariable(#{$ad-tree}-dt-se-pg, 4px 0);
|
|
2466
2399
|
cursor: pointer;
|
|
@@ -2474,7 +2407,7 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
2474
2407
|
width: 24px;
|
|
2475
2408
|
height: 24px;
|
|
2476
2409
|
flex-shrink: 0;
|
|
2477
|
-
color:
|
|
2410
|
+
color: ad-tree-icon-var("dt-se", "in-c1", #002a4e);
|
|
2478
2411
|
}
|
|
2479
2412
|
|
|
2480
2413
|
.ad_chevron {
|
|
@@ -2482,69 +2415,105 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
2482
2415
|
align-items: center;
|
|
2483
2416
|
justify-content: center;
|
|
2484
2417
|
transition: transform 0.15s ease;
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
svg {
|
|
2488
|
-
width: prepareMediaVariable(#{$ad-tree-icon}-in-se, 20px);
|
|
2489
|
-
height: prepareMediaVariable(#{$ad-tree-icon}-in-se, 20px);
|
|
2490
|
-
// Apply the configured colour even when the fetched SVG hardcodes its own
|
|
2491
|
-
// stroke/fill (skip parts explicitly set to "none").
|
|
2492
|
-
&[stroke]:not([stroke="none"]),
|
|
2493
|
-
[stroke]:not([stroke="none"]) {
|
|
2494
|
-
stroke: prepareMediaVariable(#{$ad-tree-icon}-in-c1, #002a4e);
|
|
2495
|
-
}
|
|
2496
|
-
&[fill]:not([fill="none"]),
|
|
2497
|
-
[fill]:not([fill="none"]) {
|
|
2498
|
-
fill: prepareMediaVariable(#{$ad-tree-icon}-in-c1, #002a4e);
|
|
2499
|
-
}
|
|
2500
|
-
}
|
|
2418
|
+
@include ad-tree-icon("dt-se", "in-se", "in-c1");
|
|
2501
2419
|
}
|
|
2502
2420
|
|
|
2503
2421
|
.ad_chevron.is-open {
|
|
2504
2422
|
transform: rotate(90deg);
|
|
2505
2423
|
}
|
|
2506
2424
|
|
|
2425
|
+
// Show / hide of the icon, per interaction state. `aria-expanded` picks which of
|
|
2426
|
+
// the two switches applies: the Collapsed Icon's while the profile is closed,
|
|
2427
|
+
// the Expanded Icon's while it is open.
|
|
2428
|
+
//
|
|
2429
|
+
// Each state emits BOTH outcomes, not just the hidden one — a state that shows
|
|
2430
|
+
// the icon has to be able to bring it back when the state beneath it hid it
|
|
2431
|
+
// (Default off, Hover on). Hover and Selected carry one extra selector each, so
|
|
2432
|
+
// they already outrank Default; Selected is written last so it wins over Hover
|
|
2433
|
+
// on a row that is both.
|
|
2434
|
+
.ad_tree_node[aria-expanded="false"][data-show-icon="false"] .ad_tree_node_icon,
|
|
2435
|
+
.ad_tree_node[aria-expanded="true"][data-show-icon-expanded="false"] .ad_tree_node_icon {
|
|
2436
|
+
display: none;
|
|
2437
|
+
}
|
|
2438
|
+
|
|
2439
|
+
.ad_tree_node[aria-expanded="false"]:hover[data-hover-show-icon="false"] .ad_tree_node_icon,
|
|
2440
|
+
.ad_tree_node[aria-expanded="true"]:hover[data-hover-show-icon-expanded="false"]
|
|
2441
|
+
.ad_tree_node_icon {
|
|
2442
|
+
display: none;
|
|
2443
|
+
}
|
|
2444
|
+
.ad_tree_node[aria-expanded="false"]:hover[data-hover-show-icon="true"] .ad_tree_node_icon,
|
|
2445
|
+
.ad_tree_node[aria-expanded="true"]:hover[data-hover-show-icon-expanded="true"]
|
|
2446
|
+
.ad_tree_node_icon {
|
|
2447
|
+
display: flex;
|
|
2448
|
+
}
|
|
2449
|
+
|
|
2450
|
+
.ad_tree_node[aria-expanded="false"].is-active[data-selected-show-icon="false"]
|
|
2451
|
+
.ad_tree_node_icon,
|
|
2452
|
+
.ad_tree_node[aria-expanded="true"].is-active[data-selected-show-icon-expanded="false"]
|
|
2453
|
+
.ad_tree_node_icon {
|
|
2454
|
+
display: none;
|
|
2455
|
+
}
|
|
2456
|
+
.ad_tree_node[aria-expanded="false"].is-active[data-selected-show-icon="true"]
|
|
2457
|
+
.ad_tree_node_icon,
|
|
2458
|
+
.ad_tree_node[aria-expanded="true"].is-active[data-selected-show-icon-expanded="true"]
|
|
2459
|
+
.ad_tree_node_icon {
|
|
2460
|
+
display: flex;
|
|
2461
|
+
}
|
|
2462
|
+
|
|
2507
2463
|
// The expanded icon has its own size/colour vars so it is independent of the
|
|
2508
2464
|
// collapsed one.
|
|
2509
2465
|
.ad_chevron.is-expanded {
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
svg {
|
|
2513
|
-
width: prepareMediaVariable(#{$ad-tree-icon}-in-se-ed, 20px);
|
|
2514
|
-
height: prepareMediaVariable(#{$ad-tree-icon}-in-se-ed, 20px);
|
|
2515
|
-
&[stroke]:not([stroke="none"]),
|
|
2516
|
-
[stroke]:not([stroke="none"]) {
|
|
2517
|
-
stroke: prepareMediaVariable(#{$ad-tree-icon}-in-cr-ed, #002a4e);
|
|
2518
|
-
}
|
|
2519
|
-
&[fill]:not([fill="none"]),
|
|
2520
|
-
[fill]:not([fill="none"]) {
|
|
2521
|
-
fill: prepareMediaVariable(#{$ad-tree-icon}-in-cr-ed, #002a4e);
|
|
2522
|
-
}
|
|
2523
|
-
}
|
|
2466
|
+
@include ad-tree-icon("dt-se", "in-se-ed", "in-cr-ed");
|
|
2524
2467
|
}
|
|
2525
2468
|
|
|
2526
2469
|
.ad_tree_node_label {
|
|
2527
2470
|
flex: 1;
|
|
2471
|
+
min-width: 0;
|
|
2528
2472
|
@include ad-font(#{$ad-tree}-dt-se, #002a4e, 14px, 600);
|
|
2473
|
+
@include ad-text-overflow;
|
|
2529
2474
|
}
|
|
2530
2475
|
|
|
2531
2476
|
.ad_tree_node:hover {
|
|
2532
2477
|
@include ad-design-state($ad-tree, hr-se);
|
|
2478
|
+
@include ad-layout-state($ad-tree, hr-se, 4px 0, 4px);
|
|
2533
2479
|
}
|
|
2534
2480
|
.ad_tree_node:hover .ad_tree_node_label {
|
|
2535
2481
|
@include ad-font-state($ad-tree, hr-se, #002a4e, 14px, 600);
|
|
2536
2482
|
}
|
|
2483
|
+
// The icon follows the row it sits in. `.is-expanded` is listed after the plain
|
|
2484
|
+
// rule in each block on purpose: it is the more specific selector, so the
|
|
2485
|
+
// expanded icon keeps its own size/colour instead of inheriting the collapsed
|
|
2486
|
+
// one's while the row is hovered or active.
|
|
2487
|
+
.ad_tree_node:hover .ad_tree_node_icon {
|
|
2488
|
+
color: ad-tree-icon-var("hr-se", "in-c1", #002a4e);
|
|
2489
|
+
}
|
|
2490
|
+
.ad_tree_node:hover .ad_chevron {
|
|
2491
|
+
@include ad-tree-icon("hr-se", "in-se", "in-c1");
|
|
2492
|
+
}
|
|
2493
|
+
.ad_tree_node:hover .ad_chevron.is-expanded {
|
|
2494
|
+
@include ad-tree-icon("hr-se", "in-se-ed", "in-cr-ed");
|
|
2495
|
+
}
|
|
2537
2496
|
.ad_tree_node.is-active {
|
|
2538
2497
|
@include ad-design-state($ad-tree, sd-se);
|
|
2498
|
+
@include ad-layout-state($ad-tree, sd-se, 4px 0, 4px);
|
|
2539
2499
|
}
|
|
2540
2500
|
.ad_tree_node.is-active .ad_tree_node_label {
|
|
2541
2501
|
@include ad-font-state($ad-tree, sd-se, #002a4e, 14px, 600);
|
|
2542
2502
|
}
|
|
2503
|
+
.ad_tree_node.is-active .ad_tree_node_icon {
|
|
2504
|
+
color: ad-tree-icon-var("sd-se", "in-c1", #002a4e);
|
|
2505
|
+
}
|
|
2506
|
+
.ad_tree_node.is-active .ad_chevron {
|
|
2507
|
+
@include ad-tree-icon("sd-se", "in-se", "in-c1");
|
|
2508
|
+
}
|
|
2509
|
+
.ad_tree_node.is-active .ad_chevron.is-expanded {
|
|
2510
|
+
@include ad-tree-icon("sd-se", "in-se-ed", "in-cr-ed");
|
|
2511
|
+
}
|
|
2543
2512
|
|
|
2544
2513
|
.ad_subtree {
|
|
2545
2514
|
display: flex;
|
|
2546
2515
|
flex-direction: column;
|
|
2547
|
-
// Gap BETWEEN allocation rows (Sidebar Container
|
|
2516
|
+
// Gap BETWEEN allocation rows (Sidebar Container → Allocation Gap).
|
|
2548
2517
|
gap: prepareMediaVariable(#{$ad-sidebar}-an-gp, 8px);
|
|
2549
2518
|
padding-left: 31px;
|
|
2550
2519
|
width: 100%;
|
|
@@ -2558,17 +2527,21 @@ $ad-widget: "--_ctm-dn-wt-se"; // design.widgetStyle (divider)
|
|
|
2558
2527
|
|
|
2559
2528
|
.ad_subtree_node_label {
|
|
2560
2529
|
letter-spacing: -0.28px;
|
|
2530
|
+
min-width: 0;
|
|
2561
2531
|
@include ad-font(#{$ad-subtree}-dt-se, #1d1b1c, 14px, 400);
|
|
2532
|
+
@include ad-text-overflow;
|
|
2562
2533
|
}
|
|
2563
2534
|
|
|
2564
2535
|
.ad_subtree_node:hover {
|
|
2565
2536
|
@include ad-design-state($ad-subtree, hr-se);
|
|
2537
|
+
@include ad-layout-state($ad-subtree, hr-se, 4px 0);
|
|
2566
2538
|
}
|
|
2567
2539
|
.ad_subtree_node:hover .ad_subtree_node_label {
|
|
2568
2540
|
@include ad-font-state($ad-subtree, hr-se, #1d1b1c, 14px, 400);
|
|
2569
2541
|
}
|
|
2570
2542
|
.ad_subtree_node.is-active {
|
|
2571
2543
|
@include ad-design-state($ad-subtree, sd-se);
|
|
2544
|
+
@include ad-layout-state($ad-subtree, sd-se, 4px 0);
|
|
2572
2545
|
}
|
|
2573
2546
|
.ad_subtree_node.is-active .ad_subtree_node_label {
|
|
2574
2547
|
@include ad-font-state($ad-subtree, sd-se, #1d1b1c, 14px, 400);
|