@momentum-design/components 0.122.6 → 0.122.7

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 (32) hide show
  1. package/dist/browser/index.js +428 -409
  2. package/dist/browser/index.js.map +4 -4
  3. package/dist/components/list/list.component.d.ts +12 -17
  4. package/dist/components/list/list.component.js +29 -39
  5. package/dist/components/listitem/listitem.component.d.ts +10 -0
  6. package/dist/components/listitem/listitem.component.js +7 -0
  7. package/dist/components/virtualizedlist/virtualizedlist.component.d.ts +244 -41
  8. package/dist/components/virtualizedlist/virtualizedlist.component.js +597 -78
  9. package/dist/components/virtualizedlist/virtualizedlist.constants.d.ts +7 -4
  10. package/dist/components/virtualizedlist/virtualizedlist.constants.js +7 -4
  11. package/dist/components/virtualizedlist/virtualizedlist.styles.js +17 -3
  12. package/dist/components/virtualizedlist/virtualizedlist.types.d.ts +12 -10
  13. package/dist/components/virtualizedlist/virtualizedlist.utils.d.ts +11 -0
  14. package/dist/components/virtualizedlist/virtualizedlist.utils.js +23 -0
  15. package/dist/custom-elements.json +976 -305
  16. package/dist/react/index.d.ts +2 -2
  17. package/dist/react/index.js +2 -2
  18. package/dist/react/virtualizedlist/index.d.ts +44 -6
  19. package/dist/react/virtualizedlist/index.js +44 -6
  20. package/dist/utils/mixins/AutoFocusOnMountMixin.js +2 -2
  21. package/dist/utils/mixins/ListNavigationMixin.d.ts +5 -2
  22. package/dist/utils/mixins/ListNavigationMixin.js +77 -68
  23. package/dist/utils/mixins/lifecycle/LifeCycleMixin.js +4 -0
  24. package/dist/utils/mixins/lifecycle/lifecycle.contants.d.ts +1 -0
  25. package/dist/utils/mixins/lifecycle/lifecycle.contants.js +1 -0
  26. package/dist/utils/range.d.ts +40 -0
  27. package/dist/utils/range.js +66 -0
  28. package/dist/utils/virtualIndexArray.d.ts +27 -0
  29. package/dist/utils/virtualIndexArray.js +42 -0
  30. package/package.json +2 -2
  31. package/dist/components/virtualizedlist/virtualizedlist.helper.test.d.ts +0 -22
  32. package/dist/components/virtualizedlist/virtualizedlist.helper.test.js +0 -82
@@ -4798,182 +4798,6 @@
4798
4798
  }
4799
4799
  ]
4800
4800
  },
4801
- {
4802
- "kind": "javascript-module",
4803
- "path": "components/brandvisual/brandvisual.component.js",
4804
- "declarations": [
4805
- {
4806
- "kind": "class",
4807
- "description": "The `mdc-brandvisual` component is responsible for rendering logos dynamically & ensures they are\ndisplayed correctly within applications.\n\nFeatures:\n- Dynamically loads brandvisuals based on the `name` attribute.\n- Emits a `load` event when the brandvisual is successfully fetched.\n- Emits an `error` event when the brandvisual import fails.\n- Supports accessibility best practices.\n- Used for brand representation within the design system.",
4808
- "name": "Brandvisual",
4809
- "members": [
4810
- {
4811
- "kind": "field",
4812
- "name": "brandVisualData",
4813
- "type": {
4814
- "text": "Element | TemplateResult | undefined"
4815
- },
4816
- "privacy": "private"
4817
- },
4818
- {
4819
- "kind": "field",
4820
- "name": "name",
4821
- "type": {
4822
- "text": "BrandVisualNames | undefined"
4823
- },
4824
- "description": "Name of the brandVisual (= filename)",
4825
- "attribute": "name",
4826
- "reflects": true
4827
- },
4828
- {
4829
- "kind": "field",
4830
- "name": "altText",
4831
- "type": {
4832
- "text": "string | undefined"
4833
- },
4834
- "description": "Alt text for the brandvisual image for accessibility.\nThis will only be set if the brandvisual is an image (png).",
4835
- "attribute": "altText",
4836
- "reflects": true
4837
- },
4838
- {
4839
- "kind": "method",
4840
- "name": "getBrandVisualData",
4841
- "privacy": "private"
4842
- },
4843
- {
4844
- "kind": "method",
4845
- "name": "injectTemplateAttributes",
4846
- "privacy": "private",
4847
- "return": {
4848
- "type": {
4849
- "text": "Element | TemplateResult"
4850
- }
4851
- },
4852
- "parameters": [
4853
- {
4854
- "name": "litTemplate",
4855
- "type": {
4856
- "text": "TemplateResult"
4857
- }
4858
- },
4859
- {
4860
- "name": "tag",
4861
- "type": {
4862
- "text": "string"
4863
- }
4864
- },
4865
- {
4866
- "name": "props",
4867
- "type": {
4868
- "text": "any"
4869
- }
4870
- }
4871
- ]
4872
- },
4873
- {
4874
- "kind": "method",
4875
- "name": "injectHtmlAttributes",
4876
- "privacy": "private",
4877
- "return": {
4878
- "type": {
4879
- "text": "Element"
4880
- }
4881
- },
4882
- "parameters": [
4883
- {
4884
- "name": "html",
4885
- "type": {
4886
- "text": "Element"
4887
- }
4888
- },
4889
- {
4890
- "name": "props",
4891
- "type": {
4892
- "text": "imageProps"
4893
- }
4894
- }
4895
- ]
4896
- },
4897
- {
4898
- "kind": "method",
4899
- "name": "handleBrandVisualLoadedSuccess",
4900
- "privacy": "private",
4901
- "parameters": [
4902
- {
4903
- "name": "brandVisualHtml",
4904
- "type": {
4905
- "text": "TemplateResult"
4906
- },
4907
- "description": "The brandvisual html element which has been fetched from the brandvisual provider."
4908
- }
4909
- ],
4910
- "description": "Sets the brandVisualData state to the fetched brandvisual.\nDispatches a 'load' event on the component once the brandvisual has been successfully loaded."
4911
- },
4912
- {
4913
- "kind": "method",
4914
- "name": "handleBrandVisualLoadedFailure",
4915
- "privacy": "private",
4916
- "parameters": [
4917
- {
4918
- "name": "error",
4919
- "type": {
4920
- "text": "unknown"
4921
- }
4922
- }
4923
- ],
4924
- "description": "Dispatches an 'error' event on the component when the brandvisual import has failed.\nThis event bubbles and is cancelable.\nThe error detail is set to the error object."
4925
- }
4926
- ],
4927
- "events": [
4928
- {
4929
- "description": "(React: onLoad) This event is dispatched when the brandvisual has been successfully loaded.",
4930
- "name": "load",
4931
- "reactName": "onLoad"
4932
- },
4933
- {
4934
- "description": "(React: onError) This event is dispatched when the brandvisual fetching has failed.",
4935
- "name": "error",
4936
- "reactName": "onError"
4937
- }
4938
- ],
4939
- "attributes": [
4940
- {
4941
- "name": "name",
4942
- "type": {
4943
- "text": "BrandVisualNames | undefined"
4944
- },
4945
- "description": "Name of the brandVisual (= filename)",
4946
- "fieldName": "name"
4947
- },
4948
- {
4949
- "name": "altText",
4950
- "type": {
4951
- "text": "string | undefined"
4952
- },
4953
- "description": "Alt text for the brandvisual image for accessibility.\nThis will only be set if the brandvisual is an image (png).",
4954
- "fieldName": "altText"
4955
- }
4956
- ],
4957
- "superclass": {
4958
- "name": "Component",
4959
- "module": "/src/models"
4960
- },
4961
- "tagName": "mdc-brandvisual",
4962
- "jsDoc": "/**\n * The `mdc-brandvisual` component is responsible for rendering logos dynamically & ensures they are\n * displayed correctly within applications.\n *\n * Features:\n * - Dynamically loads brandvisuals based on the `name` attribute.\n * - Emits a `load` event when the brandvisual is successfully fetched.\n * - Emits an `error` event when the brandvisual import fails.\n * - Supports accessibility best practices.\n * - Used for brand representation within the design system.\n *\n * @tagname mdc-brandvisual\n *\n * @event load - (React: onLoad) This event is dispatched when the brandvisual has been successfully loaded.\n * @event error - (React: onError) This event is dispatched when the brandvisual fetching has failed.\n *\n */",
4963
- "customElement": true
4964
- }
4965
- ],
4966
- "exports": [
4967
- {
4968
- "kind": "js",
4969
- "name": "default",
4970
- "declaration": {
4971
- "name": "Brandvisual",
4972
- "module": "components/brandvisual/brandvisual.component.js"
4973
- }
4974
- }
4975
- ]
4976
- },
4977
4801
  {
4978
4802
  "kind": "javascript-module",
4979
4803
  "path": "components/bullet/bullet.component.js",
@@ -5998,6 +5822,182 @@
5998
5822
  }
