@cloud-ru/ds-list 2.0.1 → 2.0.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 (61) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/dist/cjs/components/Items/BaseItem/BaseItem.js +1 -1
  4. package/dist/cjs/components/Items/BaseItem/styles.module.css +42 -0
  5. package/dist/cjs/components/Items/SearchItem/SearchItem.js +1 -1
  6. package/dist/cjs/components/Items/SimpleItem/utils.d.ts +1 -1
  7. package/dist/cjs/components/Items/SimpleItem/utils.js +1 -1
  8. package/dist/cjs/components/Items/styles.module.css +9 -0
  9. package/dist/cjs/components/Items/types.d.ts +2 -2
  10. package/dist/cjs/components/Items/utils.js +1 -1
  11. package/dist/cjs/components/Lists/ListPrivate/ListPrivate.js +1 -1
  12. package/dist/cjs/components/Lists/ListPrivate/styles.module.css +2 -3
  13. package/dist/cjs/components/Lists/hooks.d.ts +1 -1
  14. package/dist/cjs/components/Lists/hooks.js +2 -2
  15. package/dist/cjs/helperComponents/DesktopDroplist/DesktopDroplist.js +1 -1
  16. package/dist/cjs/helperComponents/ItemContent/ItemContent.js +1 -1
  17. package/dist/cjs/helperComponents/ItemContent/styles.module.css +45 -24
  18. package/dist/cjs/helperComponents/Separator/Separator.js +3 -4
  19. package/dist/cjs/helperComponents/Separator/styles.module.css +69 -49
  20. package/dist/cjs/style.css +167 -76
  21. package/dist/esm/components/Items/BaseItem/BaseItem.js +1 -1
  22. package/dist/esm/components/Items/BaseItem/styles.module.css +42 -0
  23. package/dist/esm/components/Items/SearchItem/SearchItem.js +1 -1
  24. package/dist/esm/components/Items/SimpleItem/utils.d.ts +1 -1
  25. package/dist/esm/components/Items/SimpleItem/utils.js +1 -1
  26. package/dist/esm/components/Items/styles.module.css +9 -0
  27. package/dist/esm/components/Items/types.d.ts +2 -2
  28. package/dist/esm/components/Items/utils.js +1 -1
  29. package/dist/esm/components/Lists/ListPrivate/ListPrivate.js +1 -1
  30. package/dist/esm/components/Lists/ListPrivate/styles.module.css +2 -3
  31. package/dist/esm/components/Lists/hooks.d.ts +1 -1
  32. package/dist/esm/components/Lists/hooks.js +2 -2
  33. package/dist/esm/helperComponents/DesktopDroplist/DesktopDroplist.js +1 -1
  34. package/dist/esm/helperComponents/ItemContent/ItemContent.js +1 -1
  35. package/dist/esm/helperComponents/ItemContent/styles.module.css +45 -24
  36. package/dist/esm/helperComponents/Separator/Separator.js +3 -4
  37. package/dist/esm/helperComponents/Separator/styles.module.css +69 -49
  38. package/dist/esm/style.css +167 -76
  39. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  40. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  41. package/package.json +10 -10
  42. package/src/components/Items/BaseItem/BaseItem.tsx +17 -10
  43. package/src/components/Items/BaseItem/styles.module.scss +57 -4
  44. package/src/components/Items/SearchItem/SearchItem.tsx +1 -1
  45. package/src/components/Items/SimpleItem/utils.ts +1 -1
  46. package/src/components/Items/styles.module.scss +10 -2
  47. package/src/components/Items/types.ts +3 -7
  48. package/src/components/Items/utils.ts +1 -1
  49. package/src/components/Lists/ListPrivate/ListPrivate.tsx +1 -1
  50. package/src/components/Lists/ListPrivate/styles.module.scss +5 -4
  51. package/src/components/Lists/hooks.ts +2 -2
  52. package/src/helperComponents/DesktopDroplist/DesktopDroplist.tsx +1 -1
  53. package/src/helperComponents/ItemContent/ItemContent.tsx +22 -20
  54. package/src/helperComponents/ItemContent/styles.module.scss +25 -15
  55. package/src/helperComponents/Separator/Separator.tsx +23 -22
  56. package/src/helperComponents/Separator/styles.module.scss +132 -101
  57. package/dist/cjs/helperComponents/Separator/constants.d.ts +0 -3
  58. package/dist/cjs/helperComponents/Separator/constants.js +0 -10
  59. package/dist/esm/helperComponents/Separator/constants.d.ts +0 -3
  60. package/dist/esm/helperComponents/Separator/constants.js +0 -7
  61. package/src/helperComponents/Separator/constants.ts +0 -11
@@ -93,6 +93,15 @@
93
93
  .itemWrapper[data-loading] .stateLayer[data-state=emptyDarkOnAccent], .itemWrapper:active:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyDarkOnAccent], .itemWrapper[data-pressed=true]:not([data-disabled], [data-loading]) .stateLayer[data-state=emptyDarkOnAccent]{
94
94
  background:var(--sn-theme-color-material-stateLayer-darkOnAccent-pressed-filled, rgba(0, 0, 0, 0.1215686275));
95
95
  }
