@ds-mo/ui 13.16.1 → 13.18.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.
- package/dist/.package-ready.json +1 -1
- package/dist/agent-patterns.json +1 -1
- package/dist/agent.json +268 -17
- package/dist/angular/ds-filter-menu.d.ts +44 -0
- package/dist/angular/ds-filter-menu.js +57 -0
- package/dist/angular/ds-select.d.ts +12 -1
- package/dist/angular/ds-select.js +10 -4
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +1 -0
- package/dist/angular/proxies.d.ts +1 -0
- package/dist/angular/proxies.js +1 -0
- package/dist/components/ds-agent-activity.js +1 -1
- package/dist/components/ds-agent-questionnaire.js +1 -1
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-agent-source-list.js +1 -1
- package/dist/components/ds-agent-tool-call.js +1 -1
- package/dist/components/ds-attachment-list.js +1 -1
- package/dist/components/ds-badge.js +1 -1
- package/dist/components/ds-banner.js +1 -1
- package/dist/components/ds-bar-nav.js +1 -1
- package/dist/components/ds-bar-title.js +1 -1
- package/dist/components/ds-bar-workflow.js +1 -1
- package/dist/components/ds-bar-workflow.js.map +1 -1
- package/dist/components/ds-breadcrumb.js +1 -1
- package/dist/components/ds-button-filled.js +1 -1
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/ds-card-chart.js +1 -1
- package/dist/components/ds-card-overview.js +1 -1
- package/dist/components/ds-card-overview.js.map +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart.js +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list-item.js +1 -1
- package/dist/components/ds-conversation-list-item.js.map +1 -1
- package/dist/components/ds-conversation-list-section.js +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-filter-menu.d.ts +11 -0
- package/dist/components/ds-filter-menu.js +2 -0
- package/dist/components/ds-filter-menu.js.map +1 -0
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-input.js.map +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-actions.js +1 -1
- package/dist/components/ds-message-bubble.js +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-scroller.js +1 -1
- package/dist/components/ds-message.js +1 -1
- package/dist/components/ds-mobile-bar-nav.js +1 -1
- package/dist/components/ds-mobile-header.js +1 -1
- package/dist/components/ds-mobile-section-switcher.js +1 -1
- package/dist/components/ds-mobile-sheet-nav.js +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-modal.js.map +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js +1 -1
- package/dist/components/ds-panel-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-scroll-overlay.js +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-select.js.map +1 -1
- package/dist/components/ds-shell-app.js +1 -1
- package/dist/components/ds-shell-app.js.map +1 -1
- package/dist/components/ds-shell-page.js +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-skeleton.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-swatch-picker.js +1 -1
- package/dist/components/ds-switch.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-table.js +1 -1
- package/dist/components/ds-table.js.map +1 -1
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-text.js +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-tooltip-chart.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/p-5uI3i2vg.js +2 -0
- package/dist/components/p-5uI3i2vg.js.map +1 -0
- package/dist/components/p-BAgjMUt3.js +2 -0
- package/dist/components/p-BAgjMUt3.js.map +1 -0
- package/dist/components/{p-CdKz-QT2.js → p-BCfgU8Fh.js} +2 -2
- package/dist/components/{p-CsXC1cHI.js → p-BDsAON4I.js} +2 -2
- package/dist/components/p-BMq4DJWh.js +2 -0
- package/dist/components/{p-D9FdOR_m.js.map → p-BMq4DJWh.js.map} +1 -1
- package/dist/components/{p-GWUTrIlk.js → p-BOCrvs-v.js} +2 -2
- package/dist/components/{p-B69Re7HW.js → p-BOjGzd5N.js} +2 -2
- package/dist/components/{p-BAAjiAIF.js → p-BQkZ8FIl.js} +2 -2
- package/dist/components/p-BaiGt_o6.js +2 -0
- package/dist/components/{p-D4jQy3Ps.js.map → p-BaiGt_o6.js.map} +1 -1
- package/dist/components/p-BqFKxWVl.js +2 -0
- package/dist/components/p-BqFKxWVl.js.map +1 -0
- package/dist/components/p-BtY2nJW4.js +2 -0
- package/dist/components/{p-m5CSrx_s.js.map → p-BtY2nJW4.js.map} +1 -1
- package/dist/components/{p-DStd98dM.js → p-BxQlH4gl.js} +2 -2
- package/dist/components/{p-DStd98dM.js.map → p-BxQlH4gl.js.map} +1 -1
- package/dist/components/{p-00or0yGw.js → p-C7ywYAzN.js} +2 -2
- package/dist/components/p-C8keZ4k6.js +2 -0
- package/dist/components/{p-BMAZWEDa.js.map → p-C8keZ4k6.js.map} +1 -1
- package/dist/components/p-CB8iBV_M.js +2 -0
- package/dist/components/p-CB8iBV_M.js.map +1 -0
- package/dist/components/p-CP2W8qxB.js +2 -0
- package/dist/components/{p-D5sIwLjA.js.map → p-CP2W8qxB.js.map} +1 -1
- package/dist/components/p-CUQTEeLp.js +2 -0
- package/dist/components/{p-B94M62Tx.js.map → p-CUQTEeLp.js.map} +1 -1
- package/dist/components/{p-D4j0deyd.js → p-C_tqXl5P.js} +2 -2
- package/dist/components/p-Csq6XDgm.js +2 -0
- package/dist/components/{p-D9CDoQBx.js.map → p-Csq6XDgm.js.map} +1 -1
- package/dist/components/p-CswBI711.js +2 -0
- package/dist/components/{p-CnUq7E8S.js.map → p-CswBI711.js.map} +1 -1
- package/dist/components/p-CtSxm6PI.js +2 -0
- package/dist/components/{p-DyqLVdJp.js.map → p-CtSxm6PI.js.map} +1 -1
- package/dist/components/{p-dEouiXJ8.js → p-D8nnhQNJ.js} +2 -2
- package/dist/components/p-DTMxwYQj.js +2 -0
- package/dist/components/{p-B2SoinWf.js.map → p-DTMxwYQj.js.map} +1 -1
- package/dist/components/{p-C891ueIx.js → p-DYoCb_sj.js} +2 -2
- package/dist/components/{p-Dhx_3_tf.js → p-DZFilC--.js} +2 -2
- package/dist/components/p-DZFilC--.js.map +1 -0
- package/dist/components/{p-GbTasczF.js → p-Dcnd5ZX5.js} +2 -2
- package/dist/components/{p-BRze4tRe.js → p-DeBto13S.js} +2 -2
- package/dist/components/p-DtvJTPds.js +2 -0
- package/dist/components/{p-B53Vpuqq.js.map → p-DtvJTPds.js.map} +1 -1
- package/dist/components/{p-DrvEhJhO.js → p-N4m0evkj.js} +2 -2
- package/dist/components/p-NdahPypA.js +2 -0
- package/dist/components/p-NdahPypA.js.map +1 -0
- package/dist/components/{p-D4AfoIu6.js → p-NuRg_IoA.js} +2 -2
- package/dist/components/{p-CqDJRVT8.js → p-NzOcZg8r.js} +2 -2
- package/dist/components/p-PzI11fs8.js +2 -0
- package/dist/components/p-PzI11fs8.js.map +1 -0
- package/dist/components/{p-Cohb8T7G.js → p-QdI17bl-.js} +2 -2
- package/dist/components/{p-chA2WA5x.js → p-Qzh-wyTg.js} +2 -2
- package/dist/components/{p-CnIvWEVm.js → p-Xr9OO-Ao.js} +2 -2
- package/dist/components/{p-Qf-os3lG.js → p-oyZjjoYV.js} +2 -2
- package/dist/components/{p-Dbobj7DI.js → p-smzwm_EW.js} +2 -2
- package/dist/components/p-tR8INOIN.js +2 -0
- package/dist/components/p-tR8INOIN.js.map +1 -0
- package/dist/docs/components.json +1299 -93
- package/dist/lib/utils/choice-list.d.ts +10 -0
- package/dist/lib/utils/index.js +4 -1
- package/dist/lib/utils/index.js.map +2 -2
- package/dist/lib/utils/token-defaults.d.ts +2 -0
- package/dist/mcp-data/registry/agent-source-list.json +2 -2
- package/dist/mcp-data/registry/bar-nav.json +2 -2
- package/dist/mcp-data/registry/breadcrumb.json +2 -2
- package/dist/mcp-data/registry/filter-menu.json +643 -0
- package/dist/mcp-data/registry/menu.json +11 -8
- package/dist/mcp-data/registry/modal.json +3 -3
- package/dist/mcp-data/registry/registry.json +270 -16
- package/dist/mcp-data/registry/select.json +131 -7
- package/dist/mcp-data/registry/table.json +8 -8
- package/dist/mcp-data/registry/text.json +2 -2
- package/dist/react/components.d.ts +1 -0
- package/dist/react/components.js +1 -0
- package/dist/react/ds-filter-menu.d.ts +17 -0
- package/dist/react/ds-filter-menu.js +19 -0
- package/dist/react/ds-select.d.ts +3 -1
- package/dist/react/ds-select.js +3 -1
- package/dist/styles/prose.css +19 -3
- package/dist/styles/table.css +106 -3
- package/dist/types/components/FilterMenu/FilterMenu.d.ts +137 -0
- package/dist/types/components/Menu/Menu.d.ts +1 -1
- package/dist/types/components/Menu/menu-types.d.ts +9 -0
- package/dist/types/components/Modal/Modal.d.ts +1 -0
- package/dist/types/components/Select/Select.d.ts +34 -0
- package/dist/types/components/Table/Table.d.ts +2 -3
- package/dist/types/components/Table/table-layout-controller.d.ts +0 -3
- package/dist/types/components.d.ts +368 -2
- package/dist/types/utils/choice-list-parts.d.ts +17 -0
- package/dist/types/utils/choice-list.d.ts +10 -0
- package/dist/types/utils/select-controller.d.ts +2 -0
- package/dist/types/utils/token-defaults.d.ts +2 -0
- package/package.json +2 -1
- package/dist/components/p-B2SoinWf.js +0 -2
- package/dist/components/p-B53Vpuqq.js +0 -2
- package/dist/components/p-B94M62Tx.js +0 -2
- package/dist/components/p-BMAZWEDa.js +0 -2
- package/dist/components/p-BtUgncSJ.js +0 -2
- package/dist/components/p-BtUgncSJ.js.map +0 -1
- package/dist/components/p-CMbcRN92.js +0 -2
- package/dist/components/p-CMbcRN92.js.map +0 -1
- package/dist/components/p-CXduurfd.js +0 -2
- package/dist/components/p-CXduurfd.js.map +0 -1
- package/dist/components/p-CnUq7E8S.js +0 -2
- package/dist/components/p-D4jQy3Ps.js +0 -2
- package/dist/components/p-D5sIwLjA.js +0 -2
- package/dist/components/p-D9CDoQBx.js +0 -2
- package/dist/components/p-D9FdOR_m.js +0 -2
- package/dist/components/p-DO5-fplZ.js +0 -2
- package/dist/components/p-DO5-fplZ.js.map +0 -1
- package/dist/components/p-Dhx_3_tf.js.map +0 -1
- package/dist/components/p-DyqLVdJp.js +0 -2
- package/dist/components/p-NQOI5gN1.js +0 -2
- package/dist/components/p-NQOI5gN1.js.map +0 -1
- package/dist/components/p-m5CSrx_s.js +0 -2
- package/dist/components/p-ymtdhOU5.js +0 -2
- package/dist/components/p-ymtdhOU5.js.map +0 -1
- /package/dist/components/{p-CdKz-QT2.js.map → p-BCfgU8Fh.js.map} +0 -0
- /package/dist/components/{p-CsXC1cHI.js.map → p-BDsAON4I.js.map} +0 -0
- /package/dist/components/{p-GWUTrIlk.js.map → p-BOCrvs-v.js.map} +0 -0
- /package/dist/components/{p-B69Re7HW.js.map → p-BOjGzd5N.js.map} +0 -0
- /package/dist/components/{p-BAAjiAIF.js.map → p-BQkZ8FIl.js.map} +0 -0
- /package/dist/components/{p-00or0yGw.js.map → p-C7ywYAzN.js.map} +0 -0
- /package/dist/components/{p-D4j0deyd.js.map → p-C_tqXl5P.js.map} +0 -0
- /package/dist/components/{p-dEouiXJ8.js.map → p-D8nnhQNJ.js.map} +0 -0
- /package/dist/components/{p-C891ueIx.js.map → p-DYoCb_sj.js.map} +0 -0
- /package/dist/components/{p-GbTasczF.js.map → p-Dcnd5ZX5.js.map} +0 -0
- /package/dist/components/{p-BRze4tRe.js.map → p-DeBto13S.js.map} +0 -0
- /package/dist/components/{p-DrvEhJhO.js.map → p-N4m0evkj.js.map} +0 -0
- /package/dist/components/{p-D4AfoIu6.js.map → p-NuRg_IoA.js.map} +0 -0
- /package/dist/components/{p-CqDJRVT8.js.map → p-NzOcZg8r.js.map} +0 -0
- /package/dist/components/{p-Cohb8T7G.js.map → p-QdI17bl-.js.map} +0 -0
- /package/dist/components/{p-chA2WA5x.js.map → p-Qzh-wyTg.js.map} +0 -0
- /package/dist/components/{p-CnIvWEVm.js.map → p-Xr9OO-Ao.js.map} +0 -0
- /package/dist/components/{p-Qf-os3lG.js.map → p-oyZjjoYV.js.map} +0 -0
- /package/dist/components/{p-Dbobj7DI.js.map → p-smzwm_EW.js.map} +0 -0
package/dist/styles/prose.css
CHANGED
|
@@ -125,9 +125,25 @@
|
|
|
125
125
|
|
|
126
126
|
:where(.ds-prose)
|
|
127
127
|
:where(a):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
|
|
128
|
-
color: var(--color-foreground-brand);
|
|
129
|
-
text-decoration:
|
|
130
|
-
text-decoration-color:
|
|
128
|
+
color: var(--color-foreground-bold-brand);
|
|
129
|
+
text-decoration-line: none;
|
|
130
|
+
text-decoration-color: currentcolor;
|
|
131
|
+
text-decoration-thickness: var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));
|
|
132
|
+
text-underline-offset: var(--ds-text-decoration-offset, var(--dimension-space-025));
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
@media (hover: hover) and (pointer: fine) {
|
|
136
|
+
:where(.ds-prose)
|
|
137
|
+
:where(a):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)):hover {
|
|
138
|
+
text-decoration-line: underline;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
@media (forced-colors: active) {
|
|
143
|
+
:where(.ds-prose)
|
|
144
|
+
:where(a):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
|
|
145
|
+
text-decoration-line: underline;
|
|
146
|
+
}
|
|
131
147
|
}
|
|
132
148
|
|
|
133
149
|
:where(.ds-prose)
|
package/dist/styles/table.css
CHANGED
|
@@ -163,6 +163,66 @@
|
|
|
163
163
|
--_table-selection-column-contribution: var(--_table-selection-column-inline-size);
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
+
/*
|
|
167
|
+
* A contained grouped table uses native sticky positioning without a scroll
|
|
168
|
+
* listener or duplicated section lane. Turning its table formatting boxes into
|
|
169
|
+
* explicit blocks makes every real tbody a section boundary; shared grid tracks
|
|
170
|
+
* retain exact header/body alignment while the browser performs push-off in the
|
|
171
|
+
* same layout pass as scrolling and container resize.
|
|
172
|
+
*/
|
|
173
|
+
:where(.ds-table__table--native-group-sticky) {
|
|
174
|
+
display: block;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
:where(.ds-table__table--native-group-sticky > colgroup) {
|
|
178
|
+
display: none;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
:where(.ds-table__table--native-group-sticky > .ds-table__head),
|
|
182
|
+
:where(.ds-table__table--native-group-sticky > .ds-table__body) {
|
|
183
|
+
display: block;
|
|
184
|
+
inline-size: 100%;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
:where(.ds-table__table--native-group-sticky > .ds-table__group) {
|
|
188
|
+
position: relative;
|
|
189
|
+
contain: layout style;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
:where(.ds-table__table--native-group-sticky .ds-table__header-row),
|
|
193
|
+
:where(.ds-table__table--native-group-sticky .ds-table__row),
|
|
194
|
+
:where(.ds-table__table--native-group-sticky .ds-table__skeleton-row) {
|
|
195
|
+
display: grid;
|
|
196
|
+
grid-template-columns: var(--_table-grid-template-columns);
|
|
197
|
+
inline-size: 100%;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
:where(.ds-table__table--native-group-sticky .ds-table__group-row),
|
|
201
|
+
:where(.ds-table__table--native-group-sticky .ds-table__state-row),
|
|
202
|
+
:where(.ds-table__table--native-group-sticky .ds-table__load-row) {
|
|
203
|
+
display: block;
|
|
204
|
+
inline-size: 100%;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
:where(.ds-table__table--native-group-sticky .ds-table__header-cell),
|
|
208
|
+
:where(.ds-table__table--native-group-sticky .ds-table__cell),
|
|
209
|
+
:where(.ds-table__table--native-group-sticky .ds-table__group-cell),
|
|
210
|
+
:where(.ds-table__table--native-group-sticky .ds-table__state-cell),
|
|
211
|
+
:where(.ds-table__table--native-group-sticky .ds-table__load-cell) {
|
|
212
|
+
display: block;
|
|
213
|
+
inline-size: auto;
|
|
214
|
+
width: auto;
|
|
215
|
+
max-inline-size: none;
|
|
216
|
+
max-width: none;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
:where(.ds-table__table--native-group-sticky .ds-table__group-cell),
|
|
220
|
+
:where(.ds-table__table--native-group-sticky .ds-table__state-cell),
|
|
221
|
+
:where(.ds-table__table--native-group-sticky .ds-table__load-cell) {
|
|
222
|
+
inline-size: 100%;
|
|
223
|
+
width: 100%;
|
|
224
|
+
}
|
|
225
|
+
|
|
166
226
|
:where(.ds-table__caption-bar),
|
|
167
227
|
:where(.ds-table__footer) {
|
|
168
228
|
box-sizing: border-box;
|
|
@@ -184,6 +244,20 @@
|
|
|
184
244
|
color: var(--color-foreground-primary);
|
|
185
245
|
}
|
|
186
246
|
|
|
247
|
+
:where(.ds-table__caption-content) {
|
|
248
|
+
display: grid;
|
|
249
|
+
flex: 1 1 auto;
|
|
250
|
+
grid-template-columns: minmax(0, 1fr);
|
|
251
|
+
align-items: center;
|
|
252
|
+
box-sizing: border-box;
|
|
253
|
+
min-inline-size: 0;
|
|
254
|
+
max-inline-size: 100%;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
:where(.ds-table__caption-content > slot) {
|
|
258
|
+
display: contents;
|
|
259
|
+
}
|
|
260
|
+
|
|
187
261
|
:where(.ds-table--caption-visible .ds-table__frame),
|
|
188
262
|
:where(.ds-table--caption-visible .ds-table__viewport) {
|
|
189
263
|
border-start-start-radius: 0;
|
|
@@ -306,9 +380,18 @@
|
|
|
306
380
|
inline-size: 100%;
|
|
307
381
|
block-size: var(--_table-row-min-block-size);
|
|
308
382
|
overflow: hidden;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
:where(.ds-table--document-sticky-header .ds-table__sticky-group) {
|
|
309
386
|
will-change: inset-block-start;
|
|
310
387
|
}
|
|
311
388
|
|
|
389
|
+
:where(.ds-table--contained-sticky-header .ds-table__sticky-group) {
|
|
390
|
+
inset-block-start: var(--_table-header-min-block-size);
|
|
391
|
+
transform: translateY(var(--_table-sticky-group-push, 0));
|
|
392
|
+
will-change: transform;
|
|
393
|
+
}
|
|
394
|
+
|
|
312
395
|
:where(.ds-table__sticky-group .ds-table__group-content) {
|
|
313
396
|
position: relative;
|
|
314
397
|
}
|
|
@@ -452,6 +535,21 @@
|
|
|
452
535
|
vertical-align: top;
|
|
453
536
|
}
|
|
454
537
|
|
|
538
|
+
/*
|
|
539
|
+
* Native table cells add their block padding outside the declared content
|
|
540
|
+
* height and grow together with their row. Grid items use border-box sizing,
|
|
541
|
+
* so restore intrinsic sizing and grid-track stretch for the grouped-sticky
|
|
542
|
+
* renderer instead of turning the native recipe's base sizes into hard caps.
|
|
543
|
+
*/
|
|
544
|
+
:where(.ds-table__table--native-group-sticky .ds-table__header-cell) {
|
|
545
|
+
min-block-size: var(--_table-header-min-block-size);
|
|
546
|
+
block-size: auto;
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
:where(.ds-table__table--native-group-sticky .ds-table__cell) {
|
|
550
|
+
block-size: auto;
|
|
551
|
+
}
|
|
552
|
+
|
|
455
553
|
:where(.ds-table__header-cell + .ds-table__header-cell) {
|
|
456
554
|
border-inline-start: 0;
|
|
457
555
|
}
|
|
@@ -710,9 +808,7 @@
|
|
|
710
808
|
}
|
|
711
809
|
|
|
712
810
|
:where(.ds-table__cell-tag-stack--tag-with-text .ds-table__cell-tag-text) {
|
|
713
|
-
padding-inline:
|
|
714
|
-
var(--_table-cell-track-padding-inline) + var(--_table-cell-track-label-inset)
|
|
715
|
-
);
|
|
811
|
+
padding-inline: var(--_table-cell-track-padding-inline);
|
|
716
812
|
padding-block: var(--dimension-space-025);
|
|
717
813
|
min-block-size: 0;
|
|
718
814
|
}
|
|
@@ -991,6 +1087,13 @@
|
|
|
991
1087
|
background: transparent;
|
|
992
1088
|
}
|
|
993
1089
|
|
|
1090
|
+
/* Each real section owns one sticky row and its own push-off boundary. */
|
|
1091
|
+
:where(.ds-table--contained-sticky-header .ds-table__group-row--native-sticky) {
|
|
1092
|
+
position: sticky;
|
|
1093
|
+
inset-block-start: var(--_table-header-min-block-size);
|
|
1094
|
+
z-index: 5;
|
|
1095
|
+
}
|
|
1096
|
+
|
|
994
1097
|
/* Intentful groups resolve from their faint signal into neutral at the trailing edge. */
|
|
995
1098
|
:where(.ds-table__group-cell--intent-brand),
|
|
996
1099
|
:where(.ds-table__group-cell--intent-negative),
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import { type ControlWidth } from '../../utils';
|
|
3
|
+
import type { AnchoredAlign, AnchoredSide } from '../../utils/anchored-position';
|
|
4
|
+
export type FilterMenuFilterKind = 'single' | 'multiple' | 'boolean' | 'date';
|
|
5
|
+
export type FilterMenuSize = 'lg' | 'md' | 'sm' | 'xs';
|
|
6
|
+
export type FilterMenuWidth = ControlWidth;
|
|
7
|
+
export interface FilterMenuOption {
|
|
8
|
+
label: string;
|
|
9
|
+
value: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
isInactive?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface FilterMenuFilter {
|
|
14
|
+
id: string;
|
|
15
|
+
label: string;
|
|
16
|
+
kind: FilterMenuFilterKind;
|
|
17
|
+
options?: FilterMenuOption[];
|
|
18
|
+
description?: string;
|
|
19
|
+
fieldLabel?: string;
|
|
20
|
+
/** Draw a standard menu-section divider after this category. */
|
|
21
|
+
divider?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export type FilterMenuValue = string[] | boolean | string;
|
|
24
|
+
export type FilterMenuValues = Record<string, FilterMenuValue | undefined>;
|
|
25
|
+
export interface FilterMenuChangeDetail {
|
|
26
|
+
filterId: string;
|
|
27
|
+
value: FilterMenuValue;
|
|
28
|
+
}
|
|
29
|
+
export declare class FilterMenu {
|
|
30
|
+
el: HTMLElement;
|
|
31
|
+
/** Controlled popup visibility. */
|
|
32
|
+
open: boolean;
|
|
33
|
+
/** Select trigger text. The selected count is appended automatically. */
|
|
34
|
+
triggerLabel: string;
|
|
35
|
+
/** Optional select trigger prefix icon name. */
|
|
36
|
+
icon: string | undefined;
|
|
37
|
+
/** Select trigger density. */
|
|
38
|
+
size: FilterMenuSize;
|
|
39
|
+
/** Select trigger width fit. */
|
|
40
|
+
width: FilterMenuWidth;
|
|
41
|
+
/** Show the surface-aware inset border around the select trigger. */
|
|
42
|
+
hasBorder: boolean;
|
|
43
|
+
/** Show selected interaction fill when one or more criteria are active. */
|
|
44
|
+
activeFill: boolean;
|
|
45
|
+
/** ID applied to the internal select trigger. */
|
|
46
|
+
inputId: string | undefined;
|
|
47
|
+
/** Direct accessible name for the internal select trigger. */
|
|
48
|
+
ariaLabel: string | null;
|
|
49
|
+
/** Product-owned filter categories and option definitions. */
|
|
50
|
+
filters: FilterMenuFilter[];
|
|
51
|
+
/** Controlled values keyed by filter id. */
|
|
52
|
+
values: FilterMenuValues;
|
|
53
|
+
/** Controlled category shown in the option pane. */
|
|
54
|
+
activeFilterId: string | undefined;
|
|
55
|
+
/** External trigger element to position against. */
|
|
56
|
+
anchor: HTMLElement | undefined;
|
|
57
|
+
/** ID of the external trigger element used for positioning and focus return. */
|
|
58
|
+
anchorId: string | undefined;
|
|
59
|
+
/** Preferred popup side; collision handling may flip it. */
|
|
60
|
+
side: AnchoredSide;
|
|
61
|
+
/** Cross-axis alignment against the trigger. */
|
|
62
|
+
align: AnchoredAlign;
|
|
63
|
+
/** Gap between trigger and popup — number in px or a TokoMo length. */
|
|
64
|
+
sideOffset: number | string;
|
|
65
|
+
/** Cross-axis offset — number in px or a TokoMo length. */
|
|
66
|
+
alignOffset: number | string;
|
|
67
|
+
/** Popup width. It remains clamped to the viewport by the component recipe. */
|
|
68
|
+
menuWidth: string;
|
|
69
|
+
/** Accessible name for the non-modal filter dialog. */
|
|
70
|
+
menuLabel: string;
|
|
71
|
+
/** Accessible name for the category tab list. */
|
|
72
|
+
categoriesLabel: string;
|
|
73
|
+
/** Footer action and date-clear accessible label. */
|
|
74
|
+
clearLabel: string;
|
|
75
|
+
/** Show a visible focus ring on initial entry after keyboard activation. */
|
|
76
|
+
initialFocusVisible: boolean;
|
|
77
|
+
private shouldRender;
|
|
78
|
+
private closing;
|
|
79
|
+
private positionReady;
|
|
80
|
+
private pos;
|
|
81
|
+
private focusRingVisible;
|
|
82
|
+
private activeOptionIndex;
|
|
83
|
+
/** Requests a controlled value replacement without closing the popup. */
|
|
84
|
+
dsChange: EventEmitter<FilterMenuChangeDetail>;
|
|
85
|
+
/** Requests that the consumer clear every filter value. */
|
|
86
|
+
dsClear: EventEmitter<void>;
|
|
87
|
+
/** Requests a controlled active-category replacement. */
|
|
88
|
+
dsActiveFilterChange: EventEmitter<string>;
|
|
89
|
+
/** Requests that the controlled popup close. */
|
|
90
|
+
dsClose: EventEmitter<void>;
|
|
91
|
+
/** Emitted whenever internal select-trigger activation changes popup visibility. */
|
|
92
|
+
dsOpenChange: EventEmitter<boolean>;
|
|
93
|
+
/** Emitted after exit motion and rendered popup removal complete. */
|
|
94
|
+
dsAfterClose: EventEmitter<void>;
|
|
95
|
+
private readonly generatedId;
|
|
96
|
+
private outsideHandler;
|
|
97
|
+
private triggerElement;
|
|
98
|
+
private pendingInitialFocusVisible;
|
|
99
|
+
private closeTimer;
|
|
100
|
+
private closingSnapshot;
|
|
101
|
+
private readonly position;
|
|
102
|
+
componentDidLoad(): void;
|
|
103
|
+
disconnectedCallback(): void;
|
|
104
|
+
onOpenChange(isOpen: boolean): void;
|
|
105
|
+
onPositionInputChange(): void;
|
|
106
|
+
handleKeyDown(event: KeyboardEvent): void;
|
|
107
|
+
private get resolvedAnchor();
|
|
108
|
+
private get usesInternalTrigger();
|
|
109
|
+
private get anchorFocusTarget();
|
|
110
|
+
private get viewportPad();
|
|
111
|
+
private get popupFallbackWidth();
|
|
112
|
+
private get popupFallbackHeight();
|
|
113
|
+
private setupListeners;
|
|
114
|
+
private teardownListeners;
|
|
115
|
+
private close;
|
|
116
|
+
private toggleFromTrigger;
|
|
117
|
+
private handleTriggerKeyDown;
|
|
118
|
+
private finishClose;
|
|
119
|
+
private captureClosingSnapshot;
|
|
120
|
+
private focusAnchor;
|
|
121
|
+
private focusInitialCategory;
|
|
122
|
+
private tabLeavesPopup;
|
|
123
|
+
private moveFocusAfterTab;
|
|
124
|
+
private selectedFilter;
|
|
125
|
+
private selectedCount;
|
|
126
|
+
private totalSelected;
|
|
127
|
+
private activeFilterCount;
|
|
128
|
+
private selectCategory;
|
|
129
|
+
private handleCategoryKeyDown;
|
|
130
|
+
private handlePanelKeyDown;
|
|
131
|
+
private handleOptionKeyDown;
|
|
132
|
+
private toggleMultiple;
|
|
133
|
+
private selectOption;
|
|
134
|
+
private renderOptions;
|
|
135
|
+
render(): any;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=FilterMenu.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
import { type ChoicePopupAnchorAlignment, type ControlSize } from '../../utils';
|
|
3
3
|
import type { MenuAlign, MenuSide } from './menu-position';
|
|
4
|
-
import type
|
|
4
|
+
import { type MenuItemData, type MenuSection } from './menu-types';
|
|
5
5
|
export type MenuSelectionMode = 'none' | 'single';
|
|
6
6
|
export type MenuSize = ControlSize;
|
|
7
7
|
export declare class Menu {
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import type { SwatchPickerOption, SwatchPickerSection } from '../SwatchPicker/swatch-picker-types';
|
|
2
|
+
import type { TagContrast, TagIntent } from '../Tag/Tag';
|
|
2
3
|
export type { MenuAlign, MenuSide } from './menu-position';
|
|
3
4
|
export { PANEL_NAV_USER_MENU_PLACEMENT, PANEL_TOOLS_HEADER_MENU_PLACEMENT, type MenuPlacement, } from './menu-placement';
|
|
5
|
+
export interface MenuItemTagData {
|
|
6
|
+
label: string;
|
|
7
|
+
intent?: TagIntent;
|
|
8
|
+
contrast?: TagContrast;
|
|
9
|
+
rounded?: boolean;
|
|
10
|
+
}
|
|
4
11
|
export interface MenuItemData {
|
|
5
12
|
label: string;
|
|
6
13
|
value?: string;
|
|
7
14
|
subtext?: string;
|
|
8
15
|
/** Show a supplemental brand notification dot. */
|
|
9
16
|
dot?: boolean;
|
|
17
|
+
/** Show a non-interactive tag at the trailing edge of the row. */
|
|
18
|
+
tag?: MenuItemTagData;
|
|
10
19
|
isSelected?: boolean;
|
|
11
20
|
isInactive?: boolean;
|
|
12
21
|
isDestructive?: boolean;
|
|
@@ -6,7 +6,13 @@ export type SelectSection = ChoiceSection;
|
|
|
6
6
|
export type SelectBackground = ChoiceBackground;
|
|
7
7
|
export type SelectSize = 'lg' | 'md' | 'sm' | 'xs';
|
|
8
8
|
export type SelectWidth = ControlWidth;
|
|
9
|
+
export type SelectPopupAlign = 'start' | 'end';
|
|
9
10
|
export type SelectValue = string | string[];
|
|
11
|
+
export interface SelectOptionActionDetail {
|
|
12
|
+
value: string;
|
|
13
|
+
anchorId: string;
|
|
14
|
+
originalEvent: MouseEvent;
|
|
15
|
+
}
|
|
10
16
|
export declare class Select {
|
|
11
17
|
el: HTMLElement;
|
|
12
18
|
internals: ElementInternals;
|
|
@@ -30,10 +36,18 @@ export declare class Select {
|
|
|
30
36
|
requiredMessage: string;
|
|
31
37
|
/** Trigger text shown when no valid value is selected. */
|
|
32
38
|
placeholder: string;
|
|
39
|
+
/** Optional scalar-mode trigger text that does not change the selected option label. */
|
|
40
|
+
triggerLabel: string | undefined;
|
|
41
|
+
/** Present triggerLabel with placeholder emphasis while preserving the selected value. */
|
|
42
|
+
triggerLabelPlaceholder: boolean;
|
|
43
|
+
/** Show a supplemental notification dot beside the trigger label. */
|
|
44
|
+
dot: boolean;
|
|
33
45
|
/** Control density. */
|
|
34
46
|
size: SelectSize;
|
|
35
47
|
/** Width fit — hug content (default) or fill the parent. */
|
|
36
48
|
width: SelectWidth;
|
|
49
|
+
/** Align the popup's choice edge to the trigger start or end edge. */
|
|
50
|
+
popupAlign: SelectPopupAlign;
|
|
37
51
|
/** Shared inactive treatment; removes interaction and form submission. */
|
|
38
52
|
isInactive: boolean;
|
|
39
53
|
/** Replace the prefix with a loader and disable option interaction. */
|
|
@@ -50,6 +64,8 @@ export declare class Select {
|
|
|
50
64
|
clearLabel: string;
|
|
51
65
|
/** Localized noun displayed after the selected count in multiple mode. */
|
|
52
66
|
selectedLabel: string;
|
|
67
|
+
/** Optional text action shown in the popup footer instead of the clear action. */
|
|
68
|
+
footerActionLabel: string | undefined;
|
|
53
69
|
/** Show immediate local filtering over option labels, subtext, and section headings. */
|
|
54
70
|
searchable: boolean;
|
|
55
71
|
/** Localized search-field placeholder and accessible name. */
|
|
@@ -78,23 +94,36 @@ export declare class Select {
|
|
|
78
94
|
dsClear: EventEmitter<void>;
|
|
79
95
|
/** Emitted whenever popup visibility changes. */
|
|
80
96
|
dsOpenChange: EventEmitter<boolean>;
|
|
97
|
+
/** Emitted when the optional popup footer action is activated. */
|
|
98
|
+
dsFooterAction: EventEmitter<void>;
|
|
99
|
+
/** Emitted when an option's contextual ellipsis action is activated. */
|
|
100
|
+
dsOptionAction: EventEmitter<SelectOptionActionDetail>;
|
|
81
101
|
private activeIndex;
|
|
82
102
|
private searchTerm;
|
|
83
103
|
private formDisabled;
|
|
84
104
|
private position;
|
|
85
105
|
private positionReady;
|
|
86
106
|
private focusRingVisible;
|
|
107
|
+
private compactFooterSummary;
|
|
87
108
|
private readonly generatedId;
|
|
88
109
|
private readonly listboxId;
|
|
89
110
|
private readonly errorId;
|
|
90
111
|
private initialValue;
|
|
91
112
|
private readonly controller;
|
|
113
|
+
private footerContentElement?;
|
|
114
|
+
private footerSummaryMeasureElement?;
|
|
115
|
+
private footerClearElement?;
|
|
116
|
+
private footerResizeObserver?;
|
|
117
|
+
private observedFooterContentElement?;
|
|
118
|
+
private footerMeasurementFrame?;
|
|
92
119
|
private createController;
|
|
93
120
|
componentWillLoad(): void;
|
|
94
121
|
componentDidLoad(): void;
|
|
122
|
+
componentDidRender(): void;
|
|
95
123
|
disconnectedCallback(): void;
|
|
96
124
|
syncFormValue(): void;
|
|
97
125
|
onLoadingChange(): void;
|
|
126
|
+
onPopupAlignChange(): void;
|
|
98
127
|
onOpenChange(open: boolean): void;
|
|
99
128
|
onSearchTermChange(): void;
|
|
100
129
|
onActiveIndexChange(): void;
|
|
@@ -113,10 +142,15 @@ export declare class Select {
|
|
|
113
142
|
private get selectedOption();
|
|
114
143
|
private get hasSelection();
|
|
115
144
|
private get activeOptionId();
|
|
145
|
+
private get popupRole();
|
|
146
|
+
private observeFooterContent;
|
|
147
|
+
private scheduleFooterSummaryMeasurement;
|
|
148
|
+
private measureFooterSummary;
|
|
116
149
|
private closePopup;
|
|
117
150
|
private openPopup;
|
|
118
151
|
private selectOption;
|
|
119
152
|
private clearSelection;
|
|
153
|
+
private activateFooterAction;
|
|
120
154
|
private readonly handleListKeyDown;
|
|
121
155
|
private readonly handleTriggerKeyDown;
|
|
122
156
|
private renderOption;
|
|
@@ -81,9 +81,7 @@ export declare class Table {
|
|
|
81
81
|
private announcement;
|
|
82
82
|
private activeStickyGroupId;
|
|
83
83
|
private viewportFitSettled;
|
|
84
|
-
private
|
|
85
|
-
private headerCopyPresent;
|
|
86
|
-
private headerTrailingPresent;
|
|
84
|
+
private headerPresent;
|
|
87
85
|
private rootEl;
|
|
88
86
|
private viewportEl;
|
|
89
87
|
private frameEl;
|
|
@@ -108,6 +106,7 @@ export declare class Table {
|
|
|
108
106
|
private syncHeaderSlotPresence;
|
|
109
107
|
private connectHeaderSlotObserver;
|
|
110
108
|
private connectStickyGroup;
|
|
109
|
+
private syncStickyGroupConnection;
|
|
111
110
|
private disconnectStickyGroup;
|
|
112
111
|
private readonly updateStickyGroup;
|
|
113
112
|
handleStructureChange(): void;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export interface TableLayoutElements {
|
|
2
2
|
viewport: HTMLElement | null;
|
|
3
|
-
table: HTMLTableElement | null;
|
|
4
3
|
stickyHeaderTable: HTMLTableElement | null;
|
|
5
4
|
collapseAllOverlay: HTMLElement | null;
|
|
6
5
|
frame: HTMLElement | null;
|
|
@@ -28,7 +27,6 @@ export interface TableLayoutMetricInput {
|
|
|
28
27
|
scrollInlineSize: number;
|
|
29
28
|
scrollBlockSize: number;
|
|
30
29
|
scrollInlineOffset: number;
|
|
31
|
-
tableInlineSize: number;
|
|
32
30
|
collapseHeadBlockStart?: number;
|
|
33
31
|
collapseFrameBlockStart?: number;
|
|
34
32
|
}
|
|
@@ -51,7 +49,6 @@ export declare class TableLayoutController {
|
|
|
51
49
|
private readonly options;
|
|
52
50
|
private connected;
|
|
53
51
|
private connectedViewport;
|
|
54
|
-
private observedTable;
|
|
55
52
|
private resizeObserver;
|
|
56
53
|
private frame;
|
|
57
54
|
private overflow;
|