5999
5823
  ]
6000
5824
  },
5825
+ {
5826
+ "kind": "javascript-module",
5827
+ "path": "components/brandvisual/brandvisual.component.js",
5828
+ "declarations": [
5829
+ {
5830
+ "kind": "class",
5831
+ "description": "The `mdc-brandvisual` component is responsible for rendering logos dynamically & ensures they are\ndisplayed correctly within applications.\n\nFeatures:\n- Dynamically loads brandvisuals based on the `name` attribute.\n- Emits a `load` event when the brandvisual is successfully fetched.\n- Emits an `error` event when the brandvisual import fails.\n- Supports accessibility best practices.\n- Used for brand representation within the design system.",
5832
+ "name": "Brandvisual",
5833
+ "members": [
5834
+ {
5835
+ "kind": "field",
5836
+ "name": "brandVisualData",
5837
+ "type": {
5838
+ "text": "Element | TemplateResult | undefined"
5839
+ },
5840
+ "privacy": "private"
5841
+ },
5842
+ {
5843
+ "kind": "field",
5844
+ "name": "name",
5845
+ "type": {
5846
+ "text": "BrandVisualNames | undefined"
5847
+ },
5848
+ "description": "Name of the brandVisual (= filename)",
5849
+ "attribute": "name",
5850
+ "reflects": true
5851
+ },
5852
+ {
5853
+ "kind": "field",
5854
+ "name": "altText",
5855
+ "type": {
5856
+ "text": "string | undefined"
5857
+ },
5858
+ "description": "Alt text for the brandvisual image for accessibility.\nThis will only be set if the brandvisual is an image (png).",
5859
+ "attribute": "altText",
5860
+ "reflects": true
5861
+ },
5862
+ {
5863
+ "kind": "method",
5864
+ "name": "getBrandVisualData",
5865
+ "privacy": "private"
5866
+ },
5867
+ {
5868
+ "kind": "method",
5869
+ "name": "injectTemplateAttributes",
5870
+ "privacy": "private",
5871
+ "return": {
5872
+ "type": {
5873
+ "text": "Element | TemplateResult"
5874
+ }
5875
+ },
5876
+ "parameters": [
5877
+ {
5878
+ "name": "litTemplate",
5879
+ "type": {
5880
+ "text": "TemplateResult"
5881
+ }
5882
+ },
5883
+ {
5884
+ "name": "tag",
5885
+ "type": {
5886
+ "text": "string"
5887
+ }
5888
+ },
5889
+ {
5890
+ "name": "props",
5891
+ "type": {
5892
+ "text": "any"
5893
+ }
5894
+ }
5895
+ ]
5896
+ },
5897
+ {
5898
+ "kind": "method",
5899
+ "name": "injectHtmlAttributes",
5900
+ "privacy": "private",
5901
+ "return": {
5902
+ "type": {
5903
+ "text": "Element"
5904
+ }
5905
+ },
5906
+ "parameters": [
5907
+ {
5908
+ "name": "html",
5909
+ "type": {
5910
+ "text": "Element"
5911
+ }
5912
+ },
5913
+ {
5914
+ "name": "props",
5915
+ "type": {
5916
+ "text": "imageProps"
5917
+ }
5918
+ }
5919
+ ]
5920
+ },
5921
+ {
5922
+ "kind": "method",
5923
+ "name": "handleBrandVisualLoadedSuccess",
5924
+ "privacy": "private",
5925
+ "parameters": [
5926
+ {
5927
+ "name": "brandVisualHtml",
5928
+ "type": {
5929
+ "text": "TemplateResult"
5930
+ },
5931
+ "description": "The brandvisual html element which has been fetched from the brandvisual provider."
5932
+ }
5933
+ ],
5934
+ "description": "Sets the brandVisualData state to the fetched brandvisual.\nDispatches a 'load' event on the component once the brandvisual has been successfully loaded."
5935
+ },
5936
+ {
5937
+ "kind": "method",
5938
+ "name": "handleBrandVisualLoadedFailure",
5939
+ "privacy": "private",
5940
+ "parameters": [
5941
+ {
5942
+ "name": "error",
5943
+ "type": {
5944
+ "text": "unknown"
5945
+ }
5946
+ }
5947
+ ],
5948
+ "description": "Dispatches an 'error' event on the component when the brandvisual import has failed.\nThis event bubbles and is cancelable.\nThe error detail is set to the error object."
5949
+ }
5950
+ ],
5951
+ "events": [
5952
+ {
5953
+ "description": "(React: onLoad) This event is dispatched when the brandvisual has been successfully loaded.",
5954
+ "name": "load",
5955
+ "reactName": "onLoad"
5956
+ },
5957
+ {
5958
+ "description": "(React: onError) This event is dispatched when the brandvisual fetching has failed.",
5959
+ "name": "error",
5960
+ "reactName": "onError"
5961
+ }
5962
+ ],
5963
+ "attributes": [
5964
+ {
5965
+ "name": "name",
5966
+ "type": {
5967
+ "text": "BrandVisualNames | undefined"
5968
+ },
5969
+ "description": "Name of the brandVisual (= filename)",
5970
+ "fieldName": "name"
5971
+ },
5972
+ {
5973
+ "name": "altText",
5974
+ "type": {
5975
+ "text": "string | undefined"
5976
+ },
5977
+ "description": "Alt text for the brandvisual image for accessibility.\nThis will only be set if the brandvisual is an image (png).",
5978
+ "fieldName": "altText"
5979
+ }
5980
+ ],
5981
+ "superclass": {
5982
+ "name": "Component",
5983
+ "module": "/src/models"
5984
+ },
5985
+ "tagName": "mdc-brandvisual",
5986
+ "jsDoc": "/**\n * The `mdc-brandvisual` component is responsible for rendering logos dynamically & ensures they are\n * displayed correctly within applications.\n *\n * Features:\n * - Dynamically loads brandvisuals based on the `name` attribute.\n * - Emits a `load` event when the brandvisual is successfully fetched.\n * - Emits an `error` event when the brandvisual import fails.\n * - Supports accessibility best practices.\n * - Used for brand representation within the design system.\n *\n * @tagname mdc-brandvisual\n *\n * @event load - (React: onLoad) This event is dispatched when the brandvisual has been successfully loaded.\n * @event error - (React: onError) This event is dispatched when the brandvisual fetching has failed.\n *\n */",
5987
+ "customElement": true
5988
+ }
5989
+ ],
5990
+ "exports": [
5991
+ {
5992
+ "kind": "js",
5993
+ "name": "default",
5994
+ "declaration": {
5995
+ "name": "Brandvisual",
5996
+ "module": "components/brandvisual/brandvisual.component.js"
5997
+ }
5998
+ }
5999
+ ]
6000
+ },
6001
6001
  {
6002
6002
  "kind": "javascript-module",
6003
6003
  "path": "components/buttonlink/buttonlink.component.js",
@@ -22136,7 +22136,7 @@
22136
22136
  },
22137
22137
  "privacy": "public",
22138
22138
  "description": "Whether to loop navigation when reaching the end of the list.\nIf 'true', pressing the down arrow on the last item will focus the first item,\nand pressing the up arrow on the first item will focus the last item.\nIf 'false', navigation will stop at the first or last item.",
22139
- "default": "''",
22139
+ "default": "'true'",
22140
22140
  "attribute": "loop",
22141
22141
  "reflects": true
22142
22142
  },
@@ -22147,15 +22147,49 @@
22147
22147
  "text": "number"
22148
22148
  },
22149
22149
  "privacy": "public",
22150
- "description": "The index of the item that should receive focus when the list is first rendered.\nIf the index is out of bounds, the first item (index 0) will receive focus.",
22150
+ "description": "The index of the item that should receive focus when the list is first rendered.\nIf the index is out of bounds, the focused element will be clamped to the nearest valid index.",
22151
22151
  "default": "0",
22152
22152
  "attribute": "initial-focus",
22153
22153
  "reflects": true
22154
22154
  },
22155
+ {
22156
+ "kind": "method",
22157
+ "name": "onElementStoreUpdate",
22158
+ "privacy": "protected",
22159
+ "parameters": [
22160
+ {
22161
+ "name": "item",
22162
+ "type": {
22163
+ "text": "ListItem"
22164
+ }
22165
+ },
22166
+ {
22167
+ "name": "changeType",
22168
+ "type": {
22169
+ "text": "ElementStoreChangeTypes"
22170
+ }
22171
+ },
22172
+ {
22173
+ "name": "index",
22174
+ "type": {
22175
+ "text": "number"
22176
+ }
22177
+ }
22178
+ ]
22179
+ },
22155
22180
  {
22156
22181
  "kind": "field",
22157
22182
  "name": "itemsStore",
22158
- "default": "new ElementStore<ListItem>(this, { isValidItem: this.isValidItem, })"
22183
+ "default": "new ElementStore<ListItem>(this, { isValidItem: this.isValidItem, onStoreUpdate: this.onElementStoreUpdate.bind(this), })"
22184
+ },
22185
+ {
22186
+ "kind": "method",
22187
+ "name": "setInitialFocus",
22188
+ "privacy": "protected",
22189
+ "inheritedFrom": {
22190
+ "name": "ListNavigationMixin",
22191
+ "module": "utils/mixins/ListNavigationMixin.js"
22192
+ }
22159
22193
  },
