@redvars/peacock 3.8.3 → 3.8.5

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 (175) hide show
  1. package/dist/accordion-item.js +35 -36
  2. package/dist/accordion-item.js.map +1 -1
  3. package/dist/accordion.js +20 -11
  4. package/dist/accordion.js.map +1 -1
  5. package/dist/alert.js +1 -0
  6. package/dist/alert.js.map +1 -1
  7. package/dist/app-bar.js +1 -0
  8. package/dist/app-bar.js.map +1 -1
  9. package/dist/assets/components.css +1 -1
  10. package/dist/assets/components.css.map +1 -1
  11. package/dist/assets/styles.css +1 -1
  12. package/dist/assets/styles.css.map +1 -1
  13. package/dist/avatar.js +1 -0
  14. package/dist/avatar.js.map +1 -1
  15. package/dist/badge.js +1 -0
  16. package/dist/badge.js.map +1 -1
  17. package/dist/bottom-sheet.js +1 -0
  18. package/dist/bottom-sheet.js.map +1 -1
  19. package/dist/breadcrumb-item.js +1 -0
  20. package/dist/breadcrumb-item.js.map +1 -1
  21. package/dist/breadcrumb.js +1 -0
  22. package/dist/breadcrumb.js.map +1 -1
  23. package/dist/button-group.js +1 -0
  24. package/dist/button-group.js.map +1 -1
  25. package/dist/button.js +19 -18
  26. package/dist/button.js.map +1 -1
  27. package/dist/calendar-column-view.js +1 -0
  28. package/dist/calendar-column-view.js.map +1 -1
  29. package/dist/calendar-month-view.js +1 -0
  30. package/dist/calendar-month-view.js.map +1 -1
  31. package/dist/calendar.js +1 -0
  32. package/dist/calendar.js.map +1 -1
  33. package/dist/canvas.js +1 -0
  34. package/dist/canvas.js.map +1 -1
  35. package/dist/card.js +1 -0
  36. package/dist/card.js.map +1 -1
  37. package/dist/cb-compound-expression.js +1 -0
  38. package/dist/cb-compound-expression.js.map +1 -1
  39. package/dist/cb-divider.js +1 -0
  40. package/dist/cb-divider.js.map +1 -1
  41. package/dist/cb-expression.js +1 -0
  42. package/dist/cb-expression.js.map +1 -1
  43. package/dist/cb-predicate.js +1 -0
  44. package/dist/cb-predicate.js.map +1 -1
  45. package/dist/{chart-bar-CYoGNXnK.js → chart-bar-CapLbc2e.js} +2 -1
  46. package/dist/{chart-bar-CYoGNXnK.js.map → chart-bar-CapLbc2e.js.map} +1 -1
  47. package/dist/chart-bar.js +1 -1
  48. package/dist/chart-doughnut.js +1 -0
  49. package/dist/chart-doughnut.js.map +1 -1
  50. package/dist/chart-pie.js +1 -0
  51. package/dist/chart-pie.js.map +1 -1
  52. package/dist/chart-stacked-bar.js +1 -1
  53. package/dist/checkbox.js +1 -0
  54. package/dist/checkbox.js.map +1 -1
  55. package/dist/chip.js +1 -0
  56. package/dist/chip.js.map +1 -1
  57. package/dist/clock.js +1 -0
  58. package/dist/clock.js.map +1 -1
  59. package/dist/code-editor.js +1 -0
  60. package/dist/code-editor.js.map +1 -1
  61. package/dist/code-highlighter.js +1 -0
  62. package/dist/code-highlighter.js.map +1 -1
  63. package/dist/condition-builder.js +1 -0
  64. package/dist/condition-builder.js.map +1 -1
  65. package/dist/container.js +1 -0
  66. package/dist/container.js.map +1 -1
  67. package/dist/custom-elements-jsdocs.json +32 -23
  68. package/dist/custom-elements.json +49 -49
  69. package/dist/divider.js +1 -0
  70. package/dist/divider.js.map +1 -1
  71. package/dist/dropdown-button.js +1 -0
  72. package/dist/dropdown-button.js.map +1 -1
  73. package/dist/elevation.js +1 -0
  74. package/dist/elevation.js.map +1 -1
  75. package/dist/empty-state.js +1 -0
  76. package/dist/empty-state.js.map +1 -1
  77. package/dist/fab.js +1 -0
  78. package/dist/fab.js.map +1 -1
  79. package/dist/field.js +1 -0
  80. package/dist/field.js.map +1 -1
  81. package/dist/{flow-designer-node-DsVwQTac.js → flow-designer-node-CGSm6cUH.js} +2 -1
  82. package/dist/{flow-designer-node-DsVwQTac.js.map → flow-designer-node-CGSm6cUH.js.map} +1 -1
  83. package/dist/flow-designer-node.js +1 -1
  84. package/dist/flow-designer.js +1 -1
  85. package/dist/html-editor.js +1 -0
  86. package/dist/html-editor.js.map +1 -1
  87. package/dist/icon-button.js +1 -0
  88. package/dist/icon-button.js.map +1 -1
  89. package/dist/icon.js +1 -0
  90. package/dist/icon.js.map +1 -1
  91. package/dist/index.js +4 -4
  92. package/dist/item.js +1 -0
  93. package/dist/item.js.map +1 -1
  94. package/dist/link.js +1 -0
  95. package/dist/link.js.map +1 -1
  96. package/dist/{list-H0itjRte.js → list-BBmnHm8f.js} +3 -1
  97. package/dist/{list-H0itjRte.js.map → list-BBmnHm8f.js.map} +1 -1
  98. package/dist/list.js +1 -1
  99. package/dist/loader.js +2 -2
  100. package/dist/menu-item.js +1 -0
  101. package/dist/menu-item.js.map +1 -1
  102. package/dist/menu.js +1 -0
  103. package/dist/menu.js.map +1 -1
  104. package/dist/modal.js +1 -0
  105. package/dist/modal.js.map +1 -1
  106. package/dist/navigation-rail-item.js +1 -0
  107. package/dist/navigation-rail-item.js.map +1 -1
  108. package/dist/navigation-rail.js +1 -0
  109. package/dist/navigation-rail.js.map +1 -1
  110. package/dist/notification-manager.js +1 -0
  111. package/dist/notification-manager.js.map +1 -1
  112. package/dist/notification.js +1 -0
  113. package/dist/notification.js.map +1 -1
  114. package/dist/number-counter.js +1 -0
  115. package/dist/number-counter.js.map +1 -1
  116. package/dist/pagination.js +16 -10
  117. package/dist/pagination.js.map +1 -1
  118. package/dist/popover-content.js +1 -0
  119. package/dist/popover-content.js.map +1 -1
  120. package/dist/popover.js +1 -0
  121. package/dist/popover.js.map +1 -1
  122. package/dist/radio.js +1 -0
  123. package/dist/radio.js.map +1 -1
  124. package/dist/search.js +1 -0
  125. package/dist/search.js.map +1 -1
  126. package/dist/segmented-button-group.js +1 -0
  127. package/dist/segmented-button-group.js.map +1 -1
  128. package/dist/segmented-button.js +1 -0
  129. package/dist/segmented-button.js.map +1 -1
  130. package/dist/{select-CspawZ18.js → select-D85kpjUt.js} +16 -2
  131. package/dist/{select-CspawZ18.js.map → select-D85kpjUt.js.map} +1 -1
  132. package/dist/side-sheet.js +1 -0
  133. package/dist/side-sheet.js.map +1 -1
  134. package/dist/skeleton.js +1 -0
  135. package/dist/skeleton.js.map +1 -1
  136. package/dist/snackbar.js +1 -0
  137. package/dist/snackbar.js.map +1 -1
  138. package/dist/spinner.js +1 -0
  139. package/dist/spinner.js.map +1 -1
  140. package/dist/split-button.js +1 -0
  141. package/dist/split-button.js.map +1 -1
  142. package/dist/src/accordion/accordion-item.d.ts +1 -7
  143. package/dist/src/accordion/accordion.d.ts +8 -3
  144. package/dist/src/button/button/button.d.ts +18 -18
  145. package/dist/sub-menu.js +1 -0
  146. package/dist/sub-menu.js.map +1 -1
  147. package/dist/svg.js +1 -0
  148. package/dist/svg.js.map +1 -1
  149. package/dist/tab-group.js +1 -0
  150. package/dist/tab-group.js.map +1 -1
  151. package/dist/tab-panel.js +1 -0
  152. package/dist/tab-panel.js.map +1 -1
  153. package/dist/tab.js +1 -0
  154. package/dist/tab.js.map +1 -1
  155. package/dist/table.js +5 -9
  156. package/dist/table.js.map +1 -1
  157. package/dist/tabs.js +1 -0
  158. package/dist/tabs.js.map +1 -1
  159. package/dist/toolbar.js +1 -0
  160. package/dist/toolbar.js.map +1 -1
  161. package/dist/tooltip.js +1 -0
  162. package/dist/tooltip.js.map +1 -1
  163. package/dist/tsconfig.tsbuildinfo +1 -1
  164. package/package.json +1 -1
  165. package/readme.md +2 -2
  166. package/scss/mixin.scss +1 -0
  167. package/src/accordion/accordion-item.scss +34 -12
  168. package/src/accordion/accordion-item.ts +29 -30
  169. package/src/accordion/accordion.scss +2 -2
  170. package/src/accordion/accordion.ts +14 -7
  171. package/src/button/button/button.ts +18 -18
  172. package/src/pagination/pagination.scss +15 -10
  173. package/src/sidebar-menu/sidebar-menu-item.scss +2 -1
  174. package/src/table/table.scss +3 -9
  175. package/src/table/table.ts +1 -1
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@redvars/peacock",
3
3
  "description": "The foundation for beautiful user interfaces",
