@faststore/ui 3.17.0 → 3.20.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/ui",
3
- "version": "3.17.0",
3
+ "version": "3.20.0",
4
4
  "description": "A lightweight, framework agnostic component library for React",
5
5
  "author": "emersonlaurentino",
6
6
  "license": "MIT",
@@ -47,7 +47,7 @@
47
47
  }
48
48
  ],
49
49
  "dependencies": {
50
- "@faststore/components": "^3.17.0",
50
+ "@faststore/components": "^3.20.0",
51
51
  "include-media": "^1.4.10",
52
52
  "modern-normalize": "^1.1.0",
53
53
  "react-swipeable": "^7.0.0",
@@ -69,5 +69,5 @@
69
69
  "volta": {
70
70
  "extends": "../../package.json"
71
71
  },
72
- "gitHead": "a1bc035a34a109fde154afb16797c1f9e180ed21"
72
+ "gitHead": "f7dd89e672e1ad4bb9a425a5d94463513781741c"
73
73
  }
@@ -42,6 +42,12 @@
42
42
  // Body
43
43
  --fs-modal-body-padding : var(--fs-spacing-1) var(--fs-spacing-4) var(--fs-spacing-5);
44
44
 
45
+ // Footer
46
+ --fs-modal-footer-padding : var(--fs-spacing-3) 0 var(--fs-spacing-3);
47
+ --fs-modal-footer-box-shadow : 0 -1px 15px 0 rgb(0 0 0 / 10.2%);
48
+ --fs-modal-footer-actions-padding : var(--fs-spacing-1) var(--fs-spacing-4);
49
+ --fs-modal-footer-actions-gap : var(--fs-spacing-3);
50
+
45
51
  position: fixed;
46
52
  top: var(--fs-modal-position-top);
47
53
  right: var(--fs-modal-position-right);
@@ -94,4 +100,31 @@
94
100
  [data-fs-modal-body] {
95
101
  padding: var(--fs-modal-body-padding);
96
102
  }
103
+
104
+ [data-fs-modal-footer] {
105
+ padding: var(--fs-modal-footer-padding);
106
+ box-shadow: var(--fs-modal-footer-box-shadow);
107
+
108
+ [data-fs-modal-footer-actions] {
109
+ display: flex;
110
+ gap: var(--fs-modal-footer-actions-gap);
111
+ align-items: center;
112
+ justify-content: flex-end;
113
+ padding: var(--fs-modal-footer-actions-padding);
114
+
115
+ > * {
116
+ flex-shrink: 0;
117
+ }
118
+
119
+ &[data-fs-modal-footer-actions-direction="vertical"] {
120
+ flex-direction: column;
121
+ align-items: flex-end;
122
+ justify-content: center;
123
+ }
124
+
125
+ &[data-fs-modal-footer-actions-wrap="true"] {
126
+ flex-wrap: wrap;
127
+ }
128
+ }
129
+ }
97
130
  }
