@universal-material/web 3.4.2 → 3.5.1

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 (125) hide show
  1. package/badge/badge.d.ts +2 -0
  2. package/badge/badge.d.ts.map +1 -1
  3. package/badge/badge.js +19 -2
  4. package/badge/badge.js.map +1 -1
  5. package/badge/badge.styles.d.ts.map +1 -1
  6. package/badge/badge.styles.js +3 -5
  7. package/badge/badge.styles.js.map +1 -1
  8. package/button/button-base.d.ts +1 -1
  9. package/button/button-base.d.ts.map +1 -1
  10. package/button/button-base.js +1 -1
  11. package/button/button-base.js.map +1 -1
  12. package/button/button-base.styles.d.ts.map +1 -1
  13. package/button/button-base.styles.js +3 -0
  14. package/button/button-base.styles.js.map +1 -1
  15. package/button/button.d.ts +5 -11
  16. package/button/button.d.ts.map +1 -1
  17. package/button/button.js +29 -20
  18. package/button/button.js.map +1 -1
  19. package/button/button.styles.d.ts.map +1 -1
  20. package/button/button.styles.js +41 -50
  21. package/button/button.styles.js.map +1 -1
  22. package/button/fab-menu-color-context.d.ts +5 -0
  23. package/button/fab-menu-color-context.d.ts.map +1 -0
  24. package/button/fab-menu-color-context.js +3 -0
  25. package/button/fab-menu-color-context.js.map +1 -0
  26. package/button/fab-menu-item.d.ts +23 -0
  27. package/button/fab-menu-item.d.ts.map +1 -0
  28. package/button/fab-menu-item.js +70 -0
  29. package/button/fab-menu-item.js.map +1 -0
  30. package/button/fab-menu-item.styles.d.ts +2 -0
  31. package/button/fab-menu-item.styles.d.ts.map +1 -0
  32. package/button/fab-menu-item.styles.js +82 -0
  33. package/button/fab-menu-item.styles.js.map +1 -0
  34. package/button/fab-menu-open-context.d.ts +4 -0
  35. package/button/fab-menu-open-context.d.ts.map +1 -0
  36. package/button/fab-menu-open-context.js +3 -0
  37. package/button/fab-menu-open-context.js.map +1 -0
  38. package/button/fab-menu.d.ts +26 -0
  39. package/button/fab-menu.d.ts.map +1 -0
  40. package/button/fab-menu.js +93 -0
  41. package/button/fab-menu.js.map +1 -0
  42. package/button/fab-menu.styles.d.ts +2 -0
  43. package/button/fab-menu.styles.d.ts.map +1 -0
  44. package/button/fab-menu.styles.js +145 -0
  45. package/button/fab-menu.styles.js.map +1 -0
  46. package/button/fab.d.ts +2 -1
  47. package/button/fab.d.ts.map +1 -1
  48. package/button/fab.js +13 -7
  49. package/button/fab.js.map +1 -1
  50. package/button/fab.styles.d.ts.map +1 -1
  51. package/button/fab.styles.js +50 -56
  52. package/button/fab.styles.js.map +1 -1
  53. package/button/icon-button.d.ts +3 -2
  54. package/button/icon-button.d.ts.map +1 -1
  55. package/button/icon-button.js +12 -4
  56. package/button/icon-button.js.map +1 -1
  57. package/button/icon-button.styles.d.ts.map +1 -1
  58. package/button/icon-button.styles.js +28 -30
  59. package/button/icon-button.styles.js.map +1 -1
  60. package/button/toggle-button.d.ts +6 -5
  61. package/button/toggle-button.d.ts.map +1 -1
  62. package/button/toggle-button.js +27 -8
  63. package/button/toggle-button.js.map +1 -1
  64. package/button/toggle-button.styles.d.ts.map +1 -1
  65. package/button/toggle-button.styles.js +18 -13
  66. package/button/toggle-button.styles.js.map +1 -1
  67. package/chip/chip.d.ts +9 -23
  68. package/chip/chip.d.ts.map +1 -1
  69. package/chip/chip.js +60 -60
  70. package/chip/chip.js.map +1 -1
  71. package/chip/chip.styles.d.ts.map +1 -1
  72. package/chip/chip.styles.js +32 -39
  73. package/chip/chip.styles.js.map +1 -1
  74. package/custom-elements.json +2589 -1886
  75. package/index.d.ts +2 -0
  76. package/index.d.ts.map +1 -1
  77. package/index.js +2 -0
  78. package/index.js.map +1 -1
  79. package/list/list-item.d.ts.map +1 -1
  80. package/list/list-item.js +13 -9
  81. package/list/list-item.js.map +1 -1
  82. package/list/list-item.styles.d.ts.map +1 -1
  83. package/list/list-item.styles.js +5 -1
  84. package/list/list-item.styles.js.map +1 -1
  85. package/menu/menu-item.d.ts +6 -24
  86. package/menu/menu-item.d.ts.map +1 -1
  87. package/menu/menu-item.js +22 -44
  88. package/menu/menu-item.js.map +1 -1
  89. package/menu/menu-item.styles.d.ts.map +1 -1
  90. package/menu/menu-item.styles.js +6 -5
  91. package/menu/menu-item.styles.js.map +1 -1
  92. package/navigation/drawer-item.d.ts +5 -14
  93. package/navigation/drawer-item.d.ts.map +1 -1
  94. package/navigation/drawer-item.js +18 -21
  95. package/navigation/drawer-item.js.map +1 -1
  96. package/navigation/drawer-item.styles.d.ts.map +1 -1
  97. package/navigation/drawer-item.styles.js +8 -7
  98. package/navigation/drawer-item.styles.js.map +1 -1
  99. package/package.json +1 -1
  100. package/select/option.d.ts +1 -1
  101. package/select/option.d.ts.map +1 -1
  102. package/select/option.js +1 -1
  103. package/select/option.js.map +1 -1
  104. package/shared/base.styles.d.ts.map +1 -1
  105. package/shared/base.styles.js +1 -0
  106. package/shared/base.styles.js.map +1 -1
  107. package/shared/button-wrapper.d.ts +4 -6
  108. package/shared/button-wrapper.d.ts.map +1 -1
  109. package/shared/button-wrapper.js +20 -12
  110. package/shared/button-wrapper.js.map +1 -1
  111. package/shared/button-wrapper.styles.d.ts.map +1 -1
  112. package/shared/button-wrapper.styles.js +7 -5
  113. package/shared/button-wrapper.styles.js.map +1 -1
  114. package/tab-bar/tab-bar.js +3 -2
  115. package/tab-bar/tab-bar.js.map +1 -1
  116. package/tab-bar/tab.d.ts +4 -2
  117. package/tab-bar/tab.d.ts.map +1 -1
  118. package/tab-bar/tab.js +18 -10
  119. package/tab-bar/tab.js.map +1 -1
  120. package/tab-bar/tab.styles.js +2 -2
  121. package/tab-bar/tab.styles.js.map +1 -1
  122. package/typeahead/typeahead.styles.d.ts.map +1 -1
  123. package/typeahead/typeahead.styles.js +1 -4
  124. package/typeahead/typeahead.styles.js.map +1 -1
  125. package/vscode.html-custom-data.json +267 -250
