@haiilo/catalyst 0.7.1 → 0.7.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.
Files changed (61) hide show
  1. package/dist/catalyst/scss/_mixins.scss +9 -0
  2. package/dist/catalyst/scss/_variables.scss +64 -0
  3. package/dist/catalyst/scss/_variables.tokens.scss +84 -0
  4. package/dist/catalyst/scss/core/_base.scss +12 -0
  5. package/dist/catalyst/scss/core/_nav.scss +23 -0
  6. package/dist/catalyst/scss/core/_typography.scss +237 -0
  7. package/dist/catalyst/scss/fonts/_fonts.mixins.azeret.scss +14 -0
  8. package/dist/catalyst/scss/fonts/_fonts.mixins.dm.scss +53 -0
  9. package/dist/catalyst/scss/fonts/_fonts.mixins.lato.scss +185 -0
  10. package/dist/catalyst/scss/fonts/_fonts.mixins.scss +3 -0
  11. package/dist/catalyst/scss/fonts/_fonts.scss +13 -0
  12. package/dist/catalyst/scss/index.scss +32 -0
  13. package/dist/catalyst/scss/utils/_color.scss +52 -0
  14. package/dist/catalyst/scss/utils/_disabled.mixins.scss +7 -0
  15. package/dist/catalyst/scss/utils/_display.scss +20 -0
  16. package/dist/catalyst/scss/utils/_elevation.mixins.scss +10 -0
  17. package/dist/catalyst/scss/utils/_elevation.scss +19 -0
  18. package/dist/catalyst/scss/utils/_layout.scss +78 -0
  19. package/dist/catalyst/scss/utils/_media.mixins.scss +37 -0
  20. package/dist/catalyst/scss/utils/_ratio.mixins.scss +12 -0
  21. package/dist/catalyst/scss/utils/_ratio.scss +20 -0
  22. package/dist/catalyst/scss/utils/_sizing.mixins.scss +15 -0
  23. package/dist/catalyst/scss/utils/_sizing.scss +16 -0
  24. package/dist/catalyst/scss/utils/_spacing.mixins.scss +5 -0
  25. package/dist/catalyst/scss/utils/_spacing.scss +49 -0
  26. package/dist/catalyst/scss/utils/_toast.scss +77 -0
  27. package/dist/catalyst/scss/utils/_typography.mixins.scss +102 -0
  28. package/dist/catalyst/scss/utils/_typography.scss +34 -0
  29. package/dist/catalyst/scss/utils/_visibility.mixins.scss +29 -0
  30. package/dist/catalyst/scss/utils/_visibility.scss +13 -0
  31. package/dist/collection/scss/_mixins.scss +9 -0
  32. package/dist/collection/scss/_variables.scss +64 -0
  33. package/dist/collection/scss/_variables.tokens.scss +84 -0
  34. package/dist/collection/scss/core/_base.scss +12 -0
  35. package/dist/collection/scss/core/_nav.scss +23 -0
  36. package/dist/collection/scss/core/_typography.scss +237 -0
  37. package/dist/collection/scss/fonts/_fonts.mixins.azeret.scss +14 -0
  38. package/dist/collection/scss/fonts/_fonts.mixins.dm.scss +53 -0
  39. package/dist/collection/scss/fonts/_fonts.mixins.lato.scss +185 -0
  40. package/dist/collection/scss/fonts/_fonts.mixins.scss +3 -0
  41. package/dist/collection/scss/fonts/_fonts.scss +13 -0
  42. package/dist/collection/scss/index.scss +32 -0
  43. package/dist/collection/scss/utils/_color.scss +52 -0
  44. package/dist/collection/scss/utils/_disabled.mixins.scss +7 -0
  45. package/dist/collection/scss/utils/_display.scss +20 -0
  46. package/dist/collection/scss/utils/_elevation.mixins.scss +10 -0
  47. package/dist/collection/scss/utils/_elevation.scss +19 -0
  48. package/dist/collection/scss/utils/_layout.scss +78 -0
  49. package/dist/collection/scss/utils/_media.mixins.scss +37 -0
  50. package/dist/collection/scss/utils/_ratio.mixins.scss +12 -0
  51. package/dist/collection/scss/utils/_ratio.scss +20 -0
  52. package/dist/collection/scss/utils/_sizing.mixins.scss +15 -0
  53. package/dist/collection/scss/utils/_sizing.scss +16 -0
  54. package/dist/collection/scss/utils/_spacing.mixins.scss +5 -0
  55. package/dist/collection/scss/utils/_spacing.scss +49 -0
  56. package/dist/collection/scss/utils/_toast.scss +77 -0
  57. package/dist/collection/scss/utils/_typography.mixins.scss +102 -0
  58. package/dist/collection/scss/utils/_typography.scss +34 -0
  59. package/dist/collection/scss/utils/_visibility.mixins.scss +29 -0
  60. package/dist/collection/scss/utils/_visibility.scss +13 -0
  61. package/package.json +1 -1