22160
22194
  {
22161
22195
  "kind": "method",
@@ -22192,6 +22226,11 @@
22192
22226
  "text": "number"
22193
22227
  },
22194
22228
  "description": "The index of the currently focused item."
22229
+ },
22230
+ {
22231
+ "name": "focusElement",
22232
+ "default": "true",
22233
+ "description": "Call focus() on the current item or not."
22195
22234
  }
22196
22235
  ],
22197
22236
  "description": "Reset all tabindex to -1 and set the tabindex of the current item to 0",
@@ -22285,7 +22324,7 @@
22285
22324
  "text": "'true' | 'false'"
22286
22325
  },
22287
22326
  "description": "Whether to loop navigation when reaching the end of the list.\nIf 'true', pressing the down arrow on the last item will focus the first item,\nand pressing the up arrow on the first item will focus the last item.\nIf 'false', navigation will stop at the first or last item.",
22288
- "default": "''",
22327
+ "default": "'true'",
22289
22328
  "fieldName": "loop"
22290
22329
  },
22291
22330
  {
@@ -22293,7 +22332,7 @@
22293
22332
  "type": {
22294
22333
  "text": "number"
22295
22334
  },
22296
- "description": "The index of the item that should receive focus when the list is first rendered.\nIf the index is out of bounds, the first item (index 0) will receive focus.",
22335
+ "description": "The index of the item that should receive focus when the list is first rendered.\nIf the index is out of bounds, the focused element will be clamped to the nearest valid index.",
22297
22336
  "default": "0",
22298
22337
  "fieldName": "initialFocus"
22299
22338
  }
@@ -22440,6 +22479,15 @@
22440
22479
  },
22441
22480
  "description": "Dispatch change event when an option is selected."
22442
22481
  },
22482
+ {
22483
+ "kind": "method",
22484
+ "name": "setInitialFocus",
22485
+ "privacy": "protected",
22486
+ "inheritedFrom": {
22487
+ "name": "ListNavigationMixin",
22488
+ "module": "utils/mixins/ListNavigationMixin.js"
22489
+ }
22490
+ },
22443
22491
  {
22444
22492
  "kind": "method",
22445
22493
  "name": "getCurrentIndex",
@@ -22475,6 +22523,11 @@
22475
22523
  "text": "number"
22476
22524
  },
22477
22525
  "description": "The index of the currently focused item."
22526
+ },
22527
+ {
22528
+ "name": "focusElement",
22529
+ "default": "true",
22530
+ "description": "Call focus() on the current item or not."
22478
22531
  }
22479
22532
  ],
22480
22533
  "description": "Reset all tabindex to -1 and set the tabindex of the current item to 0",
@@ -22941,6 +22994,17 @@
22941
22994
  "attribute": "soft-disabled",
22942
22995
  "reflects": true
22943
22996
  },
22997
+ {
22998
+ "kind": "field",
22999
+ "name": "dataIndex",
23000
+ "type": {
23001
+ "text": "number | undefined"
23002
+ },
23003
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
23004
+ "default": "undefined",
23005
+ "attribute": "data-index",
23006
+ "reflects": true
23007
+ },
22944
23008
  {
22945
23009
  "kind": "method",
22946
23010
  "name": "handleClick",
@@ -23231,6 +23295,15 @@
23231
23295
  "default": "undefined",
23232
23296
  "fieldName": "softDisabled"
23233
23297
  },
23298
+ {
23299
+ "name": "data-index",
23300
+ "type": {
23301
+ "text": "number | undefined"
23302
+ },
23303
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
23304
+ "default": "undefined",
23305
+ "fieldName": "dataIndex"
23306
+ },
23234
23307
  {
23235
23308
  "name": "disabled",
23236
23309
  "type": {
@@ -24082,6 +24155,21 @@
24082
24155
  "module": "components/listitem/listitem.component.js"
24083
24156
  }
24084
24157
  },
24158
+ {
24159
+ "kind": "field",
24160
+ "name": "dataIndex",
24161
+ "type": {
24162
+ "text": "number | undefined"
24163
+ },
24164
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
24165
+ "default": "undefined",
24166
+ "attribute": "data-index",
24167
+ "reflects": true,
24168
+ "inheritedFrom": {
24169
+ "name": "ListItem",
24170
+ "module": "components/listitem/listitem.component.js"
24171
+ }
24172
+ },
24085
24173
  {
24086
24174
  "kind": "method",
24087
24175
  "name": "handleClick",
@@ -24437,6 +24525,19 @@
24437
24525
  "name": "ListItem",
24438
24526
  "module": "src/components/listitem/listitem.component.ts"
24439
24527
  }
24528
+ },
24529
+ {
24530
+ "name": "data-index",
24531
+ "type": {
24532
+ "text": "number | undefined"
24533
+ },
24534
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
24535
+ "default": "undefined",
24536
+ "fieldName": "dataIndex",
24537
+ "inheritedFrom": {
24538
+ "name": "ListItem",
24539
+ "module": "src/components/listitem/listitem.component.ts"
24540
+ }
24440
24541
  }
24441
24542
  ],
24442
24543
  "superclass": {
@@ -25139,6 +25240,21 @@
25139
25240
  "module": "components/listitem/listitem.component.js"
25140
25241
  }
25141
25242
  },
25243
+ {
25244
+ "kind": "field",
25245
+ "name": "dataIndex",
25246
+ "type": {
25247
+ "text": "number | undefined"
25248
+ },
25249
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
25250
+ "default": "undefined",
25251
+ "attribute": "data-index",
25252
+ "reflects": true,
25253
+ "inheritedFrom": {
25254
+ "name": "ListItem",
25255
+ "module": "components/listitem/listitem.component.js"
25256
+ }
25257
+ },
25142
25258
  {
25143
25259
  "kind": "method",
25144
25260
  "name": "handleClick",
@@ -25549,6 +25665,19 @@
25549
25665
  "name": "ListItem",
25550
25666
  "module": "src/components/listitem/listitem.component.ts"
25551
25667
  }
25668
+ },
25669
+ {
25670
+ "name": "data-index",
25671
+ "type": {
25672
+ "text": "number | undefined"
25673
+ },
25674
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
25675
+ "default": "undefined",
25676
+ "fieldName": "dataIndex",
25677
+ "inheritedFrom": {
25678
+ "name": "ListItem",
25679
+ "module": "src/components/listitem/listitem.component.ts"
25680
+ }
25552
25681
  }
25553
25682
  ],
25554
25683
  "mixins": [
@@ -26170,6 +26299,21 @@
26170
26299
  "module": "components/listitem/listitem.component.js"
26171
26300
  }
26172
26301
  },
26302
+ {
26303
+ "kind": "field",
26304
+ "name": "dataIndex",
26305
+ "type": {
26306
+ "text": "number | undefined"
26307
+ },
26308
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
26309
+ "default": "undefined",
26310
+ "attribute": "data-index",
26311
+ "reflects": true,
26312
+ "inheritedFrom": {
26313
+ "name": "ListItem",
26314
+ "module": "components/listitem/listitem.component.js"
26315
+ }
26316
+ },
26173
26317
  {
26174
26318
  "kind": "method",
26175
26319
  "name": "handleClick",
@@ -26580,6 +26724,19 @@
26580
26724
  "name": "ListItem",
26581
26725
  "module": "src/components/listitem/listitem.component.ts"
26582
26726
  }
26727
+ },
26728
+ {
26729
+ "name": "data-index",
26730
+ "type": {
26731
+ "text": "number | undefined"
26732
+ },
26733
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
26734
+ "default": "undefined",
26735
+ "fieldName": "dataIndex",
26736
+ "inheritedFrom": {
26737
+ "name": "ListItem",
26738
+ "module": "src/components/listitem/listitem.component.ts"
26739
+ }
26583
26740
  }
26584
26741
  ],
26585
26742
  "mixins": [
@@ -29677,6 +29834,21 @@
29677
29834
  "module": "components/listitem/listitem.component.js"
29678
29835
  }
29679
29836
  },
29837
+ {
29838
+ "kind": "field",
29839
+ "name": "dataIndex",
29840
+ "type": {
29841
+ "text": "number | undefined"
29842
+ },
29843
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
29844
+ "default": "undefined",
29845
+ "attribute": "data-index",
29846
+ "reflects": true,
29847
+ "inheritedFrom": {
29848
+ "name": "ListItem",
29849
+ "module": "components/listitem/listitem.component.js"
29850
+ }
29851
+ },
29680
29852
  {
29681
29853
  "kind": "method",
29682
29854
  "name": "handleClick",
@@ -30133,6 +30305,19 @@
30133
30305
  "name": "ListItem",
30134
30306
  "module": "src/components/listitem/listitem.component.ts"
30135
30307
  }
