@tylertech/forge 3.4.2 → 3.5.0

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 (69) hide show
  1. package/custom-elements.json +1157 -132
  2. package/dist/label-value/forge-label-value.css +2 -0
  3. package/dist/lib.js +174 -1
  4. package/dist/lib.js.map +4 -4
  5. package/dist/vscode.css-custom-data.json +156 -0
  6. package/dist/vscode.html-custom-data.json +142 -0
  7. package/esm/app-bar/search/app-bar-search.js +1 -1
  8. package/esm/autocomplete/autocomplete-core.js +4 -2
  9. package/esm/autocomplete/autocomplete.js +1 -5
  10. package/esm/button-toggle/button-toggle/button-toggle-core.js +0 -1
  11. package/esm/chips/chip/chip.js +1 -1
  12. package/esm/core/utils/a11y-utils.d.ts +20 -1
  13. package/esm/core/utils/a11y-utils.js +26 -1
  14. package/esm/file-picker/file-picker-adapter.d.ts +2 -0
  15. package/esm/file-picker/file-picker-adapter.js +6 -0
  16. package/esm/file-picker/file-picker-core.js +1 -0
  17. package/esm/icon-button/icon-button.js +1 -1
  18. package/esm/index.d.ts +2 -0
  19. package/esm/index.js +8 -0
  20. package/esm/key/index.d.ts +7 -0
  21. package/esm/key/index.js +7 -0
  22. package/esm/key/key/index.d.ts +7 -0
  23. package/esm/key/key/index.js +11 -0
  24. package/esm/key/key/key.d.ts +30 -0
  25. package/esm/key/key/key.js +43 -0
  26. package/esm/key/key-item/index.d.ts +7 -0
  27. package/esm/key/key-item/index.js +11 -0
  28. package/esm/key/key-item/key-item.d.ts +47 -0
  29. package/esm/key/key-item/key-item.js +86 -0
  30. package/esm/label-value/label-value.js +1 -1
  31. package/esm/list-dropdown/list-dropdown-aware.d.ts +1 -0
  32. package/esm/list-dropdown/list-dropdown-aware.js +11 -0
  33. package/esm/meter/index.d.ts +7 -0
  34. package/esm/meter/index.js +7 -0
  35. package/esm/meter/meter/index.d.ts +7 -0
  36. package/esm/meter/meter/index.js +11 -0
  37. package/esm/meter/meter/meter.d.ts +187 -0
  38. package/esm/meter/meter/meter.js +359 -0
  39. package/esm/meter/meter-group/index.d.ts +7 -0
  40. package/esm/meter/meter-group/index.js +11 -0
  41. package/esm/meter/meter-group/meter-group.d.ts +108 -0
  42. package/esm/meter/meter-group/meter-group.js +198 -0
  43. package/esm/select/select/select.d.ts +3 -1
  44. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  45. package/package.json +2 -1
  46. package/sass/core/styles/tokens/app-bar/search/_tokens.scss +1 -1
  47. package/sass/core/styles/tokens/key/key/_tokens.scss +17 -0
  48. package/sass/core/styles/tokens/key/key-item/_tokens.scss +22 -0
  49. package/sass/core/styles/tokens/meter/meter/_tokens.scss +30 -0
  50. package/sass/core/styles/tokens/meter/meter-group/_tokens.scss +26 -0
  51. package/sass/core/styles/typography/index.scss +1 -1
  52. package/sass/icon-button/icon-button.scss +20 -1
  53. package/sass/key/key/_core.scss +20 -0
  54. package/sass/key/key/_token-utils.scss +30 -0
  55. package/sass/key/key/index.scss +6 -0
  56. package/sass/key/key/key.scss +26 -0
  57. package/sass/key/key-item/_core.scss +69 -0
  58. package/sass/key/key-item/_token-utils.scss +30 -0
  59. package/sass/key/key-item/index.scss +6 -0
  60. package/sass/key/key-item/key-item.scss +60 -0
  61. package/sass/label-value/_core.scss +2 -0
  62. package/sass/meter/meter/_core.scss +206 -0
  63. package/sass/meter/meter/_token-utils.scss +30 -0
  64. package/sass/meter/meter/index.scss +6 -0
  65. package/sass/meter/meter/meter.scss +218 -0
  66. package/sass/meter/meter-group/_core.scss +83 -0
  67. package/sass/meter/meter-group/_token-utils.scss +30 -0
  68. package/sass/meter/meter-group/index.scss +6 -0
  69. package/sass/meter/meter-group/meter-group.scss +111 -0
@@ -4377,6 +4377,41 @@
4377
4377
  "description": "The duration of the drawer closing animation.",
4378
4378
  "values": []
4379
4379
  },
4380
+ {
4381
+ "name": "--forge-key-gap",
4382
+ "description": "The spacing between key items.",
4383
+ "values": []
4384
+ },
4385
+ {
4386
+ "name": "--forge-key-direction",
4387
+ "description": "The direction that items are laid out in the key.",
4388
+ "values": []
4389
+ },
4390
+ {
4391
+ "name": "--forge-key-item-icon-color",
4392
+ "description": "The color of the icon.",
4393
+ "values": []
4394
+ },
4395
+ {
4396
+ "name": "--forge-key-item-label-color",
4397
+ "description": "The color of the label.",
4398
+ "values": []
4399
+ },
4400
+ {
4401
+ "name": "--forge-key-item-value-color",
4402
+ "description": "The color of the value.",
4403
+ "values": []
4404
+ },
4405
+ {
4406
+ "name": "--forge-key-item-gap",
4407
+ "description": "The spacing between the icon and label.",
4408
+ "values": []
4409
+ },
4410
+ {
4411
+ "name": "--forge-key-item-icon-size",
4412
+ "description": "The size of the icon.",
4413
+ "values": []
4414
+ },
4380
4415
  {
4381
4416
  "name": "--forge-list-container-color",
4382
4417
  "description": "The background color of the list surface.",
@@ -4537,6 +4572,111 @@
4537
4572
  "description": "The gap between the slotted content when in the dense state.",
4538
4573
  "values": []
4539
4574
  },
4575
+ {
4576
+ "name": "--forge-meter-background",
4577
+ "description": "The background color of the meter.",
4578
+ "values": []
4579
+ },
4580
+ {
4581
+ "name": "--forge-meter-color",
4582
+ "description": "The color of the meter's bar.",
4583
+ "values": []
4584
+ },
4585
+ {
4586
+ "name": "--forge-meter-height",
4587
+ "description": "The block size of the meter.",
4588
+ "values": []
4589
+ },
4590
+ {
4591
+ "name": "--forge-meter-shape",
4592
+ "description": "The border radius of the meter.",
4593
+ "values": []
4594
+ },
4595
+ {
4596
+ "name": "--forge-meter-bar-inner-shape",
4597
+ "description": "The border radius of the meter's bar.",
4598
+ "values": []
4599
+ },
4600
+ {
4601
+ "name": "--forge-meter-tickmarks",
4602
+ "description": "The number of tickmarks to display.",
4603
+ "values": []
4604
+ },
4605
+ {
4606
+ "name": "--forge-meter-tickmark-opacity",
4607
+ "description": "The opacity of the tickmarks.",
4608
+ "values": []
4609
+ },
4610
+ {
4611
+ "name": "--forge-meter-transition-duration",
4612
+ "description": "The duration of transitions.",
4613
+ "values": []
4614
+ },
4615
+ {
4616
+ "name": "--forge-meter-transition-timing",
4617
+ "description": "The timing function of transitions.",
4618
+ "values": []
4619
+ },
4620
+ {
4621
+ "name": "--forge-theme-success",
4622
+ "description": "The color of the bar when the value is optimal.",
4623
+ "values": []
4624
+ },
4625
+ {
4626
+ "name": "--forge-theme-success-container-low",
4627
+ "description": "The color of the track when the value is optimal.",
4628
+ "values": []
4629
+ },
4630
+ {
4631
+ "name": "--forge-theme-warning",
4632
+ "description": "The color of the bar when the value is suboptimal.",
4633
+ "values": []
4634
+ },
4635
+ {
4636
+ "name": "--forge-theme-warning-container-low",
4637
+ "description": "The color of the track when the value is suboptimal.",
4638
+ "values": []
4639
+ },
4640
+ {
4641
+ "name": "--forge-theme-error",
4642
+ "description": "The color of the bar when the value is least optimal.",
4643
+ "values": []
4644
+ },
4645
+ {
4646
+ "name": "--forge-theme-error-container-low",
4647
+ "description": "The color of the track when the value is least optimal.",
4648
+ "values": []
4649
+ },
4650
+ {
4651
+ "name": "--forge-meter-group-background",
4652
+ "description": "The background color of the meter group.",
4653
+ "values": []
4654
+ },
4655
+ {
4656
+ "name": "--forge-meter-group-height",
4657
+ "description": "The block size of the meter group.",
4658
+ "values": []
4659
+ },
4660
+ {
4661
+ "name": "--forge-meter-group-shape",
4662
+ "description": "The border radius of the meter group.",
4663
+ "values": []
4664
+ },
4665
+ {
4666
+ "name": "--forge-meter-group-tickmarks",
4667
+ "description": "The number of tickmarks to display.",
4668
+ "values": []
4669
+ },
4670
+ {
4671
+ "name": "--forge-meter-group-tickmark-color",
4672
+ "description": "The color of the tickmarks.",
4673
+ "values": []
4674
+ },
4675
+ {
4676
+ "name": "--forge-meter-group-tickmark-opacity",
4677
+ "description": "The opacity of the tickmarks.",
4678
+ "values": []
4679
+ },
4540
4680
  {
4541
4681
  "name": "--forge-radio-primary-color",
4542
4682
  "description": "The primary color of the radio button when checked.",
@@ -5719,6 +5859,11 @@
5719
5859
  "description": "The content container element."
5720
5860
  },
