@krumio/trailhand-ui 1.11.1 → 1.11.3

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,4 +1,4 @@
1
- import { LitElement, TemplateResult } from 'lit';
1
+ import { LitElement, TemplateResult, PropertyValues } from 'lit';
2
2
  import '../icon/icon';
3
3
  export type PopoverPlacement = 'top' | 'bottom' | 'left' | 'right';
4
4
  export interface PopoverProps {
@@ -7,6 +7,7 @@ export interface PopoverProps {
7
7
  placement: PopoverPlacement;
8
8
  title: string;
9
9
  subtitle: string;
10
+ escapeBoundary: boolean;
10
11
  }
11
12
  /**
12
13
  * A popover component that appears on click of a trigger element.
@@ -25,7 +26,10 @@ export declare class Popover extends LitElement {
25
26
  placement: PopoverPlacement;
26
27
  title: string;
27
28
  subtitle: string;
29
+ escapeBoundary: boolean;
28
30
  private _hasHeadingSlot;
31
+ private _clampOffsetX;
32
+ private _clampOffsetY;
29
33
  private _boundHandleClickOutside;
30
34
  static styles: import("lit").CSSResult;
31
35
  constructor();
@@ -34,6 +38,9 @@ export declare class Popover extends LitElement {
34
38
  private _handleClickOutside;
35
39
  private _handleTriggerClick;
36
40
  private _open;
41
+ private _computeFixedPosition;
42
+ updated(changed: PropertyValues<this>): void;
43
+ private _clampToViewport;
37
44
  private _close;
38
45
  private _handleHeadingSlotChange;
39
46
  private _renderHeader;
@@ -1 +1 @@
1
- {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/components/popover/popover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,cAAc,EAAW,MAAM,KAAK,CAAC;AAErE,OAAO,cAAc,CAAC;AAEtB,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IAErC,IAAI,UAAS;IAEb;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,SAAS,EAAE,gBAAgB,CAAY;IAGvC,KAAK,SAAM;IAGX,QAAQ,SAAM;IAEL,OAAO,CAAC,eAAe,CAAS;IAEzC,OAAO,CAAC,wBAAwB,CAAqB;IAErD,OAAgB,MAAM,0BAuHpB;;IAOO,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;IAKrC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,aAAa;IAkBZ,MAAM,IAAI,cAAc;CAuBlC"}
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/components/popover/popover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,cAAc,EAAW,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrF,OAAO,cAAc,CAAC;AAEtB,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IAErC,IAAI,UAAS;IAEb;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,SAAS,EAAE,gBAAgB,CAAY;IAGvC,KAAK,SAAM;IAGX,QAAQ,SAAM;IAKd,cAAc,UAAS;IAEd,OAAO,CAAC,eAAe,CAAS;IAIhC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,aAAa,CAAK;IAEnC,OAAO,CAAC,wBAAwB,CAAqB;IAErD,OAAgB,MAAM,0BAuHpB;;IAOO,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;IAKrC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,qBAAqB;IA0CpB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAkBrD,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,aAAa;IAkBZ,MAAM,IAAI,cAAc;CAuClC"}
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { LitElement, html, css, nothing } from 'lit';
8
8
  import { property, state } from 'lit/decorators.js';
9
+ import { styleMap } from 'lit/directives/style-map.js';
9
10
  import '../icon/icon';
10
11
  /**
11
12
  * A popover component that appears on click of a trigger element.
@@ -26,7 +27,14 @@ export class Popover extends LitElement {
26
27
  this.placement = 'bottom';
27
28
  this.title = '';
28
29
  this.subtitle = '';
30
+ // When true, the popover is positioned via `position: fixed` computed from the trigger,
31
+ // so it escapes a clipping ancestor (overflow: hidden/auto) instead of being cut off by it.
32
+ this.escapeBoundary = false;
29
33
  this._hasHeadingSlot = false;
34
+ // These offsets are computed in `_clampToViewport()` and applied via CSS custom properties to
35
+ // the placement transforms, so the popover can be re-centered against the viewport instead of just the trigger.
36
+ this._clampOffsetX = 0;
37
+ this._clampOffsetY = 0;
30
38
  this._boundHandleClickOutside = this._handleClickOutside.bind(this);
31
39
  }
32
40
  connectedCallback() {
@@ -58,6 +66,97 @@ export class Popover extends LitElement {
58
66
  this.open = true;
59
67
  this.dispatchEvent(new CustomEvent('popover-open', { bubbles: true, composed: true }));
60
68
  }
69
+ _computeFixedPosition() {
70
+ const gap = 8;
71
+ const rect = this.getBoundingClientRect();
72
+ let style;
73
+ switch (this.placement) {
74
+ case 'top':
75
+ style = {
76
+ position: 'fixed',
77
+ left: `${rect.left + rect.width / 2}px`,
78
+ bottom: `${window.innerHeight - rect.top + gap}px`,
79
+ transform: `translateX(-50%) translateX(${this._clampOffsetX}px)`,
80
+ };
81
+ break;
82
+ case 'left':
83
+ style = {
84
+ position: 'fixed',
85
+ top: `${rect.top + rect.height / 2}px`,
86
+ right: `${window.innerWidth - rect.left + gap}px`,
87
+ transform: `translateY(-50%) translateY(${this._clampOffsetY}px)`,
88
+ };
89
+ break;
90
+ case 'right':
91
+ style = {
92
+ position: 'fixed',
93
+ top: `${rect.top + rect.height / 2}px`,
94
+ left: `${rect.right + gap}px`,
95
+ transform: `translateY(-50%) translateY(${this._clampOffsetY}px)`,
96
+ };
97
+ break;
98
+ default:
99
+ style = {
100
+ position: 'fixed',
101
+ left: `${rect.left + rect.width / 2}px`,
102
+ top: `${rect.bottom + gap}px`,
103
+ transform: `translateX(-50%) translateX(${this._clampOffsetX}px)`,
104
+ };
105
+ }
106
+ return style;
107
+ }
108
+ updated(changed) {
109
+ super.updated(changed);
110
+ if (this.open) {
111
+ // Content isn't visible (opacity/visibility) while closed, but it's still laid
112
+ // out in the DOM, so its rect is measurable as soon as it's open. Runs in every
113
+ // positioning mode, not just escape-boundary.
114
+ this._clampToViewport();
115
+ }
116
+ else if (changed.has('open')) {
117
+ // Reset so a stale offset from this position doesn't leak into the next open,
118
+ // e.g. after the trigger (or the viewport) has moved.
119
+ this._clampOffsetX = 0;
120
+ this._clampOffsetY = 0;
121
+ }
122
+ }
123
+ // Re-centers the popover's placement against the viewport instead of just the
124
+ // trigger, so a trigger near a screen edge doesn't push the popover off it.
125
+ _clampToViewport() {
126
+ const content = this.shadowRoot?.querySelector('.popover-content');
127
+ if (!content) {
128
+ return;
129
+ }
130
+ const margin = 8;
131
+ const hostRect = this.getBoundingClientRect();
132
+ const contentRect = content.getBoundingClientRect();
133
+ if (this.placement === 'left' || this.placement === 'right') {
134
+ const naturalTop = hostRect.top + hostRect.height / 2 - contentRect.height / 2;
135
+ let offsetY = 0;
136
+ if (naturalTop < margin) {
137
+ offsetY = margin - naturalTop;
138
+ }
139
+ else if (naturalTop + contentRect.height > window.innerHeight - margin) {
140
+ offsetY = (window.innerHeight - margin) - (naturalTop + contentRect.height);
141
+ }
142
+ if (offsetY !== this._clampOffsetY) {
143
+ this._clampOffsetY = offsetY;
144
+ }
145
+ }
146
+ else {
147
+ const naturalLeft = hostRect.left + hostRect.width / 2 - contentRect.width / 2;
148
+ let offsetX = 0;
149
+ if (naturalLeft < margin) {
150
+ offsetX = margin - naturalLeft;
151
+ }
152
+ else if (naturalLeft + contentRect.width > window.innerWidth - margin) {
153
+ offsetX = (window.innerWidth - margin) - (naturalLeft + contentRect.width);
154
+ }
155
+ if (offsetX !== this._clampOffsetX) {
156
+ this._clampOffsetX = offsetX;
157
+ }
158
+ }
159
+ }
61
160
  _close() {
62
161
  this.open = false;
63
162
  this.dispatchEvent(new CustomEvent('popover-close', { bubbles: true, composed: true }));
@@ -84,6 +183,19 @@ export class Popover extends LitElement {
84
183
  `;
85
184
  }
86
185
  render() {
186
+ // The viewport clamp offsets are applied via CSS custom properties so the
187
+ // placement transforms can consume them.
188
+ // Computed fresh on every render rather than cached in state: caching it
189
+ // meant a stale value could briefly apply whenever open/escapeBoundary/
190
+ // placement changed together, since state set during `updated()` only
191
+ // takes effect on the render after next.
192
+ const contentStyle = {
193
+ '--th-popover-clamp-x': `${this._clampOffsetX}px`,
194
+ '--th-popover-clamp-y': `${this._clampOffsetY}px`,
195
+ };
196
+ if (this.open && this.escapeBoundary) {
197
+ Object.assign(contentStyle, this._computeFixedPosition());
198
+ }
87
199
  return html `
88
200
  <div
89
201
  class="trigger-wrapper"
@@ -96,6 +208,7 @@ export class Popover extends LitElement {
96
208
 
97
209
  <div
98
210
  class="popover-content ${this.open ? 'popover-content--open' : ''}"
211
+ style=${styleMap(contentStyle)}
99
212
  role="dialog"
100
213
  aria-hidden=${!this.open}
101
214
  >
@@ -179,45 +292,45 @@ Popover.styles = css `
179
292
  :host(:not([placement])) .popover-content {
180
293
  top: calc(100% + 8px);
181
294
  left: 50%;
182
- transform: translateX(-50%) translateY(-6px);
295
+ transform: translateX(-50%) translateX(var(--th-popover-clamp-x, 0px)) translateY(-6px);
183
296
  }
184
297
 
185
298
  :host([placement='bottom']) .popover-content--open,
186
299
  :host(:not([placement])) .popover-content--open {
187
- transform: translateX(-50%) translateY(0);
300
+ transform: translateX(-50%) translateX(var(--th-popover-clamp-x, 0px)) translateY(0);
188
301
  }
189
302
 
190
303
  /* Placement: top */
191
304
  :host([placement='top']) .popover-content {
192
305
  bottom: calc(100% + 8px);
193
306
  left: 50%;
194
- transform: translateX(-50%) translateY(6px);
307
+ transform: translateX(-50%) translateX(var(--th-popover-clamp-x, 0px)) translateY(6px);
195
308
  }
196
309
 
197
310
  :host([placement='top']) .popover-content--open {
198
- transform: translateX(-50%) translateY(0);
311
+ transform: translateX(-50%) translateX(var(--th-popover-clamp-x, 0px)) translateY(0);
199
312
  }
200
313
 
201
314
  /* Placement: right */
202
315
  :host([placement='right']) .popover-content {
203
316
  left: calc(100% + 8px);
204
317
  top: 50%;
205
- transform: translateY(-50%) translateX(-6px);
318
+ transform: translateY(-50%) translateY(var(--th-popover-clamp-y, 0px)) translateX(-6px);
206
319
  }
207
320
 
208
321
  :host([placement='right']) .popover-content--open {
209
- transform: translateY(-50%) translateX(0);
322
+ transform: translateY(-50%) translateY(var(--th-popover-clamp-y, 0px)) translateX(0);
210
323
  }
211
324
 
212
325
  /* Placement: left */
213
326
  :host([placement='left']) .popover-content {
214
327
  right: calc(100% + 8px);
215
328
  top: 50%;
216
- transform: translateY(-50%) translateX(6px);
329
+ transform: translateY(-50%) translateY(var(--th-popover-clamp-y, 0px)) translateX(6px);
217
330
  }
218
331
 
219
332
  :host([placement='left']) .popover-content--open {
220
- transform: translateY(-50%) translateX(0);
333
+ transform: translateY(-50%) translateY(var(--th-popover-clamp-y, 0px)) translateX(0);
221
334
  }
222
335
 
223
336
  /* Dark mode */
@@ -242,8 +355,17 @@ __decorate([
242
355
  __decorate([
243
356
  property({ type: String })
244
357
  ], Popover.prototype, "subtitle", void 0);
358
+ __decorate([
359
+ property({ type: Boolean, attribute: 'escape-boundary' })
360
+ ], Popover.prototype, "escapeBoundary", void 0);
245
361
  __decorate([
246
362
  state()
247
363
  ], Popover.prototype, "_hasHeadingSlot", void 0);
364
+ __decorate([
365
+ state()
366
+ ], Popover.prototype, "_clampOffsetX", void 0);
367
+ __decorate([
368
+ state()
369
+ ], Popover.prototype, "_clampOffsetY", void 0);
248
370
  customElements.define('trailhand-popover', Popover);
249
371
  //# sourceMappingURL=popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/components/popover/popover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/components/popover/popover.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@krumio/trailhand-ui",
3
- "version": "1.11.1",
3
+ "version": "1.11.3",
4
4
  "type": "module",
5
5
  "description": "Reusable web components built with Lit Element",
6
6
  "main": "./dist/index.js",