@tui/design-system 0.1.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/CHANGELOG.md +317 -0
- package/README.md +99 -0
- package/dist/themes/crystalski/fonts.css +49 -0
- package/dist/themes/crystalski/fonts.css.map +1 -0
- package/dist/themes/crystalski/index.css +416 -0
- package/dist/themes/crystalski/index.css.map +1 -0
- package/dist/themes/firstchoice/fonts.css +50 -0
- package/dist/themes/firstchoice/fonts.css.map +1 -0
- package/dist/themes/firstchoice/index.css +422 -0
- package/dist/themes/firstchoice/index.css.map +1 -0
- package/dist/themes/tui/fonts.css +117 -0
- package/dist/themes/tui/fonts.css.map +1 -0
- package/dist/themes/tui/index.css +437 -0
- package/dist/themes/tui/index.css.map +1 -0
- package/package.json +175 -0
- package/scss/functions/_map.scss +84 -0
- package/scss/functions.scss +1 -0
- package/scss/lib/accordion/_index.scss +4 -0
- package/scss/lib/accordion/_mixins.scss +233 -0
- package/scss/lib/accordion/_variables.scss +11 -0
- package/scss/lib/active-tag/_index.scss +4 -0
- package/scss/lib/active-tag/_mixins.scss +112 -0
- package/scss/lib/active-tag/_variables.scss +8 -0
- package/scss/lib/alert/_index.scss +3 -0
- package/scss/lib/alert/_mixins.scss +135 -0
- package/scss/lib/alert/_variables.scss +15 -0
- package/scss/lib/breadcrumb/_index.scss +3 -0
- package/scss/lib/breadcrumb/_mixins.scss +58 -0
- package/scss/lib/breadcrumb/_variables.scss +6 -0
- package/scss/lib/button/_index.scss +4 -0
- package/scss/lib/button/_mixins.scss +193 -0
- package/scss/lib/button/_variables.scss +25 -0
- package/scss/lib/cards/card/_index.scss +3 -0
- package/scss/lib/cards/card/_mixins.scss +37 -0
- package/scss/lib/cards/card/_variables.scss +2 -0
- package/scss/lib/cards/search/_index.scss +3 -0
- package/scss/lib/cards/search/_mixins.scss +432 -0
- package/scss/lib/cards/search/_variables.scss +10 -0
- package/scss/lib/divider/_index.scss +4 -0
- package/scss/lib/divider/_mixins.scss +54 -0
- package/scss/lib/divider/_variables.scss +17 -0
- package/scss/lib/flight-details/_index.scss +3 -0
- package/scss/lib/flight-details/_mixins.scss +468 -0
- package/scss/lib/flight-details/_variables.scss +6 -0
- package/scss/lib/flyout-dropdown/_index.scss +3 -0
- package/scss/lib/flyout-dropdown/_mixins.scss +124 -0
- package/scss/lib/forms/form-row/_index.scss +3 -0
- package/scss/lib/forms/form-row/_mixins.scss +72 -0
- package/scss/lib/forms/form-row/_variables.scss +7 -0
- package/scss/lib/forms/input-checkbox/_index.scss +3 -0
- package/scss/lib/forms/input-checkbox/_mixins.scss +216 -0
- package/scss/lib/forms/input-checkbox/_variables.scss +9 -0
- package/scss/lib/forms/input-chip/_index.scss +4 -0
- package/scss/lib/forms/input-chip/_mixins.scss +124 -0
- package/scss/lib/forms/input-chip/_variables.scss +19 -0
- package/scss/lib/forms/input-count/_index.scss +3 -0
- package/scss/lib/forms/input-count/_mixins.scss +72 -0
- package/scss/lib/forms/input-count/_variables.scss +13 -0
- package/scss/lib/forms/input-radio/_index.scss +3 -0
- package/scss/lib/forms/input-radio/_mixins.scss +139 -0
- package/scss/lib/forms/input-radio/_variables.scss +6 -0
- package/scss/lib/forms/input-slider/_index.scss +3 -0
- package/scss/lib/forms/input-slider/_mixins.scss +147 -0
- package/scss/lib/forms/input-slider/_variables.scss +12 -0
- package/scss/lib/forms/input-stepper/_index.scss +3 -0
- package/scss/lib/forms/input-stepper/_mixins.scss +143 -0
- package/scss/lib/forms/input-stepper/_variables.scss +7 -0
- package/scss/lib/forms/input-switch/_index.scss +3 -0
- package/scss/lib/forms/input-switch/_mixins.scss +122 -0
- package/scss/lib/forms/input-switch/_variables.scss +18 -0
- package/scss/lib/forms/input-text/_index.scss +3 -0
- package/scss/lib/forms/input-text/_mixins.scss +155 -0
- package/scss/lib/forms/input-text/_variables.scss +9 -0
- package/scss/lib/forms/textarea/_index.scss +3 -0
- package/scss/lib/forms/textarea/_mixins.scss +88 -0
- package/scss/lib/grid/_column.scss +51 -0
- package/scss/lib/grid/_container.scss +21 -0
- package/scss/lib/grid/_index.scss +3 -0
- package/scss/lib/grid/_mixins.scss +126 -0
- package/scss/lib/grid/_variables.scss +11 -0
- package/scss/lib/hero/_index.scss +3 -0
- package/scss/lib/hero/_mixins.scss +336 -0
- package/scss/lib/hero/_variables.scss +21 -0
- package/scss/lib/icon/_index.scss +3 -0
- package/scss/lib/icon/_mixins.scss +54 -0
- package/scss/lib/icon/_variables.scss +10 -0
- package/scss/lib/icon-button/_index.scss +3 -0
- package/scss/lib/icon-button/_mixins.scss +168 -0
- package/scss/lib/icon-button/_variables.scss +31 -0
- package/scss/lib/image/_index.scss +3 -0
- package/scss/lib/image/_mixins.scss +89 -0
- package/scss/lib/image/_variables.scss +13 -0
- package/scss/lib/info-tag/_index.scss +4 -0
- package/scss/lib/info-tag/_mixins.scss +100 -0
- package/scss/lib/info-tag/_variables.scss +13 -0
- package/scss/lib/link/_index.scss +3 -0
- package/scss/lib/link/_mixins.scss +86 -0
- package/scss/lib/link/_variables.scss +13 -0
- package/scss/lib/list/_index.scss +3 -0
- package/scss/lib/list/_mixins.scss +198 -0
- package/scss/lib/list/_variables.scss +9 -0
- package/scss/lib/loader/_index.scss +3 -0
- package/scss/lib/loader/_mixins.scss +52 -0
- package/scss/lib/loader/_variables.scss +12 -0
- package/scss/lib/media-button/_index.scss +4 -0
- package/scss/lib/media-button/_mixins.scss +75 -0
- package/scss/lib/media-button/_variables.scss +4 -0
- package/scss/lib/modal/_index.scss +2 -0
- package/scss/lib/modal/_mixins.scss +135 -0
- package/scss/lib/modal/_variables.scss +11 -0
- package/scss/lib/pagination/_index.scss +3 -0
- package/scss/lib/pagination/_mixins.scss +220 -0
- package/scss/lib/pagination/_variables.scss +12 -0
- package/scss/lib/price/_index.scss +3 -0
- package/scss/lib/price/_mixins.scss +83 -0
- package/scss/lib/price/_variables.scss +10 -0
- package/scss/lib/promo-tag/_index.scss +4 -0
- package/scss/lib/promo-tag/_mixins.scss +81 -0
- package/scss/lib/promo-tag/_variables.scss +7 -0
- package/scss/lib/ratings-reviews/numerical/_index.scss +3 -0
- package/scss/lib/ratings-reviews/numerical/_mixins.scss +91 -0
- package/scss/lib/ratings-reviews/numerical/_variables.scss +18 -0
- package/scss/lib/ratings-reviews/percentage/_index.scss +3 -0
- package/scss/lib/ratings-reviews/percentage/_mixins.scss +74 -0
- package/scss/lib/ratings-reviews/percentage/_variables.scss +6 -0
- package/scss/lib/ratings-reviews/range-bar/_index.scss +3 -0
- package/scss/lib/ratings-reviews/range-bar/_mixins.scss +88 -0
- package/scss/lib/ratings-reviews/range-bar/_variables.scss +16 -0
- package/scss/lib/ratings-reviews/range-icons/_index.scss +3 -0
- package/scss/lib/ratings-reviews/range-icons/_mixins.scss +200 -0
- package/scss/lib/ratings-reviews/range-icons/_variables.scss +31 -0
- package/scss/lib/ratings-reviews/range-icons-group/_index.scss +3 -0
- package/scss/lib/ratings-reviews/range-icons-group/_mixins.scss +26 -0
- package/scss/lib/richtext/_index.scss +3 -0
- package/scss/lib/richtext/_mixins.scss +136 -0
- package/scss/lib/scroller/_index.scss +4 -0
- package/scss/lib/scroller/_mixins.scss +130 -0
- package/scss/lib/scroller/_variables.scss +9 -0
- package/scss/lib/show-more-less/_index.scss +3 -0
- package/scss/lib/show-more-less/_mixins.scss +90 -0
- package/scss/lib/show-more-less/_variables.scss +6 -0
- package/scss/lib/skeleton/_index.scss +3 -0
- package/scss/lib/skeleton/_mixins.scss +151 -0
- package/scss/lib/skeleton/_variables.scss +8 -0
- package/scss/lib/tooltip/_index.scss +3 -0
- package/scss/lib/tooltip/_mixins.scss +305 -0
- package/scss/lib/tooltip/_variables.scss +8 -0
- package/scss/lib/typography/_index.scss +14 -0
- package/scss/lib/typography/_mixins.scss +27 -0
- package/scss/lib/typography/_variables.scss +58 -0
- package/scss/lib/utility/_index.scss +109 -0
- package/scss/lib/utility/_mixins.scss +198 -0
- package/scss/mixins.scss +44 -0
- package/scss/reset.scss +168 -0
- package/scss/themes/crystalski/_colors.scss +48 -0
- package/scss/themes/crystalski/_overrides.scss +285 -0
- package/scss/themes/crystalski/_primitives.scss +73 -0
- package/scss/themes/crystalski/_typography.scss +9 -0
- package/scss/themes/crystalski/fonts.json +49 -0
- package/scss/themes/crystalski/fonts.scss +8 -0
- package/scss/themes/crystalski/index.scss +166 -0
- package/scss/themes/crystalski/theme.json +232 -0
- package/scss/themes/firstchoice/_colors.scss +53 -0
- package/scss/themes/firstchoice/_overrides.scss +355 -0
- package/scss/themes/firstchoice/_primitives.scss +106 -0
- package/scss/themes/firstchoice/_typography.scss +14 -0
- package/scss/themes/firstchoice/fonts.json +50 -0
- package/scss/themes/firstchoice/fonts.scss +8 -0
- package/scss/themes/firstchoice/index.scss +166 -0
- package/scss/themes/firstchoice/theme.json +323 -0
- package/scss/themes/tui/_colors.scss +61 -0
- package/scss/themes/tui/_overrides.scss +34 -0
- package/scss/themes/tui/_primitives.scss +23 -0
- package/scss/themes/tui/_typography.scss +16 -0
- package/scss/themes/tui/fonts.json +117 -0
- package/scss/themes/tui/fonts.scss +17 -0
- package/scss/themes/tui/index.scss +166 -0
- package/scss/themes/tui/theme.json +139 -0
- package/scss/variables/_aspect-ratios.scss +8 -0
- package/scss/variables/_assets.scss +6 -0
- package/scss/variables/_border-radius.scss +20 -0
- package/scss/variables/_breakpoints.scss +17 -0
- package/scss/variables/_colors.scss +58 -0
- package/scss/variables/_directions.scss +8 -0
- package/scss/variables/_display-values.scss +9 -0
- package/scss/variables/_elevations.scss +17 -0
- package/scss/variables/_env-variables.scss +1 -0
- package/scss/variables/_focus.scss +14 -0
- package/scss/variables/_grid.scss +21 -0
- package/scss/variables/_icons.scss +26 -0
- package/scss/variables/_layers.scss +20 -0
- package/scss/variables/_motion.scss +27 -0
- package/scss/variables/_prefix.scss +1 -0
- package/scss/variables/_primitives.scss +100 -0
- package/scss/variables/_spacing.scss +38 -0
- package/scss/variables/_strokes.scss +18 -0
- package/scss/variables/_typography.scss +125 -0
- package/scss/variables/base-theme.json +2142 -0
- package/scss/variables/fonts/_ambit-bold-italic.scss +10 -0
- package/scss/variables/fonts/_ambit-bold.scss +10 -0
- package/scss/variables/fonts/_ambit-fallback.scss +21 -0
- package/scss/variables/fonts/_ambit-regular-italic.scss +10 -0
- package/scss/variables/fonts/_ambit-regular.scss +10 -0
- package/scss/variables/fonts/_ambit-semibold-italic.scss +10 -0
- package/scss/variables/fonts/_ambit-semibold.scss +10 -0
- package/scss/variables/fonts/_brandon-fallback.scss +22 -0
- package/scss/variables/fonts/_brandon-medium-italic.scss +10 -0
- package/scss/variables/fonts/_brandon-medium.scss +10 -0
- package/scss/variables/fonts/_brandon-regular-italic.scss +10 -0
- package/scss/variables/fonts/_brandon-regular.scss +10 -0
- package/scss/variables/fonts/_font-path.scss +3 -0
- package/scss/variables/fonts/_graphie-extralight.scss +10 -0
- package/scss/variables/fonts/_graphie-fallback.scss +11 -0
- package/scss/variables/fonts/_pastiche-grotesque-black.scss +10 -0
- package/scss/variables/fonts/_pastiche-grotesque-fallback.scss +11 -0
- package/scss/variables/fonts/_rondelle-black.scss +10 -0
- package/scss/variables/fonts/_rondelle-book.scss +10 -0
- package/scss/variables/fonts/_rondelle-fallback.scss +21 -0
- package/scss/variables/fonts/_tuiheadline-black-italic.scss +10 -0
- package/scss/variables/fonts/_tuiheadline-black.scss +10 -0
- package/scss/variables/fonts/_tuiheadline-fallback.scss +11 -0
- package/scss/variables/fonts/_tuitypelight-bold-italic.scss +10 -0
- package/scss/variables/fonts/_tuitypelight-bold.scss +10 -0
- package/scss/variables/fonts/_tuitypelight-fallback.scss +21 -0
- package/scss/variables/fonts/_tuitypelight-regular-italic.scss +10 -0
- package/scss/variables/fonts/_tuitypelight-regular.scss +10 -0
- package/scss/variables.scss +60 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// colors
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
@use 'sass:color';
|
|
4
|
+
@use 'primitives' as *;
|
|
5
|
+
@use '../lib/utility/mixins' as util;
|
|
6
|
+
|
|
7
|
+
$uilib-color-semantic: (
|
|
8
|
+
core-interaction: map.get($uilib-primitives, 'color-blue-70'),
|
|
9
|
+
core-brand: map.get($uilib-primitives, 'color-coolblue-50'),
|
|
10
|
+
core-brand-strong: map.get($uilib-primitives, 'color-blue-100'),
|
|
11
|
+
core-surface: map.get($uilib-primitives, 'color-coolblue-20'),
|
|
12
|
+
core-neutral: map.get($uilib-primitives, 'color-neutral-10'),
|
|
13
|
+
text-strong: map.get($uilib-primitives, 'color-blue-100'),
|
|
14
|
+
text-body: map.get($uilib-primitives, 'color-neutral-90'),
|
|
15
|
+
text-link: map.get($uilib-primitives, 'color-blue-70'),
|
|
16
|
+
text-link-visited: map.get($uilib-primitives, 'color-purple-80'),
|
|
17
|
+
text-link-visited-inverse: map.get($uilib-primitives, 'color-purple-30'),
|
|
18
|
+
text-inverse: map.get($uilib-primitives, 'color-neutral-10'),
|
|
19
|
+
text-promotion: map.get($uilib-primitives, 'color-red-80'),
|
|
20
|
+
text-danger: map.get($uilib-primitives, 'color-red-80'),
|
|
21
|
+
status-success-surface: map.get($uilib-primitives, 'color-green-20'),
|
|
22
|
+
status-danger-surface: map.get($uilib-primitives, 'color-red-20'),
|
|
23
|
+
status-warning-surface: map.get($uilib-primitives, 'color-orange-20'),
|
|
24
|
+
status-info-surface: map.get($uilib-primitives, 'color-blue-20'),
|
|
25
|
+
status-success-icon: map.get($uilib-primitives, 'color-green-80'),
|
|
26
|
+
status-danger-icon: map.get($uilib-primitives, 'color-red-80'),
|
|
27
|
+
status-warning-icon: map.get($uilib-primitives, 'color-orange-80'),
|
|
28
|
+
status-info-icon: map.get($uilib-primitives, 'color-blue-100'),
|
|
29
|
+
canvas-default: map.get($uilib-primitives, 'color-neutral-10'),
|
|
30
|
+
canvas-contrast: map.get($uilib-primitives, 'color-neutral-20'),
|
|
31
|
+
border-interaction: map.get($uilib-primitives, 'color-blue-70'),
|
|
32
|
+
border-brand-strong: map.get($uilib-primitives, 'color-blue-100'),
|
|
33
|
+
border-input: map.get($uilib-primitives, 'color-neutral-70'),
|
|
34
|
+
border-card: map.get($uilib-primitives, 'color-neutral-40'),
|
|
35
|
+
border-danger: map.get($uilib-primitives, 'color-red-80'),
|
|
36
|
+
border-inverse: map.get($uilib-primitives, 'color-neutral-10'),
|
|
37
|
+
border-divider: map.get($uilib-primitives, 'color-neutral-40'),
|
|
38
|
+
promotion: map.get($uilib-primitives, 'color-red-80'),
|
|
39
|
+
other-disabled-soft: map.get($uilib-primitives, 'color-neutral-40'),
|
|
40
|
+
other-disabled-strong: map.get($uilib-primitives, 'color-neutral-70'),
|
|
41
|
+
other-elevation: color.scale(map.get($uilib-primitives, 'color-neutral-100'), $alpha: -60%),
|
|
42
|
+
other-scrim: color.scale(map.get($uilib-primitives, 'color-neutral-100'), $alpha: -20%),
|
|
43
|
+
other-active-state-tint: color.scale(map.get($uilib-primitives, 'color-blue-20'), $alpha: -70%),
|
|
44
|
+
other-button-hover-state: color.scale(map.get($uilib-primitives, 'color-neutral-10'), $alpha: -80%),
|
|
45
|
+
other-secondary-button-hover-state: color.scale(map.get($uilib-primitives, 'color-blue-20'), $alpha: -70%),
|
|
46
|
+
other-skeleton-loading: map.get($uilib-primitives, 'color-neutral-40'),
|
|
47
|
+
brand-trip-advisor: map.get($uilib-primitives, 'color-brand-trip-advisor-green'),
|
|
48
|
+
brand-paypal: map.get($uilib-primitives, 'color-brand-paypal-blue'),
|
|
49
|
+
other-scroll-handle: map.get($uilib-primitives, 'color-neutral-50'),
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
// color palette
|
|
53
|
+
// use theme tui-base as basline
|
|
54
|
+
@mixin uilib-color-palette-base-vars($colors) {
|
|
55
|
+
$base-colors: map.merge($uilib-color-semantic, $colors);
|
|
56
|
+
|
|
57
|
+
@include util.uilib-build-css-vars('color', $base-colors);
|
|
58
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Elevations
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
@use '../lib/utility/mixins' as util;
|
|
4
|
+
|
|
5
|
+
$uilib-elevation-base: (
|
|
6
|
+
'none': none,
|
|
7
|
+
// 0 0 2 0 / 16px
|
|
8
|
+
100: 0 0 0.125rem 0 var(--uilib-color-other-elevation),
|
|
9
|
+
// 0 0 4 0 / 16px
|
|
10
|
+
200: 0 0 0.25rem 0 var(--uilib-color-other-elevation),
|
|
11
|
+
// 0 0 8 0 / 16px
|
|
12
|
+
300: 0 0 0.5rem 0 var(--uilib-color-other-elevation),
|
|
13
|
+
) !default;
|
|
14
|
+
|
|
15
|
+
@mixin uilib-elevation-base-vars() {
|
|
16
|
+
@include util.uilib-build-css-vars('elevation', $uilib-elevation-base);
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
$uilib-assets-base-url: 'https://mwa.tui.com/shared/mwa/assets/' !default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use 'sass:color';
|
|
3
|
+
@use 'primitives' as *;
|
|
4
|
+
@use '../lib/utility/mixins' as util;
|
|
5
|
+
|
|
6
|
+
$uilib-focus-default:
|
|
7
|
+
0 0 0 0.125rem map.get($uilib-primitives, 'color-neutral-10'),
|
|
8
|
+
0 0 0 0.25rem map.get($uilib-primitives, 'color-blue-70'),
|
|
9
|
+
0 0 0 0.375rem color.scale(map.get($uilib-primitives, 'color-blue-70'), $alpha: -60%);
|
|
10
|
+
$uilib-focus-base: (
|
|
11
|
+
default: $uilib-focus-default,
|
|
12
|
+
size: calc(var(--uilib-spacing-050) * 3),
|
|
13
|
+
gap: var(--uilib-spacing-050),
|
|
14
|
+
) !default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// grid
|
|
2
|
+
$uilib-grid-size: 0.25rem !default; // 4px
|
|
3
|
+
$uilib-grid-columns: 12 !default;
|
|
4
|
+
$uilib-grid-gutter-width: $uilib-grid-size * 4; // 16px
|
|
5
|
+
$uilib-grid-gutter-height: $uilib-grid-size * 4; // 16px
|
|
6
|
+
|
|
7
|
+
// layout
|
|
8
|
+
$uilib-layout-max-width: 80rem; // 1280px
|
|
9
|
+
$uilib-layout-app-height: 100dvh;
|
|
10
|
+
|
|
11
|
+
@mixin uilib-grid-base-vars() {
|
|
12
|
+
// Grid
|
|
13
|
+
--uilib-grid-size: #{$uilib-grid-size};
|
|
14
|
+
--uilib-grid-columns: #{$uilib-grid-columns};
|
|
15
|
+
--uilib-grid-gutter-width: #{$uilib-grid-gutter-width};
|
|
16
|
+
--uilib-grid-gutter-height: #{$uilib-grid-gutter-height};
|
|
17
|
+
|
|
18
|
+
// Layout
|
|
19
|
+
--uilib-layout-max-width: #{$uilib-layout-max-width};
|
|
20
|
+
--uilib-layout-app-height: #{$uilib-layout-app-height};
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
@use '../lib/utility/mixins' as util;
|
|
2
|
+
|
|
3
|
+
// icon sizes
|
|
4
|
+
$uilib-icon-sizes: (
|
|
5
|
+
// 16px
|
|
6
|
+
xsmall: 1rem,
|
|
7
|
+
// 20px
|
|
8
|
+
small: 1.25rem,
|
|
9
|
+
// 24px
|
|
10
|
+
medium: 1.5rem,
|
|
11
|
+
// 32px
|
|
12
|
+
large: 2rem,
|
|
13
|
+
// 36px
|
|
14
|
+
xlarge: 2.25rem,
|
|
15
|
+
// 40px
|
|
16
|
+
xxlarge: 2.5rem,
|
|
17
|
+
// 48px
|
|
18
|
+
xxxlarge: 3rem
|
|
19
|
+
) !default;
|
|
20
|
+
|
|
21
|
+
// generate icon size variables
|
|
22
|
+
@mixin uilib-icon-base-vars($sizes) {
|
|
23
|
+
--uilib-icon-size-default: 1.25rem;
|
|
24
|
+
|
|
25
|
+
@include util.uilib-build-css-vars('icon-size', $sizes);
|
|
26
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Layers
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
@use '../lib/utility/mixins' as util;
|
|
4
|
+
|
|
5
|
+
$uilib-layers-base: (
|
|
6
|
+
hidden: -1,
|
|
7
|
+
default: 0,
|
|
8
|
+
top: 1,
|
|
9
|
+
dropdown: 1000,
|
|
10
|
+
sticky: 1500,
|
|
11
|
+
fixed: 2000,
|
|
12
|
+
overlay: 2500,
|
|
13
|
+
modal: 3000,
|
|
14
|
+
popover: 3500,
|
|
15
|
+
tooltip: 4000,
|
|
16
|
+
) !default;
|
|
17
|
+
|
|
18
|
+
@mixin uilib-layers-base-vars() {
|
|
19
|
+
@include util.uilib-build-css-vars('layer', $uilib-layers-base);
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Elevations
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
@use '../lib/utility/mixins' as util;
|
|
4
|
+
|
|
5
|
+
$uilib-motion: (
|
|
6
|
+
'duration': (
|
|
7
|
+
'slow': 0.5s,
|
|
8
|
+
'medium': 0.35s,
|
|
9
|
+
'fast': 0.2s,
|
|
10
|
+
),
|
|
11
|
+
'timing': (
|
|
12
|
+
// EaseInOut - cubic-bezier(0.42, 0, 0.58, 1)
|
|
13
|
+
'inout': ease-in-out,
|
|
14
|
+
// EaseInSine
|
|
15
|
+
'in': cubic-bezier(0.12, 0, 0.39, 0),
|
|
16
|
+
// EaseOutSine
|
|
17
|
+
'out': cubic-bezier(0.61, 1, 0.88, 1),
|
|
18
|
+
// EaseOutBack
|
|
19
|
+
'brand': cubic-bezier(0.34, 1.56, 0.64, 1),
|
|
20
|
+
),
|
|
21
|
+
) !default;
|
|
22
|
+
|
|
23
|
+
@mixin uilib-motion-base-vars($motion) {
|
|
24
|
+
@each $name, $value in $motion {
|
|
25
|
+
@include util.uilib-build-css-vars('motion-#{$name}', $value);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
$app-prefix: '' !default;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
$uilib-primitives: (
|
|
2
|
+
color-blue-100: #1b115c,
|
|
3
|
+
color-blue-90: #072d92,
|
|
4
|
+
color-blue-80: #0a3cc2,
|
|
5
|
+
color-blue-70: #0c4bf3,
|
|
6
|
+
color-blue-60: #3567f6,
|
|
7
|
+
color-blue-50: #6d93f8,
|
|
8
|
+
color-blue-40: #94b0fa,
|
|
9
|
+
color-blue-30: #b6c8fc,
|
|
10
|
+
color-blue-20: #d8e2fd,
|
|
11
|
+
color-blue-10: #ecf1fe,
|
|
12
|
+
|
|
13
|
+
color-coolblue-100: #054461,
|
|
14
|
+
color-coolblue-90: #076692,
|
|
15
|
+
color-coolblue-80: #0a88c2,
|
|
16
|
+
color-coolblue-70: #0caaf3,
|
|
17
|
+
color-coolblue-60: #38b9f5,
|
|
18
|
+
color-coolblue-50: #70cbf4,
|
|
19
|
+
color-coolblue-40: #a9dff8,
|
|
20
|
+
color-coolblue-30: #c6eafb,
|
|
21
|
+
color-coolblue-20: #e2f4fd,
|
|
22
|
+
color-coolblue-10: #f0fafe,
|
|
23
|
+
|
|
24
|
+
color-green-100: #05423d,
|
|
25
|
+
color-green-90: #246f49,
|
|
26
|
+
color-green-80: #2ba168,
|
|
27
|
+
color-green-70: #30b675,
|
|
28
|
+
color-green-60: #61c48d,
|
|
29
|
+
color-green-50: #87d2a6,
|
|
30
|
+
color-green-40: #a9e0bf,
|
|
31
|
+
color-green-30: #c5e4cd,
|
|
32
|
+
color-green-20: #dff6eb,
|
|
33
|
+
color-green-10: #effbf5,
|
|
34
|
+
|
|
35
|
+
color-red-100: #600609,
|
|
36
|
+
color-red-90: #90090e,
|
|
37
|
+
color-red-80: #c00c12,
|
|
38
|
+
color-red-70: #f00f17,
|
|
39
|
+
color-red-60: #f23a41,
|
|
40
|
+
color-red-50: #f66f74,
|
|
41
|
+
color-red-40: #f89699,
|
|
42
|
+
color-red-30: #fab7b9,
|
|
43
|
+
color-red-20: #fde2e3,
|
|
44
|
+
color-red-10: #feecec,
|
|
45
|
+
|
|
46
|
+
color-orange-100: #663d00,
|
|
47
|
+
color-orange-90: #995c00,
|
|
48
|
+
color-orange-80: #cc7a00,
|
|
49
|
+
color-orange-70: #f90,
|
|
50
|
+
color-orange-60: #ffab2e,
|
|
51
|
+
color-orange-50: #ffc266,
|
|
52
|
+
color-orange-40: #ffd28f,
|
|
53
|
+
color-orange-30: #ffe0b2,
|
|
54
|
+
color-orange-20: #ffefd6,
|
|
55
|
+
color-orange-10: #fff7eb,
|
|
56
|
+
|
|
57
|
+
color-neutral-100: #000,
|
|
58
|
+
color-neutral-90: #4c4c4c,
|
|
59
|
+
color-neutral-80: #666,
|
|
60
|
+
color-neutral-70: #737373,
|
|
61
|
+
color-neutral-60: #969696,
|
|
62
|
+
color-neutral-50: #b9b9b9,
|
|
63
|
+
color-neutral-40: #dcdcdc,
|
|
64
|
+
color-neutral-30: #ebebeb,
|
|
65
|
+
color-neutral-20: #f5f5f5,
|
|
66
|
+
color-neutral-10: #fff,
|
|
67
|
+
|
|
68
|
+
color-purple-100: #39115c,
|
|
69
|
+
color-purple-90: #510792,
|
|
70
|
+
color-purple-80: #6c0ac2,
|
|
71
|
+
color-purple-70: #870cf3,
|
|
72
|
+
color-purple-60: #9c35f6,
|
|
73
|
+
color-purple-50: #b76df8,
|
|
74
|
+
color-purple-40: #ca94fa,
|
|
75
|
+
color-purple-30: #dbb6fc,
|
|
76
|
+
color-purple-20: #ecd8fd,
|
|
77
|
+
color-purple-10: #f5ecfe,
|
|
78
|
+
|
|
79
|
+
color-brand-trip-advisor-green: #00aa6c,
|
|
80
|
+
color-brand-paypal-blue: #253b80,
|
|
81
|
+
|
|
82
|
+
// 11px
|
|
83
|
+
font-size-40: 0.6875rem,
|
|
84
|
+
// 13px
|
|
85
|
+
font-size-60: 0.8125rem,
|
|
86
|
+
// 14px
|
|
87
|
+
font-size-80: 0.875rem,
|
|
88
|
+
// 16px - baseline
|
|
89
|
+
font-size-100: 1rem,
|
|
90
|
+
// 18px
|
|
91
|
+
font-size-120: 1.125rem,
|
|
92
|
+
// 20px
|
|
93
|
+
font-size-140: 1.25rem,
|
|
94
|
+
// 23px
|
|
95
|
+
font-size-160: 1.4375rem,
|
|
96
|
+
// 26px
|
|
97
|
+
font-size-190: 1.625rem,
|
|
98
|
+
// 29px
|
|
99
|
+
font-size-220: 1.8125rem,
|
|
100
|
+
);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
$uilib-spacing: (
|
|
2
|
+
'auto': auto,
|
|
3
|
+
'none': 0,
|
|
4
|
+
// 2 / 16px
|
|
5
|
+
'050': 0.125rem,
|
|
6
|
+
// 4 / 16px
|
|
7
|
+
'100': 0.25rem,
|
|
8
|
+
// 8 / 16px
|
|
9
|
+
'200': 0.5rem,
|
|
10
|
+
// 12 / 16px
|
|
11
|
+
'300': 0.75rem,
|
|
12
|
+
// 16px
|
|
13
|
+
'400': 1rem,
|
|
14
|
+
// 20 / 16px
|
|
15
|
+
'500': 1.25rem,
|
|
16
|
+
// 24 / 16px
|
|
17
|
+
'600': 1.5rem,
|
|
18
|
+
// 28 / 16px
|
|
19
|
+
'700': 1.75rem,
|
|
20
|
+
// 32 / 16px
|
|
21
|
+
'800': 2rem,
|
|
22
|
+
// 36 / 16px
|
|
23
|
+
'900': 2.25rem,
|
|
24
|
+
// 40 / 16px
|
|
25
|
+
'1000': 2.5rem,
|
|
26
|
+
// 44 / 16px
|
|
27
|
+
'1100': 2.75rem,
|
|
28
|
+
// 48 / 16px
|
|
29
|
+
'1200': 3rem,
|
|
30
|
+
// 52 / 16px
|
|
31
|
+
'1300': 3.25rem,
|
|
32
|
+
// 56 / 16px
|
|
33
|
+
'1400': 3.5rem,
|
|
34
|
+
// 60 / 16px
|
|
35
|
+
'1500': 3.75rem,
|
|
36
|
+
// 64 / 16px
|
|
37
|
+
'1600': 4rem,
|
|
38
|
+
) !default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Strokes
|
|
2
|
+
|
|
3
|
+
// Strokes / size @16px
|
|
4
|
+
$uilib-stroke-sizes: (
|
|
5
|
+
// 1 / 16px
|
|
6
|
+
'025': 0.0625rem,
|
|
7
|
+
// 2 / 16px
|
|
8
|
+
'050': 0.125rem,
|
|
9
|
+
// 3 / 16px
|
|
10
|
+
'075': 0.1875rem
|
|
11
|
+
) !default;
|
|
12
|
+
|
|
13
|
+
// Strokes / styles
|
|
14
|
+
$uilib-stroke-styles: (
|
|
15
|
+
'none': none,
|
|
16
|
+
'solid': solid,
|
|
17
|
+
'dashed': dashed,
|
|
18
|
+
) !default;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
// typography
|
|
2
|
+
@use 'sass:meta';
|
|
3
|
+
@use 'sass:map';
|
|
4
|
+
@use 'primitives' as *;
|
|
5
|
+
@use '../variables/prefix' as *;
|
|
6
|
+
@use '../lib/utility/mixins' as util;
|
|
7
|
+
|
|
8
|
+
// font-family
|
|
9
|
+
$uilib-font-family-tuitypelight:
|
|
10
|
+
#{$app-prefix}TUITypeLight,
|
|
11
|
+
#{$app-prefix}TUITypeLightFallbackFont,
|
|
12
|
+
arial,
|
|
13
|
+
sans-serif !default;
|
|
14
|
+
|
|
15
|
+
// font-families
|
|
16
|
+
$uilib-font-families: (
|
|
17
|
+
'display': #{meta.inspect($uilib-font-family-tuitypelight)},
|
|
18
|
+
'lead': #{meta.inspect($uilib-font-family-tuitypelight)},
|
|
19
|
+
'base': #{meta.inspect($uilib-font-family-tuitypelight)},
|
|
20
|
+
) !default;
|
|
21
|
+
|
|
22
|
+
// Dymanic font sizes for display headings - https://utopia.fyi/type/calculator/?c=367,40,1.125,960,64,1.2,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12
|
|
23
|
+
// Dymanic font sizes for page headings - https://utopia.fyi/type/calculator/?c=367,14,1.125,960,16,1.2,10,2,&s=0.75%7C0.5%7C0.25,1.5%7C2%7C3%7C4%7C6,s-l&g=s,l,xl,12
|
|
24
|
+
$uilib-font-styles: (
|
|
25
|
+
'display-large': var(--uilib-font-weight-bold) clamp(2.8125rem, 1.5825rem + 5.3626vw, 4.8rem) / var(--uilib-line-height-heading)
|
|
26
|
+
var(--uilib-font-family-lead),
|
|
27
|
+
'display-medium': var(--uilib-font-weight-bold) clamp(2.5rem, 1.5717rem + 4.0472vw, 4rem) / var(--uilib-line-height-heading)
|
|
28
|
+
var(--uilib-font-family-lead),
|
|
29
|
+
'display-small': var(--uilib-font-weight-bold) clamp(2.2222rem, 1.5346rem + 2.9979vw, 3.3333rem) / var(--uilib-line-height-heading)
|
|
30
|
+
var(--uilib-font-family-lead),
|
|
31
|
+
'heading-xxlarge': var(--uilib-font-weight-bold) clamp(1.5768rem, 1.0126rem + 2.4595vw, 2.4883rem) / var(--uilib-line-height-heading)
|
|
32
|
+
var(--uilib-font-family-lead),
|
|
33
|
+
'heading-xlarge': var(--uilib-font-weight-bold) clamp(1.4016rem, 0.9857rem + 1.8132vw, 2.0736rem) / var(--uilib-line-height-heading)
|
|
34
|
+
var(--uilib-font-family-lead),
|
|
35
|
+
'heading-large': var(--uilib-font-weight-bold) clamp(1.2458rem, 0.9475rem + 1.3009vw, 1.728rem) / var(--uilib-line-height-heading)
|
|
36
|
+
var(--uilib-font-family-lead),
|
|
37
|
+
'heading-medium': var(--uilib-font-weight-bold) clamp(1.1074rem, 0.9016rem + 0.8973vw, 1.44rem) / var(--uilib-line-height-heading)
|
|
38
|
+
var(--uilib-font-family-lead),
|
|
39
|
+
'heading-small': var(--uilib-font-weight-bold) clamp(0.9844rem, 0.8509rem + 0.5818vw, 1.2rem) / var(--uilib-line-height-heading)
|
|
40
|
+
var(--uilib-font-family-lead),
|
|
41
|
+
// 23 / 16px
|
|
42
|
+
'component-heading-xlarge': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-160') / var(--uilib-line-height-heading)
|
|
43
|
+
var(--uilib-font-family-lead),
|
|
44
|
+
'component-heading-xxlarge': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-220') / var(--uilib-line-height-heading)
|
|
45
|
+
var(--uilib-font-family-lead),
|
|
46
|
+
'component-heading-xxlarge-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-220') / var(--uilib-line-height-heading)
|
|
47
|
+
var(--uilib-font-family-lead),
|
|
48
|
+
'component-heading-xlarge-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-160') / var(--uilib-line-height-heading)
|
|
49
|
+
var(--uilib-font-family-lead),
|
|
50
|
+
// 20 / 16px
|
|
51
|
+
'component-heading-large': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-140') / var(--uilib-line-height-heading)
|
|
52
|
+
var(--uilib-font-family-lead),
|
|
53
|
+
'component-heading-large-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-140') / var(--uilib-line-height-heading)
|
|
54
|
+
var(--uilib-font-family-lead),
|
|
55
|
+
// 18 / 16px
|
|
56
|
+
'component-heading-medium': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-heading)
|
|
57
|
+
var(--uilib-font-family-lead),
|
|
58
|
+
'component-heading-medium-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-heading)
|
|
59
|
+
var(--uilib-font-family-lead),
|
|
60
|
+
// 16 / 16px
|
|
61
|
+
'component-heading-small': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-heading)
|
|
62
|
+
var(--uilib-font-family-lead),
|
|
63
|
+
'component-heading-small-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-heading)
|
|
64
|
+
var(--uilib-font-family-lead),
|
|
65
|
+
// 18 / 16px
|
|
66
|
+
'body-large': var(--uilib-font-weight-regular) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-body)
|
|
67
|
+
var(--uilib-font-family-base),
|
|
68
|
+
'body-large-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-body)
|
|
69
|
+
var(--uilib-font-family-base),
|
|
70
|
+
// 16 / 16px
|
|
71
|
+
'body-medium': var(--uilib-font-weight-regular) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-body)
|
|
72
|
+
var(--uilib-font-family-base),
|
|
73
|
+
'body-medium-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-body)
|
|
74
|
+
var(--uilib-font-family-base),
|
|
75
|
+
// 14 / 16px
|
|
76
|
+
'body-small': var(--uilib-font-weight-regular) map.get($uilib-primitives, 'font-size-80') / var(--uilib-line-height-body)
|
|
77
|
+
var(--uilib-font-family-base),
|
|
78
|
+
'body-small-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-80') / var(--uilib-line-height-body)
|
|
79
|
+
var(--uilib-font-family-base),
|
|
80
|
+
// 18 / 16px
|
|
81
|
+
'label-large': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-heading)
|
|
82
|
+
var(--uilib-font-family-lead),
|
|
83
|
+
'label-large-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-120') / var(--uilib-line-height-heading)
|
|
84
|
+
var(--uilib-font-family-lead),
|
|
85
|
+
// 16 / 16px
|
|
86
|
+
'label-medium': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-heading)
|
|
87
|
+
var(--uilib-font-family-lead),
|
|
88
|
+
'label-medium-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-100') / var(--uilib-line-height-heading)
|
|
89
|
+
var(--uilib-font-family-lead),
|
|
90
|
+
// 14 / 16px
|
|
91
|
+
'label-small': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-80') / var(--uilib-line-height-heading)
|
|
92
|
+
var(--uilib-font-family-lead),
|
|
93
|
+
'label-small-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-80') / var(--uilib-line-height-heading)
|
|
94
|
+
var(--uilib-font-family-lead),
|
|
95
|
+
// 13 / 16px
|
|
96
|
+
'label-xsmall': var(--uilib-font-weight-semibold) map.get($uilib-primitives, 'font-size-60') / var(--uilib-line-height-heading)
|
|
97
|
+
var(--uilib-font-family-lead),
|
|
98
|
+
'label-xsmall-strong': var(--uilib-font-weight-bold) map.get($uilib-primitives, 'font-size-60') / var(--uilib-line-height-heading)
|
|
99
|
+
var(--uilib-font-family-lead),
|
|
100
|
+
) !default;
|
|
101
|
+
|
|
102
|
+
// font-size/scale variables
|
|
103
|
+
$uilib-font-size-root: 1rem !default; // Browser default > `16px`
|
|
104
|
+
|
|
105
|
+
// line-height
|
|
106
|
+
$uilib-line-height: (
|
|
107
|
+
'heading': 1.3,
|
|
108
|
+
'body': 1.3,
|
|
109
|
+
'none': 1,
|
|
110
|
+
) !default;
|
|
111
|
+
|
|
112
|
+
// font-weight
|
|
113
|
+
$uilib-font-weight: (
|
|
114
|
+
'regular': 400,
|
|
115
|
+
'semibold': 600,
|
|
116
|
+
'bold': 700,
|
|
117
|
+
) !default;
|
|
118
|
+
|
|
119
|
+
@mixin uilib-font-base-vars($typography: $uilib-font-styles, $line-height: $uilib-line-height, $font-weight: $uilib-font-weight) {
|
|
120
|
+
--uilib-font-size-root: #{$uilib-font-size-root};
|
|
121
|
+
|
|
122
|
+
@include util.uilib-build-css-vars('typography', $typography);
|
|
123
|
+
@include util.uilib-build-css-vars('line-height', $line-height);
|
|
124
|
+
@include util.uilib-build-css-vars('font-weight', $font-weight);
|
|
125
|
+
}
|