aha-components 1.6.1 → 1.6.2
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/Pagination.esm.js +1 -1
- package/dist/Pagination.esm.js.map +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/Pagination.js.map +1 -1
- package/dist/Select.esm.js +1 -1
- package/dist/Select.esm.js.map +1 -1
- package/dist/Select.js +1 -1
- package/dist/Select.js.map +1 -1
- package/dist/Table.esm.js +1 -1
- package/dist/Table.esm.js.map +1 -1
- package/dist/Table.js +1 -1
- package/dist/Table.js.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/Select.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as n,Fragment as t}from"react/jsx-runtime";import o,{createContext as r,useContext as i,useState as l,useRef as a,useCallback as s,useMemo as d,useEffect as c}from"react";import{createPortal as u}from"react-dom";var p=function(){return p=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},p.apply(this,arguments)};function f(e,n,t){if(t||2===arguments.length)for(var o,r=0,i=n.length;r<i;r++)!o&&r in n||(o||(o=Array.prototype.slice.call(n,0,r)),o[r]=n[r]);return e.concat(o||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var h={primaryColor:"#FB6011"},v=r(h),g=function(r){var g,x=r.value,m=r.defaultValue,w=r.options,y=void 0===w?[]:w,b=r.mode,F=r.disabled,k=void 0!==F&&F,S=r.error,C=void 0!==S&&S,A=r.placeholder,L=void 0===A?"Please select":A,B=r.size,z=void 0===B?"medium":B,E=r.showSearch,W=void 0!==E&&E,D=r.filterOption,H=void 0===D||D,T=r.allowClear,I=void 0!==T&&T,M=r.onChange,O=r.onSelect,N=r.onDeselect,j=r.onSearch,R=r.onFocus,P=r.onBlur,Y=r.onDropdownVisibleChange,V=r.className,q=void 0===V?"":V,U=r.style,X=r.dropdownClassName,G=void 0===X?"":X,J=r.dropdownStyle,K=r.defaultOpen,Q=void 0!==K&&K,Z=r.open,$=r.maxTagCount,_=r.tagRender,ee=r.optionRender,ne=(i(v)||h).primaryColor,te=void 0===ne?"#FB6011":ne,oe=l(void 0!==m?m:b?[]:void 0),re=oe[0],ie=oe[1],le=l(Q),ae=le[0],se=le[1],de=l(""),ce=de[0],ue=de[1],pe=l(-1),fe=pe[0],he=pe[1],ve=a(null),ge=a(null),xe=a(null),me=l(null),we=me[0],ye=me[1],be=void 0!==x,Fe=void 0!==Z,ke=be?x:re,Se=Fe?Z:ae,Ce="multiple"===b||"tags"===b,Ae=s(function(){if(!ke)return[];var e=Array.isArray(ke)?ke:[ke];return y.filter(function(n){return e.includes(n.value)})},[ke,y]),Le=s(function(){return W&&ce?!1===H?y:"function"==typeof H?y.filter(function(e){return H(ce,e)}):y.filter(function(e){var n=String(e.label||"").toLowerCase(),t=ce.toLowerCase();return n.includes(t)}):y},[y,ce,W,H]),Be=d(function(){return Le()},[Le]);c(function(){if(Se&&ve.current){var e=function(){if(ve.current){var e=ve.current.getBoundingClientRect();ye({top:e.bottom+window.scrollY+4,left:e.left+window.scrollX,width:e.width})}};return e(),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),function(){window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}}ye(null)},[Se]),c(function(){var e=function(e){var n=e.target;ve.current&&!ve.current.contains(n)&&xe.current&&!xe.current.contains(n)&&(Fe||se(!1),null==Y||Y(!1),ue(""))};if(Se)return document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,!0),function(){document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",e,!0)}},[Se,Fe,Y]),c(function(){if(Se){var e=function(e){var n;if("ArrowDown"===e.key)e.preventDefault(),he(function(e){return e<Be.length-1?e+1:e});else if("ArrowUp"===e.key)e.preventDefault(),he(function(e){return e>0?e-1:0});else if("Enter"===e.key&&fe>=0){e.preventDefault();var t=Be[fe];t&&!t.disabled&&ze(t)}else"Escape"===e.key&&(e.preventDefault(),Fe||se(!1),null==Y||Y(!1),null===(n=ve.current)||void 0===n||n.focus())};return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}},[Se,Be,fe,Fe,Y]),c(function(){if(fe>=0&&xe.current){var e=xe.current.querySelectorAll(".aha-select-option")[fe];e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})}},[fe]);var ze=s(function(e){var n;if(!e.disabled)if(Ce){var t,o=Array.isArray(ke)?ke:[];o.includes(e.value)?(t=o.filter(function(n){return n!==e.value}),null==N||N(e.value,e)):(t=f(f([],o,!0),[e.value],!1),null==O||O(e.value,e)),be||ie(t);var r=y.filter(function(e){return t.includes(e.value)});null==M||M(t,r)}else be||ie(e.value),null==M||M(e.value,e),null==O||O(e.value,e),Fe||se(!1),null==Y||Y(!1),ue(""),null===(n=ve.current)||void 0===n||n.focus()},[Ce,ke,be,Fe,y,M,O,N,Y]),Ee=s(function(e,n){if(e.stopPropagation(),Ce&&Array.isArray(ke)){var t=ke.filter(function(e){return e!==n}),o=y.find(function(e){return e.value===n});be||ie(t),null==M||M(t,Ae()),null==N||N(n,o)}},[Ce,ke,be,y,M,N,Ae]),We=function(e){e.stopPropagation();var n=Ce?[]:void 0;be||ie(n),null==M||M(n,[]),ue("")},De={small:{height:"32px",paddingTop:"3px",paddingBottom:"3px",fontSize:"16px",lineHeight:"24px"},mediumSmall:{height:"36px",paddingTop:"5px",paddingBottom:"5px",fontSize:"16px",lineHeight:"24px"},medium:{height:"40px",paddingTop:"7px",paddingBottom:"7px",fontSize:"16px",lineHeight:"24px"},large:{height:"48px",paddingTop:"11px",paddingBottom:"11px",fontSize:"16px",lineHeight:"24px"}},He=d(function(){return Ae()},[Ae]),Te=d(function(){return I&&ke&&!k},[I,ke,k]),Ie=d(function(){return Ce?Array.isArray(ke)&&ke.length>0:null!=ke&&""!==ke},[Ce,ke]),Me=d(function(){if(!Ce||!Array.isArray(ke)||0===ke.length)return null;var t="responsive"===$?He.slice(0,2):$?He.slice(0,$):He,r=$&&He.length>t.length?He.length-t.length:0;return e("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"4px",flex:1,minWidth:0},children:[t.map(function(t){var r={label:t.label,value:t.value,closable:!k,onClose:function(){return Ee({},t.value)}};return _?n(o.Fragment,{children:_(r)},t.value):e("span",{style:{display:"inline-flex",alignItems:"center",gap:"4px",padding:"2px 8px",backgroundColor:"#F5F5F4",borderRadius:"4px",fontSize:"12px",lineHeight:"18px",color:"#101828",fontFamily:"DM Sans, sans-serif",maxWidth:"100%"},children:[n("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.label}),!k&&n("span",{onClick:function(e){return Ee(e,t.value)},style:{cursor:"pointer",display:"flex",alignItems:"center",color:"#78716C",marginLeft:"4px"},children:n("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n("path",{d:"M9 3L3 9M3 3L9 9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]},t.value)}),r>0&&e("span",{style:{fontSize:"12px",lineHeight:"18px",color:"#78716C",fontFamily:"DM Sans, sans-serif"},children:["+",r]})]})},[Ce,ke,He,$,k,_]);return e(t,{children:[n("style",{children:"\n @keyframes dropdownFadeIn {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n "}),e("div",{ref:ve,className:"aha-select ".concat(q),style:p({position:"relative",display:"inline-flex",alignItems:"center",width:"100%",minWidth:"120px",boxSizing:"border-box",fontFamily:"DM Sans, sans-serif",borderRadius:"8px",border:"1px solid ".concat(C?"#F04438":Se?te:"#D7D3D0"),backgroundColor:k?"#FAFAF9":"#FFFFFF",cursor:k?"not-allowed":"pointer",transition:"all 0.2s",paddingLeft:"12px",paddingRight:"36px",paddingTop:De[z].paddingTop,paddingBottom:De[z].paddingBottom,fontSize:De[z].fontSize,lineHeight:De[z].lineHeight,fontWeight:400,WebkitTapHighlightColor:"transparent",WebkitTouchCallout:"none",touchAction:"manipulation",userSelect:"none"},U),onClick:function(){if(!k){var e=!Se;Fe||se(e),null==Y||Y(e),e&&W?setTimeout(function(){var e;null===(e=ge.current)||void 0===e||e.focus()},0):ue("")}},onFocus:function(e){null==R||R(e)},onBlur:function(e){null==P||P(e)},onTouchStart:function(e){k||(e.currentTarget.style.opacity="0.8")},onTouchEnd:function(e){e.currentTarget.style.opacity="1"},tabIndex:k?-1:0,children:[n("div",{style:{display:"flex",alignItems:"center",flex:1,minWidth:0,gap:"8px"},children:Ce?Me||n("span",L?{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"#79716B",fontSize:"16px",lineHeight:"24px",fontWeight:400},children:L}:{style:{flex:1,minHeight:"24px"}}):W&&Se?n("input",{ref:ge,type:"text",value:ce,onChange:function(e){var n=e.target.value;ue(n),null==j||j(n),he(-1)},onClick:function(e){return e.stopPropagation()},onFocus:function(e){return e.stopPropagation()},style:{flex:1,border:"none",outline:"none",background:"transparent",fontSize:"16px",lineHeight:"24px",fontWeight:400,color:k?"#98A2B3":"#1C1917",fontFamily:"DM Sans, sans-serif",minWidth:0,WebkitAppearance:"none",appearance:"none"},placeholder:Ie?void 0:L,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1}):n("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:Ie?k?"#98A2B3":"#1C1917":"#79716B",fontSize:"16px",lineHeight:"24px",fontWeight:400,minHeight:"24px",display:"inline-block"},children:Ie?(null===(g=He[0])||void 0===g?void 0:g.label)||ke:L||" "})}),e("div",{style:{position:"absolute",right:"12px",display:"flex",alignItems:"center",gap:"4px"},children:[Te&&n(function(){return n("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",onClick:We,style:{cursor:"pointer",flexShrink:0,color:"#78716C"},children:n("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})},{}),n(function(e){var t=e.isOpen;return n("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{transform:t?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease-in-out",flexShrink:0},children:n("path",{d:"M4 6L8 10L12 6",stroke:"#78716C",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})},{isOpen:Se})]})]}),Se&&we&&u(n("div",{ref:xe,className:"aha-select-dropdown ".concat(G),style:p({position:"absolute",top:"".concat(we.top,"px"),left:"".concat(we.left,"px"),width:"".concat(we.width,"px"),zIndex:1050,backgroundColor:"#FFFFFF",borderRadius:"8px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",border:"1px solid #E7E5E4",maxHeight:"256px",overflow:"auto",opacity:0,transform:"translateY(-8px)",animation:"dropdownFadeIn 0.2s ease-out forwards",WebkitOverflowScrolling:"touch",overscrollBehavior:"contain"},J),children:0===Be.length?n("div",{style:{padding:"8px 16px",textAlign:"center",color:"#78716C",fontSize:"14px",fontFamily:"DM Sans, sans-serif"},children:"No data"}):Be.map(function(t,o){var r=Ce?Array.isArray(ke)&&ke.includes(t.value):ke===t.value,i=o===fe;return ee?n("div",{className:"aha-select-option ".concat(t.disabled?"":"hover:bg-[#FAFAF9]"," ").concat(r?"bg-[#FAFAF9]":""),onClick:function(){return!t.disabled&&ze(t)},style:{cursor:t.disabled?"not-allowed":"pointer",transition:"background-color 0.2s"},children:ee(t,{selected:r,focused:i,disabled:t.disabled||!1})},t.value):e("div",{className:"aha-select-option ".concat(t.disabled?"":"hover:bg-[#FAFAF9]"," ").concat(r?"bg-[#FAFAF9]":""),onClick:function(){return ze(t)},style:{padding:"8px 16px",cursor:t.disabled?"not-allowed":"pointer",color:t.disabled?"#98A2B3":"#101828",fontSize:"14px",lineHeight:"20px",fontFamily:"DM Sans, sans-serif",display:"flex",alignItems:"center",justifyContent:"space-between",transition:"background-color 0.2s"},children:[n("span",{children:t.label}),r&&n("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:i?"hidden":"",children:n("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:te,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]},t.value)})}),document.body)]})};g.displayName="Select";export{g as default};
|
|
1
|
+
import{jsxs as e,jsx as n,Fragment as t}from"react/jsx-runtime";import o,{createContext as r,useContext as i,useState as l,useRef as a,useCallback as s,useMemo as d,useEffect as c}from"react";import{createPortal as u}from"react-dom";var p=function(){return p=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},p.apply(this,arguments)};function f(e,n,t){if(t||2===arguments.length)for(var o,r=0,i=n.length;r<i;r++)!o&&r in n||(o||(o=Array.prototype.slice.call(n,0,r)),o[r]=n[r]);return e.concat(o||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var h={primaryColor:"#FB6011"},v=r(h),g=function(r){var g,x=r.value,m=r.defaultValue,w=r.options,y=void 0===w?[]:w,b=r.mode,F=r.disabled,k=void 0!==F&&F,S=r.error,C=void 0!==S&&S,A=r.placeholder,L=void 0===A?"Please select":A,B=r.size,z=void 0===B?"medium":B,E=r.showSearch,H=void 0!==E&&E,W=r.filterOption,D=void 0===W||W,M=r.allowClear,T=void 0!==M&&M,I=r.onChange,O=r.onSelect,N=r.onDeselect,j=r.onSearch,R=r.onFocus,P=r.onBlur,Y=r.onDropdownVisibleChange,V=r.className,q=void 0===V?"":V,U=r.style,X=r.dropdownClassName,G=void 0===X?"":X,J=r.dropdownStyle,K=r.defaultOpen,Q=void 0!==K&&K,Z=r.open,$=r.maxTagCount,_=r.tagRender,ee=r.optionRender,ne=(i(v)||h).primaryColor,te=void 0===ne?"#FB6011":ne,oe=l(void 0!==m?m:b?[]:void 0),re=oe[0],ie=oe[1],le=l(Q),ae=le[0],se=le[1],de=l(""),ce=de[0],ue=de[1],pe=l(-1),fe=pe[0],he=pe[1],ve=a(null),ge=a(null),xe=a(null),me=l(null),we=me[0],ye=me[1],be=void 0!==x,Fe=void 0!==Z,ke=be?x:re,Se=Fe?Z:ae,Ce="multiple"===b||"tags"===b,Ae=s(function(){if(!ke)return[];var e=Array.isArray(ke)?ke:[ke];return y.filter(function(n){return e.includes(n.value)})},[ke,y]),Le=s(function(){return H&&ce?!1===D?y:"function"==typeof D?y.filter(function(e){return D(ce,e)}):y.filter(function(e){var n=String(e.label||"").toLowerCase(),t=ce.toLowerCase();return n.includes(t)}):y},[y,ce,H,D]),Be=d(function(){return Le()},[Le]);c(function(){if(Se&&ve.current){var e=function(){var e,n;if(ve.current){var t=ve.current.getBoundingClientRect(),o=null!==(n=null===(e=xe.current)||void 0===e?void 0:e.offsetHeight)&&void 0!==n?n:Math.min(256,Math.max(40,40*Be.length)),r=window.innerHeight-t.bottom,i=t.top,l=r<o+4&&i>r,a=l?t.top+window.scrollY-o-4:t.bottom+window.scrollY+4;ye({top:a,left:t.left+window.scrollX,width:t.width,placement:l?"top":"bottom"})}};return e(),requestAnimationFrame(e),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),function(){window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}}ye(null)},[Se,Be.length]),c(function(){var e=function(e){var n=e.target;ve.current&&!ve.current.contains(n)&&xe.current&&!xe.current.contains(n)&&(Fe||se(!1),null==Y||Y(!1),ue(""))};if(Se)return document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,!0),function(){document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",e,!0)}},[Se,Fe,Y]),c(function(){if(Se){var e=function(e){var n;if("ArrowDown"===e.key)e.preventDefault(),he(function(e){return e<Be.length-1?e+1:e});else if("ArrowUp"===e.key)e.preventDefault(),he(function(e){return e>0?e-1:0});else if("Enter"===e.key&&fe>=0){e.preventDefault();var t=Be[fe];t&&!t.disabled&&ze(t)}else"Escape"===e.key&&(e.preventDefault(),Fe||se(!1),null==Y||Y(!1),null===(n=ve.current)||void 0===n||n.focus())};return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}},[Se,Be,fe,Fe,Y]),c(function(){if(fe>=0&&xe.current){var e=xe.current.querySelectorAll(".aha-select-option")[fe];e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})}},[fe]);var ze=s(function(e){var n;if(!e.disabled)if(Ce){var t,o=Array.isArray(ke)?ke:[];o.includes(e.value)?(t=o.filter(function(n){return n!==e.value}),null==N||N(e.value,e)):(t=f(f([],o,!0),[e.value],!1),null==O||O(e.value,e)),be||ie(t);var r=y.filter(function(e){return t.includes(e.value)});null==I||I(t,r)}else be||ie(e.value),null==I||I(e.value,e),null==O||O(e.value,e),Fe||se(!1),null==Y||Y(!1),ue(""),null===(n=ve.current)||void 0===n||n.focus()},[Ce,ke,be,Fe,y,I,O,N,Y]),Ee=s(function(e,n){if(e.stopPropagation(),Ce&&Array.isArray(ke)){var t=ke.filter(function(e){return e!==n}),o=y.find(function(e){return e.value===n});be||ie(t),null==I||I(t,Ae()),null==N||N(n,o)}},[Ce,ke,be,y,I,N,Ae]),He=function(e){e.stopPropagation();var n=Ce?[]:void 0;be||ie(n),null==I||I(n,[]),ue("")},We={small:{height:"32px",paddingTop:"3px",paddingBottom:"3px",fontSize:"16px",lineHeight:"24px"},mediumSmall:{height:"36px",paddingTop:"5px",paddingBottom:"5px",fontSize:"16px",lineHeight:"24px"},medium:{height:"40px",paddingTop:"7px",paddingBottom:"7px",fontSize:"16px",lineHeight:"24px"},large:{height:"48px",paddingTop:"11px",paddingBottom:"11px",fontSize:"16px",lineHeight:"24px"}},De=d(function(){return Ae()},[Ae]),Me=d(function(){return T&&ke&&!k},[T,ke,k]),Te=d(function(){return Ce?Array.isArray(ke)&&ke.length>0:null!=ke&&""!==ke},[Ce,ke]),Ie=d(function(){if(!Ce||!Array.isArray(ke)||0===ke.length)return null;var t="responsive"===$?De.slice(0,2):$?De.slice(0,$):De,r=$&&De.length>t.length?De.length-t.length:0;return e("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"4px",flex:1,minWidth:0},children:[t.map(function(t){var r={label:t.label,value:t.value,closable:!k,onClose:function(){return Ee({},t.value)}};return _?n(o.Fragment,{children:_(r)},t.value):e("span",{style:{display:"inline-flex",alignItems:"center",gap:"4px",padding:"2px 8px",backgroundColor:"#F5F5F4",borderRadius:"4px",fontSize:"12px",lineHeight:"18px",color:"#101828",fontFamily:"DM Sans, sans-serif",maxWidth:"100%"},children:[n("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.label}),!k&&n("span",{onClick:function(e){return Ee(e,t.value)},style:{cursor:"pointer",display:"flex",alignItems:"center",color:"#78716C",marginLeft:"4px"},children:n("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n("path",{d:"M9 3L3 9M3 3L9 9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]},t.value)}),r>0&&e("span",{style:{fontSize:"12px",lineHeight:"18px",color:"#78716C",fontFamily:"DM Sans, sans-serif"},children:["+",r]})]})},[Ce,ke,De,$,k,_]);return e(t,{children:[n("style",{children:"\n @keyframes dropdownFadeIn {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n "}),e("div",{ref:ve,className:"aha-select ".concat(q),style:p({position:"relative",display:"inline-flex",alignItems:"center",width:"100%",minWidth:"120px",boxSizing:"border-box",fontFamily:"DM Sans, sans-serif",borderRadius:"8px",border:"1px solid ".concat(C?"#F04438":Se?te:"#D7D3D0"),backgroundColor:k?"#FAFAF9":"#FFFFFF",cursor:k?"not-allowed":"pointer",transition:"all 0.2s",paddingLeft:"12px",paddingRight:"36px",paddingTop:We[z].paddingTop,paddingBottom:We[z].paddingBottom,fontSize:We[z].fontSize,lineHeight:We[z].lineHeight,fontWeight:400,WebkitTapHighlightColor:"transparent",WebkitTouchCallout:"none",touchAction:"manipulation",userSelect:"none"},U),onClick:function(){if(!k){var e=!Se;Fe||se(e),null==Y||Y(e),e&&H?setTimeout(function(){var e;null===(e=ge.current)||void 0===e||e.focus()},0):ue("")}},onFocus:function(e){null==R||R(e)},onBlur:function(e){null==P||P(e)},onTouchStart:function(e){k||(e.currentTarget.style.opacity="0.8")},onTouchEnd:function(e){e.currentTarget.style.opacity="1"},tabIndex:k?-1:0,children:[n("div",{style:{display:"flex",alignItems:"center",flex:1,minWidth:0,gap:"8px"},children:Ce?Ie||n("span",L?{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"#79716B",fontSize:"16px",lineHeight:"24px",fontWeight:400},children:L}:{style:{flex:1,minHeight:"24px"}}):H&&Se?n("input",{ref:ge,type:"text",value:ce,onChange:function(e){var n=e.target.value;ue(n),null==j||j(n),he(-1)},onClick:function(e){return e.stopPropagation()},onFocus:function(e){return e.stopPropagation()},style:{flex:1,border:"none",outline:"none",background:"transparent",fontSize:"16px",lineHeight:"24px",fontWeight:400,color:k?"#98A2B3":"#1C1917",fontFamily:"DM Sans, sans-serif",minWidth:0,WebkitAppearance:"none",appearance:"none"},placeholder:Te?void 0:L,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1}):n("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:Te?k?"#98A2B3":"#1C1917":"#79716B",fontSize:"16px",lineHeight:"24px",fontWeight:400,minHeight:"24px",display:"inline-block"},children:Te?(null===(g=De[0])||void 0===g?void 0:g.label)||ke:L||" "})}),e("div",{style:{position:"absolute",right:"12px",display:"flex",alignItems:"center",gap:"4px"},children:[Me&&n(function(){return n("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",onClick:He,style:{cursor:"pointer",flexShrink:0,color:"#78716C"},children:n("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})},{}),n(function(e){var t=e.isOpen;return n("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{transform:t?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease-in-out",flexShrink:0},children:n("path",{d:"M4 6L8 10L12 6",stroke:"#78716C",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})},{isOpen:Se})]})]}),Se&&we&&u(n("div",{ref:xe,className:"aha-select-dropdown ".concat(G),style:p({position:"absolute",top:"".concat(we.top,"px"),left:"".concat(we.left,"px"),width:"".concat(we.width,"px"),zIndex:1050,backgroundColor:"#FFFFFF",borderRadius:"8px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",border:"1px solid #E7E5E4",maxHeight:"256px",overflow:"auto",opacity:0,transform:"top"===we.placement?"translateY(8px)":"translateY(-8px)",animation:"dropdownFadeIn 0.2s ease-out forwards",transformOrigin:"top"===we.placement?"bottom center":"top center",WebkitOverflowScrolling:"touch",overscrollBehavior:"contain"},J),children:0===Be.length?n("div",{style:{padding:"8px 16px",textAlign:"center",color:"#78716C",fontSize:"14px",fontFamily:"DM Sans, sans-serif"},children:"No data"}):Be.map(function(t,o){var r=Ce?Array.isArray(ke)&&ke.includes(t.value):ke===t.value,i=o===fe;return ee?n("div",{className:"aha-select-option ".concat(t.disabled?"":"hover:bg-[#FAFAF9]"," ").concat(r?"bg-[#FAFAF9]":""),onClick:function(){return!t.disabled&&ze(t)},style:{cursor:t.disabled?"not-allowed":"pointer",transition:"background-color 0.2s"},children:ee(t,{selected:r,focused:i,disabled:t.disabled||!1})},t.value):e("div",{className:"aha-select-option ".concat(t.disabled?"":"hover:bg-[#FAFAF9]"," ").concat(r?"bg-[#FAFAF9]":""),onClick:function(){return ze(t)},style:{padding:"8px 16px",cursor:t.disabled?"not-allowed":"pointer",color:t.disabled?"#98A2B3":"#101828",fontSize:"14px",lineHeight:"20px",fontFamily:"DM Sans, sans-serif",display:"flex",alignItems:"center",justifyContent:"space-between",transition:"background-color 0.2s"},children:[n("span",{children:t.label}),r&&n("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:i?"hidden":"",children:n("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:te,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]},t.value)})}),document.body)]})};g.displayName="Select";export{g as default};
|
|
2
2
|
//# sourceMappingURL=Select.esm.js.map
|
package/dist/Select.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/theme/ThemeContext.tsx","../src/components/Select/index.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import React, { createContext, useContext, useMemo } from 'react';\n\nexport interface ThemeConfig {\n primaryColor?: string;\n}\n\nconst defaultTheme: ThemeConfig = {\n primaryColor: '#FB6011',\n};\n\nconst ThemeContext = createContext<ThemeConfig>(defaultTheme);\n\nexport interface ThemeProviderProps {\n theme?: ThemeConfig;\n children: React.ReactNode;\n}\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ theme, children }) => {\n const themeValue = useMemo(() => {\n return {\n ...defaultTheme,\n ...theme,\n };\n }, [theme]);\n\n return (\n <ThemeContext.Provider value={themeValue}>\n {children}\n </ThemeContext.Provider>\n );\n};\n\nexport const useTheme = (): ThemeConfig => {\n const context = useContext(ThemeContext);\n if (!context) {\n // 如果没有 Provider,返回默认主题\n return defaultTheme;\n }\n return context;\n};\n\n// 导出默认主题色,供组件内部使用\nexport const getDefaultPrimaryColor = () => defaultTheme.primaryColor!;\n\n","import React, { useState, useRef, useEffect, useCallback, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useTheme } from '../../theme/ThemeContext';\n\nexport interface SelectOption {\n label: React.ReactNode;\n value: string | number;\n disabled?: boolean;\n [key: string]: any;\n}\n\nexport interface SelectProps {\n /** 当前选中的值 */\n value?: string | number | (string | number)[];\n /** 默认选中的值 */\n defaultValue?: string | number | (string | number)[];\n /** 选项数据 */\n options?: SelectOption[];\n /** 是否支持多选 */\n mode?: 'multiple' | 'tags';\n /** 是否禁用 */\n disabled?: boolean;\n /** 是否显示错误状态 */\n error?: boolean;\n /** 占位符 */\n placeholder?: string;\n /** 尺寸 */\n size?: 'small' | 'mediumSmall' | 'medium' | 'large';\n /** 是否可搜索 */\n showSearch?: boolean;\n /** 搜索过滤函数 */\n filterOption?: boolean | ((input: string, option: SelectOption) => boolean);\n /** 是否允许清除 */\n allowClear?: boolean;\n /** 变化回调 */\n onChange?: (\n value: string | number | (string | number)[],\n option: SelectOption | SelectOption[]\n ) => void;\n /** 选择回调 */\n onSelect?: (value: string | number, option: SelectOption) => void;\n /** 取消选择回调 */\n onDeselect?: (value: string | number, option: SelectOption) => void;\n /** 搜索回调 */\n onSearch?: (value: string) => void;\n /** 聚焦回调 */\n onFocus?: (e: React.FocusEvent) => void;\n /** 失焦回调 */\n onBlur?: (e: React.FocusEvent) => void;\n /** 下拉框打开回调 */\n onDropdownVisibleChange?: (open: boolean) => void;\n /** 自定义类名 */\n className?: string;\n /** 自定义样式 */\n style?: React.CSSProperties;\n /** 下拉框类名 */\n dropdownClassName?: string;\n /** 下拉框样式 */\n dropdownStyle?: React.CSSProperties;\n /** 是否默认打开 */\n defaultOpen?: boolean;\n /** 是否打开(受控) */\n open?: boolean;\n /** 最大标签数量 */\n maxTagCount?: number | 'responsive';\n /** 标签渲染函数 */\n tagRender?: (props: {\n label: React.ReactNode;\n value: string | number;\n closable: boolean;\n onClose: () => void;\n }) => React.ReactNode;\n /** 选项渲染函数 */\n optionRender?: (option: SelectOption, info: {\n selected: boolean;\n focused: boolean;\n disabled: boolean;\n }) => React.ReactNode;\n}\n\nconst Select: React.FC<SelectProps> = ({\n value: controlledValue,\n defaultValue,\n options = [],\n mode,\n disabled = false,\n error = false,\n placeholder = 'Please select',\n size = 'medium',\n showSearch = false,\n filterOption = true,\n allowClear = false,\n onChange,\n onSelect,\n onDeselect,\n onSearch,\n onFocus,\n onBlur,\n onDropdownVisibleChange,\n className = '',\n style,\n dropdownClassName = '',\n dropdownStyle,\n defaultOpen = false,\n open: controlledOpen,\n maxTagCount,\n tagRender,\n optionRender,\n}) => {\n const { primaryColor = '#FB6011' } = useTheme();\n const [internalValue, setInternalValue] = useState<\n string | number | (string | number)[] | undefined\n >(defaultValue !== undefined ? defaultValue : (mode ? [] : undefined));\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const [searchValue, setSearchValue] = useState('');\n const [focusedIndex, setFocusedIndex] = useState(-1);\n\n const selectRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const [dropdownPosition, setDropdownPosition] = useState<{ top: number; left: number; width: number } | null>(null);\n\n const isControlled = controlledValue !== undefined;\n const isOpenControlled = controlledOpen !== undefined;\n const currentValue = isControlled ? controlledValue : internalValue;\n const isOpen = isOpenControlled ? controlledOpen : internalOpen;\n const isMultiple = mode === 'multiple' || mode === 'tags';\n\n // 获取选中的选项\n const getSelectedOptions = useCallback((): SelectOption[] => {\n if (!currentValue) return [];\n const values = Array.isArray(currentValue) ? currentValue : [currentValue];\n return options.filter((opt) => values.includes(opt.value));\n }, [currentValue, options]);\n\n // 过滤选项\n const getFilteredOptions = useCallback((): SelectOption[] => {\n if (!showSearch || !searchValue) return options;\n\n if (filterOption === false) return options;\n\n if (typeof filterOption === 'function') {\n return options.filter((opt) => filterOption(searchValue, opt));\n }\n\n // 默认过滤:匹配 label\n return options.filter((opt) => {\n const label = String(opt.label || '').toLowerCase();\n const search = searchValue.toLowerCase();\n return label.includes(search);\n });\n }, [options, searchValue, showSearch, filterOption]);\n\n const filteredOptions = useMemo(() => getFilteredOptions(), [getFilteredOptions]);\n\n // 计算下拉框位置\n useEffect(() => {\n if (isOpen && selectRef.current) {\n const updatePosition = () => {\n if (selectRef.current) {\n const rect = selectRef.current.getBoundingClientRect();\n setDropdownPosition({\n top: rect.bottom + window.scrollY + 4,\n left: rect.left + window.scrollX,\n width: rect.width,\n });\n }\n };\n\n updatePosition();\n\n // 监听窗口大小变化和滚动,更新位置\n window.addEventListener('resize', updatePosition);\n window.addEventListener('scroll', updatePosition, true);\n\n return () => {\n window.removeEventListener('resize', updatePosition);\n window.removeEventListener('scroll', updatePosition, true);\n };\n } else {\n setDropdownPosition(null);\n }\n }, [isOpen]);\n\n // 点击外部关闭(支持鼠标和触摸事件)\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent | TouchEvent) => {\n const target = event.target as Node;\n if (\n selectRef.current &&\n !selectRef.current.contains(target) &&\n dropdownRef.current &&\n !dropdownRef.current.contains(target)\n ) {\n if (!isOpenControlled) {\n setInternalOpen(false);\n }\n onDropdownVisibleChange?.(false);\n setSearchValue('');\n }\n };\n\n if (isOpen) {\n // 使用 capture 阶段确保能捕获到事件\n document.addEventListener('mousedown', handleClickOutside, true);\n document.addEventListener('touchstart', handleClickOutside, true);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside, true);\n document.removeEventListener('touchstart', handleClickOutside, true);\n };\n }\n }, [isOpen, isOpenControlled, onDropdownVisibleChange]);\n\n // 键盘导航\n useEffect(() => {\n if (!isOpen) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setFocusedIndex((prev) =>\n prev < filteredOptions.length - 1 ? prev + 1 : prev\n );\n } else if (e.key === 'ArrowUp') {\n e.preventDefault();\n setFocusedIndex((prev) => (prev > 0 ? prev - 1 : 0));\n } else if (e.key === 'Enter' && focusedIndex >= 0) {\n e.preventDefault();\n const option = filteredOptions[focusedIndex];\n if (option && !option.disabled) {\n handleSelect(option);\n }\n } else if (e.key === 'Escape') {\n e.preventDefault();\n if (!isOpenControlled) {\n setInternalOpen(false);\n }\n onDropdownVisibleChange?.(false);\n selectRef.current?.focus();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [isOpen, filteredOptions, focusedIndex, isOpenControlled, onDropdownVisibleChange]);\n\n // 滚动到聚焦项\n useEffect(() => {\n if (focusedIndex >= 0 && dropdownRef.current) {\n const items = dropdownRef.current.querySelectorAll('.aha-select-option');\n const focusedItem = items[focusedIndex] as HTMLElement;\n if (focusedItem) {\n focusedItem.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n }\n }\n }, [focusedIndex]);\n\n const handleSelect = useCallback((option: SelectOption) => {\n if (option.disabled) return;\n\n if (isMultiple) {\n const currentValues = Array.isArray(currentValue) ? currentValue : [];\n const isSelected = currentValues.includes(option.value);\n\n let newValues: (string | number)[];\n if (isSelected) {\n newValues = currentValues.filter((v) => v !== option.value);\n onDeselect?.(option.value, option);\n } else {\n newValues = [...currentValues, option.value];\n onSelect?.(option.value, option);\n }\n\n if (!isControlled) {\n setInternalValue(newValues);\n }\n // 计算选中的选项\n const selectedOptions = options.filter((opt) => newValues.includes(opt.value));\n onChange?.(newValues, selectedOptions);\n } else {\n if (!isControlled) {\n setInternalValue(option.value);\n }\n onChange?.(option.value, option);\n onSelect?.(option.value, option);\n\n if (!isOpenControlled) {\n setInternalOpen(false);\n }\n onDropdownVisibleChange?.(false);\n setSearchValue('');\n selectRef.current?.focus();\n }\n }, [isMultiple, currentValue, isControlled, isOpenControlled, options, onChange, onSelect, onDeselect, onDropdownVisibleChange]);\n\n const handleRemoveTag = useCallback((e: React.MouseEvent, value: string | number) => {\n e.stopPropagation();\n if (isMultiple && Array.isArray(currentValue)) {\n const newValues = currentValue.filter((v) => v !== value);\n const option = options.find((opt) => opt.value === value);\n if (!isControlled) {\n setInternalValue(newValues);\n }\n onChange?.(newValues, getSelectedOptions());\n onDeselect?.(value, option!);\n }\n }, [isMultiple, currentValue, isControlled, options, onChange, onDeselect, getSelectedOptions]);\n\n const handleClear = (e: React.MouseEvent) => {\n e.stopPropagation();\n const newValue: string | number | (string | number)[] | undefined = isMultiple ? [] : undefined;\n if (!isControlled) {\n setInternalValue(newValue);\n }\n onChange?.(newValue as any, []);\n setSearchValue('');\n };\n\n const handleToggle = () => {\n if (disabled) return;\n const newOpen = !isOpen;\n if (!isOpenControlled) {\n setInternalOpen(newOpen);\n }\n onDropdownVisibleChange?.(newOpen);\n if (newOpen && showSearch) {\n setTimeout(() => {\n inputRef.current?.focus();\n }, 0);\n } else {\n setSearchValue('');\n }\n };\n\n const handleSearch = (e: React.ChangeEvent<HTMLInputElement>) => {\n const val = e.target.value;\n setSearchValue(val);\n onSearch?.(val);\n setFocusedIndex(-1);\n };\n\n const handleFocus = (e: React.FocusEvent) => {\n onFocus?.(e);\n };\n\n const handleBlur = (e: React.FocusEvent) => {\n onBlur?.(e);\n };\n\n // 尺寸样式 - 对齐 Input 组件\n const sizeStyles = {\n small: {\n height: '32px',\n paddingTop: '3px',\n paddingBottom: '3px',\n fontSize: '16px',\n lineHeight: '24px',\n },\n mediumSmall: {\n height: '36px',\n paddingTop: '5px',\n paddingBottom: '5px',\n fontSize: '16px',\n lineHeight: '24px',\n },\n medium: {\n height: '40px',\n paddingTop: '7px',\n paddingBottom: '7px',\n fontSize: '16px',\n lineHeight: '24px',\n },\n large: {\n height: '48px',\n paddingTop: '11px',\n paddingBottom: '11px',\n fontSize: '16px',\n lineHeight: '24px',\n },\n };\n\n const selectedOptions = useMemo(() => getSelectedOptions(), [getSelectedOptions]);\n const showClear = useMemo(() => allowClear && currentValue && !disabled, [allowClear, currentValue, disabled]);\n const hasValue = useMemo(() => \n isMultiple\n ? Array.isArray(currentValue) && currentValue.length > 0\n : currentValue !== undefined && currentValue !== null && currentValue !== '',\n [isMultiple, currentValue]\n );\n\n // 渲染标签 - 使用 useMemo 优化\n const renderTags = useMemo(() => {\n if (!isMultiple || !Array.isArray(currentValue) || currentValue.length === 0) {\n return null;\n }\n\n const tagsToShow =\n maxTagCount === 'responsive'\n ? selectedOptions.slice(0, 2) // 简化处理\n : maxTagCount\n ? selectedOptions.slice(0, maxTagCount)\n : selectedOptions;\n\n const remainingCount =\n maxTagCount && selectedOptions.length > tagsToShow.length\n ? selectedOptions.length - tagsToShow.length\n : 0;\n\n return (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n gap: '4px',\n flex: 1,\n minWidth: 0,\n }}\n >\n {tagsToShow.map((option) => {\n const tagProps = {\n label: option.label,\n value: option.value,\n closable: !disabled,\n onClose: () => handleRemoveTag({} as any, option.value),\n };\n\n if (tagRender) {\n return <React.Fragment key={option.value}>{tagRender(tagProps)}</React.Fragment>;\n }\n\n return (\n <span\n key={option.value}\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '4px',\n padding: '2px 8px',\n backgroundColor: '#F5F5F4',\n borderRadius: '4px',\n fontSize: '12px',\n lineHeight: '18px',\n color: '#101828',\n fontFamily: \"DM Sans, sans-serif\",\n maxWidth: '100%',\n }}\n >\n <span\n style={{\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }}\n >\n {option.label}\n </span>\n {!disabled && (\n <span\n onClick={(e) => handleRemoveTag(e, option.value)}\n style={{\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n color: '#78716C',\n marginLeft: '4px',\n }}\n >\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 3L3 9M3 3L9 9\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </span>\n )}\n </span>\n );\n })}\n {remainingCount > 0 && (\n <span\n style={{\n fontSize: '12px',\n lineHeight: '18px',\n color: '#78716C',\n fontFamily: \"DM Sans, sans-serif\",\n }}\n >\n +{remainingCount}\n </span>\n )}\n </div>\n );\n }, [isMultiple, currentValue, selectedOptions, maxTagCount, disabled, tagRender]);\n\n // 下拉箭头图标\n const ArrowIcon = ({ isOpen: open }: { isOpen: boolean }) => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{\n transform: open ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s ease-in-out',\n flexShrink: 0,\n }}\n >\n <path\n d=\"M4 6L8 10L12 6\"\n stroke=\"#78716C\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n\n // 清除图标\n const ClearIcon = () => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n onClick={handleClear}\n style={{\n cursor: 'pointer',\n flexShrink: 0,\n color: '#78716C',\n }}\n >\n <path\n d=\"M12 4L4 12M4 4L12 12\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n\n // 下拉框动画样式\n const dropdownAnimationStyles = `\n @keyframes dropdownFadeIn {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n `;\n\n return (\n <>\n <style>{dropdownAnimationStyles}</style>\n <div\n ref={selectRef}\n className={`aha-select ${className}`}\n style={{\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%',\n minWidth: '120px',\n boxSizing: 'border-box',\n fontFamily: \"DM Sans, sans-serif\",\n borderRadius: '8px', // rounded-md\n border: `1px solid ${error ? '#F04438' : isOpen ? primaryColor : '#D7D3D0'}`,\n backgroundColor: disabled ? '#FAFAF9' : '#FFFFFF',\n cursor: disabled ? 'not-allowed' : 'pointer',\n transition: 'all 0.2s',\n paddingLeft: '12px',\n paddingRight: '36px', // 为箭头和清除按钮留出空间(箭头16px + 右边距12px + 清除按钮8px)\n paddingTop: sizeStyles[size].paddingTop,\n paddingBottom: sizeStyles[size].paddingBottom,\n fontSize: sizeStyles[size].fontSize,\n lineHeight: sizeStyles[size].lineHeight,\n fontWeight: 400,\n WebkitTapHighlightColor: 'transparent', // 移动端移除点击高亮\n WebkitTouchCallout: 'none', // 禁用长按菜单\n touchAction: 'manipulation', // 优化触摸响应\n userSelect: 'none', // 禁用文本选择\n ...style,\n }}\n onClick={handleToggle}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onTouchStart={(e) => {\n // 移动端触摸优化\n if (!disabled) {\n e.currentTarget.style.opacity = '0.8';\n }\n }}\n onTouchEnd={(e) => {\n e.currentTarget.style.opacity = '1';\n }}\n tabIndex={disabled ? -1 : 0}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n minWidth: 0,\n gap: '8px',\n }}\n >\n {isMultiple ? (\n (renderTags || (placeholder ? (\n <span\n style={{\n flex: 1,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: '#79716B',\n fontSize: '16px',\n lineHeight: '24px',\n fontWeight: 400,\n }}\n >\n {placeholder}\n </span>\n ) : (\n <span style={{ flex: 1, minHeight: '24px' }} />\n )))) : showSearch && isOpen ? (\n <input\n ref={inputRef}\n type=\"text\"\n value={searchValue}\n onChange={handleSearch}\n onClick={(e) => e.stopPropagation()}\n onFocus={(e) => e.stopPropagation()}\n style={{\n flex: 1,\n border: 'none',\n outline: 'none',\n background: 'transparent',\n fontSize: '16px', // 至少 16px 避免 iOS Safari 自动缩放\n lineHeight: '24px',\n fontWeight: 400,\n color: disabled ? '#98A2B3' : '#1C1917',\n fontFamily: \"DM Sans, sans-serif\",\n minWidth: 0,\n WebkitAppearance: 'none',\n appearance: 'none',\n }}\n placeholder={hasValue ? undefined : placeholder}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck={false}\n />\n ) : (\n <span\n style={{\n flex: 1,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: hasValue\n ? disabled\n ? '#98A2B3'\n : '#1C1917'\n : '#79716B',\n fontSize: '16px',\n lineHeight: '24px',\n fontWeight: 400,\n minHeight: '24px',\n display: 'inline-block',\n }}\n >\n {hasValue\n ? selectedOptions[0]?.label || currentValue\n : placeholder || '\\u00A0'}\n </span>\n )}\n </div>\n\n <div\n style={{\n position: 'absolute',\n right: '12px',\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n }}\n >\n {showClear && <ClearIcon />}\n <ArrowIcon isOpen={isOpen} />\n </div>\n </div>\n\n {isOpen && dropdownPosition && createPortal(\n <div\n ref={dropdownRef}\n className={`aha-select-dropdown ${dropdownClassName}`}\n style={{\n position: 'absolute',\n top: `${dropdownPosition.top}px`,\n left: `${dropdownPosition.left}px`,\n width: `${dropdownPosition.width}px`,\n zIndex: 1050,\n backgroundColor: '#FFFFFF',\n borderRadius: '8px',\n boxShadow: '0 4px 12px rgba(0, 0, 0, 0.15)',\n border: '1px solid #E7E5E4',\n maxHeight: '256px',\n overflow: 'auto',\n opacity: 0,\n transform: 'translateY(-8px)',\n animation: 'dropdownFadeIn 0.2s ease-out forwards',\n WebkitOverflowScrolling: 'touch', // iOS 平滑滚动\n overscrollBehavior: 'contain', // 防止滚动穿透\n ...dropdownStyle,\n }}\n >\n {filteredOptions.length === 0 ? (\n <div\n style={{\n padding: '8px 16px',\n textAlign: 'center',\n color: '#78716C',\n fontSize: '14px',\n fontFamily: \"DM Sans, sans-serif\",\n }}\n >\n No data\n </div>\n ) : (\n filteredOptions.map((option, index) => {\n const isSelected = isMultiple\n ? Array.isArray(currentValue) && currentValue.includes(option.value)\n : currentValue === option.value;\n const isFocused = index === focusedIndex;\n\n // 如果提供了自定义渲染函数,使用自定义渲染\n if (optionRender) {\n return (\n <div\n key={option.value}\n className={`aha-select-option ${!option.disabled ? 'hover:bg-[#FAFAF9]' : ''} ${isSelected ? 'bg-[#FAFAF9]' : ''}`}\n onClick={() => !option.disabled && handleSelect(option)}\n style={{\n cursor: option.disabled ? 'not-allowed' : 'pointer',\n transition: 'background-color 0.2s',\n }}\n >\n {optionRender(option, {\n selected: isSelected,\n focused: isFocused,\n disabled: option.disabled || false,\n })}\n </div>\n );\n }\n\n // 默认渲染\n return (\n <div\n key={option.value}\n className={`aha-select-option ${!option.disabled ? 'hover:bg-[#FAFAF9]' : ''} ${isSelected ? 'bg-[#FAFAF9]' : ''}`}\n onClick={() => handleSelect(option)}\n style={{\n padding: '8px 16px',\n cursor: option.disabled ? 'not-allowed' : 'pointer',\n color: option.disabled ? '#98A2B3' : '#101828',\n fontSize: '14px',\n lineHeight: '20px',\n fontFamily: \"DM Sans, sans-serif\",\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n transition: 'background-color 0.2s',\n }}\n >\n <span>{option.label}</span>\n {/* 只有选中时才显示标识 */}\n {isSelected && (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={isFocused ? 'hidden' : ''}\n >\n <path\n d=\"M13.3333 4L6 11.3333L2.66667 8\"\n stroke={primaryColor}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </div>\n );\n })\n )}\n </div>,\n document.body\n )}\n </>\n );\n};\n\nSelect.displayName = 'Select';\n\nexport default Select;\n\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__spreadArray","to","from","pack","ar","l","Array","slice","concat","SuppressedError","defaultTheme","primaryColor","ThemeContext","createContext","Select","_a","controlledValue","value","defaultValue","_c","options","mode","_d","disabled","_e","error","_f","placeholder","_g","size","_h","showSearch","_j","filterOption","_k","allowClear","onChange","onSelect","onDeselect","onSearch","onFocus","onBlur","onDropdownVisibleChange","_l","className","style","_m","dropdownClassName","dropdownStyle","_o","defaultOpen","controlledOpen","open","maxTagCount","tagRender","optionRender","_p","useContext","_q","useState","undefined","internalValue","setInternalValue","_r","internalOpen","setInternalOpen","_s","searchValue","setSearchValue","_t","focusedIndex","setFocusedIndex","selectRef","useRef","inputRef","dropdownRef","_u","dropdownPosition","setDropdownPosition","isControlled","isOpenControlled","currentValue","isOpen","isMultiple","getSelectedOptions","useCallback","values","isArray","filter","opt","includes","getFilteredOptions","label","String","toLowerCase","search","filteredOptions","useMemo","useEffect","current","updatePosition_1","rect","getBoundingClientRect","top","bottom","window","scrollY","left","scrollX","width","addEventListener","removeEventListener","handleClickOutside","event","target","contains","document","handleKeyDown","e","key","preventDefault","prev","option","handleSelect","focus","focusedItem","querySelectorAll","scrollIntoView","block","behavior","newValues_1","currentValues","v","selectedOptions_1","handleRemoveTag","stopPropagation","newValues","find","handleClear","newValue","sizeStyles","small","height","paddingTop","paddingBottom","fontSize","lineHeight","mediumSmall","medium","large","selectedOptions","showClear","hasValue","renderTags","tagsToShow","remainingCount","_jsxs","display","alignItems","flexWrap","gap","flex","minWidth","children","map","tagProps","closable","onClose","_jsx","React","Fragment","padding","backgroundColor","borderRadius","color","fontFamily","maxWidth","overflow","textOverflow","whiteSpace","onClick","cursor","marginLeft","viewBox","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","_Fragment","ref","position","boxSizing","border","transition","paddingLeft","paddingRight","fontWeight","WebkitTapHighlightColor","WebkitTouchCallout","touchAction","userSelect","newOpen","setTimeout","onTouchStart","currentTarget","opacity","onTouchEnd","tabIndex","minHeight","type","val","outline","background","WebkitAppearance","appearance","autoComplete","autoCorrect","autoCapitalize","spellCheck","_b","right","flexShrink","transform","createPortal","zIndex","boxShadow","maxHeight","animation","WebkitOverflowScrolling","overscrollBehavior","textAlign","index","isSelected","isFocused","selected","focused","justifyContent","body","displayName"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"Select.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/theme/ThemeContext.tsx","../src/components/Select/index.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import React, { createContext, useContext, useMemo } from 'react';\n\nexport interface ThemeConfig {\n primaryColor?: string;\n}\n\nconst defaultTheme: ThemeConfig = {\n primaryColor: '#FB6011',\n};\n\nconst ThemeContext = createContext<ThemeConfig>(defaultTheme);\n\nexport interface ThemeProviderProps {\n theme?: ThemeConfig;\n children: React.ReactNode;\n}\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ theme, children }) => {\n const themeValue = useMemo(() => {\n return {\n ...defaultTheme,\n ...theme,\n };\n }, [theme]);\n\n return (\n <ThemeContext.Provider value={themeValue}>\n {children}\n </ThemeContext.Provider>\n );\n};\n\nexport const useTheme = (): ThemeConfig => {\n const context = useContext(ThemeContext);\n if (!context) {\n // 如果没有 Provider,返回默认主题\n return defaultTheme;\n }\n return context;\n};\n\n// 导出默认主题色,供组件内部使用\nexport const getDefaultPrimaryColor = () => defaultTheme.primaryColor!;\n\n","import React, { useState, useRef, useEffect, useCallback, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useTheme } from '../../theme/ThemeContext';\n\nexport interface SelectOption {\n label: React.ReactNode;\n value: string | number;\n disabled?: boolean;\n [key: string]: any;\n}\n\nexport interface SelectProps {\n /** 当前选中的值 */\n value?: string | number | (string | number)[];\n /** 默认选中的值 */\n defaultValue?: string | number | (string | number)[];\n /** 选项数据 */\n options?: SelectOption[];\n /** 是否支持多选 */\n mode?: 'multiple' | 'tags';\n /** 是否禁用 */\n disabled?: boolean;\n /** 是否显示错误状态 */\n error?: boolean;\n /** 占位符 */\n placeholder?: string;\n /** 尺寸 */\n size?: 'small' | 'mediumSmall' | 'medium' | 'large';\n /** 是否可搜索 */\n showSearch?: boolean;\n /** 搜索过滤函数 */\n filterOption?: boolean | ((input: string, option: SelectOption) => boolean);\n /** 是否允许清除 */\n allowClear?: boolean;\n /** 变化回调 */\n onChange?: (\n value: string | number | (string | number)[],\n option: SelectOption | SelectOption[]\n ) => void;\n /** 选择回调 */\n onSelect?: (value: string | number, option: SelectOption) => void;\n /** 取消选择回调 */\n onDeselect?: (value: string | number, option: SelectOption) => void;\n /** 搜索回调 */\n onSearch?: (value: string) => void;\n /** 聚焦回调 */\n onFocus?: (e: React.FocusEvent) => void;\n /** 失焦回调 */\n onBlur?: (e: React.FocusEvent) => void;\n /** 下拉框打开回调 */\n onDropdownVisibleChange?: (open: boolean) => void;\n /** 自定义类名 */\n className?: string;\n /** 自定义样式 */\n style?: React.CSSProperties;\n /** 下拉框类名 */\n dropdownClassName?: string;\n /** 下拉框样式 */\n dropdownStyle?: React.CSSProperties;\n /** 是否默认打开 */\n defaultOpen?: boolean;\n /** 是否打开(受控) */\n open?: boolean;\n /** 最大标签数量 */\n maxTagCount?: number | 'responsive';\n /** 标签渲染函数 */\n tagRender?: (props: {\n label: React.ReactNode;\n value: string | number;\n closable: boolean;\n onClose: () => void;\n }) => React.ReactNode;\n /** 选项渲染函数 */\n optionRender?: (option: SelectOption, info: {\n selected: boolean;\n focused: boolean;\n disabled: boolean;\n }) => React.ReactNode;\n}\n\nconst Select: React.FC<SelectProps> = ({\n value: controlledValue,\n defaultValue,\n options = [],\n mode,\n disabled = false,\n error = false,\n placeholder = 'Please select',\n size = 'medium',\n showSearch = false,\n filterOption = true,\n allowClear = false,\n onChange,\n onSelect,\n onDeselect,\n onSearch,\n onFocus,\n onBlur,\n onDropdownVisibleChange,\n className = '',\n style,\n dropdownClassName = '',\n dropdownStyle,\n defaultOpen = false,\n open: controlledOpen,\n maxTagCount,\n tagRender,\n optionRender,\n}) => {\n const { primaryColor = '#FB6011' } = useTheme();\n const [internalValue, setInternalValue] = useState<\n string | number | (string | number)[] | undefined\n >(defaultValue !== undefined ? defaultValue : (mode ? [] : undefined));\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const [searchValue, setSearchValue] = useState('');\n const [focusedIndex, setFocusedIndex] = useState(-1);\n\n const selectRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const [dropdownPosition, setDropdownPosition] = useState<{\n top: number;\n left: number;\n width: number;\n placement: 'top' | 'bottom';\n } | null>(null);\n\n const isControlled = controlledValue !== undefined;\n const isOpenControlled = controlledOpen !== undefined;\n const currentValue = isControlled ? controlledValue : internalValue;\n const isOpen = isOpenControlled ? controlledOpen : internalOpen;\n const isMultiple = mode === 'multiple' || mode === 'tags';\n\n // 获取选中的选项\n const getSelectedOptions = useCallback((): SelectOption[] => {\n if (!currentValue) return [];\n const values = Array.isArray(currentValue) ? currentValue : [currentValue];\n return options.filter((opt) => values.includes(opt.value));\n }, [currentValue, options]);\n\n // 过滤选项\n const getFilteredOptions = useCallback((): SelectOption[] => {\n if (!showSearch || !searchValue) return options;\n\n if (filterOption === false) return options;\n\n if (typeof filterOption === 'function') {\n return options.filter((opt) => filterOption(searchValue, opt));\n }\n\n // 默认过滤:匹配 label\n return options.filter((opt) => {\n const label = String(opt.label || '').toLowerCase();\n const search = searchValue.toLowerCase();\n return label.includes(search);\n });\n }, [options, searchValue, showSearch, filterOption]);\n\n const filteredOptions = useMemo(() => getFilteredOptions(), [getFilteredOptions]);\n\n // 计算下拉框位置\n useEffect(() => {\n if (isOpen && selectRef.current) {\n const updatePosition = () => {\n if (selectRef.current) {\n const rect = selectRef.current.getBoundingClientRect();\n const estimatedDropdownHeight =\n dropdownRef.current?.offsetHeight ??\n Math.min(256, Math.max(40, filteredOptions.length * 40));\n const gap = 4;\n const spaceBelow = window.innerHeight - rect.bottom;\n const spaceAbove = rect.top;\n const shouldOpenUp =\n spaceBelow < estimatedDropdownHeight + gap && spaceAbove > spaceBelow;\n const top = shouldOpenUp\n ? rect.top + window.scrollY - estimatedDropdownHeight - gap\n : rect.bottom + window.scrollY + gap;\n\n setDropdownPosition({\n top,\n left: rect.left + window.scrollX,\n width: rect.width,\n placement: shouldOpenUp ? 'top' : 'bottom',\n });\n }\n };\n\n updatePosition();\n requestAnimationFrame(updatePosition);\n\n // 监听窗口大小变化和滚动,更新位置\n window.addEventListener('resize', updatePosition);\n window.addEventListener('scroll', updatePosition, true);\n\n return () => {\n window.removeEventListener('resize', updatePosition);\n window.removeEventListener('scroll', updatePosition, true);\n };\n } else {\n setDropdownPosition(null);\n }\n }, [isOpen, filteredOptions.length]);\n\n // 点击外部关闭(支持鼠标和触摸事件)\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent | TouchEvent) => {\n const target = event.target as Node;\n if (\n selectRef.current &&\n !selectRef.current.contains(target) &&\n dropdownRef.current &&\n !dropdownRef.current.contains(target)\n ) {\n if (!isOpenControlled) {\n setInternalOpen(false);\n }\n onDropdownVisibleChange?.(false);\n setSearchValue('');\n }\n };\n\n if (isOpen) {\n // 使用 capture 阶段确保能捕获到事件\n document.addEventListener('mousedown', handleClickOutside, true);\n document.addEventListener('touchstart', handleClickOutside, true);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside, true);\n document.removeEventListener('touchstart', handleClickOutside, true);\n };\n }\n }, [isOpen, isOpenControlled, onDropdownVisibleChange]);\n\n // 键盘导航\n useEffect(() => {\n if (!isOpen) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setFocusedIndex((prev) =>\n prev < filteredOptions.length - 1 ? prev + 1 : prev\n );\n } else if (e.key === 'ArrowUp') {\n e.preventDefault();\n setFocusedIndex((prev) => (prev > 0 ? prev - 1 : 0));\n } else if (e.key === 'Enter' && focusedIndex >= 0) {\n e.preventDefault();\n const option = filteredOptions[focusedIndex];\n if (option && !option.disabled) {\n handleSelect(option);\n }\n } else if (e.key === 'Escape') {\n e.preventDefault();\n if (!isOpenControlled) {\n setInternalOpen(false);\n }\n onDropdownVisibleChange?.(false);\n selectRef.current?.focus();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [isOpen, filteredOptions, focusedIndex, isOpenControlled, onDropdownVisibleChange]);\n\n // 滚动到聚焦项\n useEffect(() => {\n if (focusedIndex >= 0 && dropdownRef.current) {\n const items = dropdownRef.current.querySelectorAll('.aha-select-option');\n const focusedItem = items[focusedIndex] as HTMLElement;\n if (focusedItem) {\n focusedItem.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n }\n }\n }, [focusedIndex]);\n\n const handleSelect = useCallback((option: SelectOption) => {\n if (option.disabled) return;\n\n if (isMultiple) {\n const currentValues = Array.isArray(currentValue) ? currentValue : [];\n const isSelected = currentValues.includes(option.value);\n\n let newValues: (string | number)[];\n if (isSelected) {\n newValues = currentValues.filter((v) => v !== option.value);\n onDeselect?.(option.value, option);\n } else {\n newValues = [...currentValues, option.value];\n onSelect?.(option.value, option);\n }\n\n if (!isControlled) {\n setInternalValue(newValues);\n }\n // 计算选中的选项\n const selectedOptions = options.filter((opt) => newValues.includes(opt.value));\n onChange?.(newValues, selectedOptions);\n } else {\n if (!isControlled) {\n setInternalValue(option.value);\n }\n onChange?.(option.value, option);\n onSelect?.(option.value, option);\n\n if (!isOpenControlled) {\n setInternalOpen(false);\n }\n onDropdownVisibleChange?.(false);\n setSearchValue('');\n selectRef.current?.focus();\n }\n }, [isMultiple, currentValue, isControlled, isOpenControlled, options, onChange, onSelect, onDeselect, onDropdownVisibleChange]);\n\n const handleRemoveTag = useCallback((e: React.MouseEvent, value: string | number) => {\n e.stopPropagation();\n if (isMultiple && Array.isArray(currentValue)) {\n const newValues = currentValue.filter((v) => v !== value);\n const option = options.find((opt) => opt.value === value);\n if (!isControlled) {\n setInternalValue(newValues);\n }\n onChange?.(newValues, getSelectedOptions());\n onDeselect?.(value, option!);\n }\n }, [isMultiple, currentValue, isControlled, options, onChange, onDeselect, getSelectedOptions]);\n\n const handleClear = (e: React.MouseEvent) => {\n e.stopPropagation();\n const newValue: string | number | (string | number)[] | undefined = isMultiple ? [] : undefined;\n if (!isControlled) {\n setInternalValue(newValue);\n }\n onChange?.(newValue as any, []);\n setSearchValue('');\n };\n\n const handleToggle = () => {\n if (disabled) return;\n const newOpen = !isOpen;\n if (!isOpenControlled) {\n setInternalOpen(newOpen);\n }\n onDropdownVisibleChange?.(newOpen);\n if (newOpen && showSearch) {\n setTimeout(() => {\n inputRef.current?.focus();\n }, 0);\n } else {\n setSearchValue('');\n }\n };\n\n const handleSearch = (e: React.ChangeEvent<HTMLInputElement>) => {\n const val = e.target.value;\n setSearchValue(val);\n onSearch?.(val);\n setFocusedIndex(-1);\n };\n\n const handleFocus = (e: React.FocusEvent) => {\n onFocus?.(e);\n };\n\n const handleBlur = (e: React.FocusEvent) => {\n onBlur?.(e);\n };\n\n // 尺寸样式 - 对齐 Input 组件\n const sizeStyles = {\n small: {\n height: '32px',\n paddingTop: '3px',\n paddingBottom: '3px',\n fontSize: '16px',\n lineHeight: '24px',\n },\n mediumSmall: {\n height: '36px',\n paddingTop: '5px',\n paddingBottom: '5px',\n fontSize: '16px',\n lineHeight: '24px',\n },\n medium: {\n height: '40px',\n paddingTop: '7px',\n paddingBottom: '7px',\n fontSize: '16px',\n lineHeight: '24px',\n },\n large: {\n height: '48px',\n paddingTop: '11px',\n paddingBottom: '11px',\n fontSize: '16px',\n lineHeight: '24px',\n },\n };\n\n const selectedOptions = useMemo(() => getSelectedOptions(), [getSelectedOptions]);\n const showClear = useMemo(() => allowClear && currentValue && !disabled, [allowClear, currentValue, disabled]);\n const hasValue = useMemo(() => \n isMultiple\n ? Array.isArray(currentValue) && currentValue.length > 0\n : currentValue !== undefined && currentValue !== null && currentValue !== '',\n [isMultiple, currentValue]\n );\n\n // 渲染标签 - 使用 useMemo 优化\n const renderTags = useMemo(() => {\n if (!isMultiple || !Array.isArray(currentValue) || currentValue.length === 0) {\n return null;\n }\n\n const tagsToShow =\n maxTagCount === 'responsive'\n ? selectedOptions.slice(0, 2) // 简化处理\n : maxTagCount\n ? selectedOptions.slice(0, maxTagCount)\n : selectedOptions;\n\n const remainingCount =\n maxTagCount && selectedOptions.length > tagsToShow.length\n ? selectedOptions.length - tagsToShow.length\n : 0;\n\n return (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n gap: '4px',\n flex: 1,\n minWidth: 0,\n }}\n >\n {tagsToShow.map((option) => {\n const tagProps = {\n label: option.label,\n value: option.value,\n closable: !disabled,\n onClose: () => handleRemoveTag({} as any, option.value),\n };\n\n if (tagRender) {\n return <React.Fragment key={option.value}>{tagRender(tagProps)}</React.Fragment>;\n }\n\n return (\n <span\n key={option.value}\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '4px',\n padding: '2px 8px',\n backgroundColor: '#F5F5F4',\n borderRadius: '4px',\n fontSize: '12px',\n lineHeight: '18px',\n color: '#101828',\n fontFamily: \"DM Sans, sans-serif\",\n maxWidth: '100%',\n }}\n >\n <span\n style={{\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }}\n >\n {option.label}\n </span>\n {!disabled && (\n <span\n onClick={(e) => handleRemoveTag(e, option.value)}\n style={{\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n color: '#78716C',\n marginLeft: '4px',\n }}\n >\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9 3L3 9M3 3L9 9\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </span>\n )}\n </span>\n );\n })}\n {remainingCount > 0 && (\n <span\n style={{\n fontSize: '12px',\n lineHeight: '18px',\n color: '#78716C',\n fontFamily: \"DM Sans, sans-serif\",\n }}\n >\n +{remainingCount}\n </span>\n )}\n </div>\n );\n }, [isMultiple, currentValue, selectedOptions, maxTagCount, disabled, tagRender]);\n\n // 下拉箭头图标\n const ArrowIcon = ({ isOpen: open }: { isOpen: boolean }) => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{\n transform: open ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s ease-in-out',\n flexShrink: 0,\n }}\n >\n <path\n d=\"M4 6L8 10L12 6\"\n stroke=\"#78716C\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n\n // 清除图标\n const ClearIcon = () => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n onClick={handleClear}\n style={{\n cursor: 'pointer',\n flexShrink: 0,\n color: '#78716C',\n }}\n >\n <path\n d=\"M12 4L4 12M4 4L12 12\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n\n // 下拉框动画样式\n const dropdownAnimationStyles = `\n @keyframes dropdownFadeIn {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n `;\n\n return (\n <>\n <style>{dropdownAnimationStyles}</style>\n <div\n ref={selectRef}\n className={`aha-select ${className}`}\n style={{\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%',\n minWidth: '120px',\n boxSizing: 'border-box',\n fontFamily: \"DM Sans, sans-serif\",\n borderRadius: '8px', // rounded-md\n border: `1px solid ${error ? '#F04438' : isOpen ? primaryColor : '#D7D3D0'}`,\n backgroundColor: disabled ? '#FAFAF9' : '#FFFFFF',\n cursor: disabled ? 'not-allowed' : 'pointer',\n transition: 'all 0.2s',\n paddingLeft: '12px',\n paddingRight: '36px', // 为箭头和清除按钮留出空间(箭头16px + 右边距12px + 清除按钮8px)\n paddingTop: sizeStyles[size].paddingTop,\n paddingBottom: sizeStyles[size].paddingBottom,\n fontSize: sizeStyles[size].fontSize,\n lineHeight: sizeStyles[size].lineHeight,\n fontWeight: 400,\n WebkitTapHighlightColor: 'transparent', // 移动端移除点击高亮\n WebkitTouchCallout: 'none', // 禁用长按菜单\n touchAction: 'manipulation', // 优化触摸响应\n userSelect: 'none', // 禁用文本选择\n ...style,\n }}\n onClick={handleToggle}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onTouchStart={(e) => {\n // 移动端触摸优化\n if (!disabled) {\n e.currentTarget.style.opacity = '0.8';\n }\n }}\n onTouchEnd={(e) => {\n e.currentTarget.style.opacity = '1';\n }}\n tabIndex={disabled ? -1 : 0}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n minWidth: 0,\n gap: '8px',\n }}\n >\n {isMultiple ? (\n (renderTags || (placeholder ? (\n <span\n style={{\n flex: 1,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: '#79716B',\n fontSize: '16px',\n lineHeight: '24px',\n fontWeight: 400,\n }}\n >\n {placeholder}\n </span>\n ) : (\n <span style={{ flex: 1, minHeight: '24px' }} />\n )))) : showSearch && isOpen ? (\n <input\n ref={inputRef}\n type=\"text\"\n value={searchValue}\n onChange={handleSearch}\n onClick={(e) => e.stopPropagation()}\n onFocus={(e) => e.stopPropagation()}\n style={{\n flex: 1,\n border: 'none',\n outline: 'none',\n background: 'transparent',\n fontSize: '16px', // 至少 16px 避免 iOS Safari 自动缩放\n lineHeight: '24px',\n fontWeight: 400,\n color: disabled ? '#98A2B3' : '#1C1917',\n fontFamily: \"DM Sans, sans-serif\",\n minWidth: 0,\n WebkitAppearance: 'none',\n appearance: 'none',\n }}\n placeholder={hasValue ? undefined : placeholder}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck={false}\n />\n ) : (\n <span\n style={{\n flex: 1,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: hasValue\n ? disabled\n ? '#98A2B3'\n : '#1C1917'\n : '#79716B',\n fontSize: '16px',\n lineHeight: '24px',\n fontWeight: 400,\n minHeight: '24px',\n display: 'inline-block',\n }}\n >\n {hasValue\n ? selectedOptions[0]?.label || currentValue\n : placeholder || '\\u00A0'}\n </span>\n )}\n </div>\n\n <div\n style={{\n position: 'absolute',\n right: '12px',\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n }}\n >\n {showClear && <ClearIcon />}\n <ArrowIcon isOpen={isOpen} />\n </div>\n </div>\n\n {isOpen && dropdownPosition && createPortal(\n <div\n ref={dropdownRef}\n className={`aha-select-dropdown ${dropdownClassName}`}\n style={{\n position: 'absolute',\n top: `${dropdownPosition.top}px`,\n left: `${dropdownPosition.left}px`,\n width: `${dropdownPosition.width}px`,\n zIndex: 1050,\n backgroundColor: '#FFFFFF',\n borderRadius: '8px',\n boxShadow: '0 4px 12px rgba(0, 0, 0, 0.15)',\n border: '1px solid #E7E5E4',\n maxHeight: '256px',\n overflow: 'auto',\n opacity: 0,\n transform:\n dropdownPosition.placement === 'top'\n ? 'translateY(8px)'\n : 'translateY(-8px)',\n animation: 'dropdownFadeIn 0.2s ease-out forwards',\n transformOrigin:\n dropdownPosition.placement === 'top'\n ? 'bottom center'\n : 'top center',\n WebkitOverflowScrolling: 'touch', // iOS 平滑滚动\n overscrollBehavior: 'contain', // 防止滚动穿透\n ...dropdownStyle,\n }}\n >\n {filteredOptions.length === 0 ? (\n <div\n style={{\n padding: '8px 16px',\n textAlign: 'center',\n color: '#78716C',\n fontSize: '14px',\n fontFamily: \"DM Sans, sans-serif\",\n }}\n >\n No data\n </div>\n ) : (\n filteredOptions.map((option, index) => {\n const isSelected = isMultiple\n ? Array.isArray(currentValue) && currentValue.includes(option.value)\n : currentValue === option.value;\n const isFocused = index === focusedIndex;\n\n // 如果提供了自定义渲染函数,使用自定义渲染\n if (optionRender) {\n return (\n <div\n key={option.value}\n className={`aha-select-option ${!option.disabled ? 'hover:bg-[#FAFAF9]' : ''} ${isSelected ? 'bg-[#FAFAF9]' : ''}`}\n onClick={() => !option.disabled && handleSelect(option)}\n style={{\n cursor: option.disabled ? 'not-allowed' : 'pointer',\n transition: 'background-color 0.2s',\n }}\n >\n {optionRender(option, {\n selected: isSelected,\n focused: isFocused,\n disabled: option.disabled || false,\n })}\n </div>\n );\n }\n\n // 默认渲染\n return (\n <div\n key={option.value}\n className={`aha-select-option ${!option.disabled ? 'hover:bg-[#FAFAF9]' : ''} ${isSelected ? 'bg-[#FAFAF9]' : ''}`}\n onClick={() => handleSelect(option)}\n style={{\n padding: '8px 16px',\n cursor: option.disabled ? 'not-allowed' : 'pointer',\n color: option.disabled ? '#98A2B3' : '#101828',\n fontSize: '14px',\n lineHeight: '20px',\n fontFamily: \"DM Sans, sans-serif\",\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n transition: 'background-color 0.2s',\n }}\n >\n <span>{option.label}</span>\n {/* 只有选中时才显示标识 */}\n {isSelected && (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={isFocused ? 'hidden' : ''}\n >\n <path\n d=\"M13.3333 4L6 11.3333L2.66667 8\"\n stroke={primaryColor}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </div>\n );\n })\n )}\n </div>,\n document.body\n )}\n </>\n );\n};\n\nSelect.displayName = 'Select';\n\nexport default Select;\n\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__spreadArray","to","from","pack","ar","l","Array","slice","concat","SuppressedError","defaultTheme","primaryColor","ThemeContext","createContext","Select","_a","controlledValue","value","defaultValue","_c","options","mode","_d","disabled","_e","error","_f","placeholder","_g","size","_h","showSearch","_j","filterOption","_k","allowClear","onChange","onSelect","onDeselect","onSearch","onFocus","onBlur","onDropdownVisibleChange","_l","className","style","_m","dropdownClassName","dropdownStyle","_o","defaultOpen","controlledOpen","open","maxTagCount","tagRender","optionRender","_p","useContext","_q","useState","undefined","internalValue","setInternalValue","_r","internalOpen","setInternalOpen","_s","searchValue","setSearchValue","_t","focusedIndex","setFocusedIndex","selectRef","useRef","inputRef","dropdownRef","_u","dropdownPosition","setDropdownPosition","isControlled","isOpenControlled","currentValue","isOpen","isMultiple","getSelectedOptions","useCallback","values","isArray","filter","opt","includes","getFilteredOptions","label","String","toLowerCase","search","filteredOptions","useMemo","useEffect","current","updatePosition_1","rect","getBoundingClientRect","estimatedDropdownHeight","_b","offsetHeight","Math","min","max","spaceBelow","window","innerHeight","bottom","spaceAbove","top","shouldOpenUp","top_1","scrollY","left","scrollX","width","placement","requestAnimationFrame","addEventListener","removeEventListener","handleClickOutside","event","target","contains","document","handleKeyDown","e","key","preventDefault","prev","option","handleSelect","focus","focusedItem","querySelectorAll","scrollIntoView","block","behavior","newValues_1","currentValues","v","selectedOptions_1","handleRemoveTag","stopPropagation","newValues","find","handleClear","newValue","sizeStyles","small","height","paddingTop","paddingBottom","fontSize","lineHeight","mediumSmall","medium","large","selectedOptions","showClear","hasValue","renderTags","tagsToShow","remainingCount","_jsxs","display","alignItems","flexWrap","gap","flex","minWidth","children","map","tagProps","closable","onClose","_jsx","React","Fragment","padding","backgroundColor","borderRadius","color","fontFamily","maxWidth","overflow","textOverflow","whiteSpace","onClick","cursor","marginLeft","viewBox","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","_Fragment","ref","position","boxSizing","border","transition","paddingLeft","paddingRight","fontWeight","WebkitTapHighlightColor","WebkitTouchCallout","touchAction","userSelect","newOpen","setTimeout","onTouchStart","currentTarget","opacity","onTouchEnd","tabIndex","minHeight","type","val","outline","background","WebkitAppearance","appearance","autoComplete","autoCorrect","autoCapitalize","spellCheck","right","flexShrink","transform","createPortal","zIndex","boxShadow","maxHeight","animation","transformOrigin","WebkitOverflowScrolling","overscrollBehavior","textAlign","index","isSelected","isFocused","selected","focused","justifyContent","body","displayName"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/Select.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),t=require("react-dom"),o=function(){return o=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},o.apply(this,arguments)};function r(e,n,t){if(t||2===arguments.length)for(var o,r=0,i=n.length;r<i;r++)!o&&r in n||(o||(o=Array.prototype.slice.call(n,0,r)),o[r]=n[r]);return e.concat(o||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var i={primaryColor:"#FB6011"},l=n.createContext(i),a=function(a){var s,u=a.value,c=a.defaultValue,d=a.options,p=void 0===d?[]:d,f=a.mode,h=a.disabled,x=void 0!==h&&h,v=a.error,g=void 0!==v&&v,m=a.placeholder,w=void 0===m?"Please select":m,y=a.size,b=void 0===y?"medium":y,k=a.showSearch,F=void 0!==k&&k,S=a.filterOption,C=void 0===S||S,j=a.allowClear,A=void 0!==j&&j,L=a.onChange,E=a.onSelect,B=a.onDeselect,z=a.onSearch,M=a.onFocus,W=a.onBlur,D=a.onDropdownVisibleChange,H=a.className,T=void 0===H?"":H,I=a.style,O=a.dropdownClassName,R=void 0===O?"":O,N=a.dropdownStyle,P=a.defaultOpen,q=void 0!==P&&P,Y=a.open,V=a.maxTagCount,_=a.tagRender,U=a.optionRender,X=(n.useContext(l)||i).primaryColor,G=void 0===X?"#FB6011":X,J=n.useState(void 0!==c?c:f?[]:void 0),K=J[0],Q=J[1],Z=n.useState(q),$=Z[0],ee=Z[1],ne=n.useState(""),te=ne[0],oe=ne[1],re=n.useState(-1),ie=re[0],le=re[1],ae=n.useRef(null),se=n.useRef(null),ue=n.useRef(null),ce=n.useState(null),de=ce[0],pe=ce[1],fe=void 0!==u,he=void 0!==Y,xe=fe?u:K,ve=he?Y:$,ge="multiple"===f||"tags"===f,me=n.useCallback(function(){if(!xe)return[];var e=Array.isArray(xe)?xe:[xe];return p.filter(function(n){return e.includes(n.value)})},[xe,p]),we=n.useCallback(function(){return F&&te?!1===C?p:"function"==typeof C?p.filter(function(e){return C(te,e)}):p.filter(function(e){var n=String(e.label||"").toLowerCase(),t=te.toLowerCase();return n.includes(t)}):p},[p,te,F,C]),ye=n.useMemo(function(){return we()},[we]);n.useEffect(function(){if(ve&&ae.current){var e=function(){if(ae.current){var e=ae.current.getBoundingClientRect();pe({top:e.bottom+window.scrollY+4,left:e.left+window.scrollX,width:e.width})}};return e(),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),function(){window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}}pe(null)},[ve]),n.useEffect(function(){var e=function(e){var n=e.target;ae.current&&!ae.current.contains(n)&&ue.current&&!ue.current.contains(n)&&(he||ee(!1),null==D||D(!1),oe(""))};if(ve)return document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,!0),function(){document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",e,!0)}},[ve,he,D]),n.useEffect(function(){if(ve){var e=function(e){var n;if("ArrowDown"===e.key)e.preventDefault(),le(function(e){return e<ye.length-1?e+1:e});else if("ArrowUp"===e.key)e.preventDefault(),le(function(e){return e>0?e-1:0});else if("Enter"===e.key&&ie>=0){e.preventDefault();var t=ye[ie];t&&!t.disabled&&be(t)}else"Escape"===e.key&&(e.preventDefault(),he||ee(!1),null==D||D(!1),null===(n=ae.current)||void 0===n||n.focus())};return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}},[ve,ye,ie,he,D]),n.useEffect(function(){if(ie>=0&&ue.current){var e=ue.current.querySelectorAll(".aha-select-option")[ie];e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})}},[ie]);var be=n.useCallback(function(e){var n;if(!e.disabled)if(ge){var t,o=Array.isArray(xe)?xe:[];o.includes(e.value)?(t=o.filter(function(n){return n!==e.value}),null==B||B(e.value,e)):(t=r(r([],o,!0),[e.value],!1),null==E||E(e.value,e)),fe||Q(t);var i=p.filter(function(e){return t.includes(e.value)});null==L||L(t,i)}else fe||Q(e.value),null==L||L(e.value,e),null==E||E(e.value,e),he||ee(!1),null==D||D(!1),oe(""),null===(n=ae.current)||void 0===n||n.focus()},[ge,xe,fe,he,p,L,E,B,D]),ke=n.useCallback(function(e,n){if(e.stopPropagation(),ge&&Array.isArray(xe)){var t=xe.filter(function(e){return e!==n}),o=p.find(function(e){return e.value===n});fe||Q(t),null==L||L(t,me()),null==B||B(n,o)}},[ge,xe,fe,p,L,B,me]),Fe=function(e){e.stopPropagation();var n=ge?[]:void 0;fe||Q(n),null==L||L(n,[]),oe("")},Se={small:{height:"32px",paddingTop:"3px",paddingBottom:"3px",fontSize:"16px",lineHeight:"24px"},mediumSmall:{height:"36px",paddingTop:"5px",paddingBottom:"5px",fontSize:"16px",lineHeight:"24px"},medium:{height:"40px",paddingTop:"7px",paddingBottom:"7px",fontSize:"16px",lineHeight:"24px"},large:{height:"48px",paddingTop:"11px",paddingBottom:"11px",fontSize:"16px",lineHeight:"24px"}},Ce=n.useMemo(function(){return me()},[me]),je=n.useMemo(function(){return A&&xe&&!x},[A,xe,x]),Ae=n.useMemo(function(){return ge?Array.isArray(xe)&&xe.length>0:null!=xe&&""!==xe},[ge,xe]),Le=n.useMemo(function(){if(!ge||!Array.isArray(xe)||0===xe.length)return null;var t="responsive"===V?Ce.slice(0,2):V?Ce.slice(0,V):Ce,o=V&&Ce.length>t.length?Ce.length-t.length:0;return e.jsxs("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"4px",flex:1,minWidth:0},children:[t.map(function(t){var o={label:t.label,value:t.value,closable:!x,onClose:function(){return ke({},t.value)}};return _?e.jsx(n.Fragment,{children:_(o)},t.value):e.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:"4px",padding:"2px 8px",backgroundColor:"#F5F5F4",borderRadius:"4px",fontSize:"12px",lineHeight:"18px",color:"#101828",fontFamily:"DM Sans, sans-serif",maxWidth:"100%"},children:[e.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.label}),!x&&e.jsx("span",{onClick:function(e){return ke(e,t.value)},style:{cursor:"pointer",display:"flex",alignItems:"center",color:"#78716C",marginLeft:"4px"},children:e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M9 3L3 9M3 3L9 9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]},t.value)}),o>0&&e.jsxs("span",{style:{fontSize:"12px",lineHeight:"18px",color:"#78716C",fontFamily:"DM Sans, sans-serif"},children:["+",o]})]})},[ge,xe,Ce,V,x,_]);return e.jsxs(e.Fragment,{children:[e.jsx("style",{children:"\n @keyframes dropdownFadeIn {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n "}),e.jsxs("div",{ref:ae,className:"aha-select ".concat(T),style:o({position:"relative",display:"inline-flex",alignItems:"center",width:"100%",minWidth:"120px",boxSizing:"border-box",fontFamily:"DM Sans, sans-serif",borderRadius:"8px",border:"1px solid ".concat(g?"#F04438":ve?G:"#D7D3D0"),backgroundColor:x?"#FAFAF9":"#FFFFFF",cursor:x?"not-allowed":"pointer",transition:"all 0.2s",paddingLeft:"12px",paddingRight:"36px",paddingTop:Se[b].paddingTop,paddingBottom:Se[b].paddingBottom,fontSize:Se[b].fontSize,lineHeight:Se[b].lineHeight,fontWeight:400,WebkitTapHighlightColor:"transparent",WebkitTouchCallout:"none",touchAction:"manipulation",userSelect:"none"},I),onClick:function(){if(!x){var e=!ve;he||ee(e),null==D||D(e),e&&F?setTimeout(function(){var e;null===(e=se.current)||void 0===e||e.focus()},0):oe("")}},onFocus:function(e){null==M||M(e)},onBlur:function(e){null==W||W(e)},onTouchStart:function(e){x||(e.currentTarget.style.opacity="0.8")},onTouchEnd:function(e){e.currentTarget.style.opacity="1"},tabIndex:x?-1:0,children:[e.jsx("div",{style:{display:"flex",alignItems:"center",flex:1,minWidth:0,gap:"8px"},children:ge?Le||(w?e.jsx("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"#79716B",fontSize:"16px",lineHeight:"24px",fontWeight:400},children:w}):e.jsx("span",{style:{flex:1,minHeight:"24px"}})):F&&ve?e.jsx("input",{ref:se,type:"text",value:te,onChange:function(e){var n=e.target.value;oe(n),null==z||z(n),le(-1)},onClick:function(e){return e.stopPropagation()},onFocus:function(e){return e.stopPropagation()},style:{flex:1,border:"none",outline:"none",background:"transparent",fontSize:"16px",lineHeight:"24px",fontWeight:400,color:x?"#98A2B3":"#1C1917",fontFamily:"DM Sans, sans-serif",minWidth:0,WebkitAppearance:"none",appearance:"none"},placeholder:Ae?void 0:w,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1}):e.jsx("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:Ae?x?"#98A2B3":"#1C1917":"#79716B",fontSize:"16px",lineHeight:"24px",fontWeight:400,minHeight:"24px",display:"inline-block"},children:Ae?(null===(s=Ce[0])||void 0===s?void 0:s.label)||xe:w||" "})}),e.jsxs("div",{style:{position:"absolute",right:"12px",display:"flex",alignItems:"center",gap:"4px"},children:[je&&e.jsx(function(){return e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",onClick:Fe,style:{cursor:"pointer",flexShrink:0,color:"#78716C"},children:e.jsx("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})},{}),e.jsx(function(n){var t=n.isOpen;return e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{transform:t?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease-in-out",flexShrink:0},children:e.jsx("path",{d:"M4 6L8 10L12 6",stroke:"#78716C",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})},{isOpen:ve})]})]}),ve&&de&&t.createPortal(e.jsx("div",{ref:ue,className:"aha-select-dropdown ".concat(R),style:o({position:"absolute",top:"".concat(de.top,"px"),left:"".concat(de.left,"px"),width:"".concat(de.width,"px"),zIndex:1050,backgroundColor:"#FFFFFF",borderRadius:"8px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",border:"1px solid #E7E5E4",maxHeight:"256px",overflow:"auto",opacity:0,transform:"translateY(-8px)",animation:"dropdownFadeIn 0.2s ease-out forwards",WebkitOverflowScrolling:"touch",overscrollBehavior:"contain"},N),children:0===ye.length?e.jsx("div",{style:{padding:"8px 16px",textAlign:"center",color:"#78716C",fontSize:"14px",fontFamily:"DM Sans, sans-serif"},children:"No data"}):ye.map(function(n,t){var o=ge?Array.isArray(xe)&&xe.includes(n.value):xe===n.value,r=t===ie;return U?e.jsx("div",{className:"aha-select-option ".concat(n.disabled?"":"hover:bg-[#FAFAF9]"," ").concat(o?"bg-[#FAFAF9]":""),onClick:function(){return!n.disabled&&be(n)},style:{cursor:n.disabled?"not-allowed":"pointer",transition:"background-color 0.2s"},children:U(n,{selected:o,focused:r,disabled:n.disabled||!1})},n.value):e.jsxs("div",{className:"aha-select-option ".concat(n.disabled?"":"hover:bg-[#FAFAF9]"," ").concat(o?"bg-[#FAFAF9]":""),onClick:function(){return be(n)},style:{padding:"8px 16px",cursor:n.disabled?"not-allowed":"pointer",color:n.disabled?"#98A2B3":"#101828",fontSize:"14px",lineHeight:"20px",fontFamily:"DM Sans, sans-serif",display:"flex",alignItems:"center",justifyContent:"space-between",transition:"background-color 0.2s"},children:[e.jsx("span",{children:n.label}),o&&e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:r?"hidden":"",children:e.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:G,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]},n.value)})}),document.body)]})};a.displayName="Select",exports.default=a;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),t=require("react-dom"),o=function(){return o=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},o.apply(this,arguments)};function r(e,n,t){if(t||2===arguments.length)for(var o,r=0,i=n.length;r<i;r++)!o&&r in n||(o||(o=Array.prototype.slice.call(n,0,r)),o[r]=n[r]);return e.concat(o||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var i={primaryColor:"#FB6011"},l=n.createContext(i),a=function(a){var s,u=a.value,c=a.defaultValue,d=a.options,p=void 0===d?[]:d,f=a.mode,h=a.disabled,x=void 0!==h&&h,v=a.error,g=void 0!==v&&v,m=a.placeholder,w=void 0===m?"Please select":m,y=a.size,b=void 0===y?"medium":y,k=a.showSearch,F=void 0!==k&&k,S=a.filterOption,C=void 0===S||S,j=a.allowClear,A=void 0!==j&&j,L=a.onChange,E=a.onSelect,B=a.onDeselect,M=a.onSearch,z=a.onFocus,H=a.onBlur,W=a.onDropdownVisibleChange,D=a.className,T=void 0===D?"":D,O=a.style,I=a.dropdownClassName,R=void 0===I?"":I,N=a.dropdownStyle,P=a.defaultOpen,Y=void 0!==P&&P,q=a.open,V=a.maxTagCount,_=a.tagRender,U=a.optionRender,X=(n.useContext(l)||i).primaryColor,G=void 0===X?"#FB6011":X,J=n.useState(void 0!==c?c:f?[]:void 0),K=J[0],Q=J[1],Z=n.useState(Y),$=Z[0],ee=Z[1],ne=n.useState(""),te=ne[0],oe=ne[1],re=n.useState(-1),ie=re[0],le=re[1],ae=n.useRef(null),se=n.useRef(null),ue=n.useRef(null),ce=n.useState(null),de=ce[0],pe=ce[1],fe=void 0!==u,he=void 0!==q,xe=fe?u:K,ve=he?q:$,ge="multiple"===f||"tags"===f,me=n.useCallback(function(){if(!xe)return[];var e=Array.isArray(xe)?xe:[xe];return p.filter(function(n){return e.includes(n.value)})},[xe,p]),we=n.useCallback(function(){return F&&te?!1===C?p:"function"==typeof C?p.filter(function(e){return C(te,e)}):p.filter(function(e){var n=String(e.label||"").toLowerCase(),t=te.toLowerCase();return n.includes(t)}):p},[p,te,F,C]),ye=n.useMemo(function(){return we()},[we]);n.useEffect(function(){if(ve&&ae.current){var e=function(){var e,n;if(ae.current){var t=ae.current.getBoundingClientRect(),o=null!==(n=null===(e=ue.current)||void 0===e?void 0:e.offsetHeight)&&void 0!==n?n:Math.min(256,Math.max(40,40*ye.length)),r=window.innerHeight-t.bottom,i=t.top,l=r<o+4&&i>r,a=l?t.top+window.scrollY-o-4:t.bottom+window.scrollY+4;pe({top:a,left:t.left+window.scrollX,width:t.width,placement:l?"top":"bottom"})}};return e(),requestAnimationFrame(e),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),function(){window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}}pe(null)},[ve,ye.length]),n.useEffect(function(){var e=function(e){var n=e.target;ae.current&&!ae.current.contains(n)&&ue.current&&!ue.current.contains(n)&&(he||ee(!1),null==W||W(!1),oe(""))};if(ve)return document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,!0),function(){document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",e,!0)}},[ve,he,W]),n.useEffect(function(){if(ve){var e=function(e){var n;if("ArrowDown"===e.key)e.preventDefault(),le(function(e){return e<ye.length-1?e+1:e});else if("ArrowUp"===e.key)e.preventDefault(),le(function(e){return e>0?e-1:0});else if("Enter"===e.key&&ie>=0){e.preventDefault();var t=ye[ie];t&&!t.disabled&&be(t)}else"Escape"===e.key&&(e.preventDefault(),he||ee(!1),null==W||W(!1),null===(n=ae.current)||void 0===n||n.focus())};return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}},[ve,ye,ie,he,W]),n.useEffect(function(){if(ie>=0&&ue.current){var e=ue.current.querySelectorAll(".aha-select-option")[ie];e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})}},[ie]);var be=n.useCallback(function(e){var n;if(!e.disabled)if(ge){var t,o=Array.isArray(xe)?xe:[];o.includes(e.value)?(t=o.filter(function(n){return n!==e.value}),null==B||B(e.value,e)):(t=r(r([],o,!0),[e.value],!1),null==E||E(e.value,e)),fe||Q(t);var i=p.filter(function(e){return t.includes(e.value)});null==L||L(t,i)}else fe||Q(e.value),null==L||L(e.value,e),null==E||E(e.value,e),he||ee(!1),null==W||W(!1),oe(""),null===(n=ae.current)||void 0===n||n.focus()},[ge,xe,fe,he,p,L,E,B,W]),ke=n.useCallback(function(e,n){if(e.stopPropagation(),ge&&Array.isArray(xe)){var t=xe.filter(function(e){return e!==n}),o=p.find(function(e){return e.value===n});fe||Q(t),null==L||L(t,me()),null==B||B(n,o)}},[ge,xe,fe,p,L,B,me]),Fe=function(e){e.stopPropagation();var n=ge?[]:void 0;fe||Q(n),null==L||L(n,[]),oe("")},Se={small:{height:"32px",paddingTop:"3px",paddingBottom:"3px",fontSize:"16px",lineHeight:"24px"},mediumSmall:{height:"36px",paddingTop:"5px",paddingBottom:"5px",fontSize:"16px",lineHeight:"24px"},medium:{height:"40px",paddingTop:"7px",paddingBottom:"7px",fontSize:"16px",lineHeight:"24px"},large:{height:"48px",paddingTop:"11px",paddingBottom:"11px",fontSize:"16px",lineHeight:"24px"}},Ce=n.useMemo(function(){return me()},[me]),je=n.useMemo(function(){return A&&xe&&!x},[A,xe,x]),Ae=n.useMemo(function(){return ge?Array.isArray(xe)&&xe.length>0:null!=xe&&""!==xe},[ge,xe]),Le=n.useMemo(function(){if(!ge||!Array.isArray(xe)||0===xe.length)return null;var t="responsive"===V?Ce.slice(0,2):V?Ce.slice(0,V):Ce,o=V&&Ce.length>t.length?Ce.length-t.length:0;return e.jsxs("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"4px",flex:1,minWidth:0},children:[t.map(function(t){var o={label:t.label,value:t.value,closable:!x,onClose:function(){return ke({},t.value)}};return _?e.jsx(n.Fragment,{children:_(o)},t.value):e.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:"4px",padding:"2px 8px",backgroundColor:"#F5F5F4",borderRadius:"4px",fontSize:"12px",lineHeight:"18px",color:"#101828",fontFamily:"DM Sans, sans-serif",maxWidth:"100%"},children:[e.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.label}),!x&&e.jsx("span",{onClick:function(e){return ke(e,t.value)},style:{cursor:"pointer",display:"flex",alignItems:"center",color:"#78716C",marginLeft:"4px"},children:e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M9 3L3 9M3 3L9 9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]},t.value)}),o>0&&e.jsxs("span",{style:{fontSize:"12px",lineHeight:"18px",color:"#78716C",fontFamily:"DM Sans, sans-serif"},children:["+",o]})]})},[ge,xe,Ce,V,x,_]);return e.jsxs(e.Fragment,{children:[e.jsx("style",{children:"\n @keyframes dropdownFadeIn {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n "}),e.jsxs("div",{ref:ae,className:"aha-select ".concat(T),style:o({position:"relative",display:"inline-flex",alignItems:"center",width:"100%",minWidth:"120px",boxSizing:"border-box",fontFamily:"DM Sans, sans-serif",borderRadius:"8px",border:"1px solid ".concat(g?"#F04438":ve?G:"#D7D3D0"),backgroundColor:x?"#FAFAF9":"#FFFFFF",cursor:x?"not-allowed":"pointer",transition:"all 0.2s",paddingLeft:"12px",paddingRight:"36px",paddingTop:Se[b].paddingTop,paddingBottom:Se[b].paddingBottom,fontSize:Se[b].fontSize,lineHeight:Se[b].lineHeight,fontWeight:400,WebkitTapHighlightColor:"transparent",WebkitTouchCallout:"none",touchAction:"manipulation",userSelect:"none"},O),onClick:function(){if(!x){var e=!ve;he||ee(e),null==W||W(e),e&&F?setTimeout(function(){var e;null===(e=se.current)||void 0===e||e.focus()},0):oe("")}},onFocus:function(e){null==z||z(e)},onBlur:function(e){null==H||H(e)},onTouchStart:function(e){x||(e.currentTarget.style.opacity="0.8")},onTouchEnd:function(e){e.currentTarget.style.opacity="1"},tabIndex:x?-1:0,children:[e.jsx("div",{style:{display:"flex",alignItems:"center",flex:1,minWidth:0,gap:"8px"},children:ge?Le||(w?e.jsx("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"#79716B",fontSize:"16px",lineHeight:"24px",fontWeight:400},children:w}):e.jsx("span",{style:{flex:1,minHeight:"24px"}})):F&&ve?e.jsx("input",{ref:se,type:"text",value:te,onChange:function(e){var n=e.target.value;oe(n),null==M||M(n),le(-1)},onClick:function(e){return e.stopPropagation()},onFocus:function(e){return e.stopPropagation()},style:{flex:1,border:"none",outline:"none",background:"transparent",fontSize:"16px",lineHeight:"24px",fontWeight:400,color:x?"#98A2B3":"#1C1917",fontFamily:"DM Sans, sans-serif",minWidth:0,WebkitAppearance:"none",appearance:"none"},placeholder:Ae?void 0:w,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1}):e.jsx("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:Ae?x?"#98A2B3":"#1C1917":"#79716B",fontSize:"16px",lineHeight:"24px",fontWeight:400,minHeight:"24px",display:"inline-block"},children:Ae?(null===(s=Ce[0])||void 0===s?void 0:s.label)||xe:w||" "})}),e.jsxs("div",{style:{position:"absolute",right:"12px",display:"flex",alignItems:"center",gap:"4px"},children:[je&&e.jsx(function(){return e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",onClick:Fe,style:{cursor:"pointer",flexShrink:0,color:"#78716C"},children:e.jsx("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})},{}),e.jsx(function(n){var t=n.isOpen;return e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{transform:t?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease-in-out",flexShrink:0},children:e.jsx("path",{d:"M4 6L8 10L12 6",stroke:"#78716C",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})},{isOpen:ve})]})]}),ve&&de&&t.createPortal(e.jsx("div",{ref:ue,className:"aha-select-dropdown ".concat(R),style:o({position:"absolute",top:"".concat(de.top,"px"),left:"".concat(de.left,"px"),width:"".concat(de.width,"px"),zIndex:1050,backgroundColor:"#FFFFFF",borderRadius:"8px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",border:"1px solid #E7E5E4",maxHeight:"256px",overflow:"auto",opacity:0,transform:"top"===de.placement?"translateY(8px)":"translateY(-8px)",animation:"dropdownFadeIn 0.2s ease-out forwards",transformOrigin:"top"===de.placement?"bottom center":"top center",WebkitOverflowScrolling:"touch",overscrollBehavior:"contain"},N),children:0===ye.length?e.jsx("div",{style:{padding:"8px 16px",textAlign:"center",color:"#78716C",fontSize:"14px",fontFamily:"DM Sans, sans-serif"},children:"No data"}):ye.map(function(n,t){var o=ge?Array.isArray(xe)&&xe.includes(n.value):xe===n.value,r=t===ie;return U?e.jsx("div",{className:"aha-select-option ".concat(n.disabled?"":"hover:bg-[#FAFAF9]"," ").concat(o?"bg-[#FAFAF9]":""),onClick:function(){return!n.disabled&&be(n)},style:{cursor:n.disabled?"not-allowed":"pointer",transition:"background-color 0.2s"},children:U(n,{selected:o,focused:r,disabled:n.disabled||!1})},n.value):e.jsxs("div",{className:"aha-select-option ".concat(n.disabled?"":"hover:bg-[#FAFAF9]"," ").concat(o?"bg-[#FAFAF9]":""),onClick:function(){return be(n)},style:{padding:"8px 16px",cursor:n.disabled?"not-allowed":"pointer",color:n.disabled?"#98A2B3":"#101828",fontSize:"14px",lineHeight:"20px",fontFamily:"DM Sans, sans-serif",display:"flex",alignItems:"center",justifyContent:"space-between",transition:"background-color 0.2s"},children:[e.jsx("span",{children:n.label}),o&&e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:r?"hidden":"",children:e.jsx("path",{d:"M13.3333 4L6 11.3333L2.66667 8",stroke:G,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]},n.value)})}),document.body)]})};a.displayName="Select",exports.default=a;
|
|
2
2
|
//# sourceMappingURL=Select.js.map
|