30308
+ },
30309
+ {
30310
+ "name": "data-index",
30311
+ "type": {
30312
+ "text": "number | undefined"
30313
+ },
30314
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
30315
+ "default": "undefined",
30316
+ "fieldName": "dataIndex",
30317
+ "inheritedFrom": {
30318
+ "name": "ListItem",
30319
+ "module": "src/components/listitem/listitem.component.ts"
30320
+ }
30136
30321
  }
30137
30322
  ],
30138
30323
  "mixins": [
@@ -30802,6 +30987,21 @@
30802
30987
  "module": "components/listitem/listitem.component.js"
30803
30988
  }
30804
30989
  },
30990
+ {
30991
+ "kind": "field",
30992
+ "name": "dataIndex",
30993
+ "type": {
30994
+ "text": "number | undefined"
30995
+ },
30996
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
30997
+ "default": "undefined",
30998
+ "attribute": "data-index",
30999
+ "reflects": true,
31000
+ "inheritedFrom": {
31001
+ "name": "ListItem",
31002
+ "module": "components/listitem/listitem.component.js"
31003
+ }
31004
+ },
30805
31005
  {
30806
31006
  "kind": "method",
30807
31007
  "name": "handleClick",
@@ -31243,6 +31443,19 @@
31243
31443
  "name": "ListItem",
31244
31444
  "module": "src/components/listitem/listitem.component.ts"
31245
31445
  }
31446
+ },
31447
+ {
31448
+ "name": "data-index",
31449
+ "type": {
31450
+ "text": "number | undefined"
31451
+ },
31452
+ "description": "Data attribute to define the index of the list item in a list.\nThis also set the `aria-posinset` attribute for accessibility purposes.\n\nIt is required when the list item is used inside a virtualized list where the items are not sequentially rendered.\nIt should be a zero-based index.",
31453
+ "default": "undefined",
31454
+ "fieldName": "dataIndex",
31455
+ "inheritedFrom": {
31456
+ "name": "ListItem",
31457
+ "module": "src/components/listitem/listitem.component.ts"
31458
+ }
31246
31459
  }
31247
31460
  ],
31248
31461
  "mixins": [
@@ -41444,6 +41657,15 @@
41444
41657
  ],
41445
41658
  "description": "Handles the keydown event on the select element when the popover is closed.\nThe options are as follows:\n- ARROW_DOWN, ARROW_UP, SPACE: Opens the popover and prevents the default scrolling behavior.\n- ENTER: Opens the popover, prevents default scrolling, and submits the form if the popover is closed.\n- HOME: Opens the popover and sets focus and tabindex on the first option.\n- END: Opens the popover and sets focus and tabindex on the last option."
41446
41659
  },
41660
+ {
41661
+ "kind": "method",
41662
+ "name": "setInitialFocus",
41663
+ "privacy": "protected",
41664
+ "inheritedFrom": {
41665
+ "name": "ListNavigationMixin",
41666
+ "module": "utils/mixins/ListNavigationMixin.js"
41667
+ }
41668
+ },
41447
41669
  {
41448
41670
  "kind": "method",
41449
41671
  "name": "getCurrentIndex",
@@ -41479,6 +41701,11 @@
41479
41701
  "text": "number"
41480
41702
  },
41481
41703
  "description": "The index of the currently focused item."
41704
+ },
41705
+ {
41706
+ "name": "focusElement",
41707
+ "default": "true",
41708
+ "description": "Call focus() on the current item or not."
41482
41709
  }
41483
41710
  ],
41484
41711
  "description": "Reset all tabindex to -1 and set the tabindex of the current item to 0",
@@ -45703,90 +45930,6 @@
45703
45930
  }
45704
45931
  ]
45705
45932
  },
45706
- {
45707
- "kind": "javascript-module",
45708
- "path": "components/text/text.component.js",
45709
- "declarations": [
45710
- {
45711
- "kind": "class",
45712
- "description": "Text component for creating styled text elements.\nIt has to be mounted within the ThemeProvider to access color and font tokens.\n\nThe `type` attribute allows changing the text style.\nThe `tagname` attribute allows changing the tag name of the text element.\nThe default tag name is `p`.\n\nThe `tagname` attribute should be a valid HTML tag name.\nIf the `tagname` attribute is not a valid HTML tag name, the default tag name will be used.\n\nThe styling is applied based on the `type` attribute.",
45713
- "name": "Text",
45714
- "cssParts": [
45715
- {
45716
- "description": "The text element",
45717
- "name": "text"
45718
- }
45719
- ],
45720
- "slots": [
45721
- {
45722
- "description": "Default slot for text content",
45723
- "name": ""
45724
- }
45725
- ],
45726
- "members": [
45727
- {
45728
- "kind": "field",
45729
- "name": "type",
45730
- "type": {
45731
- "text": "TextType"
45732
- },
45733
- "privacy": "public",
45734
- "description": "Specifies the text style to be applied.\n\nAcceptable values include:\n\n- 'body-small-regular'\n- 'body-small-medium'\n- 'body-small-bold'\n- 'body-midsize-regular'\n- 'body-midsize-medium'\n- 'body-midsize-bold'\n- 'body-large-regular'\n- 'body-large-medium'\n- 'body-large-bold'\n- 'body-small-regular-underline'\n- 'body-small-medium-underline'\n- 'body-midsize-regular-underline'\n- 'body-midsize-medium-underline'\n- 'body-large-regular-underline'\n- 'body-large-medium-underline'\n- 'heading-small-regular'\n- 'heading-small-medium'\n- 'heading-small-bold'\n- 'heading-midsize-regular'\n- 'heading-midsize-medium'\n- 'heading-midsize-bold'\n- 'heading-large-regular'\n- 'heading-large-medium'\n- 'heading-large-bold'\n- 'heading-xlarge-regular'\n- 'heading-xlarge-medium'\n- 'heading-xlarge-bold'\n- 'headline-small-light'\n- 'headline-small-regular'",
45735
- "default": "body-midsize-medium",
45736
- "attribute": "type",
45737
- "reflects": true
45738
- },
45739
- {
45740
- "kind": "field",
45741
- "name": "tagname",
45742
- "type": {
45743
- "text": "TagName | undefined"
45744
- },
45745
- "privacy": "public",
45746
- "description": "Specifies the HTML tag name for the text element. The default tag name is `p`.\nThis attribute is optional. When set, it changes the tag name of the text element.\n\nAcceptable values include:\n\n- 'h1'\n- 'h2'\n- 'h3'\n- 'h4'\n- 'h5'\n- 'h6'\n- 'p'\n- 'small'\n- 'span'\n- 'div'\n\nFor instance, setting this attribute to `h2` will render the text element as an `h2` element.\nNote that the styling is determined by the `type` attribute.",
45747
- "attribute": "tagname",
45748
- "reflects": true
45749
- }
45750
- ],
45751
- "attributes": [
45752
- {
45753
- "name": "type",
45754
- "type": {
45755
- "text": "TextType"
45756
- },
45757
- "description": "Specifies the text style to be applied.\n\nAcceptable values include:\n\n- 'body-small-regular'\n- 'body-small-medium'\n- 'body-small-bold'\n- 'body-midsize-regular'\n- 'body-midsize-medium'\n- 'body-midsize-bold'\n- 'body-large-regular'\n- 'body-large-medium'\n- 'body-large-bold'\n- 'body-small-regular-underline'\n- 'body-small-medium-underline'\n- 'body-midsize-regular-underline'\n- 'body-midsize-medium-underline'\n- 'body-large-regular-underline'\n- 'body-large-medium-underline'\n- 'heading-small-regular'\n- 'heading-small-medium'\n- 'heading-small-bold'\n- 'heading-midsize-regular'\n- 'heading-midsize-medium'\n- 'heading-midsize-bold'\n- 'heading-large-regular'\n- 'heading-large-medium'\n- 'heading-large-bold'\n- 'heading-xlarge-regular'\n- 'heading-xlarge-medium'\n- 'heading-xlarge-bold'\n- 'headline-small-light'\n- 'headline-small-regular'",
45758
- "default": "body-midsize-medium",
45759
- "fieldName": "type"
45760
- },
45761
- {
45762
- "name": "tagname",
45763
- "type": {
45764
- "text": "TagName | undefined"
45765
- },
45766
- "description": "Specifies the HTML tag name for the text element. The default tag name is `p`.\nThis attribute is optional. When set, it changes the tag name of the text element.\n\nAcceptable values include:\n\n- 'h1'\n- 'h2'\n- 'h3'\n- 'h4'\n- 'h5'\n- 'h6'\n- 'p'\n- 'small'\n- 'span'\n- 'div'\n\nFor instance, setting this attribute to `h2` will render the text element as an `h2` element.\nNote that the styling is determined by the `type` attribute.",
45767
- "fieldName": "tagname"
45768
- }
45769
- ],
45770
- "superclass": {
45771
- "name": "Component",
45772
- "module": "/src/models"
45773
- },
45774
- "tagName": "mdc-text",
45775
- "jsDoc": "/**\n * Text component for creating styled text elements.\n * It has to be mounted within the ThemeProvider to access color and font tokens.\n *\n * The `type` attribute allows changing the text style.\n * The `tagname` attribute allows changing the tag name of the text element.\n * The default tag name is `p`.\n *\n * The `tagname` attribute should be a valid HTML tag name.\n * If the `tagname` attribute is not a valid HTML tag name, the default tag name will be used.\n *\n * The styling is applied based on the `type` attribute.\n *\n * @tagname mdc-text\n * @slot - Default slot for text content\n *\n * @csspart text - The text element\n */",
45776
- "customElement": true
45777
- }
45778
- ],
45779
- "exports": [
45780
- {
45781
- "kind": "js",
45782
- "name": "default",
45783
- "declaration": {
45784
- "name": "Text",
45785
- "module": "components/text/text.component.js"
45786
- }
45787
- }
45788
- ]
45789
- },
45790
45933
  {
45791
45934
  "kind": "javascript-module",
45792
45935
  "path": "components/textarea/textarea.component.js",
@@ -47418,6 +47561,90 @@
47418
47561
  }