@@ -0,0 +1,32 @@
1
+ // -- Reset
2
+
3
+ @use '~sanitize.css/sanitize.css';
4
+ @use '~sanitize.css/assets.css';
5
+ @use '~sanitize.css/reduce-motion.css';
6
+
7
+ // -- Vendor
8
+
9
+ @use '~toastify-js/src/toastify.css';
10
+
11
+ // -- Core
12
+
13
+ @use 'core/base' as *;
14
+ @use 'core/nav' as *;
15
+ @use 'core/typography' as *;
16
+
17
+ // -- Fonts
18
+
19
+ @use 'fonts/fonts' as *;
20
+
21
+ // -- Utils
22
+
23
+ @use 'utils/color';
24
+ @use 'utils/display';
25
+ @use 'utils/elevation';
26
+ @use 'utils/layout';
27
+ @use 'utils/sizing';
28
+ @use 'utils/spacing';
29
+ @use 'utils/typography';
30
+ @use 'utils/visibility';
31
+ @use 'utils/ratio';
32
+ @use 'utils/toast';
@@ -0,0 +1,52 @@
1
+ @use '../variables' as *;
2
+
3
+ @each $name, $theme in cat-token('color.theme') {
4
+ .cat-bg-#{$name} {
5
+ background-color: cat-token('color.theme.#{$name}.bg') !important;
6
+ color: cat-token('color.theme.#{$name}.fill') !important;
7
+ }
8
+
9
+ .cat-bg-#{$name}-hover {
10
+ transition: background-color cat-token('time.transition.s'), color cat-token('time.transition.s');
11
+
12
+ &:hover {
13
+ background-color: cat-token('color.theme.#{$name}.bgHover') !important;
14
+ color: cat-token('color.theme.#{$name}.fillHover') !important;
15
+ }
16
+ }
17
+
18
+ .cat-text-#{$name},
19
+ .cat-link-#{$name} {
20
+ color: cat-token('color.theme.#{$name}.text') !important;
21
+ }
22
+
23
+ .cat-link-#{$name},
24
+ .cat-text-#{$name}-hover {
25
+ transition: color cat-token('time.transition.s');
26
+
27
+ &:hover {
28
+ color: cat-token('color.theme.#{$name}.textHover') !important;
29
+ }
30
+
31
+ &:active {
32
+ color: cat-token('color.theme.#{$name}.textActive') !important;
33
+ }
34
+ }
35
+ }
36
+
37
+ .cat-active {
38
+ color: cat-token('color.theme.primary.text') !important;
39
+ }
40
+
41
+ .cat-muted {
42
+ color: cat-token('color.ui.font.muted') !important;
43
+ }
44
+
45
+ .cat-text-reset {
46
+ color: inherit !important;
47
+ }
48
+
49
+ .cat-link-reset {
50
+ color: inherit !important;
51
+ text-decoration: inherit !important;
52
+ }
@@ -0,0 +1,7 @@
1
+ @use '../variables' as *;
2
+
3
+ @mixin cat-disabled() {
4
+ cursor: not-allowed;
5
+ opacity: cat-token('opacity.disabled');
6
+ filter: grayscale(100%);
7
+ }
@@ -0,0 +1,20 @@
1
+ @use '../variables' as *;
2
+ @use 'media.mixins' as *;
3
+
4
+ $-display-props: none, inline, inline-block, block, grid, flex, inline-flex;
5
+
6
+ @each $prop in $-display-props {
7
+ .cat-#{$prop} {
8
+ display: $prop !important;
9
+ }
10
+ }
11
+
12
+ @each $key, $value in cat-token('size.screen') {
13
+ @include from($key) {
14
+ @each $prop in $-display-props {
15
+ .cat-#{$prop}\:#{$key} {
16
+ display: $prop !important;
17
+ }
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,10 @@
1
+ @use 'sass:map';
2
+ @use '../variables' as *;
3
+
4
+ @mixin cat-elevation($level) {
5
+ box-shadow: map.get($cat-elevation, $level);
6
+ }
7
+
8
+ @mixin cat-elevation-transition {
9
+ transition: $cat-elevation-transition;
10
+ }
@@ -0,0 +1,19 @@
1
+ @use '../variables' as *;
2
+ @use 'elevation.mixins' as *;
3
+
4
+ .cat-elevation-transition {
5
+ @include cat-elevation-transition;
6
+ }
7
+
8
+ @each $level, $_def in $cat-elevation {
9
+ .cat-elevation-#{$level} {
10
+ @include cat-elevation($level);
11
+ }
12
+ .cat-elevation-hover-#{$level} {
13
+ &:hover,
14
+ &:focus,
15
+ &:focus-within {
16
+ @include cat-elevation($level);
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,78 @@
1
+ @use '../variables' as *;
2
+
3
+ @mixin -layout-property($name, $property, $value) {
4
+ .cat-#{$name} {
5
+ #{$property}: #{$value};
6
+ @content;
7
+ }
8
+ }
9
+
10
+ // -- Direction
11
+
12
+ @include -layout-property('flex-row', 'flex-direction', 'row');
13
+ @include -layout-property('flex-col', 'flex-direction', 'column');
14
+
15
+ // -- Flex
16
+
17
+ @include -layout-property('flex-1', 'flex', '1 1 0%');
18
+ @include -layout-property('flex-auto', 'flex', '1 1 auto');
19
+ @include -layout-property('flex-init', 'flex', '0 1 auto');
20
+ @include -layout-property('flex-none', 'flex', 'none');
21
+
22
+ // -- Wrap
23
+
24
+ @include -layout-property('flex-wrap', 'flex-wrap', 'wrap');
25
+ @include -layout-property('flex-nowrap', 'flex-wrap', 'nowrap');
26
+
27
+ // -- Gap
28
+
29
+ @each $size, $value in cat-token('size.spacing') {
30
+ @include -layout-property('gap-#{$size}', 'gap', $value);
31
+ @include -layout-property('gap-x-#{$size}', 'column-gap', $value);
32
+ @include -layout-property('gap-y-#{$size}', 'row-gap', $value);
33
+ }
34
+
35
+ // -- Alignment
36
+
37
+ @include -layout-property('justify-start', 'justify-content', 'flex-start');
38
+ @include -layout-property('justify-end', 'justify-content', 'flex-end');
39
+ @include -layout-property('justify-center', 'justify-content', 'center');
40
+ @include -layout-property('justify-between', 'justify-content', 'space-between');
41
+ // @include -layout-property('justify-around', 'justify-content', 'space-around');
42
+ // @include -layout-property('justify-evenly', 'justify-content', 'space-evenly');
43
+
44
+ @include -layout-property('justify-items-start', 'justify-items', 'flex-start');
45
+ @include -layout-property('justify-items-end', 'justify-items', 'flex-end');
46
+ @include -layout-property('justify-items-center', 'justify-items', 'flex-center');
47
+ @include -layout-property('justify-items-stretch', 'justify-items', 'flex-stretch');
48
+
49
+ @include -layout-property('content-start', 'align-content', 'flex-start');
50
+ @include -layout-property('content-end', 'align-content', 'flex-end');
51
+ @include -layout-property('content-center', 'align-content', 'center');
52
+ @include -layout-property('content-between', 'align-content', 'space-between');
53
+ // @include -layout-property('content-around', 'align-content', 'space-around');
54
+ // @include -layout-property('content-evenly', 'align-content', 'space-evenly');
55
+
56
+ @include -layout-property('items-start', 'align-items', 'flex-start');
57
+ @include -layout-property('items-end', 'align-items', 'flex-end');
58
+ @include -layout-property('items-center', 'align-items', 'flex-center');
59
+ @include -layout-property('items-stretch', 'align-items', 'flex-stretch');
60
+
61
+ // -- Grid
62
+
63
+ @for $i from 1 through 12 {
64
+ @include -layout-property('grid-#{$i}', 'grid-template-columns', 'repeat(#{$i}, minmax(0, 1fr))');
65
+ @include -layout-property('grid-col-#{$i}', 'grid-column', 'span #{$i} / span #{$i}');
66
+ }
67
+
68
+ @for $i from 1 through 6 {
69
+ @include -layout-property('grid-row-#{$i}', 'grid-row', 'span #{$i} / span #{$i}');
70
+ }
71
+
72
+ @include -layout-property(
73
+ 'grid-auto',
74
+ 'grid-template-columns',
75
+ 'repeat(auto-fill,minmax(min(var(--grid-min),100%),1fr))'
76
+ ) {
77
+ --grid-min: 100%;
78
+ }
@@ -0,0 +1,37 @@
1
+ @use '../variables' as *;
2
+
3
+ // ---- Responsive
4
+
5
+ @mixin until($size, $media-type: screen) {
6
+ @media #{$media-type} and (max-width: #{cat-token('size.screen.#{$size}') - 1px}) {
7
+ @content;
8
+ }
9
+ }
10
+
11
+ @mixin from($size, $media-type: screen) {
12
+ @media #{$media-type} and (min-width: #{cat-token('size.screen.#{$size}')}) {
13
+ @content;
14
+ }
15
+ }
16
+
17
+ // ---- Print
18
+
19
+ @mixin print {
20
+ @media print {
21
+ @content;
22
+ }
23
+ }
24
+
25
+ // ---- Interaction
26
+
27
+ @mixin pointer($pointer: fine) {
28
+ @media (pointer: #{$pointer}) {
29
+ @content;
30
+ }
31
+ }
32
+
33
+ @mixin hover($hover: hover) {
34
+ @media (hover: #{$hover}) {
35
+ @content;
36
+ }
37
+ }
@@ -0,0 +1,12 @@
1
+ @mixin cat-ratio($aspect-ratio) {
2
+ position: relative;
3
+ aspect-ratio: $aspect-ratio;
4
+
5
+ > * {
6
+ position: absolute;
7
+ top: 0;
8
+ left: 0;
9
+ width: 100%;
10
+ height: 100%;
11
+ }
12
+ }
@@ -0,0 +1,20 @@
1
+ @use 'ratio.mixins' as *;
2
+
3
+ $aspect-ratios: (
4
+ '1x1': 1,
5
+ '3x1': 3,
6
+ '6x1': 6,
7
+ '4x3': calc(4 / 3),
8
+ '16x9': calc(16 / 9),
9
+ '21x9': calc(21 / 9)
10
+ );
11
+
12
+ .cat-ratio {
13
+ @include cat-ratio(var(--cat-aspect-ratio));
14
+ }
15
+
16
+ @each $key, $ratio in $aspect-ratios {
17
+ .cat-ratio-#{$key} {
18
+ --cat-aspect-ratio: #{$ratio};
19
+ }
20
+ }
@@ -0,0 +1,15 @@
1
+ @use '../variables' as *;
2
+
3
+ @function cat-size($size) {
4
+ @return cat-token('size.base.#{$size}');
5
+ }
6
+
7
+ @function cat-border-radius($size) {
8
+ @if $size == '0' or $size == 0 {
9
+ @return none;
10
+ } @else if $size == 'full' {
11
+ @return 100rem;
12
+ } @else {
13
+ @return cat-token('size.border.radius.#{$size}');
14
+ }
15
+ }
@@ -0,0 +1,16 @@
1
+ @use '../variables' as *;
2
+ @use 'sizing.mixins' as *;
3
+
4
+ @each $size, $_def in cat-token('size.border.radius') {
5
+ .cat-radius-#{$size} {
6
+ border-radius: cat-border-radius($size);
7
+ }
8
+ }
9
+
10
+ .cat-radius-0 {
11
+ border-radius: cat-border-radius('0');
12
+ }
13
+
14
+ .cat-radius-full {
15
+ border-radius: cat-border-radius('full');
16
+ }
@@ -0,0 +1,5 @@
1
+ @use '../variables' as *;
2
+
3
+ @function cat-spacing($size) {
4
+ @return cat-token('size.spacing.#{$size}');
5
+ }
@@ -0,0 +1,49 @@
1
+ @use 'sass:map';
2
+ @use '../variables' as *;
3
+ @use 'spacing.mixins' as *;
4
+
5
+ $-spacings: map.merge(
6
+ (
7
+ 'auto': auto,
8
+ '0': 0
9
+ ),
10
+ cat-token('size.spacing')
11
+ );
12
+
13
+ @each $name, $spacing in $-spacings {
14
+ .cat-m-#{$name} {
15
+ margin: $spacing !important;
16
+ }
17
+ .cat-mv-#{$name} {
18
+ margin-top: $spacing !important;
19
+ margin-bottom: $spacing !important;
20
+ }
21
+ .cat-mh-#{$name} {
22
+ margin-left: $spacing !important;
23
+ margin-right: $spacing !important;
24
+ }
25
+ @each $dir in (top, bottom, left, right) {
26
+ .cat-m#{str-slice($dir, 0, 1)}-#{$name} {
27
+ margin-#{$dir}: $spacing !important;
28
+ }
29
+ }
30
+
31
+ @if $spacing != auto {
32
+ .cat-p-#{$name} {
33
+ padding: $spacing !important;
34
+ }
35
+ .cat-pv-#{$name} {
36
+ padding-top: $spacing !important;
37
+ padding-bottom: $spacing !important;
38
+ }
39
+ .cat-ph-#{$name} {
40
+ padding-left: $spacing !important;
41
+ padding-right: $spacing !important;
42
+ }
43
+ @each $dir in (top, bottom, left, right) {
44
+ .cat-p#{str-slice($dir, 0, 1)}-#{$name} {
45
+ padding-#{$dir}: $spacing !important;
46
+ }
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,77 @@
1
+ @import 'variables';
2
+ @import 'mixins';
3
+
4
+ $-background-color: cat-token('color.base.neutral.0');
5
+ $-text-color: cat-token('color.base.neutral.900');
6
+ $-title-border: cat-token('color.base.neutral.300');
7
+ $-shadow: cat-token('color.ui.border.dark');
8
+ $-error-color: cat-token('color.theme.danger.text');
9
+ $-info-color: cat-token('color.theme.secondary.text');
10
+ $-success-color: cat-token('color.theme.success.text');
11
+
12
+ .cat-toastify {
13
+ background: $-background-color;
14
+ color: $-text-color;
15
+ padding: 0;
16
+ @include cat-elevation(1);
17
+
18
+ .toast-close {
19
+ float: right;
20
+ font-size: 20px;
21
+ margin-top: 0.5rem;
22
+ position: absolute;
23
+ top: 0;
24
+ right: 0;
25
+ z-index: 10;
26
+ }
27
+
28
+ .cat-toastify-wrapper {
29
+ display: block;
30
+ position: relative;
31
+
32
+ .cat-toastify-icon-wrapper {
33
+ position: absolute;
34
+ top: 6px;
35
+ left: 5px;
36
+
37
+ &.info {
38
+ color: $-info-color;
39
+ }
40
+
41
+ &.error {
42
+ color: $-error-color;
43
+ }
44
+
45
+ &.success {
46
+ color: $-success-color;
47
+ }
48
+ }
49
+
50
+ .cat-toastify-title-wrapper {
51
+ width: 100%;
52
+ padding: 0.5rem 0.5rem 0.5rem 2rem;
53
+
54
+ &.has-message {
55
+ border-bottom: 1px solid $-title-border;
56
+ }
57
+
58
+ .cat-toastify-title {
59
+ width: 100%;
60
+ padding-right: 25px;
61
+ overflow: hidden;
62
+ text-overflow: ellipsis;
63
+ white-space: nowrap;
64
+ font-size: 15px;
65
+ line-height: 20px;
66
+ font-weight: 600;
67
+ color: $-text-color;
68
+ }
69
+ }
70
+
71
+ .cat-toastify-message {
72
+ width: 100%;
73
+ padding: 0.5rem;
74
+ color: $-text-color;
75
+ }
76
+ }
77
+ }
@@ -0,0 +1,102 @@
1
+ @use '../variables' as *;
2
+
3
+ // ---- Head
4
+
5
+ @function cat-head-font-family() {
6
+ @return cat-token('font.family.head'), $font-fallback-sans-serif;
7
+ }
8
+
9
+ @function cat-head-font-size($size) {
10
+ @return cat-token('size.font.head.#{$size}');
11
+ }
12
+
13
+ @function cat-head-line-height($size) {
14
+ @return cat-token('size.line.head.#{$size}');
15
+ }
16
+
17
+ @mixin cat-head($size, $weight: null) {
18
+ font-family: cat-head-font-family();
19
+ font-size: cat-head-font-size($size);
20
+ line-height: cat-head-line-height($size);
21
+ color: cat-token('color.ui.font.head');
22
+ font-weight: $weight;
23
+ }
24
+
25
+ // ---- Body
26
+
27
+ @function cat-body-font-family() {
28
+ @return cat-token('font.family.body'), $font-fallback-sans-serif;
29
+ }
30
+
31
+ @function cat-body-font-size($size) {
32
+ @return cat-token('size.font.body.#{$size}');
33
+ }
34
+
35
+ @function cat-body-line-height($size) {
36
+ @return cat-token('size.line.body.#{$size}');
37
+ }
38
+
39
+ @mixin cat-body($size, $weight: null) {
40
+ // skip font family, as it is set on the body
41
+ // skip color, as it is set on the body
42
+ font-size: cat-body-font-size($size);
43
+ line-height: cat-body-line-height($size);
44
+ font-weight: $weight;
45
+ }
46
+
47
+ // ---- Mono
48
+
49
+ @function cat-mono-font-family() {
50
+ @return cat-token('font.family.mono'), $font-fallback-monospace;
51
+ }
52
+
53
+ @function cat-mono-font-size($size) {
54
+ @return cat-token('size.font.mono.#{$size}');
55
+ }
56
+
57
+ @function cat-mono-line-height($size) {
58
+ @return cat-token('size.line.mono.#{$size}');
59
+ }
60
+
61
+ @mixin cat-mono($size, $weight: null) {
62
+ font-family: cat-mono-font-family();
63
+ font-size: cat-mono-font-size($size);
64
+ line-height: cat-mono-line-height($size);
65
+ color: cat-token('color.ui.font.mono');
66
+ font-weight: $weight;
67
+ }
68
+
69
+ // ---- Utils
70
+
71
+ @mixin cat-break-word {
72
+ word-wrap: break-word;
73
+ word-break: break-word;
74
+ }
75
+
76
+ @mixin cat-ellipsis($lines: 1) {
77
+ /* stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix */
78
+ @if $lines == 1 {
79
+ overflow: hidden;
80
+ text-overflow: ellipsis;
81
+ white-space: nowrap;
82
+ } @else {
83
+ display: -webkit-box;
84
+ -webkit-line-clamp: $lines;
85
+ -webkit-box-orient: vertical;
86
+ overflow: hidden;
87
+ }
88
+ /* stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix */
89
+ }
90
+
91
+ @mixin cat-select($select: auto) {
92
+ /* stylelint-disable property-no-vendor-prefix */
93
+ -webkit-user-select: $select;
94
+ -ms-user-select: $select;
95
+ user-select: $select;
96
+ /* stylelint-enable property-no-vendor-prefix */
97
+ }
98
+
99
+ @mixin cat-font-smooth() {
100
+ -webkit-font-smoothing: antialiased;
101
+ -moz-osx-font-smoothing: greyscale;
102
+ }
@@ -0,0 +1,34 @@
1
+ @use 'typography.mixins' as *;
2
+
3
+ .cat-text-left {
4
+ text-align: left !important;
5
+ }
6
+
7
+ .cat-text-center {
8
+ text-align: center !important;
9
+ }
10
+
11
+ .cat-text-right {
12
+ text-align: right !important;
13
+ }
14
+
15
+ .cat-ellipsis {
16
+ @include cat-ellipsis;
17
+ }
18
+ @for $i from 1 through 5 {
19
+ .cat-ellipsis-#{$i} {
20
+ @include cat-ellipsis($i);
21
+ }
22
+ }
23
+
24
+ .cat-select {
25
+ @include cat-select;
26
+ }
27
+
28
+ .cat-no-select {
29
+ @include cat-select(none);
30
+ }
31
+
32
+ .cat-break-word {
33
+ @include cat-break-word;
34
+ }
@@ -0,0 +1,29 @@
1
+ @mixin cat-visually-hidden {
2
+ position: absolute !important;
3
+ width: 1px !important;
4
+ height: 1px !important;
5
+ padding: 0 !important;
6
+ margin: -1px !important;
7
+ overflow: hidden !important;
8
+ clip: rect(0, 0, 0, 0) !important;
9
+ white-space: nowrap !important;
10
+ border: 0 !important;
11
+ }
12
+
13
+ @mixin cat-visually-hidden-focusable {
14
+ &:not(:focus):not(:focus-within) {
15
+ @include cat-visually-hidden;
16
+ }
17
+ }
18
+
19
+ @mixin cat-visually-hidden-hoverable($container: null) {
20
+ @if $container {
21
+ #{$container}:not(:hover):not(:focus):not(:focus-within) & {
22
+ @include cat-visually-hidden;
23
+ }
24
+ } @else {
25
+ *:not(:hover):not(:focus):not(:focus-within) > & {
26
+ @include cat-visually-hidden;
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,13 @@
1
+ @use 'visibility.mixins' as *;
2
+
3
+ .cat-visually-hidden {
4
+ @include cat-visually-hidden;
5
+ }
6
+
7
+ .cat-visually-hidden-focusable {
8
+ @include cat-visually-hidden-focusable;
9
+ }
10
+
11
+ .cat-visually-hidden-hoverable {
12
+ @include cat-visually-hidden-hoverable;
13
+ }
@@ -0,0 +1,9 @@
1
+ @forward 'fonts/fonts.mixins';
2
+ @forward 'utils/disabled.mixins';
3
+ @forward 'utils/elevation.mixins';
4
+ @forward 'utils/media.mixins';
5
+ @forward 'utils/sizing.mixins';
6
+ @forward 'utils/spacing.mixins';
7
+ @forward 'utils/typography.mixins';
8
+ @forward 'utils/visibility.mixins';
9
+ @forward 'utils/ratio.mixins';