@papillonbits/components 1.1.0 → 1.2.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 (47) hide show
  1. package/build/primer/Alert/Alert.js +3 -3
  2. package/build/primer/Alert/Alert.scss +9 -169
  3. package/build/primer/Blankslate/Blankslate.scss +1 -93
  4. package/build/primer/Box/box-overlay.scss +9 -4
  5. package/build/primer/Box/box.scss +1 -297
  6. package/build/primer/BranchName/branch-name.scss +9 -6
  7. package/build/primer/Breadcrumb/Breadcrumb.scss +1 -46
  8. package/build/primer/Button/Button.scss +77 -76
  9. package/build/primer/Button/ButtonGroup.scss +13 -1
  10. package/build/primer/Dropdown/Dropdown.scss +1 -283
  11. package/build/primer/ErrorBoundary/ErrorBoundary.js +2 -3
  12. package/build/primer/Form/FormControl.scss +1 -674
  13. package/build/primer/Form/form-control.scss +45 -40
  14. package/build/primer/Form/form-group.scss +63 -34
  15. package/build/primer/Form/form-select.scss +5 -2
  16. package/build/primer/Form/index.scss +0 -1
  17. package/build/primer/Form/input-group.scss +12 -1
  18. package/build/primer/Form/radio-group.scss +17 -9
  19. package/build/primer/Grid/FlexGrid/FlexGrid.js +3 -3
  20. package/build/primer/Grid/FlexGrid/FlexGrid.scss +3 -1
  21. package/build/primer/Label/counters.scss +1 -40
  22. package/build/primer/Label/index.scss +0 -1
  23. package/build/primer/Label/issue-labels.scss +3 -0
  24. package/build/primer/Label/labels.scss +1 -94
  25. package/build/primer/Label/mixins.scss +7 -0
  26. package/build/primer/Label/states.scss +1 -60
  27. package/build/primer/Layout/app-frame.scss +13 -13
  28. package/build/primer/Layout/grid-offset.scss +2 -2
  29. package/build/primer/Layout/grid.scss +9 -9
  30. package/build/primer/Layout/index.scss +0 -1
  31. package/build/primer/Layout/layout.scss +1 -183
  32. package/build/primer/Layout/page-layout.scss +59 -28
  33. package/build/primer/Layout/stack.scss +9 -8
  34. package/build/primer/Navigation/Menu/Menu.scss +1 -123
  35. package/build/primer/Navigation/TabNav/TabNav.scss +1 -120
  36. package/build/primer/Navigation/UnderlineNav/UnderlineNav.scss +1 -141
  37. package/build/primer/Pagination/PreviousNext/PreviousNext.scss +16 -23
  38. package/build/primer/Popover/Popover.scss +1 -227
  39. package/build/primer/Progress/Progress.scss +1 -29
  40. package/build/primer/SelectMenu/SelectMenu.scss +88 -64
  41. package/build/primer/Subhead/Subhead.scss +1 -52
  42. package/build/primer/Toast/Toast.scss +31 -27
  43. package/build/primer/index.js +4 -1
  44. package/package.json +4 -4
  45. package/build/primer/Form/form-validation.scss +0 -370
  46. package/build/primer/Label/diffstat.scss +0 -37
  47. package/build/primer/Layout/mixins.scss +0 -108
@@ -9,9 +9,12 @@
9
9
 
10
10
  .g-emoji {
11
11
  position: relative;
12
+ // stylelint-disable-next-line primer/spacing
12
13
  top: -0.05em;
13
14
  display: inline-block;
15
+ // stylelint-disable-next-line primer/typography
14
16
  font-size: 1em;
17
+ // stylelint-disable-next-line primer/typography
15
18
  line-height: $lh-condensed-ultra;
16
19
  }
17
20
 