96
+ .itemWrapper[data-size=s]{
97
+ border-radius:var(--sn-list-anatomy-size-s-listItem-borderRadius, var(--sn-brand-anatomy-radius-listItem-s, var(--sn-primitive-dimension-0, 0px)));
98
+ }
99
+ .itemWrapper[data-size=m]{
100
+ border-radius:var(--sn-list-anatomy-size-m-listItem-borderRadius, var(--sn-brand-anatomy-radius-listItem-s, var(--sn-primitive-dimension-0, 0px)));
101
+ }
102
+ .itemWrapper[data-size=l]{
103
+ border-radius:var(--sn-list-anatomy-size-l-listItem-borderRadius, var(--sn-brand-anatomy-radius-listItem-l, var(--sn-primitive-dimension-0, 0px)));
104
+ }
96
105
  .itemWrapper[data-disabled], .itemWrapper:disabled{
97
106
  cursor:not-allowed;
98
107
  background-color:transparent;
@@ -36,7 +36,7 @@ export type BaseItem = WithSupportProps<{
36
36
  id?: ItemId;
37
37
  /** Флаг неактивности элемента */
38
38
  disabled?: boolean;
39
- /** Скрыть элемент из списка (не рендерится и выпадает из навигации) */
39
+ /** Скрыть элемент из списка (не рендерится и исключается из навигации) */
40
40
  hidden?: boolean;
41
41
  /** Ссылка на DOM-элемент айтема */
42
42
  itemRef?: RefObject<HTMLElement>;
@@ -45,7 +45,7 @@ export type BaseItem = WithSupportProps<{
45
45
  /**
46
46
  * Флаг отображения отключения реакции на любое css состояние (hover/focus и тд)
47
47
  * <br>
48
- * Так же элемент пропадает из навигации с клавиатуры, и не может быть выбран (selection)
48
+ * Также элемент исключается из навигации с клавиатуры и не может быть выбран (selection)
49
49
  */
50
50
  inactive?: boolean;
51
51
  /**
@@ -80,7 +80,7 @@ export function kindFlattenItems({ items, prefix, parentId, sortable }) {
80
80
  key: itemId,
81
81
  originalId: itemId,
82
82
  id: autoId,
83
- // `inactive` элемент выпадает из клавиатурной навигации наравне с `disabled`
83
+ // `inactive` элемент исключается из клавиатурной навигации наравне с `disabled`
84
84
  // (см. JSDoc `BaseItem.inactive`). Гейтит только nav/bulk-select через
85
85
  // `extractActiveItems`; рендерный `disabled` в `flattenItems` остаётся исходным.
86
86
  disabled: item.disabled || item.inactive,
@@ -49,7 +49,7 @@ export const ListPrivate = forwardRef(({ items, pinTop, pinBottom, onKeyDown, on
49
49
  // типов (`ListProps`), здесь рантайм-зеркало на случай прямого использования `ListPrivate`.
50
50
  const virtualized = virtualizedProp && !onDragEnd;
51
51
  const sensors = useSensors(useSensor(MouseSensor, draggingOptions), useSensor(TouchSensor, {}), useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates }));
52
- // Id перетаскиваемой строки — для рендера её копии в `DragOverlay`. Копия живёт в портале
52
+ // Id перетаскиваемой строки — для рендера её копии в `DragOverlay`. Копия рендерится в портале
53
53
  // над страницей и не режется `overflow: hidden` контейнера `List` (сама строка на время
54
54
  // переноса уступает место — её слот пустеет). `null`, когда перетаскивание не идёт.
55
55
  const [activeDragId, setActiveDragId] = useState(null);
@@ -54,11 +54,10 @@
54
54
  flex-direction:column;
55
55
  gap:var(--sn-popupPrivate-anatomy-dropdown-header-headlineWrapper-gap, var(--sn-primitive-dimension-4, 4px));
56
56
  box-sizing:border-box;
57
- padding:0 var(--sn-popupPrivate-anatomy-dropdown-header-headlineWrapper-paddingHorizontal, var(--sn-primitive-dimension-8, 8px)) var(--sn-popupPrivate-anatomy-dropdown-header-gap, var(--sn-primitive-dimension-4, 4px));
57
+ padding:0 var(--sn-popupPrivate-anatomy-dropdown-header-headlineWrapper-paddingHorizontal, var(--sn-primitive-dimension-8, 8px));
58
58
  }
59
59
  .header[data-divider]{
60
- margin-bottom:var(--sn-popupPrivate-anatomy-dropdown-header-gap, var(--sn-primitive-dimension-4, 4px));
61
- padding-bottom:var(--sn-popupPrivate-anatomy-dropdown-header-headlineWrapper-paddingHorizontal, var(--sn-primitive-dimension-8, 8px));
60
+ padding-bottom:var(--sn-popupPrivate-anatomy-dropdown-header-gap, var(--sn-primitive-dimension-4, 4px));
62
61
  border-bottom:var(--sn-primitive-strokeWeight-strokeRegular, 1px) solid var(--sn-theme-color-available-borderColor, var(--sn-brand-color-state-neutralBorder-forLightMode-default-borderColor, rgba(159, 166, 198, 0.3019607843)));
63
62
  }
64
63
 
@@ -23,7 +23,7 @@ type UseListItemsModelProps = {
23
23
  * Единая модель данных списка для `List` и `Droplist`: collapse-состояние,
24
24
  * плоские карты айтемов (`flattenItems` / `focusFlattenItems`) и производный
25
25
  * порядок навигации (`ids` / `expandedIds`). Оба компонента собирают одну и ту же
26
- * структуру, поэтому она живёт в одном хуке — расхождение между списком и дроплистом
26
+ * структуру, поэтому она собрана в одном хуке — расхождение между списком и дроплистом
27
27
  * физически невозможно.
28
28
  */
29
29
  export declare function useListItemsModel({ items: itemsProp, pinTop: pinTopProp, pinBottom: pinBottomProp, search, collapse, selectionMode, footerActiveElementsRefs, onItemsReorder, }: UseListItemsModelProps): {
@@ -22,7 +22,7 @@ function focusReturnTarget(el) {
22
22
  * Единая модель данных списка для `List` и `Droplist`: collapse-состояние,
23
23
  * плоские карты айтемов (`flattenItems` / `focusFlattenItems`) и производный
24
24
  * порядок навигации (`ids` / `expandedIds`). Оба компонента собирают одну и ту же
25
- * структуру, поэтому она живёт в одном хуке — расхождение между списком и дроплистом
25
+ * структуру, поэтому она собрана в одном хуке — расхождение между списком и дроплистом
26
26
  * физически невозможно.
27
27
  */
28
28
  export function useListItemsModel({ items: itemsProp, pinTop: pinTopProp, pinBottom: pinBottomProp, search, collapse, selectionMode, footerActiveElementsRefs, onItemsReorder, }) {
@@ -131,7 +131,7 @@ export function useNewKeyboardNavigation({ mainRef, btnRef, focusFlattenItems, k
131
131
  activeItemIdRef.current = defaultActiveItemId;
132
132
  }, [defaultActiveItemId]);
133
133
  const handleListKeyDownFactory = useCallback((ids, expandedIds) => (e) => {
134
- // Стрелки навигации по списку гасим централизованно — иначе нативное поведение скроллит
134
+ // Стрелки навигации по списку перехватываются централизованно — иначе нативное поведение скроллит
135
135
  // страницу (элементы — кнопки/li, не текст, поэтому безопасны все четыре стрелки).
136
136
  preventScrollOnArrowKeys(e);
137
137
  switch (e.key) {
@@ -65,7 +65,7 @@ export function DesktopDroplist({ items: itemsProp, search, pinBottom: pinBottom
65
65
  }
66
66
  }, []);
67
67
  const onKeyDown = useCallback((e, cb) => {
68
- // Up/Down открывают/закрывают дроплист — гасим их нативный скролл страницы. Только
68
+ // Up/Down открывают/закрывают дроплист — их нативный скролл страницы подавляется. Только
69
69
  // вертикальные: триггером может быть текстовое поле, где Left/Right двигают каретку.
70
70
  preventScrollOnVerticalArrows(e);
71
71
  if (e.key === 'ArrowDown') {
@@ -17,5 +17,5 @@ export function ItemContent({ truncate: truncateProp, caption, description, labe
17
17
  ...DEFAULT_TRUNCATE,
18
18
  ...truncateProp,
19
19
  }), [truncateProp]);
20
- return (_jsxs("div", { className: cn(styles.content, className), ...extractSupportProps(rest), "data-size": size ?? 's', "data-disabled": disabled || undefined, children: [_jsxs("div", { className: styles.headline, children: [_jsx("div", { className: styles.label, children: _jsx(TruncateString, { variant: truncate.variant, text: String(label), maxLines: truncate.label, "data-test-id": TEST_IDS.baseItemLabel }) }), caption && _jsx("span", { className: styles.caption, children: caption })] }), description && (_jsx("div", { className: styles.description, children: _jsx(TruncateString, { text: description, maxLines: truncate.description, "data-test-id": TEST_IDS.baseItemDescription }) }))] }));
20
+ return (_jsx("div", { className: cn(styles.textWrapper, className), ...extractSupportProps(rest), "data-size": size ?? 's', "data-disabled": disabled || undefined, children: _jsxs("div", { className: styles.textContent, children: [_jsxs("div", { className: styles.headline, children: [_jsx("div", { className: styles.label, children: _jsx(TruncateString, { variant: truncate.variant, text: String(label), maxLines: truncate.label, "data-test-id": TEST_IDS.baseItemLabel }) }), caption && _jsx("span", { className: styles.caption, children: caption })] }), description && (_jsx("div", { className: styles.description, children: _jsx(TruncateString, { text: description, maxLines: truncate.description, "data-test-id": TEST_IDS.baseItemDescription }) }))] }) }));
21
21
  }
@@ -22,23 +22,27 @@
22
22
  color:var(--sn-theme-color-available-version-textSecondary, var(--sn-brand-color-text-version-secondary, rgba(65, 66, 78, 0.8)));
23
23
  }
24
24
 
25
- .content{
25
+ .textWrapper{
26
26
  overflow:hidden;
27
27
  display:flex;
28
- flex-direction:column;
29
28
  flex-grow:1;
30
29
  flex-shrink:1;
31
30
  box-sizing:border-box;
32
31
  }
33
- .content[data-size=s]{
32
+ .textWrapper[data-size=s]{
33
+ padding-top:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-s, var(--sn-primitive-dimension-8, 8px)));
34
+ padding-bottom:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-s, var(--sn-primitive-dimension-8, 8px)));
35
+ }
36
+ .textWrapper[data-size=s] .textContent{
34
37
  gap:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-gap, var(--sn-primitive-dimension-0, 0));
35
- padding:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-s, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-s, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px)));
38
+ padding-right:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px)));
39
+ padding-left:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px)));
36
40
  }