5721
5861
  { "name": "::part(backdrop)", "description": "The backdrop root element." },
5862
+ { "name": "::part(root)", "description": "The root element." },
5863
+ { "name": "::part(root)", "description": "The root element." },
5864
+ { "name": "::part(icon)", "description": "The icon element." },
5865
+ { "name": "::part(label)", "description": "The label element." },
5866
+ { "name": "::part(value)", "description": "The value element." },
5722
5867
  {
5723
5868
  "name": "::part(root)",
5724
5869
  "description": "The component's root container element."
@@ -5736,6 +5881,17 @@
5736
5881
  "name": "::part(state-layer)",
5737
5882
  "description": "The forwarded state layer's internal surface element."
5738
5883
  },
5884
+ { "name": "::part(root)", "description": "The root container element." },
5885
+ {
5886
+ "name": "::part(track)",
5887
+ "description": "The element comprising the meter's background."
5888
+ },
5889
+ { "name": "::part(bar)", "description": "The bar representing the value." },
5890
+ { "name": "::part(root)", "description": "The root container element." },
5891
+ {
5892
+ "name": "::part(track)",
5893
+ "description": "The element comprising the meter group's background."
5894
+ },
5739
5895
  {
5740
5896
  "name": "::part(root)",
5741
5897
  "description": "Styles the radio's root element."
@@ -2955,6 +2955,24 @@
2955
2955
  ],
2956
2956
  "references": []
2957
2957
  },
2958
+ {
2959
+ "name": "forge-key",
2960
+ "description": "Keys present key items to label a chart or data visualization.\n---\n\n\n### **Slots:**\n - _default_ - The default slot for key items.\n\n### **CSS Properties:**\n - **--forge-key-gap** - The spacing between key items. _(default: undefined)_\n- **--forge-key-direction** - The direction that items are laid out in the key. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The root element.",
2961
+ "attributes": [],
2962
+ "references": []
2963
+ },
2964
+ {
2965
+ "name": "forge-key-item",
2966
+ "description": "Key items label a chart or data visualization.\n---\n\n\n### **Slots:**\n - _default_ - The default slot for the label.\n- **icon** - The icon to display.\n- **value** - The value to display.\n\n### **CSS Properties:**\n - **--forge-key-item-icon-color** - The color of the icon. _(default: undefined)_\n- **--forge-key-item-label-color** - The color of the label. _(default: undefined)_\n- **--forge-key-item-value-color** - The color of the value. _(default: undefined)_\n- **--forge-key-item-gap** - The spacing between the icon and label. _(default: undefined)_\n- **--forge-key-item-icon-size** - The size of the icon. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The root element.\n- **icon** - The icon element.\n- **label** - The label element.\n- **value** - The value element.",
2967
+ "attributes": [
2968
+ {
2969
+ "name": "inline",
2970
+ "description": "Whether the label and value dislay on one line.",
2971
+ "values": []
2972
+ }
2973
+ ],
2974
+ "references": []
2975
+ },
2958
2976
  {
2959
2977
  "name": "forge-list",
2960
2978
  "description": "Lists are vertical groupings of related content.\n---\n\n\n### **Slots:**\n - _default_ - The default/unnamed slot for child list items.\n\n### **CSS Properties:**\n - **--forge-list-container-color** - The background color of the list surface. _(default: undefined)_\n- **--forge-list-spacing** - The spacing between the list items. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The component's root container element.",
@@ -3059,6 +3077,130 @@
3059
3077
  ],
3060
3078
  "references": []
3061
3079
  },