47419
47562
  ]
47420
47563
  },
47564
+ {
47565
+ "kind": "javascript-module",
47566
+ "path": "components/text/text.component.js",
47567
+ "declarations": [
47568
+ {
47569
+ "kind": "class",
47570
+ "description": "Text component for creating styled text elements.\nIt has to be mounted within the ThemeProvider to access color and font tokens.\n\nThe `type` attribute allows changing the text style.\nThe `tagname` attribute allows changing the tag name of the text element.\nThe default tag name is `p`.\n\nThe `tagname` attribute should be a valid HTML tag name.\nIf the `tagname` attribute is not a valid HTML tag name, the default tag name will be used.\n\nThe styling is applied based on the `type` attribute.",
47571
+ "name": "Text",
47572
+ "cssParts": [
47573
+ {
47574
+ "description": "The text element",
47575
+ "name": "text"
47576
+ }
47577
+ ],
47578
+ "slots": [
47579
+ {
47580
+ "description": "Default slot for text content",
47581
+ "name": ""
47582
+ }
47583
+ ],
47584
+ "members": [
47585
+ {
47586
+ "kind": "field",
47587
+ "name": "type",
47588
+ "type": {
47589
+ "text": "TextType"
47590
+ },
47591
+ "privacy": "public",
47592
+ "description": "Specifies the text style to be applied.\n\nAcceptable values include:\n\n- 'body-small-regular'\n- 'body-small-medium'\n- 'body-small-bold'\n- 'body-midsize-regular'\n- 'body-midsize-medium'\n- 'body-midsize-bold'\n- 'body-large-regular'\n- 'body-large-medium'\n- 'body-large-bold'\n- 'body-small-regular-underline'\n- 'body-small-medium-underline'\n- 'body-midsize-regular-underline'\n- 'body-midsize-medium-underline'\n- 'body-large-regular-underline'\n- 'body-large-medium-underline'\n- 'heading-small-regular'\n- 'heading-small-medium'\n- 'heading-small-bold'\n- 'heading-midsize-regular'\n- 'heading-midsize-medium'\n- 'heading-midsize-bold'\n- 'heading-large-regular'\n- 'heading-large-medium'\n- 'heading-large-bold'\n- 'heading-xlarge-regular'\n- 'heading-xlarge-medium'\n- 'heading-xlarge-bold'\n- 'headline-small-light'\n- 'headline-small-regular'",
47593
+ "default": "body-midsize-medium",
47594
+ "attribute": "type",
47595
+ "reflects": true
47596
+ },
47597
+ {
47598
+ "kind": "field",
47599
+ "name": "tagname",
47600
+ "type": {
47601
+ "text": "TagName | undefined"
47602
+ },
47603
+ "privacy": "public",
47604
+ "description": "Specifies the HTML tag name for the text element. The default tag name is `p`.\nThis attribute is optional. When set, it changes the tag name of the text element.\n\nAcceptable values include:\n\n- 'h1'\n- 'h2'\n- 'h3'\n- 'h4'\n- 'h5'\n- 'h6'\n- 'p'\n- 'small'\n- 'span'\n- 'div'\n\nFor instance, setting this attribute to `h2` will render the text element as an `h2` element.\nNote that the styling is determined by the `type` attribute.",
47605
+ "attribute": "tagname",
47606
+ "reflects": true
47607
+ }
47608
+ ],
47609
+ "attributes": [
47610
+ {
47611
+ "name": "type",
47612
+ "type": {
47613
+ "text": "TextType"
47614
+ },
47615
+ "description": "Specifies the text style to be applied.\n\nAcceptable values include:\n\n- 'body-small-regular'\n- 'body-small-medium'\n- 'body-small-bold'\n- 'body-midsize-regular'\n- 'body-midsize-medium'\n- 'body-midsize-bold'\n- 'body-large-regular'\n- 'body-large-medium'\n- 'body-large-bold'\n- 'body-small-regular-underline'\n- 'body-small-medium-underline'\n- 'body-midsize-regular-underline'\n- 'body-midsize-medium-underline'\n- 'body-large-regular-underline'\n- 'body-large-medium-underline'\n- 'heading-small-regular'\n- 'heading-small-medium'\n- 'heading-small-bold'\n- 'heading-midsize-regular'\n- 'heading-midsize-medium'\n- 'heading-midsize-bold'\n- 'heading-large-regular'\n- 'heading-large-medium'\n- 'heading-large-bold'\n- 'heading-xlarge-regular'\n- 'heading-xlarge-medium'\n- 'heading-xlarge-bold'\n- 'headline-small-light'\n- 'headline-small-regular'",
47616
+ "default": "body-midsize-medium",
47617
+ "fieldName": "type"
47618
+ },
47619
+ {
47620
+ "name": "tagname",
47621
+ "type": {
47622
+ "text": "TagName | undefined"
47623
+ },
47624
+ "description": "Specifies the HTML tag name for the text element. The default tag name is `p`.\nThis attribute is optional. When set, it changes the tag name of the text element.\n\nAcceptable values include:\n\n- 'h1'\n- 'h2'\n- 'h3'\n- 'h4'\n- 'h5'\n- 'h6'\n- 'p'\n- 'small'\n- 'span'\n- 'div'\n\nFor instance, setting this attribute to `h2` will render the text element as an `h2` element.\nNote that the styling is determined by the `type` attribute.",
47625
+ "fieldName": "tagname"
47626
+ }
47627
+ ],
47628
+ "superclass": {
47629
+ "name": "Component",
47630
+ "module": "/src/models"
47631
+ },
47632
+ "tagName": "mdc-text",
47633
+ "jsDoc": "/**\n * Text component for creating styled text elements.\n * It has to be mounted within the ThemeProvider to access color and font tokens.\n *\n * The `type` attribute allows changing the text style.\n * The `tagname` attribute allows changing the tag name of the text element.\n * The default tag name is `p`.\n *\n * The `tagname` attribute should be a valid HTML tag name.\n * If the `tagname` attribute is not a valid HTML tag name, the default tag name will be used.\n *\n * The styling is applied based on the `type` attribute.\n *\n * @tagname mdc-text\n * @slot - Default slot for text content\n *\n * @csspart text - The text element\n */",
47634
+ "customElement": true
47635
+ }
47636
+ ],
47637
+ "exports": [
47638
+ {
47639
+ "kind": "js",
47640
+ "name": "default",
47641
+ "declaration": {
47642
+ "name": "Text",
47643
+ "module": "components/text/text.component.js"
47644
+ }
47645
+ }
47646
+ ]
47647
+ },
47421
47648
  {
47422
47649
  "kind": "javascript-module",
47423
47650
  "path": "components/toggle/toggle.component.js",
@@ -52875,12 +53102,16 @@
52875
53102
  "declarations": [
52876
53103
  {
52877
53104
  "kind": "class",
52878
- "description": "`mdc-virtualizedlist` component for creating custom virtualized lists.\nIMPORTANT: This component does not create it's own list/list items.\nUse the setlistdata callback prop to update client state in order to\nPass list/listitems as a child of this component, which this will virtuailze\nThis implementation handles dynamic lists as well as fixed sized lists.\nPlease refer to [Tanstack Virtual Docs](https://tanstack.com/virtual/latest) for more in depth documentation.",
53105
+ "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.",
52879
53106
  "name": "VirtualizedList",
52880
53107
  "cssParts": [
52881
53108
  {
52882
53109
  "description": "The container of the virtualized list.",
52883
- "name": "container"
53110
+ "name": "container",
53111
+ "inheritedFrom": {
53112
+ "name": "List",
53113
+ "module": "src/components/list/list.component.ts"
53114
+ }
52884
53115
  },
52885
53116
  {
52886
53117
  "description": "The scrollable area of the virtualized list.",
@@ -52889,8 +53120,20 @@
52889
53120
  ],
52890
53121
  "slots": [
52891
53122
  {
52892
- "description": "Client side List with nested list items.",
52893
- "name": ""
53123
+ "description": "This is a default/unnamed slot, where listitems can be placed.",
53124
+ "name": "default",
53125
+ "inheritedFrom": {
53126
+ "name": "List",
53127
+ "module": "src/components/list/list.component.ts"
53128
+ }
53129
+ },
53130
+ {
53131
+ "description": "This slot is used to pass a header for the list, which can be a `mdc-listheader` component.",
53132
+ "name": "list-header",
53133
+ "inheritedFrom": {
53134
+ "name": "List",
53135
+ "module": "src/components/list/list.component.ts"
53136
+ }
52894
53137
  }
52895
53138
  ],
52896
53139
  "members": [
@@ -52900,49 +53143,159 @@
52900
53143
  "type": {
52901
53144
  "text": "VirtualizerProps"
52902
53145
  },
52903
- "description": "Object that sets and updates the virtualizer with any relevant props.\nThere are two required object props in order to get virtualization to work properly.\ncount - The length of your list that you are virtualizing.\nAs your list grows/shrinks, this component must be updated with the appropriate value\n(Same with any other updated prop).\nestimateSize - A function that returns the estimated size of your items.\nIf your list is fixed, this will just be the size of your items.\nIf your list is dynamic, try to return approximate the size of each item.\n\nA full list of possible props can be in\n[Tanstack Virtualizer API Docs](https://tanstack.com/virtual/latest/docs/api/virtualizer)",
52904
- "attribute": "virtualizerprops"
53146
+ "privacy": "public",
53147
+ "description": "Object that sets and updates the virtualizer with any relevant props.\nThere are three required object props in order to get virtualization to work properly.\n\n**count** - The length of your list that you are virtualizing.\nAs your list grows/shrinks, this component must be updated with the appropriate value\n(Same with any other updated prop).\n\n**estimateSize** - A function that returns the estimated size of your items.\nIf your list is fixed, this will just be the size of your items.\nIf your list is dynamic, try to return approximate the size of each item.\n\n**getItemKey** - A function that returns a unique key for each item in your list based on its index.\n\nA full list of possible props can be in\n[Tanstack Virtualizer API Docs](https://tanstack.com/virtual/latest/docs/api/virtualizer)",
53148
+ "attribute": "virtualizerProps"
52905
53149
  },
52906
53150
  {
52907
53151
  "kind": "field",
52908
- "name": "setlistdata",
53152
+ "name": "loop",
52909
53153
  "type": {
52910
- "text": "(({ virtualItems, measureElement, listStyle }: SetListDataProps) => void) | null"
53154
+ "text": "'true' | 'false'"
52911
53155
  },
52912
- "description": "Callback that gets envoked when updates to the virtualizer interally occur.\nThis must be implemented in such a way that this function will trigger update to parent.\n\nvirtualItems - Array that will be what the client displays on screen. Use this to render\na List of your choosing with these items nested inside as your ListItems.\nmeasureElement - Ref to pass to each ListItem rendered client side.\nEach ListItem should also be be passed key and a data-index (which can be found on the virtualItem).\nlistStyle - This should be passed as the style attribute to your List.",
52913
- "default": "null",
52914
- "attribute": "setlistdata"
53156
+ "privacy": "public",
53157
+ "description": "Whether to loop navigation when reaching the end of the list.\nIf 'true', pressing the down arrow on the last item will focus the first item,\nand pressing the up arrow on the first item will focus the last item.\nIf 'false', navigation will stop at the first or last item.",
53158
+ "default": "'false'",
53159
+ "attribute": "loop",
53160
+ "reflects": true,
53161
+ "inheritedFrom": {
53162
+ "name": "List",
53163
+ "module": "components/list/list.component.js"
53164
+ }
52915
53165
  },
52916
53166
  {
52917
53167
  "kind": "field",
52918
- "name": "scrollElementRef",
53168
+ "name": "scrollAnchoring",
52919
53169
  "type": {
52920
- "text": "Ref<HTMLDivElement>"
53170
+ "text": "boolean"
53171
+ },
53172
+ "privacy": "public",
53173
+ "description": "Enable automatic scroll anchoring when the list size changes.\nBy default, list does not scroll to the very end it keeps the scroll position otherwise\nit try hold the scroll position on the last selected when list updates.\n\nIt is handy when list size or list item sizes change dynamically (e.g., incoming messages in a chat app).",
53174
+ "default": "false",
53175
+ "attribute": "scroll-anchoring",
53176
+ "reflects": true
53177
+ },
53178
+ {
53179
+ "kind": "field",
53180
+ "name": "observeSizeChanges",
53181
+ "type": {
53182
+ "text": "boolean"
53183
+ },
53184
+ "privacy": "public",
53185
+ "default": "false",
53186
+ "description": "When true, the list will observe size changes of its items and re-measure them as needed.\nThis is useful if your list items can change size dynamically (e.g., due to content changes or window resizing).",
53187
+ "attribute": "observe-size-changes",
53188
+ "reflects": true
53189
+ },
53190
+ {
53191
+ "kind": "field",
53192
+ "name": "revertList",
53193
+ "type": {
53194
+ "text": "boolean"
52921
53195
  },
52922
- "privacy": "public"
53196
+ "privacy": "public",
53197
+ "default": "false",
53198
+ "description": "When true, the list items will be aligned to the bottom of the list, and it anchors scroll to the bottom\nuntil the first user scroll interaction.\n\nNote: It does not affect on the rendering order, the first item is still at the top of the list.",
53199
+ "attribute": "revert-list",
53200
+ "reflects": true
53201
+ },
53202
+ {
53203
+ "kind": "field",
53204
+ "name": "atBottomThreshold",
53205
+ "type": {
53206
+ "text": "number"
53207
+ },
53208
+ "privacy": "public",
53209
+ "description": "The maximum gap (in pixels) between the very bottom of the list end the current scroll positioning\nIt is used to calculate scroll anchoring.",
53210
+ "attribute": "at-bottom-threshold",
53211
+ "reflects": true
52923
53212
  },
52924
53213
  {
52925
53214
  "kind": "field",
52926
53215
  "name": "virtualizer",
52927
53216
  "type": {
52928
- "text": "Virtualizer<Element, Element> | null"
53217
+ "text": "Virtualizer | null"
52929
53218
  },
52930
53219
  "privacy": "public",
52931
- "default": "null"
53220
+ "default": "null",
53221
+ "description": "The virtualizer instance created by the VirtualizerController."
52932
53222
  },
52933
53223
  {
52934
53224
  "kind": "field",
52935
53225
  "name": "virtualItems",
52936
53226
  "type": {
52937
- "text": "Array<VirtualItem>"
53227
+ "text": "VirtualItem[]"
52938
53228
  },
52939
- "privacy": "public",
52940
- "default": "[]"
53229
+ "description": "The current virtual items being rendered.",
53230
+ "readonly": true
53231
+ },
53232
+ {
53233
+ "kind": "method",
53234
+ "name": "setInitialFocus",
53235
+ "privacy": "protected",
53236
+ "inheritedFrom": {
53237
+ "name": "List",
53238
+ "module": "components/list/list.component.js"
53239
+ },
53240
+ "return": {
53241
+ "type": {
53242
+ "text": "void"
53243
+ }
53244
+ },
53245
+ "description": "Sets the initial focus of the list based on the `initial-focus` prop and scrolls the item into view."
53246
+ },
53247
+ {
53248
+ "kind": "method",
53249
+ "name": "emitChangeEvent",
53250
+ "privacy": "private"
53251
+ },
53252
+ {
53253
+ "kind": "method",
53254
+ "name": "onElementStoreUpdate",
53255
+ "privacy": "protected",
53256
+ "parameters": [
53257
+ {
53258
+ "name": "item",
53259
+ "type": {
53260
+ "text": "HTMLElement"
53261
+ }
53262
+ },
53263
+ {
53264
+ "name": "changeType",
53265
+ "type": {
53266
+ "text": "ElementStoreChangeTypes"
53267
+ }
53268
+ }
53269
+ ],
53270
+ "return": {
53271
+ "type": {
53272
+ "text": "void"
53273
+ }
53274
+ },
53275
+ "inheritedFrom": {
53276
+ "name": "List",
53277
+ "module": "components/list/list.component.js"
53278
+ }
53279
+ },
53280
+ {
53281
+ "kind": "field",
53282
+ "name": "handleElementFirstUpdateCompleted",
53283
+ "privacy": "protected"
52941
53284
  },
52942
53285
  {
52943
53286
  "kind": "method",
52944
- "name": "handleScroll",
53287
+ "name": "checkAtBottom",
52945
53288
  "privacy": "private",
53289
+ "return": {
53290
+ "type": {
53291
+ "text": "void"
53292
+ }
53293
+ }
53294
+ },
53295
+ {
53296
+ "kind": "method",
53297
+ "name": "handleNavigationKeyDown",
53298
+ "privacy": "protected",
52946
53299
  "return": {
52947
53300
  "type": {
52948
53301
  "text": "void"
@@ -52952,34 +53305,236 @@
52952
53305
  {
52953
53306
  "name": "event",
52954
53307
  "type": {
52955
- "text": "Event"
53308
+ "text": "KeyboardEvent"
52956
53309
  }
52957
53310
  }
53311
+ ]
53312
+ },
53313
+ {
53314
+ "kind": "method",
53315
+ "name": "resetTabIndexes",
53316
+ "privacy": "protected",
53317
+ "parameters": [
53318
+ {
53319
+ "name": "index",
53320
+ "type": {
53321
+ "text": "number"
53322
+ }
53323
+ },
53324
+ {
53325
+ "name": "focusElement",
53326
+ "default": "true"
53327
+ }
52958
53328
  ],
52959
- "description": "Refires the scroll event from the internal scroll container to the host element"
53329
+ "description": "Reset all tabindex to -1 and set the tabindex of the current item to 0",
53330
+ "inheritedFrom": {
53331
+ "name": "List",
53332
+ "module": "components/list/list.component.js"
53333
+ }
53334
+ },
53335
+ {
53336
+ "kind": "method",
53337
+ "name": "resetTabIndexAndSetFocus",
53338
+ "privacy": "protected",
53339
+ "parameters": [
53340
+ {
53341
+ "name": "newIndex",
53342
+ "type": {
53343
+ "text": "number"
53344
+ }
53345
+ },
53346
+ {
53347
+ "name": "oldIndex",
53348
+ "optional": true,
53349
+ "type": {
53350
+ "text": "number"
53351
+ }
53352
+ },
53353
+ {
53354
+ "name": "focusNewItem",
53355
+ "optional": true,
53356
+ "type": {
53357
+ "text": "boolean"
53358
+ }
53359
+ }
53360
+ ],
53361
+ "description": "Resets the tabindex of the currently focused item and sets focus to a new item.",
53362
+ "return": {
53363
+ "type": {
53364
+ "text": "void"
53365
+ }
53366
+ },
53367
+ "inheritedFrom": {
53368
+ "name": "List",
53369
+ "module": "components/list/list.component.js"
53370
+ }
53371
+ },
53372
+ {
53373
+ "kind": "method",
53374
+ "name": "clearScrollToBottomTimer",
53375
+ "privacy": "private",
53376
+ "return": {
53377
+ "type": {
53378
+ "text": "void"
53379
+ }
53380
+ }
53381
+ },
53382
+ {
53383
+ "kind": "method",
53384
+ "name": "scrollToIndex",
53385
+ "privacy": "public",
53386
+ "return": {
53387
+ "type": {
53388
+ "text": "void"
53389
+ }
53390
+ },
53391
+ "parameters": [
53392
+ {
53393
+ "name": "index",
53394
+ "type": {
53395
+ "text": "number"
53396
+ }
53397
+ },
53398
+ {
53399
+ "name": "options",
53400
+ "optional": true,
53401
+ "type": {
53402
+ "text": "ScrollToOptions"
53403
+ }
53404
+ }
53405
+ ]
53406
+ },
53407
+ {
53408
+ "kind": "method",
53409
+ "name": "syncUI",
53410
+ "privacy": "private"
53411
+ },
53412
+ {
53413
+ "kind": "method",
53414
+ "name": "handleWheelEvent",
53415
+ "privacy": "private",
53416
+ "parameters": [
53417
+ {
53418
+ "name": "e",
53419
+ "type": {
53420
+ "text": "WheelEvent"
53421
+ }
53422
+ }
53423
+ ]
52960
53424
  },
52961
53425
  {
52962
53426
  "kind": "field",
52963
- "name": "virtualizerController",
53427
+ "name": "dataAriaLabel",
52964
53428
  "type": {
52965
- "text": "null"
53429
+ "text": "string | null"
52966
53430
  },
52967
- "default": "null"
53431
+ "default": "null",
53432
+ "description": "Defines a string value that labels the current element.\nThe Aria-Label attribute to be set for accessibility.",
53433
+ "attribute": "data-aria-label",
53434
+ "reflects": true,
53435
+ "inheritedFrom": {
53436
+ "name": "DataAriaLabelMixin",
53437
+ "module": "utils/mixins/DataAriaLabelMixin.js"
53438
+ }
53439
+ },
53440
+ {
53441
+ "kind": "method",
53442
+ "name": "getCurrentIndex",
53443
+ "privacy": "private",
53444
+ "return": {
53445
+ "type": {
53446
+ "text": ""
53447
+ }
53448
+ },
53449
+ "parameters": [
53450
+ {
53451
+ "name": "target",
53452
+ "type": {
53453
+ "text": "HTMLElement | null"
53454
+ },
53455
+ "description": "The target element that triggered the event."
53456
+ }
53457
+ ],
53458
+ "description": "Retrieves the current index of the item that triggered the event.",
53459
+ "inheritedFrom": {
53460
+ "name": "List",
53461
+ "module": "components/list/list.component.js"
53462
+ }
53463
+ },
53464
+ {
53465
+ "kind": "method",
53466
+ "name": "resolveDirectionKey",
53467
+ "privacy": "private",
53468
+ "parameters": [
53469
+ {
53470
+ "name": "key",
53471
+ "type": {
53472
+ "text": "string"
53473
+ },
53474
+ "description": "The key pressed by the user."
53475
+ },
53476
+ {
53477
+ "name": "isRtl",
53478
+ "type": {
53479
+ "text": "boolean"
53480
+ },
53481
+ "description": "A boolean indicating if the layout is right-to-left (RTL)."
53482
+ }
53483
+ ],
53484
+ "description": "Resolves the key pressed by the user based on the direction of the layout.\nThis method is used to handle keyboard navigation in a right-to-left (RTL) layout.\nIt checks if the layout is RTL and adjusts the arrow keys accordingly.\nFor example, in RTL, the left arrow key behaves like the right arrow key and vice versa.",
53485
+ "return": {
53486
+ "type": {
53487
+ "text": ""
53488
+ }
53489
+ },
53490
+ "inheritedFrom": {
53491
+ "name": "List",
53492
+ "module": "components/list/list.component.js"
53493
+ }
53494
+ },
53495
+ {
53496
+ "kind": "method",
53497
+ "name": "shouldLoop",
53498
+ "privacy": "private",
53499
+ "inheritedFrom": {
53500
+ "name": "List",
53501
+ "module": "components/list/list.component.js"
53502
+ }
52968
53503
  },
52969
53504
  {
52970
53505
  "kind": "field",
52971
- "name": "onscroll",
53506
+ "name": "initialFocus",
52972
53507
  "type": {
52973
- "text": "null"
53508
+ "text": "number"
52974
53509
  },
52975
- "default": "null"
53510
+ "privacy": "public",
53511
+ "description": "The index of the item that should receive focus when the list is first rendered.\nIf the index is out of bounds, the focused element will be clamped to the nearest valid index.",
53512
+ "default": "0",
53513
+ "attribute": "initial-focus",
53514
+ "reflects": true,
53515
+ "inheritedFrom": {
53516
+ "name": "List",
53517
+ "module": "components/list/list.component.js"
53518
+ }
53519
+ },
53520
+ {
53521
+ "kind": "field",
53522
+ "name": "itemsStore",
53523
+ "default": "new ElementStore<ListItem>(this, { isValidItem: this.isValidItem, onStoreUpdate: this.onElementStoreUpdate.bind(this), })",
53524
+ "inheritedFrom": {
53525
+ "name": "List",
53526
+ "module": "components/list/list.component.js"
53527
+ }
52976
53528
  }
52977
53529
  ],
52978
53530
  "events": [
52979
53531
  {
53532
+ "name": "virtualitemschange",
52980
53533
  "type": {
52981
- "text": "EventConstructor"
52982
- }
53534
+ "text": "CustomEvent"
53535
+ },
53536
+ "description": "(React: onVirtualItemsChange) Event that gets called when the virtual items change.",
53537
+ "reactName": "onVirtualItemsChange"
52983
53538
  },
52984
53539
  {
52985
53540
  "description": "(React: onScroll) Event that gets called when user scrolls inside of list.",
@@ -52989,29 +53544,100 @@
52989
53544
  ],
52990
53545
  "attributes": [
52991
53546
  {
52992
- "name": "virtualizerprops",
53547
+ "name": "virtualizerProps",
52993
53548
  "type": {
52994
53549
  "text": "VirtualizerProps"
52995
53550
  },
52996
- "description": "Object that sets and updates the virtualizer with any relevant props.\nThere are two required object props in order to get virtualization to work properly.\ncount - The length of your list that you are virtualizing.\nAs your list grows/shrinks, this component must be updated with the appropriate value\n(Same with any other updated prop).\nestimateSize - A function that returns the estimated size of your items.\nIf your list is fixed, this will just be the size of your items.\nIf your list is dynamic, try to return approximate the size of each item.\n\nA full list of possible props can be in\n[Tanstack Virtualizer API Docs](https://tanstack.com/virtual/latest/docs/api/virtualizer)",
53551
+ "description": "Object that sets and updates the virtualizer with any relevant props.\nThere are three required object props in order to get virtualization to work properly.\n\n**count** - The length of your list that you are virtualizing.\nAs your list grows/shrinks, this component must be updated with the appropriate value\n(Same with any other updated prop).\n\n**estimateSize** - A function that returns the estimated size of your items.\nIf your list is fixed, this will just be the size of your items.\nIf your list is dynamic, try to return approximate the size of each item.\n\n**getItemKey** - A function that returns a unique key for each item in your list based on its index.\n\nA full list of possible props can be in\n[Tanstack Virtualizer API Docs](https://tanstack.com/virtual/latest/docs/api/virtualizer)",
52997
53552
  "fieldName": "virtualizerProps"
52998
53553
  },
52999
53554
  {
53000
- "name": "setlistdata",
53555
+ "name": "loop",
53001
53556
  "type": {
53002
- "text": "(({ virtualItems, measureElement, listStyle }: SetListDataProps) => void) | null"
53557
+ "text": "'true' | 'false'"
53558
+ },
53559
+ "description": "Whether to loop navigation when reaching the end of the list.\nIf 'true', pressing the down arrow on the last item will focus the first item,\nand pressing the up arrow on the first item will focus the last item.\nIf 'false', navigation will stop at the first or last item.",
53560
+ "default": "'false'",
53561
+ "fieldName": "loop",
53562
+ "inheritedFrom": {
53563
+ "name": "List",
53564
+ "module": "src/components/list/list.component.ts"
53565
+ }
53566
+ },
53567
+ {
53568
+ "name": "scroll-anchoring",
53569
+ "type": {
53570
+ "text": "boolean"
53571
+ },
53572
+ "description": "Enable automatic scroll anchoring when the list size changes.\nBy default, list does not scroll to the very end it keeps the scroll position otherwise\nit try hold the scroll position on the last selected when list updates.\n\nIt is handy when list size or list item sizes change dynamically (e.g., incoming messages in a chat app).",
53573
+ "default": "false",
53574
+ "fieldName": "scrollAnchoring"
53575
+ },
53576
+ {
53577
+ "name": "observe-size-changes",
53578
+ "type": {
53579
+ "text": "boolean"
53580
+ },
53581
+ "default": "false",
53582
+ "description": "When true, the list will observe size changes of its items and re-measure them as needed.\nThis is useful if your list items can change size dynamically (e.g., due to content changes or window resizing).",
53583
+ "fieldName": "observeSizeChanges"
53584
+ },
53585
+ {
53586
+ "name": "revert-list",
53587
+ "type": {
53588
+ "text": "boolean"
53589
+ },
53590
+ "default": "false",
53591
+ "description": "When true, the list items will be aligned to the bottom of the list, and it anchors scroll to the bottom\nuntil the first user scroll interaction.\n\nNote: It does not affect on the rendering order, the first item is still at the top of the list.",
53592
+ "fieldName": "revertList"
53593
+ },
53594
+ {
53595
+ "name": "at-bottom-threshold",
53596
+ "type": {
53597
+ "text": "number"
53598
+ },
53599
+ "description": "The maximum gap (in pixels) between the very bottom of the list end the current scroll positioning\nIt is used to calculate scroll anchoring.",
53600
+ "fieldName": "atBottomThreshold"
53601
+ },
53602
+ {
53603
+ "name": "data-aria-label",
53604
+ "type": {
53605
+ "text": "string | null"
53003
53606
  },
53004
- "description": "Callback that gets envoked when updates to the virtualizer interally occur.\nThis must be implemented in such a way that this function will trigger update to parent.\n\nvirtualItems - Array that will be what the client displays on screen. Use this to render\na List of your choosing with these items nested inside as your ListItems.\nmeasureElement - Ref to pass to each ListItem rendered client side.\nEach ListItem should also be be passed key and a data-index (which can be found on the virtualItem).\nlistStyle - This should be passed as the style attribute to your List.",
53005
53607
  "default": "null",
53006
- "fieldName": "setlistdata"
53608
+ "description": "Defines a string value that labels the current element.\nThe Aria-Label attribute to be set for accessibility.",
53609
+ "fieldName": "dataAriaLabel",
53610
+ "inheritedFrom": {
53611
+ "name": "DataAriaLabelMixin",
53612
+ "module": "src/utils/mixins/DataAriaLabelMixin.ts"
53613
+ }
53614
+ },
53615
+ {
53616
+ "name": "initial-focus",
53617
+ "type": {
53618
+ "text": "number"
53619
+ },
53620
+ "description": "The index of the item that should receive focus when the list is first rendered.\nIf the index is out of bounds, the focused element will be clamped to the nearest valid index.",
53621
+ "default": "0",
53622
+ "fieldName": "initialFocus",
53623
+ "inheritedFrom": {
53624
+ "name": "List",
53625
+ "module": "src/components/list/list.component.ts"
53626
+ }
53627
+ }
53628
+ ],
53629
+ "mixins": [
53630
+ {
53631
+ "name": "DataAriaLabelMixin",
53632
+ "module": "/src/utils/mixins/DataAriaLabelMixin"
53007
53633
  }
53008
53634
  ],
53009
53635
  "superclass": {
53010
- "name": "Component",
53011
- "module": "/src/models"
53636
+ "name": "List",
53637
+ "module": "/src/components/list/list.component"
53012
53638
  },
53013
53639
  "tagName": "mdc-virtualizedlist",
53014
- "jsDoc": "/**\n * `mdc-virtualizedlist` component for creating custom virtualized lists.\n * IMPORTANT: This component does not create it's own list/list items.\n * Use the setlistdata callback prop to update client state in order to\n * Pass list/listitems as a child of this component, which this will virtuailze\n * This implementation handles dynamic lists as well as fixed sized lists.\n * Please refer to [Tanstack Virtual Docs](https://tanstack.com/virtual/latest) for more in depth documentation.\n *\n * @tagname mdc-virtualizedlist\n *\n * @event scroll - (React: onScroll) Event that gets called when user scrolls inside of list.\n *\n * @slot - Client side List with nested list items.\n *\n * @csspart container - The container of the virtualized list.\n * @csspart scroll - The scrollable area of the virtualized list.\n */",
53640
+ "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 */",
53015
53641
  "customElement": true
53016
53642
  }
53017
53643
  ],
@@ -55171,7 +55797,7 @@
55171
55797
  "kind": "field",
55172
55798
  "name": "navItems",
55173
55799
  "type": {
55174
- "text": "HTMLElement[]"
55800
+ "text": "BaseArray<HTMLElement>"
55175
55801
  },
55176
55802
  "privacy": "protected",
55177
55803
  "readonly": true
@@ -55191,6 +55817,13 @@
55191
55817
  "type": {
55192
55818
  "text": "number"
55193
55819
  }
55820
+ },
55821
+ {
55822
+ "name": "focusElement",
55823
+ "optional": true,
55824
+ "type": {
55825
+ "text": "boolean"
55826
+ }
55194
55827
  }
55195
55828
  ]