package/chip/chip.d.ts CHANGED
@@ -30,31 +30,17 @@ export declare class UmChip extends UmButtonWrapper {
30
30
  * Hide the selected icon
31
31
  */
32
32
  hideSelectedIcon: boolean;
33
- /**
34
- * Whether the chip has a leading icon or not
35
- *
36
- * _Note:_ Readonly
37
- */
38
- hasLeadingIcon: boolean;
39
- /**
40
- * Whether the chip has a selected icon or not
41
- *
42
- * _Note:_ Readonly
43
- */
44
- hasSelectedIcon: boolean;
45
- /**
46
- * Whether the chip has a trailing icon or not
47
- *
48
- * _Note:_ Readonly
49
- */
50
- hasTrailingIcon: boolean;
51
- private readonly assignedLeadingIcons;
52
- private readonly assignedSelectedIcons;
53
- private readonly assignedTrailingIcons;
33
+ private _hasLeadingIcon;
34
+ private _hasSelectedIcon;
35
+ private _hasTrailingIcon;
36
+ private readonly _assignedLeadingIcons;
37
+ private readonly _assignedSelectedIcons;
38
+ private readonly _assignedTrailingIcons;
54
39
  removeRipple: UmRipple;
55
40
  connectedCallback(): void;
56
- protected handleClick(event: UIEvent): void;
57
- protected renderContent(): HTMLTemplateResult;
41
+ protected _handleClick(event: UIEvent): void;
42
+ protected _getContainerClasses(): Record<string, boolean>;
43
+ protected _renderContent(): HTMLTemplateResult;
58
44
  }
59
45
  declare global {
60
46
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../src/chip/chip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAW,MAAM,KAAK,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,qBAAqB,CAAC;AAC7B,OAAO,2BAA2B,CAAC;AAEnC,qBACa,MAAO,SAAQ,eAAe;;IACzC,OAAgB,MAAM,iCAAoC;IAK1D;;OAEG;IACyC,QAAQ,UAAS;IAE7D,IACI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAG3B;IAED;;OAEG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACH,IACI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAGxB;IAED;;OAEG;IACyC,SAAS,UAAS;IAE9D;;OAEG;IAC0E,gBAAgB,UAAS;IAEtG;;;;OAIG;IACwE,cAAc,UAAS;IAElG;;;;OAIG;IACyE,eAAe,UAAS;IAEpG;;;;OAIG;IACyE,eAAe,UAAS;IAGpG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;IAGtD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAGvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAE9B,YAAY,EAAG,QAAQ,CAAC;IAExC,iBAAiB;cAgCP,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;cAWjC,aAAa,IAAI,kBAAkB;CA2CvD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,MAAM,CAAC;KAClB;CACF"}
1
+ {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../src/chip/chip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAW,MAAM,KAAK,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,qBAAqB,CAAC;AAC7B,OAAO,2BAA2B,CAAC;AAEnC,qBACa,MAAO,SAAQ,eAAe;;IACzC,OAAgB,MAAM,iCAAoC;IAK1D;;OAEG;IACyC,QAAQ,UAAS;IAE7D,IACI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAG3B;IAED;;OAEG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACH,IACI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAGxB;IAED;;OAEG;IACyC,SAAS,UAAS;IAE9D;;OAEG;IAC0E,gBAAgB,UAAS;IAE7F,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IAG1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAGvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiB;IAGxD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiB;IAE/B,YAAY,EAAG,QAAQ,CAAC;IAExC,iBAAiB;cAgCP,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;cAWlC,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAe/C,cAAc,IAAI,kBAAkB;CA6CxD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,MAAM,CAAC;KAClB;CACF"}
package/chip/chip.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { html, nothing } from 'lit';
3
- import { customElement, property, query, queryAssignedElements } from 'lit/decorators.js';
3
+ import { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js';
4
4
  import { UmButtonWrapper } from '../shared/button-wrapper.js';
5
5
  import { styles } from './chip.styles.js';
6
6
  import '../ripple/ripple.js';
@@ -26,24 +26,9 @@ let UmChip = class UmChip extends UmButtonWrapper {
26
26
  * Hide the selected icon
27
27
  */
28
28
  this.hideSelectedIcon = false;
29
- /**
30
- * Whether the chip has a leading icon or not
31
- *
32
- * _Note:_ Readonly
33
- */
34
- this.hasLeadingIcon = false;
35
- /**
36
- * Whether the chip has a selected icon or not
37
- *
38
- * _Note:_ Readonly
39
- */
40
- this.hasSelectedIcon = false;
41
- /**
42
- * Whether the chip has a trailing icon or not
43
- *
44
- * _Note:_ Readonly
45
- */
46
- this.hasTrailingIcon = false;
29
+ this._hasLeadingIcon = false;
30
+ this._hasSelectedIcon = false;
31
+ this._hasTrailingIcon = false;
47
32
  }
48
33
  static { this.styles = [UmButtonWrapper.styles, styles]; }
49
34
  #clickable;
@@ -82,23 +67,37 @@ let UmChip = class UmChip extends UmButtonWrapper {
82
67
  }
83
68
  }
84
69
  #handleTrailingIconSlotChange() {
85
- this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;
70
+ this._hasTrailingIcon = this._assignedTrailingIcons.length > 0;
86
71
  }
87
72
  #handleLeadingIconSlotChange() {
88
- this.hasLeadingIcon = this.assignedLeadingIcons.length > 0;
73
+ this._hasLeadingIcon = this._assignedLeadingIcons.length > 0;
89
74
  }
