tide-design-system 2.0.0 → 2.0.2
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/assets/style.css +1 -0
- package/dist/css/animation.css +1 -1
- package/dist/css/dynamic-buttons.css +22 -22
- package/dist/css/dynamic-utilities.css +21 -22
- package/dist/css/main.css +0 -5
- package/dist/css/page-layout.css +30 -46
- package/dist/css/realm/aero.css +33 -33
- package/dist/css/realm/atv.css +34 -34
- package/dist/css/realm/boatmart.css +33 -33
- package/dist/css/realm/cycle.css +33 -33
- package/dist/css/realm/equip.css +33 -33
- package/dist/css/realm/pwc.css +33 -33
- package/dist/css/realm/rv.css +33 -33
- package/dist/css/realm/snow.css +32 -32
- package/dist/css/realm/truck.css +33 -33
- package/dist/css/reset.css +9 -9
- package/dist/css/sb-rv.css +1 -0
- package/dist/css/storybook.css +2 -1
- package/dist/css/utilities.css +105 -102
- package/dist/css/variables.css +96 -92
- package/dist/tide-design-system.js +5 -0
- package/dist/tide-design-system2.js +5 -0
- package/dist/tide-design-system3.js +5 -0
- package/dist/tide-design-system4.js +5 -0
- package/dist/tide-design-system5.js +5 -0
- package/dist/tide-design-system6.js +5 -0
- package/dist/tide-design-system7.js +5 -0
- package/dist/tide-design-system8.js +5 -0
- package/dist/types/FacetRange.ts +84 -0
- package/dist/types/Field.ts +0 -1
- package/dist/types/Form.ts +57 -0
- package/dist/types/Realm.ts +1 -0
- package/dist/types/Select.ts +6 -0
- package/dist/types/Storybook.ts +206 -1
- package/dist/types/Styles.ts +34 -2
- package/dist/types/Validation.ts +7 -1
- package/dist/utilities/format.ts +75 -39
- package/dist/utilities/storybook.ts +66 -8
- package/dist/utilities/validation.ts +139 -34
- package/package.json +3 -2
- package/dist/IconAccountBalance-91cf067b.js +0 -10
- package/dist/IconAdd-95c51c0e.js +0 -10
- package/dist/IconAi-08172540.js +0 -22
- package/dist/IconAlignSpace-9ab2bdf2.js +0 -10
- package/dist/IconApplePay-1ee6317b.js +0 -10
- package/dist/IconArrowBack-a2226a94.js +0 -10
- package/dist/IconArrowForward-e1ca9957.js +0 -10
- package/dist/IconArrowRight-53382084.js +0 -10
- package/dist/IconAssignment-332c2b2b.js +0 -10
- package/dist/IconAwardStar-1ca35385.js +0 -10
- package/dist/IconBookmark-49b42628.js +0 -10
- package/dist/IconCalendarMonth-22c938d7.js +0 -10
- package/dist/IconCall-989a47fc.js +0 -10
- package/dist/IconCheck-a3467b47.js +0 -10
- package/dist/IconChevronLeft-c1d90bb7.js +0 -10
- package/dist/IconChevronRight-ad47891f.js +0 -10
- package/dist/IconClear-7c8fad4e.js +0 -10
- package/dist/IconClose-4b6c5aed.js +0 -10
- package/dist/IconCycle-99d40f2d.js +0 -10
- package/dist/IconDelete-446eff93.js +0 -10
- package/dist/IconDiamond-765a7d8d.js +0 -10
- package/dist/IconEdit-ce05f3b5.js +0 -10
- package/dist/IconError-7983707a.js +0 -10
- package/dist/IconExpandContent-8b6e2125.js +0 -10
- package/dist/IconExpandLess-9e23f1e9.js +0 -10
- package/dist/IconExpandMore-ded098a7.js +0 -10
- package/dist/IconFacebook-3cab65a8.js +0 -10
- package/dist/IconFavorite-5fe831f4.js +0 -10
- package/dist/IconFavoriteFilled-58fa0bf7.js +0 -10
- package/dist/IconFormatBold-889f6b8b.js +0 -10
- package/dist/IconFormatItalic-103eba00.js +0 -10
- package/dist/IconFormatListBulleted-4c824025.js +0 -10
- package/dist/IconForum-abc2fe82.js +0 -10
- package/dist/IconGoogle-281b6d80.js +0 -27
- package/dist/IconGooglePay-cc83c5c8.js +0 -10
- package/dist/IconGrid-ef763745.js +0 -10
- package/dist/IconHelp-2ad33f76.js +0 -10
- package/dist/IconInfo-5878df77.js +0 -10
- package/dist/IconInsertText-0c62badf.js +0 -10
- package/dist/IconInstagram-69e21cfb.js +0 -10
- package/dist/IconIosShare-be5f117c.js +0 -10
- package/dist/IconLayout-c1ffbcd3.js +0 -10
- package/dist/IconLinkedIn-807ef6f5.js +0 -10
- package/dist/IconLocalShipping-2c6d71e0.js +0 -10
- package/dist/IconLock-9178e816.js +0 -10
- package/dist/IconMail-0123a7c6.js +0 -10
- package/dist/IconMenu-33ed2d99.js +0 -10
- package/dist/IconMoreHoriz-c281099f.js +0 -10
- package/dist/IconNotifications-89f80e0f.js +0 -10
- package/dist/IconOpenInNew-87ad0454.js +0 -10
- package/dist/IconPalette-7ee5b40c.js +0 -10
- package/dist/IconPaypal-e311eadd.js +0 -10
- package/dist/IconPerson-932fbcbc.js +0 -10
- package/dist/IconPhotoCamera-fdbd5767.js +0 -10
- package/dist/IconPinterest-2d19c2eb.js +0 -10
- package/dist/IconPlayArrow-9837a5c0.js +0 -10
- package/dist/IconRemove-29ef8f82.js +0 -10
- package/dist/IconRoundedCorners-8ad194fc.js +0 -10
- package/dist/IconSearch-5ff23d26.js +0 -10
- package/dist/IconSell-0e0ecd20.js +0 -10
- package/dist/IconShare-47084765.js +0 -10
- package/dist/IconShoppingCart-9d6495b3.js +0 -10
- package/dist/IconSms-5ba18382.js +0 -10
- package/dist/IconStar-ef69284b.js +0 -10
- package/dist/IconSwapVert-05e14e3d.js +0 -10
- package/dist/IconThreeDRotation-2433b2e8.js +0 -25
- package/dist/IconTune-3c6452f0.js +0 -10
- package/dist/IconTwitter-a634cef4.js +0 -10
- package/dist/IconVideocam-5712435e.js +0 -10
- package/dist/IconViewInAr-d38a23d5.js +0 -10
- package/dist/IconVisibility-8cdf7151.js +0 -10
- package/dist/IconWarning-b9e61180.js +0 -10
- package/dist/IconYoutube-92447826.js +0 -10
- package/dist/css/dynamic-inputs.css +0 -43
- package/dist/index-c5bc4216.js +0 -1910
- package/dist/style.css +0 -1
- package/dist/tide2-design-system.js +0 -36
- package/dist/types/StorybookStyles.ts +0 -209
- package/dist/types/Vehicle.ts +0 -139
- package/dist/types/VehicleDetail.ts +0 -44
- package/dist/types/index.d.ts +0 -7
- package/dist/utilities/forms.ts +0 -47
- package/dist/utilities/media.ts +0 -77
package/dist/css/variables.css
CHANGED
|
@@ -1,114 +1,118 @@
|
|
|
1
1
|
/*.CSS Variables */
|
|
2
2
|
:root {
|
|
3
3
|
/* Font Size */
|
|
4
|
-
--font-
|
|
5
|
-
--font-
|
|
6
|
-
--font-
|
|
7
|
-
--font-
|
|
8
|
-
--font-
|
|
9
|
-
--font-
|
|
10
|
-
--font-
|
|
4
|
+
--tide-font-10: 0.625rem; /* 10px */
|
|
5
|
+
--tide-font-12: 0.75rem; /* 12px */
|
|
6
|
+
--tide-font-14: 0.875rem; /* 14px */
|
|
7
|
+
--tide-font-16: 1rem; /* 16px */
|
|
8
|
+
--tide-font-20: 1.25rem; /* 20px */
|
|
9
|
+
--tide-font-24: 1.5rem; /* 24px */
|
|
10
|
+
--tide-font-28: 1.75rem; /* 28px */
|
|
11
|
+
--tide-font-32: 2rem; /* 32px */
|
|
11
12
|
|
|
12
13
|
/* Font Weight */
|
|
13
|
-
--font-400: 400;
|
|
14
|
-
--font-500: 500;
|
|
15
|
-
--font-600: 600;
|
|
16
|
-
--font-700: 700;
|
|
14
|
+
--tide-font-400: 400;
|
|
15
|
+
--tide-font-500: 500;
|
|
16
|
+
--tide-font-600: 600;
|
|
17
|
+
--tide-font-700: 700;
|
|
17
18
|
|
|
18
19
|
/* Animation */
|
|
19
|
-
--animate: 300ms ease-in-out;
|
|
20
|
+
--tide-animate: 300ms ease-in-out;
|
|
20
21
|
|
|
21
22
|
/* Spacing */
|
|
22
|
-
--spacing-0: 0rem;
|
|
23
|
-
--spacing-1\/4: 0.25rem;
|
|
24
|
-
--spacing-1\/2: 0.5rem;
|
|
25
|
-
--spacing-1: 1rem;
|
|
26
|
-
--spacing-2: 2rem;
|
|
27
|
-
--spacing-4: 4rem;
|
|
23
|
+
--tide-spacing-0: 0rem;
|
|
24
|
+
--tide-spacing-1\/4: 0.25rem;
|
|
25
|
+
--tide-spacing-1\/2: 0.5rem;
|
|
26
|
+
--tide-spacing-1: 1rem;
|
|
27
|
+
--tide-spacing-2: 2rem;
|
|
28
|
+
--tide-spacing-4: 4rem;
|
|
28
29
|
|
|
29
30
|
/* Border */
|
|
30
|
-
--border-width-1: 1px;
|
|
31
|
-
--border-width-2: 2px;
|
|
31
|
+
--tide-border-width-1: 1px;
|
|
32
|
+
--tide-border-width-2: 2px;
|
|
32
33
|
|
|
33
|
-
--border-1: var(--border-width-1) solid var(--black);
|
|
34
|
-
--border-2: var(--border-width-2) solid var(--black);
|
|
34
|
+
--tide-border-1: var(--tide-border-width-1) solid var(--tide-black);
|
|
35
|
+
--tide-border-2: var(--tide-border-width-2) solid var(--tide-black);
|
|
35
36
|
|
|
36
37
|
/* Border Radius */
|
|
37
|
-
--radius-1\/4: 4px;
|
|
38
|
-
--radius-1\/2: 8px;
|
|
39
|
-
--radius-1: 16px;
|
|
40
|
-
--radius-full: 99999px;
|
|
38
|
+
--tide-radius-1\/4: 4px;
|
|
39
|
+
--tide-radius-1\/2: 8px;
|
|
40
|
+
--tide-radius-1: 16px;
|
|
41
|
+
--tide-radius-full: 99999px;
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
--
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
--
|
|
47
|
-
|
|
48
|
-
--gray-100: #FFFFFF;
|
|
49
|
-
--gray-200: #F5F5F5;
|
|
50
|
-
--gray-300: #E4E4E4;
|
|
51
|
-
--gray-400: #C9CACB;
|
|
52
|
-
--gray-500: #AEAFB2;
|
|
53
|
-
--gray-600: #939598;
|
|
54
|
-
--gray-700: #6E7072;
|
|
55
|
-
--gray-800: #494A4C;
|
|
56
|
-
--gray-900: #252526;
|
|
57
|
-
--gray-1000: #000000;
|
|
58
|
-
|
|
59
|
-
--green-100: #E6EFCF;
|
|
60
|
-
--green-200: #CDE09E;
|
|
61
|
-
--green-300: #B4D06E;
|
|
62
|
-
--green-400: #9BC13D;
|
|
63
|
-
|
|
64
|
-
--red-100: #EFCFCF;
|
|
65
|
-
--red-200: #E09E9E;
|
|
66
|
-
--red-300: #D06E6E;
|
|
67
|
-
--red-400: #C13D3D;
|
|
68
|
-
--red-500: #912E2E;
|
|
69
|
-
|
|
70
|
-
--yellow-100: #FEF2CC;
|
|
71
|
-
--yellow-200: #FCE499;
|
|
72
|
-
--yellow-300: #FBD766;
|
|
73
|
-
--yellow-400: #FACA33;
|
|
74
|
-
|
|
75
|
-
--black: var(--gray-900);
|
|
76
|
-
--white: var(--gray-100);
|
|
43
|
+
--tide-black: var(--tide-gray-900);
|
|
44
|
+
--tide-white: var(--tide-gray-100);
|
|
45
|
+
|
|
46
|
+
/* Opacity */
|
|
47
|
+
--tide-disabled: 0.333;
|
|
77
48
|
|
|
78
49
|
/* Shadow */
|
|
79
|
-
--shadow-bottom: 0px 2px 8px 2px rgba(0, 0, 0, 0.07);
|
|
80
|
-
--shadow-top: 0px -2px 8px 2px rgba(0, 0, 0, 0.07);
|
|
50
|
+
--tide-shadow-bottom: 0px 2px 8px 2px rgba(0, 0, 0, 0.07);
|
|
51
|
+
--tide-shadow-top: 0px -2px 8px 2px rgba(0, 0, 0, 0.07);
|
|
81
52
|
|
|
82
53
|
/* Transparency */
|
|
83
|
-
--transparent-100: rgba(255, 255, 255, 0.9);
|
|
84
|
-
--transparent-200: rgba(255, 255, 255, 0.75);
|
|
85
|
-
--transparent-300: rgba(0, 0, 0, 0.1);
|
|
86
|
-
--transparent-400: rgba(0, 0, 0, 0.5);
|
|
54
|
+
--tide-transparent-100: rgba(255, 255, 255, 0.9);
|
|
55
|
+
--tide-transparent-200: rgba(255, 255, 255, 0.75);
|
|
56
|
+
--tide-transparent-300: rgba(0, 0, 0, 0.1);
|
|
57
|
+
--tide-transparent-400: rgba(0, 0, 0, 0.5);
|
|
58
|
+
|
|
59
|
+
/* Global tonal palette */
|
|
60
|
+
--tide-blue-100: #D1E0EB;
|
|
61
|
+
--tide-blue-200: #A4C1D7;
|
|
62
|
+
--tide-blue-300: #76A3C4;
|
|
63
|
+
--tide-blue-400: #4984B0;
|
|
64
|
+
|
|
65
|
+
--tide-gray-100: #FFFFFF;
|
|
66
|
+
--tide-gray-200: #F5F5F5;
|
|
67
|
+
--tide-gray-300: #E4E4E4;
|
|
68
|
+
--tide-gray-400: #C9CACB;
|
|
69
|
+
--tide-gray-500: #AEAFB2;
|
|
70
|
+
--tide-gray-600: #939598;
|
|
71
|
+
--tide-gray-700: #6E7072;
|
|
72
|
+
--tide-gray-800: #494A4C;
|
|
73
|
+
--tide-gray-900: #252526;
|
|
74
|
+
--tide-gray-1000: #000000;
|
|
75
|
+
|
|
76
|
+
--tide-green-100: #E6EFCF;
|
|
77
|
+
--tide-green-200: #CDE09E;
|
|
78
|
+
--tide-green-300: #B4D06E;
|
|
79
|
+
--tide-green-400: #9BC13D;
|
|
80
|
+
|
|
81
|
+
--tide-red-100: #EFCFCF;
|
|
82
|
+
--tide-red-200: #E09E9E;
|
|
83
|
+
--tide-red-300: #D06E6E;
|
|
84
|
+
--tide-red-400: #C13D3D;
|
|
85
|
+
--tide-red-500: #912E2E;
|
|
86
|
+
|
|
87
|
+
--tide-yellow-100: #FEF2CC;
|
|
88
|
+
--tide-yellow-200: #FCE499;
|
|
89
|
+
--tide-yellow-300: #FBD766;
|
|
90
|
+
--tide-yellow-400: #FACA33;
|
|
87
91
|
|
|
88
92
|
/* Global color roles */
|
|
89
|
-
--error-primary: var(--red-400);
|
|
90
|
-
--error-primary-border: var(--red-300);
|
|
91
|
-
--error-surface: var(--red-100);
|
|
92
|
-
|
|
93
|
-
--error-border: var(--red-
|
|
94
|
-
--error-border-low: var(--red-200);
|
|
95
|
-
--error-border-high: var(--red-
|
|
96
|
-
|
|
97
|
-
--error-on-surface: var(--red-
|
|
98
|
-
--error-on-surface-variant: var(--red-
|
|
99
|
-
|
|
100
|
-
--info-primary: var(--blue-400);
|
|
101
|
-
--info-primary-border: var(--blue-300);
|
|
102
|
-
--info-surface: var(--blue-100);
|
|
103
|
-
--info-border: var(--blue-200);
|
|
104
|
-
|
|
105
|
-
--success-primary: var(--green-400);
|
|
106
|
-
--success-primary-border: var(--green-300);
|
|
107
|
-
--success-surface: var(--green-100);
|
|
108
|
-
--success-border: var(--green-200);
|
|
109
|
-
|
|
110
|
-
--warning-primary: var(--yellow-400);
|
|
111
|
-
--warning-primary-border: var(--yellow-300);
|
|
112
|
-
--warning-surface: var(--yellow-100);
|
|
113
|
-
--warning-border: var(--yellow-200);
|
|
93
|
+
--tide-error-primary: var(--tide-red-400);
|
|
94
|
+
--tide-error-primary-border: var(--tide-red-300);
|
|
95
|
+
--tide-error-surface: var(--tide-red-100);
|
|
96
|
+
|
|
97
|
+
--tide-error-border: var(--tide-red-400);
|
|
98
|
+
--tide-error-border-low: var(--tide-red-200);
|
|
99
|
+
--tide-error-border-high: var(--tide-red-500);
|
|
100
|
+
|
|
101
|
+
--tide-error-on-surface: var(--tide-red-400);
|
|
102
|
+
--tide-error-on-surface-variant: var(--tide-red-500 );
|
|
103
|
+
|
|
104
|
+
--tide-info-primary: var(--tide-blue-400);
|
|
105
|
+
--tide-info-primary-border: var(--tide-blue-300);
|
|
106
|
+
--tide-info-surface: var(--tide-blue-100);
|
|
107
|
+
--tide-info-border: var(--tide-blue-200);
|
|
108
|
+
|
|
109
|
+
--tide-success-primary: var(--tide-green-400);
|
|
110
|
+
--tide-success-primary-border: var(--tide-green-300);
|
|
111
|
+
--tide-success-surface: var(--tide-green-100);
|
|
112
|
+
--tide-success-border: var(--tide-green-200);
|
|
113
|
+
|
|
114
|
+
--tide-warning-primary: var(--tide-yellow-400);
|
|
115
|
+
--tide-warning-primary-border: var(--tide-yellow-300);
|
|
116
|
+
--tide-warning-surface: var(--tide-yellow-100);
|
|
117
|
+
--tide-warning-border: var(--tide-yellow-200);
|
|
114
118
|
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { SelectOption } from '@/types/Select';
|
|
2
|
+
|
|
3
|
+
export const FACET_COMPONENT_ID_RANGE = {
|
|
4
|
+
GROSS_WEIGHT: 'grossWeight',
|
|
5
|
+
LENGTH: 'vehicleLength',
|
|
6
|
+
MILEAGE: 'mileage',
|
|
7
|
+
PRICE: 'price',
|
|
8
|
+
SLEEPING_CAPACITY: 'sleepingCapacity',
|
|
9
|
+
SLIDEOUTS: 'slideouts',
|
|
10
|
+
YEAR: 'vehicleYear',
|
|
11
|
+
} as const;
|
|
12
|
+
|
|
13
|
+
export type FacetComponentIdRange = (typeof FACET_COMPONENT_ID_RANGE)[keyof typeof FACET_COMPONENT_ID_RANGE];
|
|
14
|
+
|
|
15
|
+
export type RangeData = {
|
|
16
|
+
min: number | null;
|
|
17
|
+
max: number | null;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const GROSS_WEIGHT_MIN = 1000;
|
|
21
|
+
const GROSS_WEIGHT_MAX = 12000;
|
|
22
|
+
export const GROSS_WEIGHT_OPTIONS: SelectOption[] = [
|
|
23
|
+
{
|
|
24
|
+
label: 'Any',
|
|
25
|
+
value: null,
|
|
26
|
+
},
|
|
27
|
+
...Array.from({ length: Math.floor((GROSS_WEIGHT_MAX - GROSS_WEIGHT_MIN) / 1000) + 1 }, (_, index) => ({
|
|
28
|
+
label: (GROSS_WEIGHT_MAX - index * 1000).toString(),
|
|
29
|
+
value: (GROSS_WEIGHT_MAX - index * 1000).toString(),
|
|
30
|
+
})),
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const SLEEP_CAP_MIN = 1;
|
|
34
|
+
const SLEEP_CAP_MAX = 10;
|
|
35
|
+
export const SLEEPING_CAPACITY_OPTIONS: SelectOption[] = [
|
|
36
|
+
{
|
|
37
|
+
label: 'Any',
|
|
38
|
+
value: null,
|
|
39
|
+
},
|
|
40
|
+
...Array.from({ length: SLEEP_CAP_MAX - SLEEP_CAP_MIN + 1 }, (_, index) => ({
|
|
41
|
+
label: (SLEEP_CAP_MAX - index).toString(),
|
|
42
|
+
value: (SLEEP_CAP_MAX - index).toString(),
|
|
43
|
+
})),
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
const SLIDEOUT_MIN = 0;
|
|
47
|
+
const SLIDEOUT_MAX = 5;
|
|
48
|
+
export const SLIDEOUT_OPTIONS: SelectOption[] = [
|
|
49
|
+
{
|
|
50
|
+
label: 'Any',
|
|
51
|
+
value: null,
|
|
52
|
+
},
|
|
53
|
+
...Array.from({ length: SLIDEOUT_MAX - SLIDEOUT_MIN + 1 }, (_, index) => ({
|
|
54
|
+
label: (SLIDEOUT_MAX - index).toString(),
|
|
55
|
+
value: (SLIDEOUT_MAX - index).toString(),
|
|
56
|
+
})),
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
const LENGTH_MIN = 10;
|
|
60
|
+
const LENGTH_MAX = 50;
|
|
61
|
+
export const LENGTH_OPTIONS: SelectOption[] = [
|
|
62
|
+
{
|
|
63
|
+
label: 'Any',
|
|
64
|
+
value: null,
|
|
65
|
+
},
|
|
66
|
+
...Array.from({ length: LENGTH_MAX - LENGTH_MIN + 1 }, (_, index) => ({
|
|
67
|
+
label: (LENGTH_MAX - index).toString(),
|
|
68
|
+
value: (LENGTH_MAX - index).toString(),
|
|
69
|
+
})),
|
|
70
|
+
];
|
|
71
|
+
|
|
72
|
+
const YEAR_MIN = 1900;
|
|
73
|
+
const today = new Date();
|
|
74
|
+
const YEAR_MAX = today.getFullYear() + 2;
|
|
75
|
+
export const YEAR_OPTIONS: SelectOption[] = [
|
|
76
|
+
{
|
|
77
|
+
label: 'Any',
|
|
78
|
+
value: null,
|
|
79
|
+
},
|
|
80
|
+
...Array.from({ length: YEAR_MAX - YEAR_MIN + 1 }, (_, index) => ({
|
|
81
|
+
label: (YEAR_MAX - index).toString(),
|
|
82
|
+
value: (YEAR_MAX - index).toString(),
|
|
83
|
+
})),
|
|
84
|
+
];
|
package/dist/types/Field.ts
CHANGED
package/dist/types/Form.ts
CHANGED
|
@@ -1 +1,58 @@
|
|
|
1
|
+
import type { SelectOptGroup, SelectOption } from '@/types/Select';
|
|
2
|
+
import type { TextInputType } from '@/types/TextInput';
|
|
3
|
+
import type { ValidationError, Validator } from '@/types/Validation';
|
|
4
|
+
|
|
5
|
+
interface GenericInput {
|
|
6
|
+
error?: ValidationError;
|
|
7
|
+
transformValue?: FormValueTransformer;
|
|
8
|
+
name: string;
|
|
9
|
+
validators?: Validator[];
|
|
10
|
+
required?: boolean;
|
|
11
|
+
label?: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface StringValue {
|
|
16
|
+
value?: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface BooleanValue {
|
|
20
|
+
value?: boolean;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type SelectInput = GenericInput &
|
|
24
|
+
StringValue & {
|
|
25
|
+
options?: SelectOption[] | readonly SelectOption[];
|
|
26
|
+
placeholder?: string;
|
|
27
|
+
optgroups?: SelectOptGroup[];
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export type TextInput = GenericInput &
|
|
31
|
+
StringValue & {
|
|
32
|
+
autocomplete?: boolean;
|
|
33
|
+
maxlength?: number;
|
|
34
|
+
minlength?: number;
|
|
35
|
+
type?: TextInputType;
|
|
36
|
+
placeholder?: string;
|
|
37
|
+
value?: string;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export type TextareaInput = GenericInput &
|
|
41
|
+
StringValue & {
|
|
42
|
+
maxlength?: number;
|
|
43
|
+
minlength?: number;
|
|
44
|
+
placeholder?: string;
|
|
45
|
+
value?: string;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export type CheckboxInput = GenericInput &
|
|
49
|
+
BooleanValue & {
|
|
50
|
+
checked?: boolean;
|
|
51
|
+
indeterminate?: boolean;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export type StringInput = SelectInput | TextInput | TextareaInput;
|
|
55
|
+
export type BooleanInput = CheckboxInput;
|
|
56
|
+
export type Input = SelectInput | TextInput | TextareaInput | CheckboxInput;
|
|
57
|
+
|
|
1
58
|
export type FormValueTransformer = (value: string) => string;
|
package/dist/types/Realm.ts
CHANGED
package/dist/types/Select.ts
CHANGED
package/dist/types/Storybook.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint vue/sort-keys: 0 */
|
|
2
2
|
// ^ Storybook controls are based on iterating over object properties instead of array slots (bad form), so these can't be ordered alphabetically.
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
import { CSS } from '@/types/Styles';
|
|
5
5
|
|
|
6
6
|
export const NoneAsEmpty = { None: '' };
|
|
7
7
|
export const NoneAsUndefined = { None: undefined };
|
|
@@ -12,3 +12,208 @@ export const BOOLEAN_UNREQUIRED = {
|
|
|
12
12
|
True: true,
|
|
13
13
|
False: false,
|
|
14
14
|
};
|
|
15
|
+
|
|
16
|
+
export const BADGE_TRUSTED = {
|
|
17
|
+
YEARS_5: '5',
|
|
18
|
+
YEARS_10: '10',
|
|
19
|
+
YEARS_15: '15',
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const BORDER_RADIUS = {
|
|
23
|
+
'0.25 REM': CSS.BORDER.RADIUS.QUARTER,
|
|
24
|
+
'0.5 REM': CSS.BORDER.RADIUS.HALF,
|
|
25
|
+
'1 REM': CSS.BORDER.RADIUS.ONE,
|
|
26
|
+
'Full': CSS.BORDER.RADIUS.FULL,
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const BORDER_SIDE = {
|
|
30
|
+
Full: 'tide-border',
|
|
31
|
+
Top: 'tide-border-top',
|
|
32
|
+
Right: 'tide-border-right',
|
|
33
|
+
Bottom: 'tide-border-bottom',
|
|
34
|
+
Left: 'tide-border-left',
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const BORDER_WIDTH = {
|
|
38
|
+
'1px': '1',
|
|
39
|
+
'2px': '2',
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const DISPLAY = {
|
|
43
|
+
'Block': CSS.DISPLAY.BLOCK,
|
|
44
|
+
'Contents': CSS.DISPLAY.CONTENTS,
|
|
45
|
+
'Flex': CSS.DISPLAY.FLEX,
|
|
46
|
+
'Grid': CSS.DISPLAY.GRID,
|
|
47
|
+
'Inline Block': CSS.DISPLAY.INLINE_BLOCK,
|
|
48
|
+
'Inline Flex': CSS.DISPLAY.INLINE_FLEX,
|
|
49
|
+
'Inline': CSS.DISPLAY.INLINE,
|
|
50
|
+
'Hidden': CSS.DISPLAY.NONE,
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export const FLEX_AXIS1 = {
|
|
54
|
+
Around: CSS.AXIS1.AROUND,
|
|
55
|
+
Between: CSS.AXIS1.BETWEEN,
|
|
56
|
+
Center: CSS.AXIS1.CENTER,
|
|
57
|
+
End: CSS.AXIS1.END,
|
|
58
|
+
Start: CSS.AXIS1.START,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export const FLEX_AXIS2 = {
|
|
62
|
+
Around: CSS.AXIS2.AROUND,
|
|
63
|
+
Center: CSS.AXIS2.CENTER,
|
|
64
|
+
End: CSS.AXIS2.END,
|
|
65
|
+
Start: CSS.AXIS2.START,
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export const FLEX_DIRECTION = {
|
|
69
|
+
Column: CSS.FLEX.DIRECTION.COLUMN,
|
|
70
|
+
Row: CSS.FLEX.DIRECTION.ROW,
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export const FONT_SIZE = {
|
|
74
|
+
'12px': CSS.FONT.SIZE.TWELVE,
|
|
75
|
+
'14px': CSS.FONT.SIZE.FOURTEEN,
|
|
76
|
+
'16px': CSS.FONT.SIZE.SIXTEEN,
|
|
77
|
+
'20px': CSS.FONT.SIZE.TWENTY,
|
|
78
|
+
'24px': CSS.FONT.SIZE.TWENTY_FOUR,
|
|
79
|
+
'32px': CSS.FONT.SIZE.THIRTY_TWO,
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export const FONT_WEIGHT = {
|
|
83
|
+
'400 Regular': CSS.FONT.WEIGHT.FOUR_HUNDRED,
|
|
84
|
+
'500 Medium': CSS.FONT.WEIGHT.FIVE_HUNDRED,
|
|
85
|
+
'600 Semibold': CSS.FONT.WEIGHT.SIX_HUNDRED,
|
|
86
|
+
'700 Bold': CSS.FONT.WEIGHT.SEVEN_HUNDRED,
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export const GAP = {
|
|
90
|
+
'4 REM': CSS.GAP.FOUR,
|
|
91
|
+
'2 REM': CSS.GAP.TWO,
|
|
92
|
+
'1 REM': CSS.GAP.ONE,
|
|
93
|
+
'0.5 REM': CSS.GAP.HALF,
|
|
94
|
+
'0.25 REM': CSS.GAP.QUARTER,
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export const LINK_SIZE = {
|
|
98
|
+
TWELVE: CSS.FONT.SIZE.TWELVE,
|
|
99
|
+
FOURTEEN: CSS.FONT.SIZE.FOURTEEN,
|
|
100
|
+
SIXTEEN: CSS.FONT.SIZE.SIXTEEN,
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export const MARGIN = {
|
|
104
|
+
'Full 4 REM': CSS.MARGIN.FULL.FOUR,
|
|
105
|
+
'Full 2 REM': CSS.MARGIN.FULL.TWO,
|
|
106
|
+
'Full 1 REM': CSS.MARGIN.FULL.ONE,
|
|
107
|
+
'Full 0.5 REM': CSS.MARGIN.FULL.HALF,
|
|
108
|
+
'Full 0.25 REM': CSS.MARGIN.FULL.QUARTER,
|
|
109
|
+
|
|
110
|
+
'X-axis Auto': CSS.MARGIN.X.AUTO,
|
|
111
|
+
'X-axis 4 REM': CSS.MARGIN.X.FOUR,
|
|
112
|
+
'X-axis 2 REM': CSS.MARGIN.X.TWO,
|
|
113
|
+
'X-axis 1 REM': CSS.MARGIN.X.ONE,
|
|
114
|
+
'X-axis 0.5 REM': CSS.MARGIN.X.HALF,
|
|
115
|
+
'X-axis 0.25 REM': CSS.MARGIN.X.QUARTER,
|
|
116
|
+
|
|
117
|
+
'Y-axis 4 REM': CSS.MARGIN.Y.FOUR,
|
|
118
|
+
'Y-axis 2 REM': CSS.MARGIN.Y.TWO,
|
|
119
|
+
'Y-axis 1 REM': CSS.MARGIN.Y.ONE,
|
|
120
|
+
'Y-axis 0.5 REM': CSS.MARGIN.Y.HALF,
|
|
121
|
+
'Y-axis 0.25 REM': CSS.MARGIN.Y.QUARTER,
|
|
122
|
+
|
|
123
|
+
'Top 4 REM': CSS.MARGIN.TOP.FOUR,
|
|
124
|
+
'Top 2 REM': CSS.MARGIN.TOP.TWO,
|
|
125
|
+
'Top 1 REM': CSS.MARGIN.TOP.ONE,
|
|
126
|
+
'Top 0.5 REM': CSS.MARGIN.TOP.HALF,
|
|
127
|
+
'Top 0.25 REM': CSS.MARGIN.TOP.QUARTER,
|
|
128
|
+
|
|
129
|
+
'Right Auto': CSS.MARGIN.RIGHT.AUTO,
|
|
130
|
+
'Right 4 REM': CSS.MARGIN.RIGHT.FOUR,
|
|
131
|
+
'Right 2 REM': CSS.MARGIN.RIGHT.TWO,
|
|
132
|
+
'Right 1 REM': CSS.MARGIN.RIGHT.ONE,
|
|
133
|
+
'Right 0.5 REM': CSS.MARGIN.RIGHT.HALF,
|
|
134
|
+
'Right 0.25 REM': CSS.MARGIN.RIGHT.QUARTER,
|
|
135
|
+
|
|
136
|
+
'Bottom 4 REM': CSS.MARGIN.BOTTOM.FOUR,
|
|
137
|
+
'Bottom 2 REM': CSS.MARGIN.BOTTOM.TWO,
|
|
138
|
+
'Bottom 1 REM': CSS.MARGIN.BOTTOM.ONE,
|
|
139
|
+
'Bottom 0.5 REM': CSS.MARGIN.BOTTOM.HALF,
|
|
140
|
+
'Bottom 0.25 REM': CSS.MARGIN.BOTTOM.QUARTER,
|
|
141
|
+
|
|
142
|
+
'Left Auto': CSS.MARGIN.LEFT.AUTO,
|
|
143
|
+
'Left 4 REM': CSS.MARGIN.LEFT.FOUR,
|
|
144
|
+
'Left 2 REM': CSS.MARGIN.LEFT.TWO,
|
|
145
|
+
'Left 1 REM': CSS.MARGIN.LEFT.ONE,
|
|
146
|
+
'Left 0.5 REM': CSS.MARGIN.LEFT.HALF,
|
|
147
|
+
'Left 0.25 REM': CSS.MARGIN.LEFT.QUARTER,
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export const PADDING = {
|
|
151
|
+
'Full 4 REM': CSS.PADDING.FULL.FOUR,
|
|
152
|
+
'Full 2 REM': CSS.PADDING.FULL.TWO,
|
|
153
|
+
'Full 1 REM': CSS.PADDING.FULL.ONE,
|
|
154
|
+
'Full 0.5 REM': CSS.PADDING.FULL.HALF,
|
|
155
|
+
'Full 0.25 REM': CSS.PADDING.FULL.QUARTER,
|
|
156
|
+
|
|
157
|
+
'X-axis 4 REM': CSS.PADDING.X.FOUR,
|
|
158
|
+
'X-axis 2 REM': CSS.PADDING.X.TWO,
|
|
159
|
+
'X-axis 1 REM': CSS.PADDING.X.ONE,
|
|
160
|
+
'X-axis 0.5 REM': CSS.PADDING.X.HALF,
|
|
161
|
+
'X-axis 0.25 REM': CSS.PADDING.X.QUARTER,
|
|
162
|
+
|
|
163
|
+
'Y-axis 4 REM': CSS.PADDING.Y.FOUR,
|
|
164
|
+
'Y-axis 2 REM': CSS.PADDING.Y.TWO,
|
|
165
|
+
'Y-axis 1 REM': CSS.PADDING.Y.ONE,
|
|
166
|
+
'Y-axis 0.5 REM': CSS.PADDING.Y.HALF,
|
|
167
|
+
'Y-axis 0.25 REM': CSS.PADDING.Y.QUARTER,
|
|
168
|
+
|
|
169
|
+
'Top 4 REM': CSS.PADDING.TOP.FOUR,
|
|
170
|
+
'Top 2 REM': CSS.PADDING.TOP.TWO,
|
|
171
|
+
'Top 1 REM': CSS.PADDING.TOP.ONE,
|
|
172
|
+
'Top 0.5 REM': CSS.PADDING.TOP.HALF,
|
|
173
|
+
'Top 0.25 REM': CSS.PADDING.TOP.QUARTER,
|
|
174
|
+
|
|
175
|
+
'Right 4 REM': CSS.PADDING.RIGHT.FOUR,
|
|
176
|
+
'Right 2 REM': CSS.PADDING.RIGHT.TWO,
|
|
177
|
+
'Right 1 REM': CSS.PADDING.RIGHT.ONE,
|
|
178
|
+
'Right 0.5 REM': CSS.PADDING.RIGHT.HALF,
|
|
179
|
+
'Right 0.25 REM': CSS.PADDING.RIGHT.QUARTER,
|
|
180
|
+
|
|
181
|
+
'Bottom 4 REM': CSS.PADDING.BOTTOM.FOUR,
|
|
182
|
+
'Bottom 2 REM': CSS.PADDING.BOTTOM.TWO,
|
|
183
|
+
'Bottom 1 REM': CSS.PADDING.BOTTOM.ONE,
|
|
184
|
+
'Bottom 0.5 REM': CSS.PADDING.BOTTOM.HALF,
|
|
185
|
+
'Bottom 0.25 REM': CSS.PADDING.BOTTOM.QUARTER,
|
|
186
|
+
|
|
187
|
+
'Left 4 REM': CSS.PADDING.LEFT.FOUR,
|
|
188
|
+
'Left 2 REM': CSS.PADDING.LEFT.TWO,
|
|
189
|
+
'Left 1 REM': CSS.PADDING.LEFT.ONE,
|
|
190
|
+
'Left 0.5 REM': CSS.PADDING.LEFT.HALF,
|
|
191
|
+
'Left 0.25 REM': CSS.PADDING.LEFT.QUARTER,
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
export const SHADOW = {
|
|
195
|
+
Bottom: CSS.SHADOW.BOTTOM,
|
|
196
|
+
Top: CSS.SHADOW.TOP,
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
export const TYPOGRAPHY = {
|
|
200
|
+
DISPLAY_1: [CSS.FONT.SIZE.THIRTY_TWO, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
|
|
201
|
+
HEADLINE_1: [CSS.FONT.SIZE.TWENTY_FOUR, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
|
|
202
|
+
HEADLINE_2: [CSS.FONT.SIZE.TWENTY, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
|
|
203
|
+
HEADLINE_3: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
|
|
204
|
+
TITLE_1: [CSS.FONT.SIZE.TWENTY, CSS.FONT.WEIGHT.SIX_HUNDRED],
|
|
205
|
+
TITLE_2: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.SIX_HUNDRED],
|
|
206
|
+
BODY_1: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.FOUR_HUNDRED],
|
|
207
|
+
BODY_2: [CSS.FONT.SIZE.FOURTEEN, CSS.FONT.WEIGHT.FOUR_HUNDRED],
|
|
208
|
+
LABEL_1: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.FIVE_HUNDRED],
|
|
209
|
+
LABEL_1_SEMIBOLD: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.SIX_HUNDRED],
|
|
210
|
+
LABEL_2: [CSS.FONT.SIZE.FOURTEEN, CSS.FONT.WEIGHT.FIVE_HUNDRED],
|
|
211
|
+
LABEL_2_SEMIBOLD: [CSS.FONT.SIZE.FOURTEEN, CSS.FONT.WEIGHT.SIX_HUNDRED],
|
|
212
|
+
LABEL_3: [CSS.FONT.SIZE.TWELVE, CSS.FONT.WEIGHT.FIVE_HUNDRED],
|
|
213
|
+
LINK_1: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
|
|
214
|
+
LINK_2: [CSS.FONT.SIZE.FOURTEEN, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
|
|
215
|
+
LINK_3: [CSS.FONT.SIZE.TWELVE, CSS.FONT.WEIGHT.SEVEN_HUNDRED],
|
|
216
|
+
BUTTON_1: [CSS.FONT.SIZE.SIXTEEN, CSS.FONT.WEIGHT.SIX_HUNDRED],
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
export type Typography = (typeof TYPOGRAPHY)[keyof typeof TYPOGRAPHY];
|