4
4
  "license": "Apache-2.0",
5
- "version": "3.8.3",
5
+ "version": "3.8.5",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.js",
package/readme.md CHANGED
@@ -44,9 +44,9 @@ Visit [https://peacock.redvars.com](https://peacock.redvars.com) to view the doc
44
44
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
45
45
  <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
46
46
 
47
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@redvars/peacock@3.8.3/dist/assets/styles.css"></link>
47
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@redvars/peacock@3.8.5/dist/assets/styles.css"></link>
48
48
  <script type='module'
49
- src='https://cdn.jsdelivr.net/npm/@redvars/peacock@3.8.3/dist/loader.js'></script>
49
+ src='https://cdn.jsdelivr.net/npm/@redvars/peacock@3.8.5/dist/loader.js'></script>
50
50
  </head>
51
51
 
52
52
  <wc-button>Button</wc-button>
package/scss/mixin.scss CHANGED
@@ -1,6 +1,7 @@
1
1
  @mixin base-styles {
2
2
  * {
3
3
  box-sizing: border-box;
4
+ -webkit-tap-highlight-color: transparent;
4
5
  }
5
6
 
6
7
  .screen-reader-only {
@@ -13,7 +13,10 @@
13
13
  .expansion-panel {
14
14
  border: var(--_accordion-item-border, 1px solid var(--color-outline-variant));
15
15
  border-radius: var(--shape-corner-medium); // 12dp — M3 medium shape
16
- background-color: var(--_accordion-item-background, var(--color-surface-container-low));
16
+ background-color: var(
17
+ --_accordion-item-background,
18
+ var(--color-surface-container-low)
19
+ );
17
20
  overflow: hidden; // clip children to border-radius
18
21
  transition:
19
22
  background-color var(--duration-medium1) var(--easing-standard),
@@ -24,6 +27,7 @@
24
27
  .header-button {
25
28
  position: relative;
26
29
  display: flex;
30
+ flex-direction: row-reverse;
27
31
  align-items: center;
28
32
  width: 100%;
29
33
  min-height: 3rem; // 48dp — grows with description
@@ -62,6 +66,11 @@
62
66
  }
63
67
  }
64
68
 
69
+ .header-content {
70
+ display: flex;
71
+ flex: 1;
72
+ }
73
+
65
74
  // ─── Header Label (title + description column) ──────────────────────────────
66
75
 
67
76
  .header-label {
@@ -117,7 +126,8 @@
117
126
  .panel-content {
118
127
  display: grid;
119
128
  grid-template-rows: 0fr;
120
- transition: grid-template-rows var(--duration-medium1) var(--easing-standard);
129
+ transition: grid-template-rows var(--duration-medium1)
130
+ var(--easing-standard);
121
131
  }
122
132
 
123
133
  .content-inner {
@@ -130,8 +140,16 @@
130
140
  // ─── Disabled State ─────────────────────────────────────────────────────────
131
141
 
132
142
  &.disabled {
133
- background-color: color-mix(in srgb, var(--color-surface-container-low) 38%, transparent);
134
- border-color: color-mix(in srgb, var(--color-outline-variant) 38%, transparent);
143
+ background-color: color-mix(
144
+ in srgb,
145
+ var(--color-surface-container-low) 38%,
146
+ transparent
147
+ );
148
+ border-color: color-mix(
149
+ in srgb,
150
+ var(--color-outline-variant) 38%,
151
+ transparent
152
+ );
135
153
 
136
154
  .header-button {
137
155
  cursor: not-allowed;
@@ -163,20 +181,24 @@
163
181
  // ─── Disabled State (border + bg dimmed) ────────────────────────────────────
164
182
 
165
183
  &.disabled {
166
- background-color: color-mix(in srgb, var(--color-surface-container-low) 38%, transparent);
167
- border-color: color-mix(in srgb, var(--color-outline-variant) 38%, transparent);
184
+ background-color: color-mix(
185
+ in srgb,
186
+ var(--color-surface-container-low) 38%,
187
+ transparent
188
+ );
189
+ border-color: color-mix(
190
+ in srgb,
191
+ var(--color-outline-variant) 38%,
192
+ transparent
193
+ );
168
194
  }
169
195
  }
170
196
 
171
197
  // ─── Toggle position: before ─────────────────────────────────────────────────
172
198
 
173
- :host([toggle-position='before']) {
199
+ :host-context([leading-toggle]) {
174
200
  .header-button {
175
- flex-direction: row-reverse;
201
+ flex-direction: row;
176
202
  justify-content: flex-end;
177
203
  }
178
-
179
- .header-label {
180
- flex: 1;
181
- }
182
204
  }
@@ -20,7 +20,7 @@ import IndividualComponent from '@/IndividualComponent.js';
20
20
  * @part description - The description text container.
21
21
  * @part content - The expandable content region wrapper.
22
22
  *
23
- * @fires {CustomEvent<{ open: boolean }>} accordion-item:toggle - Fired when the panel is expanded or collapsed.
23
+ * @fires {CustomEvent<{ open: boolean }>} accordion-item-toggle - Fired when the panel is expanded or collapsed.
24
24
  *
25
25
  * @example
26
26
  * ```html
@@ -56,14 +56,6 @@ export class AccordionItem extends LitElement {
56
56
  @property({ type: Boolean, reflect: true, attribute: 'hide-toggle' })
57
57
  hideToggle: boolean = false;
58
58
 
59
- /**
60
- * Position of the toggle icon relative to the panel title.
61
- * `'after'` places it at the trailing end (default, matches M3).
62
- * `'before'` places it at the leading start.
63
- */
64
- @property({ type: String, reflect: true, attribute: 'toggle-position' })
65
- togglePosition: 'before' | 'after' = 'after';
66
-
67
59
  /** True when the `description` slot contains at least one non-empty node. */
68
60
  @state()
69
61
  private _hasDescriptionSlot = false;
@@ -87,7 +79,7 @@ export class AccordionItem extends LitElement {
87
79
  if (this.disabled) return;
88
80
  this.open = !this.open;
89
81
  this.dispatchEvent(
90
- new CustomEvent('accordion-item:toggle', {
82
+ new CustomEvent('accordion-item-toggle', {
91
83
  bubbles: true,
92
84
  composed: true,
93
85
  detail: { open: this.open },
@@ -136,27 +128,34 @@ export class AccordionItem extends LitElement {
136
128
  ?disabled=${this.disabled}
137
129
  @click=${this._handleToggle}
138
130
  >
139
- ${this.togglePosition === 'before' ? this._renderToggleIcon() : nothing}
140
- <span class="header-label">
141
- <span part="title" class="panel-title">
142
- <slot
143
- name="heading"
144
- @slotchange=${(e: Event) => AccordionItem._onSlotChange(e, v => { this._hasHeadingSlot = v; })}
145
- ></slot>
131
+ ${this._renderToggleIcon()}
132
+ <div class="header-content">
133
+ <span class="header-label">
134
+ <span part="title" class="panel-title">
135
+ <slot
136
+ name="heading"
137
+ @slotchange=${(e: Event) =>
138
+ AccordionItem._onSlotChange(e, v => {
139
+ this._hasHeadingSlot = v;
140
+ })}
141
+ ></slot>
142
+ </span>
143
+ <span
144
+ part="description"
145
+ class="panel-description"
146
+ ?hidden=${!this._hasDescriptionSlot}
147
+ >
148
+ <slot
149
+ name="description"
150
+ @slotchange=${(e: Event) =>
151
+ AccordionItem._onSlotChange(e, v => {
152
+ this._hasDescriptionSlot = v;
153
+ })}
154
+ ></slot>
155
+ </span>
146
156
  </span>
147
- <span
148
- part="description"
149
- class="panel-description"
150
- ?hidden=${!this._hasDescriptionSlot}
151
- >
152
- <slot
153
- name="description"
154
- @slotchange=${(e: Event) => AccordionItem._onSlotChange(e, v => { this._hasDescriptionSlot = v; })}
155
- ></slot>
156
- </span>
157
- </span>
158
- <slot name="header-actions" class="header-actions"></slot>
159
- ${this.togglePosition === 'after' ? this._renderToggleIcon() : nothing}
157
+ <slot name="header-actions" class="header-actions"></slot>
158
+ </div>
160
159
  </button>
161
160
  <div
162
161
  id=${`panel-content-${this.#id}`}
@@ -18,10 +18,10 @@
18
18
  gap: var(--spacing-100); // 8dp gap between panels
19
19
  }
20
20
 
21
- // ─── Flat display mode ───────────────────────────────────────────────────────
21
+ // ─── Flat variant ───────────────────────────────────────────────────────
22
22
  // Removes the gap and the per-item border/background — for use inside cards.
23
23
 
24
- :host([display-mode='flat']) {
24
+ :host([variant='flat']) {
25
25
  .accordion {
26
26
  gap: 0;
27
27
  }
@@ -35,15 +35,22 @@ export class Accordion extends LitElement {
35
35
  * When `false` (default), expanding one panel collapses all others.
36
36
  */
37
37
  @property({ type: Boolean, reflect: true })
38
- multi = false;
38
+ multiple = false;
39
39
 
40
40
  /**
41
- * Display mode for the accordion.
41
+ * Variant for the accordion.
42
42
  * `'default'` renders panels with a subtle background on expand and dividers between items.
43
43
  * `'flat'` renders panels without borders or background changes — suitable for use inside cards.
44
44
  */
45
- @property({ type: String, reflect: true, attribute: 'display-mode' })
46
- displayMode: 'default' | 'flat' = 'default';
45
+ @property({ type: String, reflect: true })
46
+ variant: 'default' | 'flat' = 'default';
47
+
48
+ /**
49
+ * When `true`, the toggle icon is placed at the leading start of the header.
50
+ * When `false` (default), the icon is placed at the trailing end.
51
+ */
52
+ @property({ type: Boolean, reflect: true, attribute: 'leading-toggle' })
53
+ leadingToggle = false;
47
54
 
48
55
  @queryAssignedElements({ selector: 'wc-accordion-item' })
49
56
  items!: Array<AccordionItem>;
@@ -52,14 +59,14 @@ export class Accordion extends LitElement {
52
59
  super.connectedCallback();
53
60
  // @ts-ignore
54
61
  // eslint-disable-next-line wc/require-listener-teardown
55
- this.addEventListener('accordion-item:toggle', this._onItemToggle);
62
+ this.addEventListener('accordion-item-toggle', this._onItemToggle);
56
63
  this.addEventListener('keydown', this._onKeyDown);
57
64
  }
58
65
 
59
66
  disconnectedCallback() {
60
67
  super.disconnectedCallback();
61
68
  // @ts-ignore
62
- this.removeEventListener('accordion-item:toggle', this._onItemToggle);
69
+ this.removeEventListener('accordion-item-toggle', this._onItemToggle);
63
70
  this.removeEventListener('keydown', this._onKeyDown);
64
71
  }
65
72
 
@@ -69,7 +76,7 @@ export class Accordion extends LitElement {
69
76
  // Ignore events from nested accordions — only handle direct children
70
77
  if (targetItem.parentElement !== this) return;
71
78
 
72
- if (!this.multi && targetItem.open) {
79
+ if (!this.multiple && targetItem.open) {
73
80
  this.items.forEach(item => {
74
81
  if (item !== targetItem && item.open) {
75
82
  // eslint-disable-next-line no-param-reassign
@@ -44,30 +44,30 @@ export type {
44
44
  * @overview
45
45
  * <p>Buttons are clickable elements that are used to trigger actions. They communicate calls to action to the user and allow users to interact with pages in a variety of ways. Button labels express what action will occur when the user interacts with it.</p>
46
46
  *
47
- * @cssprop --button-container-shape: Defines the border radius of the button container shape.
47
+ * @cssprop --button-container-shape - Defines the border radius of the button container shape.
48
48
  *
49
- * @cssprop --button-container-shape-start-start: Defines the start position of the button container shape.
50
- * @cssprop --button-container-shape-start-end: Defines the end position of the button container shape.
51
- * @cssprop --button-container-shape-end-start: Defines the start position of the button container shape.
52
- * @cssprop --button-container-shape-end-end: Defines the end position of the button container shape.
49
+ * @cssprop --button-container-shape-start-start - Defines the start position of the button container shape.
50
+ * @cssprop --button-container-shape-start-end - Defines the end position of the button container shape.
51
+ * @cssprop --button-container-shape-end-start - Defines the start position of the button container shape.
52
+ * @cssprop --button-container-shape-end-end - Defines the end position of the button container shape.
53
53
  *
54
54
  *
55
- * @cssprop --filled-button-container-color: Color of the filled button container.
56
- * @cssprop --filled-button-label-text-color: Text color of the filled button label.
55
+ * @cssprop --filled-button-container-color - Color of the filled button container.
56
+ * @cssprop --filled-button-label-text-color - Text color of the filled button label.
57
57
  *
58
- * @cssprop --outlined-button-container-color: Color of the outlined button container.
59
- * @cssprop --outlined-button-label-text-color: Text color of the outlined button label.
58
+ * @cssprop --outlined-button-container-color - Color of the outlined button container.
59
+ * @cssprop --outlined-button-label-text-color - Text color of the outlined button label.
60
60
  *
61
- * @cssprop --text-button-label-text-color: Text color of the text button label.
61
+ * @cssprop --text-button-label-text-color - Text color of the text button label.
62
62
  *
63
- * @cssprop --tonal-button-container-color: Color of the tonal button container.
64
- * @cssprop --tonal-button-label-text-color: Text color of the tonal button label.
63
+ * @cssprop --tonal-button-container-color - Color of the tonal button container.
64
+ * @cssprop --tonal-button-label-text-color - Text color of the tonal button label.
65
65
  *
66
- * @cssprop --elevated-button-container-color: Color of the elevated button container.
67
- * @cssprop --elevated-button-label-text-color: Text color of the elevated button label.
66
+ * @cssprop --elevated-button-container-color - Color of the elevated button container.
67
+ * @cssprop --elevated-button-label-text-color - Text color of the elevated button label.
68
68
  *
69
- * @cssprop --neo-button-container-color: Color of the neo button container.
70
- * @cssprop --neo-button-label-text-color: Text color of the neo button label.
69
+ * @cssprop --neo-button-container-color - Color of the neo button container.
70
+ * @cssprop --neo-button-label-text-color - Text color of the neo button label.
71
71
  *
72
72
  * @fires {MouseEvent} click - Dispatched when the button is clicked.
73
73
  *
@@ -100,8 +100,8 @@ export class Button extends mixinBaseButton(
100
100
  // ── Properties ───────────────────────────────────────────────────────────
101
101
 
102
102
  /**
103
- * Icon alignment.
104
- * Possible values are `"start"`, `"end"`. Defaults to `"end"`.
103
+ * When `true` (default), the icon is placed after the label (trailing).
104
+ * When `false`, the icon is placed before the label (leading).
105
105
  */
106
106
  @property({ type: Boolean, reflect: true, attribute: 'trailing-icon' })
107
107
  trailingIcon = false;
@@ -4,20 +4,23 @@
4
4
 
5
5
  :host {
6
6
  display: block;
7
+ container-type: inline-size;
7
8
  }
8
9
 
9
10
  .pagination {
10
11
  display: flex;
11
12
  align-items: center;
12
- justify-content: flex-end;
13
+ justify-content: space-between;
14
+ flex-wrap: wrap;
13
15
  gap: var(--spacing-200, 1rem);
16
+ row-gap: var(--spacing-100, 0.5rem);
14
17
  background: var(--color-surface, #fff);
15
18
  padding: var(--spacing-150, 0.75rem) var(--spacing-200, 1rem);
16
19
 
17
- @media (max-width: 48rem) {
18
- flex-wrap: wrap;
19
- justify-content: space-between;
20
- row-gap: var(--spacing-100, 0.5rem);
20
+ @container (min-width: 48rem) {
21
+ flex-wrap: nowrap;
22
+ justify-content: flex-end;
23
+ row-gap: 0;
21
24
  }
22
25
 
23
26
  .page-size {
@@ -40,14 +43,16 @@
40
43
  }
41
44
 
42
45
  .pagination-item-count {
43
- margin-inline-start: auto;
46
+ order: 3;
47
+ margin-inline-start: 0;
48
+ inline-size: 100%;
44
49
  display: flex;
45
50
  align-items: center;
46
51
 
47
- @media (max-width: 48rem) {
48
- order: 3;
49
- margin-inline-start: 0;
50
- inline-size: 100%;
52
+ @container (min-width: 48rem) {
53
+ order: 0;
54
+ margin-inline-start: auto;
55
+ inline-size: auto;
51
56
  }
52
57
  }
53
58
 
@@ -62,9 +62,10 @@
62
62
  gap: 0.25rem;
63
63
  flex: 1;
64
64
  min-height: var(--sidebar-menu-item-height);
65
- padding-inline: 0.75rem;
65
+ padding-inline: var(--sidebar-menu-item-content-padding, 0.75rem);
66
66
  color: inherit;
67
67
  z-index: 1;
68
+ overflow: hidden;
68
69
  }
69
70
 
70
71
  .background {
@@ -8,7 +8,8 @@
8
8
  min-height: 20em;
9
9
  --table-border-color: var(--color-outline-variant);
10
10
  --table-border: 1px solid var(--table-border-color);
11
- --table-col-content-padding: var(--spacing-150, 0.75rem) var(--spacing-200, 1rem);
11
+ --table-col-content-padding: var(--spacing-150, 0.75rem)
12
+ var(--spacing-200, 1rem);
12
13
  }
13
14
 
14
15
  .table {
@@ -86,11 +87,7 @@
86
87
  }
87
88
 
88
89
  .col-action {
89
- --button-border-radius: 0;
90
-
91
- &.has-focus {
92
- z-index: 12;
93
- }
90
+ --button-container-shape: 0;
94
91
  }
95
92
 
96
93
  .checkbox {
@@ -110,7 +107,6 @@
110
107
  .fixed-columns {
111
108
  position: sticky;
112
109
  left: 0;
113
- z-index: 1;
114
110
  }
115
111
 
116
112
  .scrollable-columns {
@@ -119,7 +115,6 @@
119
115
  }
120
116
 
121
117
  .header {
122
- z-index: 2;
123
118
  position: sticky;
124
119
  top: 0;
125
120
 
@@ -157,7 +152,6 @@
157
152
  &:focus {
158
153
  outline: none;
159
154
  border-bottom-color: var(--color-primary);
160
- z-index: 1;
161
155
 
162
156
  .col-content {
163
157
  border-color: var(--color-primary);
@@ -237,7 +237,7 @@ export class Table extends LitElement {
237
237
  ? 'keyboard_arrow_up'
238
238
  : 'keyboard_arrow_down';
239
239
  }
240
- return '';
240
+ return 'unfold_more';
241
241
  }
242
242
 
243
243
  private onSortClick(col: TableColumn) {