@eclipse-docks/core 0.7.122 → 0.7.125
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/api/index.js +4 -4
- package/dist/{api-N5AbUtyH.js → api-CTU-FxEv.js} +35 -21
- package/dist/api-CTU-FxEv.js.map +1 -0
- package/dist/components/command.d.ts +2 -2
- package/dist/components/command.d.ts.map +1 -1
- package/dist/components/fastviews.d.ts +1 -1
- package/dist/components/fastviews.d.ts.map +1 -1
- package/dist/components/filebrowser.d.ts +3 -1
- package/dist/components/filebrowser.d.ts.map +1 -1
- package/dist/core/commandregistry.d.ts +2 -2
- package/dist/core/commandregistry.d.ts.map +1 -1
- package/dist/core/dropdown-menu-utils.d.ts +9 -0
- package/dist/core/dropdown-menu-utils.d.ts.map +1 -0
- package/dist/core/toast.d.ts.map +1 -1
- package/dist/externals/webawesome.d.ts.map +1 -1
- package/dist/externals/webawesome.js +1 -1
- package/dist/fs-access-CzOh5ot8.js +2 -0
- package/dist/{fs-access-D-fDaJ8V.js → fs-access-DTXPsV1W.js} +2 -2
- package/dist/{fs-access-D-fDaJ8V.js.map → fs-access-DTXPsV1W.js.map} +1 -1
- package/dist/index.js +4 -4
- package/dist/parts/contextmenu.d.ts +5 -4
- package/dist/parts/contextmenu.d.ts.map +1 -1
- package/dist/parts/index.js +1 -1
- package/dist/parts/tabs.d.ts +2 -2
- package/dist/parts/tabs.d.ts.map +1 -1
- package/dist/parts/toolbar.d.ts +2 -1
- package/dist/parts/toolbar.d.ts.map +1 -1
- package/dist/{parts-BvITdiV3.js → parts-BRaXx8PD.js} +95 -46
- package/dist/parts-BRaXx8PD.js.map +1 -0
- package/dist/{webawesome-CJyhVNu_.js → webawesome-Y1_HnKa_.js} +11 -1
- package/dist/{webawesome-CJyhVNu_.js.map → webawesome-Y1_HnKa_.js.map} +1 -1
- package/dist/{widget-DFbJNLqB.js → widget-DbLusgAH.js} +21 -27
- package/dist/widget-DbLusgAH.js.map +1 -0
- package/dist/widgets/index.js +1 -1
- package/dist/{widgets-CuO5lmjL.js → widgets-DnnSZhsi.js} +2 -2
- package/dist/{widgets-CuO5lmjL.js.map → widgets-DnnSZhsi.js.map} +1 -1
- package/package.json +5 -6
- package/src/components/command.ts +23 -9
- package/src/components/extensions.ts +2 -2
- package/src/components/fastviews.ts +1 -1
- package/src/components/filebrowser.ts +25 -10
- package/src/components/language-selector.ts +1 -1
- package/src/components/layout-switcher.ts +2 -2
- package/src/components/part-name.ts +1 -1
- package/src/core/commandregistry.ts +2 -2
- package/src/core/dropdown-menu-utils.ts +39 -0
- package/src/core/toast.ts +31 -8
- package/src/externals/webawesome.ts +10 -0
- package/src/layouts/standard-layout.ts +2 -2
- package/src/parts/contextmenu.ts +35 -9
- package/src/parts/part.ts +2 -2
- package/src/parts/tabs.ts +10 -10
- package/src/parts/toolbar.ts +5 -3
- package/src/vite-env.d.ts +0 -14
- package/dist/api-N5AbUtyH.js.map +0 -1
- package/dist/fs-access-CnQJX8W1.js +0 -2
- package/dist/parts-BvITdiV3.js.map +0 -1
- package/dist/widget-DFbJNLqB.js.map +0 -1
|
@@ -134,7 +134,7 @@ export class DocksLanguageSelector extends DocksElement {
|
|
|
134
134
|
return html`
|
|
135
135
|
<wa-button
|
|
136
136
|
appearance="plain"
|
|
137
|
-
size="
|
|
137
|
+
size="s"
|
|
138
138
|
title="Current language: ${languageName}"
|
|
139
139
|
@click=${() => showLanguageSelectorDialog()}>
|
|
140
140
|
${icon('language')}
|
|
@@ -46,12 +46,12 @@ export class DocksLayoutSwitcher extends DocksElement {
|
|
|
46
46
|
<wa-dropdown
|
|
47
47
|
placement="bottom-end"
|
|
48
48
|
distance="4"
|
|
49
|
-
size="
|
|
49
|
+
size="s"
|
|
50
50
|
@wa-select=${this.handleSelect}>
|
|
51
51
|
<wa-button
|
|
52
52
|
slot="trigger"
|
|
53
53
|
appearance="plain"
|
|
54
|
-
size="
|
|
54
|
+
size="s"
|
|
55
55
|
with-caret
|
|
56
56
|
title="Switch layout (current: ${layoutName})">
|
|
57
57
|
<wa-icon name="table-cells" label="Layout"></wa-icon>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import logger from "./logger";
|
|
2
2
|
import { publish } from "./events";
|
|
3
|
-
import { CommandContribution,
|
|
3
|
+
import { CommandContribution, contributionRegistry } from "./contributionregistry";
|
|
4
4
|
import { rootContext } from "./di";
|
|
5
5
|
import { activePartSignal, activeEditorSignal } from "./appstate";
|
|
6
6
|
|
|
@@ -225,7 +225,7 @@ rootContext.put("commandRegistry", commandRegistry);
|
|
|
225
225
|
export interface RegisterOptions {
|
|
226
226
|
command: Command,
|
|
227
227
|
handler?: Handler,
|
|
228
|
-
contribution?:
|
|
228
|
+
contribution?: Omit<CommandContribution, 'command'>,
|
|
229
229
|
}
|
|
230
230
|
|
|
231
231
|
export const registerAll = (options: RegisterOptions) => {
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
type DropdownItemElement = HTMLElement & { submenuOpen?: boolean };
|
|
2
|
+
|
|
3
|
+
function visitElementTree(root: Node, visit: (element: Element) => void): void {
|
|
4
|
+
if (root instanceof Element) {
|
|
5
|
+
visit(root);
|
|
6
|
+
if (root.shadowRoot) {
|
|
7
|
+
visitElementTree(root.shadowRoot, visit);
|
|
8
|
+
}
|
|
9
|
+
for (const child of root.children) {
|
|
10
|
+
visitElementTree(child, visit);
|
|
11
|
+
}
|
|
12
|
+
} else if (root instanceof DocumentFragment) {
|
|
13
|
+
for (const child of root.children) {
|
|
14
|
+
visitElementTree(child, visit);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** Collect wa-dropdown-item elements under a menu root, including shadow DOM. */
|
|
20
|
+
export function collectDropdownItems(root: Element): DropdownItemElement[] {
|
|
21
|
+
const items: DropdownItemElement[] = [];
|
|
22
|
+
visitElementTree(root, (element) => {
|
|
23
|
+
if (element.localName === "wa-dropdown-item") {
|
|
24
|
+
items.push(element as DropdownItemElement);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return items;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** Close every open submenu except the one being activated. */
|
|
31
|
+
export function closeSiblingSubmenus(activeItem: Element, menuRoot: Element): void {
|
|
32
|
+
queueMicrotask(() => {
|
|
33
|
+
for (const item of collectDropdownItems(menuRoot)) {
|
|
34
|
+
if (item !== activeItem && item.submenuOpen) {
|
|
35
|
+
item.submenuOpen = false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
package/src/core/toast.ts
CHANGED
|
@@ -1,27 +1,50 @@
|
|
|
1
|
-
import
|
|
2
|
-
import 'toastify-js/src/toastify.css';
|
|
1
|
+
import '@awesome.me/webawesome/dist/components/toast/toast.js';
|
|
3
2
|
import { createLogger } from './logger';
|
|
4
3
|
|
|
5
4
|
const logger = createLogger('Toast');
|
|
6
5
|
|
|
7
6
|
const DURATION = 4000;
|
|
8
|
-
const BASE = { duration: DURATION, gravity: 'bottom' as const, position: 'right' as const, close: true };
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
type ToastVariant = 'brand' | 'danger' | 'warning';
|
|
9
|
+
|
|
10
|
+
type WaToastElement = HTMLElement & {
|
|
11
|
+
placement: string;
|
|
12
|
+
create(
|
|
13
|
+
message: string,
|
|
14
|
+
options?: {
|
|
15
|
+
variant?: ToastVariant | 'neutral' | 'success';
|
|
16
|
+
duration?: number;
|
|
17
|
+
},
|
|
18
|
+
): Promise<HTMLElement>;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
let toastStack: WaToastElement | null = null;
|
|
22
|
+
|
|
23
|
+
function getToastStack(): WaToastElement {
|
|
24
|
+
if (!toastStack) {
|
|
25
|
+
toastStack = document.createElement('wa-toast') as WaToastElement;
|
|
26
|
+
toastStack.placement = 'bottom-end';
|
|
27
|
+
document.body.append(toastStack);
|
|
28
|
+
}
|
|
29
|
+
return toastStack;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const show = (msg: string, variant: ToastVariant) => {
|
|
33
|
+
if (typeof document === 'undefined' || !document.body) return;
|
|
34
|
+
void getToastStack().create(msg, { variant, duration: DURATION });
|
|
12
35
|
};
|
|
13
36
|
|
|
14
37
|
export const toastInfo = (msg: string) => {
|
|
15
38
|
logger.info(msg);
|
|
16
|
-
show(msg,
|
|
39
|
+
show(msg, 'brand');
|
|
17
40
|
};
|
|
18
41
|
|
|
19
42
|
export const toastError = (msg: string) => {
|
|
20
43
|
logger.error(msg);
|
|
21
|
-
show(msg,
|
|
44
|
+
show(msg, 'danger');
|
|
22
45
|
};
|
|
23
46
|
|
|
24
47
|
export const toastWarning = (msg: string) => {
|
|
25
48
|
logger.warn(msg);
|
|
26
|
-
show(msg,
|
|
49
|
+
show(msg, 'warning');
|
|
27
50
|
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// unfortunately, webawesome has no all-in-one import, so we need to import each component individually
|
|
2
|
+
import '@awesome.me/webawesome/dist/components/accordion/accordion.js';
|
|
3
|
+
import '@awesome.me/webawesome/dist/components/accordion-item/accordion-item.js';
|
|
2
4
|
import '@awesome.me/webawesome/dist/components/animated-image/animated-image.js';
|
|
3
5
|
import '@awesome.me/webawesome/dist/components/animation/animation.js';
|
|
4
6
|
import '@awesome.me/webawesome/dist/components/avatar/avatar.js';
|
|
@@ -12,6 +14,7 @@ import '@awesome.me/webawesome/dist/components/card/card.js';
|
|
|
12
14
|
import '@awesome.me/webawesome/dist/components/carousel/carousel.js';
|
|
13
15
|
import '@awesome.me/webawesome/dist/components/carousel-item/carousel-item.js';
|
|
14
16
|
import '@awesome.me/webawesome/dist/components/checkbox/checkbox.js';
|
|
17
|
+
import '@awesome.me/webawesome/dist/components/checkbox-group/checkbox-group.js';
|
|
15
18
|
import '@awesome.me/webawesome/dist/components/color-picker/color-picker.js';
|
|
16
19
|
import '@awesome.me/webawesome/dist/components/comparison/comparison.js';
|
|
17
20
|
import '@awesome.me/webawesome/dist/components/copy-button/copy-button.js';
|
|
@@ -28,11 +31,14 @@ import '@awesome.me/webawesome/dist/components/icon/icon.js';
|
|
|
28
31
|
import '@awesome.me/webawesome/dist/components/include/include.js';
|
|
29
32
|
import '@awesome.me/webawesome/dist/components/input/input.js';
|
|
30
33
|
import '@awesome.me/webawesome/dist/components/intersection-observer/intersection-observer.js';
|
|
34
|
+
import '@awesome.me/webawesome/dist/components/known-date/known-date.js';
|
|
31
35
|
import '@awesome.me/webawesome/dist/components/markdown/markdown.js';
|
|
32
36
|
import '@awesome.me/webawesome/dist/components/mutation-observer/mutation-observer.js';
|
|
33
37
|
import '@awesome.me/webawesome/dist/components/number-input/number-input.js';
|
|
34
38
|
import '@awesome.me/webawesome/dist/components/option/option.js';
|
|
39
|
+
import '@awesome.me/webawesome/dist/components/otp-input/otp-input.js';
|
|
35
40
|
import '@awesome.me/webawesome/dist/components/page/page.js';
|
|
41
|
+
import '@awesome.me/webawesome/dist/components/pagination/pagination.js';
|
|
36
42
|
import '@awesome.me/webawesome/dist/components/popover/popover.js';
|
|
37
43
|
import '@awesome.me/webawesome/dist/components/popup/popup.js';
|
|
38
44
|
import '@awesome.me/webawesome/dist/components/progress-bar/progress-bar.js';
|
|
@@ -41,6 +47,7 @@ import '@awesome.me/webawesome/dist/components/qr-code/qr-code.js';
|
|
|
41
47
|
import '@awesome.me/webawesome/dist/components/radio/radio.js';
|
|
42
48
|
import '@awesome.me/webawesome/dist/components/radio-group/radio-group.js';
|
|
43
49
|
import '@awesome.me/webawesome/dist/components/rating/rating.js';
|
|
50
|
+
import '@awesome.me/webawesome/dist/components/random-content/random-content.js';
|
|
44
51
|
import '@awesome.me/webawesome/dist/components/relative-time/relative-time.js';
|
|
45
52
|
import '@awesome.me/webawesome/dist/components/resize-observer/resize-observer.js';
|
|
46
53
|
import '@awesome.me/webawesome/dist/components/scroller/scroller.js';
|
|
@@ -55,6 +62,9 @@ import '@awesome.me/webawesome/dist/components/tab-group/tab-group.js';
|
|
|
55
62
|
import '@awesome.me/webawesome/dist/components/tab-panel/tab-panel.js';
|
|
56
63
|
import '@awesome.me/webawesome/dist/components/tag/tag.js';
|
|
57
64
|
import '@awesome.me/webawesome/dist/components/textarea/textarea.js';
|
|
65
|
+
import '@awesome.me/webawesome/dist/components/time-input/time-input.js';
|
|
66
|
+
import '@awesome.me/webawesome/dist/components/toast/toast.js';
|
|
67
|
+
import '@awesome.me/webawesome/dist/components/toast-item/toast-item.js';
|
|
58
68
|
import '@awesome.me/webawesome/dist/components/tooltip/tooltip.js';
|
|
59
69
|
import '@awesome.me/webawesome/dist/components/tree/tree.js';
|
|
60
70
|
import '@awesome.me/webawesome/dist/components/tree-item/tree-item.js';
|
|
@@ -139,11 +139,11 @@ export class DocksStandardLayout extends DocksContainer {
|
|
|
139
139
|
id="left-sidebar-split"
|
|
140
140
|
orientation="vertical"
|
|
141
141
|
sizes="50%, 50%">
|
|
142
|
-
<docks-tabs id="${SIDEBAR_MAIN}" placement="start" icon-only with-toolbar item-size="
|
|
142
|
+
<docks-tabs id="${SIDEBAR_MAIN}" placement="start" icon-only with-toolbar item-size="l"></docks-tabs>
|
|
143
143
|
<docks-tabs id="${SIDEBAR_MAIN_BOTTOM}" placement="start" icon-only></docks-tabs>
|
|
144
144
|
</docks-resizable-grid>
|
|
145
145
|
`
|
|
146
|
-
: html`<docks-tabs id="${SIDEBAR_MAIN}" placement="start" icon-only with-toolbar item-size="
|
|
146
|
+
: html`<docks-tabs id="${SIDEBAR_MAIN}" placement="start" icon-only with-toolbar item-size="l"></docks-tabs>`
|
|
147
147
|
}
|
|
148
148
|
`
|
|
149
149
|
: nothing
|
package/src/parts/contextmenu.ts
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
} from "../core/contributionregistry";
|
|
14
14
|
import {unsafeHTML} from "lit/directives/unsafe-html.js";
|
|
15
15
|
import {subscribe} from "../core/events";
|
|
16
|
+
import {closeSiblingSubmenus} from "../core/dropdown-menu-utils";
|
|
16
17
|
import {createRef, ref} from "lit/directives/ref.js";
|
|
17
18
|
import '../components/command';
|
|
18
19
|
|
|
@@ -75,8 +76,8 @@ export class DocksContextMenu extends DocksElement {
|
|
|
75
76
|
});
|
|
76
77
|
}
|
|
77
78
|
|
|
78
|
-
protected
|
|
79
|
-
super.
|
|
79
|
+
protected willUpdate(changedProperties: Map<string, unknown>) {
|
|
80
|
+
super.willUpdate?.(changedProperties);
|
|
80
81
|
if (changedProperties.has('scopeTokens')) {
|
|
81
82
|
this.refreshContributions();
|
|
82
83
|
}
|
|
@@ -173,6 +174,14 @@ export class DocksContextMenu extends DocksElement {
|
|
|
173
174
|
return element;
|
|
174
175
|
}
|
|
175
176
|
|
|
177
|
+
private getHostPart(): (HTMLElement & { updateComplete: Promise<boolean> }) | null {
|
|
178
|
+
const root = this.getRootNode();
|
|
179
|
+
if (root instanceof ShadowRoot && root.host instanceof HTMLElement) {
|
|
180
|
+
return root.host as HTMLElement & { updateComplete: Promise<boolean> };
|
|
181
|
+
}
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
|
|
176
185
|
/**
|
|
177
186
|
* Triggers a click on the element under the cursor to update selection before showing context menu.
|
|
178
187
|
*/
|
|
@@ -196,21 +205,35 @@ export class DocksContextMenu extends DocksElement {
|
|
|
196
205
|
}
|
|
197
206
|
}
|
|
198
207
|
|
|
208
|
+
private handleSubmenuOpening = (event: Event): void => {
|
|
209
|
+
const dropdown = this.dropdownRef.value;
|
|
210
|
+
const activeItem = (event as CustomEvent<{ item?: Element }>).detail?.item;
|
|
211
|
+
if (!dropdown || !activeItem) return;
|
|
212
|
+
closeSiblingSubmenus(activeItem, dropdown);
|
|
213
|
+
};
|
|
214
|
+
|
|
199
215
|
/** Opens the menu at `position`. Returns false when there is nothing to show (no thin empty panel). */
|
|
200
|
-
public show(position: { x: number, y: number }, mouseEvent?: MouseEvent): boolean {
|
|
216
|
+
public async show(position: { x: number, y: number }, mouseEvent?: MouseEvent): Promise<boolean> {
|
|
201
217
|
if (!this.hasMenuBody()) return false;
|
|
202
218
|
if (mouseEvent) {
|
|
203
219
|
this.triggerClickUnderCursor(mouseEvent);
|
|
220
|
+
await this.getHostPart()?.updateComplete;
|
|
204
221
|
}
|
|
222
|
+
|
|
223
|
+
if (this.isOpen) {
|
|
224
|
+
this.isOpen = false;
|
|
225
|
+
await this.updateComplete;
|
|
226
|
+
}
|
|
227
|
+
|
|
205
228
|
this.position = position;
|
|
206
229
|
this.isOpen = true;
|
|
207
|
-
this.updateComplete
|
|
208
|
-
|
|
209
|
-
});
|
|
230
|
+
await this.updateComplete;
|
|
231
|
+
document.addEventListener('pointerdown', this.boundHandleDocumentPointerDown, { capture: true });
|
|
210
232
|
return true;
|
|
211
233
|
}
|
|
212
234
|
|
|
213
235
|
private onClose() {
|
|
236
|
+
if (!this.isOpen) return;
|
|
214
237
|
this.isOpen = false;
|
|
215
238
|
document.removeEventListener('pointerdown', this.boundHandleDocumentPointerDown, { capture: true });
|
|
216
239
|
}
|
|
@@ -242,14 +265,13 @@ export class DocksContextMenu extends DocksElement {
|
|
|
242
265
|
}
|
|
243
266
|
|
|
244
267
|
render() {
|
|
245
|
-
if (!this.isOpen) return nothing;
|
|
246
|
-
|
|
247
268
|
const partContent = this.partContextMenuRenderer ? this.partContextMenuRenderer() : nothing;
|
|
248
269
|
|
|
249
270
|
return html`
|
|
250
271
|
<wa-dropdown
|
|
251
272
|
${ref(this.dropdownRef)}
|
|
252
273
|
?open=${this.isOpen}
|
|
274
|
+
@submenu-opening=${this.handleSubmenuOpening}
|
|
253
275
|
@wa-after-hide=${this.onClose}>
|
|
254
276
|
|
|
255
277
|
<div
|
|
@@ -281,9 +303,13 @@ export class DocksContextMenu extends DocksElement {
|
|
|
281
303
|
}
|
|
282
304
|
|
|
283
305
|
wa-dropdown {
|
|
284
|
-
pointer-events:
|
|
306
|
+
pointer-events: none;
|
|
285
307
|
min-width: 200px;
|
|
286
308
|
}
|
|
309
|
+
|
|
310
|
+
wa-dropdown:state(open) {
|
|
311
|
+
pointer-events: auto;
|
|
312
|
+
}
|
|
287
313
|
|
|
288
314
|
wa-dropdown::part(menu) {
|
|
289
315
|
min-width: 200px;
|
package/src/parts/part.ts
CHANGED
|
@@ -145,10 +145,10 @@ export abstract class DocksPart extends DocksContainer {
|
|
|
145
145
|
return contributionKey ? `contextmenu:${contributionKey}` : undefined;
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
private onContentContextMenu = (event: MouseEvent): void => {
|
|
148
|
+
private onContentContextMenu = async (event: MouseEvent): Promise<void> => {
|
|
149
149
|
const contextMenu = this.renderRoot.querySelector('docks-contextmenu') as DocksContextMenu | null;
|
|
150
150
|
if (!contextMenu) return;
|
|
151
|
-
if (contextMenu.show({ x: event.clientX, y: event.clientY }, event)) {
|
|
151
|
+
if (await contextMenu.show({ x: event.clientX, y: event.clientY }, event)) {
|
|
152
152
|
event.preventDefault();
|
|
153
153
|
}
|
|
154
154
|
};
|
package/src/parts/tabs.ts
CHANGED
|
@@ -45,9 +45,9 @@ export class DocksTabs extends DocksContainer {
|
|
|
45
45
|
@property({ type: Boolean, reflect: true, attribute: 'hide-tabs' })
|
|
46
46
|
hideTabs: boolean = false;
|
|
47
47
|
|
|
48
|
-
/** Tab and nav-toolbar control sizing (`
|
|
48
|
+
/** Tab and nav-toolbar control sizing (`s` | `m` | `l`). */
|
|
49
49
|
@property({ reflect: true, attribute: 'item-size' })
|
|
50
|
-
itemSize: '
|
|
50
|
+
itemSize: 's' | 'm' | 'l' = 'm';
|
|
51
51
|
|
|
52
52
|
/** Tab contributions for this container */
|
|
53
53
|
@state()
|
|
@@ -549,12 +549,12 @@ export class DocksTabs extends DocksContainer {
|
|
|
549
549
|
font-size: var(--wa-font-size-s);
|
|
550
550
|
}
|
|
551
551
|
|
|
552
|
-
:host([item-size="
|
|
552
|
+
:host([item-size="s"]) wa-tab::part(base) {
|
|
553
553
|
padding: 2px 0.375rem;
|
|
554
554
|
font-size: var(--wa-font-size-xs);
|
|
555
555
|
}
|
|
556
556
|
|
|
557
|
-
:host([item-size="
|
|
557
|
+
:host([item-size="l"]) wa-tab::part(base) {
|
|
558
558
|
padding: var(--wa-space-s) 0.75rem;
|
|
559
559
|
font-size: var(--wa-font-size-m);
|
|
560
560
|
}
|
|
@@ -567,11 +567,11 @@ export class DocksTabs extends DocksContainer {
|
|
|
567
567
|
padding: var(--wa-space-s);
|
|
568
568
|
}
|
|
569
569
|
|
|
570
|
-
:host([icon-only][item-size="
|
|
570
|
+
:host([icon-only][item-size="s"]:is([placement="top"], [placement="bottom"])) wa-tab::part(base) {
|
|
571
571
|
padding: var(--wa-space-xs);
|
|
572
572
|
}
|
|
573
573
|
|
|
574
|
-
:host([icon-only][item-size="
|
|
574
|
+
:host([icon-only][item-size="l"]:is([placement="top"], [placement="bottom"])) wa-tab::part(base) {
|
|
575
575
|
padding: var(--wa-space-m);
|
|
576
576
|
}
|
|
577
577
|
|
|
@@ -580,11 +580,11 @@ export class DocksTabs extends DocksContainer {
|
|
|
580
580
|
padding-block: var(--wa-space-s);
|
|
581
581
|
}
|
|
582
582
|
|
|
583
|
-
:host([icon-only][item-size="
|
|
583
|
+
:host([icon-only][item-size="s"]:is([placement="start"], [placement="end"])) wa-tab::part(base) {
|
|
584
584
|
padding-block: var(--wa-space-xs);
|
|
585
585
|
}
|
|
586
586
|
|
|
587
|
-
:host([icon-only][item-size="
|
|
587
|
+
:host([icon-only][item-size="l"]:is([placement="start"], [placement="end"])) wa-tab::part(base) {
|
|
588
588
|
padding-block: var(--wa-space-m);
|
|
589
589
|
}
|
|
590
590
|
|
|
@@ -592,11 +592,11 @@ export class DocksTabs extends DocksContainer {
|
|
|
592
592
|
font-size: var(--wa-font-size-l);
|
|
593
593
|
}
|
|
594
594
|
|
|
595
|
-
:host([icon-only][item-size="
|
|
595
|
+
:host([icon-only][item-size="s"]) wa-tab wa-icon {
|
|
596
596
|
font-size: var(--wa-font-size-m);
|
|
597
597
|
}
|
|
598
598
|
|
|
599
|
-
:host([icon-only][item-size="
|
|
599
|
+
:host([icon-only][item-size="l"]) wa-tab wa-icon {
|
|
600
600
|
font-size: var(--wa-font-size-xl);
|
|
601
601
|
}
|
|
602
602
|
|
package/src/parts/toolbar.ts
CHANGED
|
@@ -56,7 +56,7 @@ export class DocksToolbar extends DocksElement {
|
|
|
56
56
|
align: "start" | "center" | "end" = "start";
|
|
57
57
|
|
|
58
58
|
@property({reflect: true})
|
|
59
|
-
size: "
|
|
59
|
+
size: "s" | "m" | "l" = "s";
|
|
60
60
|
|
|
61
61
|
@property({attribute: false})
|
|
62
62
|
scopeTokens: string[] = [];
|
|
@@ -83,7 +83,6 @@ export class DocksToolbar extends DocksElement {
|
|
|
83
83
|
const trimmed = toolbarItems.scrollWidth > toolbarItems.clientWidth;
|
|
84
84
|
if (this.compact !== trimmed) {
|
|
85
85
|
this.compact = trimmed;
|
|
86
|
-
this.requestUpdate();
|
|
87
86
|
}
|
|
88
87
|
}
|
|
89
88
|
|
|
@@ -123,6 +122,10 @@ export class DocksToolbar extends DocksElement {
|
|
|
123
122
|
updated(changedProperties: Map<string, unknown>) {
|
|
124
123
|
super.updated?.(changedProperties);
|
|
125
124
|
if (!this.compact) this.scheduleOverflowCheck();
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
protected willUpdate(changedProperties: Map<string, unknown>) {
|
|
128
|
+
super.willUpdate?.(changedProperties);
|
|
126
129
|
if (changedProperties.has('scopeTokens')) {
|
|
127
130
|
this.refreshContributions();
|
|
128
131
|
}
|
|
@@ -145,7 +148,6 @@ export class DocksToolbar extends DocksElement {
|
|
|
145
148
|
const shouldReload = this.matchesTarget(id, event.target);
|
|
146
149
|
if (shouldReload) {
|
|
147
150
|
this.refreshContributions();
|
|
148
|
-
this.requestUpdate()
|
|
149
151
|
}
|
|
150
152
|
})
|
|
151
153
|
}
|
package/src/vite-env.d.ts
CHANGED
|
@@ -18,17 +18,3 @@ declare const __RESOLVED_PACKAGE_INFO__: {
|
|
|
18
18
|
marketplaceCatalogUrls?: string[];
|
|
19
19
|
} | undefined;
|
|
20
20
|
|
|
21
|
-
declare module 'toastify-js' {
|
|
22
|
-
interface ToastifyOptions {
|
|
23
|
-
text?: string;
|
|
24
|
-
duration?: number;
|
|
25
|
-
gravity?: 'top' | 'bottom';
|
|
26
|
-
position?: 'left' | 'center' | 'right';
|
|
27
|
-
close?: boolean;
|
|
28
|
-
style?: { background?: string };
|
|
29
|
-
className?: string;
|
|
30
|
-
}
|
|
31
|
-
function Toastify(options: ToastifyOptions): { showToast(): void };
|
|
32
|
-
export default Toastify;
|
|
33
|
-
}
|
|
34
|
-
|