@ds-mo/ui 16.0.0 → 16.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.package-ready.json +1 -1
- package/dist/agent-patterns.json +1 -1
- package/dist/agent.json +5 -2
- package/dist/components/ds-agent-questionnaire.js +1 -1
- package/dist/components/ds-agent-response.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-page-title.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-button-unfilled.js +1 -1
- package/dist/components/ds-calendar.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-code-block.js +1 -1
- package/dist/components/ds-data-customize.js +1 -1
- package/dist/components/ds-data-filter.js +1 -1
- package/dist/components/ds-data-group.js +1 -1
- package/dist/components/ds-data-preferences.js +1 -1
- package/dist/components/ds-data-saved-views.js +1 -1
- package/dist/components/ds-data-search.js +1 -1
- package/dist/components/ds-data-sort.js +1 -1
- package/dist/components/ds-filter-menu.js +1 -1
- package/dist/components/ds-input-date.js +1 -1
- package/dist/components/ds-input-time.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-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-pagination.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-shell-app.js +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-table.js +1 -1
- package/dist/components/ds-table.js.map +1 -1
- package/dist/components/ds-time-picker.js +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-toast.js.map +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/{p-BufAjyCA.js → p-9zDZcSc0.js} +2 -2
- package/dist/components/{p-SuM1Dske.js → p-B8jrUwL-.js} +2 -2
- package/dist/components/{p-DbBRCHst.js → p-BJB6kfA2.js} +2 -2
- package/dist/components/{p-a_-GSwE_.js → p-BK_SriZN.js} +2 -2
- package/dist/components/{p-DwiHy7ws.js → p-BKd0e8k8.js} +2 -2
- package/dist/components/{p-FsosWHV6.js → p-BNySDuzx.js} +2 -2
- package/dist/components/{p-DGznD-OD.js → p-BdJqRDKY.js} +2 -2
- package/dist/components/{p-CtBlyEwu.js → p-BgMeLCj3.js} +2 -2
- package/dist/components/{p-B6kIiHGc.js → p-BknNUjWh.js} +2 -2
- package/dist/components/{p-D1D_nwPJ.js → p-Bn-tsogb.js} +2 -2
- package/dist/components/{p-C9R-Yn0N.js → p-C3nUi5Lo.js} +2 -2
- package/dist/components/{p-9u2WDF0J.js → p-CbJx9swS.js} +2 -2
- package/dist/components/{p-ibSI50wY.js → p-CcWT4SzP.js} +2 -2
- package/dist/components/{p-BL98zGOI.js → p-Ckar-ZZa.js} +2 -2
- package/dist/components/{p-D4wFhnby.js → p-CvK-Gy-b.js} +2 -2
- package/dist/components/{p-8XJLNIKj.js → p-D9MqUHig.js} +2 -2
- package/dist/components/{p-BNimvRZy.js → p-DI5GEmid.js} +2 -2
- package/dist/components/p-DTlNtCX1.js +2 -0
- package/dist/components/p-DTlNtCX1.js.map +1 -0
- package/dist/components/p-D_kOVT6i.js +2 -0
- package/dist/components/{p-S6vTfjOk.js.map → p-D_kOVT6i.js.map} +1 -1
- package/dist/components/{p-DC_yjqdf.js → p-Ddkyu_wE.js} +2 -2
- package/dist/components/{p-CeaXdjwl.js → p-ZcZ0N7Ok.js} +2 -2
- package/dist/components/{p-BO0Tb3LT.js → p-ZumxIz-2.js} +2 -2
- package/dist/components/{p-BLPr2sCi.js → p-qnp-yeXl.js} +2 -2
- package/dist/components/{p-02bODFpT.js → p-txmcXZdy.js} +2 -2
- package/dist/components/{p-BiB2qjNS.js → p-xouEdChm.js} +2 -2
- package/dist/components/{p-Dp90dvw8.js → p-zdiRX3Sf.js} +2 -2
- package/dist/docs/components.json +13 -3
- package/dist/lib/toast/index.js +61 -20
- package/dist/lib/toast/index.js.map +2 -2
- package/dist/lib/toast/toast-types.d.ts +1 -0
- package/dist/mcp-data/registry/registry.json +4 -1
- package/dist/mcp-data/registry/table.json +22 -6
- package/dist/react/react-runtime.js +44 -1
- package/dist/types/components/Table/Table.d.ts +7 -2
- package/dist/types/components/Table/table-group-load-controller.d.ts +1 -1
- package/dist/types/components/Table/table-load-controller.d.ts +1 -2
- package/dist/types/components/Table/table-load-observer.d.ts +13 -0
- package/dist/types/toast/toast-types.d.ts +1 -0
- package/dist/types/utils/anchored-position-controller.d.ts +3 -2
- package/dist/vue/vue-runtime.js +13 -1
- package/package.json +15 -12
- package/dist/components/p-BMI0F08u.js +0 -2
- package/dist/components/p-BMI0F08u.js.map +0 -1
- package/dist/components/p-S6vTfjOk.js +0 -2
- /package/dist/components/{p-BufAjyCA.js.map → p-9zDZcSc0.js.map} +0 -0
- /package/dist/components/{p-SuM1Dske.js.map → p-B8jrUwL-.js.map} +0 -0
- /package/dist/components/{p-DbBRCHst.js.map → p-BJB6kfA2.js.map} +0 -0
- /package/dist/components/{p-a_-GSwE_.js.map → p-BK_SriZN.js.map} +0 -0
- /package/dist/components/{p-DwiHy7ws.js.map → p-BKd0e8k8.js.map} +0 -0
- /package/dist/components/{p-FsosWHV6.js.map → p-BNySDuzx.js.map} +0 -0
- /package/dist/components/{p-DGznD-OD.js.map → p-BdJqRDKY.js.map} +0 -0
- /package/dist/components/{p-CtBlyEwu.js.map → p-BgMeLCj3.js.map} +0 -0
- /package/dist/components/{p-B6kIiHGc.js.map → p-BknNUjWh.js.map} +0 -0
- /package/dist/components/{p-D1D_nwPJ.js.map → p-Bn-tsogb.js.map} +0 -0
- /package/dist/components/{p-C9R-Yn0N.js.map → p-C3nUi5Lo.js.map} +0 -0
- /package/dist/components/{p-9u2WDF0J.js.map → p-CbJx9swS.js.map} +0 -0
- /package/dist/components/{p-ibSI50wY.js.map → p-CcWT4SzP.js.map} +0 -0
- /package/dist/components/{p-BL98zGOI.js.map → p-Ckar-ZZa.js.map} +0 -0
- /package/dist/components/{p-D4wFhnby.js.map → p-CvK-Gy-b.js.map} +0 -0
- /package/dist/components/{p-8XJLNIKj.js.map → p-D9MqUHig.js.map} +0 -0
- /package/dist/components/{p-BNimvRZy.js.map → p-DI5GEmid.js.map} +0 -0
- /package/dist/components/{p-DC_yjqdf.js.map → p-Ddkyu_wE.js.map} +0 -0
- /package/dist/components/{p-CeaXdjwl.js.map → p-ZcZ0N7Ok.js.map} +0 -0
- /package/dist/components/{p-BO0Tb3LT.js.map → p-ZumxIz-2.js.map} +0 -0
- /package/dist/components/{p-BLPr2sCi.js.map → p-qnp-yeXl.js.map} +0 -0
- /package/dist/components/{p-02bODFpT.js.map → p-txmcXZdy.js.map} +0 -0
- /package/dist/components/{p-BiB2qjNS.js.map → p-xouEdChm.js.map} +0 -0
- /package/dist/components/{p-Dp90dvw8.js.map → p-zdiRX3Sf.js.map} +0 -0
package/dist/lib/toast/index.js
CHANGED
|
@@ -8,9 +8,22 @@ var ToastManagerImpl = class {
|
|
|
8
8
|
this.records = [];
|
|
9
9
|
this.listeners = /* @__PURE__ */ new Set();
|
|
10
10
|
this.nextId = 0;
|
|
11
|
+
this.promiseOwners = /* @__PURE__ */ new Map();
|
|
12
|
+
this.emitting = false;
|
|
13
|
+
this.emissionPending = false;
|
|
11
14
|
}
|
|
12
15
|
add(options) {
|
|
13
|
-
|
|
16
|
+
return this.addRecord(options);
|
|
17
|
+
}
|
|
18
|
+
addRecord(options, promiseOwner) {
|
|
19
|
+
let id = options.id;
|
|
20
|
+
if (!id) {
|
|
21
|
+
do {
|
|
22
|
+
id = `ds-toast-${++this.nextId}`;
|
|
23
|
+
} while (this.records.some((record2) => record2.id === id));
|
|
24
|
+
}
|
|
25
|
+
if (promiseOwner) this.promiseOwners.set(id, promiseOwner);
|
|
26
|
+
else this.promiseOwners.delete(id);
|
|
14
27
|
const existingIndex = this.records.findIndex((record2) => record2.id === id);
|
|
15
28
|
if (!options.title?.trim() && !options.description?.trim()) {
|
|
16
29
|
console.warn(`[ds-toast] Toast "${id}" should provide a title or description.`);
|
|
@@ -47,6 +60,7 @@ var ToastManagerImpl = class {
|
|
|
47
60
|
const index = this.records.findIndex((record) => record.id === id);
|
|
48
61
|
if (index < 0) return;
|
|
49
62
|
const current = this.records[index];
|
|
63
|
+
if (updates.type !== void 0 && updates.type !== current.type) this.promiseOwners.delete(id);
|
|
50
64
|
const restartsTimer = Object.prototype.hasOwnProperty.call(updates, "timeout") || current.type === "loading" && updates.type !== void 0 && updates.type !== "loading";
|
|
51
65
|
const updated = {
|
|
52
66
|
...current,
|
|
@@ -64,6 +78,7 @@ var ToastManagerImpl = class {
|
|
|
64
78
|
close(id, reason = "programmatic") {
|
|
65
79
|
const index = this.records.findIndex((record) => record.id === id);
|
|
66
80
|
if (index < 0 || this.records[index].transitionStatus === "ending") return;
|
|
81
|
+
this.promiseOwners.delete(id);
|
|
67
82
|
const closing = {
|
|
68
83
|
...this.records[index],
|
|
69
84
|
transitionStatus: "ending",
|
|
@@ -80,28 +95,41 @@ var ToastManagerImpl = class {
|
|
|
80
95
|
}
|
|
81
96
|
async promise(promiseValue, options) {
|
|
82
97
|
const loading = resolvePromiseValue(options.loading, void 0);
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
98
|
+
const owner = /* @__PURE__ */ Symbol();
|
|
99
|
+
const id = this.addRecord(
|
|
100
|
+
{
|
|
101
|
+
...loading,
|
|
102
|
+
type: loading.type ?? "loading",
|
|
103
|
+
timeout: 0
|
|
104
|
+
},
|
|
105
|
+
owner
|
|
106
|
+
);
|
|
107
|
+
const current = () => this.promiseOwners.get(id) === owner;
|
|
88
108
|
try {
|
|
89
109
|
const value = await promiseValue;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
110
|
+
if (current()) {
|
|
111
|
+
const success = resolvePromiseValue(options.success, value);
|
|
112
|
+
if (current())
|
|
113
|
+
this.update(id, {
|
|
114
|
+
...success,
|
|
115
|
+
type: success.type ?? "success",
|
|
116
|
+
timeout: success.timeout
|
|
117
|
+
});
|
|
118
|
+
}
|
|
96
119
|
return value;
|
|
97
120
|
} catch (error) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
121
|
+
if (current()) {
|
|
122
|
+
const failure = resolvePromiseValue(options.error, error);
|
|
123
|
+
if (current())
|
|
124
|
+
this.update(id, {
|
|
125
|
+
...failure,
|
|
126
|
+
type: failure.type ?? "error",
|
|
127
|
+
timeout: failure.timeout
|
|
128
|
+
});
|
|
129
|
+
}
|
|
104
130
|
throw error;
|
|
131
|
+
} finally {
|
|
132
|
+
if (current()) this.promiseOwners.delete(id);
|
|
105
133
|
}
|
|
106
134
|
}
|
|
107
135
|
subscribe(listener) {
|
|
@@ -126,6 +154,7 @@ var ToastManagerImpl = class {
|
|
|
126
154
|
const record = this.records.find((candidate) => candidate.id === id);
|
|
127
155
|
if (!record || record.transitionStatus !== "ending") return null;
|
|
128
156
|
const reason = record.closeReason ?? "programmatic";
|
|
157
|
+
this.promiseOwners.delete(id);
|
|
129
158
|
this.records = this.records.filter((candidate) => candidate.id !== id);
|
|
130
159
|
this.emit();
|
|
131
160
|
const context = { id, reason, toast: record };
|
|
@@ -136,8 +165,20 @@ var ToastManagerImpl = class {
|
|
|
136
165
|
toast.onRemove?.(context);
|
|
137
166
|
}
|
|
138
167
|
emit() {
|
|
139
|
-
|
|
140
|
-
|
|
168
|
+
this.emissionPending = true;
|
|
169
|
+
if (this.emitting) return;
|
|
170
|
+
this.emitting = true;
|
|
171
|
+
try {
|
|
172
|
+
do {
|
|
173
|
+
this.emissionPending = false;
|
|
174
|
+
const snapshot = this.getSnapshot();
|
|
175
|
+
for (const listener of [...this.listeners]) {
|
|
176
|
+
if (this.listeners.has(listener)) listener(snapshot);
|
|
177
|
+
}
|
|
178
|
+
} while (this.emissionPending);
|
|
179
|
+
} finally {
|
|
180
|
+
this.emitting = false;
|
|
181
|
+
}
|
|
141
182
|
}
|
|
142
183
|
};
|
|
143
184
|
function createToastManager() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/wc/toast/toast-manager.ts"],
|
|
4
|
-
"sourcesContent": ["import type {\n ToastCloseContext,\n ToastCloseReason,\n ToastListener,\n ToastManager,\n ToastOptions,\n ToastPromiseOptions,\n ToastPromiseValue,\n ToastRecord,\n} from './toast-types';\n\nfunction resolvePromiseValue<Value, Data>(\n value: ToastPromiseValue<Data> | ((input: Value) => ToastPromiseValue<Data>),\n input: Value\n): ToastOptions<Data> {\n const resolved = typeof value === 'function' ? value(input) : value;\n return typeof resolved === 'string' ? { description: resolved } : resolved;\n}\n\nclass ToastManagerImpl<Data = unknown> implements ToastManager<Data> {\n private records: ToastRecord<Data>[] = [];\n private listeners = new Set<ToastListener<Data>>();\n private nextId = 0;\n\n add(options: ToastOptions<Data>): string {\n
|
|
5
|
-
"mappings": ";AAWA,SAAS,oBACP,OACA,OACoB;AACpB,QAAM,WAAW,OAAO,UAAU,aAAa,MAAM,KAAK,IAAI;AAC9D,SAAO,OAAO,aAAa,WAAW,EAAE,aAAa,SAAS,IAAI;AACpE;AAEA,IAAM,mBAAN,MAAqE;AAAA,EAArE;AACE,SAAQ,UAA+B,CAAC;AACxC,SAAQ,YAAY,oBAAI,IAAyB;AACjD,SAAQ,SAAS;AAAA;AAAA,
|
|
4
|
+
"sourcesContent": ["import type {\n ToastCloseContext,\n ToastCloseReason,\n ToastListener,\n ToastManager,\n ToastOptions,\n ToastPromiseOptions,\n ToastPromiseValue,\n ToastRecord,\n} from './toast-types';\n\nfunction resolvePromiseValue<Value, Data>(\n value: ToastPromiseValue<Data> | ((input: Value) => ToastPromiseValue<Data>),\n input: Value\n): ToastOptions<Data> {\n const resolved = typeof value === 'function' ? value(input) : value;\n return typeof resolved === 'string' ? { description: resolved } : resolved;\n}\n\nclass ToastManagerImpl<Data = unknown> implements ToastManager<Data> {\n private records: ToastRecord<Data>[] = [];\n private listeners = new Set<ToastListener<Data>>();\n private nextId = 0;\n private promiseOwners = new Map<string, symbol>();\n private emitting = false;\n private emissionPending = false;\n\n add(options: ToastOptions<Data>): string {\n return this.addRecord(options);\n }\n\n private addRecord(options: ToastOptions<Data>, promiseOwner?: symbol): string {\n let id = options.id;\n if (!id) {\n do {\n id = `ds-toast-${++this.nextId}`;\n } while (this.records.some(record => record.id === id));\n }\n // Install ownership before notifying: a subscriber may replace or dismiss it.\n if (promiseOwner) this.promiseOwners.set(id, promiseOwner);\n else this.promiseOwners.delete(id);\n const existingIndex = this.records.findIndex(record => record.id === id);\n\n if (!options.title?.trim() && !options.description?.trim()) {\n console.warn(`[ds-toast] Toast \"${id}\" should provide a title or description.`);\n }\n\n if (existingIndex >= 0) {\n const current = this.records[existingIndex];\n const updated: ToastRecord<Data> = {\n ...current,\n ...options,\n id,\n priority: options.priority ?? current.priority,\n transitionStatus: 'active',\n closeReason: undefined,\n updateKey: current.updateKey + 1,\n timerKey: current.timerKey + 1,\n };\n this.records = [updated, ...this.records.filter((_, index) => index !== existingIndex)];\n this.emit();\n return id;\n }\n\n const record: ToastRecord<Data> = {\n ...options,\n id,\n priority: options.priority ?? 'low',\n transitionStatus: 'starting',\n updateKey: 0,\n timerKey: 0,\n };\n this.records = [record, ...this.records];\n this.emit();\n return id;\n }\n\n update(id: string, updates: Partial<ToastOptions<Data>>): void {\n const index = this.records.findIndex(record => record.id === id);\n if (index < 0) return;\n const current = this.records[index];\n // Progress copy can change while the same operation is pending. A type\n // transition explicitly takes ownership of its presentation instead.\n if (updates.type !== undefined && updates.type !== current.type) this.promiseOwners.delete(id);\n const restartsTimer =\n Object.prototype.hasOwnProperty.call(updates, 'timeout') ||\n (current.type === 'loading' && updates.type !== undefined && updates.type !== 'loading');\n const updated: ToastRecord<Data> = {\n ...current,\n ...updates,\n id,\n priority: updates.priority ?? current.priority,\n updateKey: current.updateKey + 1,\n timerKey: restartsTimer ? current.timerKey + 1 : current.timerKey,\n };\n this.records = this.records.map((record, recordIndex) =>\n recordIndex === index ? updated : record\n );\n this.emit();\n }\n\n close(id: string, reason: ToastCloseReason = 'programmatic'): void {\n const index = this.records.findIndex(record => record.id === id);\n if (index < 0 || this.records[index].transitionStatus === 'ending') return;\n this.promiseOwners.delete(id);\n\n const closing: ToastRecord<Data> = {\n ...this.records[index],\n transitionStatus: 'ending',\n closeReason: reason,\n };\n this.records = this.records.map((record, recordIndex) =>\n recordIndex === index ? closing : record\n );\n this.emit();\n closing.onClose?.({ id, reason, toast: closing });\n }\n\n closeAll(reason: ToastCloseReason = 'programmatic'): void {\n for (const record of [...this.records]) this.close(record.id, reason);\n }\n\n async promise<Value>(\n promiseValue: PromiseLike<Value>,\n options: ToastPromiseOptions<Value, Data>\n ): Promise<Value> {\n const loading = resolvePromiseValue(options.loading, undefined as Value);\n const owner = Symbol();\n const id = this.addRecord(\n {\n ...loading,\n type: loading.type ?? 'loading',\n timeout: 0,\n },\n owner\n );\n const current = () => this.promiseOwners.get(id) === owner;\n\n try {\n const value = await promiseValue;\n if (current()) {\n const success = resolvePromiseValue(options.success, value);\n if (current())\n this.update(id, {\n ...success,\n type: success.type ?? 'success',\n timeout: success.timeout,\n });\n }\n return value;\n } catch (error) {\n if (current()) {\n const failure = resolvePromiseValue(options.error, error);\n if (current())\n this.update(id, {\n ...failure,\n type: failure.type ?? 'error',\n timeout: failure.timeout,\n });\n }\n throw error;\n } finally {\n if (current()) this.promiseOwners.delete(id);\n }\n }\n\n subscribe(listener: ToastListener<Data>): () => void {\n this.listeners.add(listener);\n listener(this.getSnapshot());\n return () => {\n this.listeners.delete(listener);\n };\n }\n\n getSnapshot(): readonly ToastRecord<Data>[] {\n return this.records.map(record => ({ ...record }));\n }\n\n activate(id: string): void {\n const record = this.records.find(candidate => candidate.id === id);\n if (!record || record.transitionStatus !== 'starting') return;\n this.records = this.records.map(candidate =>\n candidate.id === id ? { ...candidate, transitionStatus: 'active' } : candidate\n );\n this.emit();\n }\n\n remove(id: string): ToastCloseContext<Data> | null {\n const record = this.records.find(candidate => candidate.id === id);\n if (!record || record.transitionStatus !== 'ending') return null;\n const reason = record.closeReason ?? 'programmatic';\n this.promiseOwners.delete(id);\n this.records = this.records.filter(candidate => candidate.id !== id);\n this.emit();\n const context: ToastCloseContext<Data> = { id, reason, toast: record };\n return context;\n }\n\n notifyRemove(context: ToastCloseContext<Data>): void {\n const { toast } = context;\n toast.onRemove?.(context);\n }\n\n private emit(): void {\n this.emissionPending = true;\n if (this.emitting) return;\n this.emitting = true;\n try {\n do {\n this.emissionPending = false;\n const snapshot = this.getSnapshot();\n for (const listener of [...this.listeners]) {\n if (this.listeners.has(listener)) listener(snapshot);\n }\n } while (this.emissionPending);\n } finally {\n this.emitting = false;\n }\n }\n}\n\nexport function createToastManager<Data = unknown>(): ToastManager<Data> {\n return new ToastManagerImpl<Data>();\n}\n\nconst defaultManagerKey = Symbol.for('@ds-mo/ui/default-toast-manager');\nconst globalScope = globalThis as typeof globalThis & Record<PropertyKey, unknown>;\nconst existingManager = globalScope[defaultManagerKey] as ToastManager | undefined;\n\nexport const toastManager: ToastManager = existingManager ?? createToastManager();\n\nif (!existingManager) globalScope[defaultManagerKey] = toastManager;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["record"]
|
|
7
7
|
}
|
|
@@ -63,6 +63,7 @@ export interface ToastManager<Data = unknown> {
|
|
|
63
63
|
update(id: string, updates: Partial<ToastOptions<Data>>): void;
|
|
64
64
|
close(id: string, reason?: ToastCloseReason): void;
|
|
65
65
|
closeAll(reason?: ToastCloseReason): void;
|
|
66
|
+
/** A replaced, retyped, or dismissed loading toast ignores its old promise's presentation result; progress copy may still update. */
|
|
66
67
|
promise<Value>(promiseValue: PromiseLike<Value>, options: ToastPromiseOptions<Value, Data>): Promise<Value>;
|
|
67
68
|
subscribe(listener: ToastListener<Data>): () => void;
|
|
68
69
|
getSnapshot(): readonly ToastRecord<Data>[];
|
|
@@ -15966,6 +15966,7 @@
|
|
|
15966
15966
|
"Static and infinite tables may show an optional result summary footer when displayedCount and totalCount are finite. Virtual mode shows a total-only summary and ignores displayedCount. Pagination mode instead renders a named Pagination control with a page-size picker, vertical divider, and page position; range changes are announced independently with complete phrasing. Unmodified Left and Right Arrow request the adjacent page while focus is inside a paginated table or on a containing page scroller that owns it; editable fields, choice controls, sliders, open menus, and modified key combinations retain their own keyboard behavior. A table-owned footer slot can replace summary copy, while footer-leading and footer-trailing remain available in the same compact-bar anatomy. Nested dialog footers are ignored."
|
|
15967
15967
|
],
|
|
15968
15968
|
"states": [
|
|
15969
|
+
"Initial-error recovery actions are application-owned controls displayed below the error message. The application owns retry behavior, loading, result updates and focus after recovery; controls are not shown for empty, populated, loading, or invalid-viewport states.",
|
|
15969
15970
|
"Column super-groups describe adjacent visible fields. Hidden and reordered fields recompute the bands; unrelated fields, selection, elastic space, and pin boundaries split them. Compound sort controls remain in the leaf headers.",
|
|
15970
15971
|
"Cell presentation moves the complete content stack for deliberate middle or bottom alignment; the default remains first-track alignment. Semantic highlight borders require an accessible explanation, and flags require labels. Presentation metadata never changes the cell value or the shared text, icon, tag and action track anatomy.",
|
|
15971
15972
|
"Report merges name ordered row and column identities. Only a complete contiguous non-overlapping rectangle is accepted, and invalid definitions leave original values visible. Selection checkboxes are never merged. Merges cannot cross pin or elastic-spacer boundaries, and grouped or editable grids do not merge. Cross-row merges require non-windowed reports; column-only merges can use virtual rows. Applications recompute spans with their final data order and retain covered values.",
|
|
@@ -16488,7 +16489,9 @@
|
|
|
16488
16489
|
"detail": "DataSortChangeDetail"
|
|
16489
16490
|
}
|
|
16490
16491
|
],
|
|
16491
|
-
"slots": [
|
|
16492
|
+
"slots": [
|
|
16493
|
+
"error-actions"
|
|
16494
|
+
],
|
|
16492
16495
|
"exports": {
|
|
16493
16496
|
"customElement": "ds-table",
|
|
16494
16497
|
"react": "DsTable",
|