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.
Files changed (114) hide show
  1. package/README.md +47 -2
  2. package/dist/base.d.ts +118 -0
  3. package/dist/{account.d.ts → chrome/account-profile.d.ts} +0 -6
  4. package/dist/chrome/account.d.ts +17 -0
  5. package/dist/chrome/backstage.d.ts +78 -0
  6. package/dist/chrome/find-bar.d.ts +111 -0
  7. package/dist/chrome/print-preview.d.ts +39 -0
  8. package/dist/chrome/ruler.d.ts +43 -0
  9. package/dist/chrome/status-bar.d.ts +80 -0
  10. package/dist/chrome/status-item.d.ts +40 -0
  11. package/dist/chrome/tab-strip.d.ts +88 -0
  12. package/dist/chrome/title-bar-types.d.ts +75 -0
  13. package/dist/chrome/title-bar.d.ts +81 -0
  14. package/dist/{chunk-7XBKSYGM.js → chunk-2X6QYQ3Q.js} +10 -1
  15. package/dist/{chunk-4JQLQROF.js → chunk-3MDKXKKQ.js} +53 -65
  16. package/dist/chunk-5A4REH6T.js +259 -0
  17. package/dist/chunk-E47762NY.js +90 -0
  18. package/dist/chunk-HNGJI5EZ.js +834 -0
  19. package/dist/{chunk-G3LAGZEW.js → chunk-HSJH6SUW.js} +33 -1
  20. package/dist/{chunk-W5PYFBEZ.js → chunk-HZ422LTR.js} +1 -49
  21. package/dist/chunk-LKLZOPTO.js +4536 -0
  22. package/dist/controls.d.ts +56 -46
  23. package/dist/controls.js +5 -5
  24. package/dist/dialog/dialog-footer.d.ts +40 -0
  25. package/dist/dialog/dialog.d.ts +52 -0
  26. package/dist/{options.d.ts → dialog/options-dialog.d.ts} +46 -1
  27. package/dist/form/checkable.d.ts +49 -0
  28. package/dist/form/checkbox.d.ts +8 -0
  29. package/dist/form/radio.d.ts +68 -0
  30. package/dist/form/search-field.d.ts +54 -0
  31. package/dist/{select-menu.d.ts → form/select-menu.d.ts} +3 -13
  32. package/dist/form/select.d.ts +115 -0
  33. package/dist/form/switch.d.ts +11 -0
  34. package/dist/form/zoom-slider.d.ts +78 -0
  35. package/dist/glyph.d.ts +2 -0
  36. package/dist/icon.d.ts +19 -0
  37. package/dist/icons.d.ts +0 -3
  38. package/dist/icons.js +1 -3
  39. package/dist/index.d.ts +4 -1
  40. package/dist/index.js +16 -12
  41. package/dist/menu/command-search.d.ts +74 -0
  42. package/dist/menu/context-menu.d.ts +89 -0
  43. package/dist/menu/menu-button.d.ts +77 -0
  44. package/dist/menu/menu-item.d.ts +52 -0
  45. package/dist/{menu-model.d.ts → menu/menu-model.d.ts} +2 -0
  46. package/dist/menu/menu-separator.d.ts +7 -0
  47. package/dist/notices/paste-options.d.ts +41 -0
  48. package/dist/notices/read-only-banner.d.ts +53 -0
  49. package/dist/notices/toasts.d.ts +40 -0
  50. package/dist/presence/presence.d.ts +53 -0
  51. package/dist/presence.d.ts +1 -31
  52. package/dist/presence.js +3 -3
  53. package/dist/ribbon/button.d.ts +60 -0
  54. package/dist/ribbon/gallery-styles.d.ts +2 -0
  55. package/dist/ribbon/gallery.d.ts +97 -0
  56. package/dist/ribbon/ribbon-group.d.ts +35 -0
  57. package/dist/{ribbon-section.d.ts → ribbon/ribbon-section.d.ts} +14 -1
  58. package/dist/ribbon/ribbon-stack.d.ts +10 -0
  59. package/dist/ribbon/ribbon-tabs.d.ts +82 -0
  60. package/dist/ribbon/ribbon-toggle.d.ts +49 -0
  61. package/dist/ribbon/ribbon-toolbar.d.ts +15 -0
  62. package/dist/smartart/smartart.d.ts +43 -0
  63. package/dist/smartart.d.ts +1 -14
  64. package/dist/smartart.js +3 -3
  65. package/dist/styles.d.ts +1 -4
  66. package/dist/teams/app-rail.d.ts +29 -0
  67. package/dist/teams/avatar.d.ts +39 -0
  68. package/dist/teams/base.d.ts +17 -0
  69. package/dist/teams/call-controls.d.ts +61 -0
  70. package/dist/teams/call-grid.d.ts +33 -0
  71. package/dist/teams/channel-list.d.ts +40 -0
  72. package/dist/teams/chat-composer.d.ts +60 -0
  73. package/dist/teams/chat-list.d.ts +51 -0
  74. package/dist/teams/icons.d.ts +3 -0
  75. package/dist/teams/index.d.ts +14 -0
  76. package/dist/teams/prejoin.d.ts +40 -0
  77. package/dist/teams.js +5 -0
  78. package/dist/theme.js +2 -2
  79. package/dist/tokens.d.ts +245 -214
  80. package/package.json +12 -6
  81. package/dist/backstage.d.ts +0 -28
  82. package/dist/button.d.ts +0 -14
  83. package/dist/checkable.d.ts +0 -4
  84. package/dist/chrome-controls.d.ts +0 -52
  85. package/dist/chunk-24MMSCKW.js +0 -119
  86. package/dist/chunk-UEJ4F33J.js +0 -78
  87. package/dist/chunk-W7YI5DSJ.js +0 -5970
  88. package/dist/command-search.d.ts +0 -18
  89. package/dist/context-menu.d.ts +0 -20
  90. package/dist/dialog.d.ts +0 -13
  91. package/dist/document-notices.d.ts +0 -55
  92. package/dist/find-bar.d.ts +0 -15
  93. package/dist/gallery-styles.d.ts +0 -7
  94. package/dist/gallery-view.d.ts +0 -53
  95. package/dist/gallery.d.ts +0 -20
  96. package/dist/menu.d.ts +0 -15
  97. package/dist/print-preview.d.ts +0 -11
  98. package/dist/radio.d.ts +0 -1
  99. package/dist/ribbon-tabs.d.ts +0 -14
  100. package/dist/ribbon-toggle.d.ts +0 -1
  101. package/dist/ribbon.d.ts +0 -24
  102. package/dist/ruler.d.ts +0 -10
  103. package/dist/search-field.d.ts +0 -1
  104. package/dist/select-styles.d.ts +0 -6
  105. package/dist/select.d.ts +0 -19
  106. package/dist/status-bar-view.d.ts +0 -50
  107. package/dist/status-bar.d.ts +0 -19
  108. package/dist/tab-strip.d.ts +0 -20
  109. package/dist/title-bar-search.d.ts +0 -43
  110. package/dist/title-bar-strip.d.ts +0 -20
  111. package/dist/title-bar.d.ts +0 -49
  112. package/dist/zoom-slider.d.ts +0 -9
  113. /package/dist/{safe-svg.d.ts → ribbon/safe-svg.d.ts} +0 -0
  114. /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 };