@primer/view-components 0.21.0-rc.1cc3a887 → 0.21.0-rc.a6d33cb4

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.
@@ -1 +1 @@
1
- .SegmentedControl{--segmentedControl-item-padding:var(--control-small-paddingBlock,0.25rem);background-color:var(--controlTrack-bgColor-rest,var(--color-segmented-control-bg));border-radius:var(--borderRadius-medium,.375rem);display:inline-flex;list-style:none}.SegmentedControl--iconOnly .Button--iconOnly.Button--medium,.SegmentedControl--iconOnly .Button--iconOnly.Button--small{padding-inline:0!important;width:100%}.SegmentedControl--small{--segmentedControl-item-padding:var(--control-xsmall-paddingBlock,0.125rem)}.SegmentedControl--small .SegmentedControl-item{height:var(--control-small-size,1.75rem)}.SegmentedControl--small .SegmentedControl-item .Button{padding-inline:calc(var(--control-xsmall-paddingInline-normal,.5rem) - var(--segmentedControl-item-padding))}.SegmentedControl--small.SegmentedControl--iconOnly .SegmentedControl-item{width:var(--control-small-size,1.75rem)}.SegmentedControl--medium .SegmentedControl-item{height:var(--control-medium-size,2rem)}.SegmentedControl--medium.SegmentedControl--iconOnly .SegmentedControl-item{width:var(--control-medium-size,2rem)}.SegmentedControl-item{border:var(--borderWidth-thin,max(1px,.0625rem)) solid #0000;border-radius:var(--borderRadius-medium,.375rem);display:inline-flex;height:var(--control-medium-size,2rem);justify-content:center;padding:var(--segmentedControl-item-padding);position:relative}.SegmentedControl-item .Button--invisible:hover:not(:disabled){background-color:var(--controlTrack-bgColor-hover,var(--color-action-list-item-default-hover-bg))}.SegmentedControl-item .Button--invisible:active:not(:disabled){background-color:var(--controlTrack-bgColor-active,var(--color-action-list-item-default-active-bg))}.SegmentedControl-item.SegmentedControl-item--selected{background-color:var(--controlKnob-bgColor-rest,var(--color-segmented-control-button-bg));border-color:var(--controlKnob-borderColor-rest,var(--color-segmented-control-button-selected-border))}.SegmentedControl-item.SegmentedControl-item--selected .Button{font-weight:var(--base-text-weight-semibold,600)}.SegmentedControl-item.SegmentedControl-item--selected .Button:hover{background-color:initial}.SegmentedControl-item.SegmentedControl-item--selected:before{border-color:#0000!important}.SegmentedControl-item.SegmentedControl-item--selected+.SegmentedControl-item:before{border-color:#0000}.SegmentedControl-item .Button-label[data-content]:before{content:attr(data-content);display:block;font-weight:var(--base-text-weight-semibold,600);height:0;visibility:hidden}.SegmentedControl-item:not(:first-child):before{border-left:var(--borderWidth-thin,max(1px,.0625rem)) solid var(--borderColor-default,var(--color-border-default));content:"";inset:0 0 0 -1px;margin-bottom:var(--control-medium-paddingBlock,.375rem);margin-top:var(--control-medium-paddingBlock,.375rem);position:absolute}.SegmentedControl-item .Button{border:0;border-radius:calc(var(--borderRadius-medium,.375rem) - var(--segmentedControl-item-padding)/2);font-weight:var(--base-text-weight-normal,400);height:100%;padding-inline:calc(var(--control-medium-paddingInline-normal,.75rem) - var(--segmentedControl-item-padding));width:100%}.SegmentedControl-item .Button:focus-visible{border-radius:calc(var(--borderRadius-medium,.375rem) - var(--segmentedControl-item-padding)/1);outline-offset:calc(var(--segmentedControl-item-padding) - var(--borderWidth-thin,max(1px, .0625rem)))}.SegmentedControl-item .Button--invisible.Button--invisible-noVisuals .Button-label{color:var(--button-default-fgColor-rest,var(--color-btn-text))}.SegmentedControl--fullWidth{display:flex}.SegmentedControl--fullWidth .SegmentedControl-item{flex:1;justify-content:center}
1
+ .SegmentedControl{--segmentedControl-item-padding:var(--control-small-paddingBlock,0.25rem);--overlay-offset:0.5rem;background-color:var(--controlTrack-bgColor-rest,var(--color-segmented-control-bg));border-radius:var(--borderRadius-medium,.375rem);display:inline-flex;list-style:none}.SegmentedControl--iconOnly .Button--iconOnly.Button--medium,.SegmentedControl--iconOnly .Button--iconOnly.Button--small{padding-inline:0!important;width:100%}.SegmentedControl--small{--segmentedControl-item-padding:var(--control-xsmall-paddingBlock,0.125rem)}.SegmentedControl--small .SegmentedControl-item{height:var(--control-small-size,1.75rem)}.SegmentedControl--small .SegmentedControl-item .Button{padding-inline:calc(var(--control-xsmall-paddingInline-normal,.5rem) - var(--segmentedControl-item-padding))}.SegmentedControl--small.SegmentedControl--iconOnly .SegmentedControl-item{width:var(--control-small-size,1.75rem)}.SegmentedControl--medium .SegmentedControl-item{height:var(--control-medium-size,2rem)}.SegmentedControl--medium.SegmentedControl--iconOnly .SegmentedControl-item{width:var(--control-medium-size,2rem)}.SegmentedControl-item{border:var(--borderWidth-thin,max(1px,.0625rem)) solid #0000;border-radius:var(--borderRadius-medium,.375rem);display:inline-flex;height:var(--control-medium-size,2rem);justify-content:center;padding:var(--segmentedControl-item-padding);position:relative}.SegmentedControl-item .Button--invisible:hover:not(:disabled){background-color:var(--controlTrack-bgColor-hover,var(--color-action-list-item-default-hover-bg))}.SegmentedControl-item .Button--invisible:active:not(:disabled){background-color:var(--controlTrack-bgColor-active,var(--color-action-list-item-default-active-bg))}.SegmentedControl-item.SegmentedControl-item--selected{background-color:var(--controlKnob-bgColor-rest,var(--color-segmented-control-button-bg));border-color:var(--controlKnob-borderColor-rest,var(--color-segmented-control-button-selected-border))}.SegmentedControl-item.SegmentedControl-item--selected .Button{font-weight:var(--base-text-weight-semibold,600)}.SegmentedControl-item.SegmentedControl-item--selected .Button:hover{background-color:initial}.SegmentedControl-item.SegmentedControl-item--selected:before{border-color:#0000!important}.SegmentedControl-item.SegmentedControl-item--selected+.SegmentedControl-item:before{border-color:#0000}.SegmentedControl-item .Button-label[data-content]:before{content:attr(data-content);display:block;font-weight:var(--base-text-weight-semibold,600);height:0;visibility:hidden}.SegmentedControl-item:not(:first-child):before{border-left:var(--borderWidth-thin,max(1px,.0625rem)) solid var(--borderColor-default,var(--color-border-default));content:"";inset:0 0 0 -1px;margin-bottom:var(--control-medium-paddingBlock,.375rem);margin-top:var(--control-medium-paddingBlock,.375rem);position:absolute}.SegmentedControl-item .Button{border:0;border-radius:calc(var(--borderRadius-medium,.375rem) - var(--segmentedControl-item-padding)/2);font-weight:var(--base-text-weight-normal,400);height:100%;padding-inline:calc(var(--control-medium-paddingInline-normal,.75rem) - var(--segmentedControl-item-padding));width:100%}.SegmentedControl-item .Button:focus-visible{border-radius:calc(var(--borderRadius-medium,.375rem) - var(--segmentedControl-item-padding)/1);outline-offset:calc(var(--segmentedControl-item-padding) - var(--borderWidth-thin,max(1px, .0625rem)))}.SegmentedControl-item .Button--invisible.Button--invisible-noVisuals .Button-label{color:var(--button-default-fgColor-rest,var(--color-btn-text))}.SegmentedControl--fullWidth{display:flex}.SegmentedControl--fullWidth .SegmentedControl-item{flex:1;justify-content:center}
@@ -32,9 +32,7 @@ const isPopoverOpen = (() => {
32
32
  }
33
33
  return (el) => (selector ? el.matches(selector) : setSelector(el));
34
34
  })();
35
- const TOOLTIP_ARROW_EDGE_OFFSET = 6;
36
35
  const TOOLTIP_SR_ONLY_CLASS = 'sr-only';
37
- const TOOLTIP_OFFSET = 10;
38
36
  const DIRECTION_CLASSES = [
39
37
  'tooltip-n',
40
38
  'tooltip-s',
@@ -84,6 +82,8 @@ class ToolTipElement extends HTMLElement {
84
82
  styles() {
85
83
  return `
86
84
  :host {
85
+ --tooltip-top: var(--tool-tip-position-top, 0);
86
+ --tooltip-left: var(--tool-tip-position-left, 0);
87
87
  padding: var(--overlay-paddingBlock-condensed) var(--overlay-padding-condensed) !important;
88
88
  font: var(--text-body-shorthand-small);
89
89
  color: var(--fgColor-onEmphasis, var(--color-fg-on-emphasis)) !important;
@@ -102,27 +102,29 @@ class ToolTipElement extends HTMLElement {
102
102
  word-wrap: break-word;
103
103
  white-space: normal;
104
104
  width: max-content !important;
105
- inset: var(--tool-tip-position-top, 0) auto auto var(--tool-tip-position-left, 0) !important;
105
+ inset: var(--tooltip-top) auto auto var(--tooltip-left) !important;
106
106
  overflow: visible !important;
107
107
  text-wrap: balance;
108
108
  }
109
109
 
110
- :host:before{
111
- position: absolute;
112
- z-index: 1000001;
113
- color: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus));
114
- content: "";
115
- border: 6px solid transparent;
116
- opacity: 0;
110
+ :host(:is(.tooltip-n, .tooltip-nw, .tooltip-ne)) {
111
+ --tooltip-top: calc(var(--tool-tip-position-top, 0) - var(--overlay-offset, 0.25rem));
112
+ --tooltip-left: var(--tool-tip-position-left);
117
113
  }
118
114
 
119
- @keyframes tooltip-appear {
120
- from {
121
- opacity: 0;
122
- }
123
- to {
124
- opacity: 1;
125
- }
115
+ :host(:is(.tooltip-s, .tooltip-sw, .tooltip-se)) {
116
+ --tooltip-top: calc(var(--tool-tip-position-top, 0) + var(--overlay-offset, 0.25rem));
117
+ --tooltip-left: var(--tool-tip-position-left);
118
+ }
119
+
120
+ :host(.tooltip-w) {
121
+ --tooltip-top: var(--tool-tip-position-top);
122
+ --tooltip-left: calc(var(--tool-tip-position-left, 0) - var(--overlay-offset, 0.25rem));
123
+ }
124
+
125
+ :host(.tooltip-e) {
126
+ --tooltip-top: var(--tool-tip-position-top);
127
+ --tooltip-left: calc(var(--tool-tip-position-left, 0) + var(--overlay-offset, 0.25rem));
126
128
  }
127
129
 
128
130
  :host:after{
@@ -134,73 +136,40 @@ class ToolTipElement extends HTMLElement {
134
136
  content: "";
135
137
  }
136
138
 
137
- :host(:popover-open),
138
- :host(:popover-open):before {
139
- animation-name: tooltip-appear;
140
- animation-duration: .1s;
141
- animation-fill-mode: forwards;
142
- animation-timing-function: ease-in;
143
- }
144
-
145
- :host(.\\:popover-open),
146
- :host(.\\:popover-open):before {
147
- animation-name: tooltip-appear;
148
- animation-duration: .1s;
149
- animation-fill-mode: forwards;
150
- animation-timing-function: ease-in;
151
- animation-delay: .4s;
152
- }
153
-
154
- :host(.tooltip-s):before,
155
- :host(.tooltip-n):before {
156
- right: 50%;
157
- margin-right: -${TOOLTIP_ARROW_EDGE_OFFSET}px;
158
- }
159
- :host(.tooltip-s):before,
160
- :host(.tooltip-se):before,
161
- :host(.tooltip-sw):before {
162
- bottom: 100%;
163
- border-bottom-color: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus));
164
- }
165
139
  :host(.tooltip-s):after,
166
140
  :host(.tooltip-se):after,
167
141
  :host(.tooltip-sw):after {
168
142
  bottom: 100%
169
143
  }
170
- :host(.tooltip-n):before,
171
- :host(.tooltip-ne):before,
172
- :host(.tooltip-nw):before {
173
- top: 100%;
174
- border-top-color: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus));
175
- }
144
+
176
145
  :host(.tooltip-n):after,
177
146
  :host(.tooltip-ne):after,
178
147
  :host(.tooltip-nw):after {
179
148
  top: 100%;
180
149
  }
181
- :host(.tooltip-se):before,
182
- :host(.tooltip-ne):before {
183
- left: 0;
184
- margin-left: ${TOOLTIP_ARROW_EDGE_OFFSET}px;
185
- }
186
- :host(.tooltip-sw):before,
187
- :host(.tooltip-nw):before {
188
- right: 0;
189
- margin-right: ${TOOLTIP_ARROW_EDGE_OFFSET}px;
150
+
151
+ @keyframes tooltip-appear {
152
+ from {
153
+ opacity: 0;
154
+ }
155
+ to {
156
+ opacity: 1;
157
+ }
190
158
  }
191
- :host(.tooltip-w):before {
192
- top: 50%;
193
- bottom: 50%;
194
- left: 100%;
195
- margin-top: -6px;
196
- border-left-color: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus));
159
+
160
+ :host(:popover-open),
161
+ :host(:popover-open):before {
162
+ animation-name: tooltip-appear;
163
+ animation-duration: .1s;
164
+ animation-fill-mode: forwards;
165
+ animation-timing-function: ease-in;
197
166
  }
198
- :host(.tooltip-e):before {
199
- top: 50%;
200
- right: 100%;
201
- bottom: 50%;
202
- margin-top: -6px;
203
- border-right-color: var(--bgColor-emphasis, var(--color-neutral-emphasis-plus));
167
+
168
+ :host(.\\:popover-open) {
169
+ animation-name: tooltip-appear;
170
+ animation-duration: .1s;
171
+ animation-fill-mode: forwards;
172
+ animation-timing-function: ease-in;
204
173
  }
205
174
 
206
175
  @media (forced-colors: active) {
@@ -390,7 +359,7 @@ _ToolTipElement_abortController = new WeakMap(), _ToolTipElement_align = new Wea
390
359
  __classPrivateFieldSet(this, _ToolTipElement_side, 'outside-top', "f");
391
360
  }
392
361
  else if (direction === 'ne') {
393
- __classPrivateFieldSet(this, _ToolTipElement_align, 'start', "f");
362
+ __classPrivateFieldSet(this, _ToolTipElement_align, 'end', "f");
394
363
  __classPrivateFieldSet(this, _ToolTipElement_side, 'outside-top', "f");
395
364
  }
396
365
  else if (direction === 'e') {
@@ -398,7 +367,7 @@ _ToolTipElement_abortController = new WeakMap(), _ToolTipElement_align = new Wea
398
367
  __classPrivateFieldSet(this, _ToolTipElement_side, 'outside-right', "f");
399
368
  }
400
369
  else if (direction === 'se') {
401
- __classPrivateFieldSet(this, _ToolTipElement_align, 'start', "f");
370
+ __classPrivateFieldSet(this, _ToolTipElement_align, 'end', "f");
402
371
  __classPrivateFieldSet(this, _ToolTipElement_side, 'outside-bottom', "f");
403
372
  }
404
373
  else if (direction === 's') {
@@ -406,7 +375,7 @@ _ToolTipElement_abortController = new WeakMap(), _ToolTipElement_align = new Wea
406
375
  __classPrivateFieldSet(this, _ToolTipElement_side, 'outside-bottom', "f");
407
376
  }
408
377
  else if (direction === 'sw') {
409
- __classPrivateFieldSet(this, _ToolTipElement_align, 'end', "f");
378
+ __classPrivateFieldSet(this, _ToolTipElement_align, 'start', "f");
410
379
  __classPrivateFieldSet(this, _ToolTipElement_side, 'outside-bottom', "f");
411
380
  }
412
381
  else if (direction === 'w') {
@@ -414,7 +383,7 @@ _ToolTipElement_abortController = new WeakMap(), _ToolTipElement_align = new Wea
414
383
  __classPrivateFieldSet(this, _ToolTipElement_side, 'outside-left', "f");
415
384
  }
416
385
  else if (direction === 'nw') {
417
- __classPrivateFieldSet(this, _ToolTipElement_align, 'end', "f");
386
+ __classPrivateFieldSet(this, _ToolTipElement_align, 'start', "f");
418
387
  __classPrivateFieldSet(this, _ToolTipElement_side, 'outside-top', "f");
419
388
  }
420
389
  }, _ToolTipElement_updatePosition = function _ToolTipElement_updatePosition() {
@@ -425,7 +394,7 @@ _ToolTipElement_abortController = new WeakMap(), _ToolTipElement_align = new Wea
425
394
  const position = getAnchoredPosition(this, this.control, {
426
395
  side: __classPrivateFieldGet(this, _ToolTipElement_side, "f"),
427
396
  align: __classPrivateFieldGet(this, _ToolTipElement_align, "f"),
428
- anchorOffset: TOOLTIP_OFFSET,
397
+ anchorOffset: 0,
429
398
  });
430
399
  const anchorSide = position.anchorSide;
431
400
  const align = position.anchorAlign;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/view-components",
3
- "version": "0.21.0-rc.1cc3a887",
3
+ "version": "0.21.0-rc.a6d33cb4",
4
4
  "description": "ViewComponents for the Primer Design System",
5
5
  "main": "app/assets/javascripts/primer_view_components.js",
6
6
  "module": "app/components/primer/primer.js",