37
- .content[data-size=s] .headline{
41
+ .textWrapper[data-size=s] .headline{
38
42
  gap:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-headline-gap, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px)));
39
43
  min-height:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-headline-minHeight, var(--sn-primitive-font-lineHeight-by12, 16px));
40
44
  }
41
- .content[data-size=s] .label{
45
+ .textWrapper[data-size=s] .label{
42
46
  font-family:var(--sn-regular-body-s-fontFamily, var(--sn-brand-font-fontFamily-regular-body, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
43
47
  font-weight:var(--sn-regular-body-s-fontWeight, var(--sn-theme-typography-fontWeight-regular-body-s, var(--sn-brand-font-fontWeight-light-regular-body-s, var(--sn-primitive-font-fontWeightValue-400, 400))));
44
48
  line-height:var(--sn-regular-body-s-lineHeight, var(--sn-density-typography-roleBody-lineHeightS, var(--sn-primitive-font-lineHeight-by14, 20px)));
@@ -48,7 +52,7 @@
48
52
  display:flex;
49
53
  align-items:center;
50
54
  }
51
- .content[data-size=s] .caption{
55
+ .textWrapper[data-size=s] .caption{
52
56
  font-family:var(--sn-regular-body-s-fontFamily, var(--sn-brand-font-fontFamily-regular-body, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
53
57
  font-weight:var(--sn-regular-body-s-fontWeight, var(--sn-theme-typography-fontWeight-regular-body-s, var(--sn-brand-font-fontWeight-light-regular-body-s, var(--sn-primitive-font-fontWeightValue-400, 400))));
54
58
  line-height:var(--sn-regular-body-s-lineHeight, var(--sn-density-typography-roleBody-lineHeightS, var(--sn-primitive-font-lineHeight-by14, 20px)));
@@ -56,7 +60,7 @@
56
60
  letter-spacing:var(--sn-regular-body-s-letterSpacing, var(--sn-primitive-font-letterSpacing-m, 0.1px));
57
61
  paragraph-spacing:var(--sn-regular-body-s-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize12, 6px));
58
62
  }
59
- .content[data-size=s] .description{
63
+ .textWrapper[data-size=s] .description{
60
64
  font-family:var(--sn-regular-body-s-fontFamily, var(--sn-brand-font-fontFamily-regular-body, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
61
65
  font-weight:var(--sn-regular-body-s-fontWeight, var(--sn-theme-typography-fontWeight-regular-body-s, var(--sn-brand-font-fontWeight-light-regular-body-s, var(--sn-primitive-font-fontWeightValue-400, 400))));
62
66
  line-height:var(--sn-regular-body-s-lineHeight, var(--sn-density-typography-roleBody-lineHeightS, var(--sn-primitive-font-lineHeight-by14, 20px)));
@@ -64,15 +68,20 @@
64
68
  letter-spacing:var(--sn-regular-body-s-letterSpacing, var(--sn-primitive-font-letterSpacing-m, 0.1px));
65
69
  paragraph-spacing:var(--sn-regular-body-s-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize12, 6px));
66
70
  }
67
- .content[data-size=m]{
71
+ .textWrapper[data-size=m]{
72
+ padding-top:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-m, var(--sn-primitive-dimension-8, 8px)));
73
+ padding-bottom:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-m, var(--sn-primitive-dimension-8, 8px)));
74
+ }
75
+ .textWrapper[data-size=m] .textContent{
68
76
  gap:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-gap, var(--sn-primitive-dimension-0, 0));
69
- padding:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-m, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-m, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px)));
77
+ padding-right:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px)));
78
+ padding-left:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px)));
70
79
  }