@@ -0,0 +1,242 @@
1
+ [data-fs-tooltip] {
2
+ // --------------------------------------------------------
3
+ // Design Tokens for Tooltip
4
+ // --------------------------------------------------------
5
+
6
+ // Default properties
7
+ --fs-button-height : var(--fs-control-tap-size);
8
+ --fs-tooltip-z-index : var(--fs-z-index-high);
9
+ --fs-tooltip-background : var(--fs-color-neutral-6);
10
+ --fs-tooltip-text-color : var(--fs-color-text-inverse);
11
+ --fs-tooltip-border-radius : var(--fs-border-radius);
12
+ --fs-tooltip-padding : var(--fs-spacing-2);
13
+ --fs-tooltip-gap : var(--fs-spacing-1);
14
+
15
+ --fs-tooltip-transition-property : opacity;
16
+ --fs-tooltip-transition-timing : var(--fs-transition-timing);
17
+ --fs-tooltip-transition-function : var(--fs-transition-function);
18
+
19
+ // Indicator
20
+ --fs-tooltip-indicator-size : var(--fs-spacing-1);
21
+ --fs-tooltip-indicator-distance-edge : var(--fs-spacing-3);
22
+ --fs-tooltip-indicator-distance-base : var(--fs-spacing-1);
23
+ --fs-tooltip-indicator-translate : calc(var(--fs-tooltip-indicator-size) + var(--fs-tooltip-indicator-distance-base));
24
+
25
+ // --------------------------------------------------------
26
+ // Structural Styles
27
+ // --------------------------------------------------------
28
+
29
+ position: relative;
30
+ display: inline-flex;
31
+ width: fit-content;
32
+
33
+ [data-fs-tooltip-wrapper] {
34
+ position: absolute;
35
+ z-index: var(--fs-tooltip-z-index);
36
+ display: flex;
37
+ gap: var(--fs-tooltip-gap);
38
+ align-items: flex-start;
39
+ padding: var(--fs-tooltip-padding);
40
+ color: var(--fs-tooltip-text-color);
41
+ background-color: var(--fs-tooltip-background);
42
+ border-radius: var(--fs-tooltip-border-radius);
43
+ opacity: 1;
44
+ transition:
45
+ var(--fs-tooltip-transition-property)
46
+ var(--fs-tooltip-transition-timing) var(--fs-tooltip-transition-function);
47
+ }
48
+
49
+ [data-fs-tooltip-content] {
50
+ width: max-content;
51
+ font-size: var(--fs-text-size-0);
52
+ font-weight: var(--fs-text-weight-medium);
53
+ line-height: 16px;
54
+ }
55
+
56
+ [data-fs-tooltip-dismiss-button] {
57
+ flex-shrink: 0;
58
+ width: var(--fs-control-tap-size-smallest);
59
+ height: var(--fs-control-tap-size-smallest);
60
+ min-height: var(--fs-control-tap-size-smallest);
61
+ padding: 0;
62
+ }
63
+
64
+ [data-fs-tooltip-indicator] {
65
+ position: absolute;
66
+ width: 0;
67
+ height: 0;
68
+ border: var(--fs-tooltip-indicator-size) solid transparent;
69
+ }
70
+
71
+ // --------------------------------------------------------
72
+ // Variants Styles
73
+ // --------------------------------------------------------
74
+
75
+ /* TOP */
76
+ [data-fs-tooltip-placement^="top-center"] {
77
+ bottom: 100%;
78
+ transform: translateY(calc(-1 * var(--fs-tooltip-indicator-translate)));
79
+ }
80
+
81
+ [data-fs-tooltip-placement^="top-center"] [data-fs-tooltip-indicator] {
82
+ top: 100%;
83
+ border-top-color: var(--fs-tooltip-background);
84
+ }
85
+
86
+ /* TOP-CENTER */
87
+ [data-fs-tooltip-placement="top-center"] {
88
+ left: 50%;
89
+ transform:
90
+ translateX(-50%)
91
+ translateY(calc(-1 * var(--fs-tooltip-indicator-translate)));
92
+ }
93
+
94
+ [data-fs-tooltip-placement="top-center"] [data-fs-tooltip-indicator] {
95
+ left: 50%;
96
+ transform: translateX(-50%);
97
+ }
98
+
99
+ /* TOP-START */
100
+ [data-fs-tooltip-placement="top-start"] {
101
+ left: 0;
102
+ }
103
+
104
+ [data-fs-tooltip-placement="top-start"] [data-fs-tooltip-indicator] {
105
+ left: var(--fs-spacing-3);
106
+ }
107
+
108
+ /* TOP-END */
109
+ [data-fs-tooltip-placement="top-end"] {
110
+ right: 0;
111
+ }
112
+
113
+ [data-fs-tooltip-placement="top-end"] [data-fs-tooltip-indicator] {
114
+ right: var(--fs-spacing-3);
115
+ }
116
+
117
+ /* RIGHT */
118
+ [data-fs-tooltip-placement^="right-center"] {
119
+ left: 100%;
120
+ transform: translateX(var(--fs-tooltip-indicator-translate));
121
+ }
122
+
123
+ [data-fs-tooltip-placement^="right-center"] [data-fs-tooltip-indicator] {
124
+ right: 100%;
125
+ border-right-color: var(--fs-tooltip-background);
126
+ }
127
+
128
+ /* RIGHT-CENTER */
129
+ [data-fs-tooltip-placement="right-center"] {
130
+ top: 50%;
131
+ transform:
132
+ translateY(-50%)
133
+ translateX(var(--fs-tooltip-indicator-translate));
134
+ }
135
+
136
+ [data-fs-tooltip-placement="right-center"] [data-fs-tooltip-indicator] {
137
+ top: 50%;
138
+ transform: translateY(-50%);
139
+ }
140
+
141
+ /* RIGHT-START */
142
+ [data-fs-tooltip-placement="right-start"] {
143
+ top: 0;
144
+ }
145
+
146
+ [data-fs-tooltip-placement="right-start"] [data-fs-tooltip-indicator] {
147
+ top: var(--fs-spacing-3);
148
+ }
149
+
150
+ /* RIGHT-END */
151
+ [data-fs-tooltip-placement="right-end"] {
152
+ bottom: 0;
153
+ }
154
+
155
+ [data-fs-tooltip-placement="right-end"] [data-fs-tooltip-indicator] {
156
+ bottom: var(--fs-spacing-3);
157
+ }
158
+
159
+ /* BOTTOM */
160
+ [data-fs-tooltip-placement^="bottom-center"] {
161
+ top: 100%;
162
+ transform: translateY(var(--fs-tooltip-indicator-translate));
163
+ }
164
+
165
+ [data-fs-tooltip-placement^="bottom-center"] [data-fs-tooltip-indicator] {
166
+ bottom: 100%;
167
+ border-bottom-color: var(--fs-tooltip-background);
168
+ }
169
+
170
+ /* BOTTOM-CENTER */
171
+ [data-fs-tooltip-placement="bottom-center"] {
172
+ left: 50%;
173
+ transform:
174
+ translateX(-50%)
175
+ translateY(var(--fs-tooltip-indicator-translate));
176
+ }
177
+
178
+ [data-fs-tooltip-placement="bottom-center"] [data-fs-tooltip-indicator] {
179
+ left: 50%;
180
+ transform: translateX(-50%);
181
+ }
182
+
183
+ /* BOTTOM-START */
184
+ [data-fs-tooltip-placement="bottom-start"] {
185
+ left: 0;
186
+ }
187
+
188
+ [data-fs-tooltip-placement="bottom-start"] [data-fs-tooltip-indicator] {
189
+ left: var(--fs-spacing-3);
190
+ }
191
+
192
+ /* BOTTOM-END */
193
+ [data-fs-tooltip-placement="bottom-end"] {
194
+ right: 0;
195
+ }
196
+
197
+ [data-fs-tooltip-placement="bottom-end"] [data-fs-tooltip-indicator] {
198
+ right: var(--fs-spacing-3);
199
+ }
200
+
201
+ /* LEFT */
202
+ [data-fs-tooltip-placement^="left-center"] {
203
+ right: 100%;
204
+ transform: translateX(calc(-1 * var(--fs-tooltip-indicator-translate)));
205
+ }
206
+
207
+ [data-fs-tooltip-placement^="left-center"] [data-fs-tooltip-indicator] {
208
+ left: 100%;
209
+ border-left-color: var(--fs-tooltip-background);
210
+ }
211
+
212
+ /* LEFT-CENTER */
213
+ [data-fs-tooltip-placement="left-center"] {
214
+ top: 50%;
215
+ transform:
216
+ translateY(-50%)
217
+ translateX(calc(-1 * var(--fs-tooltip-indicator-translate)));
218
+ }
219
+
220
+ [data-fs-tooltip-placement="left-center"] [data-fs-tooltip-indicator] {
221
+ top: 50%;
222
+ transform: translateY(-50%);
223
+ }
224
+
225
+ /* LEFT-START */
226
+ [data-fs-tooltip-placement="left-start"] {
227
+ top: 0;
228
+ }
229
+
230
+ [data-fs-tooltip-placement="left-start"] [data-fs-tooltip-indicator] {
231
+ top: var(--fs-spacing-3);
232
+ }
233
+
234
+ /* LEFT-END */
235
+ [data-fs-tooltip-placement="left-end"] {
236
+ bottom: 0;
237
+ }
238
+
239
+ [data-fs-tooltip-placement="left-end"] [data-fs-tooltip-indicator] {
240
+ bottom: var(--fs-spacing-3);
241
+ }
242
+ }
@@ -57,6 +57,7 @@
57
57
  @import "../components/molecules/Toast/styles";
58
58
  @import "../components/molecules/Toggle/styles";
59
59
  @import "../components/molecules/ToggleField/styles";
60
+ @import "../components/molecules/Tooltip/styles";
60
61
 
61
62
  // Organisms
62
63
  @import "../components/organisms/BannerText/styles";