90
75
  #handleSelectedIconSlotChange() {
91
- this.hasSelectedIcon = this.assignedSelectedIcons.length > 0;
76
+ this._hasSelectedIcon = this._assignedSelectedIcons.length > 0;
92
77
  }
93
- handleClick(event) {
94
- super.handleClick(event);
78
+ _handleClick(event) {
79
+ super._handleClick(event);
95
80
  if (!this.toggle) {
96
81
  return;
97
82
  }
98
83
  this.selected = !this.selected;
99
84
  this.dispatchEvent(new Event('change', { bubbles: true }));
100
85
  }
101
- renderContent() {
86
+ _getContainerClasses() {
87
+ return {
88
+ ...super._getContainerClasses(),
89
+ clickable: this.clickable,
90
+ toggle: this.toggle,
91
+ selected: this.selected,
92
+ removable: this.removable,
93
+ elevated: this.elevated && !this.disabled,
94
+ 'trailing-icon': this._hasTrailingIcon,
95
+ 'leading-icon': this._hasLeadingIcon,
96
+ 'selected-icon': this._hasSelectedIcon,
97
+ 'hide-selected-icon': this.hideSelectedIcon,
98
+ };
99
+ }
100
+ _renderContent() {
102
101
  const remove = html `
103
102
  <button class="icon remove-button focus-ring" ?disabled=${this.disabled} @click=${this.#handleRemoveClick}>
104
103
  <u-ripple id="remove-ripple" ?disabled=${this.disabled}></u-ripple>
@@ -110,34 +109,35 @@ let UmChip = class UmChip extends UmButtonWrapper {
110
109
  </slot>
111
110
  </button>
112
111
  `;
112
+ const outline = !this.disabled && !this.elevated && !this.selected
113
+ ? html `<div class="outline"></div>`
114
+ : nothing;
113
115
  return html `
114
- <div class="container">
115
- <div class="outline"></div>
116
- <span class="icon leading" part="icon leading">
117
- <slot name="leading-icon" @slotchange="${this.#handleLeadingIconSlotChange}"></slot>
118
- </span>
119
- <span class="icon selected" part="icon selected">
120
- <slot name="icon-selected" @slotchange="${this.#handleSelectedIconSlotChange}">
121
- <svg
122
- xmlns="http://www.w3.org/2000/svg"
123
- height="1em"
124
- viewBox="0 -960 960 960"
125
- width="1em"
126
- fill="currentColor">
127
- <path d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z" />
128
- </svg>
129
- </slot>
130
- </span>
131
- <div class="label">
132
- <slot></slot>
133
- </div>
134
- <slot
135
- class="icon trailing"
136
- part="icon trailing"
137
- name="trailing-icon"
138
- @slotchange="${this.#handleTrailingIconSlotChange}"></slot>
139
- ${this.removable ? remove : nothing}
116
+ ${outline}
117
+ <span class="icon leading" part="icon leading">
118
+ <slot name="leading-icon" @slotchange="${this.#handleLeadingIconSlotChange}"></slot>
119
+ </span>
120
+ <span class="icon icon-selected" part="icon selected">
121
+ <slot name="icon-selected" @slotchange="${this.#handleSelectedIconSlotChange}">
122
+ <svg
123
+ xmlns="http://www.w3.org/2000/svg"
124
+ height="1em"
125
+ viewBox="0 -960 960 960"
126
+ width="1em"
127
+ fill="currentColor">
128
+ <path d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z" />
129
+ </svg>
130
+ </slot>
131
+ </span>
132
+ <div class="label">
133
+ <slot></slot>
140
134
  </div>
135
+ <slot
136
+ class="icon trailing"
137
+ part="icon trailing"
138
+ name="trailing-icon"
139
+ @slotchange="${this.#handleTrailingIconSlotChange}"></slot>
140
+ ${this.removable ? remove : nothing}
141
141
  `;
142
142
  }
143
143
  };
@@ -160,23 +160,23 @@ __decorate([
160
160
  property({ type: Boolean, attribute: 'hide-selected-icon', reflect: true })
161
161
  ], UmChip.prototype, "hideSelectedIcon", void 0);
162
162
  __decorate([
163
- property({ type: Boolean, attribute: 'has-leading-icon', reflect: true })
164
- ], UmChip.prototype, "hasLeadingIcon", void 0);
163
+ state()
164
+ ], UmChip.prototype, "_hasLeadingIcon", void 0);
165
165
  __decorate([
166
- property({ type: Boolean, attribute: 'has-selected-icon', reflect: true })
167
- ], UmChip.prototype, "hasSelectedIcon", void 0);
166
+ state()
167
+ ], UmChip.prototype, "_hasSelectedIcon", void 0);
168
168
  __decorate([
169
- property({ type: Boolean, attribute: 'has-trailing-icon', reflect: true })
170
- ], UmChip.prototype, "hasTrailingIcon", void 0);
169
+ state()
170
+ ], UmChip.prototype, "_hasTrailingIcon", void 0);
171
171
  __decorate([
172
172
  queryAssignedElements({ slot: 'leading-icon', flatten: true })
173
- ], UmChip.prototype, "assignedLeadingIcons", void 0);
173
+ ], UmChip.prototype, "_assignedLeadingIcons", void 0);
174
174
  __decorate([
175
175
  queryAssignedElements({ slot: 'icon-selected', flatten: true })
176
- ], UmChip.prototype, "assignedSelectedIcons", void 0);
176
+ ], UmChip.prototype, "_assignedSelectedIcons", void 0);
177
177
  __decorate([
178
178
  queryAssignedElements({ slot: 'trailing-icon', flatten: true })
179
- ], UmChip.prototype, "assignedTrailingIcons", void 0);
179
+ ], UmChip.prototype, "_assignedTrailingIcons", void 0);
180
180
  __decorate([
181
181
  query('#remove-ripple')
182
182
  ], UmChip.prototype, "removeRipple", void 0);
