@microsoft/atlas-css 1.2.0 → 1.3.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 (63) hide show
  1. package/README.md +42 -42
  2. package/dist/index.css +1 -1
  3. package/dist/index.css.map +1 -1
  4. package/package.json +57 -57
  5. package/src/atomics/README.md +54 -54
  6. package/src/atomics/border.scss +56 -56
  7. package/src/atomics/colors.scss +166 -166
  8. package/src/atomics/display.scss +33 -33
  9. package/src/atomics/flex.scss +69 -69
  10. package/src/atomics/index.scss +8 -8
  11. package/src/atomics/position.scss +19 -19
  12. package/src/atomics/shadow.scss +19 -19
  13. package/src/atomics/spacing.scss +73 -73
  14. package/src/atomics/typography.scss +105 -105
  15. package/src/components/README.md +41 -41
  16. package/src/components/button-reset.scss +8 -8
  17. package/src/components/button.scss +245 -243
  18. package/src/components/buttons.scss +86 -87
  19. package/src/components/component.md +6 -6
  20. package/src/components/icon.scss +20 -20
  21. package/src/components/index.scss +7 -7
  22. package/src/components/link-button.scss +30 -30
  23. package/src/components/markdown.scss +156 -156
  24. package/src/components/table.scss +67 -67
  25. package/src/core/animations.scss +8 -8
  26. package/src/core/focus.scss +35 -35
  27. package/src/core/font-stack.scss +28 -28
  28. package/src/core/index.scss +6 -6
  29. package/src/core/themes.scss +86 -86
  30. package/src/index.scss +6 -6
  31. package/src/mixins/center.scss +11 -11
  32. package/src/mixins/code-block.scss +43 -43
  33. package/src/mixins/control.scss +44 -44
  34. package/src/mixins/focus.scss +10 -10
  35. package/src/mixins/font-size.scss +35 -35
  36. package/src/mixins/index.scss +9 -9
  37. package/src/mixins/loader.scss +16 -16
  38. package/src/mixins/media-queries.scss +49 -49
  39. package/src/mixins/transparency.scss +14 -14
  40. package/src/mixins/unselectable.scss +13 -13
  41. package/src/patterns/index.scss +1 -1
  42. package/src/tokens/animation.scss +8 -8
  43. package/src/tokens/border.scss +8 -8
  44. package/src/tokens/breakpoints.scss +11 -11
  45. package/src/tokens/colors.scss +215 -215
  46. package/src/tokens/direction.scss +18 -18
  47. package/src/tokens/display.scss +5 -5
  48. package/src/tokens/focus.scss +9 -9
  49. package/src/tokens/font-stack.scss +10 -10
  50. package/src/tokens/index.scss +18 -18
  51. package/src/tokens/layout.scss +8 -8
  52. package/src/tokens/palette.scss +188 -188
  53. package/src/tokens/position.scss +5 -5
  54. package/src/tokens/radius.scss +9 -9
  55. package/src/tokens/schemes.scss +14 -14
  56. package/src/tokens/shadow.scss +11 -11
  57. package/src/tokens/spacing.scss +25 -25
  58. package/src/tokens/themes.scss +291 -291
  59. package/src/tokens/typography.scss +29 -29
  60. package/src/tokens/z-index.scss +20 -20
  61. package/tokens/README.md +34 -34
  62. package/tokens/index.js +246 -246
  63. package/tokens/types.d.ts +35 -35