71
- .content[data-size=m] .headline{
80
+ .textWrapper[data-size=m] .headline{
72
81
  gap:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-headline-gap, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px)));
73
82
  min-height:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-headline-minHeight, var(--sn-primitive-font-lineHeight-by14, 20px));
74
83
  }
75
- .content[data-size=m] .label{
84
+ .textWrapper[data-size=m] .label{
76
85
  font-family:var(--sn-regular-body-m-fontFamily, var(--sn-brand-font-fontFamily-regular-body, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
77
86
  font-weight:var(--sn-regular-body-m-fontWeight, var(--sn-theme-typography-fontWeight-regular-body-m, var(--sn-brand-font-fontWeight-light-regular-body-m, var(--sn-primitive-font-fontWeightValue-400, 400))));
78
87
  line-height:var(--sn-regular-body-m-lineHeight, var(--sn-density-typography-roleBody-lineHeightM, var(--sn-primitive-font-lineHeight-by16, 24px)));
@@ -82,7 +91,7 @@
82
91
  display:flex;
83
92
  align-items:center;
84
93
  }
85
- .content[data-size=m] .caption{
94
+ .textWrapper[data-size=m] .caption{
86
95
  font-family:var(--sn-regular-body-m-fontFamily, var(--sn-brand-font-fontFamily-regular-body, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
87
96
  font-weight:var(--sn-regular-body-m-fontWeight, var(--sn-theme-typography-fontWeight-regular-body-m, var(--sn-brand-font-fontWeight-light-regular-body-m, var(--sn-primitive-font-fontWeightValue-400, 400))));
88
97
  line-height:var(--sn-regular-body-m-lineHeight, var(--sn-density-typography-roleBody-lineHeightM, var(--sn-primitive-font-lineHeight-by16, 24px)));
@@ -90,7 +99,7 @@
90
99
  letter-spacing:var(--sn-regular-body-m-letterSpacing, var(--sn-primitive-font-letterSpacing-m, 0.1px));
91
100
  paragraph-spacing:var(--sn-regular-body-m-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize14, 7px));
92
101
  }
93
- .content[data-size=m] .description{
102
+ .textWrapper[data-size=m] .description{
94
103
  font-family:var(--sn-regular-body-m-fontFamily, var(--sn-brand-font-fontFamily-regular-body, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
95
104
  font-weight:var(--sn-regular-body-m-fontWeight, var(--sn-theme-typography-fontWeight-regular-body-m, var(--sn-brand-font-fontWeight-light-regular-body-m, var(--sn-primitive-font-fontWeightValue-400, 400))));
96
105
  line-height:var(--sn-regular-body-m-lineHeight, var(--sn-density-typography-roleBody-lineHeightM, var(--sn-primitive-font-lineHeight-by16, 24px)));
@@ -98,15 +107,20 @@
98
107
  letter-spacing:var(--sn-regular-body-m-letterSpacing, var(--sn-primitive-font-letterSpacing-m, 0.1px));
99
108
  paragraph-spacing:var(--sn-regular-body-m-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize14, 7px));
100
109
  }
101
- .content[data-size=l]{
110
+ .textWrapper[data-size=l]{
111
+ padding-top:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-l, var(--sn-primitive-dimension-8, 8px)));
112
+ padding-bottom:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-l, var(--sn-primitive-dimension-8, 8px)));
113
+ }
114
+ .textWrapper[data-size=l] .textContent{
102
115
  gap:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-gap, var(--sn-primitive-dimension-2, 2px));
103
- padding:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-l, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px))) var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-l, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px)));
116
+ padding-right:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px)));
117
+ padding-left:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px)));
104
118
  }
105
- .content[data-size=l] .headline{
119
+ .textWrapper[data-size=l] .headline{
106
120
  gap:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-headline-gap, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px)));
107
121
  min-height:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-headline-minHeight, var(--sn-primitive-font-lineHeight-by16, 24px));
108
122
  }
