tide-design-system 2.0.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.
Files changed (129) hide show
  1. package/README.md +55 -0
  2. package/dist/IconAccountBalance-91cf067b.js +10 -0
  3. package/dist/IconAdd-95c51c0e.js +10 -0
  4. package/dist/IconAi-08172540.js +22 -0
  5. package/dist/IconAlignSpace-9ab2bdf2.js +10 -0
  6. package/dist/IconApplePay-1ee6317b.js +10 -0
  7. package/dist/IconArrowBack-a2226a94.js +10 -0
  8. package/dist/IconArrowForward-e1ca9957.js +10 -0
  9. package/dist/IconArrowRight-53382084.js +10 -0
  10. package/dist/IconAssignment-332c2b2b.js +10 -0
  11. package/dist/IconAwardStar-1ca35385.js +10 -0
  12. package/dist/IconBookmark-49b42628.js +10 -0
  13. package/dist/IconCalendarMonth-22c938d7.js +10 -0
  14. package/dist/IconCall-989a47fc.js +10 -0
  15. package/dist/IconCheck-a3467b47.js +10 -0
  16. package/dist/IconChevronLeft-c1d90bb7.js +10 -0
  17. package/dist/IconChevronRight-ad47891f.js +10 -0
  18. package/dist/IconClear-7c8fad4e.js +10 -0
  19. package/dist/IconClose-4b6c5aed.js +10 -0
  20. package/dist/IconCycle-99d40f2d.js +10 -0
  21. package/dist/IconDelete-446eff93.js +10 -0
  22. package/dist/IconDiamond-765a7d8d.js +10 -0
  23. package/dist/IconEdit-ce05f3b5.js +10 -0
  24. package/dist/IconError-7983707a.js +10 -0
  25. package/dist/IconExpandContent-8b6e2125.js +10 -0
  26. package/dist/IconExpandLess-9e23f1e9.js +10 -0
  27. package/dist/IconExpandMore-ded098a7.js +10 -0
  28. package/dist/IconFacebook-3cab65a8.js +10 -0
  29. package/dist/IconFavorite-5fe831f4.js +10 -0
  30. package/dist/IconFavoriteFilled-58fa0bf7.js +10 -0
  31. package/dist/IconFormatBold-889f6b8b.js +10 -0
  32. package/dist/IconFormatItalic-103eba00.js +10 -0
  33. package/dist/IconFormatListBulleted-4c824025.js +10 -0
  34. package/dist/IconForum-abc2fe82.js +10 -0
  35. package/dist/IconGoogle-281b6d80.js +27 -0
  36. package/dist/IconGooglePay-cc83c5c8.js +10 -0
  37. package/dist/IconGrid-ef763745.js +10 -0
  38. package/dist/IconHelp-2ad33f76.js +10 -0
  39. package/dist/IconInfo-5878df77.js +10 -0
  40. package/dist/IconInsertText-0c62badf.js +10 -0
  41. package/dist/IconInstagram-69e21cfb.js +10 -0
  42. package/dist/IconIosShare-be5f117c.js +10 -0
  43. package/dist/IconLayout-c1ffbcd3.js +10 -0
  44. package/dist/IconLinkedIn-807ef6f5.js +10 -0
  45. package/dist/IconLocalShipping-2c6d71e0.js +10 -0
  46. package/dist/IconLock-9178e816.js +10 -0
  47. package/dist/IconMail-0123a7c6.js +10 -0
  48. package/dist/IconMenu-33ed2d99.js +10 -0
  49. package/dist/IconMoreHoriz-c281099f.js +10 -0
  50. package/dist/IconNotifications-89f80e0f.js +10 -0
  51. package/dist/IconOpenInNew-87ad0454.js +10 -0
  52. package/dist/IconPalette-7ee5b40c.js +10 -0
  53. package/dist/IconPaypal-e311eadd.js +10 -0
  54. package/dist/IconPerson-932fbcbc.js +10 -0
  55. package/dist/IconPhotoCamera-fdbd5767.js +10 -0
  56. package/dist/IconPinterest-2d19c2eb.js +10 -0
  57. package/dist/IconPlayArrow-9837a5c0.js +10 -0
  58. package/dist/IconRemove-29ef8f82.js +10 -0
  59. package/dist/IconRoundedCorners-8ad194fc.js +10 -0
  60. package/dist/IconSearch-5ff23d26.js +10 -0
  61. package/dist/IconSell-0e0ecd20.js +10 -0
  62. package/dist/IconShare-47084765.js +10 -0
  63. package/dist/IconShoppingCart-9d6495b3.js +10 -0
  64. package/dist/IconSms-5ba18382.js +10 -0
  65. package/dist/IconStar-ef69284b.js +10 -0
  66. package/dist/IconSwapVert-05e14e3d.js +10 -0
  67. package/dist/IconThreeDRotation-2433b2e8.js +25 -0
  68. package/dist/IconTune-3c6452f0.js +10 -0
  69. package/dist/IconTwitter-a634cef4.js +10 -0
  70. package/dist/IconVideocam-5712435e.js +10 -0
  71. package/dist/IconViewInAr-d38a23d5.js +10 -0
  72. package/dist/IconVisibility-8cdf7151.js +10 -0
  73. package/dist/IconWarning-b9e61180.js +10 -0
  74. package/dist/IconYoutube-92447826.js +10 -0
  75. package/dist/css/animation.css +14 -0
  76. package/dist/css/dynamic-buttons.css +79 -0
  77. package/dist/css/dynamic-inputs.css +43 -0
  78. package/dist/css/dynamic-utilities.css +30 -0
  79. package/dist/css/main.css +10 -0
  80. package/dist/css/page-layout.css +57 -0
  81. package/dist/css/realm/aero.css +42 -0
  82. package/dist/css/realm/atv.css +43 -0
  83. package/dist/css/realm/boatmart.css +42 -0
  84. package/dist/css/realm/cycle.css +42 -0
  85. package/dist/css/realm/equip.css +42 -0
  86. package/dist/css/realm/pwc.css +42 -0
  87. package/dist/css/realm/rv.css +42 -0
  88. package/dist/css/realm/snow.css +42 -0
  89. package/dist/css/realm/truck.css +42 -0
  90. package/dist/css/reset.css +79 -0
  91. package/dist/css/storybook.css +4 -0
  92. package/dist/css/utilities.css +301 -0
  93. package/dist/css/variables.css +114 -0
  94. package/dist/index-c5bc4216.js +1910 -0
  95. package/dist/style.css +1 -0
  96. package/dist/tide2-design-system.js +36 -0
  97. package/dist/types/Alert.ts +8 -0
  98. package/dist/types/Badge.ts +21 -0
  99. package/dist/types/BreadCrumb.ts +5 -0
  100. package/dist/types/Detail.ts +4 -0
  101. package/dist/types/Element.ts +13 -0
  102. package/dist/types/Field.ts +55 -0
  103. package/dist/types/Form.ts +1 -0
  104. package/dist/types/Formatted.ts +22 -0
  105. package/dist/types/Icon.ts +77 -0
  106. package/dist/types/Link.ts +5 -0
  107. package/dist/types/ListingMedia.ts +43 -0
  108. package/dist/types/Priority.ts +11 -0
  109. package/dist/types/Raw.ts +5 -0
  110. package/dist/types/Realm.ts +12 -0
  111. package/dist/types/RealmConfig.ts +14 -0
  112. package/dist/types/Select.ts +4 -0
  113. package/dist/types/Size.ts +6 -0
  114. package/dist/types/Storybook.ts +14 -0
  115. package/dist/types/StorybookStyles.ts +209 -0
  116. package/dist/types/Styles.ts +479 -0
  117. package/dist/types/Tab.ts +5 -0
  118. package/dist/types/Target.ts +6 -0
  119. package/dist/types/TextInput.ts +16 -0
  120. package/dist/types/Validation.ts +18 -0
  121. package/dist/types/Vehicle.ts +139 -0
  122. package/dist/types/VehicleDetail.ts +44 -0
  123. package/dist/types/index.d.ts +7 -0
  124. package/dist/utilities/format.ts +148 -0
  125. package/dist/utilities/forms.ts +47 -0
  126. package/dist/utilities/media.ts +77 -0
  127. package/dist/utilities/storybook.ts +237 -0
  128. package/dist/utilities/validation.ts +92 -0
  129. package/package.json +63 -0
