tide-design-system 2.2.6 → 2.2.8
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/css/utilities-lg.css +9 -5
- package/dist/css/utilities-md.css +9 -6
- package/dist/css/utilities-sm.css +9 -5
- package/dist/css/utilities-xl.css +10 -6
- package/dist/css/utilities.css +9 -5
- package/dist/style.css +1 -1
- package/dist/tide-design-system.cjs +2 -2
- package/dist/tide-design-system.esm.d.ts +7 -2
- package/dist/tide-design-system.esm.js +1073 -1040
- package/package.json +1 -1
- package/src/assets/css/utilities-lg.css +9 -5
- package/src/assets/css/utilities-md.css +9 -6
- package/src/assets/css/utilities-sm.css +9 -5
- package/src/assets/css/utilities-xl.css +10 -6
- package/src/assets/css/utilities.css +9 -5
- package/src/components/TideCarousel.vue +69 -14
- package/src/docs/development.md +6 -1
- package/src/docs/integration-full.md +5 -1
- package/src/docs/integration-partial.md +5 -1
- package/src/docs/migration.md +9 -0
- package/src/stories/DemoCssUtilities.stories.ts +2 -2
- package/src/stories/{FoundationsGap.stories.ts → FoundationsFlexbox.stories.ts} +6 -6
- package/src/stories/TideCarousel.stories.ts +44 -13
- package/src/types/Styles.ts +3 -0
package/package.json
CHANGED
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
.lg-tide-axis1-between {justify-content: space-between;}
|
|
42
42
|
.lg-tide-axis1-center {justify-content: center;}
|
|
43
43
|
.lg-tide-axis1-end {justify-content: end;}
|
|
44
|
+
.lg-tide-axis1-start {justify-content: start;}
|
|
44
45
|
|
|
45
46
|
.lg-tide-axis2-around {align-items: space-around;}
|
|
46
47
|
.lg-tide-axis2-center {align-items: center;}
|
|
@@ -69,6 +70,7 @@
|
|
|
69
70
|
.lg-tide-margin-1 {margin: var(--tide-spacing-1);}
|
|
70
71
|
.lg-tide-margin-2 {margin: var(--tide-spacing-2);}
|
|
71
72
|
.lg-tide-margin-4 {margin: var(--tide-spacing-4);}
|
|
73
|
+
.lg-tide-margin-auto {margin: auto;}
|
|
72
74
|
|
|
73
75
|
.lg-tide-margin-x-0 {margin-left: 0; margin-right: 0;}
|
|
74
76
|
.lg-tide-margin-x-1\/4 {margin-left: var(--tide-spacing-1\/4); margin-right: var(--tide-spacing-1\/4);}
|
|
@@ -84,7 +86,7 @@
|
|
|
84
86
|
.lg-tide-margin-y-1 {margin-top: var(--tide-spacing-1); margin-bottom: var(--tide-spacing-1);}
|
|
85
87
|
.lg-tide-margin-y-2 {margin-top: var(--tide-spacing-2); margin-bottom: var(--tide-spacing-2);}
|
|
86
88
|
.lg-tide-margin-y-4 {margin-top: var(--tide-spacing-4); margin-bottom: var(--tide-spacing-4);}
|
|
87
|
-
.lg-tide-margin-y-auto {margin-top:
|
|
89
|
+
.lg-tide-margin-y-auto {margin-top: auto; margin-bottom: auto;}
|
|
88
90
|
|
|
89
91
|
.lg-tide-margin-top-0 {margin-top: 0;}
|
|
90
92
|
.lg-tide-margin-top-1\/4 {margin-top: var(--tide-spacing-1\/4);}
|
|
@@ -92,7 +94,7 @@
|
|
|
92
94
|
.lg-tide-margin-top-1 {margin-top: var(--tide-spacing-1);}
|
|
93
95
|
.lg-tide-margin-top-2 {margin-top: var(--tide-spacing-2);}
|
|
94
96
|
.lg-tide-margin-top-4 {margin-top: var(--tide-spacing-4);}
|
|
95
|
-
.lg-tide-margin-top-auto {margin-top:
|
|
97
|
+
.lg-tide-margin-top-auto {margin-top: auto;}
|
|
96
98
|
|
|
97
99
|
.lg-tide-margin-right-0 {margin-right: 0;}
|
|
98
100
|
.lg-tide-margin-right-1\/4 {margin-right: var(--tide-spacing-1\/4);}
|
|
@@ -108,7 +110,7 @@
|
|
|
108
110
|
.lg-tide-margin-bottom-1 {margin-bottom: var(--tide-spacing-1);}
|
|
109
111
|
.lg-tide-margin-bottom-2 {margin-bottom: var(--tide-spacing-2);}
|
|
110
112
|
.lg-tide-margin-bottom-4 {margin-bottom: var(--tide-spacing-4);}
|
|
111
|
-
.lg-tide-margin-bottom-auto {margin-bottom:
|
|
113
|
+
.lg-tide-margin-bottom-auto {margin-bottom: auto;}
|
|
112
114
|
|
|
113
115
|
.lg-tide-margin-left-0 {margin-left: 0;}
|
|
114
116
|
.lg-tide-margin-left-1\/4 {margin-left: var(--tide-spacing-1\/4);}
|
|
@@ -222,8 +224,6 @@
|
|
|
222
224
|
.lg-tide-max-height-full {max-height: 100%;}
|
|
223
225
|
.lg-tide-min-height-0 {min-height: 0;}
|
|
224
226
|
|
|
225
|
-
.lg-tide-width-container {max-width: 1168px;}
|
|
226
|
-
|
|
227
227
|
.lg-tide-width-auto {width: auto;}
|
|
228
228
|
.lg-tide-width-0 {width: 0;}
|
|
229
229
|
.lg-tide-width-full {width: 100%;}
|
|
@@ -232,6 +232,9 @@
|
|
|
232
232
|
.lg-tide-height-0 {height: 0;}
|
|
233
233
|
.lg-tide-height-full {height: 100%;}
|
|
234
234
|
|
|
235
|
+
/* Deprecated */
|
|
236
|
+
.lg-tide-width-container {max-width: 1168px;}
|
|
237
|
+
|
|
235
238
|
/* Background */
|
|
236
239
|
.lg-tide-bg-initial {background-color: initial;}
|
|
237
240
|
|
|
@@ -320,6 +323,7 @@
|
|
|
320
323
|
|
|
321
324
|
.lg-tide-isolate {isolation: isolate;}
|
|
322
325
|
|
|
326
|
+
/* Deprecated */
|
|
323
327
|
.lg-tide-leading-default {line-height: 1.4;}
|
|
324
328
|
.lg-tide-leading-normal {line-height: normal;}
|
|
325
329
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* Medium breakpoint */
|
|
2
1
|
@media (min-width: 992px) {
|
|
3
2
|
/* Reusable CSS Utility Library */
|
|
4
3
|
/* Position */
|
|
@@ -42,6 +41,7 @@
|
|
|
42
41
|
.md-tide-axis1-between {justify-content: space-between;}
|
|
43
42
|
.md-tide-axis1-center {justify-content: center;}
|
|
44
43
|
.md-tide-axis1-end {justify-content: end;}
|
|
44
|
+
.md-tide-axis1-start {justify-content: start;}
|
|
45
45
|
|
|
46
46
|
.md-tide-axis2-around {align-items: space-around;}
|
|
47
47
|
.md-tide-axis2-center {align-items: center;}
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
.md-tide-margin-1 {margin: var(--tide-spacing-1);}
|
|
71
71
|
.md-tide-margin-2 {margin: var(--tide-spacing-2);}
|
|
72
72
|
.md-tide-margin-4 {margin: var(--tide-spacing-4);}
|
|
73
|
+
.md-tide-margin-auto {margin: auto;}
|
|
73
74
|
|
|
74
75
|
.md-tide-margin-x-0 {margin-left: 0; margin-right: 0;}
|
|
75
76
|
.md-tide-margin-x-1\/4 {margin-left: var(--tide-spacing-1\/4); margin-right: var(--tide-spacing-1\/4);}
|
|
@@ -85,7 +86,7 @@
|
|
|
85
86
|
.md-tide-margin-y-1 {margin-top: var(--tide-spacing-1); margin-bottom: var(--tide-spacing-1);}
|
|
86
87
|
.md-tide-margin-y-2 {margin-top: var(--tide-spacing-2); margin-bottom: var(--tide-spacing-2);}
|
|
87
88
|
.md-tide-margin-y-4 {margin-top: var(--tide-spacing-4); margin-bottom: var(--tide-spacing-4);}
|
|
88
|
-
.md-tide-margin-y-auto {margin-top:
|
|
89
|
+
.md-tide-margin-y-auto {margin-top: auto; margin-bottom: auto;}
|
|
89
90
|
|
|
90
91
|
.md-tide-margin-top-0 {margin-top: 0;}
|
|
91
92
|
.md-tide-margin-top-1\/4 {margin-top: var(--tide-spacing-1\/4);}
|
|
@@ -93,7 +94,7 @@
|
|
|
93
94
|
.md-tide-margin-top-1 {margin-top: var(--tide-spacing-1);}
|
|
94
95
|
.md-tide-margin-top-2 {margin-top: var(--tide-spacing-2);}
|
|
95
96
|
.md-tide-margin-top-4 {margin-top: var(--tide-spacing-4);}
|
|
96
|
-
.md-tide-margin-top-auto {margin-top:
|
|
97
|
+
.md-tide-margin-top-auto {margin-top: auto;}
|
|
97
98
|
|
|
98
99
|
.md-tide-margin-right-0 {margin-right: 0;}
|
|
99
100
|
.md-tide-margin-right-1\/4 {margin-right: var(--tide-spacing-1\/4);}
|
|
@@ -109,7 +110,7 @@
|
|
|
109
110
|
.md-tide-margin-bottom-1 {margin-bottom: var(--tide-spacing-1);}
|
|
110
111
|
.md-tide-margin-bottom-2 {margin-bottom: var(--tide-spacing-2);}
|
|
111
112
|
.md-tide-margin-bottom-4 {margin-bottom: var(--tide-spacing-4);}
|
|
112
|
-
.md-tide-margin-bottom-auto {margin-bottom:
|
|
113
|
+
.md-tide-margin-bottom-auto {margin-bottom: auto;}
|
|
113
114
|
|
|
114
115
|
.md-tide-margin-left-0 {margin-left: 0;}
|
|
115
116
|
.md-tide-margin-left-1\/4 {margin-left: var(--tide-spacing-1\/4);}
|
|
@@ -223,8 +224,6 @@
|
|
|
223
224
|
.md-tide-max-height-full {max-height: 100%;}
|
|
224
225
|
.md-tide-min-height-0 {min-height: 0;}
|
|
225
226
|
|
|
226
|
-
.md-tide-width-container {max-width: 1168px;}
|
|
227
|
-
|
|
228
227
|
.md-tide-width-auto {width: auto;}
|
|
229
228
|
.md-tide-width-0 {width: 0;}
|
|
230
229
|
.md-tide-width-full {width: 100%;}
|
|
@@ -233,6 +232,9 @@
|
|
|
233
232
|
.md-tide-height-0 {height: 0;}
|
|
234
233
|
.md-tide-height-full {height: 100%;}
|
|
235
234
|
|
|
235
|
+
/* Deprecated */
|
|
236
|
+
.md-tide-width-container {max-width: 1168px;}
|
|
237
|
+
|
|
236
238
|
/* Background */
|
|
237
239
|
.md-tide-bg-initial {background-color: initial;}
|
|
238
240
|
|
|
@@ -321,6 +323,7 @@
|
|
|
321
323
|
|
|
322
324
|
.md-tide-isolate {isolation: isolate;}
|
|
323
325
|
|
|
326
|
+
/* Deprecated */
|
|
324
327
|
.md-tide-leading-default {line-height: 1.4;}
|
|
325
328
|
.md-tide-leading-normal {line-height: normal;}
|
|
326
329
|
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
.sm-tide-axis1-between {justify-content: space-between;}
|
|
42
42
|
.sm-tide-axis1-center {justify-content: center;}
|
|
43
43
|
.sm-tide-axis1-end {justify-content: end;}
|
|
44
|
+
.sm-tide-axis1-start {justify-content: start;}
|
|
44
45
|
|
|
45
46
|
.sm-tide-axis2-around {align-items: space-around;}
|
|
46
47
|
.sm-tide-axis2-center {align-items: center;}
|
|
@@ -69,6 +70,7 @@
|
|
|
69
70
|
.sm-tide-margin-1 {margin: var(--tide-spacing-1);}
|
|
70
71
|
.sm-tide-margin-2 {margin: var(--tide-spacing-2);}
|
|
71
72
|
.sm-tide-margin-4 {margin: var(--tide-spacing-4);}
|
|
73
|
+
.sm-tide-margin-auto {margin: auto;}
|
|
72
74
|
|
|
73
75
|
.sm-tide-margin-x-0 {margin-left: 0; margin-right: 0;}
|
|
74
76
|
.sm-tide-margin-x-1\/4 {margin-left: var(--tide-spacing-1\/4); margin-right: var(--tide-spacing-1\/4);}
|
|
@@ -84,7 +86,7 @@
|
|
|
84
86
|
.sm-tide-margin-y-1 {margin-top: var(--tide-spacing-1); margin-bottom: var(--tide-spacing-1);}
|
|
85
87
|
.sm-tide-margin-y-2 {margin-top: var(--tide-spacing-2); margin-bottom: var(--tide-spacing-2);}
|
|
86
88
|
.sm-tide-margin-y-4 {margin-top: var(--tide-spacing-4); margin-bottom: var(--tide-spacing-4);}
|
|
87
|
-
.sm-tide-margin-y-auto {margin-top:
|
|
89
|
+
.sm-tide-margin-y-auto {margin-top: auto; margin-bottom: auto;}
|
|
88
90
|
|
|
89
91
|
.sm-tide-margin-top-0 {margin-top: 0;}
|
|
90
92
|
.sm-tide-margin-top-1\/4 {margin-top: var(--tide-spacing-1\/4);}
|
|
@@ -92,7 +94,7 @@
|
|
|
92
94
|
.sm-tide-margin-top-1 {margin-top: var(--tide-spacing-1);}
|
|
93
95
|
.sm-tide-margin-top-2 {margin-top: var(--tide-spacing-2);}
|
|
94
96
|
.sm-tide-margin-top-4 {margin-top: var(--tide-spacing-4);}
|
|
95
|
-
.sm-tide-margin-top-auto {margin-top:
|
|
97
|
+
.sm-tide-margin-top-auto {margin-top: auto;}
|
|
96
98
|
|
|
97
99
|
.sm-tide-margin-right-0 {margin-right: 0;}
|
|
98
100
|
.sm-tide-margin-right-1\/4 {margin-right: var(--tide-spacing-1\/4);}
|
|
@@ -108,7 +110,7 @@
|
|
|
108
110
|
.sm-tide-margin-bottom-1 {margin-bottom: var(--tide-spacing-1);}
|
|
109
111
|
.sm-tide-margin-bottom-2 {margin-bottom: var(--tide-spacing-2);}
|
|
110
112
|
.sm-tide-margin-bottom-4 {margin-bottom: var(--tide-spacing-4);}
|
|
111
|
-
.sm-tide-margin-bottom-auto {margin-bottom:
|
|
113
|
+
.sm-tide-margin-bottom-auto {margin-bottom: auto;}
|
|
112
114
|
|
|
113
115
|
.sm-tide-margin-left-0 {margin-left: 0;}
|
|
114
116
|
.sm-tide-margin-left-1\/4 {margin-left: var(--tide-spacing-1\/4);}
|
|
@@ -222,8 +224,6 @@
|
|
|
222
224
|
.sm-tide-max-height-full {max-height: 100%;}
|
|
223
225
|
.sm-tide-min-height-0 {min-height: 0;}
|
|
224
226
|
|
|
225
|
-
.sm-tide-width-container {max-width: 1168px;}
|
|
226
|
-
|
|
227
227
|
.sm-tide-width-auto {width: auto;}
|
|
228
228
|
.sm-tide-width-0 {width: 0;}
|
|
229
229
|
.sm-tide-width-full {width: 100%;}
|
|
@@ -232,6 +232,9 @@
|
|
|
232
232
|
.sm-tide-height-0 {height: 0;}
|
|
233
233
|
.sm-tide-height-full {height: 100%;}
|
|
234
234
|
|
|
235
|
+
/* Deprecated */
|
|
236
|
+
.sm-tide-width-container {max-width: 1168px;}
|
|
237
|
+
|
|
235
238
|
/* Background */
|
|
236
239
|
.sm-tide-bg-initial {background-color: initial;}
|
|
237
240
|
|
|
@@ -320,6 +323,7 @@
|
|
|
320
323
|
|
|
321
324
|
.sm-tide-isolate {isolation: isolate;}
|
|
322
325
|
|
|
326
|
+
/* Deprecated */
|
|
323
327
|
.sm-tide-leading-default {line-height: 1.4;}
|
|
324
328
|
.sm-tide-leading-normal {line-height: normal;}
|
|
325
329
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@media (min-width:
|
|
1
|
+
@media (min-width: 1920px) {
|
|
2
2
|
/* Reusable CSS Utility Library */
|
|
3
3
|
/* Position */
|
|
4
4
|
.xl-tide-position-absolute {position: absolute;}
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
.xl-tide-axis1-between {justify-content: space-between;}
|
|
42
42
|
.xl-tide-axis1-center {justify-content: center;}
|
|
43
43
|
.xl-tide-axis1-end {justify-content: end;}
|
|
44
|
+
.xl-tide-axis1-start {justify-content: start;}
|
|
44
45
|
|
|
45
46
|
.xl-tide-axis2-around {align-items: space-around;}
|
|
46
47
|
.xl-tide-axis2-center {align-items: center;}
|
|
@@ -69,6 +70,7 @@
|
|
|
69
70
|
.xl-tide-margin-1 {margin: var(--tide-spacing-1);}
|
|
70
71
|
.xl-tide-margin-2 {margin: var(--tide-spacing-2);}
|
|
71
72
|
.xl-tide-margin-4 {margin: var(--tide-spacing-4);}
|
|
73
|
+
.xl-tide-margin-auto {margin: auto;}
|
|
72
74
|
|
|
73
75
|
.xl-tide-margin-x-0 {margin-left: 0; margin-right: 0;}
|
|
74
76
|
.xl-tide-margin-x-1\/4 {margin-left: var(--tide-spacing-1\/4); margin-right: var(--tide-spacing-1\/4);}
|
|
@@ -84,7 +86,7 @@
|
|
|
84
86
|
.xl-tide-margin-y-1 {margin-top: var(--tide-spacing-1); margin-bottom: var(--tide-spacing-1);}
|
|
85
87
|
.xl-tide-margin-y-2 {margin-top: var(--tide-spacing-2); margin-bottom: var(--tide-spacing-2);}
|
|
86
88
|
.xl-tide-margin-y-4 {margin-top: var(--tide-spacing-4); margin-bottom: var(--tide-spacing-4);}
|
|
87
|
-
.xl-tide-margin-y-auto {margin-top:
|
|
89
|
+
.xl-tide-margin-y-auto {margin-top: auto; margin-bottom: auto;}
|
|
88
90
|
|
|
89
91
|
.xl-tide-margin-top-0 {margin-top: 0;}
|
|
90
92
|
.xl-tide-margin-top-1\/4 {margin-top: var(--tide-spacing-1\/4);}
|
|
@@ -92,7 +94,7 @@
|
|
|
92
94
|
.xl-tide-margin-top-1 {margin-top: var(--tide-spacing-1);}
|
|
93
95
|
.xl-tide-margin-top-2 {margin-top: var(--tide-spacing-2);}
|
|
94
96
|
.xl-tide-margin-top-4 {margin-top: var(--tide-spacing-4);}
|
|
95
|
-
.xl-tide-margin-top-auto {margin-top:
|
|
97
|
+
.xl-tide-margin-top-auto {margin-top: auto;}
|
|
96
98
|
|
|
97
99
|
.xl-tide-margin-right-0 {margin-right: 0;}
|
|
98
100
|
.xl-tide-margin-right-1\/4 {margin-right: var(--tide-spacing-1\/4);}
|
|
@@ -108,7 +110,7 @@
|
|
|
108
110
|
.xl-tide-margin-bottom-1 {margin-bottom: var(--tide-spacing-1);}
|
|
109
111
|
.xl-tide-margin-bottom-2 {margin-bottom: var(--tide-spacing-2);}
|
|
110
112
|
.xl-tide-margin-bottom-4 {margin-bottom: var(--tide-spacing-4);}
|
|
111
|
-
.xl-tide-margin-bottom-auto {margin-bottom:
|
|
113
|
+
.xl-tide-margin-bottom-auto {margin-bottom: auto;}
|
|
112
114
|
|
|
113
115
|
.xl-tide-margin-left-0 {margin-left: 0;}
|
|
114
116
|
.xl-tide-margin-left-1\/4 {margin-left: var(--tide-spacing-1\/4);}
|
|
@@ -222,8 +224,6 @@
|
|
|
222
224
|
.xl-tide-max-height-full {max-height: 100%;}
|
|
223
225
|
.xl-tide-min-height-0 {min-height: 0;}
|
|
224
226
|
|
|
225
|
-
.xl-tide-width-container {max-width: 1168px;}
|
|
226
|
-
|
|
227
227
|
.xl-tide-width-auto {width: auto;}
|
|
228
228
|
.xl-tide-width-0 {width: 0;}
|
|
229
229
|
.xl-tide-width-full {width: 100%;}
|
|
@@ -232,6 +232,9 @@
|
|
|
232
232
|
.xl-tide-height-0 {height: 0;}
|
|
233
233
|
.xl-tide-height-full {height: 100%;}
|
|
234
234
|
|
|
235
|
+
/* Deprecated */
|
|
236
|
+
.xl-tide-width-container {max-width: 1168px;}
|
|
237
|
+
|
|
235
238
|
/* Background */
|
|
236
239
|
.xl-tide-bg-initial {background-color: initial;}
|
|
237
240
|
|
|
@@ -320,6 +323,7 @@
|
|
|
320
323
|
|
|
321
324
|
.xl-tide-isolate {isolation: isolate;}
|
|
322
325
|
|
|
326
|
+
/* Deprecated */
|
|
323
327
|
.xl-tide-leading-default {line-height: 1.4;}
|
|
324
328
|
.xl-tide-leading-normal {line-height: normal;}
|
|
325
329
|
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
.tide-axis1-between {justify-content: space-between;}
|
|
41
41
|
.tide-axis1-center {justify-content: center;}
|
|
42
42
|
.tide-axis1-end {justify-content: end;}
|
|
43
|
+
.tide-axis1-start {justify-content: start;}
|
|
43
44
|
|
|
44
45
|
.tide-axis2-around {align-items: space-around;}
|
|
45
46
|
.tide-axis2-center {align-items: center;}
|
|
@@ -68,6 +69,7 @@
|
|
|
68
69
|
.tide-margin-1 {margin: var(--tide-spacing-1);}
|
|
69
70
|
.tide-margin-2 {margin: var(--tide-spacing-2);}
|
|
70
71
|
.tide-margin-4 {margin: var(--tide-spacing-4);}
|
|
72
|
+
.tide-margin-auto {margin: auto;}
|
|
71
73
|
|
|
72
74
|
.tide-margin-x-0 {margin-left: 0; margin-right: 0;}
|
|
73
75
|
.tide-margin-x-1\/4 {margin-left: var(--tide-spacing-1\/4); margin-right: var(--tide-spacing-1\/4);}
|
|
@@ -83,7 +85,7 @@
|
|
|
83
85
|
.tide-margin-y-1 {margin-top: var(--tide-spacing-1); margin-bottom: var(--tide-spacing-1);}
|
|
84
86
|
.tide-margin-y-2 {margin-top: var(--tide-spacing-2); margin-bottom: var(--tide-spacing-2);}
|
|
85
87
|
.tide-margin-y-4 {margin-top: var(--tide-spacing-4); margin-bottom: var(--tide-spacing-4);}
|
|
86
|
-
.tide-margin-y-auto {margin-top:
|
|
88
|
+
.tide-margin-y-auto {margin-top: auto; margin-bottom: auto;}
|
|
87
89
|
|
|
88
90
|
.tide-margin-top-0 {margin-top: 0;}
|
|
89
91
|
.tide-margin-top-1\/4 {margin-top: var(--tide-spacing-1\/4);}
|
|
@@ -91,7 +93,7 @@
|
|
|
91
93
|
.tide-margin-top-1 {margin-top: var(--tide-spacing-1);}
|
|
92
94
|
.tide-margin-top-2 {margin-top: var(--tide-spacing-2);}
|
|
93
95
|
.tide-margin-top-4 {margin-top: var(--tide-spacing-4);}
|
|
94
|
-
.tide-margin-top-auto {margin-top:
|
|
96
|
+
.tide-margin-top-auto {margin-top: auto;}
|
|
95
97
|
|
|
96
98
|
.tide-margin-right-0 {margin-right: 0;}
|
|
97
99
|
.tide-margin-right-1\/4 {margin-right: var(--tide-spacing-1\/4);}
|
|
@@ -107,7 +109,7 @@
|
|
|
107
109
|
.tide-margin-bottom-1 {margin-bottom: var(--tide-spacing-1);}
|
|
108
110
|
.tide-margin-bottom-2 {margin-bottom: var(--tide-spacing-2);}
|
|
109
111
|
.tide-margin-bottom-4 {margin-bottom: var(--tide-spacing-4);}
|
|
110
|
-
.tide-margin-bottom-auto {margin-bottom:
|
|
112
|
+
.tide-margin-bottom-auto {margin-bottom: auto;}
|
|
111
113
|
|
|
112
114
|
.tide-margin-left-0 {margin-left: 0;}
|
|
113
115
|
.tide-margin-left-1\/4 {margin-left: var(--tide-spacing-1\/4);}
|
|
@@ -221,8 +223,6 @@
|
|
|
221
223
|
.tide-max-height-full {max-height: 100%;}
|
|
222
224
|
.tide-min-height-0 {min-height: 0;}
|
|
223
225
|
|
|
224
|
-
.tide-width-container {max-width: 1168px;}
|
|
225
|
-
|
|
226
226
|
.tide-width-auto {width: auto;}
|
|
227
227
|
.tide-width-0 {width: 0;}
|
|
228
228
|
.tide-width-full {width: 100%;}
|
|
@@ -231,6 +231,9 @@
|
|
|
231
231
|
.tide-height-0 {height: 0;}
|
|
232
232
|
.tide-height-full {height: 100%;}
|
|
233
233
|
|
|
234
|
+
/* Deprecated */
|
|
235
|
+
.tide-width-container {max-width: 1168px;}
|
|
236
|
+
|
|
234
237
|
/* Background */
|
|
235
238
|
.tide-bg-initial {background-color: initial;}
|
|
236
239
|
|
|
@@ -319,6 +322,7 @@
|
|
|
319
322
|
|
|
320
323
|
.tide-isolate {isolation: isolate;}
|
|
321
324
|
|
|
325
|
+
/* Deprecated */
|
|
322
326
|
.tide-leading-default {line-height: 1.4;}
|
|
323
327
|
.tide-leading-normal {line-height: normal;}
|
|
324
328
|
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
import { PRIORITY } from '@/types/Priority';
|
|
7
7
|
import { CSS } from '@/types/Styles';
|
|
8
8
|
|
|
9
|
+
import type { Ref } from 'vue';
|
|
10
|
+
|
|
9
11
|
type Props = {
|
|
10
12
|
bleed?: number;
|
|
11
13
|
isFloating?: boolean;
|
|
@@ -26,10 +28,16 @@
|
|
|
26
28
|
title: undefined,
|
|
27
29
|
});
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
type Emits = {
|
|
32
|
+
(event: 'slideChange', slideIndex: number): void;
|
|
33
|
+
(event: 'slidesAddedToView', slidesInView: number[]): void;
|
|
34
|
+
};
|
|
30
35
|
|
|
31
|
-
const
|
|
36
|
+
const emit = defineEmits<Emits>();
|
|
32
37
|
|
|
38
|
+
const containerRef: Ref<HTMLDivElement | null> = ref(null);
|
|
39
|
+
const slideObserver = ref<IntersectionObserver | null>(null);
|
|
40
|
+
const slotObserver = ref<MutationObserver | null>(null);
|
|
33
41
|
const contentRightEdge = ref();
|
|
34
42
|
const contentWidth = ref();
|
|
35
43
|
const currentSlide = ref(0);
|
|
@@ -42,6 +50,7 @@
|
|
|
42
50
|
|
|
43
51
|
const updateContainerBleed = () => {
|
|
44
52
|
if (props.bleed == undefined) return;
|
|
53
|
+
if (containerRef.value === null) return;
|
|
45
54
|
|
|
46
55
|
if (isLastSlide.value && showButtons.value) {
|
|
47
56
|
// Prevent gradient from bleeding off left edge in last position.
|
|
@@ -61,17 +70,21 @@
|
|
|
61
70
|
* the frame.
|
|
62
71
|
*/
|
|
63
72
|
const measureCurrentSlide = () => {
|
|
64
|
-
|
|
65
|
-
|
|
73
|
+
const container = containerRef.value;
|
|
74
|
+
if (!container) return;
|
|
75
|
+
|
|
76
|
+
// Cast once, so TS knows these are HTMLElements
|
|
77
|
+
const slideOffsets = Array.from(container.children as HTMLCollectionOf<HTMLElement>).map(
|
|
78
|
+
(slide) => slide.offsetLeft
|
|
79
|
+
);
|
|
66
80
|
|
|
67
81
|
if (slideOffsets.length === 0) return;
|
|
68
82
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
});
|
|
83
|
+
const scrollLeft = container.scrollLeft;
|
|
84
|
+
|
|
85
|
+
const closestSlideOffset = slideOffsets.reduce((prev, curr) =>
|
|
86
|
+
Math.abs(curr - scrollLeft) < Math.abs(prev - scrollLeft) ? curr : prev
|
|
87
|
+
);
|
|
75
88
|
|
|
76
89
|
currentSlide.value = slideOffsets.indexOf(closestSlideOffset);
|
|
77
90
|
|
|
@@ -79,6 +92,7 @@
|
|
|
79
92
|
};
|
|
80
93
|
|
|
81
94
|
const measureDom = () => {
|
|
95
|
+
if (containerRef.value === null) return;
|
|
82
96
|
contentRightEdge.value = containerRef.value.scrollLeft + containerRef.value.clientWidth;
|
|
83
97
|
contentWidth.value = containerRef.value.scrollWidth;
|
|
84
98
|
frameWidth.value = containerRef.value.clientWidth;
|
|
@@ -97,17 +111,19 @@
|
|
|
97
111
|
};
|
|
98
112
|
|
|
99
113
|
const scrollToSlide = (slideIndex: number) => {
|
|
114
|
+
if (containerRef.value === null) return;
|
|
100
115
|
containerRef.value.scrollTo({
|
|
101
116
|
behavior: 'smooth',
|
|
102
|
-
left: containerRef.value.children[slideIndex].offsetLeft,
|
|
117
|
+
left: (containerRef.value.children[slideIndex] as HTMLElement).offsetLeft,
|
|
103
118
|
});
|
|
104
119
|
};
|
|
105
120
|
|
|
106
121
|
const showNextSlide = () => {
|
|
122
|
+
if (containerRef.value === null) return;
|
|
107
123
|
if (contentRightEdge.value > contentWidth.value) {
|
|
108
124
|
containerRef.value.scrollTo({
|
|
109
125
|
behavior: 'smooth',
|
|
110
|
-
left: contentWidth,
|
|
126
|
+
left: contentWidth.value,
|
|
111
127
|
});
|
|
112
128
|
} else if (!isLastSlide.value) {
|
|
113
129
|
scrollToSlide(currentSlide.value + 1);
|
|
@@ -120,13 +136,52 @@
|
|
|
120
136
|
}
|
|
121
137
|
};
|
|
122
138
|
|
|
139
|
+
const observeSlides = () => {
|
|
140
|
+
const options = {
|
|
141
|
+
root: containerRef?.value,
|
|
142
|
+
rootMargin: '0px',
|
|
143
|
+
threshold: 0.5,
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
slideObserver.value = new IntersectionObserver((entries) => {
|
|
147
|
+
let slides: number[] = [];
|
|
148
|
+
|
|
149
|
+
entries.forEach((entry) => {
|
|
150
|
+
const slideIndex = Array.from(containerRef.value?.children ?? []).indexOf(entry.target);
|
|
151
|
+
if (entry.isIntersecting) {
|
|
152
|
+
slides.push(slideIndex);
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
if (slides.length > 0) emit('slidesAddedToView', slides);
|
|
157
|
+
}, options);
|
|
158
|
+
Array.from(containerRef.value?.children ?? []).forEach((child) => {
|
|
159
|
+
if (slideObserver.value) slideObserver.value.observe(child);
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
const observeSlot = () => {
|
|
164
|
+
const observerCallback = () => {
|
|
165
|
+
observeSlides();
|
|
166
|
+
};
|
|
167
|
+
slotObserver.value = new MutationObserver(observerCallback);
|
|
168
|
+
if (containerRef.value) slotObserver.value.observe(containerRef.value, { childList: true });
|
|
169
|
+
};
|
|
170
|
+
|
|
123
171
|
onMounted(() => {
|
|
172
|
+
if (window) {
|
|
173
|
+
window.addEventListener('resize', measureDom);
|
|
174
|
+
}
|
|
175
|
+
|
|
124
176
|
measureDom();
|
|
125
|
-
|
|
177
|
+
observeSlides();
|
|
178
|
+
observeSlot();
|
|
126
179
|
});
|
|
127
180
|
|
|
128
181
|
onUnmounted(() => {
|
|
129
182
|
window.removeEventListener('resize', measureDom);
|
|
183
|
+
slideObserver.value?.disconnect();
|
|
184
|
+
slotObserver.value?.disconnect();
|
|
130
185
|
});
|
|
131
186
|
|
|
132
187
|
onUpdated(() => {
|
|
@@ -134,7 +189,7 @@
|
|
|
134
189
|
});
|
|
135
190
|
|
|
136
191
|
watch(currentSlide, () => {
|
|
137
|
-
emit('
|
|
192
|
+
emit('slideChange', currentSlide.value);
|
|
138
193
|
});
|
|
139
194
|
</script>
|
|
140
195
|
|
package/src/docs/development.md
CHANGED
|
@@ -60,13 +60,18 @@
|
|
|
60
60
|
4. Serve the Sandbox App locally:
|
|
61
61
|
|
|
62
62
|
`npm run dev`
|
|
63
|
+
|
|
63
64
|
3. Via NPM Link
|
|
65
|
+
|
|
66
|
+
Note: If using Windows Subsystem for Linux (WSL), both the TIDE repository and the consumer repository need to be pulled down into the Linux environment.
|
|
67
|
+
|
|
64
68
|
1. From the local instance of TIDE repository, create local package alias:
|
|
65
69
|
|
|
66
70
|
`npm link`
|
|
67
71
|
2. From the local instance of the consumer repository, leverage local package alias:
|
|
68
72
|
|
|
69
|
-
|
|
73
|
+
`npm link tide-design-system`
|
|
74
|
+
|
|
70
75
|
3. Run the local instance of `tide-design-system`.
|
|
71
76
|
4. Run the local instance of the consumer repository.
|
|
72
77
|
5. Visit the local instance of the consumer repository in the browser as normal. All structures imported from the `tide-design-system` dependency will now reflect the local instance.
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# TIDE Full Integration
|
|
2
2
|
1. Install dependency from NPM registry:
|
|
3
3
|
|
|
4
|
-
`npm install tide-design-system`
|
|
4
|
+
`npm install tide-design-system --save-exact`
|
|
5
|
+
|
|
6
|
+
Note: This will install TIDE **without a caret range**, which requires that the dependency be **upgraded manually**, as our [custom semantic versioning](./development.md#publication-tide-tech-lead-only) rules and distribution of QA resources dictate that consumer repositories must thoroughly test for breaking changes during the upgrade process.
|
|
5
7
|
|
|
6
8
|
2. Use CSS utilities:
|
|
7
9
|
1. Import global utilities:
|
|
@@ -22,6 +24,8 @@
|
|
|
22
24
|
|
|
23
25
|
`import { CSS } from 'tide-design-system';`
|
|
24
26
|
|
|
27
|
+
Note: See the [TypeScript CSS constant](../types/Styles.ts) for full details.
|
|
28
|
+
|
|
25
29
|
4. Leverage CSS utilities via TypeScript CSS constant:
|
|
26
30
|
|
|
27
31
|
`<div :class="[CSS.POSITION.ABSOLUTE]" />`
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# TIDE Partial Integration
|
|
2
2
|
1. Install dependency from NPM registry:
|
|
3
3
|
|
|
4
|
-
`npm install tide-design-system`
|
|
4
|
+
`npm install tide-design-system --save-exact`
|
|
5
|
+
|
|
6
|
+
Note: This will install TIDE **without a caret range**, which requires that the dependency be **upgraded manually**, as our [custom semantic versioning](./development.md#publication-tide-tech-lead-only) rules and distribution of QA resources dictate that consumer repositories must thoroughly test for breaking changes during the upgrade process.
|
|
5
7
|
|
|
6
8
|
2. Use CSS utilities:
|
|
7
9
|
1. Import global utilities one of two ways:
|
|
@@ -36,6 +38,8 @@
|
|
|
36
38
|
|
|
37
39
|
`<div class="tide-position-absolute" />`
|
|
38
40
|
|
|
41
|
+
Note: See the [CSS utilities](../assets/css/utilities.ts) for full details.
|
|
42
|
+
|
|
39
43
|
4. Leverage responsive CSS utilities:
|
|
40
44
|
|
|
41
45
|
`<div class="tide-position-relative md-tide-position-absolute" />`
|
package/src/docs/migration.md
CHANGED
|
@@ -10,6 +10,14 @@ The first implementation of the TIDE Design System was developed directly within
|
|
|
10
10
|
4. CSS utilities
|
|
11
11
|
5. Unit tests
|
|
12
12
|
|
|
13
|
+
## Status
|
|
14
|
+
1. The [legacy code](https://github.com/traderinteractive/marketplace) at the top level of the `marketplace` repository uses a [partial integration](./integration-partial.md) of TIDE, making the CSS utilities available globally.
|
|
15
|
+
1. Dependency controlled by the top level config: [package.json](https://github.com/traderinteractive/marketplace/blob/qa/package.json). **Version must be upgraded manually.**
|
|
16
|
+
2. Integration controlled by the [Gulp build](https://github.com/search?q=repo%3Atraderinteractive%2Fmarketplace%20tide%20path%3Agulpfile.js&type=code).
|
|
17
|
+
2. The [redesign code](https://github.com/traderinteractive/marketplace/tree/qa/frontend) within the `/frontend` subdirectory of the `marketplace` repository uses a [full integration](./integration-full.md) of TIDE, making both the CSS utilities and Vue 3 components available for import from any Vue 3 file.
|
|
18
|
+
1. Dependency controlled by the nested config: [/frontend/package.json](https://github.com/traderinteractive/marketplace/blob/qa/frontend/package.json). **Version must be upgraded manually.**
|
|
19
|
+
2. Integration controlled by the [Vite build](https://github.com/search?q=repo%3Atraderinteractive%2Fmarketplace%20tide%20path%3Afrontend%2Fvite.config.ts&type=code).
|
|
20
|
+
|
|
13
21
|
## Workflow
|
|
14
22
|
As TIDE structures become available in the TIDE repository, the TIDE team will work to identify redundant structures within the `marketplace` repository, create tickets detailing the work to reimplement these structures, and work with the relevant product teams to determine priority and ownership of these tasks.
|
|
15
23
|
|
|
@@ -63,3 +71,4 @@ As TIDE structures become available in the TIDE repository, the TIDE team will w
|
|
|
63
71
|
|
|
64
72
|
7. Delete unused [JS constants](https://github.com/traderinteractive/marketplace/blob/qa/frontend/src/types/Styles.ts) (CSS_OLD)
|
|
65
73
|
8. Delete unused [CSS utilities](https://github.com/traderinteractive/marketplace/blob/qa/frontend/src/assets/css/utilities.css)
|
|
74
|
+
9. Run `npm run precommit` from the `/frontend` directory to identify (and potentially autofix) any ESLint, TypeScript, and/or Vitest issues, as the build server will reject any source branch that contains syntax violations or failing unit tests.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint vue/sort-keys: 0 */
|
|
2
2
|
|
|
3
3
|
import Border from '@/stories/FoundationsBorder.stories';
|
|
4
|
-
import
|
|
4
|
+
import Flexbox from '@/stories/FoundationsFlexbox.stories';
|
|
5
5
|
import Margin from '@/stories/FoundationsMargin.stories';
|
|
6
6
|
import Padding from '@/stories/FoundationsPadding.stories';
|
|
7
7
|
import Shadow from '@/stories/FoundationsShadow.stories';
|
|
@@ -93,7 +93,7 @@ export default {
|
|
|
93
93
|
argTypes: {
|
|
94
94
|
...Border.argTypes,
|
|
95
95
|
...Shadow.argTypes,
|
|
96
|
-
...
|
|
96
|
+
...Flexbox.argTypes,
|
|
97
97
|
...Padding.argTypes,
|
|
98
98
|
children: {
|
|
99
99
|
control: 'text',
|
|
@@ -69,13 +69,13 @@ export default {
|
|
|
69
69
|
argTypes: {
|
|
70
70
|
flexAxis1: {
|
|
71
71
|
...formatArgType({ FLEX_AXIS1 }),
|
|
72
|
-
description: 'Dictates alignment of children along
|
|
73
|
-
name: '
|
|
72
|
+
description: 'Dictates alignment of children along main axis',
|
|
73
|
+
name: 'Main Axis',
|
|
74
74
|
},
|
|
75
75
|
flexAxis2: {
|
|
76
76
|
...formatArgType({ FLEX_AXIS2 }),
|
|
77
|
-
description: 'Dictates alignment of children along
|
|
78
|
-
name: '
|
|
77
|
+
description: 'Dictates alignment of children along cross axis',
|
|
78
|
+
name: 'Cross Axis',
|
|
79
79
|
},
|
|
80
80
|
flexDirection: {
|
|
81
81
|
...formatArgType({ FLEX_DIRECTION }),
|
|
@@ -84,7 +84,7 @@ export default {
|
|
|
84
84
|
},
|
|
85
85
|
flexGap: {
|
|
86
86
|
...formatArgType({ GAP }),
|
|
87
|
-
description: 'Dictates
|
|
87
|
+
description: 'Dictates spacing between elements along the main axis',
|
|
88
88
|
name: 'Flex Gap',
|
|
89
89
|
},
|
|
90
90
|
flexWrap: {
|
|
@@ -103,7 +103,7 @@ export default {
|
|
|
103
103
|
parameters,
|
|
104
104
|
render,
|
|
105
105
|
tags: ['autodocs'],
|
|
106
|
-
title: 'Utilities/
|
|
106
|
+
title: 'Utilities/Flexbox',
|
|
107
107
|
};
|
|
108
108
|
|
|
109
109
|
export const Default = {};
|