109
- .content[data-size=l] .label{
123
+ .textWrapper[data-size=l] .label{
110
124
  font-family:var(--sn-regular-body-l-fontFamily, var(--sn-brand-font-fontFamily-regular-body, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
111
125
  font-weight:var(--sn-regular-body-l-fontWeight, var(--sn-theme-typography-fontWeight-regular-body-l, var(--sn-brand-font-fontWeight-light-regular-body-l, var(--sn-primitive-font-fontWeightValue-400, 400))));
112
126
  line-height:var(--sn-regular-body-l-lineHeight, var(--sn-density-typography-roleBody-lineHeightL, var(--sn-primitive-font-lineHeight-by20, 28px)));
@@ -116,7 +130,7 @@
116
130
  display:flex;
117
131
  align-items:center;
118
132
  }
119
- .content[data-size=l] .caption{
133
+ .textWrapper[data-size=l] .caption{
120
134
  font-family:var(--sn-regular-body-l-fontFamily, var(--sn-brand-font-fontFamily-regular-body, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
121
135
  font-weight:var(--sn-regular-body-l-fontWeight, var(--sn-theme-typography-fontWeight-regular-body-l, var(--sn-brand-font-fontWeight-light-regular-body-l, var(--sn-primitive-font-fontWeightValue-400, 400))));
122
136
  line-height:var(--sn-regular-body-l-lineHeight, var(--sn-density-typography-roleBody-lineHeightL, var(--sn-primitive-font-lineHeight-by20, 28px)));
@@ -124,7 +138,7 @@
124
138
  letter-spacing:var(--sn-regular-body-l-letterSpacing, var(--sn-primitive-font-letterSpacing-m, 0.1px));
125
139
  paragraph-spacing:var(--sn-regular-body-l-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize16, 8px));
126
140
  }
127
- .content[data-size=l] .description{
141
+ .textWrapper[data-size=l] .description{
128
142
  font-family:var(--sn-regular-body-l-fontFamily, var(--sn-brand-font-fontFamily-regular-body, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
129
143
  font-weight:var(--sn-regular-body-l-fontWeight, var(--sn-theme-typography-fontWeight-regular-body-l, var(--sn-brand-font-fontWeight-light-regular-body-l, var(--sn-primitive-font-fontWeightValue-400, 400))));
130
144
  line-height:var(--sn-regular-body-l-lineHeight, var(--sn-density-typography-roleBody-lineHeightL, var(--sn-primitive-font-lineHeight-by20, 28px)));
@@ -132,8 +146,15 @@
132
146
  letter-spacing:var(--sn-regular-body-l-letterSpacing, var(--sn-primitive-font-letterSpacing-m, 0.1px));
133
147
  paragraph-spacing:var(--sn-regular-body-l-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize16, 8px));
134
148
  }
135
- .content[data-disabled] .label,
136
- .content[data-disabled] .description,
137
- .content[data-disabled] .caption{
138
- color:var(--sn-theme-color-available-version-textDisabled, var(--sn-brand-color-text-version-disabled, rgba(65, 66, 78, 0.3490196078)));
149
+ .textWrapper[data-disabled]{
150
+ opacity:var(--sn-theme-effect-opacity-disabled, 0.4);
151
+ }
152
+
153
+ .textContent{
154
+ overflow:hidden;
155
+ display:flex;
156
+ flex-direction:column;
157
+ flex-grow:1;
158
+ flex-shrink:1;
159
+ box-sizing:border-box;
139
160
  }
@@ -7,7 +7,6 @@ import { useCollapseLevelContext, useNewListContext } from '../../components/Lis
7
7
  import { TEST_IDS } from '../../constants.js';
8
8
  import { listLocale } from '../../locale/index.js';
9
9
  import { stopPropagation } from '../../utils.js';
10
- import { SELECT_BUTTON_SIZE_MAP } from './constants.js';
11
10
  import styles from './styles.module.css';
12
11
  export function Separator({ label, beforeContent, truncate, divider, groupVariant = 'subtitleTertiary', selectButton, }) {
13
12
  const { size = 'm' } = useNewListContext();
@@ -18,14 +17,14 @@ export function Separator({ label, beforeContent, truncate, divider, groupVarian
18
17
  return null;
19
18
  }
20
19
  const { onClick, checked, itemRef, label } = selectButton;
21
- return (_jsx("span", { className: styles.selectButton, "data-size": size, "data-weight": (divider && groupVariant) || undefined, children: _jsx(Button, { view: 'function', appearance: 'neutral', size: SELECT_BUTTON_SIZE_MAP[size], tabIndex: 0, "data-test-id": TEST_IDS.bulkSelectButton, onClick: (e) => {
20
+ return (_jsx("span", { className: styles.selectButton, "data-size": size, children: _jsx(Button, { view: 'function', appearance: 'neutral', size: size, tabIndex: 0, "data-test-id": TEST_IDS.bulkSelectButton, onClick: (e) => {
22
21
  onClick?.(e);
23
22
  e.preventDefault();
24
23
  e.stopPropagation();
25
24
  }, onFocus: stopPropagation, innerRef: itemRef, label: label ?? (checked ? t('groupSelectButton.reset') : t('groupSelectButton.select')) }) }));
26
- }, [divider, groupVariant, selectButton, size, t]);
25
+ }, [selectButton, size, t]);
27
26
  if (label) {
28
- return (_jsxs("div", { className: styles.separatorWithLabel, "data-size": size, "data-level-one": level === 1 || undefined, "data-level-more-one": level > 1 || undefined, style: { '--level': level }, children: [beforeContent && (_jsx("span", { className: styles.beforeContent, "aria-hidden": true, children: beforeContent })), _jsx("span", { className: styles.label, "data-group-variant": groupVariant, children: _jsx(TruncateString, { variant: truncate?.variant, text: label, maxLines: 1 }) }), _jsxs("div", { className: styles.labelEnd, children: [selectButtonJSX, divider && (_jsx(Divider, { className: styles.divider, variant: groupVariant === 'subtitle' ? VARIANT.Regular : VARIANT.Thin }))] })] }));
27
+ return (_jsxs("div", { className: styles.separatorWithLabel, "data-size": size, "data-level-one": level === 1 || undefined, "data-level-more-one": level > 1 || undefined, style: { '--level': level }, children: [_jsxs("div", { className: styles.contentWrapper, children: [beforeContent && (_jsx("span", { className: styles.centeredWrapper, "aria-hidden": true, children: beforeContent })), _jsxs("div", { className: styles.textWrapper, children: [_jsx("div", { className: styles.textContent, children: _jsx("span", { className: styles.headline, "data-group-variant": groupVariant, children: _jsx(TruncateString, { variant: truncate?.variant, text: label, maxLines: 1 }) }) }), selectButtonJSX] })] }), divider && (_jsx(Divider, { className: styles.divider, variant: groupVariant === 'subtitle' ? VARIANT.Regular : VARIANT.Thin }))] }));
29
28
  }
30
29
  if (divider) {
31
30
  return (_jsx("div", { className: styles.separatorWithoutLabel, "data-size": size, children: _jsx(Divider, { variant: VARIANT.Regular }) }));
@@ -1,4 +1,4 @@
1
- .beforeContent{
1
+ .centeredWrapper{
2
2
  display:inline-flex;
3
3
  flex-grow:0;
4
4
  flex-shrink:0;
@@ -7,7 +7,7 @@
7
7
  box-sizing:content-box;
8
8
  color:var(--sn-theme-color-available-version-textTertiary, var(--sn-brand-color-text-version-tertiary, rgba(65, 66, 78, 0.5490196078)));
9
9
  }
10
- .beforeContent svg{
10
+ .centeredWrapper svg{
11
11
  width:100%;
12
12
  height:100%;
13
13
  }
@@ -31,30 +31,31 @@
31
31
  .separatorWithLabel[data-size=s][data-level-one], .separatorWithLabel[data-size=s][data-level-more-one]{
32
32
  padding-left:calc(var(--sn-list-anatomy-size-s-listItem-paddingHorizontal, var(--sn-density-spacing-control-container-horizontal-s, var(--sn-primitive-dimension-12, 12px))) + var(--level, 0) * (var(--sn-density-size-icon-xs, var(--sn-primitive-dimension-24, 24px)) + var(--sn-list-anatomy-size-s-listItem-gap, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px)))));
33
33
  }
34
- .separatorWithLabel[data-size=s] .beforeContent{
34
+ .separatorWithLabel[data-size=s] .centeredWrapper{
35
35
  width:var(--sn-density-size-icon-xs, var(--sn-primitive-dimension-24, 24px));
36
36
  height:var(--sn-density-size-icon-xs, var(--sn-primitive-dimension-24, 24px));
37
37
  padding-top:var(--sn-list-anatomy-size-s-listItem-centeredWrapper-paddingVertical, var(--sn-density-spacing-control-container-vertical-s, var(--sn-primitive-dimension-6, 6px)));
38
38
  padding-bottom:var(--sn-list-anatomy-size-s-listItem-centeredWrapper-paddingVertical, var(--sn-density-spacing-control-container-vertical-s, var(--sn-primitive-dimension-6, 6px)));
39
39
  }
40
- .separatorWithLabel[data-size=s] .label{
41
- padding:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-s, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-s, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px)));
40
+ .separatorWithLabel[data-size=s] .textWrapper{
41
+ gap:var(--sn-list-anatomy-size-s-listItem-gap, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px)));
42
+ padding-top:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-s, var(--sn-primitive-dimension-8, 8px)));
43
+ padding-bottom:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-s, var(--sn-primitive-dimension-8, 8px)));
42
44
  }
43
- .separatorWithLabel[data-size=s] .label[data-group-variant=subtitle]{
44
- font-family:var(--sn-regular-label-m-fontFamily, var(--sn-brand-font-fontFamily-regular-label, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
45
- font-weight:var(--sn-regular-label-m-fontWeight, var(--sn-theme-typography-fontWeight-regular-label-m, var(--sn-brand-font-fontWeight-light-regular-label-m, var(--sn-primitive-font-fontWeightValue-550, 550))));
46
- line-height:var(--sn-regular-label-m-lineHeight, var(--sn-density-typography-roleLabel-lineHeightM, var(--sn-primitive-font-lineHeight-by16, 24px)));
47
- font-size:var(--sn-regular-label-m-fontSize, var(--sn-density-typography-roleLabel-fontSizeM, var(--sn-primitive-font-fontSize-16, 16px)));
48
- letter-spacing:var(--sn-regular-label-m-letterSpacing, var(--sn-primitive-font-letterSpacing-s, 0px));
49
- paragraph-spacing:var(--sn-regular-label-m-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize12, 6px));
45
+ .separatorWithLabel[data-size=s] .textContent{
46
+ gap:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-gap, var(--sn-primitive-dimension-0, 0));
47
+ padding-right:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px)));
48
+ padding-left:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px)));
50
49
  }
51
- .separatorWithLabel[data-size=s] .label[data-group-variant=subtitleTertiary]{
50
+ .separatorWithLabel[data-size=s] .headline{
52
51
  font-family:var(--sn-regular-label-m-fontFamily, var(--sn-brand-font-fontFamily-regular-label, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
53
52
  font-weight:var(--sn-regular-label-m-fontWeight, var(--sn-theme-typography-fontWeight-regular-label-m, var(--sn-brand-font-fontWeight-light-regular-label-m, var(--sn-primitive-font-fontWeightValue-550, 550))));
54
53
  line-height:var(--sn-regular-label-m-lineHeight, var(--sn-density-typography-roleLabel-lineHeightM, var(--sn-primitive-font-lineHeight-by16, 24px)));
55
54
  font-size:var(--sn-regular-label-m-fontSize, var(--sn-density-typography-roleLabel-fontSizeM, var(--sn-primitive-font-fontSize-16, 16px)));
56
55
  letter-spacing:var(--sn-regular-label-m-letterSpacing, var(--sn-primitive-font-letterSpacing-s, 0px));
57
56
  paragraph-spacing:var(--sn-regular-label-m-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize12, 6px));
57
+ gap:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-headline-gap, var(--sn-density-spacing-control-wrapper-horizontal-s, var(--sn-primitive-dimension-8, 8px)));
58
+ min-height:var(--sn-list-anatomy-size-s-listItem-contentWrapper-textWrapper-textContent-headline-minHeight, var(--sn-primitive-font-lineHeight-by12, 16px));
58
59
  }
59
60
  .separatorWithLabel[data-size=m]{
60
61
  gap:var(--sn-list-anatomy-size-m-listItem-gap, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px)));
@@ -63,30 +64,31 @@
63
64
  .separatorWithLabel[data-size=m][data-level-one], .separatorWithLabel[data-size=m][data-level-more-one]{
64
65
  padding-left:calc(var(--sn-list-anatomy-size-m-listItem-paddingHorizontal, var(--sn-density-spacing-control-container-horizontal-m, var(--sn-primitive-dimension-16, 16px))) + var(--level, 0) * (var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px)) + var(--sn-list-anatomy-size-m-listItem-gap, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px)))));