55196
55829
  },
@@ -55225,6 +55858,34 @@
55225
55858
  }
55226
55859
  }
55227
55860
  ]
55861
+ },
55862
+ {
55863
+ "kind": "method",
55864
+ "name": "setInitialFocus",
55865
+ "privacy": "protected",
55866
+ "return": {
55867
+ "type": {
55868
+ "text": "void"
55869
+ }
55870
+ }
55871
+ },
55872
+ {
55873
+ "kind": "method",
55874
+ "name": "handleNavigationKeyDown",
55875
+ "privacy": "protected",
55876
+ "return": {
55877
+ "type": {
55878
+ "text": "void"
55879
+ }
55880
+ },
55881
+ "parameters": [
55882
+ {
55883
+ "name": "event",
55884
+ "type": {
55885
+ "text": "KeyboardEvent"
55886
+ }
55887
+ }
55888
+ ]
55228
55889
  }
55229
55890
  ]
55230
55891
  },
@@ -55233,6 +55894,11 @@
55233
55894
  "description": "This mixin extends the passed class with list like navigation capabilities.\n\nIt handles up and down arrow keys, home and end keys to navigate through a list of items.\nKey mapping aligned to reading direction (RTL or LTR).",
55234
55895
  "name": "ListNavigationMixin",
55235
55896
  "members": [
55897
+ {
55898
+ "kind": "method",
55899
+ "name": "setInitialFocus",
55900
+ "privacy": "protected"
55901
+ },
55236
55902
  {
55237
55903
  "kind": "method",
55238
55904
  "name": "getCurrentIndex",
@@ -55264,6 +55930,11 @@
55264
55930
  "text": "number"
55265
55931
  },
55266
55932
  "description": "The index of the currently focused item."
55933
+ },
55934
+ {
55935
+ "name": "focusElement",
55936
+ "default": "true",
55937
+ "description": "Call focus() on the current item or not."
55267
55938
  }
55268
55939
  ],
55269
55940
  "description": "Reset all tabindex to -1 and set the tabindex of the current item to 0"