@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
|
-
import{registerTemplate as t,freezeTemplate as o,registerDecorators as e,registerComponent as d}from"@kdcloudjs/kwc";import n from"./button.js";import{c as s}from"../label-CY8Q8HAO.js";import i from"./shadowBaseClassPrivate.js";import{c as r}from"../classSet-DY6Qvt6E.js";import{keyCodes as a,runActionOnBufferedTypedCharacters as l,reflectAttribute as u,privateContext as c,buttonGroupOrderClass as p,animationFrame as h,timeout as m,observePosition as g}from"./utilsPrivate.js";import"../observable-tloG64m6.js";import"../i18n-B98kiI7M.js";import{startPositioning as k,stopPositioning as b,Direction as w}from"./positionLibrary.js";import{Tooltip as _}from"./tooltipLibrary.js";import{n as v,b as f}from"../normalize-C0Pp7GJL.js";import{i as y}from"../ssr-C2pjZzfv.js";import"./icon.js";import"../colorValid-qIPgkqGp.js";import"../empty_html-CjXB8rB4.js";import"../client-Ddi3i8XR.js";import"./iso8601Utils.js";import"./primitiveBubble.js";import"../kddsCommon-CucK_w70.js";import"./ariaObserver.js";var x=[function(t,o,e){var d=t?"["+t+"]":"",n=t?"["+t+"-host]":"";return[o?":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;}",o?":host mark":n+" mark",d," {font-weight: var(--kdds-g-font-weight-bold);background-color: transparent;color: inherit;}",o?":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;}",o?":host(.kdds-dropdown-trigger),\r:host .kdds-dropdown-trigger":n+".kdds-dropdown-trigger,"+n+" .kdds-dropdown-trigger",d," {position: relative;display: inline-block;}",o?":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);}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":host .kdds-dropdown_left":n+" .kdds-dropdown_left",d," {left: 0;right: auto;transform: translateX(0);}",o?":host .kdds-dropdown_right":n+" .kdds-dropdown_right",d," {left: auto;right: 0;transform: translateX(0);}",o?":host .kdds-dropdown_bottom":n+" .kdds-dropdown_bottom",d," {bottom: calc(100% + 4px);}",o?":host .kdds-dropdown_xx-small":n+" .kdds-dropdown_xx-small",d," {min-width: var(--dropdown-size-xx-small);}",o?":host .kdds-dropdown_x-small":n+" .kdds-dropdown_x-small",d," {min-width: var(--_dropdown-size-x-small);}",o?":host .kdds-dropdown_small":n+" .kdds-dropdown_small",d," {min-width: var(--kdds-g-sizing-14);}",o?":host .kdds-dropdown_medium":n+" .kdds-dropdown_medium",d," {min-width: var(--_dropdown-size-medium);}",o?":host .kdds-dropdown_large":n+" .kdds-dropdown_large",d," {min-width: 25rem;}",o?":host .kdds-dropdown_fluid":n+" .kdds-dropdown_fluid",d," {min-width: var(--_dropdown-size-x-small);max-width: 100%;width: 100%;}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":host [dir='rtl']":n+" [dir='rtl']",d," .kdds-dropdown_center",d," {left: auto;right: auto;transform: translateX(calc(50% - (0.875rem / 2)));}",o?":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);}",o?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a",d," {color: var(--kdds-g-color-neutral-base-100);}",o?":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;}",o?":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;}",o?":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;}",o?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a[aria-disabled='true']:hover",d," {background-color: transparent;}",o?":host .kdds-dropdown_actions":n+" .kdds-dropdown_actions",d," a",d," {color: var(--kdds-g-color-accent-2);}",o?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu",d," {top: 0;transform: none;}",o?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu-right",d," {left: 100%;margin-left: var(--kdds-g-spacing-1);}",o?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu-left",d," {left: 100%;margin-left: var(--kdds-g-spacing-1);}",o?":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);}",o?":host .kdds-p-vertical_large":n+" .kdds-p-vertical_large",d," {padding: var(--kdds-g-spacing-5);}",o?":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);}",o?":host .kdds-button-menu-type-split":n+" .kdds-button-menu-type-split",d," {display: inline-flex;}",o?":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}",o?":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}",o?":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}",o?":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}",o?":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}",o?":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}",o?":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;}",o?":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;}",o?":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);}",o?":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);}",o?":host .kdds-dropdown__list":n+" .kdds-dropdown__list",d," {max-height: var(--kdds-button-menu-dropdown-max-height, auto);overflow-y: auto;}",o?":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}",o?":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);}",o?":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 M={"kdds-button-menu-main":!0},z={part:"overlay dropdown"},I={"kdds-dropdown__list":!0,"kdds-dropdown_length-with-icon-10":!0},A={key:5},B=[];function D(t,o,e,d){const{ncls:s,b:i,c:r,ti:a,gid:l,s:u,h:c}=t,{_m0:p,_m1:h,_m2:m,_m3:g}=d;return[c("div",{className:s(o.computedButtonMenuClass),key:0},[o.computedType?r("kd-button",n,{classMap:M,props:{disabled:o.buttonDisabled,variant:o.computedVariant,size:o.size,label:o.computedMainLabel,loading:o.loading},key:1,on:p||(d._m0={click:i(o.handleMainButtonClick)})}):null,r("kd-button",n,{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:h||(d._m1={click:i(o.handleButtonClick),keydown:i(o.handleButtonKeyDown),blur:i(o.handleBlur),focus:i(o.handleFocus),mousedown:i(o.handleButtonMouseDown)})}),o._dropdownOpened?c("div",{className:s(o.computedDropdownClass),attrs:z,key:3,on:m||(d._m2={mousedown:i(o.handleDropdownMouseDown),mouseup:i(o.handleDropdownMouseUp),scroll:i(o.handleDropdownScroll)})},[o.isLoading?null:c("div",{classMap:I,attrs:{"aria-labelledby":l("button-label"),role:"menu"},key:4,on:g||(d._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("",A,B,e)])]):null])]}var C=t(D);function F(t){t.preventDefault(),t.stopPropagation()}function O(t,o){l(t,o.focusMenuItemWithText)}D.slots=[""],D.stylesheets=[],D.stylesheetToken="kwc-1gqo8bpb7tb",D.legacyStylesheetToken="D:\\new_workspace\\workspace\\kingdee-base-components\\src\\modules\\kd\\buttonMenu-undefined_buttonMenu",x&&D.stylesheets.push.apply(D.stylesheets,x),o(D);const{setContext:V,assertContext:T}=c,S={loading:s.loading,showMenu:s.showMenu},P="LIGHTNING-MENU-ITEM",L=`${P}, .kdds-dropdown__list .kdds-dropdown__item`,N=["left","center","right","bottom-left","bottom-center","bottom-right"];N.push("auto","auto-right","auto-left");const j="button button-icon";class R extends i{get label(){return this._label}set label(t){this._label=t,this.buttonParts=t?"kd-button":j,u(this,"label",this._label)}constructor(){super(),this._tooltipCreated=!1,this.internalDatatableActionsMenu=!1,this.iconSize="medium",this.iconName="kdfont-xiala",this.value="",this.alternativeText=S.showMenu,this.loadingStateAlternativeText=S.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=j,this._positioning=!1,this._menuAlignment="auto",this._boundingRect={},this._tooltip=null,this._needsFocusAfterRender=!1,this._handleDocumentMousedown=t=>{if(!this._dropdownVisible)return;const o=t.composedPath&&t.composedPath()||t.path||[],e=t=>"object"==typeof Node?t instanceof Node:t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName;let d=!1;if(o&&o.length)d=o.some(t=>{if(!e(t))return!1;try{return t===this||this.template&&this.template.contains&&this.template.contains(t)}catch{return!1}});else{const o=t.target;if(e(o))try{d=this.template&&this.template.contains&&this.template.contains(o)}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=v(t,{fallbackValue:"left",validValues:N})}get dropdownDisabled(){return this._disabled}set dropdownDisabled(t){this._disabled=f(t)}get title(){return this._title}set title(t){this._title=t}get isDraft(){return this._isDraft}set isDraft(t){this._isDraft=f(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){T(this),this._tooltip?this._tooltip.value=t:t&&y&&(this._tooltip=new _(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 o=this.getMenuItems();"LAST"===t&&(t=o.length-1,t<0&&(t="LAST")),"LAST"!==t&&(t>o.length-1&&o.length>0&&(t=o.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||S.showMenu}get computedLoadingStateAlternativeText(){return this.loadingStateAlternativeText||S.loading}get computedButtonClass(){const t=!this.computedShowDownIcon,o=r("kdds-button-menu");return this.label?o.add({}):o.add({"kdds-button_icon":!t}),o.add(p(this.groupOrder)).toString()}get computedButtonMenuClass(){const t="split"===this.type?["primary","secondary"]:["primary","secondary","text"],o=["small","medium","large"].includes(this.size)?this.size:"medium",e=t.includes(this.variant)?this.variant:"primary",d=["dropdown","split"].includes(this.type)?this.type:"dropdown";return["kdds-button-menu",`kdds-button-menu-size-${o}`,`kdds-button-menu-variant-${e}`,!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 r("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:o}=t.detail;if(this._dropdownVisible&&(o||(this.toggleMenuVisibility(),this.focusOnButton())),!o){!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,o){const e=o.isMenuVisible();switch(t.keyCode){case a.enter:case a.space:F(t),o.toggleMenuVisibility();break;case a.down:case a.up:if(F(t),!e){let e=0;t.keyCode===a.up&&(e="LAST"),o.setNextFocusIndex(e),o.toggleMenuVisibility()}break;case a.escape:case a.tab:e&&(F(t),o.toggleMenuVisibility());break;default:if(!e&&o.showDropdownWhenTypingCharacters)F(t),o.toggleMenuVisibility();else if(!e)break;window.requestAnimationFrame(()=>{O(t,o)})}}(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 o=this.getMenuItemByIndex(t);this.cancelBlurAndFocusOnMenuItem(o)}}isAutoAlignment(){return this.menuAlignment.startsWith("auto")}startPositioning(){if(!this.isAutoAlignment())return Promise.resolve();this._positioning=!0;const t={horizontal:w.Left,vertical:w.Top},o={horizontal:w.Left,vertical:w.Bottom};let e,d=!0;"auto-right"===this.menuAlignment&&(t.horizontal=w.Right,o.horizontal=w.Right),"auto-right"!==this.menuAlignment&&"auto-left"!==this.menuAlignment||(d=!1,e=!0);const n=this.template.querySelector(".kdds-button-menu"),s=this.template.querySelector(".kdds-dropdown");if(n&&s){const t=n.getBoundingClientRect(),o=s.getBoundingClientRect().height,i=window.innerHeight-t.bottom,r=t.top;i>=o+8?(e=!1,d=!1):r>=o+8?(e=!0,d=!0):e=r>i}return h().then(()=>(this.stopPositioning(),this._autoPosition=k(this,{target:()=>this.template.querySelector(".kdds-button-menu"),element:()=>this.template.querySelector(".kdds-dropdown"),align:t,targetAlign:o,autoFlip:d,autoFlipVertical:e,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 o=parseFloat(t.style.top||0);"small"===this.size?t.style.top=`${o+8}px`:"medium"===this.size?t.style.top=`${o+12}px`:"large"===this.size&&(t.style.top=`${o+16}px`)}if(t&&"split"===this.type){const o=parseFloat(t.style.top||0);t.style.top=`${o+4}px`}const o=this._autoPosition;if(o&&o.config&&o.config.align&&o.config.targetAlign){const{align:e,targetAlign:d}=o.config;if("auto"===this.menuAlignment&&"bottom"===e.vertical&&"top"===d.vertical&&("left"===e.horizontal||"right"===e.horizontal))if("split"===this.type){const o=parseFloat(t.style.top||0)-9;t.style.top=`${o}px`}else{const o=parseFloat(t.style.top||0)-20;t.style.top=`${o}px`}}return this._needsFocusAfterRender=!0,m(0)}).then(()=>{this._positioning=!1,this._needsFocusAfterRender&&(this.focusOnMenuItemAfterRender(),this._needsFocusAfterRender=!1)})}stopPositioning(){this._autoPosition&&(b(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,o){return t?t.matches&&t.matches(o)?[t]:Array.from(t.childNodes).reduce((t,e)=>[...t,...this.getChildNodes(e,o)],[]):[]}getMenuItems(){return this.getChildNodes(this,L)}getMenuItemByIndex(t){return T(this),this.getMenuItems()[t]}findMenuItemIndex(t){return this.getMenuItems().indexOf(t)}findMenuItemFromEventTarget(t){let o=t;const e=this.template.querySelector("[role='menu']");for(;o!==e;){if(o.tagName===P)return o;if(!o.parentNode)return null;o=o.parentNode}return null}handleKeyOnMenuItem(t){const o=this.findMenuItemFromEventTarget(t.target);o&&function(t,o,e){switch(t.keyCode){case a.down:case a.up:{F(t);let d=t.keyCode===a.up?o-1:o+1;const n=e.getTotalMenuItems();d>=n?d=0:d<0&&(d=n-1),e.focusOnIndex(d);break}case a.home:F(t),e.focusOnIndex(0);break;case a.end:F(t),e.focusOnIndex(e.getTotalMenuItems()-1);break;case a.escape:case a.tab:e.isMenuVisible()&&(t.keyCode===a.escape&&F(t),e.toggleMenuVisibility()),e.returnFocus();break;default:O(t,e)}}(t,this.findMenuItemIndex(o),this.keyboardInterface)}handleMouseOverOnMenuItem(t){const o=this.findMenuItemFromEventTarget(t.target);if(o){const t=this.findMenuItemIndex(o);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(o){t.focusOnMenuItem(o)},setNextFocusIndex(o){t._focusOnIndexDuringRenderedCallback=o},returnFocus(){t.focusOnButton()},isMenuVisible:()=>t._dropdownVisible,toggleMenuVisibility(){t.toggleMenuVisibility()},focusMenuItemWithText(o){const e=[...t.getMenuItems()].filter(t=>{const{label:e}=t;return e&&0===e.toLowerCase().indexOf(o)});e.length>0&&t.focusOnMenuItem(e[0])}}}close(){this._dropdownVisible&&this.toggleMenuVisibility()}pollBoundingRect(){this.isAutoAlignment()&&this._dropdownVisible&&setTimeout(()=>{this._connected&&(g(this,300,this._boundingRect,()=>{this.close()}),this.pollBoundingRect())},250)}}R.validationOptOut=["class"],R.delegatesFocus=!0,e(R,{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 E=d(R,{tmpl:C,sel:"D:\\new_workspace\\workspace\\kingdee-base-components\\src\\modules\\kd\\buttonMenu-",apiVersion:63});export{E as default};
|
|
1
|
+
import{registerTemplate as t,freezeTemplate as o,registerDecorators as e,registerComponent as d}from"@kdcloudjs/kwc";import n from"./button.js";import{c as s}from"../label-CY8Q8HAO.js";import i from"./shadowBaseClassPrivate.js";import{c as r}from"../classSet-DY6Qvt6E.js";import{keyCodes as a,runActionOnBufferedTypedCharacters as l,reflectAttribute as u,privateContext as c,buttonGroupOrderClass as p,animationFrame as h,timeout as m,observePosition as g}from"./utilsPrivate.js";import"../observable-tloG64m6.js";import"../i18n-B98kiI7M.js";import{startPositioning as k,stopPositioning as b,Direction as w}from"./positionLibrary.js";import{Tooltip as _}from"./tooltipLibrary.js";import{n as v,b as f}from"../normalize-C0Pp7GJL.js";import{i as y}from"../ssr-C2pjZzfv.js";import"./icon.js";import"../colorValid-qIPgkqGp.js";import"../empty_html-CjXB8rB4.js";import"../client-Ddi3i8XR.js";import"./iso8601Utils.js";import"./primitiveBubble.js";import"../kddsCommon-CucK_w70.js";import"./ariaObserver.js";var x=[function(t,o,e){var d=t?"["+t+"]":"",n=t?"["+t+"-host]":"";return[o?":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;}",o?":host mark":n+" mark",d," {font-weight: var(--kdds-g-font-weight-bold);background-color: transparent;color: inherit;}",o?":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;}",o?":host(.kdds-dropdown-trigger),\r:host .kdds-dropdown-trigger":n+".kdds-dropdown-trigger,"+n+" .kdds-dropdown-trigger",d," {position: relative;display: inline-block;}",o?":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);}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":host .kdds-dropdown_left":n+" .kdds-dropdown_left",d," {left: 0;right: auto;transform: translateX(0);}",o?":host .kdds-dropdown_right":n+" .kdds-dropdown_right",d," {left: auto;right: 0;transform: translateX(0);}",o?":host .kdds-dropdown_bottom":n+" .kdds-dropdown_bottom",d," {bottom: calc(100% + 4px);}",o?":host .kdds-dropdown_xx-small":n+" .kdds-dropdown_xx-small",d," {min-width: var(--dropdown-size-xx-small);}",o?":host .kdds-dropdown_x-small":n+" .kdds-dropdown_x-small",d," {min-width: var(--_dropdown-size-x-small);}",o?":host .kdds-dropdown_small":n+" .kdds-dropdown_small",d," {min-width: var(--kdds-g-sizing-14);}",o?":host .kdds-dropdown_medium":n+" .kdds-dropdown_medium",d," {min-width: var(--_dropdown-size-medium);}",o?":host .kdds-dropdown_large":n+" .kdds-dropdown_large",d," {min-width: 25rem;}",o?":host .kdds-dropdown_fluid":n+" .kdds-dropdown_fluid",d," {min-width: var(--_dropdown-size-x-small);max-width: 100%;width: 100%;}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":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;}",o?":host [dir='rtl']":n+" [dir='rtl']",d," .kdds-dropdown_center",d," {left: auto;right: auto;transform: translateX(calc(50% - (0.875rem / 2)));}",o?":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);}",o?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a",d," {color: var(--kdds-g-color-neutral-base-100);}",o?":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;}",o?":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;}",o?":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;}",o?":host .kdds-dropdown_inverse":n+" .kdds-dropdown_inverse",d," .kdds-dropdown__item",d,">a[aria-disabled='true']:hover",d," {background-color: transparent;}",o?":host .kdds-dropdown_actions":n+" .kdds-dropdown_actions",d," a",d," {color: var(--kdds-g-color-accent-2);}",o?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu",d," {top: 0;transform: none;}",o?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu-right",d," {left: 100%;margin-left: var(--kdds-g-spacing-1);}",o?":host .kdds-has-submenu":n+" .kdds-has-submenu",d," .kdds-dropdown_submenu-left",d," {left: 100%;margin-left: var(--kdds-g-spacing-1);}",o?":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);}",o?":host .kdds-p-vertical_large":n+" .kdds-p-vertical_large",d," {padding: var(--kdds-g-spacing-5);}",o?":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);}",o?":host .kdds-button-menu-type-split":n+" .kdds-button-menu-type-split",d," {display: inline-flex;}",o?":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}",o?":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}",o?":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}",o?":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}",o?":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}",o?":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}",o?":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;}",o?":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;}",o?":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);}",o?":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);}",o?":host .kdds-dropdown__list":n+" .kdds-dropdown__list",d," {max-height: var(--kdds-button-menu-dropdown-max-height, auto);overflow-y: auto;}",o?":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}",o?":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);}",o?":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 M={"kdds-button-menu-main":!0},z={part:"overlay dropdown"},I={"kdds-dropdown__list":!0,"kdds-dropdown_length-with-icon-10":!0},A={key:5},B=[];function D(t,o,e,d){const{ncls:s,b:i,c:r,ti:a,gid:l,s:u,h:c}=t,{_m0:p,_m1:h,_m2:m,_m3:g}=d;return[c("div",{className:s(o.computedButtonMenuClass),key:0},[o.computedType?r("kd-button",n,{classMap:M,props:{disabled:o.buttonDisabled,variant:o.computedVariant,size:o.size,label:o.computedMainLabel,loading:o.loading},key:1,on:p||(d._m0={click:i(o.handleMainButtonClick)})}):null,r("kd-button",n,{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:h||(d._m1={click:i(o.handleButtonClick),keydown:i(o.handleButtonKeyDown),blur:i(o.handleBlur),focus:i(o.handleFocus),mousedown:i(o.handleButtonMouseDown)})}),o._dropdownOpened?c("div",{className:s(o.computedDropdownClass),attrs:z,key:3,on:m||(d._m2={mousedown:i(o.handleDropdownMouseDown),mouseup:i(o.handleDropdownMouseUp),scroll:i(o.handleDropdownScroll)})},[o.isLoading?null:c("div",{classMap:I,attrs:{"aria-labelledby":l("button-label"),role:"menu"},key:4,on:g||(d._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("",A,B,e)])]):null])]}var C=t(D);function F(t){t.preventDefault(),t.stopPropagation()}function O(t,o){l(t,o.focusMenuItemWithText)}D.slots=[""],D.stylesheets=[],D.stylesheetToken="kwc-1gqo8bpb7tb",D.legacyStylesheetToken="D:\\new_workspace\\workspace\\kingdee-base-components\\src\\modules\\kd\\buttonMenu-undefined_buttonMenu",x&&D.stylesheets.push.apply(D.stylesheets,x),o(D);const{setContext:V,assertContext:T}=c,S={loading:s.loading,showMenu:s.showMenu},P="LIGHTNING-MENU-ITEM",L=`${P}, .kdds-dropdown__list .kdds-dropdown__item`,N=["left","center","right","bottom-left","bottom-center","bottom-right"];N.push("auto","auto-right","auto-left");const j="button button-icon";class R extends i{get label(){return this._label}set label(t){this._label=t,this.buttonParts=t?"kd-button":j,u(this,"label",this._label)}constructor(){super(),this._tooltipCreated=!1,this.internalDatatableActionsMenu=!1,this.iconSize="medium",this.iconName="kdfont-xiala",this.value="",this.alternativeText=S.showMenu,this.loadingStateAlternativeText=S.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=j,this._positioning=!1,this._menuAlignment="auto",this._boundingRect={},this._tooltip=null,this._needsFocusAfterRender=!1,this._handleDocumentMousedown=t=>{if(!this._dropdownVisible)return;const o=t.composedPath&&t.composedPath()||t.path||[],e=t=>"object"==typeof Node?t instanceof Node:t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName;let d=!1;if(o&&o.length)d=o.some(t=>{if(!e(t))return!1;try{return t===this||this.template&&this.template.contains&&this.template.contains(t)}catch{return!1}});else{const o=t.target;if(e(o))try{d=this.template&&this.template.contains&&this.template.contains(o)}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=v(t,{fallbackValue:"left",validValues:N})}get dropdownDisabled(){return this._disabled}set dropdownDisabled(t){this._disabled=f(t)}get title(){return this._title}set title(t){this._title=t}get isDraft(){return this._isDraft}set isDraft(t){this._isDraft=f(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){T(this),this._tooltip?this._tooltip.value=t:t&&y&&(this._tooltip=new _(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 o=this.getMenuItems();"LAST"===t&&(t=o.length-1,t<0&&(t="LAST")),"LAST"!==t&&(t>o.length-1&&o.length>0&&(t=o.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||S.showMenu}get computedLoadingStateAlternativeText(){return this.loadingStateAlternativeText||S.loading}get computedButtonClass(){const t=!this.computedShowDownIcon,o=r("kdds-button-menu");return this.label?o.add({}):o.add({"kdds-button_icon":!t}),o.add(p(this.groupOrder)).toString()}get computedButtonMenuClass(){const t="split"===this.type?["primary","secondary"]:["primary","secondary","text"],o=["small","medium","large"].includes(this.size)?this.size:"medium",e=t.includes(this.variant)?this.variant:"primary",d=["dropdown","split"].includes(this.type)?this.type:"dropdown";return["kdds-button-menu",`kdds-button-menu-size-${o}`,`kdds-button-menu-variant-${e}`,!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 r("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:o}=t.detail;if(this._dropdownVisible&&(o||(this.toggleMenuVisibility(),this.focusOnButton())),!o){!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,o){const e=o.isMenuVisible();switch(t.keyCode){case a.enter:case a.space:F(t),o.toggleMenuVisibility();break;case a.down:case a.up:if(F(t),!e){let e=0;t.keyCode===a.up&&(e="LAST"),o.setNextFocusIndex(e),o.toggleMenuVisibility()}break;case a.escape:case a.tab:e&&(F(t),o.toggleMenuVisibility());break;default:if(!e&&o.showDropdownWhenTypingCharacters)F(t),o.toggleMenuVisibility();else if(!e)break;window.requestAnimationFrame(()=>{O(t,o)})}}(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 o=this.getMenuItemByIndex(t);this.cancelBlurAndFocusOnMenuItem(o)}}isAutoAlignment(){return this.menuAlignment.startsWith("auto")}startPositioning(){if(!this.isAutoAlignment())return Promise.resolve();this._positioning=!0;const t={horizontal:w.Left,vertical:w.Top},o={horizontal:w.Left,vertical:w.Bottom};let e,d=!0;"auto-right"===this.menuAlignment&&(t.horizontal=w.Right,o.horizontal=w.Right),"auto-right"!==this.menuAlignment&&"auto-left"!==this.menuAlignment||(d=!1,e=!0);const n=this.template.querySelector(".kdds-button-menu"),s=this.template.querySelector(".kdds-dropdown");if(n&&s){const t=n.getBoundingClientRect(),o=s.getBoundingClientRect().height,i=window.innerHeight-t.bottom,r=t.top;i>=o+8?(e=!1,d=!1):r>=o+8?(e=!0,d=!0):e=r>i}return h().then(()=>(this.stopPositioning(),this._autoPosition=k(this,{target:()=>this.template.querySelector(".kdds-button-menu"),element:()=>this.template.querySelector(".kdds-dropdown"),align:t,targetAlign:o,autoFlip:d,autoFlipVertical:e,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 o=parseFloat(t.style.top||0);t.style.top=`${o+4}px`}const o=this._autoPosition;if(o&&o.config&&o.config.align&&o.config.targetAlign){const{align:e,targetAlign:d}=o.config;if("auto"===this.menuAlignment&&"bottom"===e.vertical&&"top"===d.vertical&&("left"===e.horizontal||"right"===e.horizontal))if("split"===this.type){const o=parseFloat(t.style.top||0)-9;t.style.top=`${o}px`}else{const o=parseFloat(t.style.top||0)-20;t.style.top=`${o}px`}}return this._needsFocusAfterRender=!0,m(0)}).then(()=>{this._positioning=!1,this._needsFocusAfterRender&&(this.focusOnMenuItemAfterRender(),this._needsFocusAfterRender=!1)})}stopPositioning(){this._autoPosition&&(b(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,o){return t?t.matches&&t.matches(o)?[t]:Array.from(t.childNodes).reduce((t,e)=>[...t,...this.getChildNodes(e,o)],[]):[]}getMenuItems(){return this.getChildNodes(this,L)}getMenuItemByIndex(t){return T(this),this.getMenuItems()[t]}findMenuItemIndex(t){return this.getMenuItems().indexOf(t)}findMenuItemFromEventTarget(t){let o=t;const e=this.template.querySelector("[role='menu']");for(;o!==e;){if(o.tagName===P)return o;if(!o.parentNode)return null;o=o.parentNode}return null}handleKeyOnMenuItem(t){const o=this.findMenuItemFromEventTarget(t.target);o&&function(t,o,e){switch(t.keyCode){case a.down:case a.up:{F(t);let d=t.keyCode===a.up?o-1:o+1;const n=e.getTotalMenuItems();d>=n?d=0:d<0&&(d=n-1),e.focusOnIndex(d);break}case a.home:F(t),e.focusOnIndex(0);break;case a.end:F(t),e.focusOnIndex(e.getTotalMenuItems()-1);break;case a.escape:case a.tab:e.isMenuVisible()&&(t.keyCode===a.escape&&F(t),e.toggleMenuVisibility()),e.returnFocus();break;default:O(t,e)}}(t,this.findMenuItemIndex(o),this.keyboardInterface)}handleMouseOverOnMenuItem(t){const o=this.findMenuItemFromEventTarget(t.target);if(o){const t=this.findMenuItemIndex(o);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(o){t.focusOnMenuItem(o)},setNextFocusIndex(o){t._focusOnIndexDuringRenderedCallback=o},returnFocus(){t.focusOnButton()},isMenuVisible:()=>t._dropdownVisible,toggleMenuVisibility(){t.toggleMenuVisibility()},focusMenuItemWithText(o){const e=[...t.getMenuItems()].filter(t=>{const{label:e}=t;return e&&0===e.toLowerCase().indexOf(o)});e.length>0&&t.focusOnMenuItem(e[0])}}}close(){this._dropdownVisible&&this.toggleMenuVisibility()}pollBoundingRect(){this.isAutoAlignment()&&this._dropdownVisible&&setTimeout(()=>{this._connected&&(g(this,300,this._boundingRect,()=>{this.close()}),this.pollBoundingRect())},250)}}R.validationOptOut=["class"],R.delegatesFocus=!0,e(R,{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 E=d(R,{tmpl:C,sel:"D:\\new_workspace\\workspace\\kingdee-base-components\\src\\modules\\kd\\buttonMenu-",apiVersion:63});export{E as default};
|