65
66
  }
66
- .separatorWithLabel[data-size=m] .beforeContent{
67
+ .separatorWithLabel[data-size=m] .centeredWrapper{
67
68
  width:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
68
69
  height:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
69
70
  padding-top:var(--sn-list-anatomy-size-m-listItem-centeredWrapper-paddingVertical, var(--sn-density-spacing-control-container-vertical-m, var(--sn-primitive-dimension-8, 8px)));
70
71
  padding-bottom:var(--sn-list-anatomy-size-m-listItem-centeredWrapper-paddingVertical, var(--sn-density-spacing-control-container-vertical-m, var(--sn-primitive-dimension-8, 8px)));
71
72
  }
72
- .separatorWithLabel[data-size=m] .label{
73
- padding:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-m, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-m, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px)));
73
+ .separatorWithLabel[data-size=m] .textWrapper{
74
+ gap:var(--sn-list-anatomy-size-m-listItem-gap, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px)));
75
+ padding-top:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-m, var(--sn-primitive-dimension-8, 8px)));
76
+ padding-bottom:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-m, var(--sn-primitive-dimension-8, 8px)));
74
77
  }
75
- .separatorWithLabel[data-size=m] .label[data-group-variant=subtitle]{
76
- font-family:var(--sn-regular-label-l-fontFamily, var(--sn-brand-font-fontFamily-regular-label, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
77
- font-weight:var(--sn-regular-label-l-fontWeight, var(--sn-theme-typography-fontWeight-regular-label-l, var(--sn-brand-font-fontWeight-light-regular-label-l, var(--sn-primitive-font-fontWeightValue-550, 550))));
78
- line-height:var(--sn-regular-label-l-lineHeight, var(--sn-density-typography-roleLabel-lineHeightL, var(--sn-primitive-font-lineHeight-by20, 28px)));
79
- font-size:var(--sn-regular-label-l-fontSize, var(--sn-density-typography-roleLabel-fontSizeL, var(--sn-primitive-font-fontSize-20, 20px)));
80
- letter-spacing:var(--sn-regular-label-l-letterSpacing, var(--sn-primitive-font-letterSpacing-s, 0px));
81
- paragraph-spacing:var(--sn-regular-label-l-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize14, 7px));
78
+ .separatorWithLabel[data-size=m] .textContent{
79
+ gap:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-gap, var(--sn-primitive-dimension-0, 0));
80
+ padding-right:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px)));
81
+ padding-left:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px)));
82
82
  }
