@momentum-design/components 0.129.17 → 0.129.19

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 { CSSResult } from 'lit';
1
+ import type { CSSResult, PropertyValues } from 'lit';
2
2
  import { AnimationItem } from 'lottie-web/build/player/lottie_light';
3
3
  import { Component } from '../../models';
4
4
  import type { AnimationNames, LoopType } from './animation.types';
@@ -17,6 +17,7 @@ import type { AnimationNames, LoopType } from './animation.types';
17
17
  declare class Animation extends Component {
18
18
  /**
19
19
  * Name of the animation (= filename)
20
+ * @default undefined
20
21
  */
21
22
  name?: AnimationNames;
22
23
  /**
@@ -24,30 +25,37 @@ declare class Animation extends Component {
24
25
  * - "true" - infinite
25
26
  * - "false" - no loop
26
27
  * - number - number of times to loop
28
+ * @default 'true'
27
29
  */
28
30
  loop?: LoopType;
29
31
  /**
30
32
  * Weather start the animation automatically
33
+ * @default true
31
34
  */
32
35
  autoplay?: boolean;
33
36
  /**
34
37
  * Aria-label attribute to be set for accessibility
38
+ * @default null
35
39
  */
36
40
  ariaLabel: string | null;
37
41
  /**
38
42
  * Aria-labelledby attribute to be set for accessibility
43
+ * @default null
39
44
  */
40
45
  ariaLabelledby: string | null;
41
46
  /**
42
47
  * Lottie animation instance
48
+ * @internal
43
49
  */
44
50
  private lottieInstance?;
45
51
  /**
46
52
  * Container for the animation
53
+ * @internal
47
54
  */
48
55
  private containerRef;
49
56
  /**
50
57
  * Exposed API of the animation library (lottie)
58
+ * @internal
51
59
  */
52
60
  get animation(): AnimationItem | undefined;
53
61
  private getLoopValue;
@@ -63,15 +71,16 @@ declare class Animation extends Component {
63
71
  * Import animation data dynamically
64
72
  */
65
73
  private getAnimationData;
66
- updated(changedProperties: Map<string, any>): void;
74
+ updated(changedProperties: PropertyValues): void;
67
75
  disconnectedCallback(): void;
68
76
  /**
69
77
  * Re-dispatch the complete event from the animation library
70
78
  *
71
79
  * This handler called with the animation instance instead of the component instance
72
80
  * so we need to bind it to the component instance. The arrow function just does that.
81
+ * @internal
73
82
  */
74
- onCompleteHandler: () => void;
83
+ private onCompleteHandler;
75
84
  render(): import("lit-html").TemplateResult<1>;
76
85
  static styles: Array<CSSResult>;
77
86
  }
@@ -31,31 +31,32 @@ import { DEFAULTS } from './animation.constants';
31
31
  class Animation extends Component {
32
32
  constructor() {
33
33
  super(...arguments);
34
- /**
35
- * Name of the animation (= filename)
36
- */
37
- this.name = DEFAULTS.NAME;
38
34
  /**
39
35
  * How many times to loop the animation
40
36
  * - "true" - infinite
41
37
  * - "false" - no loop
42
38
  * - number - number of times to loop
39
+ * @default 'true'
43
40
  */
44
41
  this.loop = DEFAULTS.LOOP;
45
42
  /**
46
43
  * Weather start the animation automatically
44
+ * @default true
47
45
  */
48
46
  this.autoplay = DEFAULTS.AUTO_PLAY;
49
47
  /**
50
48
  * Aria-label attribute to be set for accessibility
49
+ * @default null
51
50
  */
52
51
  this.ariaLabel = null;
53
52
  /**
54
53
  * Aria-labelledby attribute to be set for accessibility
54
+ * @default null
55
55
  */
56
56
  this.ariaLabelledby = null;
57
57
  /**
58
58
  * Container for the animation
59
+ * @internal
59
60
  */
60
61
  this.containerRef = createRef();
61
62
  /**
@@ -63,6 +64,7 @@ class Animation extends Component {
63
64
  *
64
65
  * This handler called with the animation instance instead of the component instance
65
66
  * so we need to bind it to the component instance. The arrow function just does that.
67
+ * @internal
66
68
  */
67
69
  this.onCompleteHandler = () => {
68
70
  const event = new CustomEvent('complete', {
@@ -74,6 +76,7 @@ class Animation extends Component {
74
76
  }
75
77
  /**
76
78
  * Exposed API of the animation library (lottie)
79
+ * @internal
77
80
  */
78
81
  get animation() {
79
82
  return this.lottieInstance;
@@ -1,6 +1,5 @@
1
1
  declare const TAG_NAME: "mdc-animation";
2
2
  declare const DEFAULTS: {
3
- readonly NAME: undefined;
4
3
  readonly AUTO_PLAY: true;
5
4
  readonly LOOP: "true";
6
5
  };
@@ -1,7 +1,6 @@
1
1
  import utils from '../../utils/tag-name';
2
2
  const TAG_NAME = utils.constructTagName('animation');
3
3
  const DEFAULTS = {
4
- NAME: undefined,
5
4
  AUTO_PLAY: true,
6
5
  LOOP: 'true',
7
6
  };
@@ -16,10 +16,10 @@ declare const VirtualizedList_base: import("../../utils/mixins/index.types").Con
16
16
  *
17
17
  * ## Setup
18
18
  *
19
- * `virtualizerProps` is a required prop that requires at least two properties to be set: `count` and `estimateSize`.
20
- * `count` is the total number of items in the list, and `estimateSize` is a function that returns the estimated
21
- * size (in pixels) of each item in the list. `getItemKey` is also strongly recommended to be set to provide unique
22
- * keys for each item in the list.
19
+ * `virtualizerProps` is a required prop that requires at least three properties to be set:
20
+ * - `count` is the total number of items in the list
21
+ * - `estimateSize` is a function that returns the estimated size (in pixels) of each item in the list
22
+ * - `getItemKey` is a function that returns a unique key for each item in the list.
23
23
  *
24
24
  * ### Render list items
25
25
  *
@@ -48,6 +48,19 @@ declare const VirtualizedList_base: import("../../utils/mixins/index.types").Con
48
48
  * Unique keys for the list items are critical for dynamically changing list items or item's content.
49
49
  * If the key change with the content it will cause scrollbar and content shuttering.
50
50
  *
51
+ * ### Top/Bottom Padding
52
+ *
53
+ * If padding is required at the top or the bottom of the list, do not apply padding/margin via CSS since this
54
+ * will break the virtualization calculations and can cause scrollbars when they are not necessary.
55
+ * Instead use the `paddingStart` and `paddingEnd` properties (in pixels) of the `virtualizerProps` prop.
56
+ *
57
+ * ### Gaps between items
58
+ *
59
+ * If you are adding gaps between items using CSS margin or gap properties, you must provide the same value in pixels
60
+ * to the `gap` property of the `virtualizerProps` prop. This ensures that the virtualization calculations are accurate.
61
+ * If you are using CSS margins, ensure that you are not applying the margin to the top of the first or the bottom of the last item.
62
+ * If you need spacing there, use the `paddingStart` and `paddingEnd` properties of the `virtualizerProps` prop.
63
+ *
51
64
  * @tagname mdc-virtualizedlist
52
65
  *
53
66
  * @event scroll - (React: onScroll) Event that gets called when user scrolls inside of list.
@@ -30,10 +30,10 @@ import { DEFAULTS } from './virtualizedlist.constants';
30
30
  *
31
31
  * ## Setup
32
32
  *
33
- * `virtualizerProps` is a required prop that requires at least two properties to be set: `count` and `estimateSize`.
34
- * `count` is the total number of items in the list, and `estimateSize` is a function that returns the estimated
35
- * size (in pixels) of each item in the list. `getItemKey` is also strongly recommended to be set to provide unique
36
- * keys for each item in the list.
33
+ * `virtualizerProps` is a required prop that requires at least three properties to be set:
34
+ * - `count` is the total number of items in the list
35
+ * - `estimateSize` is a function that returns the estimated size (in pixels) of each item in the list
36
+ * - `getItemKey` is a function that returns a unique key for each item in the list.
37
37
  *
38
38
  * ### Render list items
39
39
  *
@@ -62,6 +62,19 @@ import { DEFAULTS } from './virtualizedlist.constants';
62
62
  * Unique keys for the list items are critical for dynamically changing list items or item's content.
63
63
  * If the key change with the content it will cause scrollbar and content shuttering.
64
64
  *
65
+ * ### Top/Bottom Padding
66
+ *
67
+ * If padding is required at the top or the bottom of the list, do not apply padding/margin via CSS since this
68
+ * will break the virtualization calculations and can cause scrollbars when they are not necessary.
69
+ * Instead use the `paddingStart` and `paddingEnd` properties (in pixels) of the `virtualizerProps` prop.
70
+ *
71
+ * ### Gaps between items
72
+ *
73
+ * If you are adding gaps between items using CSS margin or gap properties, you must provide the same value in pixels
74
+ * to the `gap` property of the `virtualizerProps` prop. This ensures that the virtualization calculations are accurate.
75
+ * If you are using CSS margins, ensure that you are not applying the margin to the top of the first or the bottom of the last item.
76
+ * If you need spacing there, use the `paddingStart` and `paddingEnd` properties of the `virtualizerProps` prop.
77
+ *
65
78
  * @tagname mdc-virtualizedlist
66
79
  *
67
80
  * @event scroll - (React: onScroll) Event that gets called when user scrolls inside of list.
@@ -1673,12 +1673,6 @@
1673
1673
  "description": "The `mdc-animation` component is a wrapper around the Lottie animation library.\nIt fetches the animation data dynamically based on the provided name and renders it.\nThis is a display only component that does not have any interactive functionality.\nFrom accessibility perspective, (by default) it is a decorative image component.",
1674
1674
  "name": "Animation",
1675
1675
  "members": [
1676
- {
1677
- "kind": "field",
1678
- "name": "animation",
1679
- "description": "Exposed API of the animation library (lottie)",
1680
- "readonly": true
1681
- },
1682
1676
  {
1683
1677
  "kind": "field",
1684
1678
  "name": "ariaLabel",
@@ -1706,28 +1700,30 @@
1706
1700
  "text": "boolean | undefined"
1707
1701
  },
1708
1702
  "description": "Weather start the animation automatically",
1703
+ "default": "true",
1709
1704
  "attribute": "autoplay",
1710
1705
  "reflects": true
1711
1706
  },
1712
- {
1713
- "kind": "field",
1714
- "name": "containerRef",
1715
- "type": {
1716
- "text": "Ref<HTMLDivElement>"
1717
- },
1718
- "privacy": "private",
1719
- "description": "Container for the animation"
1720
- },
1721
1707
  {
1722
1708
  "kind": "method",
1723
1709
  "name": "getAnimationData",
1724
1710
  "privacy": "private",
1711
+ "return": {
1712
+ "type": {
1713
+ "text": "void"
1714
+ }
1715
+ },
1725
1716
  "description": "Import animation data dynamically"
1726
1717
  },
1727
1718
  {
1728
1719
  "kind": "method",
1729
1720
  "name": "getLoopValue",
1730
- "privacy": "private"
1721
+ "privacy": "private",
1722
+ "return": {
1723
+ "type": {
1724
+ "text": "boolean | number"
1725
+ }
1726
+ }
1731
1727
  },
1732
1728
  {
1733
1729
  "kind": "field",
@@ -1736,18 +1732,10 @@
1736
1732
  "text": "LoopType | undefined"
1737
1733
  },
1738
1734
  "description": "How many times to loop the animation\n- \"true\" - infinite\n- \"false\" - no loop\n- number - number of times to loop",
1735
+ "default": "'true'",
1739
1736
  "attribute": "loop",
1740
1737
  "reflects": true
1741
1738
  },
1742
- {
1743
- "kind": "field",
1744
- "name": "lottieInstance",
1745
- "type": {
1746
- "text": "AnimationItem | undefined"
1747
- },
1748
- "privacy": "private",
1749
- "description": "Lottie animation instance"
1750
- },
1751
1739
  {
1752
1740
  "kind": "field",
1753
1741
  "name": "name",
@@ -1755,18 +1743,19 @@
1755
1743
  "text": "AnimationNames | undefined"
1756
1744
  },
1757
1745
  "description": "Name of the animation (= filename)",
1746
+ "default": "undefined",
1758
1747
  "attribute": "name",
1759
1748
  "reflects": true
1760
1749
  },
1761
- {
1762
- "kind": "field",
1763
- "name": "onCompleteHandler",
1764
- "description": "Re-dispatch the complete event from the animation library\n\nThis handler called with the animation instance instead of the component instance\nso we need to bind it to the component instance. The arrow function just does that."
1765
- },
1766
1750
  {
1767
1751
  "kind": "method",
1768
1752
  "name": "onLoadFailHandler",
1769
1753
  "privacy": "private",
1754
+ "return": {
1755
+ "type": {
1756
+ "text": "void"
1757
+ }
1758
+ },
1770
1759
  "parameters": [
1771
1760
  {
1772
1761
  "name": "error",
@@ -1781,6 +1770,11 @@
1781
1770
  "kind": "method",
1782
1771
  "name": "onLoadSuccessHandler",
1783
1772
  "privacy": "private",
1773
+ "return": {
1774
+ "type": {
1775
+ "text": "void"
1776
+ }
1777
+ },
1784
1778
  "parameters": [
1785
1779
  {
1786
1780
  "name": "animationData",
@@ -1819,6 +1813,7 @@
1819
1813
  "text": "AnimationNames | undefined"
1820
1814
  },
1821
1815
  "description": "Name of the animation (= filename)",
1816
+ "default": "undefined",
1822
1817
  "fieldName": "name"
1823
1818
  },
1824
1819
  {
@@ -1827,6 +1822,7 @@
1827
1822
  "text": "LoopType | undefined"
1828
1823
  },
1829
1824
  "description": "How many times to loop the animation\n- \"true\" - infinite\n- \"false\" - no loop\n- number - number of times to loop",
1825
+ "default": "'true'",
1830
1826
  "fieldName": "loop"
1831
1827
  },
1832
1828
  {
@@ -1835,6 +1831,7 @@
1835
1831
  "text": "boolean | undefined"
1836
1832
  },
1837
1833
  "description": "Weather start the animation automatically",
1834
+ "default": "true",
1838
1835
  "fieldName": "autoplay"
1839
1836
  },
1840
1837
  {
@@ -53853,7 +53850,7 @@
53853
53850
  "declarations": [
53854
53851
  {
53855
53852
  "kind": "class",
53856
- "description": "`mdc-virtualizedlist` is an extension of the `mdc-list` component that adds virtualization capabilities using\nthe Tanstack Virtual library.\n\nThis component is thin wrapper around the Tanstack libray to provide additional funtionalities such as\nkeyboard navigation, focus management, scroll anchoring and accessibility features.\n\nPlease refer to [Tanstack Virtual Docs](https://tanstack.com/virtual/latest) for more in depth documentation.\n\n## Setup\n\n`virtualizerProps` is a required prop that requires at least two properties to be set: `count` and `estimateSize`.\n`count` is the total number of items in the list, and `estimateSize` is a function that returns the estimated\nsize (in pixels) of each item in the list. `getItemKey` is also strongly recommended to be set to provide unique\nkeys for each item in the list.\n\n### Render list items\n\nTo keep the component framework-agnostic, the rendering of the list items is left to the consumer.\n\nWe need to render only the visible items. The list of visible items are provided by the `virtualitemschange` event.\nThe event detail contains the `virtualItems` array, which contains the information for the rendering.\nList items must have an `data-index` attribute, the indexes are in the `virtualItems` list.\n\n## Best practices\n\n### List updates\n\nTanstack needs only the count of the items in the list and the size of each item to perform virtualization.\nList updates happens when\n- when `virtualizerProps` property of the component instance changes\n- when `observe-size-changes` is set and the item's size changes (it uses ResizeObserver internally)\n- when `component.visualiser.measure` called manually.\n\n### Header\n\nTo add a header to the list, use the `mdc-listheader` component and place it in the `list-header` slot.\n\n### Lists with dynamic content\n\nUnique keys for the list items are critical for dynamically changing list items or item's content.\nIf the key change with the content it will cause scrollbar and content shuttering.",
53853
+ "description": "`mdc-virtualizedlist` is an extension of the `mdc-list` component that adds virtualization capabilities using\nthe Tanstack Virtual library.\n\nThis component is thin wrapper around the Tanstack libray to provide additional funtionalities such as\nkeyboard navigation, focus management, scroll anchoring and accessibility features.\n\nPlease refer to [Tanstack Virtual Docs](https://tanstack.com/virtual/latest) for more in depth documentation.\n\n## Setup\n\n`virtualizerProps` is a required prop that requires at least three properties to be set:\n- `count` is the total number of items in the list\n- `estimateSize` is a function that returns the estimated size (in pixels) of each item in the list\n- `getItemKey` is a function that returns a unique key for each item in the list.\n\n### Render list items\n\nTo keep the component framework-agnostic, the rendering of the list items is left to the consumer.\n\nWe need to render only the visible items. The list of visible items are provided by the `virtualitemschange` event.\nThe event detail contains the `virtualItems` array, which contains the information for the rendering.\nList items must have an `data-index` attribute, the indexes are in the `virtualItems` list.\n\n## Best practices\n\n### List updates\n\nTanstack needs only the count of the items in the list and the size of each item to perform virtualization.\nList updates happens when\n- when `virtualizerProps` property of the component instance changes\n- when `observe-size-changes` is set and the item's size changes (it uses ResizeObserver internally)\n- when `component.visualiser.measure` called manually.\n\n### Header\n\nTo add a header to the list, use the `mdc-listheader` component and place it in the `list-header` slot.\n\n### Lists with dynamic content\n\nUnique keys for the list items are critical for dynamically changing list items or item's content.\nIf the key change with the content it will cause scrollbar and content shuttering.\n\n### Top/Bottom Padding\n\nIf padding is required at the top or the bottom of the list, do not apply padding/margin via CSS since this\nwill break the virtualization calculations and can cause scrollbars when they are not necessary.\nInstead use the `paddingStart` and `paddingEnd` properties (in pixels) of the `virtualizerProps` prop.\n\n### Gaps between items\n\nIf you are adding gaps between items using CSS margin or gap properties, you must provide the same value in pixels\nto the `gap` property of the `virtualizerProps` prop. This ensures that the virtualization calculations are accurate.\nIf you are using CSS margins, ensure that you are not applying the margin to the top of the first or the bottom of the last item.\nIf you need spacing there, use the `paddingStart` and `paddingEnd` properties of the `virtualizerProps` prop.",
53857
53854
  "name": "VirtualizedList",
53858
53855
  "cssParts": [
53859
53856
  {
@@ -54394,7 +54391,7 @@
54394
54391
  "module": "/src/components/list/list.component"
54395
54392
  },
54396
54393
  "tagName": "mdc-virtualizedlist",
54397
- "jsDoc": "/**\n * `mdc-virtualizedlist` is an extension of the `mdc-list` component that adds virtualization capabilities using\n * the Tanstack Virtual library.\n *\n * This component is thin wrapper around the Tanstack libray to provide additional funtionalities such as\n * keyboard navigation, focus management, scroll anchoring and accessibility features.\n *\n * Please refer to [Tanstack Virtual Docs](https://tanstack.com/virtual/latest) for more in depth documentation.\n *\n * ## Setup\n *\n * `virtualizerProps` is a required prop that requires at least two properties to be set: `count` and `estimateSize`.\n * `count` is the total number of items in the list, and `estimateSize` is a function that returns the estimated\n * size (in pixels) of each item in the list. `getItemKey` is also strongly recommended to be set to provide unique\n * keys for each item in the list.\n *\n * ### Render list items\n *\n * To keep the component framework-agnostic, the rendering of the list items is left to the consumer.\n *\n * We need to render only the visible items. The list of visible items are provided by the `virtualitemschange` event.\n * The event detail contains the `virtualItems` array, which contains the information for the rendering.\n * List items must have an `data-index` attribute, the indexes are in the `virtualItems` list.\n *\n * ## Best practices\n *\n * ### List updates\n *\n * Tanstack needs only the count of the items in the list and the size of each item to perform virtualization.\n * List updates happens when\n * - when `virtualizerProps` property of the component instance changes\n * - when `observe-size-changes` is set and the item's size changes (it uses ResizeObserver internally)\n * - when `component.visualiser.measure` called manually.\n *\n * ### Header\n *\n * To add a header to the list, use the `mdc-listheader` component and place it in the `list-header` slot.\n *\n * ### Lists with dynamic content\n *\n * Unique keys for the list items are critical for dynamically changing list items or item's content.\n * If the key change with the content it will cause scrollbar and content shuttering.\n *\n * @tagname mdc-virtualizedlist\n *\n * @event scroll - (React: onScroll) Event that gets called when user scrolls inside of list.\n * @event virtualitemschange - (React: onVirtualItemsChange) Event that gets called when the virtual items change.\n *\n * @slot default - This is a default/unnamed slot, where listitems can be placed.\n * @slot list-header - This slot is used to pass a header for the list, which can be a `mdc-listheader` component.\n *\n * @csspart container - The container of the virtualized list.\n * @csspart scroll - The scrollable area of the virtualized list.\n */",
54394
+ "jsDoc": "/**\n * `mdc-virtualizedlist` is an extension of the `mdc-list` component that adds virtualization capabilities using\n * the Tanstack Virtual library.\n *\n * This component is thin wrapper around the Tanstack libray to provide additional funtionalities such as\n * keyboard navigation, focus management, scroll anchoring and accessibility features.\n *\n * Please refer to [Tanstack Virtual Docs](https://tanstack.com/virtual/latest) for more in depth documentation.\n *\n * ## Setup\n *\n * `virtualizerProps` is a required prop that requires at least three properties to be set:\n * - `count` is the total number of items in the list\n * - `estimateSize` is a function that returns the estimated size (in pixels) of each item in the list\n * - `getItemKey` is a function that returns a unique key for each item in the list.\n *\n * ### Render list items\n *\n * To keep the component framework-agnostic, the rendering of the list items is left to the consumer.\n *\n * We need to render only the visible items. The list of visible items are provided by the `virtualitemschange` event.\n * The event detail contains the `virtualItems` array, which contains the information for the rendering.\n * List items must have an `data-index` attribute, the indexes are in the `virtualItems` list.\n *\n * ## Best practices\n *\n * ### List updates\n *\n * Tanstack needs only the count of the items in the list and the size of each item to perform virtualization.\n * List updates happens when\n * - when `virtualizerProps` property of the component instance changes\n * - when `observe-size-changes` is set and the item's size changes (it uses ResizeObserver internally)\n * - when `component.visualiser.measure` called manually.\n *\n * ### Header\n *\n * To add a header to the list, use the `mdc-listheader` component and place it in the `list-header` slot.\n *\n * ### Lists with dynamic content\n *\n * Unique keys for the list items are critical for dynamically changing list items or item's content.\n * If the key change with the content it will cause scrollbar and content shuttering.\n *\n * ### Top/Bottom Padding\n *\n * If padding is required at the top or the bottom of the list, do not apply padding/margin via CSS since this\n * will break the virtualization calculations and can cause scrollbars when they are not necessary.\n * Instead use the `paddingStart` and `paddingEnd` properties (in pixels) of the `virtualizerProps` prop.\n *\n * ### Gaps between items\n *\n * If you are adding gaps between items using CSS margin or gap properties, you must provide the same value in pixels\n * to the `gap` property of the `virtualizerProps` prop. This ensures that the virtualization calculations are accurate.\n * If you are using CSS margins, ensure that you are not applying the margin to the top of the first or the bottom of the last item.\n * If you need spacing there, use the `paddingStart` and `paddingEnd` properties of the `virtualizerProps` prop.\n *\n * @tagname mdc-virtualizedlist\n *\n * @event scroll - (React: onScroll) Event that gets called when user scrolls inside of list.\n * @event virtualitemschange - (React: onVirtualItemsChange) Event that gets called when the virtual items change.\n *\n * @slot default - This is a default/unnamed slot, where listitems can be placed.\n * @slot list-header - This slot is used to pass a header for the list, which can be a `mdc-listheader` component.\n *\n * @csspart container - The container of the virtualized list.\n * @csspart scroll - The scrollable area of the virtualized list.\n */",
54398
54395
  "customElement": true
54399
54396
  }
54400
54397
  ],
@@ -12,10 +12,10 @@ import type { Events } from '../../components/virtualizedlist/virtualizedlist.ty
12
12
  *
13
13
  * ## Setup
14
14
  *
15
- * `virtualizerProps` is a required prop that requires at least two properties to be set: `count` and `estimateSize`.
16
- * `count` is the total number of items in the list, and `estimateSize` is a function that returns the estimated
17
- * size (in pixels) of each item in the list. `getItemKey` is also strongly recommended to be set to provide unique
18
- * keys for each item in the list.
15
+ * `virtualizerProps` is a required prop that requires at least three properties to be set:
16
+ * - `count` is the total number of items in the list
17
+ * - `estimateSize` is a function that returns the estimated size (in pixels) of each item in the list
18
+ * - `getItemKey` is a function that returns a unique key for each item in the list.
19
19
  *
20
20
  * ### Render list items
21
21
  *
@@ -44,6 +44,19 @@ import type { Events } from '../../components/virtualizedlist/virtualizedlist.ty
44
44
  * Unique keys for the list items are critical for dynamically changing list items or item's content.
45
45
  * If the key change with the content it will cause scrollbar and content shuttering.
46
46
  *
47
+ * ### Top/Bottom Padding
48
+ *
49
+ * If padding is required at the top or the bottom of the list, do not apply padding/margin via CSS since this
50
+ * will break the virtualization calculations and can cause scrollbars when they are not necessary.
51
+ * Instead use the `paddingStart` and `paddingEnd` properties (in pixels) of the `virtualizerProps` prop.
52
+ *
53
+ * ### Gaps between items
54
+ *
55
+ * If you are adding gaps between items using CSS margin or gap properties, you must provide the same value in pixels
56
+ * to the `gap` property of the `virtualizerProps` prop. This ensures that the virtualization calculations are accurate.
57
+ * If you are using CSS margins, ensure that you are not applying the margin to the top of the first or the bottom of the last item.
58
+ * If you need spacing there, use the `paddingStart` and `paddingEnd` properties of the `virtualizerProps` prop.
59
+ *
47
60
  * @tagname mdc-virtualizedlist
48
61
  *
49
62
  * @event scroll - (React: onScroll) Event that gets called when user scrolls inside of list.
@@ -13,10 +13,10 @@ import { TAG_NAME } from '../../components/virtualizedlist/virtualizedlist.const
13
13
  *
14
14
  * ## Setup
15
15
  *
16
- * `virtualizerProps` is a required prop that requires at least two properties to be set: `count` and `estimateSize`.
17
- * `count` is the total number of items in the list, and `estimateSize` is a function that returns the estimated
18
- * size (in pixels) of each item in the list. `getItemKey` is also strongly recommended to be set to provide unique
19
- * keys for each item in the list.
16
+ * `virtualizerProps` is a required prop that requires at least three properties to be set:
17
+ * - `count` is the total number of items in the list
18
+ * - `estimateSize` is a function that returns the estimated size (in pixels) of each item in the list
19
+ * - `getItemKey` is a function that returns a unique key for each item in the list.
20
20
  *
21
21
  * ### Render list items
22
22
  *
@@ -45,6 +45,19 @@ import { TAG_NAME } from '../../components/virtualizedlist/virtualizedlist.const
45
45
  * Unique keys for the list items are critical for dynamically changing list items or item's content.
46
46
  * If the key change with the content it will cause scrollbar and content shuttering.
47
47
  *
48
+ * ### Top/Bottom Padding
49
+ *
50
+ * If padding is required at the top or the bottom of the list, do not apply padding/margin via CSS since this
51
+ * will break the virtualization calculations and can cause scrollbars when they are not necessary.
52
+ * Instead use the `paddingStart` and `paddingEnd` properties (in pixels) of the `virtualizerProps` prop.
53
+ *
54
+ * ### Gaps between items
55
+ *
56
+ * If you are adding gaps between items using CSS margin or gap properties, you must provide the same value in pixels
57
+ * to the `gap` property of the `virtualizerProps` prop. This ensures that the virtualization calculations are accurate.
58
+ * If you are using CSS margins, ensure that you are not applying the margin to the top of the first or the bottom of the last item.
59
+ * If you need spacing there, use the `paddingStart` and `paddingEnd` properties of the `virtualizerProps` prop.
60
+ *
48
61
  * @tagname mdc-virtualizedlist
49
62
  *
50
63
  * @event scroll - (React: onScroll) Event that gets called when user scrolls inside of list.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@momentum-design/components",
3
3
  "packageManager": "yarn@3.2.4",
4
- "version": "0.129.17",
4
+ "version": "0.129.19",
5
5
  "engines": {
6
6
  "node": ">=20.0.0",
7
7
  "npm": ">=8.0.0"