@empathyco/x-design-system 0.0.2-alpha.8 → 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,201 @@
1
+ /* Base */
2
+ @utility input-group {
3
+ @apply xds:input;
4
+ @apply xds:flex xds:flex-row xds:flex-nowrap xds:content-center xds:items-center;
5
+ @apply xds:gap-8 xds:overflow-hidden xds:ps-0 xds:pe-0;
6
+
7
+ & > :first-child:not(.xds\:input-group-button-primary) {
8
+ @apply xds:ms-16;
9
+ }
10
+ & > :last-child:not(.xds\:input-group-button-primary) {
11
+ @apply xds:me-16;
12
+ }
13
+
14
+ & .xds\:input,
15
+ & input {
16
+ @apply xds:min-w-0 xds:flex-1 xds:border-0 xds:p-0;
17
+ @apply xds:bg-transparent xds:text-inherit xds:outline-none;
18
+ }
19
+ }
20
+
21
+ /* Sizes */
22
+ @utility input-group-sm {
23
+ @apply xds:input-sm;
24
+
25
+ & > .xds\:input-group-button {
26
+ @apply xds:text-xs;
27
+ }
28
+
29
+ & > .xds\:input-group-button-primary {
30
+ @apply xds:text-sm;
31
+ }
32
+
33
+ & > .xds\:input-group-button-rectangle {
34
+ @apply xds:ps-12 xds:pe-12;
35
+ }
36
+ }
37
+ @utility input-group-md {
38
+ @apply xds:input-md;
39
+
40
+ & > .xds\:input-group-button {
41
+ @apply xds:text-sm;
42
+ }
43
+
44
+ & > .xds\:input-group-button-primary {
45
+ @apply xds:text-sm;
46
+ }
47
+
48
+ & > .xds\:input-group-button-rectangle {
49
+ @apply xds:ps-16 xds:pe-16;
50
+ }
51
+ }
52
+ @utility input-group-lg {
53
+ @apply xds:input-lg;
54
+
55
+ & > .xds\:input-group-button {
56
+ @apply xds:text-sm;
57
+ }
58
+
59
+ & > .xds\:input-group-button-primary {
60
+ @apply xds:text-md;
61
+ }
62
+
63
+ & > .xds\:input-group-button-rectangle {
64
+ @apply xds:ps-20 xds:pe-20;
65
+ }
66
+ }
67
+
68
+ /* Line */
69
+ @utility input-group-line {
70
+ @apply xds:input-line;
71
+
72
+ @variant disabled {
73
+ @apply xds:bg-none;
74
+ }
75
+
76
+ & > .xds\:input-group-button {
77
+ @apply xds:h-32;
78
+ }
79
+
80
+ &.xds\:input-group-sm {
81
+ @apply xds:pb-4;
82
+
83
+ & > .xds\:input-group-button {
84
+ @apply xds:h-28;
85
+ }
86
+ }
87
+
88
+ & > .xds\:input-group-button-primary:first-child {
89
+ @apply xds:border-s;
90
+ }
91
+
92
+ & > .xds\:input-group-button-primary:first-child {
93
+ @apply xds:border-e;
94
+ }
95
+ }
96
+
97
+ /* Input Group Button */
98
+ @utility input-group-button {
99
+ @apply xds:button;
100
+ @apply xds:aspect-square xds:h-full xds:p-0;
101
+ @apply xds:text-sm xds:font-regular;
102
+ @apply xds:border-transparent xds:bg-transparent xds:text-neutral-50;
103
+
104
+ @variant hover-active-focus {
105
+ @apply xds:border-transparent xds:bg-transparent xds:text-neutral-75;
106
+ }
107
+
108
+ @variant disabled {
109
+ @apply xds:border-neutral-10 xds:bg-neutral-10 xds:text-neutral-25;
110
+ }
111
+ }
112
+
113
+ /* Input Group Primary Button */
114
+ @utility input-group-button-primary {
115
+ @apply xds:border-0 xds:border-l-1 xds:border-neutral-90 xds:bg-neutral-90 xds:text-neutral-0;
116
+
117
+ @variant hover-active-focus {
118
+ @apply xds:border-neutral-75 xds:bg-neutral-75;
119
+ }
120
+
121
+ &:first-child {
122
+ @apply xds:ms-0 xds:border-s-0;
123
+ }
124
+
125
+ &:last-child {
126
+ @apply xds:me-0 xds:border-e-0;
127
+ }
128
+ }
129
+
130
+ /* Input Group Rectangle Button */
131
+ @utility input-group-button-rectangle {
132
+ @apply xds:aspect-auto xds:ps-16 xds:pe-16;
133
+ }
134
+
135
+ /* Input Group Outlined Button */
136
+ @utility input-group-button-outlined {
137
+ @apply xds:border-neutral-90 xds:bg-neutral-0 xds:text-neutral-90;
138
+
139
+ @variant hover-active-focus {
140
+ @apply xds:border-neutral-90 xds:bg-neutral-90 xds:text-neutral-0;
141
+ }
142
+ }
143
+
144
+ /* Input Group Ghost Button */
145
+ @utility input-group-button-ghost {
146
+ @apply xds:border-transparent xds:bg-transparent xds:text-neutral-90;
147
+
148
+ @variant hover-active-focus {
149
+ @apply xds:border-neutral-10 xds:bg-neutral-10 xds:text-neutral-90;
150
+ }
151
+ }
152
+
153
+ /* Input Group Colors */
154
+ @utility input-group-* {
155
+ border-color: --value(--color-*-50);
156
+
157
+ @variant focus {
158
+ border-color: --value(--color-*-75);
159
+ }
160
+
161
+ &.xds\:input-group-line {
162
+ background-image: linear-gradient(--value(--color-*-50), --value(--color-*-50));
163
+
164
+ @variant focus {
165
+ box-shadow: 0 2px 0 -0.5px --value(--color-*-25);
166
+ }
167
+ }
168
+
169
+ & > .xds\:input-group-button-primary {
170
+ @apply xds:text-neutral-0;
171
+ background-color: --value(--color-*-50);
172
+ border-color: --value(--color-*-50);
173
+
174
+ @variant hover-active-focus {
175
+ background-color: --value(--color-*-75);
176
+ border-color: --value(--color-*-75);
177
+ }
178
+ }
179
+
180
+ & > .xds\:input-group-button-outlined {
181
+ @apply xds:border-y-0 xds:bg-neutral-0;
182
+ border-color: --value(--color-*-50);
183
+ color: --value(--color-*-50);
184
+
185
+ @variant hover-active-focus {
186
+ @apply xds:text-neutral-0;
187
+ background-color: --value(--color-*-50);
188
+ border-color: --value(--color-*-50);
189
+ }
190
+ }
191
+
192
+ & > .xds\:input-group-button-ghost {
193
+ @apply xds:border-transparent xds:bg-transparent;
194
+ color: --value(--color-*-50);
195
+
196
+ @variant hover-active-focus {
197
+ @apply xds:border-neutral-10 xds:bg-neutral-10;
198
+ color: --value(--color-*-75);
199
+ }
200
+ }
201
+ }
@@ -1,6 +1,6 @@
1
1
  /* Base */