83
- .separatorWithLabel[data-size=m] .label[data-group-variant=subtitleTertiary]{
83
+ .separatorWithLabel[data-size=m] .headline{
84
84
  font-family:var(--sn-regular-label-l-fontFamily, var(--sn-brand-font-fontFamily-regular-label, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
85
85
  font-weight:var(--sn-regular-label-l-fontWeight, var(--sn-theme-typography-fontWeight-regular-label-l, var(--sn-brand-font-fontWeight-light-regular-label-l, var(--sn-primitive-font-fontWeightValue-550, 550))));
86
86
  line-height:var(--sn-regular-label-l-lineHeight, var(--sn-density-typography-roleLabel-lineHeightL, var(--sn-primitive-font-lineHeight-by20, 28px)));
87
87
  font-size:var(--sn-regular-label-l-fontSize, var(--sn-density-typography-roleLabel-fontSizeL, var(--sn-primitive-font-fontSize-20, 20px)));
88
88
  letter-spacing:var(--sn-regular-label-l-letterSpacing, var(--sn-primitive-font-letterSpacing-s, 0px));
89
89
  paragraph-spacing:var(--sn-regular-label-l-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize14, 7px));
90
+ gap:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-headline-gap, var(--sn-density-spacing-control-wrapper-horizontal-m, var(--sn-primitive-dimension-8, 8px)));
91
+ min-height:var(--sn-list-anatomy-size-m-listItem-contentWrapper-textWrapper-textContent-headline-minHeight, var(--sn-primitive-font-lineHeight-by14, 20px));
90
92
  }
91
93
  .separatorWithLabel[data-size=l]{
92
94
  gap:var(--sn-list-anatomy-size-l-listItem-gap, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px)));
@@ -95,30 +97,31 @@
95
97
  .separatorWithLabel[data-size=l][data-level-one], .separatorWithLabel[data-size=l][data-level-more-one]{
96
98
  padding-left:calc(var(--sn-list-anatomy-size-l-listItem-paddingHorizontal, var(--sn-density-spacing-control-container-horizontal-l, var(--sn-primitive-dimension-20, 20px))) + var(--level, 0) * (var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px)) + var(--sn-list-anatomy-size-l-listItem-gap, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px)))));
97
99
  }
98
- .separatorWithLabel[data-size=l] .beforeContent{
100
+ .separatorWithLabel[data-size=l] .centeredWrapper{
99
101
  width:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
100
102
  height:var(--sn-density-size-icon-s, var(--sn-primitive-dimension-24, 24px));
101
103
  padding-top:var(--sn-list-anatomy-size-l-listItem-centeredWrapper-paddingVertical, var(--sn-density-spacing-control-container-vertical-l, var(--sn-primitive-dimension-10, 10px)));
102
104
  padding-bottom:var(--sn-list-anatomy-size-l-listItem-centeredWrapper-paddingVertical, var(--sn-density-spacing-control-container-vertical-l, var(--sn-primitive-dimension-10, 10px)));
103
105
  }
104
- .separatorWithLabel[data-size=l] .label{
105
- padding:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-l, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px))) var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-l, var(--sn-primitive-dimension-8, 8px))) var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px)));
106
+ .separatorWithLabel[data-size=l] .textWrapper{
107
+ gap:var(--sn-list-anatomy-size-l-listItem-gap, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px)));
108
+ padding-top:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-l, var(--sn-primitive-dimension-8, 8px)));
109
+ padding-bottom:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-paddingVertical, var(--sn-density-spacing-control-wrapper-vertical-l, var(--sn-primitive-dimension-8, 8px)));
106
110
  }