@@ -1,94 +1 @@
1
- @import './mixins.scss';
2
-
3
- // Labels
4
-
5
- // Provide a wrapper to ensure labels stick together
6
- .labels {
7
- position: relative;
8
- }
9
-
10
- // Default label
11
-
12
- .label, // TODO: Deprecate
13
- .Label {
14
- @include labels-base;
15
-
16
- border-color: var(--color-border-default);
17
-
18
- &:hover {
19
- text-decoration: none;
20
- }
21
- }
22
-
23
- // Large
24
-
25
- .Label--large {
26
- @include labels-large;
27
- }
28
-
29
- // Inline
30
-
31
- .Label--inline {
32
- @include labels--inline;
33
- }
34
-
35
- // Contrast
36
-
37
- .Label--primary {
38
- color: var(--color-fg-default);
39
- border-color: var(--color-neutral-emphasis);
40
- }
41
-
42
- .Label--secondary {
43
- color: var(--color-fg-muted);
44
- border-color: var(--color-border-default);
45
- }
46
-
47
- // Colors
48
-
49
- .Label--info, // TODO: deprecate
50
- .Label--accent {
51
- color: var(--color-accent-fg);
52
- border-color: var(--color-accent-emphasis);
53
- }
54
-
55
- .Label--success {
56
- color: var(--color-success-fg);
57
- border-color: var(--color-success-emphasis);
58
- }
59
-
60
- .Label--warning, // TODO: deprecate
61
- .Label--attention {
62
- color: var(--color-attention-fg);
63
- border-color: var(--color-attention-emphasis);
64
- }
65
-
66
- .Label--severe {
67
- color: var(--color-severe-fg);
68
- border-color: var(--color-severe-emphasis);
69
- }
70
-
71
- .Label--danger {
72
- color: var(--color-danger-fg);
73
- border-color: var(--color-danger-emphasis);
74
- }
75
-
76
- .Label--open {
77
- color: var(--color-open-fg);
78
- border-color: var(--color-open-emphasis);
79
- }
80
-
81
- .Label--closed {
82
- color: var(--color-closed-fg);
83
- border-color: var(--color-closed-emphasis);
84
- }
85
-
86
- .Label--done {
87
- color: var(--color-done-fg);
88
- border-color: var(--color-done-emphasis);
89
- }
90
-
91
- .Label--sponsors {
92
- color: var(--color-sponsors-fg);
93
- border-color: var(--color-sponsors-emphasis);
94
- }
1
+ @import '@primer/view-components/app/components/primer/beta/label';
@@ -12,11 +12,16 @@
12
12
  display: inline-block;
13
13
  // stylelint-disable-next-line primer/spacing
14
14
  padding: 0 7px;
15
+ // stylelint-disable-next-line primer/typography
15
16
  font-size: $font-size-small;
17
+ // stylelint-disable-next-line primer/typography
16
18
  font-weight: $font-weight-semibold;
19
+ // stylelint-disable-next-line primer/typography
17
20
  line-height: 18px;
18
21
  white-space: nowrap;
22
+ // stylelint-disable-next-line primer/borders
19
23
  border: $border-width $border-style transparent;
24
+ // stylelint-disable-next-line primer/borders
20
25
  border-radius: 2em;
21
26
  }
22
27
 
@@ -25,6 +30,7 @@
25
30
  padding-right: 10px;
26
31
  // stylelint-disable-next-line primer/spacing
27
32
  padding-left: 10px;
33
+ // stylelint-disable-next-line primer/typography
28
34
  line-height: 22px;
29
35
  }
30
36
 
@@ -37,5 +43,6 @@
37
43
  display: inline;
38
44
  // stylelint-disable-next-line primer/spacing
39
45
  padding: 0.12em $em-spacer-5;
46
+ // stylelint-disable-next-line primer/typography
40
47
  font-size: 85%;
41
48
  }
