@vaadin/component-base 23.3.0-alpha1 → 23.3.0-alpha3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/component-base",
3
- "version": "23.3.0-alpha1",
3
+ "version": "23.3.0-alpha3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -42,5 +42,5 @@
42
42
  "@vaadin/testing-helpers": "^0.3.2",
43
43
  "sinon": "^13.0.2"
44
44
  },
45
- "gitHead": "beabc527d4b1274eb798ff701d406fed45cfe638"
45
+ "gitHead": "e86cd2abf3e28bade37711291331415d92c454ec"
46
46
  }
@@ -23,3 +23,8 @@ export function addValueToAttribute(element: HTMLElement, attr: string, value: s
23
23
  * If the value is the last one, the whole attribute is removed.
24
24
  */
25
25
  export function removeValueFromAttribute(element: HTMLElement, attr: string, value: string): void;
26
+
27
+ /**
28
+ * Returns true if the given node is an empty text node, false otherwise.
29
+ */
30
+ export function isEmptyTextNode(node: Node): boolean;
package/src/dom-utils.js CHANGED
@@ -90,3 +90,13 @@ export function removeValueFromAttribute(element, attr, value) {
90
90
  }
91
91
  element.setAttribute(attr, serializeAttributeValue(values));
92
92
  }
93
+
94
+ /**
95
+ * Returns true if the given node is an empty text node, false otherwise.
96
+ *
97
+ * @param {Node} node
98
+ * @return {boolean}
99
+ */
100
+ export function isEmptyTextNode(node) {
101
+ return node.nodeType === Node.TEXT_NODE && node.textContent.trim() === '';
102
+ }
@@ -39,7 +39,7 @@ const registered = new Set();
39
39
  export const ElementMixin = (superClass) =>
40
40
  class VaadinElementMixin extends DirMixin(superClass) {
41
41
  static get version() {
42
- return '23.3.0-alpha1';
42
+ return '23.3.0-alpha3';
43
43
  }
44
44
 
45
45
  /** @protected */
@@ -24,7 +24,7 @@ type TooltipPosition =
24
24
  */
25
25
  export class TooltipController extends SlotController {
26
26
  /**
27
- * Object with properties passed to `textGenerator`
27
+ * Object with properties passed to `generator`
28
28
  * function to be used for generating tooltip text.
29
29
  */
30
30
  context: Record<string, unknown>;
@@ -52,7 +52,7 @@ export class TooltipController extends SlotController {
52
52
  target: HTMLElement;
53
53
 
54
54
  /**
55
- * Set a context object to be used by text generator.
55
+ * Set a context object to be used by generator.
56
56
  */
57
57
  setContext(context: Record<string, unknown>): void;
58
58
 
@@ -67,7 +67,9 @@ export class TooltipController extends SlotController {
67
67
  setOpened(opened: boolean): void;
68
68
 
69
69
  /**
70
- * Set position on the slotted tooltip.
70
+ * Set default position for the slotted tooltip.
71
+ * This can be overridden by setting the position
72
+ * using corresponding property or attribute.
71
73
  */
72
74
  setPosition(position: TooltipPosition): void;
73
75
 
@@ -39,7 +39,7 @@ export class TooltipController extends SlotController {
39
39
  }
40
40
 
41
41
  if (this.position !== undefined) {
42
- tooltipNode.position = this.position;
42
+ tooltipNode._position = this.position;
43
43
  }
44
44
 
45
45
  if (this.shouldShow !== undefined) {
@@ -48,7 +48,7 @@ export class TooltipController extends SlotController {
48
48
  }
49
49
 
50
50
  /**
51
- * Set a context object to be used by text generator.
51
+ * Set a context object to be used by generator.
52
52
  * @param {object} context
53
53
  */
54
54
  setContext(context) {
@@ -87,7 +87,9 @@ export class TooltipController extends SlotController {
87
87
  }
88
88
 
89
89
  /**
90
- * Set position on the slotted tooltip.
90
+ * Set default position for the slotted tooltip.
91
+ * This can be overridden by setting the position
92
+ * using corresponding property or attribute.
91
93
  * @param {string} position
92
94
  */
93
95
  setPosition(position) {
@@ -95,7 +97,7 @@ export class TooltipController extends SlotController {
95
97
 
96
98
  const tooltipNode = this.node;
97
99
  if (tooltipNode) {
98
- tooltipNode.position = position;
100
+ tooltipNode._position = position;
99
101
  }
100
102
  }
101
103
 
@@ -349,6 +349,12 @@ export class IronListAdapter {
349
349
  }
350
350
 
351
351
  this.__previousScrollTop = this._scrollTop;
352
+
353
+ // If the first visible index is not 0 when scrolled to the top,
354
+ // add some scroll offset to enable the user to continue scrolling.
355
+ if (this._scrollTop === 0 && this.firstVisibleIndex !== 0) {
356
+ this._scrollTop = 1;
357
+ }
352
358
  }
353
359
 
354
360
  /** @private */