107
- .separatorWithLabel[data-size=l] .label[data-group-variant=subtitle]{
108
- font-family:var(--sn-regular-title-m-fontFamily, var(--sn-brand-font-fontFamily-regular-title, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
109
- font-weight:var(--sn-regular-title-m-fontWeight, var(--sn-theme-typography-fontWeight-regular-title-m, var(--sn-brand-font-fontWeight-light-regular-title-m, var(--sn-primitive-font-fontWeightValue-600, 600))));
110
- line-height:var(--sn-regular-title-m-lineHeight, var(--sn-density-typography-roleTitle-lineHeightM, var(--sn-primitive-font-lineHeight-by16, 24px)));
111
- font-size:var(--sn-regular-title-m-fontSize, var(--sn-density-typography-roleTitle-fontSizeM, var(--sn-primitive-font-fontSize-16, 16px)));
112
- letter-spacing:var(--sn-regular-title-m-letterSpacing, var(--sn-primitive-font-letterSpacing-l, 0.15px));
113
- paragraph-spacing:var(--sn-regular-title-m-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize16, 8px));
111
+ .separatorWithLabel[data-size=l] .textContent{
112
+ gap:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-gap, var(--sn-primitive-dimension-2, 2px));
113
+ padding-right:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px)));
114
+ padding-left:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-paddingHorizontal, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px)));
114
115
  }
115
- .separatorWithLabel[data-size=l] .label[data-group-variant=subtitleTertiary]{
116
+ .separatorWithLabel[data-size=l] .headline{
116
117
  font-family:var(--sn-regular-title-m-fontFamily, var(--sn-brand-font-fontFamily-regular-title, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
117
118
  font-weight:var(--sn-regular-title-m-fontWeight, var(--sn-theme-typography-fontWeight-regular-title-m, var(--sn-brand-font-fontWeight-light-regular-title-m, var(--sn-primitive-font-fontWeightValue-600, 600))));
118
119
  line-height:var(--sn-regular-title-m-lineHeight, var(--sn-density-typography-roleTitle-lineHeightM, var(--sn-primitive-font-lineHeight-by16, 24px)));
119
120
  font-size:var(--sn-regular-title-m-fontSize, var(--sn-density-typography-roleTitle-fontSizeM, var(--sn-primitive-font-fontSize-16, 16px)));
120
121
  letter-spacing:var(--sn-regular-title-m-letterSpacing, var(--sn-primitive-font-letterSpacing-l, 0.15px));
121
122
  paragraph-spacing:var(--sn-regular-title-m-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize16, 8px));
123
+ gap:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-headline-gap, var(--sn-density-spacing-control-wrapper-horizontal-l, var(--sn-primitive-dimension-12, 12px)));
124
+ min-height:var(--sn-list-anatomy-size-l-listItem-contentWrapper-textWrapper-textContent-headline-minHeight, var(--sn-primitive-font-lineHeight-by16, 24px));
122
125
  }
123
126
 
124
127
  .separatorWithoutLabel{
@@ -136,33 +139,50 @@
136
139
  padding:var(--sn-list-anatomy-size-l-listItem-paddingVertical, var(--sn-density-spacing-control-container-vertical-l, var(--sn-primitive-dimension-10, 10px))) var(--sn-list-anatomy-size-l-listItem-paddingHorizontal, var(--sn-density-spacing-control-container-horizontal-l, var(--sn-primitive-dimension-20, 20px))) var(--sn-list-anatomy-size-l-listItem-paddingVertical, var(--sn-density-spacing-control-container-vertical-l, var(--sn-primitive-dimension-10, 10px))) var(--sn-list-anatomy-size-l-listItem-paddingHorizontal, var(--sn-density-spacing-control-container-horizontal-l, var(--sn-primitive-dimension-20, 20px)));
137
140
  }
138
141
 
139
- .label{
142
+ .contentWrapper{
143
+ display:flex;
144
+ flex:1 1 auto;
145
+ align-items:center;
146
+ min-width:0;
147
+ }
148
+
149
+ .textWrapper{
150
+ display:flex;
151
+ flex:1 1 auto;
152
+ align-items:center;
153
+ min-width:0;
154
+ }
155
+
156
+ .textContent{
157
+ display:flex;
158
+ flex-direction:column;
159
+ min-width:0;
160
+ }
161
+
162
+ .headline{
140
163
  overflow:hidden;
141
- flex-shrink:1;
164
+ display:flex;
165
+ align-items:center;
142
166
  }
143
- .label[data-group-variant=subtitle]{
167
+ .headline[data-group-variant=subtitle]{
144
168
  color:var(--sn-theme-color-available-version-textMain, var(--sn-brand-color-text-version-main, #41424e));
145
169
  }
146
- .label[data-group-variant=subtitleTertiary]{
170
+ .headline[data-group-variant=subtitleTertiary]{
147
171
  color:var(--sn-theme-color-available-version-textTertiary, var(--sn-brand-color-text-version-tertiary, rgba(65, 66, 78, 0.5490196078)));
148
172
  }
149
173
 
150
174
  .divider{
151
- flex:1;
175
+ position:absolute;
176
+ right:0;
177
+ bottom:0;
178
+ left:0;
152
179
  width:auto;
153
180
  min-width:0;
154
181
  }
155
182
 
156
- .labelEnd{
157
- display:flex;
158
- flex:1 0 0;
159
- flex-direction:column;
160
- align-items:flex-end;
161
- justify-content:center;
162
- min-width:0;
163
- }
164
-
165
183
  .selectButton{
166
184
  display:flex;
185
+ flex-shrink:0;
167
186
  justify-content:flex-end;
187
+ margin-left:auto;
168
188
  }