@genexus/mercury 0.1.6 → 0.1.7

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/mercury.scss CHANGED
@@ -685,8 +685,9 @@ Window
685
685
  Icon Size
686
686
  ----------------------*/
687
687
  // box (shell)
688
- --mer-icon__box--sm: var(--mer-spacing--md);
689
- --mer-icon__box--lg: var(--mer-spacing--lg);
688
+ --mer-icon__box--sm: var(--mer-spacing--sm);
689
+ --mer-icon__box--md: var(--mer-spacing--md);
690
+ // --mer-icon__box--lg: var(--mer-spacing--lg);
690
691
 
691
692
  /*----------------------------------------------------------
692
693
  Form Input (form-input-*** background-position-x RTL support)
@@ -781,6 +782,82 @@ Window
781
782
 
782
783
 
783
784
  // Base classes
785
+ @mixin label-tokens() {
786
+ --label__font-family: var(--mer-font-family--inter-semi-bold);
787
+ --label__font-size: var(--mer-font__size--2xs);
788
+ --label__color: var(--mer-text__on-surface);
789
+ --label__line-height: var(--mer-line-height--regular);
790
+ --label__block-margin: var(--mer-spacing--xs);
791
+ --label__inline-margin: var(--mer-spacing--xs);
792
+
793
+ // Disabled
794
+ --label__color--disabled: var(--mer-text__primary--disabled);
795
+ }
796
+
797
+
798
+ %label {
799
+ @include label-tokens();
800
+ font-family: var(--label__font-family);
801
+ font-size: var(--label__font-size);
802
+ color: var(--label__color);
803
+ line-height: var(--label__line-height);
804
+ }
805
+
806
+ // Positioning margin
807
+ %label--disabled {
808
+ color: var(--label__color--disabled);
809
+ }
810
+ %label--above {
811
+ margin-block-end: var(--label__block-margin);
812
+ }
813
+ %label--after {
814
+ margin-inline-start: var(--label__inline-margin);
815
+ }
816
+ %label--below {
817
+ margin-block-start: var(--label__block-margin);
818
+ }
819
+ %label--before {
820
+ margin-inline-end: var(--label__inline-margin);
821
+ }
822
+
823
+ /// @group Label
824
+ /// @param {String} $label-selector [".label"] -
825
+ /// @param {String} $label--disabled-selector [".label--disabled"] -
826
+ /// @param {String} $label--above-selector [".label--above"] -
827
+ /// @param {String} $label--after-selector [".label--after"] -
828
+ /// @param {String} $label--below-selector [".label--below"] -
829
+ /// @param {String} $label--before-selector [".label--before"] -
830
+ @mixin label(
831
+ $label-selector: ".label",
832
+ $label--disabled-selector: ".label--disabled",
833
+ $label--above-selector: ".label--above",
834
+ $label--after-selector: ".label--after",
835
+ $label--below-selector: ".label--below",
836
+ $label--before-selector: ".label--before"
837
+ ) {
838
+ #{$label-selector} {
839
+ @extend %label;
840
+ }
841
+
842
+ #{$label--disabled-selector} {
843
+ @extend %label--disabled;
844
+ }
845
+
846
+ // Positioning margin
847
+ #{$label--above-selector} {
848
+ @extend %label--above;
849
+ }
850
+ #{$label--after-selector} {
851
+ @extend %label--after;
852
+ }
853
+ #{$label--below-selector} {
854
+ @extend %label--below;
855
+ }
856
+ #{$label--before-selector} {
857
+ @extend %label--before;
858
+ }
859
+ }
860
+
784
861
  @mixin button-tokens-base() {
785
862
  //font
786
863
  --button-base__font-family: inherit;
@@ -1054,11 +1131,11 @@ Window
1054
1131
  @include button-tertiary();
1055
1132
  }
1056
1133
 
1057
- @mixin form-input-element-tokens() {
1134
+ @mixin form-input-tokens() {
1058
1135
  // Common form input element tokens
1059
- --mer-form-input__border-color: var(--mer-color__neutral-gray--500);
1060
- --mer-form-input__border-style: solid;
1061
1136
  --mer-form-input__border-width: var(--mer-border__width--sm);
1137
+ --mer-form-input__border-style: solid;
1138
+ --mer-form-input__border-color: var(--mer-color__neutral-gray--500);
1062
1139
  --mer-form-input__border: var(--mer-form-input__border-width)
1063
1140
  var(--mer-form-input__border-style) var(--mer-form-input__border-color);
1064
1141
  --mer-form-input__border-radius: var(--mer-border__radius--sm);
@@ -1070,58 +1147,114 @@ Window
1070
1147
  //--mer-form-input__padding-inline is defined globally in /tokens/semantic/_other/
1071
1148
  // (Form Input) because it the padding-inline value is required in the calculation
1072
1149
  // of background-x position for RTL support, and this calculation needs to be on the :root
1150
+
1151
+ // placeholder
1152
+ --mer-form-input__color--placeholder: var(--mer-text__on-surface);
1153
+
1154
+ // hover
1155
+ --mer-form-input__border-color--hover: var(--mer-color__neutral-gray--00);
1156
+
1157
+ // disabled
1158
+ --mer-form-input__color--disabled: var(--mer-text__on-disabled);
1159
+ --mer-form-input__bg-color--disabled: var(--mer-color__neutral-gray--1100);
1160
+ --mer-form-input__border-color--disabled: var(
1161
+ --mer-accent__primary--disabled
1162
+ );
1163
+
1164
+ // error
1165
+ --mer-form-input__border-color--error: var(--mer-border-color__error);
1073
1166
  }
1074
1167
 
1075
1168
 
1076
- // Base form-input-text sty
1077
- %form-input-base {
1078
- @include form-input-element-tokens();
1169
+ %form-input {
1170
+ @include form-input-tokens();
1079
1171
  font-family: var(--mer-form-input__font-family);
1080
1172
  border: var(--mer-form-input__border);
1081
1173
  border-radius: var(--mer-form-input__border-radius);
1082
1174
  color: var(--mer-form-input__color);
1083
1175
  font-size: var(--mer-form-input__font-size);
1084
1176
  block-size: var(--mer-control__block-size);
1085
- }
1086
-
1087
- %form-input-text-only {
1088
- @extend %form-input-base;
1089
1177
  padding-inline: var(--mer-form-input__padding-inline);
1090
- }
1091
1178
 
1092
- @mixin form-input-text-only(
1093
- $selector: ".form-input-text-only",
1094
- $add--disabled: true
1095
- ) {
1096
- #{$selector} {
1097
- @extend %form-input-text-only;
1179
+ &--focus {
1180
+ @include focus-style(false);
1098
1181
  }
1099
- }
1100
1182
 
1101
- @mixin form-input-bg-x-rtl-support() {
1102
- // has to be included in the root
1103
- :root[dir="rtl"] {
1104
- --mer-form-input__bg-position--x: calc(
1105
- 100% - var(--mer-form-input__bg-position--x-value)
1183
+ &--hover {
1184
+ border-color: var(--mer-form-input__border-color--hover);
1185
+ }
1186
+
1187
+ &--disabled {
1188
+ color: var(--mer-form-input__color--disabled);
1189
+ border-color: var(--mer-form-input__border-color--disabled);
1190
+ background-color: var(--mer-form-input__bg-color--disabled);
1191
+ }
1192
+
1193
+ &--disabled-placeholder {
1194
+ --mer-form-input__color--placeholder: var(
1195
+ --mer-form-input__color--disabled
1106
1196
  );
1107
1197
  }
1198
+
1199
+ &--error {
1200
+ border-color: var(--mer-form-input__border-color--error);
1201
+ }
1108
1202
  }
1109
- // - - - - - - - - - - - - - - - - - - - -
1110
- // Icons | Mask & Background
1111
- // - - - - - - - - - - - - - - - - - - - -
1112
1203
 
1113
- // Icon mask styles
1114
- @mixin mer-icon-mask-common-styles(
1115
- $size: "sm",
1116
- $mask-size: var(--icon-mask-size)
1204
+ %form-input__placeholder {
1205
+ font-style: italic;
1206
+ color: var(--mer-form-input__color--placeholder);
1207
+ }
1208
+
1209
+ /// @group Form
1210
+ /// @param {String} $selector [".form-input"] -
1211
+ /// @param {Boolean} $add--disabled [true] -
1212
+ /// @param {Boolean} $add--placeholder [true] -
1213
+ /// @param {Boolean} $add--placeholder-var [true] -
1214
+ /// @param {Boolean} $add--error [true] -
1215
+ @mixin form-input(
1216
+ $selector: ".form-input",
1217
+ $add--disabled: true,
1218
+ $add--placeholder: true,
1219
+ $add--placeholder-var: false,
1220
+ $add--error: true
1117
1221
  ) {
1118
- $iconSize: var(--mer-icon__box--sm);
1119
- @if $size == "lg" {
1120
- $iconSize: var(--mer-icon__box--lg);
1222
+ #{$selector} {
1223
+ @extend %form-input;
1224
+
1225
+ @if $add--placeholder-var {
1226
+ // @include form-input-placeholder-var(); TODO
1227
+ }
1228
+
1229
+ @if $add--placeholder {
1230
+ &::placeholder {
1231
+ @extend %form-input__placeholder;
1232
+ }
1233
+ }
1234
+
1235
+ &:focus {
1236
+ @extend %form-input--focus;
1237
+ }
1238
+
1239
+ @if $add--disabled {
1240
+ &:disabled,
1241
+ &--disabled {
1242
+ @extend %form-input--disabled;
1243
+ }
1244
+ }
1245
+
1246
+ @if $add--error {
1247
+ &--error {
1248
+ @extend %form-input--error;
1249
+ }
1250
+ }
1121
1251
  }
1122
- @include icon-mask-common-styles($iconSize, $iconSize, $mask-size);
1123
1252
  }
1124
1253
 
1254
+ // - - - - - - - - - - - - - - - - - - - -
1255
+ // Icon Path
1256
+ // - - - - - - - - - - - - - - - - - - - -
1257
+
1125
1258
  /// @group Icon
1126
1259
  /// @param {String} $selector [".icon-mask"] -
1127
1260
  /// @param {type} $icon-path [null] -
@@ -1136,31 +1269,7 @@ Window
1136
1269
  @if $icon-class != null {
1137
1270
  @extend #{$icon-class} !optional;
1138
1271
  }
1139
-
1140
- &::before {
1141
- @extend %icon-mask--before;
1142
- }
1143
- }
1144
- }
1145
-
1146
- %icon-mask--before {
1147
- @include mer-icon-mask-common-styles($size: "sm", $mask-size: 100%);
1148
- }
1149
-
1150
- // Icon background styles
1151
- @mixin mer-icon-background-common-styles(
1152
- $size: "sm",
1153
- $background-size: var(--icon-mask-size)
1154
- ) {
1155
- $iconSize: var(--mer-icon__box--sm);
1156
- @if $size == "lg" {
1157
- $iconSize: var(--mer-icon__box--lg);
1158
1272
  }
1159
- @include icon-background-common-styles(
1160
- $iconSize,
1161
- $iconSize,
1162
- $background-size
1163
- );
1164
1273
  }
1165
1274
 
1166
1275
  /// @group Icon
@@ -1181,21 +1290,60 @@ Window
1181
1290
  @if $icon-class != null {
1182
1291
  @extend #{$icon-class} !optional;
1183
1292
  }
1184
-
1185
- &::before {
1186
- @extend %icon-background--before;
1187
- }
1188
1293
  }
1189
1294
  }
1190
1295
 
1191
- %icon-background--before {
1192
- @include mer-icon-background-common-styles(
1193
- $size: "sm",
1296
+ // - - - - - - - - - - - - - - - - - - - -
1297
+ // Icon Sizes
1298
+ // - - - - - - - - - - - - - - - - - - - -
1299
+
1300
+ %icon-size--sm {
1301
+ @include icon-background-common-styles(
1302
+ $inline-size: var(--mer-icon__box--sm),
1303
+ $block-size: var(--mer-icon__box--sm),
1304
+ $background-size: 100%
1305
+ );
1306
+ }
1307
+ %icon-size--md {
1308
+ @include icon-background-common-styles(
1309
+ $inline-size: var(--mer-icon__box--md),
1310
+ $block-size: var(--mer-icon__box--md),
1194
1311
  $background-size: 100%
1195
1312
  );
1196
1313
  }
1197
1314
 
1198
- // Icon Input background styles
1315
+ /// @group Icon
1316
+ /// @param {String} $selector [".icon-size-sm"] -
1317
+ @mixin icon-size-sm($selector: ".icon-size-sm") {
1318
+ #{$selector} {
1319
+ ::before {
1320
+ @extend %icon-size--sm;
1321
+ }
1322
+ }
1323
+ }
1324
+ /// @group Icon
1325
+ /// @param {String} $selector [".icon-size-sm"] -
1326
+ @mixin icon-size-sm($selector: ".icon-size-md") {
1327
+ #{$selector} {
1328
+ ::before {
1329
+ @extend %icon-size--md;
1330
+ }
1331
+ }
1332
+ }
1333
+
1334
+ // - - - - - - - - - - - - - - - - - - - -
1335
+ // Form Input
1336
+ // - - - - - - - - - - - - - - - - - - - -
1337
+
1338
+ @mixin form-input-bg-x-rtl-support() {
1339
+ // has to be included in the root
1340
+ :root[dir="rtl"] {
1341
+ --mer-form-input__bg-position--x: calc(
1342
+ 100% - var(--mer-form-input__bg-position--x-value)
1343
+ );
1344
+ }
1345
+ }
1346
+
1199
1347
  @mixin icon-input-background-common-styles(
1200
1348
  $background-size: "0",
1201
1349
  $background-position-x: "0"
@@ -1762,7 +1910,7 @@ Window
1762
1910
  }
1763
1911
 
1764
1912
  &::before {
1765
- @extend %icon-mask--before;
1913
+ @extend %icon-size--md;
1766
1914
  }
1767
1915
  }
1768
1916
  }
@@ -1779,7 +1927,7 @@ Window
1779
1927
  }
1780
1928
 
1781
1929
  &::before {
1782
- @extend %icon-background--before;
1930
+ @extend %icon-size--md;
1783
1931
  }
1784
1932
  }
1785
1933
  }
@@ -1796,28 +1944,28 @@ Window
1796
1944
  }
1797
1945
 
1798
1946
  &::before {
1799
- @extend %icon-background--before;
1947
+ @extend %icon-size--md;
1800
1948
  @extend %button-icon-after-and-text--before;
1801
1949
  }
1802
1950
  }
1803
1951
  }
1804
1952
 
1805
- %form-input-element-icon {
1806
- @extend %form-input-base;
1953
+ %form-input-icon {
1954
+ @extend %form-input;
1807
1955
  padding-inline-start: calc(
1808
1956
  var(--mer-form-input__padding-inline) * 2 + var(--mer-form-input__icon-size)
1809
1957
  );
1810
1958
  }
1811
1959
 
1812
- @mixin form-input-text-icon(
1813
- $selector: ".form-input-text-icon",
1814
- $icon-path: null
1815
- ) {
1960
+ /// @group Form
1961
+ /// @param {String} $selector [".form-input--icon"] -
1962
+ /// @param {type} $icon-path [null] -
1963
+ @mixin form-input-icon($selector: ".form-input--icon", $icon-path: null) {
1816
1964
  #{$selector} {
1817
1965
  @if $icon-path != null {
1818
1966
  --icon-path: #{$icon-path};
1819
1967
  }
1820
- @extend %form-input-element-icon;
1968
+ @extend %form-input-icon;
1821
1969
  @extend %icon-input-background;
1822
1970
  }
1823
1971
  }
@@ -1826,7 +1974,8 @@ Window
1826
1974
  // Components
1827
1975
  @mixin checkbox-tokens() {
1828
1976
  // size
1829
- --ch-checkbox__container-size: var(--mer-spacing--md);
1977
+ --ch-checkbox__container-size: var(--mer-control__block-size--tiny);
1978
+ --ch-checkbox__option-size: calc(var(--mer-control__block-size--tiny) / 2);
1830
1979
 
1831
1980
  // border
1832
1981
  --mer-checkbox__border: var(--mer-border__width--sm) solid
@@ -1841,48 +1990,62 @@ Window
1841
1990
 
1842
1991
  %checkbox {
1843
1992
  @include checkbox-tokens();
1844
- font-weight: var(--mer-label__font-weight);
1993
+ // TODO (inherit this from the form-control
1994
+ font-family: var(--mer-form-input__font-family);
1995
+ font-size: var(--mer-form-input__font-size);
1996
+ line-height: var(--mer-line-height--regular);
1997
+ color: var(--mer-form-input__color);
1998
+ // END TODO (inherit this from the form-control)
1845
1999
 
1846
2000
  // Input
1847
2001
  &__input {
1848
- background-color: var(--mer-checkbox__bg-color);
1849
- border: var(--mer-checkbox__border);
1850
- border-radius: var(--mer-checkbox__border-radius);
2002
+ border: var(--mer-form-input__border);
2003
+ border-radius: var(--mer-border__radius--2xs);
1851
2004
 
1852
2005
  &--focus {
1853
- @include focus-style();
2006
+ @include focus-style(true);
2007
+ }
2008
+
2009
+ &--checked-and-indeterminate {
2010
+ border-color: var(--mer-color__neutral-gray--300);
2011
+ }
2012
+
2013
+ // Not implemented yet in the control
2014
+ &--error {
2015
+ background-color: var(--colors-Foundation-un-color__red--5);
1854
2016
  }
1855
2017
 
1856
2018
  &--disabled {
1857
- border-color: var(--mer-text__disabled);
2019
+ border-color: var(--mer-border-color__primary--disabled);
1858
2020
  }
1859
2021
  }
1860
2022
 
1861
2023
  // Option
1862
2024
  &__option {
1863
2025
  &--checked {
1864
- color: var(--mer-checkbox-check__color);
2026
+ color: var(--mer-border-color__neutral--active);
1865
2027
  }
1866
2028
 
1867
2029
  &--indeterminate {
1868
- inline-size: 8px;
1869
- block-size: 1.5px;
1870
- border-radius: 2px;
1871
- color: var(--mer-checkbox-check__color);
2030
+ color: var(--mer-color__neutral-gray--300);
2031
+ block-size: var(--mer-spacing--3xs);
2032
+ }
2033
+
2034
+ // Not implemented yet in the control
2035
+ &--error {
2036
+ color: var(--mer-color__message-red--100);
2037
+ border-color: var(--mer-border-color__error);
1872
2038
  }
1873
2039
 
1874
2040
  &--disabled {
1875
- color: var(--mer-text__disabled);
2041
+ color: var(--mer-accent__primary--disabled);
2042
+ border-color: var(-mer-border-color__primary--disabled);
1876
2043
  }
1877
2044
  }
1878
2045
 
1879
2046
  // Label
1880
- &__label {
1881
- margin-inline-start: var(--mer-label__space);
1882
-
1883
- &--disabled {
1884
- color: var(--mer-text__disabled);
1885
- }
2047
+ &__label--disabled {
2048
+ color: var(--mer-text__primary--disabled);
1886
2049
  }
1887
2050
  }
1888
2051
 
@@ -1890,12 +2053,17 @@ Window
1890
2053
  /// @param {String} $checkbox-selector [".checkbox"] -
1891
2054
  /// @param {String} $checkbox__input-selector [".checkbox::part(input)"] -
1892
2055
  /// @param {String} $checkbox__input--disabled-selector [".checkbox::part(input disabled)"] -
2056
+ /// @param {String} $checkbox__input--checked-selector [".checkbox::part(input checked)"] -
2057
+ /// @param {String} $checkbox__input--indeterminate-selector [".checkbox::part(input indeterminate)"] -
2058
+ /// @param {String} $checkbox__input--error-selector [".checkbox::part(input error)"] -
1893
2059
  /// @param {String} $checkbox__option--disabled-selector [".checkbox::part(option disabled)"] -
1894
2060
  /// @param {String} $checkbox__option--checked-selector [".checkbox::part(option checked)"] -
1895
2061
  /// @param {String} $checkbox__option--indeterminate-selector [".checkbox::part(option indeterminate)"] -
2062
+ /// @param {String} $checkbox__option--error-selector [".checkbox::part(option error)"] -
1896
2063
  /// @param {String} $checkbox__label-selector [".checkbox::part(label)"] -
1897
2064
  /// @param {String} $checkbox__label--disabled-selector [".checkbox::part(label disabled)"] -
1898
2065
  /// @param {Boolean} $add--disabled [true] -
2066
+ /// @param {Boolean} $add--error [true] -
1899
2067
  /// @param {Boolean} $add--label [true] -
1900
2068
  @mixin checkbox(
1901
2069
  $checkbox-selector: ".checkbox",
@@ -1904,6 +2072,13 @@ Window
1904
2072
 
1905
2073
  $checkbox__input--disabled-selector: ".checkbox::part(input disabled)",
1906
2074
 
2075
+ $checkbox__input--checked-selector: ".checkbox::part(input checked)",
2076
+
2077
+ $checkbox__input--indeterminate-selector:
2078
+ ".checkbox::part(input indeterminate)",
2079
+
2080
+ $checkbox__input--error-selector: ".checkbox::part(input error)",
2081
+
1907
2082
  $checkbox__option--disabled-selector: ".checkbox::part(option disabled)",
1908
2083
 
1909
2084
  $checkbox__option--checked-selector: ".checkbox::part(option checked)",
@@ -1911,20 +2086,21 @@ Window
1911
2086
  $checkbox__option--indeterminate-selector:
1912
2087
  ".checkbox::part(option indeterminate)",
1913
2088
 
2089
+ $checkbox__option--error-selector: ".checkbox::part(option error)",
2090
+
1914
2091
  $checkbox__label-selector: ".checkbox::part(label)",
1915
2092
 
1916
2093
  $checkbox__label--disabled-selector: ".checkbox::part(label disabled)",
1917
2094
 
1918
2095
  $add--disabled: true,
2096
+ $add--error: true,
1919
2097
  $add--label: true
1920
2098
  ) {
1921
2099
  #{$checkbox-selector} {
1922
2100
  @extend %checkbox;
1923
2101
  }
1924
2102
 
1925
- // - - - - - - - - - - - - - - - - - - - -
1926
- // Input
1927
- // - - - - - - - - - - - - - - - - - - - -
2103
+ // Input
1928
2104
  #{$checkbox__input-selector} {
1929
2105
  @extend %checkbox__input;
1930
2106
 
@@ -1932,10 +2108,15 @@ Window
1932
2108
  @extend %checkbox__input--focus;
1933
2109
  }
1934
2110
  }
2111
+ #{$checkbox__input--checked-selector} {
2112
+ @extend %checkbox__input--checked-and-indeterminate;
2113
+ }
1935
2114
 
1936
- // - - - - - - - - - - - - - - - - - - - -
1937
- // Option
1938
- // - - - - - - - - - - - - - - - - - - - -
2115
+ #{$checkbox__input--indeterminate-selector} {
2116
+ @extend %checkbox__input--checked-and-indeterminate;
2117
+ }
2118
+
2119
+ // Option
1939
2120
  #{$checkbox__option--checked-selector} {
1940
2121
  @extend %checkbox__option--checked;
1941
2122
  }
@@ -1944,18 +2125,15 @@ Window
1944
2125
  @extend %checkbox__option--indeterminate;
1945
2126
  }
1946
2127
 
1947
- // - - - - - - - - - - - - - - - - - - - -
1948
- // Label
1949
- // - - - - - - - - - - - - - - - - - - - -
2128
+ // Label
1950
2129
  @if $add--label {
1951
2130
  #{$checkbox__label-selector} {
1952
- @extend %checkbox__label;
2131
+ @extend %label;
2132
+ margin-inline-start: var(--label__inline-margin);
1953
2133
  }
1954
2134
  }
1955
2135
 
1956
- // - - - - - - - - - - - - - - - - - - - -
1957
- // Disabled
1958
- // - - - - - - - - - - - - - - - - - - - -
2136
+ // Disabled
1959
2137
  @if $add--disabled {
1960
2138
  // Input
1961
2139
  #{$checkbox__input--disabled-selector} {
@@ -1974,6 +2152,19 @@ Window
1974
2152
  }
1975
2153
  }
1976
2154
  }
2155
+
2156
+ // Error
2157
+ @if $add--error {
2158
+ // Input
2159
+ #{$checkbox__input--error-selector} {
2160
+ @extend %checkbox__input--error;
2161
+ }
2162
+
2163
+ // Option
2164
+ #{$checkbox__option--error-selector} {
2165
+ @extend %checkbox__option--error;
2166
+ }
2167
+ }
1977
2168
  }
1978
2169
 
1979
2170
  @mixin shortcuts-tokens() {
@@ -2029,13 +2220,25 @@ Window
2029
2220
  }
2030
2221
 
2031
2222
  @mixin tree-view-tokens() {
2032
- --ch-tree-view-item-custom-padding-inline-start: var(--mer-spacing--2xs);
2223
+ // - - - - - - - - - - - - - - - - - - - -
2224
+ // Tree View
2225
+ // - - - - - - - - - - - - - - - - - - - -
2226
+ --tree-view__font-size: var(--mer-body__font-size);
2227
+
2228
+ // - - - - - - - - - - - - - - - - - - - -
2229
+ // Item (Provided by the ch-tree)
2230
+ // - - - - - - - - - - - - - - - - - - - -
2231
+ --ch-tree-view-item-custom-padding-inline-start: var(--mer-spacing--xs);
2033
2232
  --ch-tree-view-item-gap: var(--mer-spacing--xs);
2034
2233
  --ch-tree-view-item__checkbox-size: var(--mer-spacing--md);
2035
2234
  --ch-tree-view-item__expandable-button-size: var(--mer-spacing--md);
2036
2235
  --ch-tree-view-item__image-size: var(--mer-spacing--md);
2037
2236
  --ch-tree-view-item__line--inset-inline-end: 4px;
2038
2237
 
2238
+ // - - - - - - - - - - - - - - - - - - - -
2239
+ // Item (Custom css properties)
2240
+ // - - - - - - - - - - - - - - - - - - - -
2241
+
2039
2242
  --tree-view__min-inline-size: max-content;
2040
2243
  --tree-view__padding: var(--mer-spacing--xs);
2041
2244
  --tree-view-item-custom__padding-inline-end: var(--mer-spacing--2xs);
@@ -2078,7 +2281,8 @@ Window
2078
2281
 
2079
2282
  %tree-view {
2080
2283
  @include tree-view-tokens();
2081
-
2284
+ font-size: var(--tree-view__font-size);
2285
+ line-height: var(--mer-line-height--regular);
2082
2286
  padding: var(--tree-view__padding);
2083
2287
  min-inline-size: var(--tree-view__min-inline-size);
2084
2288
  }
@@ -2215,6 +2419,10 @@ Window
2215
2419
  ".tree-view-primary::part(item__checkbox-input)",
2216
2420
  $item__checkbox-input--disabled-selector:
2217
2421
  ".tree-view-primary::part(item__checkbox-input disabled)",
2422
+ $item__checkbox-input--checked-selector:
2423
+ ".tree-view-primary::part(item__checkbox-input checked)",
2424
+ $item__checkbox-input--indeterminate-selector:
2425
+ ".tree-view-primary::part(item__checkbox-input indeterminate)",
2218
2426
  $item__checkbox-option--disabled-selector:
2219
2427
  ".tree-view-primary::part(item__checkbox-option disabled)",
2220
2428
  $item__checkbox-option--checked-selector:
@@ -2301,10 +2509,16 @@ Window
2301
2509
  @include checkbox(
2302
2510
  $checkbox-selector: #{$item__checkbox-selector},
2303
2511
 
2512
+ // input
2304
2513
  $checkbox__input-selector: #{$item__checkbox-input-selector},
2305
2514
 
2306
2515
  $checkbox__input--disabled-selector: #{$item__checkbox-input--disabled-selector},
2307
2516
 
2517
+ $checkbox__input--checked-selector: #{$item__checkbox-input--checked-selector},
2518
+
2519
+ $checkbox__input--indeterminate-selector: #{$item__checkbox-input--indeterminate-selector},
2520
+
2521
+ // option
2308
2522
  $checkbox__option--disabled-selector: #{$item__checkbox-option--disabled-selector},
2309
2523
 
2310
2524
  $checkbox__option--checked-selector: #{$item__checkbox-option--checked-selector},
@@ -2312,26 +2526,11 @@ Window
2312
2526
  $checkbox__option--indeterminate-selector: #{$item__checkbox-option--indeterminate-selector},
2313
2527
 
2314
2528
  $add--disabled: $add--disabled,
2529
+ $add--error: false,
2315
2530
  $add--label: false
2316
2531
  );
2317
2532
  }
2318
2533
 
2319
- // // folder
2320
- // &--folder::part(action)::before {
2321
- // background-image: url("../src/showcase/assets/icons/folder.svg");
2322
- // }
2323
- // &--folder::part(action expanded)::before {
2324
- // background-image: url("../src/showcase/assets/icons/folder-open.svg");
2325
- // }
2326
-
2327
- // // module
2328
- // &--module::part(action)::before {
2329
- // background-image: url("../src/showcase/assets/icons/module.svg");
2330
- // }
2331
- // &--module::part(action expanded)::before {
2332
- // background-image: url("../src/showcase/assets/icons/module-open.svg");
2333
- // }
2334
-
2335
2534
  @mixin tabular-grid-tokens() {
2336
2535
  // Generic tokens for texts
2337
2536
  --grid-base__font-size: var(--mer-body__font-size);
@@ -2905,7 +3104,7 @@ Window
2905
3104
  gap: var(--grid-base__icon-gap);
2906
3105
  }
2907
3106
  #{$tabular-grid-rowset-legend__caret} {
2908
- @extend %icon-background--before;
3107
+ @extend %icon-size--md;
2909
3108
  }
2910
3109
  #{$tabular-grid-rowset-legend__selector-label} {
2911
3110
  @extend %tabular-grid-rowset-legend__selector-label;
@@ -2915,7 +3114,7 @@ Window
2915
3114
  }
2916
3115
  #{$tabular-grid-rowset-legend__icon} {
2917
3116
  @extend %tabular-grid-rowset-legend__icon;
2918
- @extend %icon-background--before;
3117
+ @extend %icon-size--md;
2919
3118
  @extend %icon__gemini-tools_category-group--on-surface-enabled-dark;
2920
3119
  }
2921
3120
 
@@ -2928,7 +3127,7 @@ Window
2928
3127
  }
2929
3128
  // drag icon
2930
3129
  #{$tabular-grid-cell__drag-icon} {
2931
- @extend %icon-background--before;
3130
+ @extend %icon-size--md;
2932
3131
  @extend %icon__navigation_drag--on-surface-enabled-dark;
2933
3132
  margin-inline-end: var(--grid-base__icon-gap);
2934
3133
  }
@@ -2959,7 +3158,7 @@ Window
2959
3158
  // actions icon
2960
3159
  #{$tabular-grid-cell__actions-icon} {
2961
3160
  width: 100%;
2962
- @extend %icon-background--before;
3161
+ @extend %icon-size--md;
2963
3162
  @extend %icon__gemini-tools_show-more-vertical--on-surface-enabled-dark;
2964
3163
  border: none;
2965
3164
  }
@@ -3165,8 +3364,9 @@ Window
3165
3364
 
3166
3365
  // Base
3167
3366
  $base-classes: true,
3367
+ $label: true,
3168
3368
  $button-classes: true,
3169
- $form-input-text-classes: true,
3369
+ $form-controls-classes: true,
3170
3370
  $icon-classes: true,
3171
3371
 
3172
3372
  // Icons
@@ -18686,6 +18886,11 @@ gemini-tools: $gemini-tools,
18686
18886
  // Base classes
18687
18887
  // - - - - - - - - - - - - - - - - - - - -
18688
18888
  @if $base-classes {
18889
+ // Label classes
18890
+ @if $label {
18891
+ @include label();
18892
+ }
18893
+
18689
18894
  // Button classes
18690
18895
  @if $button-classes {
18691
18896
  // Button primary
@@ -18698,16 +18903,16 @@ gemini-tools: $gemini-tools,
18698
18903
  @include button-tertiary();
18699
18904
  }
18700
18905
 
18701
- // Form input text
18702
- @if $form-input-text-classes {
18703
- @include form-input-text-only();
18906
+ // Form control classes
18907
+ @if $form-controls-classes {
18908
+ @include form-input();
18704
18909
  }
18705
18910
 
18706
18911
  // Icon classes
18707
18912
  @if $icon-classes {
18708
18913
  @include icon-mask();
18709
18914
  @include icon-background();
18710
- @include form-input-text-icon();
18915
+ @include form-input-icon();
18711
18916
  @include form-input-bg-x-rtl-support();
18712
18917
  }
18713
18918
  }
@@ -18732,7 +18937,7 @@ gemini-tools: $gemini-tools,
18732
18937
  @include button-icon-after-and-text();
18733
18938
 
18734
18939
  // Form input text
18735
- @include form-input-text-icon();
18940
+ @include form-input-icon();
18736
18941
  }
18737
18942
 
18738
18943
  // - - - - - - - - - - - - - - - - - - -