package/chip/chip.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"chip.js","sourceRoot":"","sources":["../../src/chip/chip.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, HTMLTemplateResult, nothing } from 'lit';\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { UmRipple } from '../ripple/ripple.js';\nimport { UmButtonWrapper } from '../shared/button-wrapper.js';\nimport { styles } from './chip.styles.js';\n\nimport '../ripple/ripple.js';\nimport '../elevation/elevation.js';\n\n@customElement('u-chip')\nexport class UmChip extends UmButtonWrapper {\n static override styles = [UmButtonWrapper.styles, styles];\n\n #clickable = false;\n #toggle = false;\n\n /**\n * Whether the chip is selected or not\n */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n @property({ type: Boolean, reflect: true })\n get clickable(): boolean {\n return this.#clickable;\n }\n\n set clickable(value: boolean) {\n this.#clickable = value;\n this.renderRipple = this.#clickable || this.#toggle;\n }\n\n /**\n * Adds elevation to the chip\n */\n @property({ type: Boolean, reflect: true }) elevated = false;\n\n /**\n * When true, the chip will toggle between selected and unselected\n * states\n */\n @property({ type: Boolean, reflect: true })\n get toggle(): boolean {\n return this.#toggle;\n }\n\n set toggle(value: boolean) {\n this.#toggle = value;\n this.renderRipple = this.#clickable || this.#toggle;\n }\n\n /**\n * Add the remove icon\n */\n @property({ type: Boolean, reflect: true }) removable = false;\n\n /**\n * Hide the selected icon\n */\n @property({ type: Boolean, attribute: 'hide-selected-icon', reflect: true }) hideSelectedIcon = false;\n\n /**\n * Whether the chip has a leading icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-leading-icon', reflect: true }) hasLeadingIcon = false;\n\n /**\n * Whether the chip has a selected icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-selected-icon', reflect: true }) hasSelectedIcon = false;\n\n /**\n * Whether the chip has a trailing icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-trailing-icon', reflect: true }) hasTrailingIcon = false;\n\n @queryAssignedElements({ slot: 'leading-icon', flatten: true })\n private readonly assignedLeadingIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'icon-selected', flatten: true })\n private readonly assignedSelectedIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'trailing-icon', flatten: true })\n private readonly assignedTrailingIcons!: HTMLElement[];\n\n @query('#remove-ripple') removeRipple!: UmRipple;\n\n override connectedCallback() {\n super.connectedCallback();\n this.renderRipple = this.#clickable || this.#toggle;\n }\n\n #handleRemoveClick(e: Event) {\n e.stopPropagation();\n\n if (!(e as PointerEvent).pointerType) {\n this.removeRipple.createRipple();\n }\n\n const removeEvent = new Event('remove', { cancelable: true });\n this.dispatchEvent(removeEvent);\n\n if (!removeEvent.defaultPrevented) {\n this.remove();\n }\n }\n\n #handleTrailingIconSlotChange() {\n this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;\n }\n\n #handleLeadingIconSlotChange() {\n this.hasLeadingIcon = this.assignedLeadingIcons.length > 0;\n }\n\n #handleSelectedIconSlotChange() {\n this.hasSelectedIcon = this.assignedSelectedIcons.length > 0;\n }\n\n protected override handleClick(event: UIEvent): void {\n super.handleClick(event);\n\n if (!this.toggle) {\n return;\n }\n\n this.selected = !this.selected;\n this.dispatchEvent(new Event('change', { bubbles: true }));\n }\n\n protected override renderContent(): HTMLTemplateResult {\n const remove = html`\n <button class=\"icon remove-button focus-ring\" ?disabled=${this.disabled} @click=${this.#handleRemoveClick}>\n <u-ripple id=\"remove-ripple\" ?disabled=${this.disabled}></u-ripple>\n <slot name=\"remove-icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\">\n <path\n d=\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\" />\n </svg>\n </slot>\n </button>\n `;\n\n return html`\n <div class=\"container\">\n <div class=\"outline\"></div>\n <span class=\"icon leading\" part=\"icon leading\">\n <slot name=\"leading-icon\" @slotchange=\"${this.#handleLeadingIconSlotChange}\"></slot>\n </span>\n <span class=\"icon selected\" part=\"icon selected\">\n <slot name=\"icon-selected\" @slotchange=\"${this.#handleSelectedIconSlotChange}\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"1em\"\n viewBox=\"0 -960 960 960\"\n width=\"1em\"\n fill=\"currentColor\">\n <path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\" />\n </svg>\n </slot>\n </span>\n <div class=\"label\">\n <slot></slot>\n </div>\n <slot\n class=\"icon trailing\"\n part=\"icon trailing\"\n name=\"trailing-icon\"\n @slotchange=\"${this.#handleTrailingIconSlotChange}\"></slot>\n ${this.removable ? remove : nothing}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-chip': UmChip;\n }\n}\n"]}
1
+ {"version":3,"file":"chip.js","sourceRoot":"","sources":["../../src/chip/chip.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, HTMLTemplateResult, nothing } from 'lit';\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js';\n\nimport { UmRipple } from '../ripple/ripple.js';\nimport { UmButtonWrapper } from '../shared/button-wrapper.js';\nimport { styles } from './chip.styles.js';\n\nimport '../ripple/ripple.js';\nimport '../elevation/elevation.js';\n\n@customElement('u-chip')\nexport class UmChip extends UmButtonWrapper {\n static override styles = [UmButtonWrapper.styles, styles];\n\n #clickable = false;\n #toggle = false;\n\n /**\n * Whether the chip is selected or not\n */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n @property({ type: Boolean, reflect: true })\n get clickable(): boolean {\n return this.#clickable;\n }\n\n set clickable(value: boolean) {\n this.#clickable = value;\n this.renderRipple = this.#clickable || this.#toggle;\n }\n\n /**\n * Adds elevation to the chip\n */\n @property({ type: Boolean, reflect: true }) elevated = false;\n\n /**\n * When true, the chip will toggle between selected and unselected\n * states\n */\n @property({ type: Boolean, reflect: true })\n get toggle(): boolean {\n return this.#toggle;\n }\n\n set toggle(value: boolean) {\n this.#toggle = value;\n this.renderRipple = this.#clickable || this.#toggle;\n }\n\n /**\n * Add the remove icon\n */\n @property({ type: Boolean, reflect: true }) removable = false;\n\n /**\n * Hide the selected icon\n */\n @property({ type: Boolean, attribute: 'hide-selected-icon', reflect: true }) hideSelectedIcon = false;\n\n @state() private _hasLeadingIcon = false;\n @state() private _hasSelectedIcon = false;\n @state() private _hasTrailingIcon = false;\n\n @queryAssignedElements({ slot: 'leading-icon', flatten: true })\n private readonly _assignedLeadingIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'icon-selected', flatten: true })\n private readonly _assignedSelectedIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'trailing-icon', flatten: true })\n private readonly _assignedTrailingIcons!: HTMLElement[];\n\n @query('#remove-ripple') removeRipple!: UmRipple;\n\n override connectedCallback() {\n super.connectedCallback();\n this.renderRipple = this.#clickable || this.#toggle;\n }\n\n #handleRemoveClick(e: Event) {\n e.stopPropagation();\n\n if (!(e as PointerEvent).pointerType) {\n this.removeRipple.createRipple();\n }\n\n const removeEvent = new Event('remove', { cancelable: true });\n this.dispatchEvent(removeEvent);\n\n if (!removeEvent.defaultPrevented) {\n this.remove();\n }\n }\n\n #handleTrailingIconSlotChange() {\n this._hasTrailingIcon = this._assignedTrailingIcons.length > 0;\n }\n\n #handleLeadingIconSlotChange() {\n this._hasLeadingIcon = this._assignedLeadingIcons.length > 0;\n }\n\n #handleSelectedIconSlotChange() {\n this._hasSelectedIcon = this._assignedSelectedIcons.length > 0;\n }\n\n protected override _handleClick(event: UIEvent): void {\n super._handleClick(event);\n\n if (!this.toggle) {\n return;\n }\n\n this.selected = !this.selected;\n this.dispatchEvent(new Event('change', { bubbles: true }));\n }\n\n protected override _getContainerClasses(): Record<string, boolean> {\n return {\n ...super._getContainerClasses(),\n clickable: this.clickable,\n toggle: this.toggle,\n selected: this.selected,\n removable: this.removable,\n elevated: this.elevated && !this.disabled,\n 'trailing-icon': this._hasTrailingIcon,\n 'leading-icon': this._hasLeadingIcon,\n 'selected-icon': this._hasSelectedIcon,\n 'hide-selected-icon': this.hideSelectedIcon,\n };\n }\n\n protected override _renderContent(): HTMLTemplateResult {\n const remove = html`\n <button class=\"icon remove-button focus-ring\" ?disabled=${this.disabled} @click=${this.#handleRemoveClick}>\n <u-ripple id=\"remove-ripple\" ?disabled=${this.disabled}></u-ripple>\n <slot name=\"remove-icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 -960 960 960\" width=\"1em\" fill=\"currentColor\">\n <path\n d=\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\" />\n </svg>\n </slot>\n </button>\n `;\n\n const outline = !this.disabled && !this.elevated && !this.selected\n ? html`<div class=\"outline\"></div>`\n : nothing;\n\n return html`\n ${outline}\n <span class=\"icon leading\" part=\"icon leading\">\n <slot name=\"leading-icon\" @slotchange=\"${this.#handleLeadingIconSlotChange}\"></slot>\n </span>\n <span class=\"icon icon-selected\" part=\"icon selected\">\n <slot name=\"icon-selected\" @slotchange=\"${this.#handleSelectedIconSlotChange}\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"1em\"\n viewBox=\"0 -960 960 960\"\n width=\"1em\"\n fill=\"currentColor\">\n <path d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\" />\n </svg>\n </slot>\n </span>\n <div class=\"label\">\n <slot></slot>\n </div>\n <slot\n class=\"icon trailing\"\n part=\"icon trailing\"\n name=\"trailing-icon\"\n @slotchange=\"${this.#handleTrailingIconSlotChange}\"></slot>\n ${this.removable ? remove : nothing}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-chip': UmChip;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chip.styles.d.ts","sourceRoot":"","sources":["../../src/chip/chip.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAqKlB,CAAC"}
1
+ {"version":3,"file":"chip.styles.d.ts","sourceRoot":"","sources":["../../src/chip/chip.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA8JlB,CAAC"}
@@ -11,37 +11,42 @@ export const styles = css `
11
11
  --_remove-button-size: calc(var(--_height) - var(--_remove-button-margin) * 2);
12
12
  --_selected-icon-color: var(--u-chip-selected-icon-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));
13
13
  display: inline-block;
14
+ }
15
+
16
+ .container {
14
17
  height: var(--_height);
15
18
  border-radius: var(--_shape);
19
+ padding-inline: var(--u-chip-padding, 16px);
20
+ }
21
+ .container:not(.clickable):not(.toggle) .button {
22
+ cursor: auto;
23
+ }
24
+ .container:not(.leading-icon) .leading {
25
+ display: none;
26
+ }
27
+ .container:not(.trailing-icon) .trailing {
28
+ display: none;
16
29
  }
17
30
 
18
- :host(:not([disabled]):not([elevated]):not([selected])) .outline {
19
- border: var(--_outline-width) solid var(--_outline-color);
31
+ .content {
32
+ gap: var(--_gap);
20
33
  }
21
34
 
22
- :host([elevated]:not([disabled])) {
35
+ .elevated {
23
36
  --u-elevation-level: var(--u-elevated-chip-elevation-level, 1);
24
37
  }
25
-
26
38
  @media (hover: hover) {
27
- :host([elevated]:not([disabled]):hover) {
39
+ .elevated:hover {
28
40
  --u-elevation-level: var(--u-elevated-chip-hover-elevation-level, 2);
29
41
  }
30
42
  }
43
+
31
44
  .outline {
32
45
  position: absolute;
33
46
  inset: 0;
34
47
  border-radius: inherit;
35
48
  pointer-events: none;
36
- }
37
-
38
- .container {
39
- display: flex;
40
- align-items: center;
41
- border-radius: inherit;
42
- height: 100%;
43
- padding-inline: var(--u-chip-padding, 16px);
44
- gap: var(--_gap);
49
+ border: var(--_outline-width) solid var(--_outline-color);
45
50
  }
46
51
 
47
52
  .icon {
@@ -57,7 +62,7 @@ export const styles = css `
57
62
  color: var(--u-chip-leading-icon-color, var(--u-color-primary, rgb(103, 80, 164)));
58
63
  }
59
64
 
60
- .selected {
65
+ .icon-selected {
61
66
  color: var(--_selected-icon-color);
62
67
  }
63
68
 
@@ -105,14 +110,10 @@ export const styles = css `
105
110
  display: none;
106
111
  }
107
112
 
108
- :host(:not([clickable]):not([toggle])) .button {
109
- cursor: auto;
110
- }
111
-
112
- :host([selected]:not([hide-selected-icon])) .leading {
113
+ .selected:not(.hide-selected-icon) .leading {
113
114
  display: none;
114
115
  }
115
- :host([selected]:not([hide-selected-icon])) slot[name=selected-icon] {
116
+ .selected:not(.hide-selected-icon) slot[name=selected-icon] {
116
117
  display: contents;
117
118
  }
118
119
 
@@ -120,40 +121,32 @@ export const styles = css `
120
121
  display: contents;
121
122
  }
122
123
 
123
- :host([has-selected-icon]) .default-select-icon {
124
+ .selected-icon .default-select-icon {
124
125
  display: none;
125
126
  }
126
127
 
127
- :host([selected]:not([disabled])) {
128
+ .selected:not(.disabled) {
128
129
  background-color: var(--u-chip-selected-bg-color, var(--u-color-secondary-container, rgb(232, 222, 248)));
129
130
  }
130
- :host([selected]:not([disabled])) .leading {
131
+ .selected:not(.disabled) .leading {
131
132
  color: var(--u-chip-selected-leading-icon-color, var(--_selected-icon-color));
132
133
  }
133
- :host([selected]:not([disabled])) .trailing {
134
+ .selected:not(.disabled) .trailing {
134
135
  color: var(--u-chip-selected-trailing-icon-color, var(--_selected-icon-color));
135
136
  }
136
137
 
137
- :host([has-leading-icon]) .container,
138
- :host([selected]:not([hide-selected-icon])) .container {
138
+ .leading-icon,
139
+ .selected:not(.hide-selected-icon) {
139
140
  padding-inline-start: var(--_gap);
140
141
  }
141
142
 
142
- :host([has-trailing-icon]) .container,
143
- :host([removable]) .container {
143
+ .trailing-icon,
144
+ .removable {
144
145
  padding-inline-end: var(--_gap);
145
146
  }
146
147
 
147
- :host(:not([has-leading-icon])) .leading {
148
- display: none;
149
- }
150
-
151
- :host([hide-selected-icon]) .selected,
152
- :host(:not([selected])) .selected {
153
- display: none;
154
- }
155
-
156
- :host(:not([has-trailing-icon])) .trailing {
148
+ .hide-selected-icon .icon-selected,
149
+ .container:not(.selected) .icon-selected {
157
150
  display: none;
158
151
  }
159
152
 
@@ -1 +1 @@
1
- {"version":3,"file":"chip.styles.js","sourceRoot":"","sources":["../../src/chip/chip.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqKzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --_height: var(--u-chip-height, 32px);\n --_outline-width: var(--u-chip-outline-width, 1px);\n --_outline-color: var(--u-chip-outline-color, var(--u-color-outline, rgb(121, 116, 126)));\n --_shape: var(--u-chip-shape, var(--u-shape-corner-small, 8px));\n --_gap: var(--u-chip-gap, 8px);\n --_icon-size: var(--u-chip-icon-size, 1.125rem);\n --_remove-button-margin: var(--u-chip-remove-button-margin, 2px);\n --_remove-button-size: calc(var(--_height) - var(--_remove-button-margin) * 2);\n --_selected-icon-color: var(--u-chip-selected-icon-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n display: inline-block;\n height: var(--_height);\n border-radius: var(--_shape);\n }\n\n :host(:not([disabled]):not([elevated]):not([selected])) .outline {\n border: var(--_outline-width) solid var(--_outline-color);\n }\n\n :host([elevated]:not([disabled])) {\n --u-elevation-level: var(--u-elevated-chip-elevation-level, 1);\n }\n\n @media (hover: hover) {\n :host([elevated]:not([disabled]):hover) {\n --u-elevation-level: var(--u-elevated-chip-hover-elevation-level, 2);\n }\n }\n .outline {\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n }\n\n .container {\n display: flex;\n align-items: center;\n border-radius: inherit;\n height: 100%;\n padding-inline: var(--u-chip-padding, 16px);\n gap: var(--_gap);\n }\n\n .icon {\n width: 1em;\n height: var(--_icon-size);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--_icon-size);\n }\n\n .leading {\n color: var(--u-chip-leading-icon-color, var(--u-color-primary, rgb(103, 80, 164)));\n }\n\n .selected {\n color: var(--_selected-icon-color);\n }\n\n .trailing {\n color: var(--u-chip-trailing-icon-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n .label {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-chip-label-line-height, var(--u-label-l-line-height, 1.25rem));\n font-size: var(--u-chip-label-font-size, var(--u-label-l-font-size, 0.875rem));\n letter-spacing: var(--u-chip-label-letter-spacing, var(--u-label-l-letter-spacing, 0.0071428571rem));\n font-weight: var(--u-chip-label-font-weight, var(--u-label-l-font-weight, var(--u-font-weight-medium, 500)));\n }\n\n .remove-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n width: var(--_remove-button-size);\n height: var(--_remove-button-size);\n cursor: pointer;\n padding: 0;\n margin: 0;\n margin-inline: calc((var(--_remove-button-size) - var(--_icon-size)) * -0.5);\n background: gray;\n border: none;\n border-radius: var(--u-chip-remove-button-border-radius, var(--u-shape-corner-full, 9999px));\n background: none;\n appearance: none;\n outline: 0;\n outline-offset: 0;\n z-index: 1;\n }\n\n ::slotted([slot=remove-icon]),\n ::slotted([slot=selected-icon]),\n ::slotted([slot=leading-icon]),\n ::slotted([slot=trailing-icon]) {\n font-size: inherit !important;\n }\n\n slot[name=selected-icon] {\n display: none;\n }\n\n :host(:not([clickable]):not([toggle])) .button {\n cursor: auto;\n }\n\n :host([selected]:not([hide-selected-icon])) .leading {\n display: none;\n }\n :host([selected]:not([hide-selected-icon])) slot[name=selected-icon] {\n display: contents;\n }\n\n .default-select-icon {\n display: contents;\n }\n\n :host([has-selected-icon]) .default-select-icon {\n display: none;\n }\n\n :host([selected]:not([disabled])) {\n background-color: var(--u-chip-selected-bg-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n }\n :host([selected]:not([disabled])) .leading {\n color: var(--u-chip-selected-leading-icon-color, var(--_selected-icon-color));\n }\n :host([selected]:not([disabled])) .trailing {\n color: var(--u-chip-selected-trailing-icon-color, var(--_selected-icon-color));\n }\n\n :host([has-leading-icon]) .container,\n :host([selected]:not([hide-selected-icon])) .container {\n padding-inline-start: var(--_gap);\n }\n\n :host([has-trailing-icon]) .container,\n :host([removable]) .container {\n padding-inline-end: var(--_gap);\n }\n\n :host(:not([has-leading-icon])) .leading {\n display: none;\n }\n\n :host([hide-selected-icon]) .selected,\n :host(:not([selected])) .selected {\n display: none;\n }\n\n :host(:not([has-trailing-icon])) .trailing {\n display: none;\n }\n\n [part=default-selected-icon] {\n display: contents;\n }\n\n :host([disabled]) .remove-button {\n cursor: default;\n }\n`;\n"]}
1
+ {"version":3,"file":"chip.styles.js","sourceRoot":"","sources":["../../src/chip/chip.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8JzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --_height: var(--u-chip-height, 32px);\n --_outline-width: var(--u-chip-outline-width, 1px);\n --_outline-color: var(--u-chip-outline-color, var(--u-color-outline, rgb(121, 116, 126)));\n --_shape: var(--u-chip-shape, var(--u-shape-corner-small, 8px));\n --_gap: var(--u-chip-gap, 8px);\n --_icon-size: var(--u-chip-icon-size, 1.125rem);\n --_remove-button-margin: var(--u-chip-remove-button-margin, 2px);\n --_remove-button-size: calc(var(--_height) - var(--_remove-button-margin) * 2);\n --_selected-icon-color: var(--u-chip-selected-icon-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n display: inline-block;\n }\n\n .container {\n height: var(--_height);\n border-radius: var(--_shape);\n padding-inline: var(--u-chip-padding, 16px);\n }\n .container:not(.clickable):not(.toggle) .button {\n cursor: auto;\n }\n .container:not(.leading-icon) .leading {\n display: none;\n }\n .container:not(.trailing-icon) .trailing {\n display: none;\n }\n\n .content {\n gap: var(--_gap);\n }\n\n .elevated {\n --u-elevation-level: var(--u-elevated-chip-elevation-level, 1);\n }\n @media (hover: hover) {\n .elevated:hover {\n --u-elevation-level: var(--u-elevated-chip-hover-elevation-level, 2);\n }\n }\n\n .outline {\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n border: var(--_outline-width) solid var(--_outline-color);\n }\n\n .icon {\n width: 1em;\n height: var(--_icon-size);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--_icon-size);\n }\n\n .leading {\n color: var(--u-chip-leading-icon-color, var(--u-color-primary, rgb(103, 80, 164)));\n }\n\n .icon-selected {\n color: var(--_selected-icon-color);\n }\n\n .trailing {\n color: var(--u-chip-trailing-icon-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n .label {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-chip-label-line-height, var(--u-label-l-line-height, 1.25rem));\n font-size: var(--u-chip-label-font-size, var(--u-label-l-font-size, 0.875rem));\n letter-spacing: var(--u-chip-label-letter-spacing, var(--u-label-l-letter-spacing, 0.0071428571rem));\n font-weight: var(--u-chip-label-font-weight, var(--u-label-l-font-weight, var(--u-font-weight-medium, 500)));\n }\n\n .remove-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n width: var(--_remove-button-size);\n height: var(--_remove-button-size);\n cursor: pointer;\n padding: 0;\n margin: 0;\n margin-inline: calc((var(--_remove-button-size) - var(--_icon-size)) * -0.5);\n background: gray;\n border: none;\n border-radius: var(--u-chip-remove-button-border-radius, var(--u-shape-corner-full, 9999px));\n background: none;\n appearance: none;\n outline: 0;\n outline-offset: 0;\n z-index: 1;\n }\n\n ::slotted([slot=remove-icon]),\n ::slotted([slot=selected-icon]),\n ::slotted([slot=leading-icon]),\n ::slotted([slot=trailing-icon]) {\n font-size: inherit !important;\n }\n\n slot[name=selected-icon] {\n display: none;\n }\n\n .selected:not(.hide-selected-icon) .leading {\n display: none;\n }\n .selected:not(.hide-selected-icon) slot[name=selected-icon] {\n display: contents;\n }\n\n .default-select-icon {\n display: contents;\n }\n\n .selected-icon .default-select-icon {\n display: none;\n }\n\n .selected:not(.disabled) {\n background-color: var(--u-chip-selected-bg-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n }\n .selected:not(.disabled) .leading {\n color: var(--u-chip-selected-leading-icon-color, var(--_selected-icon-color));\n }\n .selected:not(.disabled) .trailing {\n color: var(--u-chip-selected-trailing-icon-color, var(--_selected-icon-color));\n }\n\n .leading-icon,\n .selected:not(.hide-selected-icon) {\n padding-inline-start: var(--_gap);\n }\n\n .trailing-icon,\n .removable {\n padding-inline-end: var(--_gap);\n }\n\n .hide-selected-icon .icon-selected,\n .container:not(.selected) .icon-selected {\n display: none;\n }\n\n [part=default-selected-icon] {\n display: contents;\n }\n\n :host([disabled]) .remove-button {\n cursor: default;\n }\n`;\n"]}