@@ -1,67 +1,67 @@
1
- $table-cell-vertical-padding: $spacer-4 !default;
2
- $table-cell-horizontal-padding: $spacer-5 !default;
3
-
4
- $table-caption-padding: $spacer-6 !default;
5
- $table-caption-size: $font-size-9 !default;
6
- $table-caption-spacing: $letter-spacing-medium !default;
7
-
8
- .table-wrapper {
9
- overflow-x: auto;
10
- overflow-y: hidden;
11
- -webkit-overflow-scrolling: touch;
12
- }
13
-
14
- .table {
15
- width: 100%;
16
- font-size: $font-size-8;
17
- border-collapse: collapse;
18
- table-layout: auto;
19
-
20
- caption {
21
- padding: $table-caption-padding;
22
- font-size: $table-caption-size;
23
- font-weight: $weight-semibold;
24
- letter-spacing: $table-caption-spacing;
25
- text-align: $user-right;
26
- text-transform: uppercase;
27
- }
28
-
29
- th,
30
- td {
31
- display: table-cell;
32
- word-wrap: break-word;
33
- padding: $table-cell-vertical-padding $table-cell-horizontal-padding;
34
- border-top: 1px solid $border;
35
- line-height: 1.5;
36
- vertical-align: top;
37
- }
38
-
39
- thead th {
40
- border-top: 0;
41
- border-bottom: 1px solid $border;
42
- }
43
-
44
- th:not([align]) {
45
- text-align: $user-left;
46
- }
47
-
48
- &.table-stacked-mobile {
49
- @include discouraged-mobile {
50
- thead,
51
- tfoot {
52
- display: none;
53
- }
54
-
55
- td {
56
- display: block;
57
- width: 100%;
58
- padding: $table-cell-vertical-padding 0;
59
- }
60
-
61
- td:not(:nth-child(1)) {
62
- padding-top: 0;
63
- border-width: 0;
64
- }
65
- }
66
- }
67
- }
1
+ $table-cell-vertical-padding: $spacer-4 !default;
2
+ $table-cell-horizontal-padding: $spacer-5 !default;
3
+
4
+ $table-caption-padding: $spacer-6 !default;
5
+ $table-caption-size: $font-size-9 !default;
6
+ $table-caption-spacing: $letter-spacing-medium !default;
7
+
8
+ .table-wrapper {
9
+ overflow-x: auto;
10
+ overflow-y: hidden;
11
+ -webkit-overflow-scrolling: touch;
12
+ }
13
+
14
+ .table {
15
+ width: 100%;
16
+ font-size: $font-size-8;
17
+ border-collapse: collapse;
18
+ table-layout: auto;
19
+
20
+ caption {
21
+ padding: $table-caption-padding;
22
+ font-size: $table-caption-size;
23
+ font-weight: $weight-semibold;
24
+ letter-spacing: $table-caption-spacing;
25
+ text-align: $user-right;
26
+ text-transform: uppercase;
27
+ }
28
+
29
+ th,
30
+ td {
31
+ display: table-cell;
32
+ word-wrap: break-word;
33
+ padding: $table-cell-vertical-padding $table-cell-horizontal-padding;
34
+ border-top: 1px solid $border;
35
+ line-height: 1.5;
36
+ vertical-align: top;
37
+ }
38
+
39
+ thead th {
40
+ border-top: 0;
41
+ border-bottom: 1px solid $border;
42
+ }
43
+
44
+ th:not([align]) {
45
+ text-align: $user-left;
46
+ }
47
+
48
+ &.table-stacked-mobile {
49
+ @include discouraged-mobile {
50
+ thead,
51
+ tfoot {
52
+ display: none;
53
+ }
54
+
55
+ td {
56
+ display: block;
57
+ width: 100%;
58
+ padding: $table-cell-vertical-padding 0;
59
+ }
60
+
61
+ td:not(:nth-child(1)) {
62
+ padding-top: 0;
63
+ border-width: 0;
64
+ }
65
+ }
66
+ }
67
+ }
@@ -1,8 +1,8 @@
1
- @keyframes spinAround {
2
- from {
3
- transform: rotate(0deg);
4
- }
5
- to {
6
- transform: rotate(359deg);
7
- }
8
- }
1
+ @keyframes spinAround {
2
+ from {
3
+ transform: rotate(0deg);
4
+ }
5
+ to {
6
+ transform: rotate(359deg);
7
+ }
8
+ }
@@ -1,35 +1,35 @@
1
- @if ($focus-visible-use-polyfill) {
2
- .js-focus-visible .has-default-focus *:focus:not(.focus-visible),
3
- .js-focus-visible .default-focus *:focus:not(.focus-visible) {
4
- outline: none;
5
- }
6
-
7
- .focus-visible.has-inner-focus,
8
- .focus-visible.inner-focus {
9
- outline-offset: -$focus-outline-offset;
10
- }
11
-
12
- .has-default-focus,
13
- .default-focus {
14
- .is-focused,
15
- .focus-visible {
16
- @extend %focus;
17
-
18
- &.has-inner-focus,
19
- &.inner-focus {
20
- outline-color: currentColor;
21
- }
22
- }
23
- }
24
- } @else {
25
- .has-default-focus *:focus-visible,
26
- .default-focus *:focus-visible {
27
- @extend %focus;
28
-
29
- &.has-inner-focus,
30
- &.inner-focus {
31
- outline-color: currentColor;
32
- outline-offset: -$focus-outline-offset;
33
- }
34
- }
35
- }
1
+ @if ($focus-visible-use-polyfill) {
2
+ .js-focus-visible .has-default-focus *:focus:not(.focus-visible),
3
+ .js-focus-visible .default-focus *:focus:not(.focus-visible) {
4
+ outline: none;
5
+ }
6
+
7
+ .focus-visible.has-inner-focus,
8
+ .focus-visible.inner-focus {
9
+ outline-offset: -$focus-width;
10
+ }
11
+
12
+ .has-default-focus,
13
+ .default-focus {
14
+ .is-focused,
15
+ .focus-visible {
16
+ @extend %focus;
17
+
18
+ &.has-inner-focus,
19
+ &.inner-focus {
20
+ outline-color: currentColor;
21
+ }
22
+ }
23
+ }
24
+ } @else {
25
+ .has-default-focus *:focus-visible,
26
+ .default-focus *:focus-visible {
27
+ @extend %focus;
28
+
29
+ &.has-inner-focus,
30
+ &.inner-focus {
31
+ outline-color: currentColor;
32
+ outline-offset: -$focus-width;
33
+ }
34
+ }
35
+ }
@@ -1,28 +1,28 @@
1
- html {
2
- font-size: $document-font-size;
3
- }
4
-
5
- html,
6
- body {
7
- font-family: $normal-font-stack;
8
- -webkit-font-smoothing: antialiased;
9
- font-weight: $weight-normal;
10
- text-rendering: optimizeLegibility;
11
- }
12
-
13
- kbd,
14
- pre,
15
- samp {
16
- font-family: $monospace-font-stack !important;
17
- -moz-osx-font-smoothing: auto;
18
- -webkit-font-smoothing: auto;
19
- }
20
-
21
- code {
22
- direction: ltr;
23
- font-family: $monospace-font-stack;
24
- }
25
-
26
- a > code {
27
- font-family: $normal-font-stack;
28
- }
1
+ html {
2
+ font-size: $document-font-size;
3
+ }
4
+
5
+ html,
6
+ body {
7
+ font-family: $normal-font-stack;
8
+ -webkit-font-smoothing: antialiased;
9
+ font-weight: $weight-normal;
10
+ text-rendering: optimizeLegibility;
11
+ }
12
+
13
+ kbd,
14
+ pre,
15
+ samp {
16
+ font-family: $monospace-font-stack !important;
17
+ -moz-osx-font-smoothing: auto;
18
+ -webkit-font-smoothing: auto;
19
+ }
20
+
21
+ code {
22
+ direction: ltr;
23
+ font-family: $monospace-font-stack;
24
+ }
25
+
26
+ a > code {
27
+ font-family: $normal-font-stack;
28
+ }
@@ -1,6 +1,6 @@
1
- @import 'normalize.css';
2
- @import 'minireset.css';
3
- @import 'themes.scss';
4
- @import 'font-stack.scss';
5
- @import 'animations.scss';
6
- @import 'focus.scss';
1
+ @import 'normalize.css';
2
+ @import 'minireset.css';
3
+ @import './themes.scss';
4
+ @import './font-stack.scss';
5
+ @import './animations.scss';
6
+ @import './focus.scss';
@@ -1,86 +1,86 @@
1
- @use 'sass:map';
2
-
3
- $root-theme: 'light' !default;
4
- $print-theme: 'light' !default;
5
-
6
- // Ensure that the root theme exists
7
- @if map.has-key($themes, $root-theme) != true {
8
- @error "Cannot build themes because $root-theme (#{$root-theme}) is set to a theme that does not exist in $themes map.";
9
- }
10
-
11
- // Ensure that the print theme exists
12
- @if map.has-key($themes, $print-theme) != true {
13
- @error "Cannot build themes because $print-theme (#{$print-theme}) is set to a theme that does not exist in $themes map.";
14
- }
15
-
16
- $theme-names: map.keys($themes);
17
-
18
- // Validation: ensure that all values in the root theme are in the other themes too
19
- @each $root-color-name, $val in map.get($themes, $root-theme) {
20
- @each $theme-name in $theme-names {
21
- @if $theme-name != $root-theme {
22
- @if map.has-key(map.get($themes, $theme-name), $root-color-name) != true {
23
- @error '#{$root-color-name} from #{$root-theme} does not exist in theme: #{$theme-name}.';
24
- }
25
- }
26
- }
27
- }
28
-
29
- // Validation: ensure all properties in non-root themes exist in root
30
- @each $theme-name in $theme-names {
31
- $theme: map.get($themes, $theme-name);
32
- @if $theme-name != $root-theme {
33
- $root: map.get($themes, $root-theme);
34
- @each $color-name, $val in $theme {
35
- @if map.has-key($root, $color-name) != true {
36
- @error '#{$color-name} from #{$theme-name} does not exist in theme: #{$theme-name}.';
37
- }
38
- }
39
- }
40
- }
41
-
42
- @each $key, $value in $themes {
43
- // Set the default theme
44
- @if $key == $root-theme {
45
- :root {
46
- @each $colorName, $colorVal in map.get($themes, $key) {
47
- --theme-#{$colorName}: #{$colorVal};
48
- }
49
- }
50
- }
51
-
52
- @if $key == $print-theme {
53
- .theme-#{$key} {
54
- @each $colorName, $colorVal in map.get($themes, $key) {
55
- --theme-#{$colorName}: #{$colorVal};
56
- }
57
- }
58
- } @else {
59
- // Set the rest of the themes, exclude them from print styling.
60
- @media not print {
61
- .theme-#{$key} {
62
- @each $colorName, $colorVal in map-get($themes, $key) {
63
- --theme-#{$colorName}: #{$colorVal};
64
- }
65
- }
66
- }
67
- }
68
- }
69
-
70
- %theme-base-styles {
71
- outline-color: $text;
72
- background-color: $body-background;
73
- color: $text;
74
- }
75
-
76
- @each $key, $value in $themes {
77
- .theme-#{$key} {
78
- @extend %theme-base-styles;
79
- }
80
- }
81
-
82
- @each $key, $value in $color-schemes {
83
- .theme-#{$key} {
84
- color-scheme: #{$value};
85
- }
86
- }
1
+ @use 'sass:map';
2
+
3
+ $root-theme: 'light' !default;
4
+ $print-theme: 'light' !default;
5
+
6
+ // Ensure that the root theme exists
7
+ @if map.has-key($themes, $root-theme) != true {
8
+ @error "Cannot build themes because $root-theme (#{$root-theme}) is set to a theme that does not exist in $themes map.";
9
+ }
10
+
11
+ // Ensure that the print theme exists
12
+ @if map.has-key($themes, $print-theme) != true {
13
+ @error "Cannot build themes because $print-theme (#{$print-theme}) is set to a theme that does not exist in $themes map.";
14
+ }
15
+
16
+ $theme-names: map.keys($themes);
17
+
18
+ // Validation: ensure that all values in the root theme are in the other themes too
19
+ @each $root-color-name, $val in map.get($themes, $root-theme) {
20
+ @each $theme-name in $theme-names {
21
+ @if $theme-name != $root-theme {
22
+ @if map.has-key(map.get($themes, $theme-name), $root-color-name) != true {
23
+ @error '#{$root-color-name} from #{$root-theme} does not exist in theme: #{$theme-name}.';
24
+ }
25
+ }
26
+ }
27
+ }
28
+
29
+ // Validation: ensure all properties in non-root themes exist in root
30
+ @each $theme-name in $theme-names {
31
+ $theme: map.get($themes, $theme-name);
32
+ @if $theme-name != $root-theme {
33
+ $root: map.get($themes, $root-theme);
34
+ @each $color-name, $val in $theme {
35
+ @if map.has-key($root, $color-name) != true {
36
+ @error '#{$color-name} from #{$theme-name} does not exist in theme: #{$theme-name}.';
37
+ }
38
+ }
39
+ }
40
+ }
41
+
42
+ @each $key, $value in $themes {
43
+ // Set the default theme
44
+ @if $key == $root-theme {
45
+ :root {
46
+ @each $colorName, $colorVal in map.get($themes, $key) {
47
+ --theme-#{$colorName}: #{$colorVal};
48
+ }
49
+ }
50
+ }
51
+
52
+ @if $key == $print-theme {
53
+ .theme-#{$key} {
54
+ @each $colorName, $colorVal in map.get($themes, $key) {
55
+ --theme-#{$colorName}: #{$colorVal};
56
+ }
57
+ }
58
+ } @else {
59
+ // Set the rest of the themes, exclude them from print styling.
60
+ @media not print {
61
+ .theme-#{$key} {
62
+ @each $colorName, $colorVal in map-get($themes, $key) {
63
+ --theme-#{$colorName}: #{$colorVal};
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
69
+
70
+ %theme-base-styles {
71
+ outline-color: $text;
72
+ background-color: $body-background;
73
+ color: $text;
74
+ }
75
+
76
+ @each $key, $value in $themes {
77
+ .theme-#{$key} {
78
+ @extend %theme-base-styles;
79
+ }
80
+ }
81
+
82
+ @each $key, $value in $color-schemes {
83
+ .theme-#{$key} {
84
+ color-scheme: #{$value};
85
+ }
86
+ }
package/src/index.scss CHANGED
@@ -1,6 +1,6 @@
1
- @import './tokens/index.scss';
2
- @import './mixins/index.scss';
3
- @import './core/index.scss';
4
- @import './components/index.scss';
5
- @import './patterns/index.scss';
6
- @import './atomics/index.scss';
1
+ @import './tokens/index.scss';
2
+ @import './mixins/index.scss';
3
+ @import './core/index.scss';
4
+ @import './components/index.scss';
5
+ @import './patterns/index.scss';
6
+ @import './atomics/index.scss';
@@ -1,11 +1,11 @@
1
- @mixin center($width, $height: 0) {
2
- position: absolute;
3
-
4
- @if $height != 0 {
5
- top: calc(50% - (#{$height} / 2));
6
- left: calc(50% - (#{$width} / 2));
7
- } @else {
8
- top: calc(50% - (#{$width} / 2));
9
- left: calc(50% - (#{$width} / 2));
10
- }
11
- }
1
+ @mixin center($width, $height: 0) {
2
+ position: absolute;
3
+
4
+ @if $height != 0 {
5
+ top: calc(50% - (#{$height} / 2));
6
+ left: calc(50% - (#{$width} / 2));
7
+ } @else {
8
+ top: calc(50% - (#{$width} / 2));
9
+ left: calc(50% - (#{$width} / 2));
10
+ }
11
+ }
@@ -1,43 +1,43 @@
1
- $code-font-size: $font-size-8 !default;
2
- $code-block-spacing: 1em !default;
3
- $code-header-body-line-height: 1.3571 !default;
4
-
5
- @mixin code-block {
6
- pre {
7
- box-sizing: border-box;
8
- max-width: 100%;
9
- margin: 0;
10
- padding: $code-block-spacing;
11
- border: 1px solid $border;
12
- background-color: $code-block;
13
- font-size: $code-font-size;
14
- -moz-osx-font-smoothing: auto;
15
- -webkit-font-smoothing: auto;
16
- line-height: 1.3571;
17
- white-space: pre;
18
- word-spacing: normal;
19
- overflow: auto;
20
- word-break: normal;
21
- word-wrap: normal;
22
- tab-size: 4;
23
- hyphens: none;
24
- -webkit-overflow-scrolling: touch;
25
-
26
- > code {
27
- display: block;
28
- position: relative;
29
- padding: 0;
30
- border: 0;
31
- line-height: $code-header-body-line-height;
32
-
33
- mark {
34
- display: inline-block;
35
- min-width: calc(100% + #{$code-block-spacing} + #{$code-block-spacing});
36
- min-height: 18.9px; // Allow for highlighting of blank lines.
37
- margin: 0 $code-block-spacing * -1;
38
- padding: 0 $code-block-spacing;
39
- color: $text;
40
- }
41
- }
42
- }
43
- }
1
+ $code-font-size: $font-size-8 !default;
2
+ $code-block-spacing: 1em !default;
3
+ $code-header-body-line-height: 1.3571 !default;
4
+
5
+ @mixin code-block {
6
+ pre {
7
+ box-sizing: border-box;
8
+ max-width: 100%;
9
+ margin: 0;
10
+ padding: $code-block-spacing;
11
+ border: 1px solid $border;
12
+ background-color: $code-block;
13
+ font-size: $code-font-size;
14
+ -moz-osx-font-smoothing: auto;
15
+ -webkit-font-smoothing: auto;
16
+ line-height: 1.3571;
17
+ white-space: pre;
18
+ word-spacing: normal;
19
+ overflow: auto;
20
+ word-break: normal;
21
+ word-wrap: normal;
22
+ tab-size: 4;
23
+ hyphens: none;
24
+ -webkit-overflow-scrolling: touch;
25
+
26
+ > code {
27
+ display: block;
28
+ position: relative;
29
+ padding: 0;
30
+ border: 0;
31
+ line-height: $code-header-body-line-height;
32
+
33
+ mark {
34
+ display: inline-block;
35
+ min-width: calc(100% + #{$code-block-spacing} + #{$code-block-spacing});
36
+ min-height: 18.9px; // Allow for highlighting of blank lines.
37
+ margin: 0 $code-block-spacing * -1;
38
+ padding: 0 $code-block-spacing;
39
+ color: $text;
40
+ }
41
+ }
42
+ }
43
+ }
@@ -1,44 +1,44 @@
1
- $control-radius: $radius !default;
2
- $control-radius-small: $radius-small !default;
3
-
4
- $control-font-size: $font-size-7 !default;
5
- $control-border-width: 1px !default;
6
-
7
- $control-padding-vertical: calc(0.375em - #{$control-border-width}) !default;
8
- $control-padding-horizontal: calc(0.625em - #{$control-border-width}) !default;
9
-
10
- %control {
11
- display: inline-flex;
12
- position: relative;
13
- align-items: center;
14
- justify-content: flex-start;
15
- height: 2.25em;
16
- padding-top: $control-padding-vertical;
17
- padding-right: $control-padding-horizontal;
18
- padding-bottom: $control-padding-vertical;
19
- padding-left: $control-padding-horizontal;
20
- border: $control-border-width solid transparent;
21
- border-radius: $control-radius;
22
- font-size: $control-font-size;
23
- line-height: 1.5;
24
- appearance: none;
25
- box-shadow: none;
26
- vertical-align: top;
27
-
28
- &[disabled] {
29
- cursor: not-allowed;
30
- }
31
- }
32
-
33
- @mixin control {
34
- @extend %control;
35
- }
36
-
37
- @mixin control-small {
38
- border-radius: $control-radius-small;
39
- font-size: $font-size-small;
40
- }
41
-
42
- @mixin control-large {
43
- font-size: $font-size-large;
44
- }
1
+ $control-radius: $radius !default;
2
+ $control-radius-small: $radius-small !default;
3
+
4
+ $control-font-size: $font-size-7 !default;
5
+ $control-border-width: 1px !default;
6
+
7
+ $control-padding-vertical: calc(0.375em - #{$control-border-width}) !default;
8
+ $control-padding-horizontal: calc(0.625em - #{$control-border-width}) !default;
9
+
10
+ %control {
11
+ display: inline-flex;
12
+ position: relative;
13
+ align-items: center;
14
+ justify-content: flex-start;
15
+ height: 2.25em;
16
+ padding-top: $control-padding-vertical;
17
+ padding-right: $control-padding-horizontal;
18
+ padding-bottom: $control-padding-vertical;
19
+ padding-left: $control-padding-horizontal;
20
+ border: $control-border-width solid transparent;
21
+ border-radius: $control-radius;
22
+ font-size: $control-font-size;
23
+ line-height: 1.5;
24
+ appearance: none;
25
+ box-shadow: none;
26
+ vertical-align: top;
27
+
28
+ &[disabled] {
29
+ cursor: not-allowed;
30
+ }
31
+ }
32
+
33
+ @mixin control {
34
+ @extend %control;
35
+ }
36
+
37
+ @mixin control-small {
38
+ border-radius: $control-radius-small;
39
+ font-size: $font-size-small;
40
+ }
41
+
42
+ @mixin control-large {
43
+ font-size: $font-size-large;
44
+ }