2
2
  @utility input {
3
- @apply xds:ps-16 xds:pe-16 xds:font-regular xds:cursor-text xds:text-ellipsis;
3
+ @apply xds:cursor-text xds:ps-16 xds:pe-16 xds:font-regular xds:text-ellipsis;
4
4
  @apply xds:border-1 xds:border-neutral-90;
5
5
  @apply xds:bg-neutral-0 xds:text-neutral-90;
6
6
 
@@ -21,7 +21,7 @@
21
21
  }
22
22
 
23
23
  &::placeholder {
24
- @apply xds:text-neutral-50 xds:font-family-main xds:font-regular;
24
+ @apply xds:font-family-main xds:font-regular xds:text-neutral-50;
25
25
  }
26
26
  }
27
27
 
@@ -41,7 +41,7 @@
41
41
  /* Line */
42
42
  @utility input-line {
43
43
  @apply xds:border-0 xds:border-b-neutral-90;
44
- @apply xds:bg-bottom xds:bg-size-[100%_1px] xds:bg-no-repeat;
44
+ @apply xds:bg-size-[100%_1px] xds:bg-bottom xds:bg-no-repeat;
45
45
  background-image: linear-gradient(var(--xds-color-neutral-90), var(--xds-color-neutral-90));
46
46
 
47
47
  &:hover {
@@ -61,22 +61,22 @@
61
61
 
62
62
  /* Colors */
63
63
  @utility input-* {
64
- border-color: --value(--color- * -50);
64
+ border-color: --value(--color-*-50);
65
65
 
66
66
  &.xds\:input-line {
67
- background-image: linear-gradient(--value(--color- * -50), --value(--color- * -50));
67
+ background-image: linear-gradient(--value(--color-*-50), --value(--color-*-50));
68
68
 
69
69
  @variant focus {
70
- box-shadow: 0 2px 0 -0.5px --value(--color- * -25);
70
+ box-shadow: 0 2px 0 -0.5px --value(--color-*-25);
71
71
  }
72
72
  }
73
73
 
74
74
  &:hover {
75
- border-color: --value(--color- * -75);
75
+ border-color: --value(--color-*-75);
76
76
  }
77
77
 
78
78
  @variant focus {
79
- border-color: --value(--color- * -75);
80
- outline-color: --value(--color- * -25);
79
+ border-color: --value(--color-*-75);
80
+ outline-color: --value(--color-*-25);
81
81
  }
82
82
  }
@@ -0,0 +1,106 @@
1
+ /* Base */
2
+ @utility layout {
3
+ @media (hover: hover) and (pointer: fine) {
4
+ .xds\:scroll > .xds\:layout-item:not(.xds\:layout-no-margin-right) {
5
+ --xds-layout-scroll-width: 17px;
6
+ }
7
+ }
8
+ }
9
+
10
+ /* Container */
11
+ @utility layout-container {
12
+ @apply xds:flex xds:flex-col xds:flex-nowrap xds:items-stretch xds:justify-start;
13
+ @apply xds:h-full xds:max-h-full;
14
+
15
+ & > .xds\:scroll {
16
+ @apply xds:h-full xds:min-h-0 xds:flex-1;
17
+ }
18
+ }
19
+
20
+ /* Container Margin */
21
+ @utility layout-container-mx-* {
22
+ & > .xds\:layout-item {
23
+ --xds-margin-left: --value(--spacing-*, [length]);
24
+ --xds-margin-right: --value(--spacing-*, [length]);
25
+ }
26
+ }
27
+ @utility layout-container-ml-* {
28
+ & > .xds\:layout-item {
29
+ --xds-margin-left: --value(--spacing-*, [length]);
30
+ }
31
+ }
32
+ @utility layout-container-mr-* {
33
+ & > .xds\:layout-item {
34
+ --xds-margin-right: --value(--spacing-*, [length]);
35
+ }
36
+ }
37
+
38
+ /* Max Width */
39
+ @utility layout-max-width-* {
40
+ --xds-layout-max-width: --value(--layout-max-width-*);
41
+ }
42
+
43
+ /* Min Margin */
44
+ @utility layout-min-margin-* {
45
+ --xds-layout-min-margin: --value(--spacing-*);
46
+ }
47
+
48
+ /* Item */
49
+ @utility layout-item {
50
+ --xds-max-width-margin: calc((100vw - var(--xds-layout-max-width, 100vw)) / 2);
51
+ --xds-margin: max(var(--xds-layout-min-margin, 0px), var(--xds-max-width-margin));
52
+ --xds-margin-left: var(--xds-margin);
53
+ --xds-margin-right: var(--xds-margin);
54
+
55
+ @apply xds:grid xds:items-stretch xds:justify-items-stretch;
56
+ grid-template-columns:
57
+ var(--xds-margin-left) 1fr
58
+ calc(var(--xds-margin-right) - var(--xds-layout-scroll-width, 0px));
59
+
60
+ & > * {
61
+ @apply xds:col-[2/-2] xds:min-w-0;
62
+ }
63
+
64
+ &:not(.xds\:layout-overlap):not(.xds\:layout-overlap-from-top) > * {
65
+ @apply xds:min-w-0;
66
+ }
67
+ }
68
+
69
+ /* Utilities */
70
+ /* No Margin utility */
71
+ @utility layout-no-margin-left {
72
+ --xds-margin-left: 0px;
73
+ }
74
+ @utility layout-no-margin-right {
75
+ --xds-margin-right: 0px;
76
+ }
77
+ @utility layout-no-margin {
78
+ @apply xds:layout-no-margin-left xds:layout-no-margin-right;
79
+ }
80
+ /* On Margin utility */
81
+ @utility layout-on-margin-left {
82
+ @apply xds:col-[1/2];
83
+ }
84
+ @utility layout-on-margin-right {
85
+ @apply xds:col-[-2/-1];
86
+ }
87
+ /* Overlap utility */
88
+ @utility layout-overlap {
89
+ @apply xds:z-1 xds:h-0 xds:content-end xds:overflow-visible;
90
+ }
91
+ @utility layout-overlap-from-top {
92
+ @apply xds:layout-overlap;
93
+ @apply xds:content-start;
94
+ }
95
+ /* Expand utility */
96
+ @utility layout-expand {
97
+ @apply xds:h-full xds:min-h-0 xds:flex-1;
98
+ }
99
+ /* Stack utility */
100
+ @utility layout-stack {
101
+ @apply xds:grid xds:grid-cols-[1fr] xds:grid-rows-[1fr] xds:items-stretch xds:justify-items-stretch;
102
+
103
+ & > * {
104
+ @apply xds:col-span-full xds:row-span-full xds:max-h-full xds:min-h-0 xds:max-w-full xds:min-w-0;
105
+ }
106
+ }
@@ -0,0 +1,31 @@
1
+ /* Base */
2
+ @utility picture {
3
+ @apply xds:block xds:aspect-ratio-default xds:overflow-hidden;
4
+ }
5
+
6
+ /* Image */
7
+ @utility picture-image {
8
+ @apply xds:aspect-ratio-default xds:h-full xds:w-full xds:object-contain;
9
+ }
10
+
11
+ /* Zoom */
12
+ @utility picture-zoom {
13
+ & > .xds\:picture-image {
14
+ @apply xds:transition-transform xds:duration-300 xds:ease-out;
15
+
16
+ &:hover {
17
+ @apply xds:scale-110;
18
+ }
19
+ }
20
+ }
21
+
22
+ /* Overlay */
23
+ @utility picture-overlay {
24
+ &:hover {
25
+ @apply xds:mix-blend-multiply;
26
+ }
27
+
28
+ & > .xds\:picture-image:hover {
29
+ mask-image: linear-gradient(to top, transparent 20%, var(--xds-color-neutral-100));
30
+ }
31
+ }
@@ -0,0 +1,30 @@
1
+ /* Base */
2
+ @utility progress-bar {
3
+ @apply xds:rounded-sm;
4
+ @apply xds:inline-block;
5
+ @apply xds:bg-neutral-25;
6
+ @apply xds:overflow-hidden;
7
+
8
+ /* `@apply xds:progress-bar-md;` can not be use here because cause circular dependency. */
9
+ @apply xds:h-4;
10
+
11
+ & > .xds\:progress-bar-fill {
12
+ @apply xds:h-full;
13
+ @apply xds:bg-neutral-50;
14
+ }
15
+ }
16
+
17
+ /* Sizes */
18
+ @utility progress-bar-md {
19
+ @apply xds:h-4;
20
+ }
21
+ @utility progress-bar-lg {
22
+ @apply xds:h-8;
23
+ }
24
+
25
+ /* Colors */
26
+ @utility progress-bar-* {
27
+ & > .xds\:progress-bar-fill {
28
+ background-color: --value(--color-*-50);
29
+ }
30
+ }
@@ -0,0 +1,28 @@
1
+ /* Base */
2
+ @utility scroll {
3
+ @apply xds:min-h-0 xds:overflow-y-scroll;
4
+
5
+ @media (hover: hover) and (pointer: fine) {
6
+ &:hover {
7
+ --xds-color-thumb-scroll-bar: var(--xds-color-thumb-scroll-bar-hover);
8
+ }
9
+
10
+ /* Firefox */
11
+ scrollbar-width: auto;
12
+ scrollbar-color: var(--xds-color-thumb-scroll-bar) var(--xds-color-background-scroll-bar);
13
+
14
+ /* WebKit */
15
+ &::-webkit-scrollbar {
16
+ @apply xds:w-4.25;
17
+ }
18
+
19
+ &::-webkit-scrollbar-thumb {
20
+ @apply xds:bg-thumb-scroll-bar xds:bg-clip-content;
21
+ @apply xds:rounded-3xl xds:border-4 xds:border-transparent;
22
+ }
23
+
24
+ &::-webkit-scrollbar-track {
25
+ @apply xds:bg-background-scroll-bar;
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,140 @@
1
+ /* Base */
2
+ @utility sliding-panel {
3
+ @apply xds:relative xds:flex xds:flex-row xds:flex-nowrap xds:items-center;
4
+ }
5
+
6
+ /* Fade */
7
+ @utility sliding-panel-fade {
8
+ --xds-sliding-panel-fade-spacing: var(--xds-spacing-80);
9
+ mask: linear-gradient(
10
+ to right,
11
+ transparent calc(0.43 * var(--xds-sliding-panel-fade-spacing)),
12
+ rgba(0, 0, 0, 0.8) calc(0.67 * var(--xds-sliding-panel-fade-spacing)),
13
+ black var(--xds-sliding-panel-fade-spacing),
14
+ rgba(0, 0, 0, 0.8) calc(100% - 0.67 * var(--xds-sliding-panel-fade-spacing)),
15
+ transparent calc(100% - 0.43 * var(--xds-sliding-panel-fade-spacing))
16
+ );
17
+ }
18
+
19
+ /* Fade Sizes */
20
+ @utility sliding-panel-fade-sm {
21
+ @apply xds:sliding-panel-fade;
22
+ --xds-sliding-panel-fade-spacing: var(--xds-spacing-40);
23
+ }
24
+ @utility sliding-panel-fade-md {
25
+ @apply xds:sliding-panel-fade;
26
+ --xds-sliding-panel-fade-spacing: var(--xds-spacing-80);
27
+ }
28
+ @utility sliding-panel-fade-lg {
29
+ @apply xds:sliding-panel-fade;
30
+ --xds-sliding-panel-fade-spacing: var(--xds-spacing-160);
31
+ }
32
+
33
+ /* Buttons */
34
+ @utility sliding-panel-button {
35
+ @apply xds:button;
36
+ @apply xds:absolute xds:z-1;
37
+ @apply xds:translate-x-0 xds:transition-all xds:duration-200 xds:ease-out;
38
+ }
39
+
40
+ @utility sliding-panel-button-left {
41
+ @apply xds:left-0;
42
+ }
43
+
44
+ @utility sliding-panel-button-right {
45
+ @apply xds:right-0;
46
+ }
47
+
48
+ /* Buttons on hover */
49
+ @utility sliding-panel-show-buttons-on-hover {
50
+ & > .xds\:sliding-panel-button-left {
51
+ @apply xds:opacity-0;
52
+ }
53
+
54
+ & > .xds\:sliding-panel-button-right {
55
+ @apply xds:opacity-0;
56
+ }
57
+
58
+ &:hover {
59
+ &:not(.xds\:sliding-panel-at-start) > .xds\:sliding-panel-button-left,
60
+ &:not(.xds\:sliding-panel-at-end) > .xds\:sliding-panel-button-right {
61
+ @apply xds:pointer-events-auto xds:opacity-100;
62
+ }
63
+ }
64
+ }
65
+
66
+ /* Button positions */
67
+ @utility sliding-panel-buttons-center {
68
+ & > .xds\:sliding-panel-button-left {
69
+ @apply xds:-translate-x-1/2;
70
+ }
71
+
72
+ & > .xds\:sliding-panel-button-right {
73
+ @apply xds:translate-x-1/2;
74
+ }
75
+ }
76
+
77
+ @utility sliding-panel-buttons-outside {
78
+ & > .xds\:sliding-panel-button-left {
79
+ @apply xds:-translate-x-full;
80
+ }
81
+
82
+ & > .xds\:sliding-panel-button-right {
83
+ @apply xds:translate-x-full;
84
+ }
85
+ }
86
+
87
+ /* Fade positions */
88
+ @utility sliding-panel-fade-position {
89
+ --xds-sliding-panel-fade-spacing: var(--xds-spacing-80);
90
+ --xds-sliding-panel-fade-direction: to left;
91
+ mask: linear-gradient(
92
+ var(--xds-sliding-panel-fade-direction),
93
+ transparent calc(0.43 * var(--xds-sliding-panel-fade-spacing)),
94
+ rgba(0, 0, 0, 0.8) calc(0.67 * var(--xds-sliding-panel-fade-spacing)),
95
+ black var(--xds-sliding-panel-fade-spacing)
96
+ );
97
+ }
98
+ @utility sliding-panel-at-start {
99
+ & > .xds\:sliding-panel-button-left {
100
+ @apply xds:pointer-events-none xds:opacity-0;
101
+ }
102
+
103
+ & > .xds\:sliding-panel-fade-sm {
104
+ @apply xds:sliding-panel-fade-position;
105
+ --xds-spacing-sliding-fade: var(--xds-spacing-40);
106
+ }
107
+ & > .xds\:sliding-panel-fade,
108
+ & > .xds\:sliding-panel-fade-md {
109
+ @apply xds:sliding-panel-fade-position;
110
+ }
111
+ & > .xds\:sliding-panel-fade-lg {
112
+ @apply xds:sliding-panel-fade-position;
113
+ --xds-spacing-sliding-fade: var(--xds-spacing-160);
114
+ }
115
+
116
+ &.xds\:sliding-panel-at-end > .xds\:sliding-panel-fade {
117
+ mask: none;
118
+ }
119
+ }
120
+ @utility sliding-panel-at-end {
121
+ & > .xds\:sliding-panel-button-right {
122
+ @apply xds:pointer-events-none xds:opacity-0;
123
+ }
124
+
125
+ & > .xds\:sliding-panel-fade-sm {
126
+ @apply xds:sliding-panel-fade-position;
127
+ --xds-spacing-sliding-fade: var(--xds-spacing-40);
128
+ --xds-sliding-panel-fade-direction: to right;
129
+ }
130
+ & > .xds\:sliding-panel-fade,
131
+ & > .xds\:sliding-panel-fade-md {
132
+ @apply xds:sliding-panel-fade-position;
133
+ --xds-sliding-panel-fade-direction: to right;
134
+ }
135
+ & > .xds\:sliding-panel-fade-lg {
136
+ @apply xds:sliding-panel-fade-position;
137
+ --xds-spacing-sliding-fade: var(--xds-spacing-160);
138
+ --xds-sliding-panel-fade-direction: to right;
139
+ }
140
+ }
@@ -0,0 +1,121 @@
1
+ /* Base */
2
+ @utility suggestion-group {
3
+ @apply xds:font-family-main xds:font-regular xds:text-neutral-90;
4
+ @apply xds:grid xds:auto-cols-[1fr] xds:grid-flow-col xds:grid-cols-[auto_[last-col]];
5
+ @apply xds:content-center xds:items-center xds:justify-start;
6
+ @apply xds:box-border xds:cursor-pointer xds:overflow-hidden;
7
+ @apply xds:gap-16 xds:ps-0 xds:pe-0;
8
+
9
+ /* `@apply xds:suggestion-group-md;` can not be use here because cause circular dependency. */
10
+ @apply xds:min-h-32 xds:text-sm;
11
+
12
+ &:hover {
13
+ @apply xds:underline;
14
+ }
15
+
16
+ & .xds\:icon {
17
+ @apply xds:icon-offset;
18
+ }
19
+
20
+ & > .xds\:suggestion {
21
+ @apply xds:min-h-[inherit] xds:text-inherit;
22
+ font-size: inherit;
23
+ font-weight: inherit;
24
+ text-decoration: inherit;
25
+ }
26
+ }
27
+
28
+ /* Sizes */
29
+ @utility suggestion-group-sm {
30
+ @apply xds:min-h-24 xds:text-sm;
31
+ }
32
+ @utility suggestion-group-md {
33
+ @apply xds:min-h-32 xds:text-sm;
34
+ }
35
+ @utility suggestion-group-lg {
36
+ @apply xds:min-h-48 xds:gap-24 xds:text-md;
37
+ }
38
+
39
+ /* Outlined */
40
+ @utility suggestion-group-outlined {
41
+ @apply xds:border-1 xds:border-neutral-90 xds:bg-neutral-0;
42
+ @apply xds:gap-4!;
43
+
44
+ &:hover,
45
+ &:hover * {
46
+ @apply xds:bg-neutral-10 xds:no-underline!;
47
+ }
48
+
49
+ & > *:first-child:not(.xds\:suggestion-group-button) {
50
+ @apply xds:ms-8;
51
+ }
52
+
53
+ & > *:last-child:not(.xds\:suggestion-group-button) {
54
+ @apply xds:me-8;
55
+ }
56
+
57
+ &.xds\:suggestion-group-lg > *:first-child:not(.xds\:suggestion-group-button) {
58
+ @apply xds:ms-12;
59
+ }
60
+
61
+ &.xds\:suggestion-group-lg > *:last-child:not(.xds\:suggestion-group-button) {
62
+ @apply xds:me-12;
63
+ }
64
+ }
65
+
66
+ /* Ghost */
67
+ @utility suggestion-group-ghost {
68
+ @apply xds:suggestion-group-outlined;
69
+ @apply xds:border-0 xds:bg-transparent;
70
+ }
71
+
72
+ /* Colors */
73
+ @utility suggestion-group-* {
74
+ color: --value(--color-*-75);
75
+
76
+ &.xds\:suggestion-group-outlined {
77
+ border-color: --value(--color-*-75);
78
+ }
79
+ }
80
+
81
+ /* Button */
82
+ @utility suggestion-group-button {
83
+ @apply xds:grid xds:grid-flow-col xds:content-center xds:items-baseline xds:justify-center;
84
+ @apply xds:box-border xds:cursor-pointer;
85
+ @apply xds:aspect-square xds:max-h-full xds:min-h-[inherit] xds:bg-transparent xds:text-current;
86
+ @apply xds:before:invisible xds:before:w-0 xds:before:content-['|'];
87
+
88
+ &:hover {
89
+ @apply xds:scale-[1.2];
90
+ }
91
+
92
+ &:last-child {
93
+ @apply xds:justify-self-end;
94
+ }
95
+ }
96
+
97
+ /* Button Ghost */
98
+ @utility suggestion-group-button-ghost {
99
+ &:hover {
100
+ @apply xds:scale-none xds:bg-neutral-25;
101
+ }
102
+ }
103
+
104
+ /* Button Rectangle */
105
+ @utility suggestion-group-button-rectangle {
106
+ @apply xds:aspect-auto xds:ps-8 xds:pe-8;
107
+ }
108
+
109
+ /* Button Lighter */
110
+ @utility suggestion-group-button-lighter {
111
+ &:hover {
112
+ @apply xds:scale-none;
113
+ }
114
+ }
115
+
116
+ /* Button Colors */
117
+ @utility suggestion-group-button-* {
118
+ &.xds\:suggestion-group-button-lighter:hover {
119
+ color: --value(--color-*-50);
120
+ }
121
+ }