@ds-mo/ui 13.18.0 → 14.0.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 +2 -2
- package/dist/agent.json +137 -17
- package/dist/angular/ds-bar-action.d.ts +18 -0
- package/dist/angular/ds-bar-action.js +42 -0
- package/dist/angular/ds-table.d.ts +1 -4
- package/dist/angular/ds-table.js +2 -5
- 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-avatar.js +1 -1
- package/dist/components/ds-banner.js +1 -1
- package/dist/components/ds-bar-action.d.ts +11 -0
- package/dist/components/ds-bar-action.js +2 -0
- package/dist/components/ds-bar-action.js.map +1 -0
- 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-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-setting.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.js +1 -1
- package/dist/components/ds-filter-menu.js.map +1 -1
- package/dist/components/ds-icon.js +1 -1
- package/dist/components/ds-input.js +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-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-panel-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-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-swatch-picker.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-toast.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/{p-BxQlH4gl.js → p--z-DWRkg.js} +2 -2
- package/dist/components/p--z-DWRkg.js.map +1 -0
- package/dist/components/{p-DtvJTPds.js → p-1KtrhAC7.js} +2 -2
- package/dist/components/p-1KtrhAC7.js.map +1 -0
- package/dist/components/{p-BqFKxWVl.js → p-B7Hf86NF.js} +2 -2
- package/dist/components/{p-BCfgU8Fh.js → p-BDCrM8-1.js} +2 -2
- package/dist/components/p-BFfLvMZd.js +2 -0
- package/dist/components/p-BFfLvMZd.js.map +1 -0
- package/dist/components/p-BKsWDUnX.js +2 -0
- package/dist/components/p-BKsWDUnX.js.map +1 -0
- package/dist/components/{p-BOjGzd5N.js → p-BagXfn1G.js} +2 -2
- package/dist/components/{p-DeBto13S.js → p-Bf_D3crn.js} +2 -2
- package/dist/components/{p-CUQTEeLp.js → p-CElfUmMp.js} +2 -2
- package/dist/components/{p-BMq4DJWh.js → p-CIhETsHv.js} +2 -2
- package/dist/components/{p-5uI3i2vg.js → p-CQS5aWiC.js} +2 -2
- package/dist/components/{p-oyZjjoYV.js → p-CUeuemsF.js} +2 -2
- package/dist/components/{p-BQkZ8FIl.js → p-Cae9PFPE.js} +2 -2
- package/dist/components/{p-C_tqXl5P.js → p-Cih1XCy3.js} +2 -2
- package/dist/components/{p-N4m0evkj.js → p-CoTD4Mmb.js} +2 -2
- package/dist/components/{p-C7ywYAzN.js → p-D-kWb8cF.js} +2 -2
- package/dist/components/{p-BtY2nJW4.js → p-D0i_J2rj.js} +2 -2
- package/dist/components/{p-Qzh-wyTg.js → p-DLkNcCY0.js} +2 -2
- package/dist/components/p-DXHq_AfZ.js +2 -0
- package/dist/components/{p-CP2W8qxB.js.map → p-DXHq_AfZ.js.map} +1 -1
- package/dist/components/{p-Xr9OO-Ao.js → p-DXgSSxyB.js} +2 -2
- package/dist/components/{p-CswBI711.js → p-DY_sA9Jz.js} +2 -2
- package/dist/components/{p-BDsAON4I.js → p-DatlGTJp.js} +2 -2
- package/dist/components/{p-NzOcZg8r.js → p-DcPVSNDr.js} +2 -2
- package/dist/components/{p-CB8iBV_M.js → p-DofS_hVZ.js} +2 -2
- package/dist/components/p-DofS_hVZ.js.map +1 -0
- package/dist/components/{p-smzwm_EW.js → p-S9IjLCGj.js} +2 -2
- package/dist/components/{p-C8keZ4k6.js → p-ZtJM0cZm.js} +2 -2
- package/dist/components/{p-NuRg_IoA.js → p-nMkoXLC0.js} +2 -2
- package/dist/docs/components.json +170 -30
- package/dist/mcp-data/registry/agent-activity.json +2 -2
- package/dist/mcp-data/registry/agent-questionnaire.json +2 -2
- package/dist/mcp-data/registry/agent-response.json +2 -2
- package/dist/mcp-data/registry/agent-source-list.json +2 -2
- package/dist/mcp-data/registry/agent-tool-call.json +2 -2
- package/dist/mcp-data/registry/attachment-list.json +2 -2
- package/dist/mcp-data/registry/avatar.json +2 -2
- package/dist/mcp-data/registry/badge.json +2 -2
- package/dist/mcp-data/registry/banner.json +2 -2
- package/dist/mcp-data/registry/bar-action.json +237 -0
- package/dist/mcp-data/registry/bar-nav.json +2 -2
- package/dist/mcp-data/registry/bar-title.json +2 -2
- package/dist/mcp-data/registry/bar-workflow.json +2 -2
- package/dist/mcp-data/registry/breadcrumb.json +2 -2
- package/dist/mcp-data/registry/button-filled.json +2 -2
- package/dist/mcp-data/registry/button-unfilled.json +8 -8
- package/dist/mcp-data/registry/card-chart.json +2 -2
- package/dist/mcp-data/registry/card-overview.json +3 -3
- package/dist/mcp-data/registry/card-setting.json +2 -2
- package/dist/mcp-data/registry/chart-legend.json +2 -2
- package/dist/mcp-data/registry/chart.json +2 -2
- package/dist/mcp-data/registry/checkbox.json +2 -2
- package/dist/mcp-data/registry/chip.json +2 -2
- package/dist/mcp-data/registry/code-block.json +2 -2
- package/dist/mcp-data/registry/conversation-list-item.json +2 -2
- package/dist/mcp-data/registry/conversation-list-section.json +2 -2
- package/dist/mcp-data/registry/conversation-list.json +2 -2
- package/dist/mcp-data/registry/divider.json +2 -2
- package/dist/mcp-data/registry/empty-state.json +2 -2
- package/dist/mcp-data/registry/field.json +2 -2
- package/dist/mcp-data/registry/filter-menu.json +5 -4
- package/dist/mcp-data/registry/icon.json +3 -3
- package/dist/mcp-data/registry/input.json +2 -2
- package/dist/mcp-data/registry/loader.json +2 -2
- package/dist/mcp-data/registry/markdown.json +2 -2
- package/dist/mcp-data/registry/menu.json +3 -3
- package/dist/mcp-data/registry/message-actions.json +2 -2
- package/dist/mcp-data/registry/message-bubble.json +2 -2
- package/dist/mcp-data/registry/message-composer.json +2 -2
- package/dist/mcp-data/registry/message-scroller.json +2 -2
- package/dist/mcp-data/registry/message.json +2 -2
- package/dist/mcp-data/registry/mobile-bar-nav.json +2 -2
- package/dist/mcp-data/registry/mobile-header.json +2 -2
- package/dist/mcp-data/registry/mobile-section-switcher.json +2 -2
- package/dist/mcp-data/registry/mobile-sheet-nav.json +2 -2
- package/dist/mcp-data/registry/modal.json +2 -2
- package/dist/mcp-data/registry/panel-nav.json +2 -2
- package/dist/mcp-data/registry/panel-sub-nav.json +2 -2
- package/dist/mcp-data/registry/panel-tool-header.json +3 -3
- package/dist/mcp-data/registry/panel-tool-search.json +2 -2
- package/dist/mcp-data/registry/panel-tools.json +2 -2
- package/dist/mcp-data/registry/radio.json +2 -2
- package/dist/mcp-data/registry/registry.json +141 -18
- package/dist/mcp-data/registry/scroll-overlay.json +3 -3
- package/dist/mcp-data/registry/select.json +4 -3
- package/dist/mcp-data/registry/shell-app.json +3 -3
- package/dist/mcp-data/registry/shell-page.json +2 -2
- package/dist/mcp-data/registry/shell-tools.json +3 -3
- package/dist/mcp-data/registry/skeleton.json +2 -2
- package/dist/mcp-data/registry/slider.json +2 -2
- package/dist/mcp-data/registry/swatch-picker.json +2 -2
- package/dist/mcp-data/registry/switch.json +2 -2
- package/dist/mcp-data/registry/tab-group.json +2 -2
- package/dist/mcp-data/registry/table.json +16 -29
- package/dist/mcp-data/registry/tag.json +2 -2
- package/dist/mcp-data/registry/text.json +2 -2
- package/dist/mcp-data/registry/toast.json +2 -2
- package/dist/mcp-data/registry/tooltip-chart.json +2 -2
- package/dist/mcp-data/registry/tooltip.json +2 -2
- package/dist/mcp-data/registry/typing-indicator.json +2 -2
- package/dist/react/components.d.ts +1 -0
- package/dist/react/components.js +1 -0
- package/dist/react/ds-bar-action.d.ts +12 -0
- package/dist/react/ds-bar-action.js +12 -0
- package/dist/react/ds-table.d.ts +1 -2
- package/dist/react/ds-table.js +0 -1
- package/dist/styles/table.css +16 -4
- package/dist/types/components/BarAction/BarAction.d.ts +25 -0
- package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +2 -2
- package/dist/types/components/Table/Table.d.ts +2 -3
- package/dist/types/components/Table/index.d.ts +1 -1
- package/dist/types/components/Table/table-model.d.ts +1 -2
- package/dist/types/components/Table/table-types.d.ts +1 -4
- package/dist/types/components.d.ts +84 -8
- package/package.json +5 -5
- package/dist/components/p-BxQlH4gl.js.map +0 -1
- package/dist/components/p-C8U5BsJf.js +0 -2
- package/dist/components/p-C8U5BsJf.js.map +0 -1
- package/dist/components/p-CB8iBV_M.js.map +0 -1
- package/dist/components/p-CP2W8qxB.js +0 -2
- package/dist/components/p-Csq6XDgm.js +0 -2
- package/dist/components/p-Csq6XDgm.js.map +0 -1
- package/dist/components/p-DtvJTPds.js.map +0 -1
- /package/dist/components/{p-BqFKxWVl.js.map → p-B7Hf86NF.js.map} +0 -0
- /package/dist/components/{p-BCfgU8Fh.js.map → p-BDCrM8-1.js.map} +0 -0
- /package/dist/components/{p-BOjGzd5N.js.map → p-BagXfn1G.js.map} +0 -0
- /package/dist/components/{p-DeBto13S.js.map → p-Bf_D3crn.js.map} +0 -0
- /package/dist/components/{p-CUQTEeLp.js.map → p-CElfUmMp.js.map} +0 -0
- /package/dist/components/{p-BMq4DJWh.js.map → p-CIhETsHv.js.map} +0 -0
- /package/dist/components/{p-5uI3i2vg.js.map → p-CQS5aWiC.js.map} +0 -0
- /package/dist/components/{p-oyZjjoYV.js.map → p-CUeuemsF.js.map} +0 -0
- /package/dist/components/{p-BQkZ8FIl.js.map → p-Cae9PFPE.js.map} +0 -0
- /package/dist/components/{p-C_tqXl5P.js.map → p-Cih1XCy3.js.map} +0 -0
- /package/dist/components/{p-N4m0evkj.js.map → p-CoTD4Mmb.js.map} +0 -0
- /package/dist/components/{p-C7ywYAzN.js.map → p-D-kWb8cF.js.map} +0 -0
- /package/dist/components/{p-BtY2nJW4.js.map → p-D0i_J2rj.js.map} +0 -0
- /package/dist/components/{p-Qzh-wyTg.js.map → p-DLkNcCY0.js.map} +0 -0
- /package/dist/components/{p-Xr9OO-Ao.js.map → p-DXgSSxyB.js.map} +0 -0
- /package/dist/components/{p-CswBI711.js.map → p-DY_sA9Jz.js.map} +0 -0
- /package/dist/components/{p-BDsAON4I.js.map → p-DatlGTJp.js.map} +0 -0
- /package/dist/components/{p-NzOcZg8r.js.map → p-DcPVSNDr.js.map} +0 -0
- /package/dist/components/{p-smzwm_EW.js.map → p-S9IjLCGj.js.map} +0 -0
- /package/dist/components/{p-C8keZ4k6.js.map → p-ZtJM0cZm.js.map} +0 -0
- /package/dist/components/{p-NuRg_IoA.js.map → p-nMkoXLC0.js.map} +0 -0
|
@@ -277,8 +277,8 @@
|
|
|
277
277
|
},
|
|
278
278
|
"peerDependencies": {
|
|
279
279
|
"required": [
|
|
280
|
-
"@ds-mo/tokens ^6.2.
|
|
281
|
-
"@ds-mo/icons ^
|
|
280
|
+
"@ds-mo/tokens ^6.2.2",
|
|
281
|
+
"@ds-mo/icons ^7.0.0"
|
|
282
282
|
],
|
|
283
283
|
"frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
|
|
284
284
|
}
|
|
@@ -98,8 +98,8 @@
|
|
|
98
98
|
},
|
|
99
99
|
"peerDependencies": {
|
|
100
100
|
"required": [
|
|
101
|
-
"@ds-mo/tokens ^6.2.
|
|
102
|
-
"@ds-mo/icons ^
|
|
101
|
+
"@ds-mo/tokens ^6.2.2",
|
|
102
|
+
"@ds-mo/icons ^7.0.0"
|
|
103
103
|
],
|
|
104
104
|
"frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
|
|
105
105
|
}
|
|
@@ -11,6 +11,7 @@ export { DsAttachmentList } from "./ds-attachment-list.js";
|
|
|
11
11
|
export { DsAvatar } from "./ds-avatar.js";
|
|
12
12
|
export { DsBadge } from "./ds-badge.js";
|
|
13
13
|
export { DsBanner } from "./ds-banner.js";
|
|
14
|
+
export { DsBarAction } from "./ds-bar-action.js";
|
|
14
15
|
export { DsBarNav } from "./ds-bar-nav.js";
|
|
15
16
|
export { DsBarTitle } from "./ds-bar-title.js";
|
|
16
17
|
export { DsBarWorkflow } from "./ds-bar-workflow.js";
|
package/dist/react/components.js
CHANGED
|
@@ -12,6 +12,7 @@ export { DsAttachmentList } from "./ds-attachment-list.js";
|
|
|
12
12
|
export { DsAvatar } from "./ds-avatar.js";
|
|
13
13
|
export { DsBadge } from "./ds-badge.js";
|
|
14
14
|
export { DsBanner } from "./ds-banner.js";
|
|
15
|
+
export { DsBarAction } from "./ds-bar-action.js";
|
|
15
16
|
export { DsBarNav } from "./ds-bar-nav.js";
|
|
16
17
|
export { DsBarTitle } from "./ds-bar-title.js";
|
|
17
18
|
export { DsBarWorkflow } from "./ds-bar-workflow.js";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was automatically generated by the Stencil React Output Target.
|
|
3
|
+
* Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
|
|
4
|
+
*/
|
|
5
|
+
import type { EventName, StencilReactComponent } from './react-runtime.js';
|
|
6
|
+
import { type DsBarActionCustomEvent } from "@ds-mo/ui";
|
|
7
|
+
import type { Components } from "@ds-mo/ui/dist/components";
|
|
8
|
+
import { DsBarAction as DsBarActionElement } from "@ds-mo/ui/dist/components/ds-bar-action.js";
|
|
9
|
+
export type DsBarActionEvents = {
|
|
10
|
+
onDsClear: EventName<DsBarActionCustomEvent<MouseEvent>>;
|
|
11
|
+
};
|
|
12
|
+
export declare const DsBarAction: StencilReactComponent<DsBarActionElement, DsBarActionEvents, Components.DsBarAction>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { createComponent } from './react-runtime.js';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { DsBarAction as DsBarActionElement, defineCustomElement as defineDsBarAction } from "@ds-mo/ui/dist/components/ds-bar-action.js";
|
|
5
|
+
export const DsBarAction = /*@__PURE__*/ createComponent({
|
|
6
|
+
tagName: 'ds-bar-action',
|
|
7
|
+
elementClass: DsBarActionElement,
|
|
8
|
+
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
9
|
+
react: React,
|
|
10
|
+
events: { onDsClear: 'dsClear' },
|
|
11
|
+
defineCustomElement: defineDsBarAction
|
|
12
|
+
});
|
package/dist/react/ds-table.d.ts
CHANGED
|
@@ -3,12 +3,11 @@
|
|
|
3
3
|
* Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
|
|
4
4
|
*/
|
|
5
5
|
import type { EventName, StencilReactComponent } from './react-runtime.js';
|
|
6
|
-
import { type DsTableCustomEvent, type TableCellActionDetail, type TableGroupCollapseChangeDetail, type
|
|
6
|
+
import { type DsTableCustomEvent, type TableCellActionDetail, type TableGroupCollapseChangeDetail, type TableLoadMoreDetail, type TableRowActivateDetail, type TableSelectionChangeDetail, type TableSortChangeDetail } from "@ds-mo/ui";
|
|
7
7
|
import type { Components } from "@ds-mo/ui/dist/components";
|
|
8
8
|
import { DsTable as DsTableElement } from "@ds-mo/ui/dist/components/ds-table.js";
|
|
9
9
|
export type DsTableEvents = {
|
|
10
10
|
onDsSortChange: EventName<DsTableCustomEvent<TableSortChangeDetail>>;
|
|
11
|
-
onDsGroupingChange: EventName<DsTableCustomEvent<TableGroupingChangeDetail>>;
|
|
12
11
|
onDsGroupCollapseChange: EventName<DsTableCustomEvent<TableGroupCollapseChangeDetail>>;
|
|
13
12
|
onDsSelectionChange: EventName<DsTableCustomEvent<TableSelectionChangeDetail>>;
|
|
14
13
|
onDsLoadMore: EventName<DsTableCustomEvent<TableLoadMoreDetail>>;
|
package/dist/react/ds-table.js
CHANGED
|
@@ -9,7 +9,6 @@ export const DsTable = /*@__PURE__*/ createComponent({
|
|
|
9
9
|
react: React,
|
|
10
10
|
events: {
|
|
11
11
|
onDsSortChange: 'dsSortChange',
|
|
12
|
-
onDsGroupingChange: 'dsGroupingChange',
|
|
13
12
|
onDsGroupCollapseChange: 'dsGroupCollapseChange',
|
|
14
13
|
onDsSelectionChange: 'dsSelectionChange',
|
|
15
14
|
onDsLoadMore: 'dsLoadMore',
|
package/dist/styles/table.css
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
--_table-row-selected: var(--ds-table-row-selected, var(--color-interaction-active-brand));
|
|
28
28
|
--_table-border: var(--ds-table-border, var(--color-border-secondary));
|
|
29
29
|
--_table-column-border: var(--ds-table-column-border, var(--color-border-tertiary));
|
|
30
|
-
--_table-sticky-border: var(--ds-table-sticky-border, var(--color-border-
|
|
30
|
+
--_table-sticky-border: var(--ds-table-sticky-border, var(--color-border-tertiary));
|
|
31
31
|
--_table-border-strong: var(--ds-table-border-strong, var(--color-border-secondary));
|
|
32
32
|
--_table-radius: var(--ds-table-radius, var(--dimension-radius-000));
|
|
33
33
|
--_table-header-min-block-size: var(
|
|
@@ -291,16 +291,28 @@
|
|
|
291
291
|
padding: var(--ds-control-padding-inline, var(--dimension-space-075));
|
|
292
292
|
}
|
|
293
293
|
|
|
294
|
+
:where(.ds-table__bar-status) {
|
|
295
|
+
display: flex;
|
|
296
|
+
flex: 0 1 auto;
|
|
297
|
+
align-items: center;
|
|
298
|
+
min-inline-size: 0;
|
|
299
|
+
padding-inline: var(--ds-control-label-inset, var(--dimension-space-025));
|
|
300
|
+
}
|
|
301
|
+
|
|
294
302
|
:where(.ds-table__bar-copy > slot) {
|
|
295
303
|
display: contents;
|
|
296
304
|
}
|
|
297
305
|
|
|
298
|
-
:where(.ds-table__bar-copy > slot)::slotted(*) {
|
|
306
|
+
:where(.ds-table__bar-copy > slot[name='footer'])::slotted(*) {
|
|
299
307
|
flex: 1 1 auto;
|
|
300
308
|
min-inline-size: 0;
|
|
301
309
|
max-inline-size: 100%;
|
|
302
310
|
}
|
|
303
311
|
|
|
312
|
+
:where(.ds-table__footer-summary) {
|
|
313
|
+
margin-inline-start: auto;
|
|
314
|
+
}
|
|
315
|
+
|
|
304
316
|
:where(.ds-table__bar-text) {
|
|
305
317
|
display: inline-flex;
|
|
306
318
|
align-items: center;
|
|
@@ -314,7 +326,7 @@
|
|
|
314
326
|
:where(.ds-table__footer) {
|
|
315
327
|
border-end-start-radius: var(--_table-radius);
|
|
316
328
|
border-end-end-radius: var(--_table-radius);
|
|
317
|
-
border-block-start: var(--dimension-stroke-width-012) solid var(--_table-
|
|
329
|
+
border-block-start: var(--dimension-stroke-width-012) solid var(--_table-border);
|
|
318
330
|
color: var(--color-foreground-secondary);
|
|
319
331
|
}
|
|
320
332
|
|
|
@@ -529,7 +541,7 @@
|
|
|
529
541
|
block-size: var(--_table-row-min-block-size);
|
|
530
542
|
padding: var(--_table-cell-padding-block) var(--_table-cell-padding-inline);
|
|
531
543
|
--ds-interaction-group-divider-width: var(--dimension-stroke-width-012);
|
|
532
|
-
--ds-interaction-group-divider-color: var(--_table-border);
|
|
544
|
+
--ds-interaction-group-divider-color: var(--_table-column-border);
|
|
533
545
|
border-block-end: 0;
|
|
534
546
|
background-color: inherit;
|
|
535
547
|
vertical-align: top;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export declare class BarAction {
|
|
3
|
+
el: HTMLElement;
|
|
4
|
+
/** Number of selected items. The bar is hidden while this is below one. */
|
|
5
|
+
count: number;
|
|
6
|
+
/** Localized noun shown after the count. */
|
|
7
|
+
selectedLabel: string;
|
|
8
|
+
/** Visible Clear control label. */
|
|
9
|
+
clearLabel: string;
|
|
10
|
+
/** Accessible name for the selected-set action group. */
|
|
11
|
+
label: string;
|
|
12
|
+
/** Emitted when Clear is activated. The application owns the selected identities. */
|
|
13
|
+
dsClear: EventEmitter<MouseEvent>;
|
|
14
|
+
private hasActions;
|
|
15
|
+
private actionsObserver?;
|
|
16
|
+
componentWillLoad(): void;
|
|
17
|
+
componentDidLoad(): void;
|
|
18
|
+
disconnectedCallback(): void;
|
|
19
|
+
private get resolvedCount();
|
|
20
|
+
private get isVisible();
|
|
21
|
+
private updateActionsPresence;
|
|
22
|
+
private handleClear;
|
|
23
|
+
render(): any;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=BarAction.d.ts.map
|
|
@@ -60,8 +60,8 @@ export declare class ButtonUnfilled {
|
|
|
60
60
|
controls: string | undefined;
|
|
61
61
|
/**
|
|
62
62
|
* Controlled disclosure or popup state forwarded to `aria-expanded`.
|
|
63
|
-
* Popup triggers hold
|
|
64
|
-
*
|
|
63
|
+
* Popup triggers hold only the pressed wash while open; their resting
|
|
64
|
+
* foreground is unchanged. Ordinary disclosures remain visually neutral.
|
|
65
65
|
*/
|
|
66
66
|
expanded: boolean | undefined;
|
|
67
67
|
haspopup: ButtonUnfilledPopup | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
-
import type { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail,
|
|
2
|
+
import type { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from './table-types';
|
|
3
3
|
export declare class Table {
|
|
4
4
|
el: HTMLElement;
|
|
5
5
|
/** Stable column definitions. Assign through JavaScript. */
|
|
@@ -8,7 +8,7 @@ export declare class Table {
|
|
|
8
8
|
rows: TableRow[];
|
|
9
9
|
/** One level of application-owned grouped data. Assign through JavaScript. */
|
|
10
10
|
groups: TableGroup[];
|
|
11
|
-
/** Controlled grouping column
|
|
11
|
+
/** Controlled grouping column. Applications supply groups in their final fixed order. */
|
|
12
12
|
grouping: TableGroupingState | null;
|
|
13
13
|
/** Controlled member-row sort state. */
|
|
14
14
|
sort: TableSortState | null;
|
|
@@ -69,7 +69,6 @@ export declare class Table {
|
|
|
69
69
|
/** Supports {count} and {total} placeholders. */
|
|
70
70
|
rowsLoadedLabel: string;
|
|
71
71
|
dsSortChange: EventEmitter<TableSortChangeDetail>;
|
|
72
|
-
dsGroupingChange: EventEmitter<TableGroupingChangeDetail>;
|
|
73
72
|
dsGroupCollapseChange: EventEmitter<TableGroupCollapseChangeDetail>;
|
|
74
73
|
dsSelectionChange: EventEmitter<TableSelectionChangeDetail>;
|
|
75
74
|
dsLoadMore: EventEmitter<TableLoadMoreDetail>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { TableCaptionVisibility, TableCellAlign, TableCellAction, TableCellActionDetail, TableCellBlank, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellTagVariant, TableCellValue, TableColumn, TableColumnSticky, TableColumnWidth, TableGroup, TableGroupCollapseChangeDetail, TableGroupIntent, TableHeaderSegment,
|
|
1
|
+
export type { TableCaptionVisibility, TableCellAlign, TableCellAction, TableCellActionDetail, TableCellBlank, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellTagVariant, TableCellValue, TableColumn, TableColumnSticky, TableColumnWidth, TableGroup, TableGroupCollapseChangeDetail, TableGroupIntent, TableHeaderSegment, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableLoadMoreReason, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortDirection, TableSortState, } from './table-types';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TableCellBlank, TableCellAction, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellValue, TableColumn, TableGroup,
|
|
1
|
+
import type { TableCellBlank, TableCellAction, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellValue, TableColumn, TableGroup, TableRow, TableSortState } from './table-types';
|
|
2
2
|
export interface TableSelectionState {
|
|
3
3
|
selectableRowIds: string[];
|
|
4
4
|
selectedLoadedCount: number;
|
|
@@ -16,7 +16,6 @@ export declare function isTableCellBlank(value: TableCellValue): value is TableC
|
|
|
16
16
|
export declare function tableCellPrimary(value: TableCellValue): string | number | null;
|
|
17
17
|
export declare function tableRowSelectionLabel(row: TableRow, columns: TableColumn[]): string;
|
|
18
18
|
export declare function nextTableSortState(current: TableSortState | null | undefined, columnId: string): TableSortState;
|
|
19
|
-
export declare function nextTableGroupOrder(grouping: TableGroupingState): TableGroupingState;
|
|
20
19
|
export declare function toggleTableGroupCollapsed(collapsedGroupIds: string[], groupId: string): string[];
|
|
21
20
|
export declare function nextTableGroupsCollapsed(collapsedGroupIds: string[], groupIds: string[]): string[];
|
|
22
21
|
/** Host for grouped collapse-all: the trailing action lane or a scrollport-owned overlay. */
|
|
@@ -24,7 +24,7 @@ export interface TableSortState {
|
|
|
24
24
|
columnId: string;
|
|
25
25
|
direction: TableSortDirection;
|
|
26
26
|
}
|
|
27
|
-
/** One controlled grouping level
|
|
27
|
+
/** One controlled grouping level. Applications supply groups in their final fixed order. */
|
|
28
28
|
export interface TableGroupingState {
|
|
29
29
|
columnId: string;
|
|
30
30
|
direction: TableSortDirection;
|
|
@@ -178,9 +178,6 @@ export interface TableGroup {
|
|
|
178
178
|
export interface TableSortChangeDetail {
|
|
179
179
|
sort: TableSortState | null;
|
|
180
180
|
}
|
|
181
|
-
export interface TableGroupingChangeDetail {
|
|
182
|
-
grouping: TableGroupingState;
|
|
183
|
-
}
|
|
184
181
|
export interface TableSelectionChangeDetail {
|
|
185
182
|
selectedRowIds: string[];
|
|
186
183
|
scope: 'row' | 'all-loaded' | 'group';
|
|
@@ -63,7 +63,7 @@ import { SliderOrientation, SliderSize, SliderThumbAlignment, SliderValue } from
|
|
|
63
63
|
import { SwatchPickerOption, SwatchPickerSection } from "./components/SwatchPicker/swatch-picker-types";
|
|
64
64
|
import { SwitchSize } from "./components/Switch/Switch";
|
|
65
65
|
import { TabBackground, TabGroupSize as TabGroupSize1 } from "./components/TabGroup/TabGroup";
|
|
66
|
-
import { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail,
|
|
66
|
+
import { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from "./components/Table/table-types";
|
|
67
67
|
import { TagContrast, TagIntent, TagSize } from "./components/Tag/Tag";
|
|
68
68
|
import { ToastActionEventDetail, ToastCloseEventDetail, ToastEventDetail, ToastManager, ToastSwipeDirection } from "./toast";
|
|
69
69
|
import { TooltipAlign, TooltipSide, TooltipSize } from "./components/Tooltip/Tooltip";
|
|
@@ -126,7 +126,7 @@ export { SliderOrientation, SliderSize, SliderThumbAlignment, SliderValue } from
|
|
|
126
126
|
export { SwatchPickerOption, SwatchPickerSection } from "./components/SwatchPicker/swatch-picker-types";
|
|
127
127
|
export { SwitchSize } from "./components/Switch/Switch";
|
|
128
128
|
export { TabBackground, TabGroupSize as TabGroupSize1 } from "./components/TabGroup/TabGroup";
|
|
129
|
-
export { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail,
|
|
129
|
+
export { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from "./components/Table/table-types";
|
|
130
130
|
export { TagContrast, TagIntent, TagSize } from "./components/Tag/Tag";
|
|
131
131
|
export { ToastActionEventDetail, ToastCloseEventDetail, ToastEventDetail, ToastManager, ToastSwipeDirection } from "./toast";
|
|
132
132
|
export { TooltipAlign, TooltipSide, TooltipSize } from "./components/Tooltip/Tooltip";
|
|
@@ -349,6 +349,28 @@ export namespace Components {
|
|
|
349
349
|
*/
|
|
350
350
|
"orientation": BannerOrientation;
|
|
351
351
|
}
|
|
352
|
+
interface DsBarAction {
|
|
353
|
+
/**
|
|
354
|
+
* Visible Clear control label.
|
|
355
|
+
* @default 'Clear'
|
|
356
|
+
*/
|
|
357
|
+
"clearLabel": string;
|
|
358
|
+
/**
|
|
359
|
+
* Number of selected items. The bar is hidden while this is below one.
|
|
360
|
+
* @default 0
|
|
361
|
+
*/
|
|
362
|
+
"count": number;
|
|
363
|
+
/**
|
|
364
|
+
* Accessible name for the selected-set action group.
|
|
365
|
+
* @default 'Selected item actions'
|
|
366
|
+
*/
|
|
367
|
+
"label": string;
|
|
368
|
+
/**
|
|
369
|
+
* Localized noun shown after the count.
|
|
370
|
+
* @default 'selected'
|
|
371
|
+
*/
|
|
372
|
+
"selectedLabel": string;
|
|
373
|
+
}
|
|
352
374
|
interface DsBarNav {
|
|
353
375
|
/**
|
|
354
376
|
* Section base path (e.g. `/dashboard/safety`). Used with `currentUrl` to derive `value`.
|
|
@@ -653,7 +675,7 @@ export namespace Components {
|
|
|
653
675
|
*/
|
|
654
676
|
"dot": boolean;
|
|
655
677
|
/**
|
|
656
|
-
* Controlled disclosure or popup state forwarded to `aria-expanded`. Popup triggers hold
|
|
678
|
+
* Controlled disclosure or popup state forwarded to `aria-expanded`. Popup triggers hold only the pressed wash while open; their resting foreground is unchanged. Ordinary disclosures remain visually neutral.
|
|
657
679
|
*/
|
|
658
680
|
"expanded": boolean | undefined;
|
|
659
681
|
/**
|
|
@@ -2789,7 +2811,7 @@ export namespace Components {
|
|
|
2789
2811
|
*/
|
|
2790
2812
|
"fitViewport": boolean;
|
|
2791
2813
|
/**
|
|
2792
|
-
* Controlled grouping column
|
|
2814
|
+
* Controlled grouping column. Applications supply groups in their final fixed order.
|
|
2793
2815
|
* @default null
|
|
2794
2816
|
*/
|
|
2795
2817
|
"grouping": TableGroupingState | null;
|
|
@@ -3161,6 +3183,10 @@ export interface DsBannerCustomEvent<T> extends CustomEvent<T> {
|
|
|
3161
3183
|
detail: T;
|
|
3162
3184
|
target: HTMLDsBannerElement;
|
|
3163
3185
|
}
|
|
3186
|
+
export interface DsBarActionCustomEvent<T> extends CustomEvent<T> {
|
|
3187
|
+
detail: T;
|
|
3188
|
+
target: HTMLDsBarActionElement;
|
|
3189
|
+
}
|
|
3164
3190
|
export interface DsBarNavCustomEvent<T> extends CustomEvent<T> {
|
|
3165
3191
|
detail: T;
|
|
3166
3192
|
target: HTMLDsBarNavElement;
|
|
@@ -3430,6 +3456,23 @@ declare global {
|
|
|
3430
3456
|
prototype: HTMLDsBannerElement;
|
|
3431
3457
|
new (): HTMLDsBannerElement;
|
|
3432
3458
|
};
|
|
3459
|
+
interface HTMLDsBarActionElementEventMap {
|
|
3460
|
+
"dsClear": MouseEvent;
|
|
3461
|
+
}
|
|
3462
|
+
interface HTMLDsBarActionElement extends Components.DsBarAction, HTMLStencilElement {
|
|
3463
|
+
addEventListener<K extends keyof HTMLDsBarActionElementEventMap>(type: K, listener: (this: HTMLDsBarActionElement, ev: DsBarActionCustomEvent<HTMLDsBarActionElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3464
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3465
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
3466
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
3467
|
+
removeEventListener<K extends keyof HTMLDsBarActionElementEventMap>(type: K, listener: (this: HTMLDsBarActionElement, ev: DsBarActionCustomEvent<HTMLDsBarActionElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
3468
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3469
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
3470
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
3471
|
+
}
|
|
3472
|
+
var HTMLDsBarActionElement: {
|
|
3473
|
+
prototype: HTMLDsBarActionElement;
|
|
3474
|
+
new (): HTMLDsBarActionElement;
|
|
3475
|
+
};
|
|
3433
3476
|
interface HTMLDsBarNavElementEventMap {
|
|
3434
3477
|
"dsTabChange": string;
|
|
3435
3478
|
}
|
|
@@ -4268,7 +4311,6 @@ declare global {
|
|
|
4268
4311
|
};
|
|
4269
4312
|
interface HTMLDsTableElementEventMap {
|
|
4270
4313
|
"dsSortChange": TableSortChangeDetail;
|
|
4271
|
-
"dsGroupingChange": TableGroupingChangeDetail;
|
|
4272
4314
|
"dsGroupCollapseChange": TableGroupCollapseChangeDetail;
|
|
4273
4315
|
"dsSelectionChange": TableSelectionChangeDetail;
|
|
4274
4316
|
"dsLoadMore": TableLoadMoreDetail;
|
|
@@ -4379,6 +4421,7 @@ declare global {
|
|
|
4379
4421
|
"ds-avatar": HTMLDsAvatarElement;
|
|
4380
4422
|
"ds-badge": HTMLDsBadgeElement;
|
|
4381
4423
|
"ds-banner": HTMLDsBannerElement;
|
|
4424
|
+
"ds-bar-action": HTMLDsBarActionElement;
|
|
4382
4425
|
"ds-bar-nav": HTMLDsBarNavElement;
|
|
4383
4426
|
"ds-bar-title": HTMLDsBarTitleElement;
|
|
4384
4427
|
"ds-bar-workflow": HTMLDsBarWorkflowElement;
|
|
@@ -4671,6 +4714,32 @@ declare namespace LocalJSX {
|
|
|
4671
4714
|
*/
|
|
4672
4715
|
"orientation"?: BannerOrientation;
|
|
4673
4716
|
}
|
|
4717
|
+
interface DsBarAction {
|
|
4718
|
+
/**
|
|
4719
|
+
* Visible Clear control label.
|
|
4720
|
+
* @default 'Clear'
|
|
4721
|
+
*/
|
|
4722
|
+
"clearLabel"?: string;
|
|
4723
|
+
/**
|
|
4724
|
+
* Number of selected items. The bar is hidden while this is below one.
|
|
4725
|
+
* @default 0
|
|
4726
|
+
*/
|
|
4727
|
+
"count"?: number;
|
|
4728
|
+
/**
|
|
4729
|
+
* Accessible name for the selected-set action group.
|
|
4730
|
+
* @default 'Selected item actions'
|
|
4731
|
+
*/
|
|
4732
|
+
"label"?: string;
|
|
4733
|
+
/**
|
|
4734
|
+
* Emitted when Clear is activated. The application owns the selected identities.
|
|
4735
|
+
*/
|
|
4736
|
+
"onDsClear"?: (event: DsBarActionCustomEvent<MouseEvent>) => void;
|
|
4737
|
+
/**
|
|
4738
|
+
* Localized noun shown after the count.
|
|
4739
|
+
* @default 'selected'
|
|
4740
|
+
*/
|
|
4741
|
+
"selectedLabel"?: string;
|
|
4742
|
+
}
|
|
4674
4743
|
interface DsBarNav {
|
|
4675
4744
|
/**
|
|
4676
4745
|
* Section base path (e.g. `/dashboard/safety`). Used with `currentUrl` to derive `value`.
|
|
@@ -5011,7 +5080,7 @@ declare namespace LocalJSX {
|
|
|
5011
5080
|
*/
|
|
5012
5081
|
"dot"?: boolean;
|
|
5013
5082
|
/**
|
|
5014
|
-
* Controlled disclosure or popup state forwarded to `aria-expanded`. Popup triggers hold
|
|
5083
|
+
* Controlled disclosure or popup state forwarded to `aria-expanded`. Popup triggers hold only the pressed wash while open; their resting foreground is unchanged. Ordinary disclosures remain visually neutral.
|
|
5015
5084
|
*/
|
|
5016
5085
|
"expanded"?: boolean | undefined;
|
|
5017
5086
|
/**
|
|
@@ -7357,7 +7426,7 @@ declare namespace LocalJSX {
|
|
|
7357
7426
|
*/
|
|
7358
7427
|
"fitViewport"?: boolean;
|
|
7359
7428
|
/**
|
|
7360
|
-
* Controlled grouping column
|
|
7429
|
+
* Controlled grouping column. Applications supply groups in their final fixed order.
|
|
7361
7430
|
* @default null
|
|
7362
7431
|
*/
|
|
7363
7432
|
"grouping"?: TableGroupingState | null;
|
|
@@ -7417,7 +7486,6 @@ declare namespace LocalJSX {
|
|
|
7417
7486
|
"maxHeight"?: string | number | undefined;
|
|
7418
7487
|
"onDsCellAction"?: (event: DsTableCustomEvent<TableCellActionDetail>) => void;
|
|
7419
7488
|
"onDsGroupCollapseChange"?: (event: DsTableCustomEvent<TableGroupCollapseChangeDetail>) => void;
|
|
7420
|
-
"onDsGroupingChange"?: (event: DsTableCustomEvent<TableGroupingChangeDetail>) => void;
|
|
7421
7489
|
"onDsLoadMore"?: (event: DsTableCustomEvent<TableLoadMoreDetail>) => void;
|
|
7422
7490
|
"onDsRowActivate"?: (event: DsTableCustomEvent<TableRowActivateDetail>) => void;
|
|
7423
7491
|
"onDsSelectionChange"?: (event: DsTableCustomEvent<TableSelectionChangeDetail>) => void;
|
|
@@ -7787,6 +7855,12 @@ declare namespace LocalJSX {
|
|
|
7787
7855
|
"dismissLabel": string;
|
|
7788
7856
|
"announcement": BannerAnnouncement;
|
|
7789
7857
|
}
|
|
7858
|
+
interface DsBarActionAttributes {
|
|
7859
|
+
"count": number;
|
|
7860
|
+
"selectedLabel": string;
|
|
7861
|
+
"clearLabel": string;
|
|
7862
|
+
"label": string;
|
|
7863
|
+
}
|
|
7790
7864
|
interface DsBarNavAttributes {
|
|
7791
7865
|
"navStyle": NavChromeStyle;
|
|
7792
7866
|
"value": string;
|
|
@@ -8451,6 +8525,7 @@ declare namespace LocalJSX {
|
|
|
8451
8525
|
"ds-avatar": Omit<DsAvatar, keyof DsAvatarAttributes> & { [K in keyof DsAvatar & keyof DsAvatarAttributes]?: DsAvatar[K] } & { [K in keyof DsAvatar & keyof DsAvatarAttributes as `attr:${K}`]?: DsAvatarAttributes[K] } & { [K in keyof DsAvatar & keyof DsAvatarAttributes as `prop:${K}`]?: DsAvatar[K] };
|
|
8452
8526
|
"ds-badge": Omit<DsBadge, keyof DsBadgeAttributes> & { [K in keyof DsBadge & keyof DsBadgeAttributes]?: DsBadge[K] } & { [K in keyof DsBadge & keyof DsBadgeAttributes as `attr:${K}`]?: DsBadgeAttributes[K] } & { [K in keyof DsBadge & keyof DsBadgeAttributes as `prop:${K}`]?: DsBadge[K] };
|
|
8453
8527
|
"ds-banner": Omit<DsBanner, keyof DsBannerAttributes> & { [K in keyof DsBanner & keyof DsBannerAttributes]?: DsBanner[K] } & { [K in keyof DsBanner & keyof DsBannerAttributes as `attr:${K}`]?: DsBannerAttributes[K] } & { [K in keyof DsBanner & keyof DsBannerAttributes as `prop:${K}`]?: DsBanner[K] } & OneOf<"description", DsBanner["description"], DsBannerAttributes["description"]>;
|
|
8528
|
+
"ds-bar-action": Omit<DsBarAction, keyof DsBarActionAttributes> & { [K in keyof DsBarAction & keyof DsBarActionAttributes]?: DsBarAction[K] } & { [K in keyof DsBarAction & keyof DsBarActionAttributes as `attr:${K}`]?: DsBarActionAttributes[K] } & { [K in keyof DsBarAction & keyof DsBarActionAttributes as `prop:${K}`]?: DsBarAction[K] };
|
|
8454
8529
|
"ds-bar-nav": Omit<DsBarNav, keyof DsBarNavAttributes> & { [K in keyof DsBarNav & keyof DsBarNavAttributes]?: DsBarNav[K] } & { [K in keyof DsBarNav & keyof DsBarNavAttributes as `attr:${K}`]?: DsBarNavAttributes[K] } & { [K in keyof DsBarNav & keyof DsBarNavAttributes as `prop:${K}`]?: DsBarNav[K] };
|
|
8455
8530
|
"ds-bar-title": Omit<DsBarTitle, keyof DsBarTitleAttributes> & { [K in keyof DsBarTitle & keyof DsBarTitleAttributes]?: DsBarTitle[K] } & { [K in keyof DsBarTitle & keyof DsBarTitleAttributes as `attr:${K}`]?: DsBarTitleAttributes[K] } & { [K in keyof DsBarTitle & keyof DsBarTitleAttributes as `prop:${K}`]?: DsBarTitle[K] } & OneOf<"heading", DsBarTitle["heading"], DsBarTitleAttributes["heading"]>;
|
|
8456
8531
|
"ds-bar-workflow": Omit<DsBarWorkflow, keyof DsBarWorkflowAttributes> & { [K in keyof DsBarWorkflow & keyof DsBarWorkflowAttributes]?: DsBarWorkflow[K] } & { [K in keyof DsBarWorkflow & keyof DsBarWorkflowAttributes as `attr:${K}`]?: DsBarWorkflowAttributes[K] } & { [K in keyof DsBarWorkflow & keyof DsBarWorkflowAttributes as `prop:${K}`]?: DsBarWorkflow[K] } & OneOf<"heading", DsBarWorkflow["heading"], DsBarWorkflowAttributes["heading"]>;
|
|
@@ -8525,6 +8600,7 @@ declare module "@stencil/core" {
|
|
|
8525
8600
|
"ds-avatar": LocalJSX.IntrinsicElements["ds-avatar"] & JSXBase.HTMLAttributes<HTMLDsAvatarElement>;
|
|
8526
8601
|
"ds-badge": LocalJSX.IntrinsicElements["ds-badge"] & JSXBase.HTMLAttributes<HTMLDsBadgeElement>;
|
|
8527
8602
|
"ds-banner": LocalJSX.IntrinsicElements["ds-banner"] & JSXBase.HTMLAttributes<HTMLDsBannerElement>;
|
|
8603
|
+
"ds-bar-action": LocalJSX.IntrinsicElements["ds-bar-action"] & JSXBase.HTMLAttributes<HTMLDsBarActionElement>;
|
|
8528
8604
|
"ds-bar-nav": LocalJSX.IntrinsicElements["ds-bar-nav"] & JSXBase.HTMLAttributes<HTMLDsBarNavElement>;
|
|
8529
8605
|
"ds-bar-title": LocalJSX.IntrinsicElements["ds-bar-title"] & JSXBase.HTMLAttributes<HTMLDsBarTitleElement>;
|
|
8530
8606
|
"ds-bar-workflow": LocalJSX.IntrinsicElements["ds-bar-workflow"] & JSXBase.HTMLAttributes<HTMLDsBarWorkflowElement>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ds-mo/ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.0.0",
|
|
4
4
|
"description": "CompoMo — composable web components styled with TokoMo design tokens",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|
|
@@ -109,8 +109,8 @@
|
|
|
109
109
|
"peerDependencies": {
|
|
110
110
|
"@angular/core": ">=19 <23",
|
|
111
111
|
"@angular/forms": ">=19 <23",
|
|
112
|
-
"@ds-mo/icons": "^
|
|
113
|
-
"@ds-mo/tokens": "^6.2.
|
|
112
|
+
"@ds-mo/icons": "^7.0.0",
|
|
113
|
+
"@ds-mo/tokens": "^6.2.2",
|
|
114
114
|
"react": "^18 || ^19",
|
|
115
115
|
"react-dom": "^18 || ^19",
|
|
116
116
|
"rxjs": "^7.8.0"
|
|
@@ -138,8 +138,8 @@
|
|
|
138
138
|
"@angular/core": "^22.0.7",
|
|
139
139
|
"@angular/forms": "^22.0.7",
|
|
140
140
|
"@axe-core/playwright": "^4.12.1",
|
|
141
|
-
"@ds-mo/icons": "^
|
|
142
|
-
"@ds-mo/tokens": "^6.2.
|
|
141
|
+
"@ds-mo/icons": "^7.0.0",
|
|
142
|
+
"@ds-mo/tokens": "^6.2.2",
|
|
143
143
|
"@eslint/js": "^10.0.1",
|
|
144
144
|
"@fontsource-variable/inter": "^5.3.0",
|
|
145
145
|
"@fontsource/fira-code": "^5.3.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["buttonUnfilledCss","ButtonUnfilled","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","size","isInset","insetDepth","width","label","icon","isActive","activeFill","hasBorder","rounded","pressScale","dot","isInactive","isLoading","type","ariaLabel","hasMenu","buttonEl","handleClick","event","preventDefault","stopPropagation","dsClick","emit","pressed","undefined","dsChange","setFocus","focus","showDot","resolvedHaspopup","haspopup","doubleInset","expandedPopup","expanded","visuallyActive","dotRing","accessibleName","render","bg","background","cls","h","Host","key","class","controlWidthClass","tabIndex","ref","el","disabled","focusTabIndex","controls","String","onPointerDown","beginElevatedControlPress","onClick","renderButtonContent","namespace","visible"],"sources":["src/wc/components/ButtonUnfilled/ButtonUnfilled.css?tag=ds-button-unfilled&encapsulation=scoped","src/wc/components/ButtonUnfilled/ButtonUnfilled.tsx"],"sourcesContent":["@import '../../utils/button-base.css';\n\n:host {\n --ds-button-unfilled-fg: var(--color-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-secondary);\n --ds-button-unfilled-border: var(--color-border-secondary);\n}\n\n.button-unfilled {\n background: transparent;\n color: var(--ds-button-unfilled-fg);\n /* Hover/press/selected fill: `.ds-interaction-fill` (+ `--selected` / `--on-*`).\n Active and popup-open foreground changes resolve atomically with the fill. */\n}\n\n.button-unfilled--active {\n color: var(--ds-button-unfilled-fg-active);\n}\n\n/*\n * An open popup is a transient pressed state, not a selected state. Keep the\n * pressed wash visible for the popup's complete rendered lifecycle even when\n * shell chrome opts out of selected fills with `activeFill=false`.\n */\n/* Inset stroke via interaction-fill ::after (above selected / hover washes). */\n.button-unfilled--bordered {\n --ds-interaction-border-color: var(--ds-button-unfilled-border);\n}\n\n/* Inactive: `.ds-control-inactive` (50% opacity). */\n\n/* Foreground / chrome tokens per surface — interaction tokens come from util `--on-*`. */\n.button-unfilled--background-medium {\n --ds-button-unfilled-fg: var(--color-foreground-on-medium-background-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-on-medium-background-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-medium-neutral);\n --ds-button-unfilled-border: var(--color-border-on-medium-background-secondary);\n}\n\n.button-unfilled--background-bold {\n --ds-button-unfilled-fg: var(--color-foreground-on-bold-background-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-on-bold-background-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-bold-neutral);\n --ds-button-unfilled-border: var(--color-border-on-bold-background-secondary);\n}\n\n.button-unfilled--background-strong {\n --ds-button-unfilled-fg: var(--color-foreground-on-strong-background-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-on-strong-background-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-strong-neutral);\n --ds-button-unfilled-border: var(--color-border-on-strong-background-secondary);\n}\n\n.button-unfilled--background-translucent {\n --ds-button-unfilled-fg: var(--color-translucent-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-translucent-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-translucent-translucent);\n --ds-button-unfilled-border: var(--color-translucent-border-secondary);\n}\n\n.button-unfilled--background-inverted {\n --ds-button-unfilled-fg: var(--color-inverted-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-inverted-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-inverted-background);\n --ds-button-unfilled-border: var(--color-inverted-border-secondary);\n}\n\n.button-unfilled--background-media {\n --ds-button-unfilled-fg: var(--color-media-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-media-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-media-background);\n --ds-button-unfilled-border: var(--color-media-border-secondary);\n}\n\n.button-unfilled--on-always-dark {\n --ds-button-unfilled-fg: var(--color-always-dark-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-always-dark-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-always-dark-background);\n --ds-button-unfilled-border: var(--color-always-dark-border-secondary);\n}\n\n/*\n * After surface ring defaults: selected fill remaps the knock-out to the active\n * wash so the badge halo matches the selected background.\n */\n.button-unfilled.ds-interaction-fill--selected {\n --ds-button-unfilled-dot-ring: var(--ds-interaction-active);\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop } from '@stencil/core';\nimport { controlWidthClass } from '../../utils';\nimport { beginElevatedControlPress } from '../../utils/control-press';\nimport { renderButtonContent } from '../../utils/button-render';\nimport type { ControlInsetDepth } from '../../utils/control-text';\nimport type {\n ButtonPopup,\n ButtonSize,\n ButtonVariant,\n ButtonWidth,\n} from '../../utils/button-types';\n\nexport type ButtonUnfilledBackground =\n | 'faint'\n | 'medium'\n | 'bold'\n | 'strong'\n | 'translucent'\n | 'inverted'\n | 'media'\n | 'always-dark';\n\nexport type ButtonUnfilledVariant = ButtonVariant;\nexport type ButtonUnfilledSize = ButtonSize;\nexport type ButtonUnfilledWidth = ButtonWidth;\nexport type ButtonUnfilledPopup = ButtonPopup;\n\n@Component({\n tag: 'ds-button-unfilled',\n styleUrl: 'ButtonUnfilled.css',\n scoped: true,\n})\nexport class ButtonUnfilled {\n @Element() el!: HTMLElement;\n\n /**\n * Content layout. Default is label-only; pass `icon` for icon-only chrome\n * (nav / tool rails) or `icon-label` for leading icon + text.\n */\n @Prop() variant: ButtonUnfilledVariant = 'label';\n\n /** Control density (height, padding, icon, type). */\n @Prop() size: ButtonUnfilledSize = 'md';\n\n /** Use reduced outer geometry when nested inside a control of the same size. */\n @Prop() isInset: boolean = false;\n\n /** Single removes 4px overall; double removes 8px overall (xs stays single). */\n @Prop() insetDepth: ControlInsetDepth = 'single';\n\n /** Width fit — hug content (default) or fill the parent. */\n @Prop() width: ButtonUnfilledWidth = 'hug';\n\n /** Visible text for `label` / `icon-label` variants. */\n @Prop() label: string = '';\n\n /** Icon name passed to <ds-icon> for `icon` / `icon-label` variants. */\n @Prop() icon: string = '';\n\n /**\n * Owner-controlled visual emphasis inside a composite. This does not add\n * toggle semantics and does not emit dsChange.\n */\n @Prop() isActive: boolean = false;\n\n /**\n * When active, render the selected interaction fill.\n * Default `true` for general UI. Shell chrome (nav / tool rails) should pass\n * `false` so selection is foreground-only (primary color, no fill).\n */\n @Prop() activeFill: boolean = true;\n\n /** Show a 1px secondary inset border. Default on; shell chrome can pass `false`. */\n @Prop() hasBorder: boolean = true;\n\n /** Use the half-radius treatment instead of the default control radius. */\n @Prop() rounded: boolean = false;\n\n /**\n * Scale down during a physical pointer press.\n * Disable when an owning composite requires fixed child or background geometry.\n */\n @Prop() pressScale: boolean = true;\n\n /** Show a notification dot at the top-right of the icon zone (icon variant only). */\n @Prop() dot: boolean = false;\n\n /** Disables interaction. */\n @Prop() isInactive: boolean = false;\n\n /** Shows an inline loader and prevents interaction without applying inactive opacity. */\n @Prop() isLoading: boolean = false;\n\n /** Native button type. */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /** Actual parent surface context. Omit on primary and secondary surfaces. */\n @Prop() background: ButtonUnfilledBackground | undefined;\n\n /** Accessible name override. Required for icon-only buttons. */\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n @Prop() controls: string | undefined;\n /**\n * Controlled disclosure or popup state forwarded to `aria-expanded`.\n * Popup triggers hold a pressed visual while open; ordinary disclosures\n * retain the normal resting appearance.\n */\n @Prop() expanded: boolean | undefined;\n @Prop() haspopup: ButtonUnfilledPopup | undefined;\n /**\n * Controlled state for a genuine toggle button. Adds aria-pressed, promotes\n * active styling, and makes activation emit dsChange with the requested state.\n */\n @Prop() pressed: boolean | undefined;\n\n /**\n * Mark the button as a Menu trigger. Implies `aria-haspopup=\"menu\"` and covers\n * both menu-button shapes:\n *\n * - `label` / `icon-label` — the action *has* a menu; a trailing chevron carries\n * the affordance.\n * - `icon` — the button *is* a menu, i.e. the overflow / more-options control.\n * No chevron is added, so the glyph must convey it on its own; use `Ellipses`.\n *\n * Use `haspopup` directly for non-menu popups.\n */\n @Prop() hasMenu: boolean = false;\n\n /**\n * Native `tabindex` for roving keyboard groups in shell chrome.\n * Omit for the default button tab stop (`0`).\n */\n @Prop({ attribute: 'tab-index' }) focusTabIndex?: number;\n\n @Event() dsClick!: EventEmitter<MouseEvent>;\n @Event() dsChange!: EventEmitter<boolean>;\n\n private buttonEl: HTMLButtonElement | null = null;\n\n @Method()\n async setFocus() {\n this.buttonEl?.focus();\n }\n\n private handleClick = (event: MouseEvent) => {\n if (this.isInactive || this.isLoading) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.dsClick.emit(event);\n if (this.pressed !== undefined) this.dsChange.emit(!this.pressed);\n };\n\n private get showDot(): boolean {\n return this.variant === 'icon' && this.dot && !this.isLoading;\n }\n\n private get resolvedHaspopup(): ButtonUnfilledPopup | undefined {\n return this.haspopup ?? (this.hasMenu ? 'menu' : undefined);\n }\n\n private get doubleInset(): boolean {\n return this.isInset && this.insetDepth === 'double' && this.size !== 'xs';\n }\n\n /** Only popup triggers hold a pressed visual while expanded. */\n private get expandedPopup(): boolean {\n return this.expanded === true && this.resolvedHaspopup !== undefined && !this.isInactive;\n }\n\n private get visuallyActive(): boolean {\n return this.isActive || this.pressed === true || this.expandedPopup;\n }\n\n /** Knock-out ring: selected fill → active wash; otherwise surface token. */\n private get dotRing(): string {\n if ((this.isActive || this.pressed === true) && this.activeFill) {\n return 'var(--ds-interaction-active)';\n }\n return 'var(--ds-button-unfilled-dot-ring)';\n }\n\n private get accessibleName(): string | undefined {\n if (this.ariaLabel) return this.ariaLabel;\n if (this.isLoading && this.variant === 'label' && this.label) return this.label;\n return undefined;\n }\n\n render() {\n const bg = this.background;\n const cls: Record<string, boolean> = {\n 'button-unfilled': true,\n 'ds-button': true,\n 'ds-focus-ring-inset': true,\n 'ds-control-press-scale': this.pressScale,\n 'ds-interaction-fill': true,\n 'ds-interaction-fill--selected':\n (this.isActive || this.pressed === true) &&\n this.activeFill &&\n !this.isInactive,\n 'ds-interaction-fill--on-faint': bg === 'faint',\n 'ds-interaction-fill--on-medium': bg === 'medium',\n 'ds-interaction-fill--on-bold': bg === 'bold',\n 'ds-interaction-fill--on-strong': bg === 'strong',\n 'ds-interaction-fill--on-translucent': bg === 'translucent',\n 'ds-interaction-fill--on-inverted': bg === 'inverted',\n 'ds-interaction-fill--on-media': bg === 'media',\n 'ds-interaction-fill--on-always-dark': bg === 'always-dark',\n 'button-unfilled--active': this.visuallyActive,\n 'button-unfilled--expanded': this.expandedPopup,\n 'ds-button--expanded': this.expandedPopup,\n 'button-unfilled--bordered': this.hasBorder,\n 'ds-button--bordered': this.hasBorder,\n 'button-unfilled--rounded': this.rounded,\n 'ds-button--rounded': this.rounded,\n 'ds-control-inactive': this.isInactive,\n 'ds-control--lg': this.size === 'lg',\n 'ds-control--md': this.size === 'md',\n 'ds-control--sm': this.size === 'sm',\n 'ds-control--xs': this.size === 'xs',\n 'ds-control--inset': this.isInset && !this.doubleInset,\n 'ds-control--inset-double': this.doubleInset,\n 'ds-control-frame': true,\n 'button-unfilled--icon': this.variant === 'icon',\n 'ds-button--icon': this.variant === 'icon',\n 'button-unfilled--label': this.variant === 'label',\n 'button-unfilled--icon-label': this.variant === 'icon-label',\n 'button-unfilled--background-faint': bg === 'faint',\n 'button-unfilled--background-medium': bg === 'medium',\n 'button-unfilled--background-bold': bg === 'bold',\n 'button-unfilled--background-strong': bg === 'strong',\n 'button-unfilled--background-translucent': bg === 'translucent',\n 'button-unfilled--background-inverted': bg === 'inverted',\n 'button-unfilled--background-media': bg === 'media',\n 'button-unfilled--on-always-dark': bg === 'always-dark',\n };\n\n return (\n <Host\n class={{\n 'button-unfilled-host': true,\n 'button-unfilled-host--icon': this.variant === 'icon',\n 'ds-button-host--icon': this.variant === 'icon',\n 'ds-control--lg': this.size === 'lg',\n 'ds-control--md': this.size === 'md',\n 'ds-control--sm': this.size === 'sm',\n 'ds-control--xs': this.size === 'xs',\n 'ds-control--inset': this.isInset && !this.doubleInset,\n 'ds-control--inset-double': this.doubleInset,\n ...controlWidthClass(this.width),\n }}\n tabIndex={-1}\n >\n <button\n ref={el => {\n this.buttonEl = el ?? null;\n }}\n type={this.type}\n class={cls}\n disabled={this.isInactive}\n tabIndex={this.focusTabIndex ?? 0}\n aria-label={this.accessibleName}\n aria-busy={this.isLoading ? 'true' : undefined}\n aria-disabled={this.isLoading ? 'true' : undefined}\n aria-controls={this.controls}\n aria-expanded={this.expanded === undefined ? undefined : String(this.expanded)}\n aria-haspopup={this.resolvedHaspopup}\n aria-pressed={this.pressed === undefined ? undefined : String(this.pressed)}\n onPointerDown={event =>\n beginElevatedControlPress(\n event,\n this.pressScale && !this.isInactive && !this.isLoading,\n )\n }\n onClick={this.handleClick}\n >\n {renderButtonContent({\n namespace: 'button-unfilled',\n variant: this.variant,\n size: this.size,\n label: this.label,\n icon: this.icon,\n hasMenu: this.hasMenu,\n isLoading: this.isLoading,\n dot: {\n visible: this.showDot,\n background: this.dotRing,\n },\n })}\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|