@kdcloudjs/kingdee-base-components 0.0.1 → 0.0.3
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/cjs/kd/buttonMenu.js +1 -1
- package/dist/cjs/kd/datatable.js +1 -1
- package/dist/cjs/kd/input.js +1 -1
- package/dist/cjs/kd/recordPickerModal.js +1 -1
- package/dist/esm/kd/buttonMenu.js +1 -1
- package/dist/esm/kd/datatable.js +1 -1
- package/dist/esm/kd/input.js +1 -1
- package/dist/esm/kd/recordPickerModal.js +1 -1
- package/package.json +3 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var t=require("@kdcloudjs/kwc"),e=require("./button.js"),o=require("../label-DdXuOVTE.js"),d=require("./shadowBaseClassPrivate.js"),n=require("../classSet-B5xuJbNb.js"),s=require("./utilsPrivate.js");require("../observable-BXDJFaLN.js"),require("../i18n-CP31jeWH.js");var i=require("./positionLibrary.js"),r=require("./tooltipLibrary.js"),a=require("../normalize-DKPi18vK.js"),l=require("../ssr-RXknEJpO.js");require("./icon.js"),require("../colorValid-BBnkvgd_.js"),require("../empty_html-hFq4zm9t.js"),require("../client-Co_j5m_k.js"),require("./iso8601Utils.js"),require("./primitiveBubble.js"),require("../kddsCommon-CICoPypw.js"),require("./ariaObserver.js");var u=[function(t,e,o){var d=t?"["+t+"]":"",n=t?"["+t+"-host]":"";return[e?":host [part~='dropdown']":n+" [part~='dropdown']",d," {border-color: #ffffff;background-color: var(--kdds-g-color-surface-container-1);border-radius: var(--kdds-c-dropdown-border-radius, 4px);box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.2);position: absolute;z-index: 7000;left: 50%;float: left;min-width: var(--kdds-c-dropdown-min-width, 68px);border-style: solid;transform: translateX(-50%);border-width: 0px;max-width: 100vw;max-height: var(--kdds-button-menu-dropdown-max-height, 328px);overflow-y: auto;position: absolute !important;}",e?":host mark":n+" mark",d," {font-weight: var(--kdds-g-font-weight-bold);background-color: transparent;color: inherit;}",e?":host .kdds-assistive-text":n+" .kdds-assistive-text",d," {position: absolute !important;margin: -1px !important;border: 0 !important;padding: 0 !important;width: 1px !important;height: 1px !important;overflow: hidden !important;clip: rect(0 0 0 0) !important;text-transform: none !important;white-space: nowrap !important;}",e?":host(.kdds-dropdown-trigger),\r:host .kdds-dropdown-trigger":n+".kdds-dropdown-trigger,"+n+" .kdds-dropdown-trigger",d," {position: relative;display: inline-block;}",e?":host(.kdds-dropdown-trigger) .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger":n+".kdds-dropdown-trigger .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger",d," .kdds-dropdown",d," {top: calc(100% + 4px);}",e?":host(.kdds-dropdown-trigger) .kdds-dropdown_bottom"+d+",\r:host .kdds-dropdown-trigger":n+".kdds-dropdown-trigger .kdds-dropdown_bottom"+d+","+n+" .kdds-dropdown-trigger",d," .kdds-dropdown_bottom",d," {top: auto;}",e?":host(.kdds-dropdown-trigger_hover) .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_hover":n+".kdds-dropdown-trigger_hover .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_hover",d," .kdds-dropdown",d," {visibility: hidden;opacity: 0;transition:\r\n opacity var(--_duration-quickly) linear,\r\n visibility var(--_duration-quickly) linear;}",e?":host(.kdds-dropdown-trigger_hover:hover),\r:host(.kdds-dropdown-trigger_hover:focus),\r:host .kdds-dropdown-trigger_hover:hover"+d+",\r:host .kdds-dropdown-trigger_hover:focus":n+":hover.kdds-dropdown-trigger_hover,"+n+":focus.kdds-dropdown-trigger_hover,"+n+" .kdds-dropdown-trigger_hover:hover"+d+","+n+" .kdds-dropdown-trigger_hover:focus",d," {outline: 0;}",e?":host(.kdds-dropdown-trigger_hover:hover) .kdds-dropdown"+d+",\r:host(.kdds-dropdown-trigger_hover:focus) .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_hover:hover"+d+" .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_hover:focus":n+":hover.kdds-dropdown-trigger_hover .kdds-dropdown"+d+","+n+":focus.kdds-dropdown-trigger_hover .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_hover:hover"+d+" .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_hover:focus",d," .kdds-dropdown",d," {visibility: visible;opacity: 1;transition:\r\n opacity var(--_duration-quickly) linear,\r\n visibility var(--_duration-quickly) linear;}",e?":host(.kdds-dropdown-trigger_click) .kdds-dropdown"+d+",\r:host(.kdds-dropdown-trigger_click:hover) .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_click"+d+" .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_click:hover":n+".kdds-dropdown-trigger_click .kdds-dropdown"+d+","+n+":hover.kdds-dropdown-trigger_click .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_click"+d+" .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_click:hover",d," .kdds-dropdown",d," {display: none;}",e?":host(.kdds-dropdown-trigger_click.kdds-is-open) .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_click.kdds-is-open":n+".kdds-is-open.kdds-dropdown-trigger_click .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_click.kdds-is-open",d," .kdds-dropdown",d," {display: block;visibility: visible;opacity: 1;}",e?":host .kdds-dropdown_left":n+" .kdds-dropdown_left",d," {left: 0;right: auto;transform: translateX(0);}",e?":host .kdds-dropdown_right":n+" .kdds-dropdown_right",d," {left: auto;right: 0;transform: translateX(0);}",e?":host .kdds-dropdown_bottom":n+" .kdds-dropdown_bottom",d," {bottom: calc(100% + 4px);}",e?":host .kdds-dropdown_xx-small":n+" .kdds-dropdown_xx-small",d," {min-width: var(--dropdown-size-xx-small);}",e?":host .kdds-dropdown_x-small":n+" .kdds-dropdown_x-small",d," {min-width: var(--_dropdown-size-x-small);}",e?":host .kdds-dropdown_small":n+" .kdds-dropdown_small",d," {min-width: var(--kdds-g-sizing-14);}",e?":host .kdds-dropdown_medium":n+" .kdds-dropdown_medium",d," {min-width: var(--_dropdown-size-medium);}",e?":host .kdds-dropdown_large":n+" .kdds-dropdown_large",d," {min-width: 25rem;}",e?":host .kdds-dropdown_fluid":n+" .kdds-dropdown_fluid",d," {min-width: var(--_dropdown-size-x-small);max-width: 100%;width: 100%;}",e?":host .kdds-dropdown_length-5":n+" .kdds-dropdown_length-5",d," {max-height: calc(((var(--kdds-g-font-scale-neg-3) * var(--kdds-g-font-lineheight)) + var(--kdds-g-spacing-4)) * 5);overflow-y: auto;}",e?":host .kdds-dropdown_length-7":n+" .kdds-dropdown_length-7",d," {max-height: calc(((var(--kdds-g-font-scale-neg-3) * var(--kdds-g-font-lineheight)) + var(--kdds-g-spacing-4)) * 7);overflow-y: auto;}",e?":host .kdds-dropdown_length-10":n+" .kdds-dropdown_length-10",d," {max-height: calc(((var(--kdds-g-font-scale-neg-3) * var(--kdds-g-font-lineheight)) + var(--kdds-g-spacing-4)) * 10);overflow-y: auto;}",e?":host .kdds-dropdown_length-with-icon-5":n+" .kdds-dropdown_length-with-icon-5",d," {max-height: calc((var(--_dropdown-square-icon-small-boundary) + var(--kdds-g-spacing-4)) * 5);overflow-y: auto;}",e?":host .kdds-dropdown_length-with-icon-7":n+" .kdds-dropdown_length-with-icon-7",d," {max-height: calc((var(--_dropdown-square-icon-small-boundary) + var(--kdds-g-spacing-4)) * 7);overflow-y: auto;}",e?":host .kdds-dropdown_length-with-icon-10":n+" .kdds-dropdown_length-with-icon-10",d," {max-height: calc((var(--_dropdown-square-icon-small-boundary) + var(--kdds-g-spacing-4)) * 10);overflow-y: auto;}",e?":host [dir='rtl']":n+" [dir='rtl']",d," .kdds-dropdown_center",d," {left: auto;right: auto;transform: translateX(calc(50% - (0.875rem / 2)));}",e?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," {background: var(--kdds-g-color-brand-base-10);border-color: var(--kdds-g-color-brand-base-10);color: var(--kdds-g-color-neutral-base-100);}",e?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a",d," {color: var(--kdds-g-color-neutral-base-100);}",e?":host .kdds-dropdown_inverse"+d+" .kdds-dropdown__item"+d+">a:hover"+d+",\r:host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse"+d+" .kdds-dropdown__item"+d+">a:hover"+d+","+n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a:focus",d," {color: var(--kdds-g-color-neutral-base-90);background-color: transparent;}",e?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a:active",d," {color: var(--kdds-g-color-neutral-base-80);background-color: transparent;}",e?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a[aria-disabled='true']",d," {color: var(--kdds-g-color-palette-blue-20);cursor: default;}",e?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a[aria-disabled='true']:hover",d," {background-color: transparent;}",e?":host .kdds-dropdown_actions":n+" .kdds-dropdown_actions",d," a",d," {color: var(--kdds-g-color-accent-2);}",e?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu",d," {top: 0;transform: none;}",e?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu-right",d," {left: 100%;margin-left: var(--kdds-g-spacing-1);}",e?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu-left",d," {left: 100%;margin-left: var(--kdds-g-spacing-1);}",e?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu-bottom",d," {top: auto;bottom: 0;margin-bottom: calc(var(--kdds-g-spacing-1) * -1);}",e?":host .kdds-p-vertical_large":n+" .kdds-p-vertical_large",d," {padding: var(--kdds-g-spacing-5);}",e?":host .kdds-button-menu":n+" .kdds-button-menu",d," {--kdds-c-button-suffixicon-margin-left: var(--kdds-c-button-menu-icon-right-margin-left, 4px);}",e?":host .kdds-button-menu-type-split":n+" .kdds-button-menu-type-split",d," {display: inline-flex;}",e?":host .kdds-button-menu.kdds-button-menu-size-medium":n+" .kdds-button-menu.kdds-button-menu-size-medium",d," {--kdds-c-button-padding-horizontal-medium: var(--kdds-c-button-menu-padding-horizontal-medium, 8px)\r\n}",e?":host .kdds-button-menu.kdds-button-menu-size-large":n+" .kdds-button-menu.kdds-button-menu-size-large",d," {--kdds-c-button-padding-horizontal-large: var(--kdds-c-button-menu-padding-horizontal-larg, 8px)\r\n}",e?":host .kdds-button-menu.kdds-button-menu-size-small":n+" .kdds-button-menu.kdds-button-menu-size-small",d," {--kdds-c-button-padding-horizontal-small: var(--kdds-c-button-menu-padding-horizontal-small, 8px)\r\n}",e?":host .kdds-button-menu.kdds-button-menu-variant-primary.kdds-button-menu-loading":n+" .kdds-button-menu.kdds-button-menu-variant-primary.kdds-button-menu-loading",d," {--kdds-c-button-icon-color: var(--kdds-c-button-menu-primary-loading-xiala-color, #FFFFFF)\r\n}",e?":host .kdds-button-menu.kdds-button-menu-variant-secondary.kdds-button-menu-loading":n+" .kdds-button-menu.kdds-button-menu-variant-secondary.kdds-button-menu-loading",d," {--kdds-c-button-icon-color: var(--kdds-c-button-menu-secondary-loading-xiala-color, #666666)\r\n}",e?":host .kdds-button-menu.kdds-button-menu-variant-text.kdds-button-menu-loading":n+" .kdds-button-menu.kdds-button-menu-variant-text.kdds-button-menu-loading",d," {--kdds-c-button-icon-color: var(--kdds-c-button-menu-text-loading-xiala-color, #5582F3);--kdds-c-button-text-loading-icon-color: var(--kdds-c-button-menu-text-loading-icon-color, #5582F3)\r\n}",e?":host .kdds-button-menu-type-split":n+" .kdds-button-menu-type-split",d," .kdds-button-menu-main",d," {position: relative;--kdds-c-button-shape-square-border-radius: var(--kdds-c-button-menu-split-first-button-border-radius, 2px 0 0 2px);--kdds-c-button-secondary-right-border: transparent;--kdds-c-button-secondary-disabled-border-right: transparent;--kdds-c-button-secondary-loading-border-right: transparent;}",e?":host .kdds-button-menu-type-split.kdds-button-menu-variant-primary":n+" .kdds-button-menu-type-split.kdds-button-menu-variant-primary",d," .kdds-button-menu-main",d,"::after {content: '';display: inline-flex;position: absolute;width: var(--kdds-button-menu-type-split-line-width, 1px);height: 100%;right: 0;top: 0;}",e?":host .kdds-button-menu-variant-primary":n+" .kdds-button-menu-variant-primary",d," .kdds-button-menu-main",d,"::after {background-color: var(--kdds-button-menu-type-split-line-bg, #FFFFFF);}",e?":host .kdds-button-menu-type-split":n+" .kdds-button-menu-type-split",d," .kdds-button-menu",d," {--kdds-c-button-shape-square-border-radius: var(--kdds-c-button-menu-split-second-button-border-radius, 0 2px 2px 0);--kdds-c-button-size-medium-padding-x: var(--kdds-c-split-button-menu-padding-x, 4px);--kdds-c-button-sizing-min-width-medium: var(--kdds-c-button-menu-split-second-button-sizing-min-width, 24px);--kdds-c-button-sizing-min-width-small: var(--kdds-c-button-menu-split-second-button-sizing-min-width, 24px);--kdds-c-button-sizing-min-width-large: var(--kdds-c-button-menu-split-second-button-sizing-min-width, 24px);--kdds-c-button-font-size-large: var(--kdds-c-split-button-menu-size-small-min-width, 16px);--kdds-c-button-sizing-max-width-small: var(--kdds-c-split-button-menu-size-small-min-width, 24px);--kdds-c-button-suffixicon-margin-left: var(--kdds-c-split-button-menu-icon-right-margin-left, 0);}",e?":host .kdds-dropdown__list":n+" .kdds-dropdown__list",d," {max-height: var(--kdds-button-menu-dropdown-max-height, auto);overflow-y: auto;}",e?":host .kdds-button-menu-size-large":n+" .kdds-button-menu-size-large",d," .kdds-dropdown",d," {--kdds-c-menu-item-font-size: var(--kdds-c-button-menu-item-large-font-size, 16px);--kdds-c-icon-font-size: var(--kdds-c-button-menu-item-icon-large-font-size, 18px)\r\n}",e?":host .kdds-button-menu-size-medium":n+" .kdds-button-menu-size-medium",d," .kdds-dropdown",d," {--kdds-c-menu-item-font-size: var(--kdds-c-button-menu-item-medium-font-size, 14px);--kdds-c-icon-font-size: var(--kdds-c-button-menu-item-icon-medium-font-size, 16px);}",e?":host .kdds-button-menu-size-small":n+" .kdds-button-menu-size-small",d," .kdds-dropdown",d," {--kdds-c-menu-item-font-size: var(--kdds-c-button-menu-item-small-font-size, 12px);--kdds-c-icon-font-size: var(--kdds-c-button-menu-item-icon-small-font-size, 14px);}"].join("")}];const c={"kdds-button-menu-main":!0},p={part:"overlay dropdown"},h={"kdds-dropdown__list":!0,"kdds-dropdown_length-with-icon-10":!0},m={key:5},g=[];function k(t,o,d,n){const{ncls:s,b:i,c:r,ti:a,gid:l,s:u,h:k}=t,{_m0:b,_m1:w,_m2:_,_m3:v}=n;return[k("div",{className:s(o.computedButtonMenuClass),key:0},[o.computedType?r("kd-button",e,{classMap:c,props:{disabled:o.buttonDisabled,variant:o.computedVariant,size:o.size,label:o.computedMainLabel,loading:o.loading},key:1,on:b||(n._m0={click:i(o.handleMainButtonClick)})}):null,r("kd-button",e,{className:s(o.computedButtonClass),props:{disabled:o.dropdownDisabled,title:o.computedTitle,type:"button",iconPosition:"right",iconName:o.computedIconName,tabIndex:a(o.tabIndex),label:o.computedMenuLabel,variant:o.computedVariant,size:o.size},key:2,on:w||(n._m1={click:i(o.handleButtonClick),keydown:i(o.handleButtonKeyDown),blur:i(o.handleBlur),focus:i(o.handleFocus),mousedown:i(o.handleButtonMouseDown)})}),o._dropdownOpened?k("div",{className:s(o.computedDropdownClass),attrs:p,key:3,on:_||(n._m2={mousedown:i(o.handleDropdownMouseDown),mouseup:i(o.handleDropdownMouseUp),scroll:i(o.handleDropdownScroll)})},[o.isLoading?null:k("div",{classMap:h,attrs:{"aria-labelledby":l("button-label"),role:"menu"},key:4,on:v||(n._m3={privateselect:i(o.handleMenuItemPrivateSelect),privateblur:i(o.handlePrivateBlur),privatefocus:i(o.handlePrivateFocus),mouseover:i(o.handleMouseOverOnMenuItem),mouseout:i(o.allowBlur),keydown:i(o.handleKeyOnMenuItem)})},[u("",m,g,d)])]):null])]}var b=t.registerTemplate(k);function w(t){t.preventDefault(),t.stopPropagation()}function _(t,e){s.runActionOnBufferedTypedCharacters(t,e.focusMenuItemWithText)}k.slots=[""],k.stylesheets=[],k.stylesheetToken="kwc-1gqo8bpb7tb",k.legacyStylesheetToken="D:\\new_workspace\\workspace\\kingdee-base-components\\src\\modules\\kd\\buttonMenu-undefined_buttonMenu",u&&k.stylesheets.push.apply(k.stylesheets,u),t.freezeTemplate(k);const{setContext:v,assertContext:f}=s.privateContext,y={loading:o.KingdeeButtonMenu.loading,showMenu:o.KingdeeButtonMenu.showMenu},x="LIGHTNING-MENU-ITEM",M=`${x}, .kdds-dropdown__list .kdds-dropdown__item`,z=["left","center","right","bottom-left","bottom-center","bottom-right"];z.push("auto","auto-right","auto-left");const I="button button-icon";class C extends d{get label(){return this._label}set label(t){this._label=t,this.buttonParts=t?"kd-button":I,s.reflectAttribute(this,"label",this._label)}constructor(){super(),this._tooltipCreated=!1,this.internalDatatableActionsMenu=!1,this.iconSize="medium",this.iconName="kdfont-xiala",this.value="",this.alternativeText=y.showMenu,this.loadingStateAlternativeText=y.loading,this.draftAlternativeText=void 0,this.groupOrder="",this.tabIndex=void 0,this.loading=!1,this.variant="primary",this.color=void 0,this.size="medium",this.type="dropdown",this.buttonDisabled=!1,this._accesskey=null,this._disabled=!1,this._dropdownVisible=!1,this._dropdownOpened=!1,this._title=null,this._isDraft=!1,this._isLoading=!1,this._focusOnIndexDuringRenderedCallback=null,this._tabindex=0,this._order=null,this._iconName="kdfont-xiala",this._label=null,this.buttonParts=I,this._positioning=!1,this._menuAlignment="auto",this._boundingRect={},this._tooltip=null,this._needsFocusAfterRender=!1,this._handleDocumentMousedown=t=>{if(!this._dropdownVisible)return;const e=t.composedPath&&t.composedPath()||t.path||[],o=t=>"object"==typeof Node?t instanceof Node:t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName;let d=!1;if(e&&e.length)d=e.some(t=>{if(!o(t))return!1;try{return t===this||this.template&&this.template.contains&&this.template.contains(t)}catch{return!1}});else{const e=t.target;if(o(e))try{d=this.template&&this.template.contains&&this.template.contains(e)}catch{d=!1}}d||this.toggleMenuVisibility(!1)},v(this)}get computedIconName(){return`${this.iconName}`}connectedCallback(){super.connectedCallback(),this._connected=!0,this.keyboardInterface=this.menuKeyboardInterface(),this.classList.add("kdds-dropdown-trigger","kdds-dropdown-trigger_click"),document.addEventListener("mousedown",this._handleDocumentMousedown,!0),this.isDraft&&this.classList.add("kdds-is-unsaved"),this._boundHandleScroll=this.handleScroll.bind(this),document.addEventListener("scroll",this._boundHandleScroll,!0)}disconnectedCallback(){this._connected=!1,document.removeEventListener("mousedown",this._handleDocumentMousedown,!0),this._tooltip&&this._tooltip.disconnect(),document.removeEventListener("scroll",this._boundHandleScroll,!0)}renderedCallback(){this.initTooltip(),!this._positioning&&this._dropdownVisible&&this.focusOnMenuItemAfterRender()}get iconSvgClass(){return this.label?"kdds-button__icon kdds-button__icon_right":"kdds-button__icon"}get menuAlignment(){return this._menuAlignment}set menuAlignment(t){this._menuAlignment=a.normalizeString(t,{fallbackValue:"left",validValues:z})}get dropdownDisabled(){return this._disabled}set dropdownDisabled(t){this._disabled=a.normalizeBoolean(t)}get title(){return this._title}set title(t){this._title=t}get isDraft(){return this._isDraft}set isDraft(t){this._isDraft=a.normalizeBoolean(t)}get accessKey(){return this._accesskey}set accessKey(t){this._accesskey=t}get tooltip(){return this._tooltip?this._tooltip.value:void 0}set tooltip(t){f(this),this._tooltip?this._tooltip.value=t:t&&l.isCSR&&(this._tooltip=new r.Tooltip(t,{root:document.body,target:()=>this.template.querySelector("kd-button"),type:"toggle"}),this._tooltip.initialize())}focus(){this._connected&&this.focusOnButton()}click(){this._connected&&this.template.querySelector("kd-button").click()}get computedAriaExpanded(){return String(this._dropdownVisible)}initTooltip(){this._tooltip&&!this._tooltip.initialized&&this._tooltip.initialize()}focusOnMenuItemAfterRender(){let t=this._focusOnIndexDuringRenderedCallback||0;const e=this.getMenuItems();"LAST"===t&&(t=e.length-1,t<0&&(t="LAST")),"LAST"!==t&&(t>e.length-1&&e.length>0&&(t=e.length-1),this.focusOnMenuItem(t),this._focusOnIndexDuringRenderedCallback=null)}get computedAccessKey(){return this._accesskey}get computedTitle(){return this._title}get computedType(){return"split"===this.type}get computedAlternativeText(){return this.alternativeText||y.showMenu}get computedLoadingStateAlternativeText(){return this.loadingStateAlternativeText||y.loading}get computedButtonClass(){const t=!this.computedShowDownIcon,e=n.classSet("kdds-button-menu");return this.label?e.add({}):e.add({"kdds-button_icon":!t}),e.add(s.buttonGroupOrderClass(this.groupOrder)).toString()}get computedButtonMenuClass(){const t="split"===this.type?["primary","secondary"]:["primary","secondary","text"],e=["small","medium","large"].includes(this.size)?this.size:"medium",o=t.includes(this.variant)?this.variant:"primary",d=["dropdown","split"].includes(this.type)?this.type:"dropdown";return["kdds-button-menu",`kdds-button-menu-size-${e}`,`kdds-button-menu-variant-${o}`,!0===this.dropdownDisabled||"true"===this.dropdownDisabled?"kdds-button-menu-disabled":"",!0===this.loading||"true"===this.loading?"kdds-button-menu-loading":"",this.color?"kdds-button-menu-custom-color":"",`kdds-button-menu-type-${d}`].filter(Boolean).join(" ")}get computedDropdownClass(){return n.classSet("kdds-dropdown").add({"kdds-dropdown_left":"left"===this.menuAlignment||this.isAutoAlignment(),"kdds-dropdown_center":"center"===this.menuAlignment,"kdds-dropdown_right":"right"===this.menuAlignment,"kdds-dropdown_bottom":"bottom-center"===this.menuAlignment,"kdds-dropdown_bottom kdds-dropdown_right kdds-dropdown_bottom-right":"bottom-right"===this.menuAlignment,"kdds-dropdown_bottom kdds-dropdown_left kdds-dropdown_bottom-left":"bottom-left"===this.menuAlignment,"kdds-p-vertical_large":this.isLoading}).toString()}get computedMainLabel(){return"split"===this.type?this.label:null}get computedMenuLabel(){return"split"===this.type?null:this.label}get computedVariant(){return"split"===this.type?"secondary"===this.variant?"secondary":"primary":"text"===this.variant?"text":"secondary"===this.variant?"secondary":"primary"}handleMenuItemPrivateSelect(t){const{disabled:e}=t.detail;if(this._dropdownVisible&&(e||(this.toggleMenuVisibility(),this.focusOnButton())),!e){!this.dispatchSelect(t)&&t.preventDefault()}}dispatchSelect(t){return this.dispatchEvent(new CustomEvent("select",{cancelable:!0,detail:{value:t.detail.value}}))}handleButtonClick(){this.allowBlur(),this.toggleMenuVisibility(),this.focusOnButton()}handleButtonKeyDown(t){!function(t,e){const o=e.isMenuVisible();switch(t.keyCode){case s.keyCodes.enter:case s.keyCodes.space:w(t),e.toggleMenuVisibility();break;case s.keyCodes.down:case s.keyCodes.up:if(w(t),!o){let o=0;t.keyCode===s.keyCodes.up&&(o="LAST"),e.setNextFocusIndex(o),e.toggleMenuVisibility()}break;case s.keyCodes.escape:case s.keyCodes.tab:o&&(w(t),e.toggleMenuVisibility());break;default:if(!o&&e.showDropdownWhenTypingCharacters)w(t),e.toggleMenuVisibility();else if(!o)break;window.requestAnimationFrame(()=>{_(t,e)})}}(t,this.keyboardInterface)}handleButtonMouseDown(t){0===t.button&&this.cancelBlur()}handleDropdownMouseDown(t){0===t.button&&this.cancelBlur()}handleDropdownMouseUp(){this.allowBlur()}handleDropdownMouseLeave(){this._menuHasFocus||this.close()}handleDropdownScroll(t){t.stopPropagation()}focusOnButton(){this.template.querySelector("kd-button").focus()}focusOnMenuItem(t){if(this._dropdownVisible){const e=this.getMenuItemByIndex(t);this.cancelBlurAndFocusOnMenuItem(e)}}isAutoAlignment(){return this.menuAlignment.startsWith("auto")}startPositioning(){if(!this.isAutoAlignment())return Promise.resolve();this._positioning=!0;const t={horizontal:i.Direction.Left,vertical:i.Direction.Top},e={horizontal:i.Direction.Left,vertical:i.Direction.Bottom};let o,d=!0;"auto-right"===this.menuAlignment&&(t.horizontal=i.Direction.Right,e.horizontal=i.Direction.Right),"auto-right"!==this.menuAlignment&&"auto-left"!==this.menuAlignment||(d=!1,o=!0);const n=this.template.querySelector(".kdds-button-menu"),r=this.template.querySelector(".kdds-dropdown");if(n&&r){const t=n.getBoundingClientRect(),e=r.getBoundingClientRect().height,s=window.innerHeight-t.bottom,i=t.top;s>=e+8?(o=!1,d=!1):i>=e+8?(o=!0,d=!0):o=i>s}return s.animationFrame().then(()=>(this.stopPositioning(),this._autoPosition=i.startPositioning(this,{target:()=>this.template.querySelector(".kdds-button-menu"),element:()=>this.template.querySelector(".kdds-dropdown"),align:t,targetAlign:e,autoFlip:d,autoFlipVertical:o,scrollableParentBound:!0,keepInViewport:!0},!0),this._autoPosition?this._autoPosition.reposition():Promise.reject())).then(()=>{const t=this.template.querySelector(".kdds-dropdown");if(t&&"dropdown"===this.type){const e=parseFloat(t.style.top||0);"small"===this.size?t.style.top=`${e+8}px`:"medium"===this.size?t.style.top=`${e+12}px`:"large"===this.size&&(t.style.top=`${e+16}px`)}if(t&&"split"===this.type){const e=parseFloat(t.style.top||0);t.style.top=`${e+4}px`}const e=this._autoPosition;if(e&&e.config&&e.config.align&&e.config.targetAlign){const{align:o,targetAlign:d}=e.config;if("auto"===this.menuAlignment&&"bottom"===o.vertical&&"top"===d.vertical&&("left"===o.horizontal||"right"===o.horizontal))if("split"===this.type){const e=parseFloat(t.style.top||0)-9;t.style.top=`${e}px`}else{const e=parseFloat(t.style.top||0)-20;t.style.top=`${e}px`}}return this._needsFocusAfterRender=!0,s.timeout(0)}).then(()=>{this._positioning=!1,this._needsFocusAfterRender&&(this.focusOnMenuItemAfterRender(),this._needsFocusAfterRender=!1)})}stopPositioning(){this._autoPosition&&(i.stopPositioning(this._autoPosition),this._autoPosition=null),this._positioning=!1}toggleMenuVisibility(){this.dropdownDisabled||(this._dropdownVisible=!this._dropdownVisible,!this._dropdownOpened&&this._dropdownVisible&&(this._dropdownOpened=!0),this._dropdownVisible?(requestAnimationFrame(()=>this.startPositioning()),this.dispatchEvent(new CustomEvent("open")),this._boundingRect=this.getBoundingClientRect(),this.pollBoundingRect()):(this.stopPositioning(),this.dispatchEvent(new CustomEvent("close"))),this.classList.toggle("kdds-is-open"))}handleScroll(){this._dropdownVisible&&this.toggleMenuVisibility()}getChildNodes(t,e){return t?t.matches&&t.matches(e)?[t]:Array.from(t.childNodes).reduce((t,o)=>[...t,...this.getChildNodes(o,e)],[]):[]}getMenuItems(){return this.getChildNodes(this,M)}getMenuItemByIndex(t){return f(this),this.getMenuItems()[t]}findMenuItemIndex(t){return this.getMenuItems().indexOf(t)}findMenuItemFromEventTarget(t){let e=t;const o=this.template.querySelector("[role='menu']");for(;e!==o;){if(e.tagName===x)return e;if(!e.parentNode)return null;e=e.parentNode}return null}handleKeyOnMenuItem(t){const e=this.findMenuItemFromEventTarget(t.target);e&&function(t,e,o){switch(t.keyCode){case s.keyCodes.down:case s.keyCodes.up:{w(t);let d=t.keyCode===s.keyCodes.up?e-1:e+1;const n=o.getTotalMenuItems();d>=n?d=0:d<0&&(d=n-1),o.focusOnIndex(d);break}case s.keyCodes.home:w(t),o.focusOnIndex(0);break;case s.keyCodes.end:w(t),o.focusOnIndex(o.getTotalMenuItems()-1);break;case s.keyCodes.escape:case s.keyCodes.tab:o.isMenuVisible()&&(t.keyCode===s.keyCodes.escape&&w(t),o.toggleMenuVisibility()),o.returnFocus();break;default:_(t,o)}}(t,this.findMenuItemIndex(e),this.keyboardInterface)}handleMouseOverOnMenuItem(t){const e=this.findMenuItemFromEventTarget(t.target);if(e){const t=this.findMenuItemIndex(e);this.focusOnMenuItem(t)}}cancelBlurAndFocusOnMenuItem(t){t&&(this.cancelBlur(),t.focus())}handleFocus(){this.dispatchEvent(new CustomEvent("focus"))}handlePrivateBlur(t){if(t.detail.relatedTarget){this.findMenuItemFromEventTarget(t.detail.relatedTarget)&&this.cancelBlur()}t.stopPropagation(),this.handleBlur(),this._menuHasFocus=!1}handlePrivateFocus(t){t.stopPropagation(),this.allowBlur(),this._menuHasFocus=!0}handleBlur(){this._cancelBlur||(this._dropdownVisible&&this.toggleMenuVisibility(),this.dispatchEvent(new CustomEvent("blur")))}allowBlur(){this._cancelBlur=!1}cancelBlur(){this._cancelBlur=!0}handleMainButtonClick(t){t.stopPropagation(),this.dispatchEvent(new CustomEvent("click",{detail:{source:"main-button"},bubbles:!0,composed:!0}))}menuKeyboardInterface(){const t=this;return{getTotalMenuItems:()=>t.getMenuItems().length,focusOnIndex(e){t.focusOnMenuItem(e)},setNextFocusIndex(e){t._focusOnIndexDuringRenderedCallback=e},returnFocus(){t.focusOnButton()},isMenuVisible:()=>t._dropdownVisible,toggleMenuVisibility(){t.toggleMenuVisibility()},focusMenuItemWithText(e){const o=[...t.getMenuItems()].filter(t=>{const{label:o}=t;return o&&0===o.toLowerCase().indexOf(e)});o.length>0&&t.focusOnMenuItem(o[0])}}}close(){this._dropdownVisible&&this.toggleMenuVisibility()}pollBoundingRect(){this.isAutoAlignment()&&this._dropdownVisible&&setTimeout(()=>{this._connected&&(s.observePosition(this,300,this._boundingRect,()=>{this.close()}),this.pollBoundingRect())},250)}}C.validationOptOut=["class"],C.delegatesFocus=!0,t.registerDecorators(C,{publicProps:{internalDatatableActionsMenu:{config:0},iconSize:{config:0},iconName:{config:0},value:{config:0},alternativeText:{config:0},loadingStateAlternativeText:{config:0},label:{config:3},draftAlternativeText:{config:0},groupOrder:{config:0},tabIndex:{config:0},loading:{config:0},variant:{config:0},color:{config:0},size:{config:0},type:{config:0},buttonDisabled:{config:0},menuAlignment:{config:3},dropdownDisabled:{config:3},title:{config:3},isDraft:{config:3},accessKey:{config:3},tooltip:{config:3}},publicMethods:["focus","click"],track:{_accesskey:1,_disabled:1,_dropdownVisible:1,_dropdownOpened:1,_title:1,_isDraft:1,_isLoading:1,_focusOnIndexDuringRenderedCallback:1,_tabindex:1,_order:1,_iconName:1,_label:1,buttonParts:1},fields:["_tooltipCreated","_positioning","_menuAlignment","_boundingRect","_tooltip","_needsFocusAfterRender","_handleDocumentMousedown"]});const A=t.registerComponent(C,{tmpl:b,sel:"D:\\new_workspace\\workspace\\kingdee-base-components\\src\\modules\\kd\\buttonMenu-",apiVersion:63});module.exports=A;
|
|
1
|
+
"use strict";var t=require("@kdcloudjs/kwc"),e=require("./button.js"),o=require("../label-DdXuOVTE.js"),d=require("./shadowBaseClassPrivate.js"),n=require("../classSet-B5xuJbNb.js"),s=require("./utilsPrivate.js");require("../observable-BXDJFaLN.js"),require("../i18n-CP31jeWH.js");var i=require("./positionLibrary.js"),r=require("./tooltipLibrary.js"),a=require("../normalize-DKPi18vK.js"),l=require("../ssr-RXknEJpO.js");require("./icon.js"),require("../colorValid-BBnkvgd_.js"),require("../empty_html-hFq4zm9t.js"),require("../client-Co_j5m_k.js"),require("./iso8601Utils.js"),require("./primitiveBubble.js"),require("../kddsCommon-CICoPypw.js"),require("./ariaObserver.js");var u=[function(t,e,o){var d=t?"["+t+"]":"",n=t?"["+t+"-host]":"";return[e?":host [part~='dropdown']":n+" [part~='dropdown']",d," {border-color: #ffffff;background-color: var(--kdds-g-color-surface-container-1);border-radius: var(--kdds-c-dropdown-border-radius, 4px);box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.2);position: absolute;z-index: 7000;left: 50%;float: left;min-width: var(--kdds-c-dropdown-min-width, 68px);border-style: solid;transform: translateX(-50%);border-width: 0px;max-width: 100vw;max-height: var(--kdds-button-menu-dropdown-max-height, 328px);overflow-y: auto;position: absolute !important;}",e?":host mark":n+" mark",d," {font-weight: var(--kdds-g-font-weight-bold);background-color: transparent;color: inherit;}",e?":host .kdds-assistive-text":n+" .kdds-assistive-text",d," {position: absolute !important;margin: -1px !important;border: 0 !important;padding: 0 !important;width: 1px !important;height: 1px !important;overflow: hidden !important;clip: rect(0 0 0 0) !important;text-transform: none !important;white-space: nowrap !important;}",e?":host(.kdds-dropdown-trigger),\r:host .kdds-dropdown-trigger":n+".kdds-dropdown-trigger,"+n+" .kdds-dropdown-trigger",d," {position: relative;display: inline-block;}",e?":host(.kdds-dropdown-trigger) .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger":n+".kdds-dropdown-trigger .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger",d," .kdds-dropdown",d," {top: calc(100% + 4px);}",e?":host(.kdds-dropdown-trigger) .kdds-dropdown_bottom"+d+",\r:host .kdds-dropdown-trigger":n+".kdds-dropdown-trigger .kdds-dropdown_bottom"+d+","+n+" .kdds-dropdown-trigger",d," .kdds-dropdown_bottom",d," {top: auto;}",e?":host(.kdds-dropdown-trigger_hover) .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_hover":n+".kdds-dropdown-trigger_hover .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_hover",d," .kdds-dropdown",d," {visibility: hidden;opacity: 0;transition:\r\n opacity var(--_duration-quickly) linear,\r\n visibility var(--_duration-quickly) linear;}",e?":host(.kdds-dropdown-trigger_hover:hover),\r:host(.kdds-dropdown-trigger_hover:focus),\r:host .kdds-dropdown-trigger_hover:hover"+d+",\r:host .kdds-dropdown-trigger_hover:focus":n+":hover.kdds-dropdown-trigger_hover,"+n+":focus.kdds-dropdown-trigger_hover,"+n+" .kdds-dropdown-trigger_hover:hover"+d+","+n+" .kdds-dropdown-trigger_hover:focus",d," {outline: 0;}",e?":host(.kdds-dropdown-trigger_hover:hover) .kdds-dropdown"+d+",\r:host(.kdds-dropdown-trigger_hover:focus) .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_hover:hover"+d+" .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_hover:focus":n+":hover.kdds-dropdown-trigger_hover .kdds-dropdown"+d+","+n+":focus.kdds-dropdown-trigger_hover .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_hover:hover"+d+" .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_hover:focus",d," .kdds-dropdown",d," {visibility: visible;opacity: 1;transition:\r\n opacity var(--_duration-quickly) linear,\r\n visibility var(--_duration-quickly) linear;}",e?":host(.kdds-dropdown-trigger_click) .kdds-dropdown"+d+",\r:host(.kdds-dropdown-trigger_click:hover) .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_click"+d+" .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_click:hover":n+".kdds-dropdown-trigger_click .kdds-dropdown"+d+","+n+":hover.kdds-dropdown-trigger_click .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_click"+d+" .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_click:hover",d," .kdds-dropdown",d," {display: none;}",e?":host(.kdds-dropdown-trigger_click.kdds-is-open) .kdds-dropdown"+d+",\r:host .kdds-dropdown-trigger_click.kdds-is-open":n+".kdds-is-open.kdds-dropdown-trigger_click .kdds-dropdown"+d+","+n+" .kdds-dropdown-trigger_click.kdds-is-open",d," .kdds-dropdown",d," {display: block;visibility: visible;opacity: 1;}",e?":host .kdds-dropdown_left":n+" .kdds-dropdown_left",d," {left: 0;right: auto;transform: translateX(0);}",e?":host .kdds-dropdown_right":n+" .kdds-dropdown_right",d," {left: auto;right: 0;transform: translateX(0);}",e?":host .kdds-dropdown_bottom":n+" .kdds-dropdown_bottom",d," {bottom: calc(100% + 4px);}",e?":host .kdds-dropdown_xx-small":n+" .kdds-dropdown_xx-small",d," {min-width: var(--dropdown-size-xx-small);}",e?":host .kdds-dropdown_x-small":n+" .kdds-dropdown_x-small",d," {min-width: var(--_dropdown-size-x-small);}",e?":host .kdds-dropdown_small":n+" .kdds-dropdown_small",d," {min-width: var(--kdds-g-sizing-14);}",e?":host .kdds-dropdown_medium":n+" .kdds-dropdown_medium",d," {min-width: var(--_dropdown-size-medium);}",e?":host .kdds-dropdown_large":n+" .kdds-dropdown_large",d," {min-width: 25rem;}",e?":host .kdds-dropdown_fluid":n+" .kdds-dropdown_fluid",d," {min-width: var(--_dropdown-size-x-small);max-width: 100%;width: 100%;}",e?":host .kdds-dropdown_length-5":n+" .kdds-dropdown_length-5",d," {max-height: calc(((var(--kdds-g-font-scale-neg-3) * var(--kdds-g-font-lineheight)) + var(--kdds-g-spacing-4)) * 5);overflow-y: auto;}",e?":host .kdds-dropdown_length-7":n+" .kdds-dropdown_length-7",d," {max-height: calc(((var(--kdds-g-font-scale-neg-3) * var(--kdds-g-font-lineheight)) + var(--kdds-g-spacing-4)) * 7);overflow-y: auto;}",e?":host .kdds-dropdown_length-10":n+" .kdds-dropdown_length-10",d," {max-height: calc(((var(--kdds-g-font-scale-neg-3) * var(--kdds-g-font-lineheight)) + var(--kdds-g-spacing-4)) * 10);overflow-y: auto;}",e?":host .kdds-dropdown_length-with-icon-5":n+" .kdds-dropdown_length-with-icon-5",d," {max-height: calc((var(--_dropdown-square-icon-small-boundary) + var(--kdds-g-spacing-4)) * 5);overflow-y: auto;}",e?":host .kdds-dropdown_length-with-icon-7":n+" .kdds-dropdown_length-with-icon-7",d," {max-height: calc((var(--_dropdown-square-icon-small-boundary) + var(--kdds-g-spacing-4)) * 7);overflow-y: auto;}",e?":host .kdds-dropdown_length-with-icon-10":n+" .kdds-dropdown_length-with-icon-10",d," {max-height: calc((var(--_dropdown-square-icon-small-boundary) + var(--kdds-g-spacing-4)) * 10);overflow-y: auto;}",e?":host [dir='rtl']":n+" [dir='rtl']",d," .kdds-dropdown_center",d," {left: auto;right: auto;transform: translateX(calc(50% - (0.875rem / 2)));}",e?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," {background: var(--kdds-g-color-brand-base-10);border-color: var(--kdds-g-color-brand-base-10);color: var(--kdds-g-color-neutral-base-100);}",e?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a",d," {color: var(--kdds-g-color-neutral-base-100);}",e?":host .kdds-dropdown_inverse"+d+" .kdds-dropdown__item"+d+">a:hover"+d+",\r:host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse"+d+" .kdds-dropdown__item"+d+">a:hover"+d+","+n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a:focus",d," {color: var(--kdds-g-color-neutral-base-90);background-color: transparent;}",e?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a:active",d," {color: var(--kdds-g-color-neutral-base-80);background-color: transparent;}",e?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a[aria-disabled='true']",d," {color: var(--kdds-g-color-palette-blue-20);cursor: default;}",e?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a[aria-disabled='true']:hover",d," {background-color: transparent;}",e?":host .kdds-dropdown_actions":n+" .kdds-dropdown_actions",d," a",d," {color: var(--kdds-g-color-accent-2);}",e?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu",d," {top: 0;transform: none;}",e?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu-right",d," {left: 100%;margin-left: var(--kdds-g-spacing-1);}",e?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu-left",d," {left: 100%;margin-left: var(--kdds-g-spacing-1);}",e?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu-bottom",d," {top: auto;bottom: 0;margin-bottom: calc(var(--kdds-g-spacing-1) * -1);}",e?":host .kdds-p-vertical_large":n+" .kdds-p-vertical_large",d," {padding: var(--kdds-g-spacing-5);}",e?":host .kdds-button-menu":n+" .kdds-button-menu",d," {--kdds-c-button-suffixicon-margin-left: var(--kdds-c-button-menu-icon-right-margin-left, 4px);}",e?":host .kdds-button-menu-type-split":n+" .kdds-button-menu-type-split",d," {display: inline-flex;}",e?":host .kdds-button-menu.kdds-button-menu-size-medium":n+" .kdds-button-menu.kdds-button-menu-size-medium",d," {--kdds-c-button-padding-horizontal-medium: var(--kdds-c-button-menu-padding-horizontal-medium, 8px)\r\n}",e?":host .kdds-button-menu.kdds-button-menu-size-large":n+" .kdds-button-menu.kdds-button-menu-size-large",d," {--kdds-c-button-padding-horizontal-large: var(--kdds-c-button-menu-padding-horizontal-larg, 8px)\r\n}",e?":host .kdds-button-menu.kdds-button-menu-size-small":n+" .kdds-button-menu.kdds-button-menu-size-small",d," {--kdds-c-button-padding-horizontal-small: var(--kdds-c-button-menu-padding-horizontal-small, 8px)\r\n}",e?":host .kdds-button-menu.kdds-button-menu-variant-primary.kdds-button-menu-loading":n+" .kdds-button-menu.kdds-button-menu-variant-primary.kdds-button-menu-loading",d," {--kdds-c-button-icon-color: var(--kdds-c-button-menu-primary-loading-xiala-color, #FFFFFF)\r\n}",e?":host .kdds-button-menu.kdds-button-menu-variant-secondary.kdds-button-menu-loading":n+" .kdds-button-menu.kdds-button-menu-variant-secondary.kdds-button-menu-loading",d," {--kdds-c-button-icon-color: var(--kdds-c-button-menu-secondary-loading-xiala-color, #666666)\r\n}",e?":host .kdds-button-menu.kdds-button-menu-variant-text.kdds-button-menu-loading":n+" .kdds-button-menu.kdds-button-menu-variant-text.kdds-button-menu-loading",d," {--kdds-c-button-icon-color: var(--kdds-c-button-menu-text-loading-xiala-color, #5582F3);--kdds-c-button-text-loading-icon-color: var(--kdds-c-button-menu-text-loading-icon-color, #5582F3)\r\n}",e?":host .kdds-button-menu-type-split":n+" .kdds-button-menu-type-split",d," .kdds-button-menu-main",d," {position: relative;--kdds-c-button-shape-square-border-radius: var(--kdds-c-button-menu-split-first-button-border-radius, 2px 0 0 2px);--kdds-c-button-secondary-right-border: transparent;--kdds-c-button-secondary-disabled-border-right: transparent;--kdds-c-button-secondary-loading-border-right: transparent;}",e?":host .kdds-button-menu-type-split.kdds-button-menu-variant-primary":n+" .kdds-button-menu-type-split.kdds-button-menu-variant-primary",d," .kdds-button-menu-main",d,"::after {content: '';display: inline-flex;position: absolute;width: var(--kdds-button-menu-type-split-line-width, 1px);height: 100%;right: 0;top: 0;}",e?":host .kdds-button-menu-variant-primary":n+" .kdds-button-menu-variant-primary",d," .kdds-button-menu-main",d,"::after {background-color: var(--kdds-button-menu-type-split-line-bg, #FFFFFF);}",e?":host .kdds-button-menu-type-split":n+" .kdds-button-menu-type-split",d," .kdds-button-menu",d," {--kdds-c-button-shape-square-border-radius: var(--kdds-c-button-menu-split-second-button-border-radius, 0 2px 2px 0);--kdds-c-button-size-medium-padding-x: var(--kdds-c-split-button-menu-padding-x, 4px);--kdds-c-button-sizing-min-width-medium: var(--kdds-c-button-menu-split-second-button-sizing-min-width, 24px);--kdds-c-button-sizing-min-width-small: var(--kdds-c-button-menu-split-second-button-sizing-min-width, 24px);--kdds-c-button-sizing-min-width-large: var(--kdds-c-button-menu-split-second-button-sizing-min-width, 24px);--kdds-c-button-font-size-large: var(--kdds-c-split-button-menu-size-small-min-width, 16px);--kdds-c-button-sizing-max-width-small: var(--kdds-c-split-button-menu-size-small-min-width, 24px);--kdds-c-button-suffixicon-margin-left: var(--kdds-c-split-button-menu-icon-right-margin-left, 0);}",e?":host .kdds-dropdown__list":n+" .kdds-dropdown__list",d," {max-height: var(--kdds-button-menu-dropdown-max-height, auto);overflow-y: auto;}",e?":host .kdds-button-menu-size-large":n+" .kdds-button-menu-size-large",d," .kdds-dropdown",d," {--kdds-c-menu-item-font-size: var(--kdds-c-button-menu-item-large-font-size, 16px);--kdds-c-icon-font-size: var(--kdds-c-button-menu-item-icon-large-font-size, 18px)\r\n}",e?":host .kdds-button-menu-size-medium":n+" .kdds-button-menu-size-medium",d," .kdds-dropdown",d," {--kdds-c-menu-item-font-size: var(--kdds-c-button-menu-item-medium-font-size, 14px);--kdds-c-icon-font-size: var(--kdds-c-button-menu-item-icon-medium-font-size, 16px);}",e?":host .kdds-button-menu-size-small":n+" .kdds-button-menu-size-small",d," .kdds-dropdown",d," {--kdds-c-menu-item-font-size: var(--kdds-c-button-menu-item-small-font-size, 12px);--kdds-c-icon-font-size: var(--kdds-c-button-menu-item-icon-small-font-size, 14px);}"].join("")}];const c={"kdds-button-menu-main":!0},h={part:"overlay dropdown"},p={"kdds-dropdown__list":!0,"kdds-dropdown_length-with-icon-10":!0},m={key:5},g=[];function k(t,o,d,n){const{ncls:s,b:i,c:r,ti:a,gid:l,s:u,h:k}=t,{_m0:b,_m1:w,_m2:_,_m3:v}=n;return[k("div",{className:s(o.computedButtonMenuClass),key:0},[o.computedType?r("kd-button",e,{classMap:c,props:{disabled:o.buttonDisabled,variant:o.computedVariant,size:o.size,label:o.computedMainLabel,loading:o.loading},key:1,on:b||(n._m0={click:i(o.handleMainButtonClick)})}):null,r("kd-button",e,{className:s(o.computedButtonClass),props:{disabled:o.dropdownDisabled,title:o.computedTitle,type:"button",iconPosition:"right",iconName:o.computedIconName,tabIndex:a(o.tabIndex),label:o.computedMenuLabel,variant:o.computedVariant,size:o.size},key:2,on:w||(n._m1={click:i(o.handleButtonClick),keydown:i(o.handleButtonKeyDown),blur:i(o.handleBlur),focus:i(o.handleFocus),mousedown:i(o.handleButtonMouseDown)})}),o._dropdownOpened?k("div",{className:s(o.computedDropdownClass),attrs:h,key:3,on:_||(n._m2={mousedown:i(o.handleDropdownMouseDown),mouseup:i(o.handleDropdownMouseUp),scroll:i(o.handleDropdownScroll)})},[o.isLoading?null:k("div",{classMap:p,attrs:{"aria-labelledby":l("button-label"),role:"menu"},key:4,on:v||(n._m3={privateselect:i(o.handleMenuItemPrivateSelect),privateblur:i(o.handlePrivateBlur),privatefocus:i(o.handlePrivateFocus),mouseover:i(o.handleMouseOverOnMenuItem),mouseout:i(o.allowBlur),keydown:i(o.handleKeyOnMenuItem)})},[u("",m,g,d)])]):null])]}var b=t.registerTemplate(k);function w(t){t.preventDefault(),t.stopPropagation()}function _(t,e){s.runActionOnBufferedTypedCharacters(t,e.focusMenuItemWithText)}k.slots=[""],k.stylesheets=[],k.stylesheetToken="kwc-1gqo8bpb7tb",k.legacyStylesheetToken="D:\\new_workspace\\workspace\\kingdee-base-components\\src\\modules\\kd\\buttonMenu-undefined_buttonMenu",u&&k.stylesheets.push.apply(k.stylesheets,u),t.freezeTemplate(k);const{setContext:v,assertContext:f}=s.privateContext,y={loading:o.KingdeeButtonMenu.loading,showMenu:o.KingdeeButtonMenu.showMenu},x="LIGHTNING-MENU-ITEM",M=`${x}, .kdds-dropdown__list .kdds-dropdown__item`,z=["left","center","right","bottom-left","bottom-center","bottom-right"];z.push("auto","auto-right","auto-left");const I="button button-icon";class C extends d{get label(){return this._label}set label(t){this._label=t,this.buttonParts=t?"kd-button":I,s.reflectAttribute(this,"label",this._label)}constructor(){super(),this._tooltipCreated=!1,this.internalDatatableActionsMenu=!1,this.iconSize="medium",this.iconName="kdfont-xiala",this.value="",this.alternativeText=y.showMenu,this.loadingStateAlternativeText=y.loading,this.draftAlternativeText=void 0,this.groupOrder="",this.tabIndex=void 0,this.loading=!1,this.variant="primary",this.color=void 0,this.size="medium",this.type="dropdown",this.buttonDisabled=!1,this._accesskey=null,this._disabled=!1,this._dropdownVisible=!1,this._dropdownOpened=!1,this._title=null,this._isDraft=!1,this._isLoading=!1,this._focusOnIndexDuringRenderedCallback=null,this._tabindex=0,this._order=null,this._iconName="kdfont-xiala",this._label=null,this.buttonParts=I,this._positioning=!1,this._menuAlignment="auto",this._boundingRect={},this._tooltip=null,this._needsFocusAfterRender=!1,this._handleDocumentMousedown=t=>{if(!this._dropdownVisible)return;const e=t.composedPath&&t.composedPath()||t.path||[],o=t=>"object"==typeof Node?t instanceof Node:t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName;let d=!1;if(e&&e.length)d=e.some(t=>{if(!o(t))return!1;try{return t===this||this.template&&this.template.contains&&this.template.contains(t)}catch{return!1}});else{const e=t.target;if(o(e))try{d=this.template&&this.template.contains&&this.template.contains(e)}catch{d=!1}}d||this.toggleMenuVisibility(!1)},v(this)}get computedIconName(){return`${this.iconName}`}connectedCallback(){super.connectedCallback(),this._connected=!0,this.keyboardInterface=this.menuKeyboardInterface(),this.classList.add("kdds-dropdown-trigger","kdds-dropdown-trigger_click"),document.addEventListener("mousedown",this._handleDocumentMousedown,!0),this.isDraft&&this.classList.add("kdds-is-unsaved"),this._boundHandleScroll=this.handleScroll.bind(this),document.addEventListener("scroll",this._boundHandleScroll,!0)}disconnectedCallback(){this._connected=!1,document.removeEventListener("mousedown",this._handleDocumentMousedown,!0),this._tooltip&&this._tooltip.disconnect(),document.removeEventListener("scroll",this._boundHandleScroll,!0)}renderedCallback(){this.initTooltip(),!this._positioning&&this._dropdownVisible&&this.focusOnMenuItemAfterRender()}get iconSvgClass(){return this.label?"kdds-button__icon kdds-button__icon_right":"kdds-button__icon"}get menuAlignment(){return this._menuAlignment}set menuAlignment(t){this._menuAlignment=a.normalizeString(t,{fallbackValue:"left",validValues:z})}get dropdownDisabled(){return this._disabled}set dropdownDisabled(t){this._disabled=a.normalizeBoolean(t)}get title(){return this._title}set title(t){this._title=t}get isDraft(){return this._isDraft}set isDraft(t){this._isDraft=a.normalizeBoolean(t)}get accessKey(){return this._accesskey}set accessKey(t){this._accesskey=t}get tooltip(){return this._tooltip?this._tooltip.value:void 0}set tooltip(t){f(this),this._tooltip?this._tooltip.value=t:t&&l.isCSR&&(this._tooltip=new r.Tooltip(t,{root:document.body,target:()=>this.template.querySelector("kd-button"),type:"toggle"}),this._tooltip.initialize())}focus(){this._connected&&this.focusOnButton()}click(){this._connected&&this.template.querySelector("kd-button").click()}get computedAriaExpanded(){return String(this._dropdownVisible)}initTooltip(){this._tooltip&&!this._tooltip.initialized&&this._tooltip.initialize()}focusOnMenuItemAfterRender(){let t=this._focusOnIndexDuringRenderedCallback||0;const e=this.getMenuItems();"LAST"===t&&(t=e.length-1,t<0&&(t="LAST")),"LAST"!==t&&(t>e.length-1&&e.length>0&&(t=e.length-1),this.focusOnMenuItem(t),this._focusOnIndexDuringRenderedCallback=null)}get computedAccessKey(){return this._accesskey}get computedTitle(){return this._title}get computedType(){return"split"===this.type}get computedAlternativeText(){return this.alternativeText||y.showMenu}get computedLoadingStateAlternativeText(){return this.loadingStateAlternativeText||y.loading}get computedButtonClass(){const t=!this.computedShowDownIcon,e=n.classSet("kdds-button-menu");return this.label?e.add({}):e.add({"kdds-button_icon":!t}),e.add(s.buttonGroupOrderClass(this.groupOrder)).toString()}get computedButtonMenuClass(){const t="split"===this.type?["primary","secondary"]:["primary","secondary","text"],e=["small","medium","large"].includes(this.size)?this.size:"medium",o=t.includes(this.variant)?this.variant:"primary",d=["dropdown","split"].includes(this.type)?this.type:"dropdown";return["kdds-button-menu",`kdds-button-menu-size-${e}`,`kdds-button-menu-variant-${o}`,!0===this.dropdownDisabled||"true"===this.dropdownDisabled?"kdds-button-menu-disabled":"",!0===this.loading||"true"===this.loading?"kdds-button-menu-loading":"",this.color?"kdds-button-menu-custom-color":"",`kdds-button-menu-type-${d}`].filter(Boolean).join(" ")}get computedDropdownClass(){return n.classSet("kdds-dropdown").add({"kdds-dropdown_left":"left"===this.menuAlignment||this.isAutoAlignment(),"kdds-dropdown_center":"center"===this.menuAlignment,"kdds-dropdown_right":"right"===this.menuAlignment,"kdds-dropdown_bottom":"bottom-center"===this.menuAlignment,"kdds-dropdown_bottom kdds-dropdown_right kdds-dropdown_bottom-right":"bottom-right"===this.menuAlignment,"kdds-dropdown_bottom kdds-dropdown_left kdds-dropdown_bottom-left":"bottom-left"===this.menuAlignment,"kdds-p-vertical_large":this.isLoading}).toString()}get computedMainLabel(){return"split"===this.type?this.label:null}get computedMenuLabel(){return"split"===this.type?null:this.label}get computedVariant(){return"split"===this.type?"secondary"===this.variant?"secondary":"primary":"text"===this.variant?"text":"secondary"===this.variant?"secondary":"primary"}handleMenuItemPrivateSelect(t){const{disabled:e}=t.detail;if(this._dropdownVisible&&(e||(this.toggleMenuVisibility(),this.focusOnButton())),!e){!this.dispatchSelect(t)&&t.preventDefault()}}dispatchSelect(t){return this.dispatchEvent(new CustomEvent("select",{cancelable:!0,detail:{value:t.detail.value}}))}handleButtonClick(){this.allowBlur(),this.toggleMenuVisibility(),this.focusOnButton()}handleButtonKeyDown(t){!function(t,e){const o=e.isMenuVisible();switch(t.keyCode){case s.keyCodes.enter:case s.keyCodes.space:w(t),e.toggleMenuVisibility();break;case s.keyCodes.down:case s.keyCodes.up:if(w(t),!o){let o=0;t.keyCode===s.keyCodes.up&&(o="LAST"),e.setNextFocusIndex(o),e.toggleMenuVisibility()}break;case s.keyCodes.escape:case s.keyCodes.tab:o&&(w(t),e.toggleMenuVisibility());break;default:if(!o&&e.showDropdownWhenTypingCharacters)w(t),e.toggleMenuVisibility();else if(!o)break;window.requestAnimationFrame(()=>{_(t,e)})}}(t,this.keyboardInterface)}handleButtonMouseDown(t){0===t.button&&this.cancelBlur()}handleDropdownMouseDown(t){0===t.button&&this.cancelBlur()}handleDropdownMouseUp(){this.allowBlur()}handleDropdownMouseLeave(){this._menuHasFocus||this.close()}handleDropdownScroll(t){t.stopPropagation()}focusOnButton(){this.template.querySelector("kd-button").focus()}focusOnMenuItem(t){if(this._dropdownVisible){const e=this.getMenuItemByIndex(t);this.cancelBlurAndFocusOnMenuItem(e)}}isAutoAlignment(){return this.menuAlignment.startsWith("auto")}startPositioning(){if(!this.isAutoAlignment())return Promise.resolve();this._positioning=!0;const t={horizontal:i.Direction.Left,vertical:i.Direction.Top},e={horizontal:i.Direction.Left,vertical:i.Direction.Bottom};let o,d=!0;"auto-right"===this.menuAlignment&&(t.horizontal=i.Direction.Right,e.horizontal=i.Direction.Right),"auto-right"!==this.menuAlignment&&"auto-left"!==this.menuAlignment||(d=!1,o=!0);const n=this.template.querySelector(".kdds-button-menu"),r=this.template.querySelector(".kdds-dropdown");if(n&&r){const t=n.getBoundingClientRect(),e=r.getBoundingClientRect().height,s=window.innerHeight-t.bottom,i=t.top;s>=e+8?(o=!1,d=!1):i>=e+8?(o=!0,d=!0):o=i>s}return s.animationFrame().then(()=>(this.stopPositioning(),this._autoPosition=i.startPositioning(this,{target:()=>this.template.querySelector(".kdds-button-menu"),element:()=>this.template.querySelector(".kdds-dropdown"),align:t,targetAlign:e,autoFlip:d,autoFlipVertical:o,scrollableParentBound:!0,keepInViewport:!0},!0),this._autoPosition?this._autoPosition.reposition():Promise.reject())).then(()=>{const t=this.template.querySelector(".kdds-dropdown");if(t&&"split"===this.type){const e=parseFloat(t.style.top||0);t.style.top=`${e+4}px`}const e=this._autoPosition;if(e&&e.config&&e.config.align&&e.config.targetAlign){const{align:o,targetAlign:d}=e.config;if("auto"===this.menuAlignment&&"bottom"===o.vertical&&"top"===d.vertical&&("left"===o.horizontal||"right"===o.horizontal))if("split"===this.type){const e=parseFloat(t.style.top||0)-9;t.style.top=`${e}px`}else{const e=parseFloat(t.style.top||0)-20;t.style.top=`${e}px`}}return this._needsFocusAfterRender=!0,s.timeout(0)}).then(()=>{this._positioning=!1,this._needsFocusAfterRender&&(this.focusOnMenuItemAfterRender(),this._needsFocusAfterRender=!1)})}stopPositioning(){this._autoPosition&&(i.stopPositioning(this._autoPosition),this._autoPosition=null),this._positioning=!1}toggleMenuVisibility(){this.dropdownDisabled||(this._dropdownVisible=!this._dropdownVisible,!this._dropdownOpened&&this._dropdownVisible&&(this._dropdownOpened=!0),this._dropdownVisible?(requestAnimationFrame(()=>this.startPositioning()),this.dispatchEvent(new CustomEvent("open")),this._boundingRect=this.getBoundingClientRect(),this.pollBoundingRect()):(this.stopPositioning(),this.dispatchEvent(new CustomEvent("close"))),this.classList.toggle("kdds-is-open"))}handleScroll(){this._dropdownVisible&&this.toggleMenuVisibility()}getChildNodes(t,e){return t?t.matches&&t.matches(e)?[t]:Array.from(t.childNodes).reduce((t,o)=>[...t,...this.getChildNodes(o,e)],[]):[]}getMenuItems(){return this.getChildNodes(this,M)}getMenuItemByIndex(t){return f(this),this.getMenuItems()[t]}findMenuItemIndex(t){return this.getMenuItems().indexOf(t)}findMenuItemFromEventTarget(t){let e=t;const o=this.template.querySelector("[role='menu']");for(;e!==o;){if(e.tagName===x)return e;if(!e.parentNode)return null;e=e.parentNode}return null}handleKeyOnMenuItem(t){const e=this.findMenuItemFromEventTarget(t.target);e&&function(t,e,o){switch(t.keyCode){case s.keyCodes.down:case s.keyCodes.up:{w(t);let d=t.keyCode===s.keyCodes.up?e-1:e+1;const n=o.getTotalMenuItems();d>=n?d=0:d<0&&(d=n-1),o.focusOnIndex(d);break}case s.keyCodes.home:w(t),o.focusOnIndex(0);break;case s.keyCodes.end:w(t),o.focusOnIndex(o.getTotalMenuItems()-1);break;case s.keyCodes.escape:case s.keyCodes.tab:o.isMenuVisible()&&(t.keyCode===s.keyCodes.escape&&w(t),o.toggleMenuVisibility()),o.returnFocus();break;default:_(t,o)}}(t,this.findMenuItemIndex(e),this.keyboardInterface)}handleMouseOverOnMenuItem(t){const e=this.findMenuItemFromEventTarget(t.target);if(e){const t=this.findMenuItemIndex(e);this.focusOnMenuItem(t)}}cancelBlurAndFocusOnMenuItem(t){t&&(this.cancelBlur(),t.focus())}handleFocus(){this.dispatchEvent(new CustomEvent("focus"))}handlePrivateBlur(t){if(t.detail.relatedTarget){this.findMenuItemFromEventTarget(t.detail.relatedTarget)&&this.cancelBlur()}t.stopPropagation(),this.handleBlur(),this._menuHasFocus=!1}handlePrivateFocus(t){t.stopPropagation(),this.allowBlur(),this._menuHasFocus=!0}handleBlur(){this._cancelBlur||(this._dropdownVisible&&this.toggleMenuVisibility(),this.dispatchEvent(new CustomEvent("blur")))}allowBlur(){this._cancelBlur=!1}cancelBlur(){this._cancelBlur=!0}handleMainButtonClick(t){t.stopPropagation(),this.dispatchEvent(new CustomEvent("click",{detail:{source:"main-button"},bubbles:!0,composed:!0}))}menuKeyboardInterface(){const t=this;return{getTotalMenuItems:()=>t.getMenuItems().length,focusOnIndex(e){t.focusOnMenuItem(e)},setNextFocusIndex(e){t._focusOnIndexDuringRenderedCallback=e},returnFocus(){t.focusOnButton()},isMenuVisible:()=>t._dropdownVisible,toggleMenuVisibility(){t.toggleMenuVisibility()},focusMenuItemWithText(e){const o=[...t.getMenuItems()].filter(t=>{const{label:o}=t;return o&&0===o.toLowerCase().indexOf(e)});o.length>0&&t.focusOnMenuItem(o[0])}}}close(){this._dropdownVisible&&this.toggleMenuVisibility()}pollBoundingRect(){this.isAutoAlignment()&&this._dropdownVisible&&setTimeout(()=>{this._connected&&(s.observePosition(this,300,this._boundingRect,()=>{this.close()}),this.pollBoundingRect())},250)}}C.validationOptOut=["class"],C.delegatesFocus=!0,t.registerDecorators(C,{publicProps:{internalDatatableActionsMenu:{config:0},iconSize:{config:0},iconName:{config:0},value:{config:0},alternativeText:{config:0},loadingStateAlternativeText:{config:0},label:{config:3},draftAlternativeText:{config:0},groupOrder:{config:0},tabIndex:{config:0},loading:{config:0},variant:{config:0},color:{config:0},size:{config:0},type:{config:0},buttonDisabled:{config:0},menuAlignment:{config:3},dropdownDisabled:{config:3},title:{config:3},isDraft:{config:3},accessKey:{config:3},tooltip:{config:3}},publicMethods:["focus","click"],track:{_accesskey:1,_disabled:1,_dropdownVisible:1,_dropdownOpened:1,_title:1,_isDraft:1,_isLoading:1,_focusOnIndexDuringRenderedCallback:1,_tabindex:1,_order:1,_iconName:1,_label:1,buttonParts:1},fields:["_tooltipCreated","_positioning","_menuAlignment","_boundingRect","_tooltip","_needsFocusAfterRender","_handleDocumentMousedown"]});const A=t.registerComponent(C,{tmpl:b,sel:"D:\\new_workspace\\workspace\\kingdee-base-components\\src\\modules\\kd\\buttonMenu-",apiVersion:63});module.exports=A;
|