@@ -0,0 +1,479 @@
1
+ export const CSS = {
2
+ ALIGN: {
3
+ X: {
4
+ CENTER: 'tide-text-center',
5
+ LEFT: 'tide-text-left',
6
+ RIGHT: 'tide-text-right',
7
+ },
8
+ Y: {
9
+ MIDDLE: 'tide-align-middle',
10
+ },
11
+ },
12
+ AXIS1: {
13
+ AROUND: 'tide-axis1-around',
14
+ BETWEEN: 'tide-axis1-between',
15
+ CENTER: 'tide-axis1-center',
16
+ END: 'tide-axis1-end',
17
+ START: 'tide-axis1-start',
18
+ },
19
+ AXIS2: {
20
+ AROUND: 'tide-axis2-around',
21
+ CENTER: 'tide-axis2-center',
22
+ END: 'tide-axis2-end',
23
+ START: 'tide-axis2-start',
24
+ },
25
+ BORDER: {
26
+ BOTTOM: {
27
+ ONE: 'tide-border-bottom-1',
28
+ TWO: 'tide-border-bottom-2',
29
+ },
30
+ FULL: {
31
+ ONE: 'tide-border-1',
32
+ TWO: 'tide-border-2',
33
+ },
34
+ LEFT: {
35
+ ONE: 'tide-border-left-1',
36
+ TWO: 'tide-border-left-2',
37
+ },
38
+ RADIUS: {
39
+ FULL: 'tide-radius-full',
40
+ HALF: 'tide-radius-1/2',
41
+ ONE: 'tide-radius-1',
42
+ QUARTER: 'tide-radius-1/4',
43
+ },
44
+ RIGHT: {
45
+ ONE: 'tide-border-right-1',
46
+ TWO: 'tide-border-right-2',
47
+ },
48
+ TOP: {
49
+ ONE: 'tide-border-top-1',
50
+ TWO: 'tide-border-top-2',
51
+ },
52
+ },
53
+ BOX_SIZING: {
54
+ BORDER_BOX: 'tide-box-border',
55
+ CONTENT_BOX: 'tide-box-content',
56
+ },
57
+ BREAK_WORD: {
58
+ ON: 'tide-break-word',
59
+ },
60
+ CURSOR: {
61
+ NOT_ALLOWED: 'tide-cursor-not-allowed',
62
+ POINTER: 'tide-cursor-pointer',
63
+ },
64
+ DISPLAY: {
65
+ BLOCK: 'tide-display-block',
66
+ CONTENTS: 'tide-contents',
67
+ FLEX: 'tide-display-flex',
68
+ GRID: 'tide-display-grid',
69
+ HIDDEN: 'tide-display-hidden',
70
+ INITIAL: 'initial',
71
+ INLINE: 'tide-display-inline',
72
+ INLINE_BLOCK: 'tide-display-inline-block',
73
+ INLINE_FLEX: 'tide-display-inline-flex',
74
+ },
75
+ FLEX: {
76
+ DIRECTION: {
77
+ COLUMN: 'tide-flex-column',
78
+ COLUMN_REVERSE: 'tide-flex-column-reverse',
79
+ ROW: 'tide-flex-row',
80
+ ROW_REVERSE: 'tide-row-reverse',
81
+ },
82
+ GROW: {
83
+ OFF: 'tide-grow-none',
84
+ ON: 'tide-grow',
85
+ },
86
+ SHRINK: {
87
+ OFF: 'tide-shrink-none',
88
+ ON: 'tide-shrink',
89
+ },
90
+ WRAP: 'tide-flex-wrap',
91
+ },
92
+ FONT: {
93
+ SIZE: {
94
+ FOURTEEN: 'tide-font-14',
95
+ SIXTEEN: 'tide-font-16',
96
+ THIRTY_TWO: 'tide-font-32',
97
+ TWELVE: 'tide-font-12',
98
+ TWENTY: 'tide-font-20',
99
+ TWENTY_FOUR: 'tide-font-24',
100
+ },
101
+ WEIGHT: {
102
+ FIVE_HUNDRED: 'tide-font-500',
103
+ FOUR_HUNDRED: 'tide-font-400',
104
+ SEVEN_HUNDRED: 'tide-font-700',
105
+ SIX_HUNDRED: 'tide-font-600',
106
+ },
107
+ },
108
+ GAP: {
109
+ FOUR: 'tide-gap-4',
110
+ HALF: 'tide-gap-1/2',
111
+ ONE: 'tide-gap-1',
112
+ QUARTER: 'tide-gap-1/4',
113
+ TWO: 'tide-gap-2',
114
+ },
115
+ HEIGHT: {
116
+ FULL: 'tide-height-full',
117
+ },
118
+ LIST_BULLETS: {
119
+ OFF: 'tide-list-none',
120
+ },
121
+ MARGIN: {
122
+ BOTTOM: {
123
+ FOUR: 'tide-margin-bottom-4',
124
+ HALF: 'tide-margin-bottom-1/2',
125
+ ONE: 'tide-margin-bottom-1',
126
+ QUARTER: 'tide-margin-bottom-1/4',
127
+ TWO: 'tide-margin-bottom-2',
128
+ },
129
+ FULL: {
130
+ FOUR: 'tide-margin-4',
131
+ HALF: 'tide-margin-1/2',
132
+ ONE: 'tide-margin-1',
133
+ QUARTER: 'tide-margin-1/4',
134
+ TWO: 'tide-margin-2',
135
+ },
136
+ LEFT: {
137
+ AUTO: 'tide-margin-left-auto',
138
+ FOUR: 'tide-margin-left-4',
139
+ HALF: 'tide-margin-left-1/2',
140
+ ONE: 'tide-margin-left-1',
141
+ QUARTER: 'tide-margin-left-1/4',
142
+ TWO: 'tide-margin-left-2',
143
+ },
144
+ RIGHT: {
145
+ AUTO: 'tide-margin-right-auto',
146
+ FOUR: 'tide-margin-right-4',
147
+ HALF: 'tide-margin-right-1/2',
148
+ ONE: 'tide-margin-right-1',
149
+ QUARTER: 'tide-margin-right-1/4',
150
+ TWO: 'tide-margin-right-2',
151
+ },
152
+ TOP: {
153
+ FOUR: 'tide-margin-top-4',
154
+ HALF: 'tide-margin-top-1/2',
155
+ ONE: 'tide-margin-top-1',
156
+ QUARTER: 'tide-margin-top-1/4',
157
+ TWO: 'tide-margin-top-2',
158
+ },
159
+ X: {
160
+ AUTO: 'tide-margin-x-auto',
161
+ FOUR: 'tide-margin-x-4',
162
+ HALF: 'tide-margin-x-1/2',
163
+ ONE: 'tide-margin-x-1',
164
+ QUARTER: 'tide-margin-x-1/4',
165
+ TWO: 'tide-margin-x-2',
166
+ },
167
+ Y: {
168
+ FOUR: 'tide-margin-y-4',
169
+ HALF: 'tide-margin-y-1/2',
170
+ ONE: 'tide-margin-y-1',
171
+ QUARTER: 'tide-margin-y-1/4',
172
+ TWO: 'tide-margin-y-2',
173
+ },
174
+ },
175
+ OBJECT: {
176
+ CENTER: 'tide-object-center',
177
+ CONTAIN: 'tide-object-contain',
178
+ COVER: 'tide-object-cover',
179
+ SCALE_DOWN: 'tide-object-scale-down',
180
+ },
181
+ OVERFLOW: {
182
+ X: {
183
+ AUTO: 'tide-x-auto',
184
+ HIDDEN: 'tide-x-hidden',
185
+ SCROLL: 'tide-x-scroll',
186
+ },
187
+ XY: {
188
+ AUTO: 'tide-xy-auto',
189
+ HIDDEN: 'tide-xy-hidden',
190
+ },
191
+ Y: {
192
+ AUTO: 'tide-y-auto',
193
+ HIDDEN: 'tide-y-hidden',
194
+ },
195
+ },
196
+ PADDING: {
197
+ BOTTOM: {
198
+ FOUR: 'tide-padding-bottom-4',
199
+ HALF: 'tide-padding-bottom-1/2',
200
+ ONE: 'tide-padding-bottom-1',
201
+ QUARTER: 'tide-padding-bottom-1/4',
202
+ TWO: 'tide-padding-bottom-2',
203
+ },
204
+ FULL: {
205
+ FOUR: 'tide-padding-4',
206
+ HALF: 'tide-padding-1/2',
207
+ ONE: 'tide-padding-1',
208
+ QUARTER: 'tide-padding-1/4',
209
+ TWO: 'tide-padding-2',
210
+ },
211
+ LEFT: {
212
+ FOUR: 'tide-padding-left-4',
213
+ HALF: 'tide-padding-left-1/2',
214
+ ONE: 'tide-padding-left-1',
215
+ QUARTER: 'tide-padding-left-1/4',
216
+ TWO: 'tide-padding-left-2',
217
+ },
218
+ RIGHT: {
219
+ FOUR: 'tide-padding-right-4',
220
+ HALF: 'tide-padding-right-1/2',
221
+ ONE: 'tide-padding-right-1',
222
+ QUARTER: 'tide-padding-right-1/4',
223
+ TWO: 'tide-padding-right-2',
224
+ },
225
+ TOP: {
226
+ FOUR: 'tide-padding-top-4',
227
+ HALF: 'tide-padding-top-1/2',
228
+ ONE: 'tide-padding-top-1',
229
+ QUARTER: 'tide-padding-top-1/4',
230
+ TWO: 'tide-padding-top-2',
231
+ },
232
+ X: {
233
+ FOUR: 'tide-padding-x-4',
234
+ HALF: 'tide-padding-x-1/2',
235
+ ONE: 'tide-padding-x-1',
236
+ QUARTER: 'tide-padding-x-1/4',
237
+ TWO: 'tide-padding-x-2',
238
+ },
239
+ Y: {
240
+ FOUR: 'tide-padding-y-4',
241
+ HALF: 'tide-padding-y-1/2',
242
+ ONE: 'tide-padding-y-1',
243
+ QUARTER: 'tide-padding-y-1/4',
244
+ TWO: 'tide-padding-y-2',
245
+ },
246
+ },
247
+ POINTER_EVENTS: {
248
+ OFF: 'tide-pointer-events-none',
249
+ ON: 'tide-pointer-events',
250
+ },
251
+ POSITION: {
252
+ ABSOLUTE: 'tide-position-absolute',
253
+ FIXED: 'tide-position-fixed',
254
+ RELATIVE: 'tide-position-relative',
255
+ STICKY: 'tide-sticky',
256
+ },
257
+ POSITIONING: {
258
+ BOTTOM_0: 'tide-bottom-0',
259
+ LEFT_0: 'tide-left-0',
260
+ RIGHT_0: 'tide-right-0',
261
+ TOP_0: 'tide-top-0',
262
+ },
263
+ SCROLLBAR: {
264
+ OFF: 'tide-scrollbar-none',
265
+ },
266
+ SHADOW: {
267
+ BOTTOM: 'tide-shadow-bottom',
268
+ TOP: 'tide-shadow-top',
269
+ },
270
+ SNAP: {
271
+ ON: 'tide-snap',
272
+ },
273
+ SNAP_ALIGN: {
274
+ START: 'tide-snap-start',
275
+ },
276
+ TEXT_TRANSFORM: {
277
+ LOWER: 'tide-text-transform-lower',
278
+ NONE: 'tide-text-transform-none',
279
+ UPPER: 'tide-text-transform-upper',
280
+ },
281
+ UNDERLINE: {
282
+ HOVER: 'tide-underline-hover',
283
+ OFF: 'tide-underline-none',
284
+ ON: 'tide-underline',
285
+ },
286
+ VISIBILITY: {
287
+ OFF: 'tide-visible-none',
288
+ ON: 'tide-visible',
289
+ },
290
+ WHITESPACE_WRAP: {
291
+ OFF: 'tide-whitespace-nowrap',
292
+ },
293
+ WIDTH: {
294
+ FULL: 'tide-width-full',
295
+ MAX_FULL: 'tide-max-width-full',
296
+ },
297
+ };
298
+
299
+ export type CssUtility = (typeof CSS)[keyof typeof CSS];
300
+
301
+ export const cssSortOrder = [
302
+ CSS.DISPLAY.BLOCK,
303
+ CSS.DISPLAY.CONTENTS,
304
+ CSS.DISPLAY.FLEX,
305
+ CSS.DISPLAY.GRID,
306
+ CSS.DISPLAY.HIDDEN,
307
+ CSS.DISPLAY.INITIAL,
308
+ CSS.DISPLAY.INLINE,
309
+ CSS.DISPLAY.INLINE_BLOCK,
310
+ CSS.DISPLAY.INLINE_FLEX,
311
+ CSS.AXIS1.AROUND,
312
+ CSS.AXIS1.BETWEEN,
313
+ CSS.AXIS1.CENTER,
314
+ CSS.AXIS1.END,
315
+ CSS.AXIS1.START,
316
+ CSS.AXIS2.AROUND,
317
+ CSS.AXIS2.CENTER,
318
+ CSS.AXIS2.END,
319
+ CSS.AXIS2.START,
320
+ CSS.FLEX.DIRECTION.COLUMN,
321
+ CSS.FLEX.DIRECTION.COLUMN_REVERSE,
322
+ CSS.FLEX.DIRECTION.ROW,
323
+ CSS.FLEX.DIRECTION.ROW_REVERSE,
324
+ CSS.GAP.ONE,
325
+ CSS.GAP.HALF,
326
+ CSS.GAP.QUARTER,
327
+ CSS.GAP.TWO,
328
+ CSS.GAP.FOUR,
329
+ CSS.FLEX.GROW.ON,
330
+ CSS.FLEX.GROW.OFF,
331
+ CSS.FLEX.SHRINK.ON,
332
+ CSS.FLEX.SHRINK.OFF,
333
+ CSS.FLEX.WRAP,
334
+ CSS.POSITION.ABSOLUTE,
335
+ CSS.POSITION.FIXED,
336
+ CSS.POSITION.RELATIVE,
337
+ CSS.POSITION.STICKY,
338
+ CSS.POSITIONING.TOP_0,
339
+ CSS.POSITIONING.RIGHT_0,
340
+ CSS.POSITIONING.BOTTOM_0,
341
+ CSS.POSITIONING.LEFT_0,
342
+ CSS.BOX_SIZING.BORDER_BOX,
343
+ CSS.BOX_SIZING.CONTENT_BOX,
344
+ CSS.MARGIN.FULL.ONE,
345
+ CSS.MARGIN.FULL.HALF,
346
+ CSS.MARGIN.FULL.QUARTER,
347
+ CSS.MARGIN.FULL.TWO,
348
+ CSS.MARGIN.FULL.FOUR,
349
+ CSS.MARGIN.Y.ONE,
350
+ CSS.MARGIN.Y.HALF,
351
+ CSS.MARGIN.Y.QUARTER,
352
+ CSS.MARGIN.Y.TWO,
353
+ CSS.MARGIN.Y.FOUR,
354
+ CSS.MARGIN.TOP.ONE,
355
+ CSS.MARGIN.TOP.HALF,
356
+ CSS.MARGIN.TOP.QUARTER,
357
+ CSS.MARGIN.TOP.TWO,
358
+ CSS.MARGIN.TOP.FOUR,
359
+ CSS.MARGIN.X.ONE,
360
+ CSS.MARGIN.X.HALF,
361
+ CSS.MARGIN.X.QUARTER,
362
+ CSS.MARGIN.X.TWO,
363
+ CSS.MARGIN.X.FOUR,
364
+ CSS.MARGIN.X.AUTO,
365
+ CSS.MARGIN.RIGHT.ONE,
366
+ CSS.MARGIN.RIGHT.HALF,
367
+ CSS.MARGIN.RIGHT.QUARTER,
368
+ CSS.MARGIN.RIGHT.TWO,
369
+ CSS.MARGIN.RIGHT.FOUR,
370
+ CSS.MARGIN.RIGHT.AUTO,
371
+ CSS.MARGIN.BOTTOM.ONE,
372
+ CSS.MARGIN.BOTTOM.HALF,
373
+ CSS.MARGIN.BOTTOM.QUARTER,
374
+ CSS.MARGIN.BOTTOM.TWO,
375
+ CSS.MARGIN.BOTTOM.FOUR,
376
+ CSS.MARGIN.LEFT.ONE,
377
+ CSS.MARGIN.LEFT.HALF,
378
+ CSS.MARGIN.LEFT.QUARTER,
379
+ CSS.MARGIN.LEFT.TWO,
380
+ CSS.MARGIN.LEFT.FOUR,
381
+ CSS.MARGIN.LEFT.AUTO,
382
+ CSS.BORDER.FULL.ONE,
383
+ CSS.BORDER.FULL.TWO,
384
+ CSS.BORDER.TOP.ONE,
385
+ CSS.BORDER.TOP.TWO,
386
+ CSS.BORDER.RIGHT.ONE,
387
+ CSS.BORDER.RIGHT.TWO,
388
+ CSS.BORDER.BOTTOM.ONE,
389
+ CSS.BORDER.BOTTOM.TWO,
390
+ CSS.BORDER.LEFT.ONE,
391
+ CSS.BORDER.LEFT.TWO,
392
+ CSS.BORDER.RADIUS.ONE,
393
+ CSS.BORDER.RADIUS.HALF,
394
+ CSS.BORDER.RADIUS.QUARTER,
395
+ CSS.BORDER.RADIUS.FULL,
396
+ CSS.PADDING.FULL.ONE,
397
+ CSS.PADDING.FULL.HALF,
398
+ CSS.PADDING.FULL.QUARTER,
399
+ CSS.PADDING.FULL.TWO,
400
+ CSS.PADDING.FULL.FOUR,
401
+ CSS.PADDING.Y.ONE,
402
+ CSS.PADDING.Y.HALF,
403
+ CSS.PADDING.Y.QUARTER,
404
+ CSS.PADDING.Y.TWO,
405
+ CSS.PADDING.Y.FOUR,
406
+ CSS.PADDING.TOP.ONE,
407
+ CSS.PADDING.TOP.HALF,
408
+ CSS.PADDING.TOP.QUARTER,
409
+ CSS.PADDING.TOP.TWO,
410
+ CSS.PADDING.TOP.FOUR,
411
+ CSS.PADDING.X.ONE,
412
+ CSS.PADDING.X.HALF,
413
+ CSS.PADDING.X.QUARTER,
414
+ CSS.PADDING.X.TWO,
415
+ CSS.PADDING.X.FOUR,
416
+ CSS.PADDING.RIGHT.ONE,
417
+ CSS.PADDING.RIGHT.HALF,
418
+ CSS.PADDING.RIGHT.QUARTER,
419
+ CSS.PADDING.RIGHT.TWO,
420
+ CSS.PADDING.RIGHT.FOUR,
421
+ CSS.PADDING.BOTTOM.ONE,
422
+ CSS.PADDING.BOTTOM.HALF,
423
+ CSS.PADDING.BOTTOM.QUARTER,
424
+ CSS.PADDING.BOTTOM.TWO,
425
+ CSS.PADDING.BOTTOM.FOUR,
426
+ CSS.PADDING.LEFT.ONE,
427
+ CSS.PADDING.LEFT.HALF,
428
+ CSS.PADDING.LEFT.QUARTER,
429
+ CSS.PADDING.LEFT.TWO,
430
+ CSS.PADDING.LEFT.FOUR,
431
+ CSS.WIDTH.MAX_FULL,
432
+ CSS.WIDTH.FULL,
433
+ CSS.HEIGHT.FULL,
434
+ CSS.ALIGN.Y.MIDDLE,
435
+ CSS.BREAK_WORD,
436
+ CSS.CURSOR.NOT_ALLOWED,
437
+ CSS.CURSOR.POINTER,
438
+ CSS.FONT.SIZE.TWELVE,
439
+ CSS.FONT.SIZE.FOURTEEN,
440
+ CSS.FONT.SIZE.SIXTEEN,
441
+ CSS.FONT.SIZE.TWENTY,
442
+ CSS.FONT.SIZE.TWENTY_FOUR,
443
+ CSS.FONT.SIZE.THIRTY_TWO,
444
+ CSS.FONT.WEIGHT.FOUR_HUNDRED,
445
+ CSS.FONT.WEIGHT.FIVE_HUNDRED,
446
+ CSS.FONT.WEIGHT.SIX_HUNDRED,
447
+ CSS.FONT.WEIGHT.SEVEN_HUNDRED,
448
+ CSS.LIST_BULLETS.OFF,
449
+ CSS.OBJECT.CENTER,
450
+ CSS.OBJECT.CONTAIN,
451
+ CSS.OBJECT.COVER,
452
+ CSS.OBJECT.SCALE_DOWN,
453
+ CSS.POINTER_EVENTS.ON,
454
+ CSS.POINTER_EVENTS.OFF,
455
+ CSS.SCROLLBAR.OFF,
456
+ CSS.SHADOW.BOTTOM,
457
+ CSS.SHADOW.TOP,
458
+ CSS.SNAP.ON,
459
+ CSS.SNAP_ALIGN.START,
460
+ CSS.ALIGN.X.LEFT,
461
+ CSS.ALIGN.X.CENTER,
462
+ CSS.ALIGN.X.RIGHT,
463
+ CSS.TEXT_TRANSFORM.LOWER,
464
+ CSS.TEXT_TRANSFORM.NONE,
465
+ CSS.TEXT_TRANSFORM.UPPER,
466
+ CSS.UNDERLINE,
467
+ CSS.UNDERLINE.HOVER,
468
+ CSS.UNDERLINE.OFF,
469
+ CSS.VISIBILITY.ON,
470
+ CSS.VISIBILITY.OFF,
471
+ CSS.WHITESPACE_WRAP.OFF,
472
+ CSS.OVERFLOW.XY.AUTO,
473
+ CSS.OVERFLOW.XY.HIDDEN,
474
+ CSS.OVERFLOW.X.AUTO,
475
+ CSS.OVERFLOW.X.HIDDEN,
476
+ CSS.OVERFLOW.X.SCROLL,
477
+ CSS.OVERFLOW.Y.AUTO,
478
+ CSS.OVERFLOW.Y.HIDDEN,
479
+ ];
@@ -0,0 +1,5 @@
1
+ export type Tab = {
2
+ count?: number;
3
+ dataTrack?: string;
4
+ label: string;
5
+ };
@@ -0,0 +1,6 @@
1
+ export const TARGET = {
2
+ BLANK: '_blank',
3
+ SELF: undefined,
4
+ } as const;
5
+
6
+ export type Target = (typeof TARGET)[keyof typeof TARGET];
@@ -0,0 +1,16 @@
1
+ export const TEXT_INPUT_TYPE = {
2
+ DATE: 'date',
3
+ DATETIME_LOCAL: 'datetime-local',
4
+ EMAIL: 'email',
5
+ MONTH: 'month',
6
+ NUMBER: 'number',
7
+ PASSWORD: 'password',
8
+ SEARCH: 'search',
9
+ TEL: 'tel',
10
+ TEXT: 'text',
11
+ TIME: 'time',
12
+ URL: 'url',
13
+ WEEK: 'week',
14
+ } as const;
15
+
16
+ export type TextInputType = (typeof TEXT_INPUT_TYPE)[keyof typeof TEXT_INPUT_TYPE];
@@ -0,0 +1,18 @@
1
+ import { FORMAT_REGEX } from '@/types/Formatted';
2
+ import { checkFormat } from '@/utilities/validation';
3
+
4
+ export const VALIDATOR = {
5
+ ALPHA_NUMBER_EMPTY: checkFormat(FORMAT_REGEX.alphaNumberOrEmpty),
6
+ ALPHA_SPACE: checkFormat(FORMAT_REGEX.alphaSpace),
7
+ EMAIL: checkFormat(FORMAT_REGEX.email),
8
+ NUMBER: checkFormat(FORMAT_REGEX.numberFormatted),
9
+ PHONE: checkFormat(FORMAT_REGEX.phone),
10
+ } as const;
11
+
12
+ export type ValidationError = string | boolean;
13
+ export type ValidationResult = {
14
+ valid: boolean;
15
+ message: string;
16
+ };
17
+
18
+ export type Validator = (value: string) => ValidationResult;
@@ -0,0 +1,139 @@
1
+ export type Vehicle = {
2
+ adAttribs: {
3
+ itemUrl: string;
4
+ makeAnOffer: string;
5
+ priceDisclaimer: string;
6
+ requestAPrice: string;
7
+ videoBorchueNarationStyle: string;
8
+ };
9
+ adDetailUrl: string;
10
+ adFeatures: {
11
+ buyNow: boolean;
12
+ featuredHomepage: boolean;
13
+ featuredSearch: boolean;
14
+ hideFloorPlans: boolean;
15
+ oneYearPackage: boolean;
16
+ paaVideo: boolean;
17
+ premium: boolean;
18
+ topPremium: boolean;
19
+ };
20
+ adId: number;
21
+ adListingPosition: number;
22
+ categoryName: string[];
23
+ city: string;
24
+ cityStateFacet: string;
25
+ classId: string;
26
+ className: string;
27
+ companyName: string;
28
+ condition: string[];
29
+ createDate: string;
30
+ createDateFormatted: string;
31
+ customerId: string;
32
+ dealerFeatures: {
33
+ deactivateContactDealer: boolean;
34
+ hasAccessIndustryAero: boolean;
35
+ hasAccessIndustryCycle: boolean;
36
+ hasAccessIndustryEquipment: boolean;
37
+ hasAccessIndustryNextruck: boolean;
38
+ hasAccessIndustryRV: boolean;
39
+ hasAccessIndustryRentalsCycle: boolean;
40
+ hasAccessIndustryRentalsRv: boolean;
41
+ hasAccessIndustryRockAndDirt: boolean;
42
+ hasAccessIndustryTradeAPlane: boolean;
43
+ hasAccessIndustryTradeEquip: boolean;
44
+ hasAccessIndustryTrailer: boolean;
45
+ hasAccessIndustryTruck: boolean;
46
+ hasAdLocationLockdown: boolean;
47
+ hasAdPearance: boolean;
48
+ hasAutoSelectUnusedBundle: boolean;
49
+ hasClickToCall: boolean;
50
+ hasClickToWeb: boolean;
51
+ hasContactAtOnce: boolean;
52
+ hasContactAtOnceTexting: boolean;
53
+ hasCoreLite: boolean;
54
+ hasDealDesignation: boolean;
55
+ hasDealerCoreLeadManager: boolean;
56
+ hasDigitalRetailingBuyNow: boolean;
57
+ hasDigitalRetailingEnhancedLead: boolean;
58
+ hasFacebookRetargeting: boolean;
59
+ hasGreenFlag: boolean;
60
+ hasHideDealerWebsiteLink: boolean;
61
+ hasHideFactorySpecs: boolean;
62
+ hasHideFinance: boolean;
63
+ hasHideInspection: boolean;
64
+ hasHideLoanCalculator: boolean;
65
+ hasHideShipping: boolean;
66
+ hasHideStandardFeatures: boolean;
67
+ hasHideTaglines: boolean;
68
+ hasInternetAdvertising: boolean;
69
+ hasMakeAnOffer: boolean;
70
+ hasMakeAnOfferPrice: boolean;
71
+ hasMapIt: boolean;
72
+ hasOctaneFinance: boolean;
73
+ hasOptOutDealerGroupLeaderboard: boolean;
74
+ hasOptOutDealerGroupRollup: boolean;
75
+ hasOptOutDealerGroupSharedLogin: boolean;
76
+ hasOptOutDealerGroupWebsite: boolean;
77
+ hasRemoveLoanCalcDealerFinancing: boolean;
78
+ hasRemoveVinFromDisplay: boolean;
79
+ hasRental: boolean;
80
+ hasRequestBestPrice: boolean;
81
+ hasRequestPrice: boolean;
82
+ hasRequestQuotePreorder: boolean;
83
+ hasRequestQuoteWeBuy: boolean;
84
+ hasRequestTradeIn: boolean;
85
+ hasShiftDigital: boolean;
86
+ hasShowListingAddress: boolean;
87
+ hasShutOffAdvertising: boolean;
88
+ hasShutOffDigitRetailVDP: boolean;
89
+ hasSuggestedTrucks: boolean;
90
+ hasTalkingBrochure: boolean;
91
+ hasTiChat: boolean;
92
+ hasTiChatGuestDisabled: boolean;
93
+ hasTiChatManaged: boolean;
94
+ hasTradeIn: boolean;
95
+ hasTradeInFeature: boolean;
96
+ hasTradertraxxCombinedExperience: boolean;
97
+ hasVideo: boolean;
98
+ hasVideoChatRequest: boolean;
99
+ hasVr: boolean;
100
+ isHibernate: boolean;
101
+ removeRequestPhotoVideo: boolean;
102
+ };
103
+ dealerGroupDealerCount: string;
104
+ dealerGroupId: string;
105
+ dealerGroupName: string;
106
+ dealerId: string;
107
+ dealerPhone: string[];
108
+ dealerWebsiteUrl: string;
109
+ description: string;
110
+ isBuynow: string;
111
+ isFeatured: string;
112
+ isPremium: string;
113
+ isToppremium: string;
114
+ latitude: string;
115
+ longitude: string;
116
+ makeFacet: string[];
117
+ makeId: string[];
118
+ makeName: string[];
119
+ meta: {
120
+ engine: string;
121
+ id: string;
122
+ score: number;
123
+ };
124
+ mfrSerialNum: null;
125
+ modelFacet: string[];
126
+ modelName: string[];
127
+ msrp: null;
128
+ phone: string;
129
+ photoCount: number;
130
+ photoIds: string[];
131
+ price: number;
132
+ rebate: null;
133
+ schemeCode: string;
134
+ sellerType: string;
135
+ stateCode: string;
136
+ trimName: string[];
137
+ websiteUrl: null;
138
+ year: number;
139
+ };
@@ -0,0 +1,44 @@
1
+ export type VehicleDetail = {
2
+ id: string;
3
+ adUrl: string;
4
+ breadcrumbs: { text: string; link: string }[];
5
+ categoryName: string | null;
6
+ className: string;
7
+ condition: string;
8
+ customerId: string;
9
+ dealerId: string;
10
+ dealerLogo: { url: string };
11
+ dealerMapUrl: string;
12
+ dealerName: string;
13
+ dealerRepeatTag: string;
14
+ features: { id: string; name: string }[];
15
+ makeAnOfferPrice: string | null;
16
+ makeDisplayName: string;
17
+ modelDisplayName: string;
18
+ phone: string;
19
+ photos: { url: string }[];
20
+ price: string;
21
+ realmId: string;
22
+ state: string;
23
+ trimName: string;
24
+ year: string;
25
+ zip: string;
26
+ formattedPhone: string;
27
+ description: string;
28
+ miles: string;
29
+ location: string;
30
+ locationDistance: string;
31
+ details: { [key: string]: string };
32
+ factorySpecs: string | null;
33
+ localDelivery: string;
34
+ emailSellerUrl: string;
35
+ dealerLink: string;
36
+ realmUrl: string;
37
+ realmName: string;
38
+ isSmsAvailable: boolean;
39
+ isChatAvailable: boolean;
40
+ isDealerWebsiteAvailable: boolean;
41
+ video?: { thumbnail: string; url: string };
42
+ vrUrl: string;
43
+ floorPlanMediaId: string | null;
44
+ };
@@ -0,0 +1,7 @@
1
+ type MyName = {
2
+ fname: string;
3
+ mname: string;
4
+ lname: string;
5
+ };
6
+
7
+ export type { MyName };