3080
+ {
3081
+ "name": "forge-meter",
3082
+ "description": "Meters display a scalar value within a defined range.\n---\n\n\n### **Slots:**\n - _default_ - The default slot for the meter's label.\n- **value** - A textual representation of the meter's value.\n\n### **CSS Properties:**\n - **--forge-meter-background** - The background color of the meter. _(default: undefined)_\n- **--forge-meter-color** - The color of the meter's bar. _(default: undefined)_\n- **--forge-meter-height** - The block size of the meter. _(default: undefined)_\n- **--forge-meter-shape** - The border radius of the meter. _(default: undefined)_\n- **--forge-meter-bar-inner-shape** - The border radius of the meter's bar. _(default: undefined)_\n- **--forge-meter-tickmarks** - The number of tickmarks to display. _(default: undefined)_\n- **--forge-meter-tickmark-opacity** - The opacity of the tickmarks. _(default: undefined)_\n- **--forge-meter-transition-duration** - The duration of transitions. _(default: undefined)_\n- **--forge-meter-transition-timing** - The timing function of transitions. _(default: undefined)_\n- **--forge-theme-success** - The color of the bar when the value is optimal. _(default: undefined)_\n- **--forge-theme-success-container-low** - The color of the track when the value is optimal. _(default: undefined)_\n- **--forge-theme-warning** - The color of the bar when the value is suboptimal. _(default: undefined)_\n- **--forge-theme-warning-container-low** - The color of the track when the value is suboptimal. _(default: undefined)_\n- **--forge-theme-error** - The color of the bar when the value is least optimal. _(default: undefined)_\n- **--forge-theme-error-container-low** - The color of the track when the value is least optimal. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The root container element.\n- **track** - The element comprising the meter's background.\n- **bar** - The bar representing the value.",
3083
+ "attributes": [
3084
+ {
3085
+ "name": "value",
3086
+ "description": "The current value of the meter.",
3087
+ "values": []
3088
+ },
3089
+ {
3090
+ "name": "min",
3091
+ "description": "The minimum value of the meter.",
3092
+ "values": []
3093
+ },
3094
+ {
3095
+ "name": "max",
3096
+ "description": "The maximum value of the meter.",
3097
+ "values": []
3098
+ },
3099
+ {
3100
+ "name": "low",
3101
+ "description": "The low value threshold.",
3102
+ "values": []
3103
+ },
3104
+ {
3105
+ "name": "high",
3106
+ "description": "The high value threshold.",
3107
+ "values": []
3108
+ },
3109
+ {
3110
+ "name": "optimum",
3111
+ "description": "Indicates the region of the optimum value.",
3112
+ "values": []
3113
+ },
3114
+ {
3115
+ "name": "tickmarks",
3116
+ "description": "Whether to display tickmarks.",
3117
+ "values": []
3118
+ },
3119
+ {
3120
+ "name": "value-mode",
3121
+ "description": "Whether the current value is displayed as a percentage or raw value. When set to `'manual'`\nthe value text is not shown automatically but can still be set manually via the value slot.",
3122
+ "values": [{ "name": "MeterValueMode" }]
3123
+ },
3124
+ {
3125
+ "name": "direction",
3126
+ "description": "Whether the meter is oriented horizontally or vertically.",
3127
+ "values": [{ "name": "MeterDirection" }]
3128
+ },
3129
+ {
3130
+ "name": "shape",
3131
+ "description": "The shape of the meter.",
3132
+ "values": [{ "name": "MeterShape" }]
3133
+ },
3134
+ {
3135
+ "name": "inner-shape",
3136
+ "description": "The shape of the bar.",
3137
+ "values": [{ "name": "MeterInnerShape" }]
3138
+ },
3139
+ {
3140
+ "name": "density",
3141
+ "description": "The density of the meter.",
3142
+ "values": [{ "name": "MeterDensity" }]
3143
+ },
3144
+ {
3145
+ "name": "theme",
3146
+ "description": "The theme of the meter.",
3147
+ "values": [{ "name": "MeterTheme" }]
3148
+ },
3149
+ {
3150
+ "name": "muted",
3151
+ "description": "Whether the theme is muted.",
3152
+ "values": []
3153
+ },
3154
+ {
3155
+ "name": "aria-valuetext",
3156
+ "description": "Defines a text alternative for the current value. Set this if it would be inaccurate to read the value as a percentage.",
3157
+ "values": []
3158
+ }
3159
+ ],
3160
+ "references": []
3161
+ },
3162
+ {
3163
+ "name": "forge-meter-group",
3164
+ "description": "Meter groups display several meters together on one track.\n---\n\n\n### **Slots:**\n - _default_ - The default slot for grouped `<forge-meter>` elements.\n- **label** - Positions a label above the meter group.\n- **value** - A textual representation of the meter's value.\n\n### **CSS Properties:**\n - **--forge-meter-group-background** - The background color of the meter group. _(default: undefined)_\n- **--forge-meter-group-height** - The block size of the meter group. _(default: undefined)_\n- **--forge-meter-group-shape** - The border radius of the meter group. _(default: undefined)_\n- **--forge-meter-group-tickmarks** - The number of tickmarks to display. _(default: undefined)_\n- **--forge-meter-group-tickmark-color** - The color of the tickmarks. _(default: undefined)_\n- **--forge-meter-group-tickmark-opacity** - The opacity of the tickmarks. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - The root container element.\n- **track** - The element comprising the meter group's background.",
3165
+ "attributes": [
3166
+ {
3167
+ "name": "min",
3168
+ "description": "The minimum value of each meter in the group.",
3169
+ "values": []
3170
+ },
3171
+ {
3172
+ "name": "max",
3173
+ "description": "The maximum value of each meter in the group.",
3174
+ "values": []
3175
+ },
3176
+ {
3177
+ "name": "tickmarks",
3178
+ "description": "Whether to display tickmarks.",
3179
+ "values": []
3180
+ },
3181
+ {
3182
+ "name": "direction",
3183
+ "description": "Whether the meter is oriented horizontally or vertically.",
3184
+ "values": [{ "name": "MeterDirection" }]
3185
+ },
3186
+ {
3187
+ "name": "density",
3188
+ "description": "The density of the meter group.",
3189
+ "values": [{ "name": "MeterDensity" }]
3190
+ },
3191
+ {
3192
+ "name": "shape",
3193
+ "description": "The shape of the meter group.",
3194
+ "values": [{ "name": "MeterShape" }]
3195
+ },
3196
+ {
3197
+ "name": "inner-shape",
3198
+ "description": "The shape of each meter in the group.",
3199
+ "values": [{ "name": "MeterInnerShape" }]
3200
+ }
3201
+ ],
3202
+ "references": []
3203
+ },
3062
3204
  {
3063
3205
  "name": "forge-radio",
3064
3206
  "description": "The Forge Radio component is used to create a form input where only one out of a set of\nvalues should be selected.\n---\n\n\n### **Slots:**\n - _default_ - This is a default/unnamed slot for the label text.\n\n### **CSS Properties:**\n - **--forge-radio-primary-color** - The primary color of the radio button when checked. _(default: undefined)_\n- **--forge-radio-inactive-color** - The color of the radio button when unchecked. _(default: undefined)_\n- **--forge-radio-size** - The size of the radio button in the inline and block directions. _(default: undefined)_\n- **--forge-radio-width** - The width of the radio button. _(default: undefined)_\n- **--forge-radio-height** - The height of the radio button. _(default: undefined)_\n- **--forge-radio-border-width** - The width of the radio button's border. _(default: undefined)_\n- **--forge-radio-unchecked-border-color** - The color of the radio button's border when unchecked. _(default: undefined)_\n- **--forge-radio-checked-border-color** - The color of the radio button's border when checked. _(default: undefined)_\n- **--forge-radio-background** - The background of the radio button. _(default: undefined)_\n- **--forge-radio-shape** - The shape of the radio button. _(default: undefined)_\n- **--forge-radio-mark-size** - The size of the radio button's mark in the inline and block directions. _(default: undefined)_\n- **--forge-radio-mark-width** - The width of the radio button's mark. _(default: undefined)_\n- **--forge-radio-mark-height** - The height of the radio button's mark. _(default: undefined)_\n- **--forge-radio-mark-color** - The color of the radio button's mark. _(default: undefined)_\n- **--forge-radio-gap** - The gap between the radio button and its label. _(default: undefined)_\n- **--forge-radio-justify** - The alignment of the radio button and its label in the inline direction. _(default: undefined)_\n- **--forge-radio-direction** - The direction of the radio button and its label. _(default: undefined)_\n- **--forge-radio-state-layer-size** - The size of the radio button's state layer in the inline and block directions. _(default: undefined)_\n- **--forge-radio-state-layer-width** - The width of the radio button's state layer. _(default: undefined)_\n- **--forge-radio-state-layer-height** - The height of the radio button's state layer. _(default: undefined)_\n- **--forge-radio-state-layer-unchecked** - color - The color of the radio button's state layer when unchecked. _(default: undefined)_\n- **--forge-radio-state-layer-checked-color** - The color of the radio button's state layer when checked. _(default: undefined)_\n- **--forge-radio-state-layer-shape** - The shape of the radio button's state layer. _(default: undefined)_\n- **--forge-radio-state-layer-dense-size** - The size of the radio button's state layer when dense. _(default: undefined)_\n- **--forge-radio-state-layer-dense-width** - The width of the radio button's state layer when dense. _(default: undefined)_\n- **--forge-radio-state-layer-dense-height** - The height of the radio button's state layer when dense. _(default: undefined)_\n- **--forge-radio-disabled-opacity** - The opacity of the radio button when disabled. _(default: undefined)_\n- **--forge-radio-animation-duration** - The duration of the radio button's animations. _(default: undefined)_\n- **--forge-radio-animation-timing-function** - The timing function of the radio button's animations. _(default: undefined)_\n- **--forge-radio-animation-delay** - The delay of the radio button's animations. _(default: undefined)_\n\n### **CSS Parts:**\n - **root** - Styles the radio's root element.\n- **background** - Styles the border and background of the radio.\n- **focus-indicator** - Styles the focus indicator of the radio.\n- **state-layer** - Styles the state layer of the radio.",
@@ -13,7 +13,7 @@ import { FocusIndicatorComponent } from '../../focus-indicator';
13
13
  import { IconComponent, IconRegistry } from '../../icon';
14
14
  import { BaseComponent } from '../../core/base/base-component';
15
15
  const template = '<template><div class=\"forge-app-bar-search\" part=\"root\"><slot name=\"start\"><forge-icon name=\"search\" class=\"icon\" part=\"icon\"></forge-icon></slot><slot name=\"input\"></slot><slot></slot><slot name=\"end\"></slot></div></template>';
16
- const styles = ':host{display:block}:host([hidden]){display:none}.forge-app-bar-search{--_app-bar-search-color:var(--forge-app-bar-search-color, currentColor);--_app-bar-search-height:var(--forge-app-bar-search-height, 36px);--_app-bar-search-padding:var(--forge-app-bar-search-padding, 8px);--_app-bar-search-shape:var(--forge-app-bar-search-shape, calc(var(--forge-shape-small, 2px) * var(--forge-shape-factor, 1)));--_app-bar-search-gap:var(--forge-app-bar-search-gap, 4px);--_app-bar-search-input-placeholder-color:var(--forge-app-bar-search-input-placeholder-color, var(--_app-bar-search-color));--_app-bar-search-input-placeholder-opacity:var(--forge-app-bar-search-input-placeholder-opacity, 0.38);--_app-bar-search-background-color:var(--forge-app-bar-search-background-color, var(--_app-bar-search-color));--_app-bar-search-background-color-opacity:var(--forge-app-bar-search-background-color-opacity, 0.08);--_app-bar-search-border-color:var(--forge-app-bar-search-border-color, var(--_app-bar-search-color));--_app-bar-search-border-opacity:var(--forge-app-bar-search-border-opacity, 0.54);--_app-bar-search-border-hover-opacity:var(--forge-app-bar-search-border-hover-opacity, 0.87);--_app-bar-search-transition-duration:var(--forge-app-bar-search-transition-duration, var(--forge-animation-duration-short3, 150ms));--_app-bar-search-transition-timing-function:var(--forge-app-bar-search-transition-timing-function, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)))}.forge-app-bar-search{position:relative;display:flex;align-items:center;flex:1 1 auto;gap:var(--_app-bar-search-gap);height:var(--_app-bar-search-height);width:100%;padding-inline:var(--_app-bar-search-padding);box-sizing:border-box;border-radius:var(--_app-bar-search-shape)}.forge-app-bar-search:hover::after{opacity:var(--_app-bar-search-border-hover-opacity)}.forge-app-bar-search::before{content:\"\";position:absolute;inset:0;pointer-events:none;background-color:var(--_app-bar-search-background-color);opacity:var(--_app-bar-search-background-color-opacity)}.forge-app-bar-search::after{content:\"\";position:absolute;inset:0;pointer-events:none;opacity:var(--_app-bar-search-border-opacity);border-radius:var(--_app-bar-search-shape);outline:1px solid var(--_app-bar-search-border-color);transition-property:opacity;transition-duration:var(--_app-bar-search-transition-duration);transition-timing-function:var(--_app-bar-search-transition-timing-function)}:host([disabled]){cursor:not-allowed}:host([disabled]) .forge-app-bar-search{pointer-events:none;opacity:38%}:host([disabled]) ::slotted(input){pointer-events:none}forge-focus-indicator{--forge-focus-indicator-color:currentColor;--forge-focus-indicator-outward-offset:0px}::slotted(input){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body2-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-body2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 1)));font-weight:var(--forge-typography-body2-font-weight,400);line-height:var(--forge-typography-body2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.375)));letter-spacing:var(--forge-typography-body2-letter-spacing, .015625em);text-transform:var(--forge-typography-body2-text-transform,inherit);text-decoration:var(--forge-typography-body2-text-decoration,inherit);display:block;overflow:hidden;background:0 0;color:currentColor;border:none;width:100%;margin:0;outline:0}::slotted(input)::placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}';
16
+ const styles = ':host{display:block}:host([hidden]){display:none}.forge-app-bar-search{--_app-bar-search-color:var(--forge-app-bar-search-color, currentColor);--_app-bar-search-height:var(--forge-app-bar-search-height, 36px);--_app-bar-search-padding:var(--forge-app-bar-search-padding, 8px);--_app-bar-search-shape:var(--forge-app-bar-search-shape, calc(var(--forge-shape-small, 2px) * var(--forge-shape-factor, 1)));--_app-bar-search-gap:var(--forge-app-bar-search-gap, 4px);--_app-bar-search-input-placeholder-color:var(--forge-app-bar-search-input-placeholder-color, var(--_app-bar-search-color));--_app-bar-search-input-placeholder-opacity:var(--forge-app-bar-search-input-placeholder-opacity, 0.7);--_app-bar-search-background-color:var(--forge-app-bar-search-background-color, var(--_app-bar-search-color));--_app-bar-search-background-color-opacity:var(--forge-app-bar-search-background-color-opacity, 0.08);--_app-bar-search-border-color:var(--forge-app-bar-search-border-color, var(--_app-bar-search-color));--_app-bar-search-border-opacity:var(--forge-app-bar-search-border-opacity, 0.54);--_app-bar-search-border-hover-opacity:var(--forge-app-bar-search-border-hover-opacity, 0.87);--_app-bar-search-transition-duration:var(--forge-app-bar-search-transition-duration, var(--forge-animation-duration-short3, 150ms));--_app-bar-search-transition-timing-function:var(--forge-app-bar-search-transition-timing-function, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)))}.forge-app-bar-search{position:relative;display:flex;align-items:center;flex:1 1 auto;gap:var(--_app-bar-search-gap);height:var(--_app-bar-search-height);width:100%;padding-inline:var(--_app-bar-search-padding);box-sizing:border-box;border-radius:var(--_app-bar-search-shape)}.forge-app-bar-search:hover::after{opacity:var(--_app-bar-search-border-hover-opacity)}.forge-app-bar-search::before{content:\"\";position:absolute;inset:0;pointer-events:none;background-color:var(--_app-bar-search-background-color);opacity:var(--_app-bar-search-background-color-opacity)}.forge-app-bar-search::after{content:\"\";position:absolute;inset:0;pointer-events:none;opacity:var(--_app-bar-search-border-opacity);border-radius:var(--_app-bar-search-shape);outline:1px solid var(--_app-bar-search-border-color);transition-property:opacity;transition-duration:var(--_app-bar-search-transition-duration);transition-timing-function:var(--_app-bar-search-transition-timing-function)}:host([disabled]){cursor:not-allowed}:host([disabled]) .forge-app-bar-search{pointer-events:none;opacity:38%}:host([disabled]) ::slotted(input){pointer-events:none}forge-focus-indicator{--forge-focus-indicator-color:currentColor;--forge-focus-indicator-outward-offset:0px}::slotted(input){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body2-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-body2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 1)));font-weight:var(--forge-typography-body2-font-weight,400);line-height:var(--forge-typography-body2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.375)));letter-spacing:var(--forge-typography-body2-letter-spacing, .015625em);text-transform:var(--forge-typography-body2-text-transform,inherit);text-decoration:var(--forge-typography-body2-text-decoration,inherit);display:block;overflow:hidden;background:0 0;color:currentColor;border:none;width:100%;margin:0;outline:0}::slotted(input)::placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}';
17
17
  /**
18
18
  * @tag forge-app-bar-search
19
19
  *
@@ -353,8 +353,6 @@ export class AutocompleteCore extends ListDropdownAwareCore {
353
353
  selectedValues: [...this._values],
354
354
  id: `forge-autocomplete-${this._identifier}`,
355
355
  asyncStyle: ListDropdownAsyncStyle.Skeleton,
356
- optionLimit: this._optionLimit,
357
- popupClasses: this._popupClasses,
358
356
  headerBuilder: this._popupHeaderBuilder,
359
357
  footerBuilder: this._popupFooterBuilder,
360
358
  transform: label => {
@@ -369,7 +367,11 @@ export class AutocompleteCore extends ListDropdownAwareCore {
369
367
  },
370
368
  allowBusy: true,
371
369
  optionBuilder: listOptionBuilder,
370
+ optionLimit: this._optionLimit,
371
+ popupClasses: this._popupClasses,
372
372
  syncWidth: this._syncPopupWidth,
373
+ constrainViewportWidth: this._constrainPopupWidth,
374
+ wrapOptionText: this._wrapOptionText,
373
375
  observeScroll: this._observeScroll,
374
376
  observeScrollThreshold: this._observeScrollThreshold,
375
377
  scrollEndListener: this._dropdownScrollEndListener,
@@ -29,6 +29,7 @@ const styles = ':host{display:block}:host([hidden]){display:none}';
29
29
  let AutocompleteComponent = class AutocompleteComponent extends ListDropdownAware {
30
30
  static get observedAttributes() {
31
31
  return [
32
+ ...ListDropdownAware.observedAttributes,
32
33
  AUTOCOMPLETE_CONSTANTS.attributes.MODE,
33
34
  AUTOCOMPLETE_CONSTANTS.attributes.MULTIPLE,
34
35
  AUTOCOMPLETE_CONSTANTS.attributes.DEBOUNCE,
@@ -36,11 +37,6 @@ let AutocompleteComponent = class AutocompleteComponent extends ListDropdownAwar
36
37
  AUTOCOMPLETE_CONSTANTS.attributes.FILTER_FOCUS_FIRST,
37
38
  AUTOCOMPLETE_CONSTANTS.attributes.ALLOW_UNMATCHED,
38
39
  AUTOCOMPLETE_CONSTANTS.attributes.POPUP_TARGET,
39
- AUTOCOMPLETE_CONSTANTS.attributes.POPUP_CLASSES,
40
- AUTOCOMPLETE_CONSTANTS.attributes.OBSERVE_SCROLL,
41
- AUTOCOMPLETE_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,
42
- AUTOCOMPLETE_CONSTANTS.attributes.OPTION_LIMIT,
43
- AUTOCOMPLETE_CONSTANTS.attributes.SYNC_POPUP_WIDTH,
44
40
  AUTOCOMPLETE_CONSTANTS.attributes.OPEN,
45
41
  AUTOCOMPLETE_CONSTANTS.attributes.MATCH_KEY,
46
42
  AUTOCOMPLETE_CONSTANTS.attributes.FILTER_TEXT
@@ -68,7 +68,6 @@ export class ButtonToggleCore {
68
68
  set value(value) {
69
69
  if (this._value !== value) {
70
70
  this._value = value;
71
- this._adapter.setHostAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.VALUE, `${this._value}`);
72
71
  }
73
72
  }
74
73
  get selected() {
@@ -15,7 +15,7 @@ import { ChipAdapter } from './chip-adapter';
15
15
  import { CHIP_CONSTANTS } from './chip-constants';
16
16
  import { ChipCore } from './chip-core';
17
17
  const template = '<template><div class=\"forge-chip\" part=\"root\"><button type=\"button\" id=\"trigger\" class=\"trigger\" part=\"trigger\"><slot name=\"start\"><slot name=\"leading\"></slot></slot><slot></slot><slot name=\"end\"><slot name=\"trailing\"></slot></slot></button><forge-focus-indicator target=\"trigger\" part=\"focus-indicator\"></forge-focus-indicator><forge-state-layer target=\"trigger\" exportparts=\"surface:state-layer\"></forge-state-layer></div></template>';
18
- const styles = ':host{display:inline-flex}:host([hidden]){display:none}.forge-chip{--_chip-background:var(--forge-chip-background, transparent);--_chip-color:var(--forge-chip-color, var(--forge-theme-primary, #3f51b5));--_chip-shape:var(--forge-chip-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));--_chip-spacing:var(--forge-chip-spacing, var(--forge-spacing-xsmall, 8px));--_chip-height:var(--forge-chip-height, 32px);--_chip-padding-inline:var(--forge-chip-padding-inline, var(--forge-spacing-small, 12px));--_chip-padding-block:var(--forge-chip-padding-block, 0);--_chip-cursor:var(--forge-chip-cursor, pointer);--_chip-icon-font-size:var(--forge-chip-icon-font-size, 1.5rem);--_chip-focus-indicator-color:var(--forge-chip-focus-indicator-color, var(--_chip-color));--_chip-disabled-opacity:var(--forge-chip-disabled-opacity, 0.38);--_chip-disabled-cursor:var(--forge-chip-disabled-cursor, not-allowed);--_chip-dense-height:var(--forge-chip-dense-height, 24px);--_chip-dense-padding-inline:var(--forge-chip-dense-padding-inline, var(--forge-spacing-xsmall, 8px));--_chip-dense-spacing:var(--forge-chip-dense-spacing, var(--forge-spacing-xxsmall, 4px));--_chip-dense-font-size:var(--forge-chip-dense-font-size, 0.75rem);--_chip-dense-font-weight:var(--forge-chip-dense-font-weight, normal);--_chip-dense-focus-indicator-offset:var(--forge-chip-dense-focus-indicator-offset, var(--forge-spacing-xxxsmall, 2px));--_chip-dense-icon-font-size:var(--forge-chip-dense-icon-font-size, 1.25rem);--_chip-remove-button-spacing:var(--forge-chip-remove-button-spacing, var(--forge-spacing-xsmall, 8px) var(--forge-spacing-xxsmall, 4px));--_chip-remove-button-height-dense:var(--forge-chip-remove-button-height-dense, 18px);--_chip-remove-button-icon-size-dense:var(--forge-chip-remove-button-icon-size-dense, 16px);--_chip-remove-button-spacing-dense:var(--forge-chip-remove-button-spacing-dense, 0 var(--forge-spacing-xxxsmall, 2px));--_chip-selected-background:var(--forge-chip-selected-background, var(--forge-theme-primary, #3f51b5));--_chip-selected-color:var(--forge-chip-selected-color, var(--forge-theme-on-primary, #ffffff));--_chip-invalid-color:var(--forge-chip-invalid-color, var(--forge-theme-error, #b00020));--_chip-invalid-selected-background:var(--forge-chip-invalid-selected-background, var(--forge-theme-error, #b00020));--_chip-invalid-selected-color:var(--forge-chip-invalid-selected-color, var(--forge-theme-on-error, #ffffff));--_chip-border-width:var(--forge-chip-border-width, var(--forge-border-thin, 1px));--_chip-border-style:var(--forge-chip-border-style, solid);--_chip-border-color:var(--forge-chip-border-color, var(--_chip-color));--_chip-field-background:var(--forge-chip-field-background, var(--forge-theme-surface-container-low, #ebebeb));--_chip-field-color:var(--forge-chip-field-color, var(--forge-theme-on-surface-container-low, #000000));--_chip-field-shape:var(--forge-chip-field-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));--_chip-field-border-color:var(--forge-chip-field-border-color, transparent);--_chip-field-cursor:var(--forge-chip-field-cursor, default);--_chip-checkmark-size:var(--forge-chip-checkmark-size, 1.25em);--_chip-checkmark-color:var(--forge-chip-checkmark-color, var(--_chip-color));--_chip-checkmark-spacing:var(--forge-chip-checkmark-spacing, var(--forge-spacing-xsmall, 8px));--_chip-avatar-size:var(--forge-chip-avatar-size, 24px);--_chip-avatar-size-dense:var(--forge-chip-avatar-size-dense, 18px);--_chip-avatar-font-size:var(--forge-chip-avatar-font-size, 0.75rem);--_chip-avatar-font-size-dense:var(--forge-chip-avatar-font-size-dense, 0.5rem);--_chip-avatar-spacing:var(--forge-chip-avatar-spacing, calc(var(--forge-spacing-xsmall, 8px) * -1));--_chip-avatar-spacing-dense:var(--forge-chip-avatar-spacing-dense, calc(var(--forge-spacing-xxsmall, 4px) * -1));--_chip-transition-duration:var(--forge-chip-transition-duration, var(--forge-animation-duration-short3, 150ms));--_chip-transition-easing:var(--forge-chip-transition-easing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_chip-checkmark-transition-delay:var(--forge-chip-checkmark-transition-delay, 50ms)}.forge-chip{position:relative;display:inline-flex;align-items:center;box-sizing:border-box;height:var(--_chip-height);border-width:var(--_chip-border-width);border-style:var(--_chip-border-style);border-color:var(--_chip-border-color);border-radius:var(--_chip-shape);background:var(--_chip-background);color:var(--_chip-color);transition-property:background-color,color;transition-duration:var(--_chip-transition-duration);transition-timing-function:var(--_chip-transition-easing)}.trigger{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-button-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, .875)));font-weight:var(--forge-typography-button-font-weight,500);line-height:var(--forge-typography-button-line-height, normal);letter-spacing:var(--forge-typography-button-letter-spacing, .0714285714em);text-transform:var(--forge-typography-button-text-transform,inherit);text-decoration:var(--forge-typography-button-text-decoration,inherit);display:inline-flex;align-items:center;justify-content:center;gap:var(--_chip-spacing);box-sizing:border-box;height:100%;padding-inline:var(--_chip-padding-inline);padding-block:var(--_chip-padding-block);cursor:var(--_chip-cursor);z-index:0;text-decoration:none;border:none;background:inherit;color:inherit;-webkit-tap-highlight-color:transparent;border-radius:var(--_chip-shape);outline:0}.remove{padding-inline:var(--_chip-remove-button-spacing);--forge-icon-button-focus-indicator-color:var(--_chip-color)}forge-focus-indicator{--forge-focus-indicator-color:var(--_chip-focus-indicator-color);--forge-focus-indicator-shape:var(--_chip-shape)}forge-state-layer{--forge-state-layer-color:var(--_chip-color)}:host([dense]) .forge-chip{--_chip-height:var(--_chip-dense-height);--_chip-padding-inline:var(--_chip-dense-padding-inline);--_chip-spacing:var(--_chip-dense-spacing)}:host([dense]) .trigger{--forge-typography-font-size:var(--_chip-dense-font-size);--forge-typography-font-weight:var(--_chip-dense-font-weight)}:host([dense]) .remove{--_chip-remove-button-spacing:var(--_chip-remove-button-spacing-dense);--forge-icon-button-density-small-size:var(--_chip-remove-button-height-dense);--forge-icon-button-density-small-icon-size:var(--_chip-remove-button-icon-size-dense)}:host([dense]) forge-focus-indicator{--forge-focus-indicator-outward-offset:var(--_chip-dense-focus-indicator-offset)}:host([dense]) ::slotted(forge-avatar){--_chip-avatar-spacing:var(--_chip-avatar-spacing-dense);--forge-typography-font-size:var(--_chip-avatar-font-size-dense);--forge-avatar-size:var(--_chip-avatar-size-dense)}:host([dense]) ::slotted(:is([slot=start],[slot=leading],[slot=end],[slot=trailing])){--_chip-icon-font-size:var(--_chip-dense-icon-font-size)}:host(:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--_chip-selected-background);--_chip-color:var(--_chip-selected-color)}:host(:is([type=filter],[type=choice],[type=input])[selected]) forge-focus-indicator{--forge-focus-indicator-color:var(--_chip-background)}:host([invalid]) .forge-chip{--_chip-color:var(--_chip-invalid-color)}:host([invalid]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--_chip-invalid-selected-background);--_chip-color:var(--_chip-invalid-selected-color)}:host([disabled]:not([href])) .forge-chip{opacity:var(--_chip-disabled-opacity)}:host([disabled]:not([href])) .trigger{cursor:var(--_chip-disabled-cursor)}::slotted(:not(forge-avatar):is([slot=start],[slot=leading],[slot=end],[slot=trailing])){font-size:var(--_chip-icon-font-size)}::slotted(forge-avatar:is([slot=start],[slot=leading])){margin-inline-start:var(--_chip-avatar-spacing)}::slotted(forge-avatar:is([slot=end],[slot=trailing])){margin-inline-end:var(--_chip-avatar-spacing)}::slotted(forge-avatar){--forge-typography-font-size:var(--_chip-avatar-font-size);--forge-avatar-size:var(--_chip-avatar-size)}:host([type=filter]) .checkmark{height:var(--_chip-checkmark-size)}:host([type=filter]) .checkmark svg{width:0;height:var(--_chip-checkmark-size);transition-property:width;transition-duration:var(--_chip-transition-duration);transition-timing-function:var(--_chip-transition-easing)}:host([type=filter]) .checkmark svg path{stroke:var(--_chip-checkmark-color);transition-property:stroke-dashoffset;transition-duration:var(--_chip-transition-duration);transition-timing-function:var(--_chip-transition-easing);stroke-width:2px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}:host([type=filter][selected]) .checkmark{padding-inline-start:var(--_chip-checkmark-spacing)}:host([type=filter][selected]) .checkmark svg{width:var(--_chip-checkmark-size)}:host([type=filter][selected]) .checkmark svg path{transition-delay:var(--_chip-checkmark-transition-delay);stroke-dashoffset:0}:host([type=input]) .trigger{padding-inline:var(--_chip-padding-inline) 0}:host([type=field]) .forge-chip{--_chip-background:var(--_chip-field-background);--_chip-color:var(--_chip-field-color);--_chip-border-color:var(--_chip-field-border-color);--_chip-shape:var(--_chip-field-shape);--_chip-cursor:var(--_chip-field-cursor)}:host([theme=secondary]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-text-high, rgba(0, 0, 0, 0.87)));--_chip-border-color:var(--forge-chip-border-color, var(--forge-theme-secondary, #ffc107))}:host([theme=secondary]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-secondary, #ffc107));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-secondary, #000000))}:host([theme=secondary][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-secondary-container-low, #fff8e1));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-secondary-container-low, #8a6804))}:host([theme=tertiary]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-tertiary, #3d5afe))}:host([theme=tertiary]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-tertiary, #3d5afe));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=tertiary][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-tertiary-container-low, #e8ebff));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-tertiary-container-low, #213189))}:host([theme=success]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-success, #2e7d32))}:host([theme=success]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-success, #2e7d32));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-success, #ffffff))}:host([theme=success][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-success-container-low, #e6efe6));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-success-container-low, #19441b))}:host([theme=warning]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-warning, #d14900))}:host([theme=warning]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-warning, #d14900));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-warning, #ffffff))}:host([theme=warning][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-warning-container-low, #f9e9e0));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-warning-container-low, #712700))}:host([theme=error]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-error, #b00020))}:host([theme=error]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-error, #b00020));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-error, #ffffff))}:host([theme=error][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-error-container-low, #f6e0e4));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-error-container-low, #5f0011))}:host([theme=info]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-info, #1565c0))}:host([theme=info]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-info, #1565c0));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-info, #ffffff))}:host([theme=info][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-info-container-low, #e3edf7));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-info-container-low, #0b3768))}';
18
+ const styles = ':host{display:inline-flex}:host([hidden]){display:none}.forge-chip{--_chip-background:var(--forge-chip-background, transparent);--_chip-color:var(--forge-chip-color, var(--forge-theme-primary, #3f51b5));--_chip-shape:var(--forge-chip-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));--_chip-spacing:var(--forge-chip-spacing, var(--forge-spacing-xsmall, 8px));--_chip-height:var(--forge-chip-height, 32px);--_chip-padding-inline:var(--forge-chip-padding-inline, var(--forge-spacing-small, 12px));--_chip-padding-block:var(--forge-chip-padding-block, 0);--_chip-cursor:var(--forge-chip-cursor, pointer);--_chip-icon-font-size:var(--forge-chip-icon-font-size, 1.5rem);--_chip-focus-indicator-color:var(--forge-chip-focus-indicator-color, var(--_chip-color));--_chip-disabled-opacity:var(--forge-chip-disabled-opacity, 0.38);--_chip-disabled-cursor:var(--forge-chip-disabled-cursor, not-allowed);--_chip-dense-height:var(--forge-chip-dense-height, 24px);--_chip-dense-padding-inline:var(--forge-chip-dense-padding-inline, var(--forge-spacing-xsmall, 8px));--_chip-dense-spacing:var(--forge-chip-dense-spacing, var(--forge-spacing-xxsmall, 4px));--_chip-dense-font-size:var(--forge-chip-dense-font-size, 0.75rem);--_chip-dense-font-weight:var(--forge-chip-dense-font-weight, normal);--_chip-dense-focus-indicator-offset:var(--forge-chip-dense-focus-indicator-offset, var(--forge-spacing-xxxsmall, 2px));--_chip-dense-icon-font-size:var(--forge-chip-dense-icon-font-size, 1.25rem);--_chip-remove-button-spacing:var(--forge-chip-remove-button-spacing, var(--forge-spacing-xsmall, 8px) var(--forge-spacing-xxsmall, 4px));--_chip-remove-button-height-dense:var(--forge-chip-remove-button-height-dense, 18px);--_chip-remove-button-icon-size-dense:var(--forge-chip-remove-button-icon-size-dense, 16px);--_chip-remove-button-spacing-dense:var(--forge-chip-remove-button-spacing-dense, 0 var(--forge-spacing-xxxsmall, 2px));--_chip-selected-background:var(--forge-chip-selected-background, var(--forge-theme-primary, #3f51b5));--_chip-selected-color:var(--forge-chip-selected-color, var(--forge-theme-on-primary, #ffffff));--_chip-invalid-color:var(--forge-chip-invalid-color, var(--forge-theme-error, #b00020));--_chip-invalid-selected-background:var(--forge-chip-invalid-selected-background, var(--forge-theme-error, #b00020));--_chip-invalid-selected-color:var(--forge-chip-invalid-selected-color, var(--forge-theme-on-error, #ffffff));--_chip-border-width:var(--forge-chip-border-width, var(--forge-border-thin, 1px));--_chip-border-style:var(--forge-chip-border-style, solid);--_chip-border-color:var(--forge-chip-border-color, var(--_chip-color));--_chip-field-background:var(--forge-chip-field-background, var(--forge-theme-surface-container-low, #ebebeb));--_chip-field-color:var(--forge-chip-field-color, var(--forge-theme-on-surface-container-low, #000000));--_chip-field-shape:var(--forge-chip-field-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));--_chip-field-border-color:var(--forge-chip-field-border-color, transparent);--_chip-field-cursor:var(--forge-chip-field-cursor, default);--_chip-checkmark-size:var(--forge-chip-checkmark-size, 1.25em);--_chip-checkmark-color:var(--forge-chip-checkmark-color, var(--_chip-color));--_chip-checkmark-spacing:var(--forge-chip-checkmark-spacing, var(--forge-spacing-xsmall, 8px));--_chip-avatar-size:var(--forge-chip-avatar-size, 24px);--_chip-avatar-size-dense:var(--forge-chip-avatar-size-dense, 18px);--_chip-avatar-font-size:var(--forge-chip-avatar-font-size, 0.75rem);--_chip-avatar-font-size-dense:var(--forge-chip-avatar-font-size-dense, 0.5rem);--_chip-avatar-spacing:var(--forge-chip-avatar-spacing, calc(var(--forge-spacing-xsmall, 8px) * -1));--_chip-avatar-spacing-dense:var(--forge-chip-avatar-spacing-dense, calc(var(--forge-spacing-xxsmall, 4px) * -1));--_chip-transition-duration:var(--forge-chip-transition-duration, var(--forge-animation-duration-short3, 150ms));--_chip-transition-easing:var(--forge-chip-transition-easing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_chip-checkmark-transition-delay:var(--forge-chip-checkmark-transition-delay, 50ms)}.forge-chip{position:relative;display:inline-flex;align-items:center;box-sizing:border-box;height:var(--_chip-height);border-width:var(--_chip-border-width);border-style:var(--_chip-border-style);border-color:var(--_chip-border-color);border-radius:var(--_chip-shape);background:var(--_chip-background);color:var(--_chip-color);transition-property:background-color,color;transition-duration:var(--_chip-transition-duration);transition-timing-function:var(--_chip-transition-easing)}.trigger{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-button-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, .875)));font-weight:var(--forge-typography-button-font-weight,500);line-height:var(--forge-typography-button-line-height, normal);letter-spacing:var(--forge-typography-button-letter-spacing, .0714285714em);text-transform:var(--forge-typography-button-text-transform,inherit);text-decoration:var(--forge-typography-button-text-decoration,inherit);display:inline-flex;align-items:center;justify-content:center;gap:var(--_chip-spacing);box-sizing:border-box;height:100%;padding-inline:var(--_chip-padding-inline);padding-block:var(--_chip-padding-block);cursor:var(--_chip-cursor);z-index:0;text-decoration:none;border:none;background:inherit;color:inherit;-webkit-tap-highlight-color:transparent;border-radius:var(--_chip-shape);outline:0}.remove{padding-inline:var(--_chip-remove-button-spacing);--forge-icon-button-focus-indicator-color:var(--_chip-color)}forge-focus-indicator{--forge-focus-indicator-color:var(--_chip-focus-indicator-color);--forge-focus-indicator-shape:var(--_chip-shape)}forge-state-layer{--forge-state-layer-color:var(--_chip-color)}:host([dense]) .forge-chip{--_chip-height:var(--_chip-dense-height);--_chip-padding-inline:var(--_chip-dense-padding-inline);--_chip-spacing:var(--_chip-dense-spacing)}:host([dense]) .trigger{--forge-typography-button-font-size:var(--_chip-dense-font-size);--forge-typography-button-font-weight:var(--_chip-dense-font-weight)}:host([dense]) .remove{--_chip-remove-button-spacing:var(--_chip-remove-button-spacing-dense);--forge-icon-button-density-small-size:var(--_chip-remove-button-height-dense);--forge-icon-button-density-small-icon-size:var(--_chip-remove-button-icon-size-dense)}:host([dense]) forge-focus-indicator{--forge-focus-indicator-outward-offset:var(--_chip-dense-focus-indicator-offset)}:host([dense]) ::slotted(forge-avatar){--_chip-avatar-spacing:var(--_chip-avatar-spacing-dense);--forge-typography-subheading2-font-size:var(--_chip-avatar-font-size-dense);--forge-avatar-size:var(--_chip-avatar-size-dense)}:host([dense]) ::slotted(:is([slot=start],[slot=leading],[slot=end],[slot=trailing])){--_chip-icon-font-size:var(--_chip-dense-icon-font-size)}:host(:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--_chip-selected-background);--_chip-color:var(--_chip-selected-color)}:host(:is([type=filter],[type=choice],[type=input])[selected]) forge-focus-indicator{--forge-focus-indicator-color:var(--_chip-background)}:host([invalid]) .forge-chip{--_chip-color:var(--_chip-invalid-color)}:host([invalid]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--_chip-invalid-selected-background);--_chip-color:var(--_chip-invalid-selected-color)}:host([disabled]:not([href])) .forge-chip{opacity:var(--_chip-disabled-opacity)}:host([disabled]:not([href])) .trigger{cursor:var(--_chip-disabled-cursor)}::slotted(:not(forge-avatar):is([slot=start],[slot=leading],[slot=end],[slot=trailing])){font-size:var(--_chip-icon-font-size)}::slotted(forge-avatar:is([slot=start],[slot=leading])){margin-inline-start:var(--_chip-avatar-spacing)}::slotted(forge-avatar:is([slot=end],[slot=trailing])){margin-inline-end:var(--_chip-avatar-spacing)}::slotted(forge-avatar){--forge-typography-subheading2-font-size:var(--_chip-avatar-font-size);--forge-avatar-size:var(--_chip-avatar-size)}:host([type=filter]) .checkmark{height:var(--_chip-checkmark-size)}:host([type=filter]) .checkmark svg{width:0;height:var(--_chip-checkmark-size);transition-property:width;transition-duration:var(--_chip-transition-duration);transition-timing-function:var(--_chip-transition-easing)}:host([type=filter]) .checkmark svg path{stroke:var(--_chip-checkmark-color);transition-property:stroke-dashoffset;transition-duration:var(--_chip-transition-duration);transition-timing-function:var(--_chip-transition-easing);stroke-width:2px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}:host([type=filter][selected]) .checkmark{padding-inline-start:var(--_chip-checkmark-spacing)}:host([type=filter][selected]) .checkmark svg{width:var(--_chip-checkmark-size)}:host([type=filter][selected]) .checkmark svg path{transition-delay:var(--_chip-checkmark-transition-delay);stroke-dashoffset:0}:host([type=input]) .trigger{padding-inline:var(--_chip-padding-inline) 0}:host([type=field]) .forge-chip{--_chip-background:var(--_chip-field-background);--_chip-color:var(--_chip-field-color);--_chip-border-color:var(--_chip-field-border-color);--_chip-shape:var(--_chip-field-shape);--_chip-cursor:var(--_chip-field-cursor)}:host([theme=secondary]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-text-high, rgba(0, 0, 0, 0.87)));--_chip-border-color:var(--forge-chip-border-color, var(--forge-theme-secondary, #ffc107))}:host([theme=secondary]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-secondary, #ffc107));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-secondary, #000000))}:host([theme=secondary][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-secondary-container-low, #fff8e1));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-secondary-container-low, #8a6804))}:host([theme=tertiary]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-tertiary, #3d5afe))}:host([theme=tertiary]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-tertiary, #3d5afe));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=tertiary][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-tertiary-container-low, #e8ebff));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-tertiary-container-low, #213189))}:host([theme=success]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-success, #2e7d32))}:host([theme=success]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-success, #2e7d32));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-success, #ffffff))}:host([theme=success][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-success-container-low, #e6efe6));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-success-container-low, #19441b))}:host([theme=warning]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-warning, #d14900))}:host([theme=warning]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-warning, #d14900));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-warning, #ffffff))}:host([theme=warning][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-warning-container-low, #f9e9e0));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-warning-container-low, #712700))}:host([theme=error]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-error, #b00020))}:host([theme=error]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-error, #b00020));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-error, #ffffff))}:host([theme=error][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-error-container-low, #f6e0e4));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-error-container-low, #5f0011))}:host([theme=info]) .forge-chip{--_chip-color:var(--forge-chip-color, var(--forge-theme-info, #1565c0))}:host([theme=info]:is([type=filter],[type=choice],[type=input])[selected]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-info, #1565c0));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-info, #ffffff))}:host([theme=info][type=field]) .forge-chip{--_chip-background:var(--forge-chip-background, var(--forge-theme-info-container-low, #e3edf7));--_chip-color:var(--forge-chip-color, var(--forge-theme-on-info-container-low, #0b3768))}';
19
19
  /**
20
20
  * @tag forge-chip
21
21
  *
@@ -11,6 +11,17 @@
11
11
  * Adapted and influenced from [Material Web](https://github.com/material-components/material-web).
12
12
  * The original source code can be found at: [GitHub](https://github.com/material-components/material-web/blob/main/internal/aria/aria.ts)
13
13
  */
14
+ /**
15
+ * Augment ElementInternals to support `CustomStateSet`.
16
+ */
17
+ declare global {
18
+ interface CustomStateSet extends Set<string> {
19
+ forEach(callbackfn: (value: string, key: string, parent: CustomStateSet) => void, thisArg?: any): void;
20
+ }
21
+ interface ElementInternals {
22
+ readonly states: CustomStateSet;
23
+ }
24
+ }
14
25
  /**
15
26
  * Reflective ARIA property name types.
16
27
  */
@@ -26,7 +37,7 @@ export declare const ARIA_PROPERTIES: ARIAProperty[];
26
37
  /**
27
38
  * ARIA role values.
28
39
  */
29
- export type ARIARole = 'alert' | 'alertdialog' | 'button' | 'checkbox' | 'dialog' | 'gridcell' | 'link' | 'log' | 'marquee' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'progressbar' | 'radio' | 'scrollbar' | 'searchbox' | 'slider' | 'spinbutton' | 'status' | 'switch' | 'tab' | 'tabpanel' | 'textbox' | 'timer' | 'tooltip' | 'treeitem' | 'combobox' | 'grid' | 'listbox' | 'menu' | 'menubar' | 'radiogroup' | 'tablist' | 'tree' | 'treegrid' | 'application' | 'article' | 'cell' | 'columnheader' | 'definition' | 'directory' | 'document' | 'feed' | 'figure' | 'group' | 'heading' | 'img' | 'list' | 'listitem' | 'math' | 'none' | 'note' | 'presentation' | 'region' | 'row' | 'rowgroup' | 'rowheader' | 'separator' | 'table' | 'term' | 'text' | 'toolbar' | 'banner' | 'complementary' | 'contentinfo' | 'form' | 'main' | 'navigation' | 'region' | 'search' | 'doc-abstract' | 'doc-acknowledgments' | 'doc-afterword' | 'doc-appendix' | 'doc-backlink' | 'doc-biblioentry' | 'doc-bibliography' | 'doc-biblioref' | 'doc-chapter' | 'doc-colophon' | 'doc-conclusion' | 'doc-cover' | 'doc-credit' | 'doc-credits' | 'doc-dedication' | 'doc-endnote' | 'doc-endnotes' | 'doc-epigraph' | 'doc-epilogue' | 'doc-errata' | 'doc-example' | 'doc-footnote' | 'doc-foreword' | 'doc-glossary' | 'doc-glossref' | 'doc-index' | 'doc-introduction' | 'doc-noteref' | 'doc-notice' | 'doc-pagebreak' | 'doc-pagelist' | 'doc-part' | 'doc-preface' | 'doc-prologue' | 'doc-pullquote' | 'doc-qna' | 'doc-subtitle' | 'doc-tip' | 'doc-toc';
40
+ export type ARIARole = 'alert' | 'alertdialog' | 'button' | 'checkbox' | 'dialog' | 'gridcell' | 'link' | 'log' | 'marquee' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'progressbar' | 'meter' | 'radio' | 'scrollbar' | 'searchbox' | 'slider' | 'spinbutton' | 'status' | 'switch' | 'tab' | 'tabpanel' | 'textbox' | 'timer' | 'tooltip' | 'treeitem' | 'combobox' | 'grid' | 'listbox' | 'menu' | 'menubar' | 'radiogroup' | 'tablist' | 'tree' | 'treegrid' | 'application' | 'article' | 'cell' | 'columnheader' | 'definition' | 'directory' | 'document' | 'feed' | 'figure' | 'group' | 'heading' | 'img' | 'list' | 'listitem' | 'math' | 'none' | 'note' | 'presentation' | 'region' | 'row' | 'rowgroup' | 'rowheader' | 'separator' | 'table' | 'term' | 'text' | 'toolbar' | 'banner' | 'complementary' | 'contentinfo' | 'form' | 'main' | 'navigation' | 'region' | 'search' | 'doc-abstract' | 'doc-acknowledgments' | 'doc-afterword' | 'doc-appendix' | 'doc-backlink' | 'doc-biblioentry' | 'doc-bibliography' | 'doc-biblioref' | 'doc-chapter' | 'doc-colophon' | 'doc-conclusion' | 'doc-cover' | 'doc-credit' | 'doc-credits' | 'doc-dedication' | 'doc-endnote' | 'doc-endnotes' | 'doc-epigraph' | 'doc-epilogue' | 'doc-errata' | 'doc-example' | 'doc-footnote' | 'doc-foreword' | 'doc-glossary' | 'doc-glossref' | 'doc-index' | 'doc-introduction' | 'doc-noteref' | 'doc-notice' | 'doc-pagebreak' | 'doc-pagelist' | 'doc-part' | 'doc-preface' | 'doc-prologue' | 'doc-pullquote' | 'doc-qna' | 'doc-subtitle' | 'doc-tip' | 'doc-toc';
30
41
  /**
31
42
  * Strictly typed ARIA properties.
32
43
  */
@@ -124,3 +135,11 @@ export type DefaultAriaOptions = {
124
135
  * }
125
136
  */
126
137
  export declare function setDefaultAria(element: HTMLElement, internals: ElementInternals, properties: Partial<ARIAMixinStrict>, { setAttribute }?: DefaultAriaOptions): void;
138
+ /**
139
+ * Adds or removes a state from an element's custom state set.
140
+ *
141
+ * @param internals - The element's internals object.
142
+ * @param state - The name of the custom state to toggle.
143
+ * @param value - Whether to add or remove the state.
144
+ */
145
+ export declare function toggleState(internals: ElementInternals, state: string, value: boolean): void;
@@ -69,8 +69,8 @@ const ARIA_ATTRIBUTES_TO_PROPERTIES = {
69
69
  'aria-colindex': 'ariaColIndex',
70
70
  'aria-colspan': 'ariaColSpan',
71
71
  'aria-current': 'ariaCurrent',
72
- 'aria-disabled': 'ariaDisabled',
73
72
  'aria-description': 'ariaDescription',
73
+ 'aria-disabled': 'ariaDisabled',
74
74
  'aria-expanded': 'ariaExpanded',
75
75
  'aria-haspopup': 'ariaHasPopup',
76
76
  'aria-hidden': 'ariaHidden',
@@ -166,3 +166,28 @@ export function setDefaultAria(element, internals, properties, { setAttribute }
166
166
  }
167
167
  });
