@univerjs/ui 1.0.3 → 1.1.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/lib/cjs/facade.js +10 -7
- package/lib/cjs/index.js +136 -115
- package/lib/es/facade.js +10 -7
- package/lib/es/index.js +103 -82
- package/lib/facade.js +10 -7
- package/lib/index.css +5 -8
- package/lib/index.js +103 -82
- package/lib/types/common/component-manager.d.ts +17 -1
- package/lib/types/facade/f-univer.d.ts +5 -3
- package/lib/types/views/components/ribbon/ToolbarButton.d.ts +1 -1
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +18 -18
- package/package.json +10 -10
package/lib/cjs/index.js
CHANGED
|
@@ -56,7 +56,7 @@ function getAttributeValue(target, name) {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
//#endregion
|
|
59
|
-
//#region \0@oxc-project+runtime@0.
|
|
59
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/typeof.js
|
|
60
60
|
function _typeof(o) {
|
|
61
61
|
"@babel/helpers - typeof";
|
|
62
62
|
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -67,7 +67,7 @@ function _typeof(o) {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
//#endregion
|
|
70
|
-
//#region \0@oxc-project+runtime@0.
|
|
70
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPrimitive.js
|
|
71
71
|
function toPrimitive(t, r) {
|
|
72
72
|
if ("object" != _typeof(t) || !t) return t;
|
|
73
73
|
var e = t[Symbol.toPrimitive];
|
|
@@ -80,14 +80,14 @@ function toPrimitive(t, r) {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
//#endregion
|
|
83
|
-
//#region \0@oxc-project+runtime@0.
|
|
83
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPropertyKey.js
|
|
84
84
|
function toPropertyKey(t) {
|
|
85
85
|
var i = toPrimitive(t, "string");
|
|
86
86
|
return "symbol" == _typeof(i) ? i : i + "";
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
//#endregion
|
|
90
|
-
//#region \0@oxc-project+runtime@0.
|
|
90
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/defineProperty.js
|
|
91
91
|
function _defineProperty(e, r, t) {
|
|
92
92
|
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
93
93
|
value: t,
|
|
@@ -98,7 +98,7 @@ function _defineProperty(e, r, t) {
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
//#endregion
|
|
101
|
-
//#region \0@oxc-project+runtime@0.
|
|
101
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/decorateParam.js
|
|
102
102
|
function __decorateParam(paramIndex, decorator) {
|
|
103
103
|
return function(target, key) {
|
|
104
104
|
decorator(target, key, paramIndex);
|
|
@@ -106,7 +106,7 @@ function __decorateParam(paramIndex, decorator) {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
//#endregion
|
|
109
|
-
//#region \0@oxc-project+runtime@0.
|
|
109
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/decorate.js
|
|
110
110
|
function __decorate(decorators, target, key, desc) {
|
|
111
111
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
112
112
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -308,7 +308,8 @@ const ToggleShortcutPanelOperation = {
|
|
|
308
308
|
shortcutPanelService.open();
|
|
309
309
|
sidebarService.open({
|
|
310
310
|
header: { title: "ui.shortcut-panel.title" },
|
|
311
|
-
children: { label: ShortcutPanelComponentName }
|
|
311
|
+
children: { label: ShortcutPanelComponentName },
|
|
312
|
+
onClose: () => shortcutPanelService.close()
|
|
312
313
|
});
|
|
313
314
|
}
|
|
314
315
|
return true;
|
|
@@ -322,6 +323,7 @@ let ComponentManager = class ComponentManager extends _univerjs_core.Disposable
|
|
|
322
323
|
super();
|
|
323
324
|
this._logService = _logService;
|
|
324
325
|
_defineProperty(this, "_components", /* @__PURE__ */ new Map());
|
|
326
|
+
_defineProperty(this, "_overrides", /* @__PURE__ */ new Map());
|
|
325
327
|
_defineProperty(this, "reactUtils", {
|
|
326
328
|
createElement: react.createElement,
|
|
327
329
|
useEffect: react.useEffect,
|
|
@@ -331,19 +333,27 @@ let ComponentManager = class ComponentManager extends _univerjs_core.Disposable
|
|
|
331
333
|
return component;
|
|
332
334
|
} });
|
|
333
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Register before the component is first rendered; mounted views do not subscribe to registry changes.
|
|
338
|
+
* Disposing an override reveals the current default, if it is still registered.
|
|
339
|
+
* @throws When another override is already registered for this name.
|
|
340
|
+
*/
|
|
334
341
|
register(name, component, options) {
|
|
335
|
-
const { framework = "react" } = options
|
|
342
|
+
const { framework = "react", override = false } = options ?? {};
|
|
343
|
+
const components = override ? this._overrides : this._components;
|
|
336
344
|
if (framework === "vue3" && !this._handler.vue3) throw new Error("[ComponentManager] Vue3 support is no longer built-in since v0.9.0, please install @univerjs/ui-adapter-vue3 plugin.");
|
|
337
|
-
if (
|
|
345
|
+
if (components.has(name)) {
|
|
338
346
|
var _this$_logService;
|
|
347
|
+
if (override) throw new Error(`[ComponentManager] Component ${name} already has an override.`);
|
|
339
348
|
(_this$_logService = this._logService) === null || _this$_logService === void 0 || _this$_logService.warn("[ComponentManager]", `Component ${name} already exists.`);
|
|
340
349
|
}
|
|
341
|
-
|
|
350
|
+
const registration = {
|
|
342
351
|
framework,
|
|
343
352
|
component
|
|
344
|
-
}
|
|
353
|
+
};
|
|
354
|
+
components.set(name, registration);
|
|
345
355
|
return (0, _univerjs_core.toDisposable)(() => {
|
|
346
|
-
|
|
356
|
+
if (components.get(name) === registration) components.delete(name);
|
|
347
357
|
});
|
|
348
358
|
}
|
|
349
359
|
setHandler(framework, handler) {
|
|
@@ -351,15 +361,25 @@ let ComponentManager = class ComponentManager extends _univerjs_core.Disposable
|
|
|
351
361
|
}
|
|
352
362
|
get(name) {
|
|
353
363
|
if (!name) return;
|
|
354
|
-
const value = this._components.get(name);
|
|
364
|
+
const value = this._overrides.get(name) ?? this._components.get(name);
|
|
355
365
|
if (!value) return;
|
|
356
366
|
const frameworkHandler = this._handler[value.framework];
|
|
357
367
|
if (!frameworkHandler) throw new Error(`[ComponentManager] No handler found for framework: ${value.framework}`);
|
|
358
368
|
return frameworkHandler(value.component, name);
|
|
359
369
|
}
|
|
370
|
+
/** Check for a built-in default independently of any active host override. */
|
|
371
|
+
hasDefault(name) {
|
|
372
|
+
return this._components.has(name);
|
|
373
|
+
}
|
|
374
|
+
/** Remove the default registration. Overrides can only be removed through their registration disposable. */
|
|
360
375
|
delete(name) {
|
|
361
376
|
this._components.delete(name);
|
|
362
377
|
}
|
|
378
|
+
dispose() {
|
|
379
|
+
super.dispose();
|
|
380
|
+
this._components.clear();
|
|
381
|
+
this._overrides.clear();
|
|
382
|
+
}
|
|
363
383
|
};
|
|
364
384
|
ComponentManager = __decorate([__decorateParam(0, (0, _univerjs_core.Optional)(_univerjs_core.ILogService))], ComponentManager);
|
|
365
385
|
|
|
@@ -1655,27 +1675,33 @@ let DesktopRibbonService = class DesktopRibbonService extends _univerjs_core.Dis
|
|
|
1655
1675
|
this._initRibbonSubscription();
|
|
1656
1676
|
}
|
|
1657
1677
|
setActivatedTab(tab) {
|
|
1678
|
+
if (this._disposed) return;
|
|
1658
1679
|
if (!this._isContextualTab(tab)) this._lastNonContextualActivatedTab = tab;
|
|
1659
1680
|
this._activatedTab$.next(tab);
|
|
1660
1681
|
}
|
|
1661
1682
|
showContextualTab(tab, options) {
|
|
1683
|
+
if (this._disposed) return;
|
|
1662
1684
|
this._visibleContextualTabs.add(tab);
|
|
1663
1685
|
this._updateRibbon();
|
|
1664
1686
|
if (options === null || options === void 0 ? void 0 : options.activate) this.setActivatedTab(tab);
|
|
1665
1687
|
}
|
|
1666
1688
|
hideContextualTab(tab) {
|
|
1689
|
+
if (this._disposed) return;
|
|
1667
1690
|
if (!this._visibleContextualTabs.delete(tab)) return;
|
|
1668
1691
|
this._updateRibbon();
|
|
1669
1692
|
}
|
|
1670
1693
|
hideAllContextualTabs() {
|
|
1694
|
+
if (this._disposed) return;
|
|
1671
1695
|
if (this._visibleContextualTabs.size === 0) return;
|
|
1672
1696
|
this._visibleContextualTabs.clear();
|
|
1673
1697
|
this._updateRibbon();
|
|
1674
1698
|
}
|
|
1675
1699
|
setCollapsedIds(ids) {
|
|
1700
|
+
if (this._disposed) return;
|
|
1676
1701
|
this._collapsedIds$.next(ids);
|
|
1677
1702
|
}
|
|
1678
1703
|
setFakeToolbarVisible(visible) {
|
|
1704
|
+
if (this._disposed) return;
|
|
1679
1705
|
this._fakeToolbarVisible$.next(visible);
|
|
1680
1706
|
}
|
|
1681
1707
|
_initRibbonSubscription() {
|
|
@@ -1685,15 +1711,16 @@ let DesktopRibbonService = class DesktopRibbonService extends _univerjs_core.Dis
|
|
|
1685
1711
|
}
|
|
1686
1712
|
_updateRibbon() {
|
|
1687
1713
|
var _this$_hiddenSubscrip;
|
|
1714
|
+
if (this._disposed) return;
|
|
1688
1715
|
const ribbon = this._filterContextualTabs(this._menuManagerService.getMenuByPositionKey("ribbon"));
|
|
1689
1716
|
const hiddenObservableMap = [];
|
|
1690
|
-
const
|
|
1717
|
+
const menusWithHiddenState = [];
|
|
1691
1718
|
for (const group of ribbon) if (group.children) {
|
|
1692
1719
|
for (const item of group.children) if (item.children) for (const child of item.children) {
|
|
1693
1720
|
var _child$item;
|
|
1694
1721
|
if ((_child$item = child.item) === null || _child$item === void 0 ? void 0 : _child$item.hidden$) {
|
|
1695
1722
|
hiddenObservableMap.push(child.item.hidden$);
|
|
1696
|
-
|
|
1723
|
+
menusWithHiddenState.push(child);
|
|
1697
1724
|
}
|
|
1698
1725
|
}
|
|
1699
1726
|
}
|
|
@@ -1705,10 +1732,7 @@ let DesktopRibbonService = class DesktopRibbonService extends _univerjs_core.Dis
|
|
|
1705
1732
|
}
|
|
1706
1733
|
this._hiddenSubscription = (0, rxjs.combineLatest)(hiddenObservableMap.map((hidden$) => hidden$.pipe((0, rxjs_operators.startWith)(false)))).pipe((0, rxjs_operators.distinctUntilChanged)(isSameHiddenMap)).subscribe((hiddenMap) => {
|
|
1707
1734
|
const newRibbon = [];
|
|
1708
|
-
const
|
|
1709
|
-
if (hidden) return hiddenKeyMap[index];
|
|
1710
|
-
return null;
|
|
1711
|
-
}).filter((item) => !!item);
|
|
1735
|
+
const hiddenMenus = new Set(menusWithHiddenState.filter((_, index) => hiddenMap[index]));
|
|
1712
1736
|
for (const group of ribbon) {
|
|
1713
1737
|
var _group$children, _newGroup$children2;
|
|
1714
1738
|
const newGroup = {
|
|
@@ -1724,7 +1748,7 @@ let DesktopRibbonService = class DesktopRibbonService extends _univerjs_core.Dis
|
|
|
1724
1748
|
let shouldAddItem = true;
|
|
1725
1749
|
if ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) {
|
|
1726
1750
|
var _newItem$children2;
|
|
1727
|
-
for (const child of item.children) if (!
|
|
1751
|
+
for (const child of item.children) if (!hiddenMenus.has(child)) {
|
|
1728
1752
|
var _newItem$children;
|
|
1729
1753
|
(_newItem$children = newItem.children) === null || _newItem$children === void 0 || _newItem$children.push(child);
|
|
1730
1754
|
}
|
|
@@ -1745,6 +1769,10 @@ let DesktopRibbonService = class DesktopRibbonService extends _univerjs_core.Dis
|
|
|
1745
1769
|
}
|
|
1746
1770
|
this._setRibbon(newRibbon);
|
|
1747
1771
|
});
|
|
1772
|
+
if (this._disposed) {
|
|
1773
|
+
this._hiddenSubscription.unsubscribe();
|
|
1774
|
+
this._hiddenSubscription = null;
|
|
1775
|
+
}
|
|
1748
1776
|
}
|
|
1749
1777
|
_filterContextualTabs(ribbon) {
|
|
1750
1778
|
this._contextualTabs.clear();
|
|
@@ -1771,6 +1799,10 @@ let DesktopRibbonService = class DesktopRibbonService extends _univerjs_core.Dis
|
|
|
1771
1799
|
}
|
|
1772
1800
|
dispose() {
|
|
1773
1801
|
var _this$_hiddenSubscrip2;
|
|
1802
|
+
if (this._disposed) return;
|
|
1803
|
+
super.dispose();
|
|
1804
|
+
this._visibleContextualTabs.clear();
|
|
1805
|
+
this._contextualTabs.clear();
|
|
1774
1806
|
(_this$_hiddenSubscrip2 = this._hiddenSubscription) === null || _this$_hiddenSubscrip2 === void 0 || _this$_hiddenSubscrip2.unsubscribe();
|
|
1775
1807
|
this._hiddenSubscription = null;
|
|
1776
1808
|
this._ribbon$.next([]);
|
|
@@ -1778,7 +1810,6 @@ let DesktopRibbonService = class DesktopRibbonService extends _univerjs_core.Dis
|
|
|
1778
1810
|
this._activatedTab$.complete();
|
|
1779
1811
|
this._collapsedIds$.complete();
|
|
1780
1812
|
this._fakeToolbarVisible$.complete();
|
|
1781
|
-
super.dispose();
|
|
1782
1813
|
}
|
|
1783
1814
|
};
|
|
1784
1815
|
DesktopRibbonService = __decorate([__decorateParam(0, IMenuManagerService), __decorateParam(1, _univerjs_core.IUniverInstanceService)], DesktopRibbonService);
|
|
@@ -3501,7 +3532,7 @@ function useToolbarShortcutDisplay({ id, commandId, shortcut }) {
|
|
|
3501
3532
|
*/
|
|
3502
3533
|
const toolbarButtonClassName = `
|
|
3503
3534
|
univer-box-border univer-flex univer-h-6 univer-min-w-6 univer-cursor-pointer univer-items-center
|
|
3504
|
-
univer-justify-center univer-rounded univer-border-none univer-bg-transparent univer-
|
|
3535
|
+
univer-justify-center univer-rounded univer-border-none univer-bg-transparent univer-px-0 univer-py-0
|
|
3505
3536
|
univer-text-gray-900 univer-outline-none univer-transition-colors univer-animate-in univer-fade-in
|
|
3506
3537
|
dark:!univer-text-gray-0 dark:hover:!univer-bg-gray-700 dark:disabled:!univer-text-gray-600
|
|
3507
3538
|
disabled:univer-cursor-not-allowed disabled:univer-text-gray-300 disabled:hover:univer-bg-transparent
|
|
@@ -4032,7 +4063,7 @@ const toolbarSelectorRootVariants = (0, _univerjs_design.cva)("univer-toolbar-se
|
|
|
4032
4063
|
false: "univer-text-gray-900 dark:!univer-text-gray-0"
|
|
4033
4064
|
},
|
|
4034
4065
|
active: {
|
|
4035
|
-
true: "univer-bg-gray-200",
|
|
4066
|
+
true: "univer-bg-gray-200 dark:!univer-bg-gray-500",
|
|
4036
4067
|
false: ""
|
|
4037
4068
|
}
|
|
4038
4069
|
},
|
|
@@ -4303,7 +4334,7 @@ function RibbonGrid({ groups, title, className, ...props }) {
|
|
|
4303
4334
|
const placements = placeRibbonGridItems(group.children ?? []);
|
|
4304
4335
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
4305
4336
|
"data-u-comp": "ribbon-grid-group",
|
|
4306
|
-
className: "univer-relative univer-box-border univer-flex univer-
|
|
4337
|
+
className: "univer-relative univer-box-border univer-flex univer-shrink-0 univer-flex-col univer-px-2",
|
|
4307
4338
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
4308
4339
|
"data-testid": "ribbon-grid-group-grid",
|
|
4309
4340
|
className: "univer-grid univer-min-h-0 univer-flex-1 univer-grid-flow-col univer-grid-rows-[repeat(2,1.5rem)] univer-content-center univer-gap-2 univer-py-2 [&>div>span>span]:univer-h-full",
|
|
@@ -4722,52 +4753,6 @@ var ContextMenuHostService = class extends _univerjs_core.Disposable {
|
|
|
4722
4753
|
}
|
|
4723
4754
|
};
|
|
4724
4755
|
|
|
4725
|
-
//#endregion
|
|
4726
|
-
//#region src/views/hooks/layout.ts
|
|
4727
|
-
/**
|
|
4728
|
-
* These hooks are used for browser layout
|
|
4729
|
-
* Prefer to client-side
|
|
4730
|
-
*/
|
|
4731
|
-
/**
|
|
4732
|
-
* Allow the element to scroll when its height over the container height
|
|
4733
|
-
* @param element
|
|
4734
|
-
* Container means the window view that the element displays in.
|
|
4735
|
-
* Recommend pass the sheet mountContainer as container
|
|
4736
|
-
* @param container
|
|
4737
|
-
*/
|
|
4738
|
-
function useScrollYOverContainer(element, container) {
|
|
4739
|
-
const updater = useEvent(() => {
|
|
4740
|
-
if (!element || !container) return;
|
|
4741
|
-
const elStyle = element.style;
|
|
4742
|
-
const { y, height } = element.getBoundingClientRect();
|
|
4743
|
-
const containerRect = container.getBoundingClientRect();
|
|
4744
|
-
const scrolled = element.scrollHeight > height;
|
|
4745
|
-
const isOverViewport = y < 0 || y + height > containerRect.height;
|
|
4746
|
-
if (!isOverViewport && !scrolled) {
|
|
4747
|
-
elStyle.overflowY = "";
|
|
4748
|
-
elStyle.maxHeight = "";
|
|
4749
|
-
return;
|
|
4750
|
-
}
|
|
4751
|
-
if (isOverViewport) {
|
|
4752
|
-
elStyle.overflowY = "auto";
|
|
4753
|
-
elStyle.maxHeight = y < 0 ? `${element.scrollHeight + y}px` : `${containerRect.height - y}px`;
|
|
4754
|
-
}
|
|
4755
|
-
});
|
|
4756
|
-
(0, react.useEffect)(() => {
|
|
4757
|
-
if (!(0, _univerjs_design.isBrowser)() || !element || !container) return;
|
|
4758
|
-
updater();
|
|
4759
|
-
const resizeObserver = new ResizeObserver(updater);
|
|
4760
|
-
resizeObserver.observe(element);
|
|
4761
|
-
return () => {
|
|
4762
|
-
resizeObserver.disconnect();
|
|
4763
|
-
};
|
|
4764
|
-
}, [element, container]);
|
|
4765
|
-
}
|
|
4766
|
-
function useConfigValue(configKey) {
|
|
4767
|
-
const configService = (0, _wendellhu_redi_react_bindings.useDependency)(_univerjs_core.IConfigService);
|
|
4768
|
-
return (0, _wendellhu_redi_react_bindings.useObservable)((0, react.useMemo)(() => configService.subscribeConfigValue$(configKey), [configService]), configService.getConfig(configKey));
|
|
4769
|
-
}
|
|
4770
|
-
|
|
4771
4756
|
//#endregion
|
|
4772
4757
|
//#region src/views/hooks/prevent-browser-zoom.ts
|
|
4773
4758
|
/**
|
|
@@ -5433,7 +5418,6 @@ function ContextMenuPanel(props) {
|
|
|
5433
5418
|
menuSessionVersion
|
|
5434
5419
|
]);
|
|
5435
5420
|
const submenuPortalContainer = ((_layoutService$rootCo = layoutService.rootContainerElement) === null || _layoutService$rootCo === void 0 || (_layoutService$rootCo = _layoutService$rootCo.ownerDocument) === null || _layoutService$rootCo === void 0 ? void 0 : _layoutService$rootCo.body) ?? (typeof document !== "undefined" ? document.body : null);
|
|
5436
|
-
useScrollYOverContainer(menuElement, layoutService.rootContainerElement);
|
|
5437
5421
|
(0, react.useEffect)(() => {
|
|
5438
5422
|
if (!menuElement) return;
|
|
5439
5423
|
return preventBrowserZoomInContainers([menuElement]);
|
|
@@ -6525,6 +6509,52 @@ function WorkbenchSkeleton({ darkMode, direction, overlay = false }) {
|
|
|
6525
6509
|
});
|
|
6526
6510
|
}
|
|
6527
6511
|
|
|
6512
|
+
//#endregion
|
|
6513
|
+
//#region src/views/hooks/layout.ts
|
|
6514
|
+
/**
|
|
6515
|
+
* These hooks are used for browser layout
|
|
6516
|
+
* Prefer to client-side
|
|
6517
|
+
*/
|
|
6518
|
+
/**
|
|
6519
|
+
* Allow the element to scroll when its height over the container height
|
|
6520
|
+
* @param element
|
|
6521
|
+
* Container means the window view that the element displays in.
|
|
6522
|
+
* Recommend pass the sheet mountContainer as container
|
|
6523
|
+
* @param container
|
|
6524
|
+
*/
|
|
6525
|
+
function useScrollYOverContainer(element, container) {
|
|
6526
|
+
const updater = useEvent(() => {
|
|
6527
|
+
if (!element || !container) return;
|
|
6528
|
+
const elStyle = element.style;
|
|
6529
|
+
const { y, height } = element.getBoundingClientRect();
|
|
6530
|
+
const containerRect = container.getBoundingClientRect();
|
|
6531
|
+
const scrolled = element.scrollHeight > height;
|
|
6532
|
+
const isOverViewport = y < 0 || y + height > containerRect.height;
|
|
6533
|
+
if (!isOverViewport && !scrolled) {
|
|
6534
|
+
elStyle.overflowY = "";
|
|
6535
|
+
elStyle.maxHeight = "";
|
|
6536
|
+
return;
|
|
6537
|
+
}
|
|
6538
|
+
if (isOverViewport) {
|
|
6539
|
+
elStyle.overflowY = "auto";
|
|
6540
|
+
elStyle.maxHeight = y < 0 ? `${element.scrollHeight + y}px` : `${containerRect.height - y}px`;
|
|
6541
|
+
}
|
|
6542
|
+
});
|
|
6543
|
+
(0, react.useEffect)(() => {
|
|
6544
|
+
if (!(0, _univerjs_design.isBrowser)() || !element || !container) return;
|
|
6545
|
+
updater();
|
|
6546
|
+
const resizeObserver = new ResizeObserver(updater);
|
|
6547
|
+
resizeObserver.observe(element);
|
|
6548
|
+
return () => {
|
|
6549
|
+
resizeObserver.disconnect();
|
|
6550
|
+
};
|
|
6551
|
+
}, [element, container]);
|
|
6552
|
+
}
|
|
6553
|
+
function useConfigValue(configKey) {
|
|
6554
|
+
const configService = (0, _wendellhu_redi_react_bindings.useDependency)(_univerjs_core.IConfigService);
|
|
6555
|
+
return (0, _wendellhu_redi_react_bindings.useObservable)((0, react.useMemo)(() => configService.subscribeConfigValue$(configKey), [configService]), configService.getConfig(configKey));
|
|
6556
|
+
}
|
|
6557
|
+
|
|
6528
6558
|
//#endregion
|
|
6529
6559
|
//#region src/views/hooks/update-effect.ts
|
|
6530
6560
|
/**
|
|
@@ -7006,7 +7036,7 @@ const IUIController = (0, _univerjs_core.createIdentifier)("univer.ui.ui-control
|
|
|
7006
7036
|
//#endregion
|
|
7007
7037
|
//#region package.json
|
|
7008
7038
|
var name = "@univerjs/ui";
|
|
7009
|
-
var version = "1.0
|
|
7039
|
+
var version = "1.1.0";
|
|
7010
7040
|
|
|
7011
7041
|
//#endregion
|
|
7012
7042
|
//#region src/views/color-picker/interface.ts
|
|
@@ -24529,7 +24559,7 @@ function MobileSchemaRow(props) {
|
|
|
24529
24559
|
if (disabled) return;
|
|
24530
24560
|
onExecute === null || onExecute === void 0 || onExecute({
|
|
24531
24561
|
commandId: menuItem.commandId,
|
|
24532
|
-
value: nextValue,
|
|
24562
|
+
value: typeof value === "number" && (0, _univerjs_core.isRealNum)(nextValue) ? Number(nextValue) : nextValue,
|
|
24533
24563
|
id: menuItem.id,
|
|
24534
24564
|
label: schema.key,
|
|
24535
24565
|
params: menuItem.params
|
|
@@ -26533,18 +26563,9 @@ function DialogItem(props) {
|
|
|
26533
26563
|
const ownerDocument = document;
|
|
26534
26564
|
const opener = ownerDocument.activeElement;
|
|
26535
26565
|
const owner = getEmbedBoundaryOwner(opener);
|
|
26536
|
-
const ownerWindow = ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.defaultView;
|
|
26537
|
-
const handleCompositionEscape = (event) => {
|
|
26538
|
-
if (event.key === "Escape" && event.isComposing && event.target instanceof Element && event.target.closest("[role=\"dialog\"]") === dialogRef.current) {
|
|
26539
|
-
event.preventDefault();
|
|
26540
|
-
event.stopPropagation();
|
|
26541
|
-
}
|
|
26542
|
-
};
|
|
26543
|
-
ownerWindow === null || ownerWindow === void 0 || ownerWindow.addEventListener("keydown", handleCompositionEscape, true);
|
|
26544
26566
|
return () => {
|
|
26545
26567
|
openRef.current = false;
|
|
26546
26568
|
const content = dialogRef.current;
|
|
26547
|
-
ownerWindow === null || ownerWindow === void 0 || ownerWindow.removeEventListener("keydown", handleCompositionEscape, true);
|
|
26548
26569
|
if (props.mask === false) return;
|
|
26549
26570
|
queueMicrotask(() => {
|
|
26550
26571
|
if (openRef.current) return;
|
|
@@ -29861,7 +29882,7 @@ function ProgressBar(props) {
|
|
|
29861
29882
|
|
|
29862
29883
|
//#endregion
|
|
29863
29884
|
exports.AnchoredContextMenu = AnchoredContextMenu;
|
|
29864
|
-
Object.defineProperty(exports,
|
|
29885
|
+
Object.defineProperty(exports, "BrowserClipboardService", {
|
|
29865
29886
|
enumerable: true,
|
|
29866
29887
|
get: function () {
|
|
29867
29888
|
return BrowserClipboardService;
|
|
@@ -29876,7 +29897,7 @@ exports.CanvasPopup = CanvasPopup;
|
|
|
29876
29897
|
exports.CanvasPopupService = CanvasPopupService;
|
|
29877
29898
|
exports.CommonLabel = CommonLabel;
|
|
29878
29899
|
exports.ComponentContainer = ComponentContainer;
|
|
29879
|
-
Object.defineProperty(exports,
|
|
29900
|
+
Object.defineProperty(exports, "ComponentManager", {
|
|
29880
29901
|
enumerable: true,
|
|
29881
29902
|
get: function () {
|
|
29882
29903
|
return ComponentManager;
|
|
@@ -29894,31 +29915,31 @@ exports.CustomLabel = CustomLabel;
|
|
|
29894
29915
|
exports.CutCommand = CutCommand;
|
|
29895
29916
|
exports.CutShortcutItem = CutShortcutItem;
|
|
29896
29917
|
exports.DISABLE_AUTO_FOCUS_KEY = DISABLE_AUTO_FOCUS_KEY;
|
|
29897
|
-
Object.defineProperty(exports,
|
|
29918
|
+
Object.defineProperty(exports, "DesktopBeforeCloseService", {
|
|
29898
29919
|
enumerable: true,
|
|
29899
29920
|
get: function () {
|
|
29900
29921
|
return DesktopBeforeCloseService;
|
|
29901
29922
|
}
|
|
29902
29923
|
});
|
|
29903
|
-
Object.defineProperty(exports,
|
|
29924
|
+
Object.defineProperty(exports, "DesktopConfirmService", {
|
|
29904
29925
|
enumerable: true,
|
|
29905
29926
|
get: function () {
|
|
29906
29927
|
return DesktopConfirmService;
|
|
29907
29928
|
}
|
|
29908
29929
|
});
|
|
29909
|
-
Object.defineProperty(exports,
|
|
29930
|
+
Object.defineProperty(exports, "DesktopDialogService", {
|
|
29910
29931
|
enumerable: true,
|
|
29911
29932
|
get: function () {
|
|
29912
29933
|
return DesktopDialogService;
|
|
29913
29934
|
}
|
|
29914
29935
|
});
|
|
29915
|
-
Object.defineProperty(exports,
|
|
29936
|
+
Object.defineProperty(exports, "DesktopGalleryService", {
|
|
29916
29937
|
enumerable: true,
|
|
29917
29938
|
get: function () {
|
|
29918
29939
|
return DesktopGalleryService;
|
|
29919
29940
|
}
|
|
29920
29941
|
});
|
|
29921
|
-
Object.defineProperty(exports,
|
|
29942
|
+
Object.defineProperty(exports, "DesktopLayoutService", {
|
|
29922
29943
|
enumerable: true,
|
|
29923
29944
|
get: function () {
|
|
29924
29945
|
return DesktopLayoutService;
|
|
@@ -29926,26 +29947,26 @@ Object.defineProperty(exports, 'DesktopLayoutService', {
|
|
|
29926
29947
|
});
|
|
29927
29948
|
exports.DesktopLocalFileService = DesktopLocalFileService;
|
|
29928
29949
|
exports.DesktopLocalStorageService = DesktopLocalStorageService;
|
|
29929
|
-
Object.defineProperty(exports,
|
|
29950
|
+
Object.defineProperty(exports, "DesktopMessageService", {
|
|
29930
29951
|
enumerable: true,
|
|
29931
29952
|
get: function () {
|
|
29932
29953
|
return DesktopMessageService;
|
|
29933
29954
|
}
|
|
29934
29955
|
});
|
|
29935
|
-
Object.defineProperty(exports,
|
|
29956
|
+
Object.defineProperty(exports, "DesktopNotificationService", {
|
|
29936
29957
|
enumerable: true,
|
|
29937
29958
|
get: function () {
|
|
29938
29959
|
return DesktopNotificationService;
|
|
29939
29960
|
}
|
|
29940
29961
|
});
|
|
29941
|
-
Object.defineProperty(exports,
|
|
29962
|
+
Object.defineProperty(exports, "DesktopRibbonService", {
|
|
29942
29963
|
enumerable: true,
|
|
29943
29964
|
get: function () {
|
|
29944
29965
|
return DesktopRibbonService;
|
|
29945
29966
|
}
|
|
29946
29967
|
});
|
|
29947
29968
|
exports.DesktopSidebarService = DesktopSidebarService;
|
|
29948
|
-
Object.defineProperty(exports,
|
|
29969
|
+
Object.defineProperty(exports, "DesktopUIController", {
|
|
29949
29970
|
enumerable: true,
|
|
29950
29971
|
get: function () {
|
|
29951
29972
|
return DesktopUIController;
|
|
@@ -29957,7 +29978,7 @@ exports.EMOJI_CATEGORIES = EMOJI_CATEGORIES;
|
|
|
29957
29978
|
exports.EMOJI_PICKER_COMPONENT = EMOJI_PICKER_COMPONENT;
|
|
29958
29979
|
exports.EMOJI_RECENT_LIMIT = EMOJI_RECENT_LIMIT;
|
|
29959
29980
|
exports.EmojiPicker = EmojiPicker;
|
|
29960
|
-
Object.defineProperty(exports,
|
|
29981
|
+
Object.defineProperty(exports, "ErrorController", {
|
|
29961
29982
|
enumerable: true,
|
|
29962
29983
|
get: function () {
|
|
29963
29984
|
return ErrorController;
|
|
@@ -29978,7 +29999,7 @@ exports.FloatingObjectToolbarPosition = FloatingObjectToolbarPosition;
|
|
|
29978
29999
|
exports.FontFamily = FontFamily;
|
|
29979
30000
|
exports.FontFamilyDropdown = FontFamilyDropdown;
|
|
29980
30001
|
exports.FontFamilyItem = FontFamilyItem;
|
|
29981
|
-
Object.defineProperty(exports,
|
|
30002
|
+
Object.defineProperty(exports, "FontService", {
|
|
29982
30003
|
enumerable: true,
|
|
29983
30004
|
get: function () {
|
|
29984
30005
|
return FontService;
|
|
@@ -30016,7 +30037,7 @@ exports.IUIPartsService = IUIPartsService;
|
|
|
30016
30037
|
exports.IUIRuntimeScopeService = IUIRuntimeScopeService;
|
|
30017
30038
|
exports.IUnitPresenceUIAdapterRegistry = IUnitPresenceUIAdapterRegistry;
|
|
30018
30039
|
exports.IWorkbenchService = IWorkbenchService;
|
|
30019
|
-
Object.defineProperty(exports,
|
|
30040
|
+
Object.defineProperty(exports, "IconManager", {
|
|
30020
30041
|
enumerable: true,
|
|
30021
30042
|
get: function () {
|
|
30022
30043
|
return IconManager;
|
|
@@ -30026,7 +30047,7 @@ exports.KeyCode = KeyCode;
|
|
|
30026
30047
|
exports.MOBILE_UI_MODE = MOBILE_UI_MODE;
|
|
30027
30048
|
exports.MenuItemType = MenuItemType;
|
|
30028
30049
|
exports.MenuManagerPosition = MenuManagerPosition;
|
|
30029
|
-
Object.defineProperty(exports,
|
|
30050
|
+
Object.defineProperty(exports, "MenuManagerService", {
|
|
30030
30051
|
enumerable: true,
|
|
30031
30052
|
get: function () {
|
|
30032
30053
|
return MenuManagerService;
|
|
@@ -30035,7 +30056,7 @@ Object.defineProperty(exports, 'MenuManagerService', {
|
|
|
30035
30056
|
exports.MetaKeys = MetaKeys;
|
|
30036
30057
|
exports.MobileCanvasGesture = MobileCanvasGesture;
|
|
30037
30058
|
exports.MobileContextMenu = MobileContextMenu;
|
|
30038
|
-
Object.defineProperty(exports,
|
|
30059
|
+
Object.defineProperty(exports, "MobileDialogService", {
|
|
30039
30060
|
enumerable: true,
|
|
30040
30061
|
get: function () {
|
|
30041
30062
|
return MobileDialogService;
|
|
@@ -30056,19 +30077,19 @@ exports.PlatformService = PlatformService;
|
|
|
30056
30077
|
exports.PrintFloatDomSingle = PrintFloatDomSingle;
|
|
30057
30078
|
exports.ProgressBar = ProgressBar;
|
|
30058
30079
|
exports.RectPopup = RectPopup;
|
|
30059
|
-
Object.defineProperty(exports,
|
|
30080
|
+
Object.defineProperty(exports, "RediConsumer", {
|
|
30060
30081
|
enumerable: true,
|
|
30061
30082
|
get: function () {
|
|
30062
30083
|
return _wendellhu_redi_react_bindings.RediConsumer;
|
|
30063
30084
|
}
|
|
30064
30085
|
});
|
|
30065
|
-
Object.defineProperty(exports,
|
|
30086
|
+
Object.defineProperty(exports, "RediContext", {
|
|
30066
30087
|
enumerable: true,
|
|
30067
30088
|
get: function () {
|
|
30068
30089
|
return _wendellhu_redi_react_bindings.RediContext;
|
|
30069
30090
|
}
|
|
30070
30091
|
});
|
|
30071
|
-
Object.defineProperty(exports,
|
|
30092
|
+
Object.defineProperty(exports, "RediProvider", {
|
|
30072
30093
|
enumerable: true,
|
|
30073
30094
|
get: function () {
|
|
30074
30095
|
return _wendellhu_redi_react_bindings.RediProvider;
|
|
@@ -30086,21 +30107,21 @@ exports.RibbonStartGroup = RibbonStartGroup;
|
|
|
30086
30107
|
exports.RibbonViewGroup = RibbonViewGroup;
|
|
30087
30108
|
exports.SYMBOL_CATEGORIES = SYMBOL_CATEGORIES;
|
|
30088
30109
|
exports.SYMBOL_PICKER_COMPONENT = SYMBOL_PICKER_COMPONENT;
|
|
30089
|
-
Object.defineProperty(exports,
|
|
30110
|
+
Object.defineProperty(exports, "SharedController", {
|
|
30090
30111
|
enumerable: true,
|
|
30091
30112
|
get: function () {
|
|
30092
30113
|
return SharedController;
|
|
30093
30114
|
}
|
|
30094
30115
|
});
|
|
30095
30116
|
exports.SheetPasteShortKeyCommandName = SheetPasteShortKeyCommandName;
|
|
30096
|
-
Object.defineProperty(exports,
|
|
30117
|
+
Object.defineProperty(exports, "ShortcutPanelController", {
|
|
30097
30118
|
enumerable: true,
|
|
30098
30119
|
get: function () {
|
|
30099
30120
|
return ShortcutPanelController;
|
|
30100
30121
|
}
|
|
30101
30122
|
});
|
|
30102
30123
|
exports.ShortcutPanelService = ShortcutPanelService;
|
|
30103
|
-
Object.defineProperty(exports,
|
|
30124
|
+
Object.defineProperty(exports, "ShortcutService", {
|
|
30104
30125
|
enumerable: true,
|
|
30105
30126
|
get: function () {
|
|
30106
30127
|
return ShortcutService;
|
|
@@ -30121,7 +30142,7 @@ exports.UIPartsService = UIPartsService;
|
|
|
30121
30142
|
exports.UIRuntimeScopeService = UIRuntimeScopeService;
|
|
30122
30143
|
exports.UI_PLUGIN_CONFIG_KEY = UI_PLUGIN_CONFIG_KEY;
|
|
30123
30144
|
exports.UNI_DISABLE_CHANGING_FOCUS_KEY = UNI_DISABLE_CHANGING_FOCUS_KEY;
|
|
30124
|
-
Object.defineProperty(exports,
|
|
30145
|
+
Object.defineProperty(exports, "UndoRedoGroupService", {
|
|
30125
30146
|
enumerable: true,
|
|
30126
30147
|
get: function () {
|
|
30127
30148
|
return UndoRedoGroupService;
|
|
@@ -30129,25 +30150,25 @@ Object.defineProperty(exports, 'UndoRedoGroupService', {
|
|
|
30129
30150
|
});
|
|
30130
30151
|
exports.UndoShortcutItem = UndoShortcutItem;
|
|
30131
30152
|
exports.UnitPresenceUIAdapterRegistry = UnitPresenceUIAdapterRegistry;
|
|
30132
|
-
Object.defineProperty(exports,
|
|
30153
|
+
Object.defineProperty(exports, "UniverMobileUIPlugin", {
|
|
30133
30154
|
enumerable: true,
|
|
30134
30155
|
get: function () {
|
|
30135
30156
|
return UniverMobileUIPlugin;
|
|
30136
30157
|
}
|
|
30137
30158
|
});
|
|
30138
|
-
Object.defineProperty(exports,
|
|
30159
|
+
Object.defineProperty(exports, "UniverUIPlugin", {
|
|
30139
30160
|
enumerable: true,
|
|
30140
30161
|
get: function () {
|
|
30141
30162
|
return UniverUIPlugin;
|
|
30142
30163
|
}
|
|
30143
30164
|
});
|
|
30144
|
-
Object.defineProperty(exports,
|
|
30165
|
+
Object.defineProperty(exports, "WithDependency", {
|
|
30145
30166
|
enumerable: true,
|
|
30146
30167
|
get: function () {
|
|
30147
30168
|
return _wendellhu_redi_react_bindings.WithDependency;
|
|
30148
30169
|
}
|
|
30149
30170
|
});
|
|
30150
|
-
Object.defineProperty(exports,
|
|
30171
|
+
Object.defineProperty(exports, "WorkbenchService", {
|
|
30151
30172
|
enumerable: true,
|
|
30152
30173
|
get: function () {
|
|
30153
30174
|
return WorkbenchService;
|
|
@@ -30156,13 +30177,13 @@ Object.defineProperty(exports, 'WorkbenchService', {
|
|
|
30156
30177
|
exports.ZIndexManager = ZIndexManager;
|
|
30157
30178
|
exports.ZoomInput = ZoomInput;
|
|
30158
30179
|
exports.bindFormatPainterCanvas = bindFormatPainterCanvas;
|
|
30159
|
-
Object.defineProperty(exports,
|
|
30180
|
+
Object.defineProperty(exports, "connectDependencies", {
|
|
30160
30181
|
enumerable: true,
|
|
30161
30182
|
get: function () {
|
|
30162
30183
|
return _wendellhu_redi_react_bindings.connectDependencies;
|
|
30163
30184
|
}
|
|
30164
30185
|
});
|
|
30165
|
-
Object.defineProperty(exports,
|
|
30186
|
+
Object.defineProperty(exports, "connectInjector", {
|
|
30166
30187
|
enumerable: true,
|
|
30167
30188
|
get: function () {
|
|
30168
30189
|
return _wendellhu_redi_react_bindings.connectInjector;
|
|
@@ -30207,14 +30228,14 @@ exports.useClickOutSide = useClickOutSide;
|
|
|
30207
30228
|
exports.useComponentsOfPart = useComponentsOfPart;
|
|
30208
30229
|
exports.useConfigValue = useConfigValue;
|
|
30209
30230
|
exports.useDebounceFn = useDebounceFn;
|
|
30210
|
-
Object.defineProperty(exports,
|
|
30231
|
+
Object.defineProperty(exports, "useDependency", {
|
|
30211
30232
|
enumerable: true,
|
|
30212
30233
|
get: function () {
|
|
30213
30234
|
return _wendellhu_redi_react_bindings.useDependency;
|
|
30214
30235
|
}
|
|
30215
30236
|
});
|
|
30216
30237
|
exports.useEvent = useEvent;
|
|
30217
|
-
Object.defineProperty(exports,
|
|
30238
|
+
Object.defineProperty(exports, "useInjector", {
|
|
30218
30239
|
enumerable: true,
|
|
30219
30240
|
get: function () {
|
|
30220
30241
|
return _wendellhu_redi_react_bindings.useInjector;
|
|
@@ -30222,7 +30243,7 @@ Object.defineProperty(exports, 'useInjector', {
|
|
|
30222
30243
|
});
|
|
30223
30244
|
exports.useMobileCanvasPanel = useMobileCanvasPanel;
|
|
30224
30245
|
exports.useMobileCanvasViewport = useMobileCanvasViewport;
|
|
30225
|
-
Object.defineProperty(exports,
|
|
30246
|
+
Object.defineProperty(exports, "useObservable", {
|
|
30226
30247
|
enumerable: true,
|
|
30227
30248
|
get: function () {
|
|
30228
30249
|
return _wendellhu_redi_react_bindings.useObservable;
|
|
@@ -30232,7 +30253,7 @@ exports.useObservableRef = useObservableRef;
|
|
|
30232
30253
|
exports.useScrollYOverContainer = useScrollYOverContainer;
|
|
30233
30254
|
exports.useSidebarClick = useSidebarClick;
|
|
30234
30255
|
exports.useToolbarItemStatus = useToolbarItemStatus;
|
|
30235
|
-
Object.defineProperty(exports,
|
|
30256
|
+
Object.defineProperty(exports, "useUpdateBinder", {
|
|
30236
30257
|
enumerable: true,
|
|
30237
30258
|
get: function () {
|
|
30238
30259
|
return _wendellhu_redi_react_bindings.useUpdateBinder;
|