@@ -1,60 +1 @@
1
- @import '~@papillonbits/css/build/primer/support/variables/typography.scss';
2
- @import '~@papillonbits/css/build/primer/support/variables/layout.scss';
3
- @import '~@papillonbits/css/build/primer/support/variables/misc.scss';
4
-
5
- // A rounded corner box containing a label "open" or "closed"
6
-
7
- // Default 32px
8
- // Small 24px
9
-
10
- .state, // TODO: Deprecate
11
- .State {
12
- display: inline-block;
13
- // stylelint-disable-next-line primer/spacing
14
- padding: 5px 12px;
15
- font-size: $body-font-size;
16
- font-weight: $font-weight-semibold;
17
- // stylelint-disable-next-line primer/typography
18
- line-height: 20px;
19
- text-align: center;
20
- white-space: nowrap;
21
- // stylelint-disable-next-line primer/borders
22
- border-radius: 2em;
23
- }
24
-
25
- .state, // TODO: Deprecate
26
- .State,
27
- .State--draft {
28
- color: var(--color-fg-on-emphasis);
29
- background-color: var(--color-neutral-emphasis);
30
- border: $border-width $border-style transparent;
31
- }
32
-
33
- .State--open {
34
- color: var(--color-fg-on-emphasis);
35
- background-color: var(--color-open-emphasis);
36
- }
37
-
38
- .State--merged {
39
- color: var(--color-fg-on-emphasis);
40
- background-color: var(--color-done-emphasis);
41
- }
42
-
43
- .State--closed {
44
- color: var(--color-fg-on-emphasis);
45
- background-color: var(--color-closed-emphasis);
46
- }
47
-
48
- // Small
49
-
50
- .State--small {
51
- // stylelint-disable-next-line primer/spacing
52
- padding: 0 10px;
53
- font-size: $font-size-small;
54
- // stylelint-disable-next-line primer/typography
55
- line-height: $size-3;
56
-
57
- .octicon {
58
- width: 1em; // Ensures different icons don't change State indicator width
59
- }
60
- }
1
+ @import '@primer/view-components/app/components/primer/beta/state';
@@ -31,8 +31,8 @@
31
31
  display: flex;
32
32
  width: 100%;
33
33
  padding: var(--base-size-16, 16px);
34
- background: var(--color-canvas-inset);
35
- padding-block-end: calc(var(--base-size-16, 16px) - var(--primer-borderWidth-thin, 1px));
34
+ background: var(--bgColor-inset, var(--color-canvas-inset));
35
+ padding-block-end: calc(var(--base-size-16, 16px) - var(--borderWidth-thin, 1px));
36
36
  isolation: isolate;
37
37
  align-items: center;
38
38
  gap: var(--base-size-8, 8px);
@@ -68,8 +68,8 @@
68
68
  overflow: hidden;
69
69
  text-indent: var(--base-size-128, 128px);
70
70
  pointer-events: none;
71
- background: var(--color-border-default);
72
- border-radius: var(--primer-borderRadius-full, 100vh);
71
+ background: var(--borderColor-default, var(--color-border-default));
72
+ border-radius: var(--borderRadius-full, 100vh);
73
73
  }
74
74
 