168
168
  }
169
+ /**
170
+ * Adds or removes a state from an element's custom state set.
171
+ *
172
+ * @param internals - The element's internals object.
173
+ * @param state - The name of the custom state to toggle.
174
+ * @param value - Whether to add or remove the state.
175
+ */
176
+ export function toggleState(internals, state, value) {
177
+ if (value) {
178
+ try {
179
+ internals.states.add(state);
180
+ }
181
+ catch {
182
+ internals.states.add(`--${state}`);
183
+ }
184
+ }
185
+ else {
186
+ try {
187
+ internals.states.delete(state);
188
+ }
189
+ catch {
190
+ internals.states.delete(`--${state}`);
191
+ }
192
+ }
193
+ }
@@ -6,6 +6,7 @@
6
6
  import { IFilePickerComponent } from './file-picker';
7
7
  import { BaseAdapter, IBaseAdapter } from '../core';
8
8
  export interface IFilePickerAdapter extends IBaseAdapter {
9
+ destroy(): void;
9
10
  registerButtonSlotListener(listener: (evt: Event) => void): void;
10
11
  registerInputChangeListener(listener: (evt: Event) => void): void;
11
12
  registerDragEnterListener(listener: (evt: DragEvent) => void): void;
@@ -32,6 +33,7 @@ export declare class FilePickerAdapter extends BaseAdapter<IFilePickerComponent>
32
33
  private _input;
33
34
  private _inputEventListener;
34
35
  constructor(component: IFilePickerComponent);
36
+ destroy(): void;
35
37
  registerButtonSlotListener(listener: (evt: Event) => void): void;
36
38
  registerInputChangeListener(listener: (evt: Event) => void): void;
37
39
  registerDragEnterListener(listener: (evt: DragEvent) => void): void;
@@ -18,6 +18,12 @@ export class FilePickerAdapter extends BaseAdapter {
18
18
  };
19
19
  this._container.addEventListener('click', this._inputEventListener);
20
20
  }
21
+ destroy() {
22
+ if (this._inputEventListener) {
23
+ this._container.removeEventListener('click', this._inputEventListener);
24
+ this._inputEventListener = undefined;
25
+ }
26
+ }
21
27
  registerButtonSlotListener(listener) {
22
28
  this._buttonSlot.addEventListener('slotchange', listener);
23
29
  }
@@ -33,6 +33,7 @@ export class FilePickerCore {
33
33
  this._isInitialized = true;
34
34
  }
35
35
  destroy() {
36
+ this._adapter.destroy();
36
37
  this._isInitialized = false;
37
38
  }
38
39
  _onButtonSlotChanged(evt) {