Update
This commit is contained in:
@@ -10,6 +10,7 @@ return [
|
||||
'rel' => [
|
||||
'main.popup',
|
||||
'ui.icon-set.main',
|
||||
'ui.buttons',
|
||||
'ui.cnt',
|
||||
'ui.icon-set.api.core',
|
||||
'ui.icon-set.outline',
|
||||
|
||||
@@ -125,32 +125,53 @@
|
||||
|
||||
/* ui-popup-menu-item */
|
||||
.ui-popup-menu-item {
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
}
|
||||
.ui-popup-menu-item.--is-ui-button {
|
||||
padding: 5px var(--pmenu-cell-padding-LR) 5px var(--pmenu-cell-padding-LR);
|
||||
}
|
||||
|
||||
/* ui-popup-menu-item-action */
|
||||
.ui-popup-menu-item-action {
|
||||
/* normalize */
|
||||
border-radius: 0;
|
||||
border: none;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
text-align: left;
|
||||
font-family: inherit;
|
||||
/* normalize end */
|
||||
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding-left: var(--pmenu-cell-padding-LR);
|
||||
padding-right: var(--pmenu-cell-padding-LR);
|
||||
gap: 20px;
|
||||
padding: 1px var(--pmenu-cell-padding-LR) 1px var(--pmenu-cell-padding-LR);
|
||||
width: 100%;
|
||||
min-height: 35px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--disabled {
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-action {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--hovered,
|
||||
.ui-popup-menu-item:not(.--disabled):hover {
|
||||
.ui-popup-menu-item.--hovered .ui-popup-menu-item-action,
|
||||
.ui-popup-menu-item-action:hover {
|
||||
box-shadow: inset 0 0 0 999px rgb(from var(--ui-color-bg-state-hover-default-hex) r g b / var(--ui-color-bg-state-hover-default-opacity));
|
||||
}
|
||||
.ui-popup-menu-item:not(.--disabled):active {
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-action:hover {
|
||||
box-shadow: none;
|
||||
}
|
||||
.ui-popup-menu-item-action:active {
|
||||
box-shadow: inset 0 0 0 999px rgb(from var(--ui-color-bg-state-click-default-hex) r g b / var(--ui-color-bg-state-click-default-opacity));
|
||||
}
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-action:active {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.ui-popup-menu-item-header {
|
||||
padding-top: var(--pmenu-cell-padding-TB);
|
||||
padding-bottom: var(--pmenu-cell-padding-TB);
|
||||
padding: var(--pmenu-cell-padding-TB) 0 var(--pmenu-cell-padding-TB) 0;
|
||||
}
|
||||
|
||||
/* ui-popup-menu-item-title */
|
||||
@@ -158,57 +179,43 @@
|
||||
display: flex;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ui-popup-menu-item-title-text */
|
||||
.ui-popup-menu-item-title-text {
|
||||
line-height: var(--pmenu-title-line-height);
|
||||
color: var(--ui-color-base-1);
|
||||
font-size: var(--ui-font-size-md);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--accent-2 .ui-popup-menu-item-title-text {
|
||||
color: var(--ui-color-accent-main-primary);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--alert .ui-popup-menu-item-title-text {
|
||||
color: var(--ui-color-accent-main-alert);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--copilot .ui-popup-menu-item-title-text {
|
||||
color: var(--ui-color-copilot-accent-primary);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-title-text {
|
||||
color: var(--ui-color-base-5);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ui-popup-menu-item-subtitle */
|
||||
.ui-popup-menu-item-subtitle {
|
||||
color: var(--ui-color-base-4);
|
||||
font-size: var(--ui-font-size-xs);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--accent-2 .ui-popup-menu-item-subtitle {
|
||||
color: var(--ui-color-accent-main-primary-alt-2);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--alert .ui-popup-menu-item-subtitle {
|
||||
color: var(--ui-color-accent-soft-border-red);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--copilot .ui-popup-menu-item-subtitle {
|
||||
color: var(--ui-color-copilot-bg-content-3);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-subtitle {
|
||||
color: var(--ui-color-base-5);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ui-popup-menu-item-badge-text */
|
||||
.ui-popup-menu-item-badge-text {
|
||||
--badge-color: var(--ui-color-accent-main-success);
|
||||
@@ -216,7 +223,6 @@
|
||||
color: var(--badge-color);
|
||||
font-size: var(--ui-font-size-4xs);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-badge-text {
|
||||
color: var(--ui-color-base-5);
|
||||
}
|
||||
@@ -227,7 +233,6 @@
|
||||
.ui-popup-menu-item-buttons {
|
||||
display: flex;
|
||||
gap: var(--ui-space-inline-2xs2);
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.ui-popup-menu-item-icon {
|
||||
@@ -238,20 +243,16 @@
|
||||
.ui-popup-menu-item .ui-icon-set {
|
||||
--ui-icon-set__icon-base-color: var(--ui-color-base-5);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--accent-1 .ui-icon-set,
|
||||
.ui-popup-menu-item.--accent-2 .ui-icon-set {
|
||||
--ui-icon-set__icon-base-color: var(--ui-color-accent-main-primary-alt-2);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--alert .ui-icon-set {
|
||||
--ui-icon-set__icon-base-color: var(--ui-color-accent-soft-border-red);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--copilot .ui-icon-set {
|
||||
--ui-icon-set__icon-base-color: var(--ui-color-copilot-bg-content-3);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--disabled .ui-icon-set {
|
||||
--ui-icon-set__icon-base-color: var(--ui-color-base-7);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* eslint-disable */
|
||||
this.BX = this.BX || {};
|
||||
this.BX.UI = this.BX.UI || {};
|
||||
(function (exports,main_popup,ui_iconSet_main,ui_cnt,ui_iconSet_api_core,ui_iconSet_outline,main_core) {
|
||||
(function (exports,main_popup,ui_iconSet_main,ui_buttons,ui_cnt,ui_iconSet_api_core,ui_iconSet_outline,main_core) {
|
||||
'use strict';
|
||||
|
||||
var _delta = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("delta");
|
||||
@@ -80,7 +80,8 @@ this.BX.UI = this.BX.UI || {};
|
||||
_t12,
|
||||
_t13,
|
||||
_t14,
|
||||
_t15;
|
||||
_t15,
|
||||
_t16;
|
||||
var _options = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("options");
|
||||
var _callbacks = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("callbacks");
|
||||
var _subMenu = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("subMenu");
|
||||
@@ -331,19 +332,25 @@ this.BX.UI = this.BX.UI || {};
|
||||
return babelHelpers.classPrivateFieldLooseBase(this, _subMenu)[_subMenu];
|
||||
}
|
||||
render() {
|
||||
var _babelHelpers$classPr7;
|
||||
if (babelHelpers.classPrivateFieldLooseBase(this, _element)[_element]) {
|
||||
return babelHelpers.classPrivateFieldLooseBase(this, _element)[_element];
|
||||
}
|
||||
const uiButtonOptions = babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].uiButtonOptions;
|
||||
const isUiButton = Boolean(uiButtonOptions);
|
||||
const classNameIsUiButton = isUiButton ? ' --is-ui-button' : '';
|
||||
const classNameDesign = babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].design ? ` --${babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].design}` : '';
|
||||
babelHelpers.classPrivateFieldLooseBase(this, _element)[_element] = main_core.Tag.render(_t || (_t = _`
|
||||
<div class="ui-popup-menu-item --${0}">
|
||||
${0}
|
||||
<div class="ui-popup-menu-item${0}${0}">
|
||||
${0}
|
||||
</div>
|
||||
`), (_babelHelpers$classPr7 = babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].design) != null ? _babelHelpers$classPr7 : MenuItemDesign.Default, babelHelpers.classPrivateFieldLooseBase(this, _renderHeader)[_renderHeader](), babelHelpers.classPrivateFieldLooseBase(this, _renderButtons)[_renderButtons]());
|
||||
main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _element)[_element], 'click', babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].onClick);
|
||||
main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _element)[_element], 'mouseenter', babelHelpers.classPrivateFieldLooseBase(this, _onMouseEnter)[_onMouseEnter]);
|
||||
main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _element)[_element], 'mouseleave', babelHelpers.classPrivateFieldLooseBase(this, _onMouseLeave)[_onMouseLeave]);
|
||||
`), classNameIsUiButton, classNameDesign, isUiButton ? new ui_buttons.Button(uiButtonOptions).render() : main_core.Tag.render(_t2 || (_t2 = _`
|
||||
<button
|
||||
class="ui-popup-menu-item-action"
|
||||
onclick="${0}"
|
||||
onmouseenter="${0}"
|
||||
onmouseleave="${0}"
|
||||
>${0}${0}</button>
|
||||
`), babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].onClick, babelHelpers.classPrivateFieldLooseBase(this, _onMouseEnter)[_onMouseEnter], babelHelpers.classPrivateFieldLooseBase(this, _onMouseLeave)[_onMouseLeave], babelHelpers.classPrivateFieldLooseBase(this, _renderHeader)[_renderHeader](), babelHelpers.classPrivateFieldLooseBase(this, _renderButtons)[_renderButtons]()));
|
||||
return babelHelpers.classPrivateFieldLooseBase(this, _element)[_element];
|
||||
}
|
||||
closeSubMenuWithTimeout() {
|
||||
@@ -351,19 +358,19 @@ this.BX.UI = this.BX.UI || {};
|
||||
babelHelpers.classPrivateFieldLooseBase(this, _closeTimeout)[_closeTimeout] = setTimeout(this.closeSubMenu, 200);
|
||||
}
|
||||
destroy() {
|
||||
var _babelHelpers$classPr8;
|
||||
(_babelHelpers$classPr8 = babelHelpers.classPrivateFieldLooseBase(this, _subMenu)[_subMenu]) == null ? void 0 : _babelHelpers$classPr8.destroy();
|
||||
var _babelHelpers$classPr7;
|
||||
(_babelHelpers$classPr7 = babelHelpers.classPrivateFieldLooseBase(this, _subMenu)[_subMenu]) == null ? void 0 : _babelHelpers$classPr7.destroy();
|
||||
}
|
||||
}
|
||||
function _onSubMenuItemClick2(item) {
|
||||
item.onClick == null ? void 0 : item.onClick();
|
||||
if (!item.subMenu && babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].closeOnSubItemClick) {
|
||||
var _babelHelpers$classPr9, _babelHelpers$classPr10;
|
||||
(_babelHelpers$classPr9 = (_babelHelpers$classPr10 = babelHelpers.classPrivateFieldLooseBase(this, _callbacks)[_callbacks]).onSubMenuItemClick) == null ? void 0 : _babelHelpers$classPr9.call(_babelHelpers$classPr10);
|
||||
var _babelHelpers$classPr8, _babelHelpers$classPr9;
|
||||
(_babelHelpers$classPr8 = (_babelHelpers$classPr9 = babelHelpers.classPrivateFieldLooseBase(this, _callbacks)[_callbacks]).onSubMenuItemClick) == null ? void 0 : _babelHelpers$classPr8.call(_babelHelpers$classPr9);
|
||||
}
|
||||
}
|
||||
function _renderHeader2() {
|
||||
return main_core.Tag.render(_t2 || (_t2 = _`
|
||||
return main_core.Tag.render(_t3 || (_t3 = _`
|
||||
<div class="ui-popup-menu-item-header">
|
||||
${0}
|
||||
${0}
|
||||
@@ -371,7 +378,7 @@ this.BX.UI = this.BX.UI || {};
|
||||
`), babelHelpers.classPrivateFieldLooseBase(this, _renderTitle)[_renderTitle](), babelHelpers.classPrivateFieldLooseBase(this, _renderSubtitle)[_renderSubtitle]());
|
||||
}
|
||||
function _renderTitle2() {
|
||||
return main_core.Tag.render(_t3 || (_t3 = _`
|
||||
return main_core.Tag.render(_t4 || (_t4 = _`
|
||||
<div class="ui-popup-menu-item-title">
|
||||
${0}
|
||||
<div class="ui-popup-menu-item-title-text">${0}</div>
|
||||
@@ -383,20 +390,20 @@ this.BX.UI = this.BX.UI || {};
|
||||
if (!babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].isLocked) {
|
||||
return '';
|
||||
}
|
||||
return main_core.Tag.render(_t4 || (_t4 = _`
|
||||
return main_core.Tag.render(_t5 || (_t5 = _`
|
||||
<div class="ui-popup-menu-item-lock">
|
||||
<div class="ui-icon-set --${0}"></div>
|
||||
</div>
|
||||
`), ui_iconSet_api_core.Outline.LOCK_L);
|
||||
}
|
||||
function _renderBadgeText2() {
|
||||
var _babelHelpers$classPr11;
|
||||
if (!main_core.Type.isStringFilled((_babelHelpers$classPr11 = babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].badgeText) == null ? void 0 : _babelHelpers$classPr11.title)) {
|
||||
var _babelHelpers$classPr10;
|
||||
if (!main_core.Type.isStringFilled((_babelHelpers$classPr10 = babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].badgeText) == null ? void 0 : _babelHelpers$classPr10.title)) {
|
||||
return '';
|
||||
}
|
||||
const color = babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].badgeText.color;
|
||||
const style = color ? `--badge-color: ${color};` : '';
|
||||
return main_core.Tag.render(_t5 || (_t5 = _`
|
||||
return main_core.Tag.render(_t6 || (_t6 = _`
|
||||
<div class="ui-popup-menu-item-badge-text" style="${0}">
|
||||
${0}
|
||||
</div>
|
||||
@@ -406,12 +413,12 @@ this.BX.UI = this.BX.UI || {};
|
||||
if (!main_core.Type.isStringFilled(babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].subtitle)) {
|
||||
return '';
|
||||
}
|
||||
return main_core.Tag.render(_t6 || (_t6 = _`
|
||||
return main_core.Tag.render(_t7 || (_t7 = _`
|
||||
<div class="ui-popup-menu-item-subtitle">${0}</div>
|
||||
`), main_core.Text.encode(babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].subtitle));
|
||||
}
|
||||
function _renderButtons2() {
|
||||
return main_core.Tag.render(_t7 || (_t7 = _`
|
||||
return main_core.Tag.render(_t8 || (_t8 = _`
|
||||
<div class="ui-popup-menu-item-buttons">
|
||||
${0}
|
||||
${0}
|
||||
@@ -426,11 +433,11 @@ this.BX.UI = this.BX.UI || {};
|
||||
return '';
|
||||
}
|
||||
if (!babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].isSelected) {
|
||||
return main_core.Tag.render(_t8 || (_t8 = _`
|
||||
return main_core.Tag.render(_t9 || (_t9 = _`
|
||||
<div class="ui-popup-menu-item-check"></div>
|
||||
`));
|
||||
}
|
||||
return main_core.Tag.render(_t9 || (_t9 = _`
|
||||
return main_core.Tag.render(_t10 || (_t10 = _`
|
||||
<div class="ui-popup-menu-item-check">
|
||||
<div class="ui-icon-set --${0}"></div>
|
||||
</div>
|
||||
@@ -440,7 +447,7 @@ this.BX.UI = this.BX.UI || {};
|
||||
if (!babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].extraIcon) {
|
||||
return '';
|
||||
}
|
||||
const extra = main_core.Tag.render(_t10 || (_t10 = _`
|
||||
const extra = main_core.Tag.render(_t11 || (_t11 = _`
|
||||
<div class="ui-popup-menu-item-extra ${0}">
|
||||
<div class="ui-icon-set --${0}"></div>
|
||||
</div>
|
||||
@@ -456,11 +463,11 @@ this.BX.UI = this.BX.UI || {};
|
||||
return '';
|
||||
}
|
||||
if (!babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].counter.value) {
|
||||
return main_core.Tag.render(_t11 || (_t11 = _`
|
||||
return main_core.Tag.render(_t12 || (_t12 = _`
|
||||
<div class="ui-popup-menu-item-counter"></div>
|
||||
`));
|
||||
}
|
||||
return main_core.Tag.render(_t12 || (_t12 = _`
|
||||
return main_core.Tag.render(_t13 || (_t13 = _`
|
||||
<div class="ui-popup-menu-item-counter">
|
||||
${0}
|
||||
</div>
|
||||
@@ -471,14 +478,14 @@ this.BX.UI = this.BX.UI || {};
|
||||
}
|
||||
function _renderIcon2() {
|
||||
if (babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].icon) {
|
||||
return main_core.Tag.render(_t13 || (_t13 = _`
|
||||
return main_core.Tag.render(_t14 || (_t14 = _`
|
||||
<div class="ui-popup-menu-item-icon">
|
||||
<div class="ui-icon-set --${0}"></div>
|
||||
</div>
|
||||
`), babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].icon);
|
||||
}
|
||||
if (babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].svg) {
|
||||
return main_core.Tag.render(_t14 || (_t14 = _`
|
||||
return main_core.Tag.render(_t15 || (_t15 = _`
|
||||
<div class="ui-popup-menu-item-svg">
|
||||
${0}
|
||||
</div>
|
||||
@@ -490,7 +497,7 @@ this.BX.UI = this.BX.UI || {};
|
||||
if (!babelHelpers.classPrivateFieldLooseBase(this, _options)[_options].subMenu) {
|
||||
return '';
|
||||
}
|
||||
return main_core.Tag.render(_t15 || (_t15 = _`
|
||||
return main_core.Tag.render(_t16 || (_t16 = _`
|
||||
<div class="ui-popup-menu-item-arrow">
|
||||
<div class="ui-icon-set --${0}"></div>
|
||||
</div>
|
||||
@@ -622,6 +629,7 @@ this.BX.UI = this.BX.UI || {};
|
||||
const defaultOptions = {
|
||||
noAllPaddings: true,
|
||||
autoHide: true,
|
||||
closeByEsc: true,
|
||||
autoHideHandler: babelHelpers.classPrivateFieldLooseBase(this, _shouldHide)[_shouldHide],
|
||||
closeOnItemClick: true
|
||||
};
|
||||
@@ -810,5 +818,5 @@ this.BX.UI = this.BX.UI || {};
|
||||
exports.MenuSectionDesign = MenuSectionDesign;
|
||||
exports.MenuRichHeaderDesign = MenuRichHeaderDesign;
|
||||
|
||||
}((this.BX.UI.System = this.BX.UI.System || {}),BX.Main,BX,BX.UI,BX.UI.IconSet,BX,BX));
|
||||
}((this.BX.UI.System = this.BX.UI.System || {}),BX.Main,BX,BX.UI,BX.UI,BX.UI.IconSet,BX,BX));
|
||||
//# sourceMappingURL=menu.bundle.js.map
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,31 +1,52 @@
|
||||
/* ui-popup-menu-item */
|
||||
.ui-popup-menu-item {
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
}
|
||||
.ui-popup-menu-item.--is-ui-button {
|
||||
padding: 5px var(--pmenu-cell-padding-LR) 5px var(--pmenu-cell-padding-LR);
|
||||
}
|
||||
|
||||
/* ui-popup-menu-item-action */
|
||||
.ui-popup-menu-item-action {
|
||||
/* normalize */
|
||||
border-radius: 0;
|
||||
border: none;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
text-align: left;
|
||||
font-family: inherit;
|
||||
/* normalize end */
|
||||
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding-left: var(--pmenu-cell-padding-LR);
|
||||
padding-right: var(--pmenu-cell-padding-LR);
|
||||
gap: 20px;
|
||||
padding: 1px var(--pmenu-cell-padding-LR) 1px var(--pmenu-cell-padding-LR);
|
||||
width: 100%;
|
||||
min-height: 35px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--disabled {
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-action {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--hovered,
|
||||
.ui-popup-menu-item:not(.--disabled):hover {
|
||||
.ui-popup-menu-item.--hovered .ui-popup-menu-item-action,
|
||||
.ui-popup-menu-item-action:hover {
|
||||
box-shadow: inset 0 0 0 999px rgb(from var(--ui-color-bg-state-hover-default-hex) r g b / var(--ui-color-bg-state-hover-default-opacity));
|
||||
}
|
||||
.ui-popup-menu-item:not(.--disabled):active {
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-action:hover {
|
||||
box-shadow: none;
|
||||
}
|
||||
.ui-popup-menu-item-action:active {
|
||||
box-shadow: inset 0 0 0 999px rgb(from var(--ui-color-bg-state-click-default-hex) r g b / var(--ui-color-bg-state-click-default-opacity));
|
||||
}
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-action:active {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.ui-popup-menu-item-header {
|
||||
padding-top: var(--pmenu-cell-padding-TB);
|
||||
padding-bottom: var(--pmenu-cell-padding-TB);
|
||||
padding: var(--pmenu-cell-padding-TB) 0 var(--pmenu-cell-padding-TB) 0;
|
||||
}
|
||||
|
||||
/* ui-popup-menu-item-title */
|
||||
@@ -33,57 +54,43 @@
|
||||
display: flex;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ui-popup-menu-item-title-text */
|
||||
.ui-popup-menu-item-title-text {
|
||||
line-height: var(--pmenu-title-line-height);
|
||||
color: var(--ui-color-base-1);
|
||||
font-size: var(--ui-font-size-md);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--accent-2 .ui-popup-menu-item-title-text {
|
||||
color: var(--ui-color-accent-main-primary);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--alert .ui-popup-menu-item-title-text {
|
||||
color: var(--ui-color-accent-main-alert);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--copilot .ui-popup-menu-item-title-text {
|
||||
color: var(--ui-color-copilot-accent-primary);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-title-text {
|
||||
color: var(--ui-color-base-5);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ui-popup-menu-item-subtitle */
|
||||
.ui-popup-menu-item-subtitle {
|
||||
color: var(--ui-color-base-4);
|
||||
font-size: var(--ui-font-size-xs);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--accent-2 .ui-popup-menu-item-subtitle {
|
||||
color: var(--ui-color-accent-main-primary-alt-2);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--alert .ui-popup-menu-item-subtitle {
|
||||
color: var(--ui-color-accent-soft-border-red);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--copilot .ui-popup-menu-item-subtitle {
|
||||
color: var(--ui-color-copilot-bg-content-3);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-subtitle {
|
||||
color: var(--ui-color-base-5);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ui-popup-menu-item-badge-text */
|
||||
.ui-popup-menu-item-badge-text {
|
||||
--badge-color: var(--ui-color-accent-main-success);
|
||||
@@ -91,7 +98,6 @@
|
||||
color: var(--badge-color);
|
||||
font-size: var(--ui-font-size-4xs);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--disabled .ui-popup-menu-item-badge-text {
|
||||
color: var(--ui-color-base-5);
|
||||
}
|
||||
@@ -102,7 +108,6 @@
|
||||
.ui-popup-menu-item-buttons {
|
||||
display: flex;
|
||||
gap: var(--ui-space-inline-2xs2);
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.ui-popup-menu-item-icon {
|
||||
@@ -113,20 +118,16 @@
|
||||
.ui-popup-menu-item .ui-icon-set {
|
||||
--ui-icon-set__icon-base-color: var(--ui-color-base-5);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--accent-1 .ui-icon-set,
|
||||
.ui-popup-menu-item.--accent-2 .ui-icon-set {
|
||||
--ui-icon-set__icon-base-color: var(--ui-color-accent-main-primary-alt-2);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--alert .ui-icon-set {
|
||||
--ui-icon-set__icon-base-color: var(--ui-color-accent-soft-border-red);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--copilot .ui-icon-set {
|
||||
--ui-icon-set__icon-base-color: var(--ui-color-copilot-bg-content-3);
|
||||
}
|
||||
|
||||
.ui-popup-menu-item.--disabled .ui-icon-set {
|
||||
--ui-icon-set__icon-base-color: var(--ui-color-base-7);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { Dom, Event, Tag, Text, Type } from 'main.core';
|
||||
import { Button as UiButton } from 'ui.buttons';
|
||||
import { Counter, CounterColor } from 'ui.cnt';
|
||||
import { Outline } from 'ui.icon-set.api.core';
|
||||
import 'ui.icon-set.outline';
|
||||
@@ -48,17 +49,27 @@ export class MenuItem
|
||||
return this.#element;
|
||||
}
|
||||
|
||||
const uiButtonOptions = this.#options.uiButtonOptions;
|
||||
const isUiButton = Boolean(uiButtonOptions);
|
||||
const classNameIsUiButton = isUiButton ? ' --is-ui-button' : '';
|
||||
const classNameDesign = this.#options.design ? ` --${this.#options.design}` : '';
|
||||
|
||||
this.#element = Tag.render`
|
||||
<div class="ui-popup-menu-item --${this.#options.design ?? MenuItemDesign.Default}">
|
||||
${this.#renderHeader()}
|
||||
${this.#renderButtons()}
|
||||
<div class="ui-popup-menu-item${classNameIsUiButton}${classNameDesign}">
|
||||
${isUiButton
|
||||
? new UiButton(uiButtonOptions).render()
|
||||
: Tag.render`
|
||||
<button
|
||||
class="ui-popup-menu-item-action"
|
||||
onclick="${this.#options.onClick}"
|
||||
onmouseenter="${this.#onMouseEnter}"
|
||||
onmouseleave="${this.#onMouseLeave}"
|
||||
>${this.#renderHeader()}${this.#renderButtons()}</button>
|
||||
`
|
||||
}
|
||||
</div>
|
||||
`;
|
||||
|
||||
Event.bind(this.#element, 'click', this.#options.onClick);
|
||||
Event.bind(this.#element, 'mouseenter', this.#onMouseEnter);
|
||||
Event.bind(this.#element, 'mouseleave', this.#onMouseLeave);
|
||||
|
||||
return this.#element;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ export class Menu
|
||||
const defaultOptions: MenuOptions = {
|
||||
noAllPaddings: true,
|
||||
autoHide: true,
|
||||
closeByEsc: true,
|
||||
autoHideHandler: this.#shouldHide,
|
||||
closeOnItemClick: true,
|
||||
};
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import type { PopupOptions } from 'main.popup';
|
||||
import type { CounterOptions } from 'ui.cnt';
|
||||
import type { ButtonOptions } from 'ui.buttons';
|
||||
|
||||
export type MenuOptions = PopupOptions & {
|
||||
sections: MenuSectionOptions[],
|
||||
@@ -34,6 +35,7 @@ export type MenuItemOptions = {
|
||||
subMenu: MenuOptions[],
|
||||
isLocked: boolean,
|
||||
closeOnSubItemClick: boolean,
|
||||
uiButtonOptions: ButtonOptions,
|
||||
};
|
||||
|
||||
type BadgeText = {
|
||||
|
||||
Reference in New Issue
Block a user