ooxml-ui 0.20.0 → 0.22.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/README.md +47 -2
- package/dist/base.d.ts +118 -0
- package/dist/{account.d.ts → chrome/account-profile.d.ts} +0 -6
- package/dist/chrome/account.d.ts +17 -0
- package/dist/chrome/backstage.d.ts +78 -0
- package/dist/chrome/find-bar.d.ts +111 -0
- package/dist/chrome/print-preview.d.ts +39 -0
- package/dist/chrome/ruler.d.ts +43 -0
- package/dist/chrome/status-bar.d.ts +80 -0
- package/dist/chrome/status-item.d.ts +40 -0
- package/dist/chrome/tab-strip.d.ts +88 -0
- package/dist/chrome/title-bar-types.d.ts +75 -0
- package/dist/chrome/title-bar.d.ts +81 -0
- package/dist/{chunk-7XBKSYGM.js → chunk-2X6QYQ3Q.js} +10 -1
- package/dist/{chunk-4JQLQROF.js → chunk-3MDKXKKQ.js} +53 -65
- package/dist/chunk-5A4REH6T.js +259 -0
- package/dist/chunk-E47762NY.js +90 -0
- package/dist/chunk-HNGJI5EZ.js +834 -0
- package/dist/{chunk-G3LAGZEW.js → chunk-HSJH6SUW.js} +33 -1
- package/dist/{chunk-W5PYFBEZ.js → chunk-HZ422LTR.js} +1 -49
- package/dist/chunk-LKLZOPTO.js +4536 -0
- package/dist/controls.d.ts +56 -46
- package/dist/controls.js +5 -5
- package/dist/dialog/dialog-footer.d.ts +40 -0
- package/dist/dialog/dialog.d.ts +52 -0
- package/dist/{options.d.ts → dialog/options-dialog.d.ts} +46 -1
- package/dist/form/checkable.d.ts +49 -0
- package/dist/form/checkbox.d.ts +8 -0
- package/dist/form/radio.d.ts +68 -0
- package/dist/form/search-field.d.ts +54 -0
- package/dist/{select-menu.d.ts → form/select-menu.d.ts} +3 -13
- package/dist/form/select.d.ts +115 -0
- package/dist/form/switch.d.ts +11 -0
- package/dist/form/zoom-slider.d.ts +78 -0
- package/dist/glyph.d.ts +2 -0
- package/dist/icon.d.ts +19 -0
- package/dist/icons.d.ts +0 -3
- package/dist/icons.js +1 -3
- package/dist/index.d.ts +4 -1
- package/dist/index.js +16 -12
- package/dist/menu/command-search.d.ts +74 -0
- package/dist/menu/context-menu.d.ts +89 -0
- package/dist/menu/menu-button.d.ts +77 -0
- package/dist/menu/menu-item.d.ts +52 -0
- package/dist/{menu-model.d.ts → menu/menu-model.d.ts} +2 -0
- package/dist/menu/menu-separator.d.ts +7 -0
- package/dist/notices/paste-options.d.ts +41 -0
- package/dist/notices/read-only-banner.d.ts +53 -0
- package/dist/notices/toasts.d.ts +40 -0
- package/dist/presence/presence.d.ts +53 -0
- package/dist/presence.d.ts +1 -31
- package/dist/presence.js +3 -3
- package/dist/ribbon/button.d.ts +60 -0
- package/dist/ribbon/gallery-styles.d.ts +2 -0
- package/dist/ribbon/gallery.d.ts +97 -0
- package/dist/ribbon/ribbon-group.d.ts +35 -0
- package/dist/{ribbon-section.d.ts → ribbon/ribbon-section.d.ts} +14 -1
- package/dist/ribbon/ribbon-stack.d.ts +10 -0
- package/dist/ribbon/ribbon-tabs.d.ts +82 -0
- package/dist/ribbon/ribbon-toggle.d.ts +49 -0
- package/dist/ribbon/ribbon-toolbar.d.ts +15 -0
- package/dist/smartart/smartart.d.ts +43 -0
- package/dist/smartart.d.ts +1 -14
- package/dist/smartart.js +3 -3
- package/dist/styles.d.ts +1 -4
- package/dist/teams/app-rail.d.ts +29 -0
- package/dist/teams/avatar.d.ts +39 -0
- package/dist/teams/base.d.ts +17 -0
- package/dist/teams/call-controls.d.ts +61 -0
- package/dist/teams/call-grid.d.ts +33 -0
- package/dist/teams/channel-list.d.ts +40 -0
- package/dist/teams/chat-composer.d.ts +60 -0
- package/dist/teams/chat-list.d.ts +51 -0
- package/dist/teams/icons.d.ts +3 -0
- package/dist/teams/index.d.ts +14 -0
- package/dist/teams/prejoin.d.ts +40 -0
- package/dist/teams.js +5 -0
- package/dist/theme.js +2 -2
- package/dist/tokens.d.ts +245 -214
- package/package.json +12 -6
- package/dist/backstage.d.ts +0 -28
- package/dist/button.d.ts +0 -14
- package/dist/checkable.d.ts +0 -4
- package/dist/chrome-controls.d.ts +0 -52
- package/dist/chunk-24MMSCKW.js +0 -119
- package/dist/chunk-UEJ4F33J.js +0 -78
- package/dist/chunk-W7YI5DSJ.js +0 -5970
- package/dist/command-search.d.ts +0 -18
- package/dist/context-menu.d.ts +0 -20
- package/dist/dialog.d.ts +0 -13
- package/dist/document-notices.d.ts +0 -55
- package/dist/find-bar.d.ts +0 -15
- package/dist/gallery-styles.d.ts +0 -7
- package/dist/gallery-view.d.ts +0 -53
- package/dist/gallery.d.ts +0 -20
- package/dist/menu.d.ts +0 -15
- package/dist/print-preview.d.ts +0 -11
- package/dist/radio.d.ts +0 -1
- package/dist/ribbon-tabs.d.ts +0 -14
- package/dist/ribbon-toggle.d.ts +0 -1
- package/dist/ribbon.d.ts +0 -24
- package/dist/ruler.d.ts +0 -10
- package/dist/search-field.d.ts +0 -1
- package/dist/select-styles.d.ts +0 -6
- package/dist/select.d.ts +0 -19
- package/dist/status-bar-view.d.ts +0 -50
- package/dist/status-bar.d.ts +0 -19
- package/dist/tab-strip.d.ts +0 -20
- package/dist/title-bar-search.d.ts +0 -43
- package/dist/title-bar-strip.d.ts +0 -20
- package/dist/title-bar.d.ts +0 -49
- package/dist/zoom-slider.d.ts +0 -9
- /package/dist/{safe-svg.d.ts → ribbon/safe-svg.d.ts} +0 -0
- /package/dist/{smartart-svg.d.ts → smartart/smartart-svg.d.ts} +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { OfficeElement, controlStyles, definer } from './chunk-5A4REH6T.js';
|
|
2
|
+
import { html } from 'lit';
|
|
3
|
+
|
|
4
|
+
// raw-css:/home/runner/work/ooxml/ooxml/packages/ui/src/presence/presence.css?raw
|
|
5
|
+
var presence_default = ":host {\n display: inline-flex;\n align-items: center;\n}\nul {\n display: flex;\n margin: 0;\n padding: 0;\n list-style: none;\n}\nli {\n margin-inline-start: calc(-1 * var(--office-space-1-5));\n}\nli:first-child {\n margin-inline-start: 0;\n}\nbutton,\n.more {\n box-sizing: border-box;\n display: inline-grid;\n place-items: center;\n width: var(--office-target-size);\n height: var(--office-target-size);\n padding: 0;\n border-radius: 50%;\n border: var(--office-border-width-thick) solid var(--office-avatar-color);\n background: var(--office-surface);\n color: var(--office-foreground);\n font: 600 var(--office-font-size-xs) var(--office-font);\n cursor: pointer;\n}\n.more {\n cursor: default;\n border-color: var(--office-border);\n}\nbutton:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: calc(var(--office-focus-offset) / 2);\n z-index: 1;\n}\nbutton[data-status='idle'] {\n opacity: 0.7;\n}\nbutton[data-status='away'] {\n opacity: 0.45;\n border-style: dashed;\n}\n@media (forced-colors: active) {\n button,\n .more {\n border-color: CanvasText;\n background: Canvas;\n color: CanvasText;\n }\n button:focus-visible {\n outline-color: Highlight;\n }\n}\n";
|
|
6
|
+
|
|
7
|
+
// src/presence/presence.ts
|
|
8
|
+
function participantsFromAwareness(states, selfId) {
|
|
9
|
+
const out = [];
|
|
10
|
+
for (const state of states) {
|
|
11
|
+
const user = state?.user;
|
|
12
|
+
const id = String(user?.id ?? state?.clientId ?? "");
|
|
13
|
+
if (!id || !user?.name) continue;
|
|
14
|
+
out.push({
|
|
15
|
+
id,
|
|
16
|
+
name: user.name,
|
|
17
|
+
...user.color ? { color: user.color } : {},
|
|
18
|
+
...user.status ? { status: user.status } : {},
|
|
19
|
+
...id === selfId || user.self ? { self: true } : {}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return out;
|
|
23
|
+
}
|
|
24
|
+
var initialsOf = (name) => {
|
|
25
|
+
const parts = name.trim().split(/\s+/).filter(Boolean);
|
|
26
|
+
if (parts.length === 0) return "?";
|
|
27
|
+
const first = [...parts[0] ?? ""][0] ?? "?";
|
|
28
|
+
const last = parts.length > 1 ? [...parts[parts.length - 1] ?? ""][0] ?? "" : "";
|
|
29
|
+
return (first + last).toUpperCase();
|
|
30
|
+
};
|
|
31
|
+
var OfficeUiPresence = class extends OfficeElement {
|
|
32
|
+
static styles = controlStyles(presence_default);
|
|
33
|
+
static properties = {
|
|
34
|
+
// `participants` keeps the local user first, so it has an accessor.
|
|
35
|
+
max: { type: String },
|
|
36
|
+
label: { type: String }
|
|
37
|
+
};
|
|
38
|
+
people = [];
|
|
39
|
+
constructor() {
|
|
40
|
+
super();
|
|
41
|
+
this.max = null;
|
|
42
|
+
this.label = null;
|
|
43
|
+
}
|
|
44
|
+
get participants() {
|
|
45
|
+
return this.people;
|
|
46
|
+
}
|
|
47
|
+
set participants(next) {
|
|
48
|
+
this.people = [...next].sort((a, b) => Number(Boolean(b.self)) - Number(Boolean(a.self)));
|
|
49
|
+
this.requestUpdate("participants");
|
|
50
|
+
}
|
|
51
|
+
get visible() {
|
|
52
|
+
const n = Number(this.max ?? 4);
|
|
53
|
+
return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 4;
|
|
54
|
+
}
|
|
55
|
+
willUpdate() {
|
|
56
|
+
this.setAttribute("role", "group");
|
|
57
|
+
this.setAttribute("aria-label", this.label ?? `${this.people.length} collaborators`);
|
|
58
|
+
}
|
|
59
|
+
person(person) {
|
|
60
|
+
const status = person.status && person.status !== "active" ? `, ${person.status}` : "";
|
|
61
|
+
return html`<li>
|
|
62
|
+
<button
|
|
63
|
+
type="button"
|
|
64
|
+
data-id=${person.id}
|
|
65
|
+
data-status=${person.status ?? "active"}
|
|
66
|
+
style=${person.color ? `--office-avatar-color:${person.color}` : ""}
|
|
67
|
+
aria-label="${person.name}${person.self ? " (you)" : ""}${status}"
|
|
68
|
+
title=${person.name}
|
|
69
|
+
@click=${() => this.fire("office-presence-select", { id: person.id })}
|
|
70
|
+
>${initialsOf(person.name)}</button
|
|
71
|
+
>
|
|
72
|
+
</li>`;
|
|
73
|
+
}
|
|
74
|
+
render() {
|
|
75
|
+
const shown = this.people.slice(0, this.visible);
|
|
76
|
+
const hidden = this.people.length - shown.length;
|
|
77
|
+
const names = this.people.slice(shown.length).map((p) => p.name).join(", ");
|
|
78
|
+
return html`<ul role="list">
|
|
79
|
+
${shown.map((person) => this.person(person))}
|
|
80
|
+
${hidden > 0 ? html`<li>
|
|
81
|
+
<span class="more" title=${names} aria-label="${hidden} more: ${names}"
|
|
82
|
+
>+${hidden}</span
|
|
83
|
+
>
|
|
84
|
+
</li>` : ""}
|
|
85
|
+
</ul>`;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
var definePresence = definer("office-ui-presence", () => OfficeUiPresence);
|
|
89
|
+
|
|
90
|
+
export { OfficeUiPresence, definePresence, initialsOf, participantsFromAwareness };
|