75
75
  &:focus {
@@ -77,17 +77,17 @@
77
77
  display: grid;
78
78
  width: auto;
79
79
  height: auto;
80
- min-height: var(--primer-control-medium-size, 32px);
81
- padding: 0 var(--primer-control-medium-paddingInline-spacious, 16px);
80
+ min-height: var(--control-medium-size, 32px);
81
+ padding: 0 var(--control-medium-paddingInline-spacious, 16px);
82
82
  overflow: auto;
83
- color: var(--color-fg-on-emphasis);
84
- background: var(--color-accent-emphasis);
85
- border-radius: var(--primer-borderRadius-full, 100vh);
83
+ color: var(--fgColor-onEmphasis, var(--color-fg-on-emphasis));
84
+ background: var(--bgColor-accent-emphasis, var(--color-accent-emphasis));
85
+ border-radius: var(--borderRadius-full, 100vh);
86
86
  align-items: center;
87
87
 
88
88
  @media (pointer: coarse) {
89
89
  &::after {
90
- @include minTouchTarget(var(--primer-control-minTarget-coarse, 44px));
90
+ @include minTouchTarget(var(--control-minTarget-coarse, 44px));
91
91
  }
92
92
  }
93
93
 
@@ -97,17 +97,17 @@
97
97
 
98
98
  @keyframes AppFrame-a11yLink-focus {
99
99
  0% {
100
- color: var(--color-accent-emphasis);
100
+ color: var(--fgColor-accent, var(--color-accent-emphasis));
101
101
  transform: scale(0.3, 0.25);
102
102
  }
103
103
 
104
104
  50% {
105
- color: var(--color-accent-emphasis);
105
+ color: var(--fgColor-accent, var(--color-accent-emphasis));
106
106
  transform: scale(1, 1);
107
107
  }
108
108
 
109
109
  55% {
110
- color: var(--color-fg-on-emphasis);
110
+ color: var(--fgColor-onEmphasis, var(--color-fg-on-emphasis));
111
111
  }
112
112
 
113
113
  100% {
@@ -1,11 +1,11 @@
1
+ // stylelint-disable number-max-precision
2
+
1
3
  @import '~@papillonbits/css/build/primer/support/variables/layout.scss';
2
4
 
3
5
  // Optional offset options to work with grid.scss
4
6
 
5
7
  // Offset Columns
6
8
 
7
- // stylelint-disable number-max-precision
8
- // stylelint-disable primer/spacing
9
9
  @each $breakpoint, $variant in $responsive-variants {
10
10
  @include breakpoint($breakpoint) {
11
11
  .offset#{$variant}-1 {
@@ -87,9 +87,9 @@
87
87
  // Gutters
88
88
  // Apply padding and a negative margin to the outside of the container
89
89
  // stylelint-disable primer/spacing
90
- @mixin gutters($gutter-width: $spacer-3) {
91
- margin-right: -$gutter-width;
92
- margin-left: -$gutter-width;
90
+ @mixin gutters($gutter-width: var(--base-size-16)) {
91
+ margin-right: calc($gutter-width * -1);
92
+ margin-left: calc($gutter-width * -1);
93
93
 
94
94
  > [class*='col-'] {
95
95
  padding-right: $gutter-width !important;
@@ -98,27 +98,27 @@
98
98
  }
99
99
 
100
100
  .gutter {
101
- @include gutters($spacer-3);
101
+ @include gutters(var(--base-size-16));
102
102
  }
103
103
 
104
104
  .gutter-condensed {
105
- @include gutters($spacer-2);
105
+ @include gutters(var(--base-size-8));
106
106
  }
107
107
 
108
108
  .gutter-spacious {
109
- @include gutters($spacer-4);
109
+ @include gutters(var(--base-size-24));
110
110
  }
111
111
 
112
112
  @each $breakpoint in map-keys($breakpoints) {
113
113
  @include breakpoint($breakpoint) {
114
114
  .gutter-#{$breakpoint} {
115
- @include gutters($spacer-3);
115
+ @include gutters(var(--base-size-16));
116
116
  }
117
117
  .gutter-#{$breakpoint}-condensed {
118
- @include gutters($spacer-2);
118
+ @include gutters(var(--base-size-8));
119
119
  }
120
120
  .gutter-#{$breakpoint}-spacious {
121
- @include gutters($spacer-4);
121
+ @include gutters(var(--base-size-24));
122
122
  }
123
123
  }
124
124
  }
@@ -1,5 +1,4 @@
1
1
  @import './app-frame.scss';
2
- @import './mixins.scss';
3
2
  @import './container.scss';
4
3
  @import './grid.scss';
5
4
  @import './grid-offset.scss';
@@ -1,183 +1 @@
1
- // stylelint-disable custom-property-pattern, no-descending-specificity
2
- // Layout component
3
-
4
- .Layout {
5
- display: grid;
6
-
7
- --Layout-sidebar-width: #{map-get($sidebar-width, 'sm')};
8
- --Layout-gutter: 16px;
9
-
10
- @media (width <= calc(#{$width-sm} - 0.02px)) {
11
- @include flow-as-row;
12
- }
13
-
14
- &.Layout--flowRow-until-md {
15
- @media (width <= calc(#{$width-md} - 0.02px)) {
16
- @include flow-as-row;
17
- }
18
- }
19
-
20
- &.Layout--flowRow-until-lg {
21
- @media (width <= calc(#{$width-lg} - 0.02px)) {
22
- @include flow-as-row;
23
- }
24
- }
25
-
26
- // Flow as column
27
-
28
- grid-auto-flow: column;
29
- grid-template-columns: auto 0 minmax(0, calc(100% - var(--Layout-sidebar-width) - var(--Layout-gutter))); // sidebar column, separator, main column
30
- grid-gap: var(--Layout-gutter);
31
-
32
- .Layout-sidebar {
33
- grid-column: 1;
34
- }
35
-
36
- .Layout-divider {
37
- display: none;
38
- }
39
-
40
- .Layout-main {
41
- grid-column: 2 / span 2;
42
- }
43
-
44
- // Gutter spacing
45
-
46
- @include breakpoint(lg) {
47
- --Layout-gutter: 24px;
48
- }
49
-
50
- &.Layout--gutter-none {
51
- // stylelint-disable-next-line length-zero-no-unit
52
- --Layout-gutter: 0px;
53
- }
54
-
55
- &.Layout--gutter-condensed {
56
- --Layout-gutter: 16px;
57
- }
58
-
59
- &.Layout--gutter-spacious {
60
- @include breakpoint(lg) {
61
- --Layout-gutter: 32px;
62
- }
63
-
64
- @include breakpoint(xl) {
65
- --Layout-gutter: 40px;
66
- }
67
- }
68
-
69
- // Sidebar width
70
-
71
- @each $breakpoint in map-keys($sidebar-width) {
72
- @include breakpoint($breakpoint) {
73
- --Layout-sidebar-width: #{map-get($sidebar-width, $breakpoint)};
74
- }
75
- }
76
-
77
- &.Layout--sidebar-narrow {
78
- @each $breakpoint in map-keys($sidebar-narrow-width) {
79
- @include breakpoint($breakpoint) {
80
- --Layout-sidebar-width: #{map-get($sidebar-narrow-width, $breakpoint)};
81
- }
82
- }
83
- }
84
-
85
- &.Layout--sidebar-wide {
86
- @each $breakpoint in map-keys($sidebar-wide-width) {
87
- @include breakpoint($breakpoint) {
88
- --Layout-sidebar-width: #{map-get($sidebar-wide-width, $breakpoint)};
89
- }
90
- }
91
- }
92
-
93
- // Sidebar position
94
-
95
- &.Layout--sidebarPosition-start {
96
- .Layout-sidebar {
97
- grid-column: 1;
98
- }
99
-
100
- .Layout-main {
101
- grid-column: 2 / span 2;
102
- }
103
- }
104
-
105
- &.Layout--sidebarPosition-end {
106
- grid-template-columns: minmax(0, calc(100% - var(--Layout-sidebar-width) - var(--Layout-gutter))) 0 auto;
107
-
108
- .Layout-main {
109
- grid-column: 1;
110
- }
111
-
112
- .Layout-sidebar {
113
- grid-column: 2 / span 2;
114
- }
115
- }
116
-
117
- // Sidebar divider
118
-
119
- &.Layout--divided {
120
- .Layout-divider {
121
- display: block;
122
- grid-column: 2;
123
- width: 1px;
124
- // stylelint-disable-next-line primer/spacing
125
- margin-right: -1px;
126
- background: var(--color-border-default);
127
- }
128
-
129
- .Layout-main {
130
- grid-column: 3 / span 1;
131
- }
132
-
133
- &.Layout--sidebarPosition-end {
134
- .Layout-sidebar {
135
- grid-column: 3 / span 1;
136
- }
137
-
138
- .Layout-main {
139
- grid-column: 1;
140
- }
141
- }
142
- }
143
- }
144
-
145
- .Layout-divider {
146
- display: none;
147
- width: 1px;
148
- }
149
-
150
- .Layout-sidebar {
151
- width: var(--Layout-sidebar-width);
152
- }
153
-
154
- .Layout-main {
155
- min-width: 0;
156
-
157
- // Centered main column
158
- // FIXME: right-aligned sidebar
159
- .Layout-main-centered-md,
160
- .Layout-main-centered-lg,
161
- .Layout-main-centered-xl {
162
- margin-right: auto;
163
- margin-left: auto;
164
-
165
- > .container-md,
166
- > .container-lg,
167
- > .container-xl {
168
- margin-left: 0;
169
- }
170
- }
171
-
172
- .Layout-main-centered-md {
173
- max-width: calc(#{$container-md} + var(--Layout-sidebar-width) + var(--Layout-gutter));
174
- }
175
-
176
- .Layout-main-centered-lg {
177
- max-width: calc(#{$container-lg} + var(--Layout-sidebar-width) + var(--Layout-gutter));
178
- }
179
-
180
- .Layout-main-centered-xl {
181
- max-width: calc(#{$container-xl} + var(--Layout-sidebar-width) + var(--Layout-gutter));
182
- }
183
- }
1
+ @import '@primer/view-components/app/components/primer/alpha/layout';