aha-components 1.8.3 → 1.8.5
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/Avatar.esm.js +1 -1
- package/dist/Avatar.esm.js.map +1 -1
- package/dist/Avatar.js +1 -1
- package/dist/Avatar.js.map +1 -1
- package/dist/Badge.esm.js +1 -1
- package/dist/Badge.esm.js.map +1 -1
- package/dist/Badge.js +1 -1
- package/dist/Badge.js.map +1 -1
- package/dist/Button.esm.js +1 -1
- package/dist/Button.esm.js.map +1 -1
- package/dist/Button.js +1 -1
- package/dist/Button.js.map +1 -1
- package/dist/Checkbox.esm.js +1 -1
- package/dist/Checkbox.esm.js.map +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/DatePicker.esm.js.map +1 -1
- package/dist/DatePicker.js.map +1 -1
- package/dist/Drawer.esm.js.map +1 -1
- package/dist/Drawer.js.map +1 -1
- package/dist/Form.esm.js.map +1 -1
- package/dist/Form.js.map +1 -1
- package/dist/Input.esm.js +1 -1
- package/dist/Input.esm.js.map +1 -1
- package/dist/Input.js +1 -1
- package/dist/Input.js.map +1 -1
- package/dist/Loading.esm.js +1 -1
- package/dist/Loading.esm.js.map +1 -1
- package/dist/Loading.js +1 -1
- package/dist/Loading.js.map +1 -1
- package/dist/MenuList.esm.js.map +1 -1
- package/dist/MenuList.js.map +1 -1
- 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/Popover.esm.js +1 -1
- package/dist/Popover.esm.js.map +1 -1
- package/dist/Popover.js +1 -1
- package/dist/Popover.js.map +1 -1
- package/dist/Progress.esm.js.map +1 -1
- package/dist/Progress.js.map +1 -1
- package/dist/Radio.esm.js +1 -1
- package/dist/Radio.esm.js.map +1 -1
- package/dist/Radio.js +1 -1
- package/dist/Radio.js.map +1 -1
- package/dist/Select.esm.js.map +1 -1
- package/dist/Select.js.map +1 -1
- package/dist/Switch.esm.js.map +1 -1
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.esm.js.map +1 -1
- package/dist/Tab.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/Tag.esm.js.map +1 -1
- package/dist/Tag.js.map +1 -1
- package/dist/Textarea.esm.js +1 -1
- package/dist/Textarea.esm.js.map +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/Textarea.js.map +1 -1
- package/dist/Toast.esm.js.map +1 -1
- package/dist/Toast.js.map +1 -1
- package/dist/Tooltip.esm.js.map +1 -1
- package/dist/Tooltip.js.map +1 -1
- package/dist/components/Alert/icon.d.ts +5 -5
- package/dist/components/Badge/index.d.ts +2 -1
- package/dist/components/Button/index.d.ts +2 -2
- package/dist/components/Table/index.d.ts +1 -1
- package/dist/components/Toast/icon.d.ts +5 -5
- package/dist/components/shared/badgeColors.d.ts +25 -0
- package/dist/components/shared/buttonStyles.d.ts +18 -0
- package/dist/components/shared/colorUtils.d.ts +6 -0
- package/dist/components/shared/controlStyles.d.ts +27 -0
- package/dist/components/shared/fieldStyles.d.ts +37 -0
- package/dist/index.css +3848 -0
- package/dist/index.d.ts +29 -5
- package/dist/index.esm.css +3848 -0
- 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/dist/tokens.d.ts +14 -14
- package/package.json +1 -1
package/dist/Textarea.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t,Fragment as r}from"react/jsx-runtime";import o,{createContext as n,useContext as a,useState as i,useRef as l,forwardRef as c,useEffect as d,useMemo as s,useLayoutEffect as u}from"react";var p=function(){return p=Object.assign||function(e){for(var t,r=1,o=arguments.length;r<o;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},p.apply(this,arguments)};function f(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(o=Object.getOwnPropertySymbols(e);n<o.length;n++)t.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(e,o[n])&&(r[o[n]]=e[o[n]])}return r}function h(e,t,r){if(r||2===arguments.length)for(var o,n=0,a=t.length;n<a;n++)!o&&n in t||(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var g={primaryColor:"#FB6011"},x=n(g),v={Green:{light:{bg:"#ECFDF5",text:"#006045",border:"#A4F4CF"},fill:{bg:"#00BC7D",text:"#FFFFFF"}},Red:{light:{bg:"#FEF2F2",text:"#9F0712",border:"#FFC9C9"},fill:{bg:"#FB2C36",text:"#FFFFFF"}},Orange:{light:{bg:"#FFF6ED",text:"#9B2911",border:"#FFD1A9"},fill:{bg:"#FB6011",text:"#FFFFFF"}},Cyan:{light:{bg:"#ECFEFF",text:"#005F78",border:"#A2F4FD"},fill:{bg:"#00B8DB",text:"#FFFFFF"}},Violet:{light:{bg:"#F5F3FF",text:"#5D0EC0",border:"#DDD6FF"},fill:{bg:"#8E51FF",text:"#FFFFFF"}},Pink:{light:{bg:"#FDF2F8",text:"#A3004C",border:"#FCCEE8"},fill:{bg:"#F6339A",text:"#FFFFFF"}},Gray:{light:{bg:"#F5F5F4",text:"#292524",border:"#E7E5E4"},fill:{bg:"#292524",text:"#FFFFFF"}},Yellow:{light:{bg:"#FFFBEB",text:"#973C00",border:"#FEE685"},fill:{bg:"#FE9A00",text:"#FFFFFF"}},Blue:{light:{bg:"#EFF6FF",text:"#193CB8",border:"#BEDBFF"},fill:{bg:"#2B7FFF",text:"#FFFFFF"}}},b={sm:{basePx:8,basePy:3,plCheckbox:5,plAvatar:4,plDot:6,plIcon:4,prClose:4,prCount:4,fontSize:12,lineHeight:"18px",height:24,avatarSize:16,checkboxSize:14,contentGap:4,rootGap:3,countPx:4,countFontSize:12,closeSize:10,closePad:2},md:{basePx:9,basePy:2,plCheckbox:4,plAvatar:5,plDot:7,plIcon:5,prClose:4,prCount:3,fontSize:14,lineHeight:"20px",height:24,avatarSize:16,checkboxSize:16,contentGap:5,rootGap:4,countPx:5,countFontSize:12,closeSize:12,closePad:2},lg:{basePx:10,basePy:4,plCheckbox:5,plAvatar:7,plDot:9,plIcon:7,prClose:4,prCount:4,fontSize:14,lineHeight:"20px",height:28,avatarSize:18,checkboxSize:18,contentGap:6,rootGap:4,countPx:6,countFontSize:14,closeSize:14,closePad:3}},y=function(r){var o=r.src,n=r.alt,a=void 0===n?"Avatar":n,l=r.size,c=void 0===l?16:l,d=i(!1),s=d[0],u=d[1];return t("div",{style:{width:c,height:c,borderRadius:"50%",overflow:"hidden",flexShrink:0,border:"0.667px solid rgba(0,0,0,0.08)",background:"#e5e5e4",display:"flex",alignItems:"center",justifyContent:"center"},children:o&&!s?t("img",{src:o,alt:a,onError:function(){return u(!0)},style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):e("svg",{width:.625*c,height:.625*c,viewBox:"0 0 10 10",fill:"none",children:[t("circle",{cx:"5",cy:"3.5",r:"2",stroke:"#999",strokeWidth:"1.2"}),t("path",{d:"M1 9.5c0-2.2 1.8-4 4-4s4 1.8 4 4",stroke:"#999",strokeWidth:"1.2",strokeLinecap:"round"})]})})},m=function(r){var n=r.children,l=r.color,c=r.variant,d=void 0===c?"light":c,s=r.size,u=void 0===s?"md":s,h=r.stroke,m=void 0!==h&&h,F=r.iconType,C=r.icon,w=r.avatarSrc,S=r.dotColor,k=r.action,z=void 0===k?"none":k,E=r.count,D=r.onClose,A=r.checkbox,O=void 0!==A&&A,R=r.checked,I=r.onCheckedChange,B=r.iconPosition,P=r.className,H=void 0===P?"":P,N=r.onClick,L=f(r,["children","color","variant","size","stroke","iconType","icon","avatarSrc","dotColor","action","count","onClose","checkbox","checked","onCheckedChange","iconPosition","className","onClick"]),W=(a(x)||g).primaryColor,j=i(!1),T=j[0],M=j[1],G=function(e){return"large"===e?"lg":"small"===e?"sm":e}(u),q=b[G],Z=void 0!==R?R:T,_=null!=F?F:C&&"leading"===B?"icon":"none",V="none"!==z?z:void 0,Y=O?q.plCheckbox:"dot"===_?q.plDot:"avatar"===_||"icon"===_?q.plAvatar:q.basePx,$="x-close"===V?q.prClose:"count"===V?q.prCount:q.basePx,K={display:"inline-flex",alignItems:"center",gap:"x-close"===V?q.rootGap:0,paddingLeft:Y,paddingRight:$,paddingTop:q.basePy,paddingBottom:q.basePy,height:q.height,borderRadius:6,fontFamily:"DM Sans, sans-serif",fontWeight:500,fontSize:q.fontSize,lineHeight:q.lineHeight,transition:"all 0.2s",cursor:N?"pointer":"default",boxSizing:"border-box",backgroundColor:"#ffffff",color:"#44403c",outline:"1px solid #d7d3d0",outlineOffset:"-1px"};if(l){var U=function(e,t){if(e in v){var r=v[e];return"Orange"===e&&t?p(p({},r),{fill:p(p({},r.fill),{bg:t})}):r}if(e.startsWith("#")){var o=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),a=parseInt(e.slice(5,7),16);return{light:{bg:"rgba(".concat(o,",").concat(n,",").concat(a,",0.1)"),text:e,border:"rgba(".concat(o,",").concat(n,",").concat(a,",0.3)")},fill:{bg:e,text:"#FFFFFF"}}}return v.Gray}(l,W);"light"===d?(K.backgroundColor=U.light.bg,K.color=U.light.text,K.outline=m?"1px solid ".concat(function(e){var t={Green:"#A4F4CF",Red:"#FFC9C9",Orange:"#FFD1A9",Blue:"#BEDBFF",Yellow:"#FFD1A9",Cyan:"#A2F4FD",Violet:"#DDD6FF",Pink:"#FCCEE8",Gray:"#E7E5E4"};if(e in t)return t[e];if(e.startsWith("#")){var r=parseInt(e.slice(1,3),16),o=parseInt(e.slice(3,5),16),n=parseInt(e.slice(5,7),16);return"rgba(".concat(r,",").concat(o,",").concat(n,",0.3)")}return"#E7E5E4"}(l)):"none",K.outlineOffset=m?"-1px":void 0):(K.backgroundColor=U.fill.bg,K.color=U.fill.text,K.outline="none")}N&&(K.cursor="pointer");return e("div",p({className:H,style:K,onClick:N},L,{children:[e("div",{style:{display:"flex",alignItems:"center",gap:q.contentGap,flexShrink:0},children:[O&&t("div",{role:"checkbox","aria-checked":Z,onClick:function(e){e.stopPropagation();var t=!Z;void 0===R&&M(t),null==I||I(t)},style:{width:q.checkboxSize,height:q.checkboxSize,borderRadius:4,flexShrink:0,border:Z?"none":"1px solid #d7d3d0",background:Z?W||"#7F56D9":"#ffffff",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},children:Z&&t("svg",{width:Math.round(.65*q.checkboxSize),height:Math.round(.65*q.checkboxSize),viewBox:"0 0 10 10",fill:"none",children:t("path",{d:"M8.5 2L4 7.5 1.5 5",stroke:"#fff",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),"avatar"===_?t(y,{src:w,size:q.avatarSize}):"dot"===_?t("svg",{width:8,height:8,viewBox:"0 0 8 8",fill:"none",style:{flexShrink:0},children:t("circle",{cx:4,cy:4,r:3.5,fill:S||"currentColor"})}):"icon"===_&&C?t("span",{style:{display:"flex",alignItems:"center",flexShrink:0},children:o.cloneElement(C,{width:q.avatarSize,height:q.avatarSize})}):null,t("span",{style:{whiteSpace:"nowrap"},children:n}),"count"===V&&"number"==typeof E&&t("span",{style:{display:"flex",alignItems:"center",justifyContent:"center",paddingLeft:q.countPx,paddingRight:q.countPx,paddingTop:1,paddingBottom:1,background:"rgba(0,0,0,0.07)",borderRadius:3,fontSize:q.countFontSize,fontWeight:500,lineHeight:"16px",flexShrink:0},children:E})]}),"x-close"===V&&t("button",{"aria-label":"Remove",onClick:function(e){e.stopPropagation(),null==D||D()},style:{display:"flex",alignItems:"center",justifyContent:"center",padding:q.closePad,borderRadius:3,border:"none",background:"transparent",cursor:"pointer",flexShrink:0,color:"inherit",opacity:.55,lineHeight:0},children:t("svg",{width:q.closeSize,height:q.closeSize,viewBox:"0 0 10 10",fill:"none",children:t("path",{d:"M7.5 2.5l-5 5M2.5 2.5l5 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}),"after"===B&&C&&!F&&t("span",{style:{display:"flex",alignItems:"center",flexShrink:0,marginLeft:q.contentGap},children:C})]}))},F="var(--shadow-xs)",C={small:"4px",mediumSmall:"6px",medium:"8px",large:"10px"},w={small:"sm",mediumSmall:"sm",medium:"md",large:"lg"},S=function(r){var o=r.value,n=r.defaultValue,a=void 0===n?[]:n,c=r.onChange,d=r.placeholder,s=void 0===d?"Add tag...":d,u=r.disabled,f=void 0!==u&&u,g=r.error,x=void 0!==g&&g,v=r.size,b=void 0===v?"mediumSmall":v,y=r.className,S=void 0===y?"":y,k=r.style,z=r.label,E=r.required,D=r.hintText,A=i(a),O=A[0],R=A[1],I=i(""),B=I[0],P=I[1],H=i(!1),N=H[0],L=H[1],W=l(null),j=void 0!==o,T=j?o:O,M=function(e){j||R(e),null==c||c(e)},G=function(e){var t=e.trim();t&&!T.includes(t)&&(M(h(h([],T,!0),[t],!1)),P(""))},q=function(e){M(T.filter(function(t,r){return r!==e}))},Z=f?{border:"1px solid var(--color-border-disabled)",boxShadow:F,outline:"none"}:x&&N?{border:"1px solid var(--color-border-error)",boxShadow:F,outline:"2px solid var(--color-border-error)",outlineOffset:"-2px"}:x?{border:"1px solid var(--color-border-error_subtle)",boxShadow:F,outline:"none"}:N?{border:"1px solid var(--color-border-brand)",boxShadow:F,outline:"2px solid var(--color-border-brand)",outlineOffset:"-2px"}:{border:"1px solid var(--color-border-primary)",boxShadow:F,outline:"none"},_=Z.border,V=Z.boxShadow,Y=Z.outline,$=Z.outlineOffset,K=C[b],U=w[b],X=e("div",{className:"aha-input-tags ".concat(S),onClick:function(){var e;return null===(e=W.current)||void 0===e?void 0:e.focus()},style:p({display:"flex",flexWrap:"wrap",alignItems:"center",gap:"6px",padding:K,border:_,boxShadow:V,outline:Y,outlineOffset:$,borderRadius:"var(--radius-md)",backgroundColor:f?"var(--color-bg-disabled_subtle)":"var(--color-bg-primary)",boxSizing:"border-box",width:"100%",transition:"border-color 0.15s ease, box-shadow 0.15s ease",cursor:f?"not-allowed":"text"},k),children:[T.map(function(e,r){return t(m,{size:U,action:f?"none":"x-close",onClose:function(){return q(r)},children:e},r)}),t("input",{ref:W,value:B,onChange:function(e){return P(e.target.value)},onKeyDown:function(e){"Enter"!==e.key&&","!==e.key||!B||(e.preventDefault(),G(B)),"Backspace"===e.key&&!B&&T.length>0&&q(T.length-1)},onFocus:function(){return L(!0)},onBlur:function(){L(!1),B&&G(B)},disabled:f,placeholder:0===T.length?s:"",style:{flex:1,minWidth:"80px",border:"none",outline:"none",padding:0,fontFamily:"var(--font-family-body)",fontSize:"var(--font-size-text-md)",lineHeight:"var(--line-height-text-md)",color:f?"var(--color-text-disabled)":"var(--color-text-primary)",backgroundColor:"transparent"}}),t("style",{children:"\n .aha-input-tags input::placeholder { color: var(--color-text-placeholder); }\n "})]});return z||D?e("div",{style:{display:"flex",flexDirection:"column",gap:"6px",width:"100%"},children:[z&&e("label",{style:{fontFamily:"var(--font-family-body)",fontSize:"var(--font-size-text-sm)",fontWeight:500,lineHeight:"20px",color:"var(--color-text-secondary)"},children:[z,E&&t("span",{style:{color:"var(--color-error-600)",marginLeft:"2px"},children:"*"})]}),X,D&&t("p",{style:{margin:0,fontFamily:"var(--font-family-body)",fontSize:"var(--font-size-text-sm)",fontWeight:400,lineHeight:"20px",color:x?"var(--color-error-600)":"var(--color-text-tertiary)"},children:D})]}):X},k=function(r){var o=r.minHeight,n=void 0===o?120:o,a=r.style,i=r.label,l=r.required,c=r.hintText,d=r.helpIcon,s=r.error,u=f(r,["minHeight","style","label","required","hintText","helpIcon","error"]),h=t(S,p({error:s,style:p({minHeight:"".concat(n,"px"),alignItems:"flex-start",overflow:"auto",resize:"vertical"},a)},u));return i||c?e("div",{style:{display:"flex",flexDirection:"column",gap:"6px",width:"100%"},children:[i&&e("label",{style:{fontFamily:"var(--font-family-body)",fontSize:"var(--font-size-text-sm)",fontWeight:500,lineHeight:"20px",color:"var(--color-text-secondary)",display:"flex",alignItems:"center"},children:[i,l&&t("span",{style:{color:"var(--color-error-600)",marginLeft:"2px"},children:"*"}),d&&t("span",{style:{marginLeft:"4px",display:"inline-flex",alignItems:"center",color:"var(--color-fg-quaternary)"},children:d})]}),h,c&&t("p",{style:{margin:0,fontFamily:"var(--font-family-body)",fontSize:"var(--font-size-text-sm)",fontWeight:400,lineHeight:"20px",color:s?"var(--color-error-600)":"var(--color-text-tertiary)"},children:c})]}):h},z=/^(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}$/,E=/(https?:\/\/[^\s<]+|www\.[^\s<]+|(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(?:\/[^\s<]*)?)/gi,D=new Set(["com","cn","net","org","io","co","edu","gov","ai","app","dev","me","info","biz","tech","cc","tv","xyz","top","vip","pro","store","site","online","cloud"]),A=function(e,t,r,o){if(void 0===t&&(t=!0),void 0===r&&(r=!0),!e||"string"!=typeof e)return!1;var n=e.trim();if(!n)return!1;var a=/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(n);if(t&&!a)return!1;var i=a?n:"https://".concat(n);try{var l=new URL(i),c=l.protocol.toLowerCase();if("http:"!==c&&"https:"!==c)return!1;if(r){var d=l.hostname.toLowerCase();if(!d)return!1;if("localhost"===d)return!0;if(/^\d{1,3}(\.\d{1,3}){3}$/.test(d))return d.split(".").every(function(e){var t=Number(e);return Number.isInteger(t)&&t>=0&&t<=255});if(!z.test(d))return!1;var s=d.split(".").pop()||"";if(!(o?new Set(o.map(function(e){return e.toLowerCase()})):D).has(s))return!1}return!0}catch(e){return!1}},O=function(e){var t=e.match(/^(.*?)([),.;!?]+)?$/);return{core:(null==t?void 0:t[1])||e,suffix:(null==t?void 0:t[2])||""}},R=function(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},I=function(e){return e.replace(new RegExp("","g"),"")},B=function(e,t,r){var o=function(e,t){var r,o;if(!e)return[];for(var n=[],a=0,i=new RegExp(E),l=i.exec(e);l;){var c=l[0],d=l.index,s=d+c.length;d>a&&n.push({type:"text",text:e.slice(a,d)});var u=O(c),p=u.core,f=u.suffix,h=/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(p)?p:"https://".concat(p),g=A(p,null!==(r=null==t?void 0:t.needProtocol)&&void 0!==r&&r,null===(o=null==t?void 0:t.needHost)||void 0===o||o,null==t?void 0:t.allowedTlds);((null==t?void 0:t.validate)?t.validate(h):g)&&p?(n.push({type:"url",text:p,href:h}),f&&n.push({type:"text",text:f})):n.push({type:"text",text:c}),a=s,l=i.exec(e)}return a<e.length&&n.push({type:"text",text:e.slice(a)}),n}(e,t);if(0===o.length)return"";var n=o.map(function(e){if("text"===e.type)return R(e.text);var o=(null==t?void 0:t.className)?' class="'.concat(t.className,'"'):"",n=r?"pointer-events: none;":"";return'<a href="'.concat(R(e.href),'" target="_blank" rel="noopener noreferrer"').concat(o,' style="color: #2563EB; text-decoration: underline; ').concat(n,'">').concat(R(e.text),"</a>")}).join("");return e.endsWith("\n")?"".concat(n,'<span data-aha-zwsp="true">').concat("","</span>"):n},P=function(e){var t=window.getSelection();if(!t||0===t.rangeCount)return 0;var r=t.getRangeAt(0);if(!e.contains(r.startContainer))return 0;var o=r.cloneRange();return o.selectNodeContents(e),o.setEnd(r.startContainer,r.startOffset),I(o.toString()).length},H=c(function(n,a){var i=n.disabled,c=void 0!==i&&i,h=n.error,g=void 0!==h&&h,x=n.readOnly,v=void 0!==x&&x,b=n.showCount,y=void 0!==b&&b,m=n.maxLength,F=n.className,C=void 0===F?"":F,w=n.style,S=n.placeholder,k=n.value,z=n.defaultValue,E=n.rows,D=void 0===E?3:E,A=n.autoSize,O=void 0!==A&&A,R=n.onChange,H=n.onFocus,N=n.onBlur,L=n.linkify,W=void 0!==L&&L,j=n.linkifyOptions,T=n.label,M=n.required,G=n.hintText,q=n.helpIcon,Z=f(n,["disabled","error","readOnly","showCount","maxLength","className","style","placeholder","value","defaultValue","rows","autoSize","onChange","onFocus","onBlur","linkify","linkifyOptions","label","required","hintText","helpIcon"]),_=l(null),V=l(null),Y=l(!1),$=l(null),K=o.useState(z||k||""),U=K[0],X=K[1],J=o.useState(!1),Q=J[0],ee=J[1],te=o.useState(void 0),re=te[0],oe=te[1];d(function(){"function"==typeof a?a(W?null:_.current):a&&(a.current=W?null:_.current)},[a,W]);var ne=void 0!==k,ae=ne?k:U,ie=String(ae||"").length,le=function(e){ee(!0),null==H||H(e)},ce=function(e){ee(!1),null==N||N(e)},de=s(function(){return"number"==typeof m?m:void 0},[m]);d(function(){if(!W&&O&&_.current){var e=_.current,t="object"==typeof O&&O.minRows||1,r="object"==typeof O?O.maxRows:void 0;e.style.height="auto";var o=e.scrollHeight,n=parseInt(window.getComputedStyle(e).lineHeight||"22",10),a=t*n,i=r?r*n:void 0,l=Math.max(o,a);i&&(l=Math.min(l,i)),e.style.height="".concat(l,"px"),oe(l)}},[ae,O,W]),d(function(){if(W&&O&&V.current){var e=V.current,t="object"==typeof O&&O.minRows||1,r="object"==typeof O?O.maxRows:void 0,o=parseInt(window.getComputedStyle(e).lineHeight||"24",10),n=t*o+24,a=r?r*o+24:void 0;e.style.height="auto";var i=Math.max(e.scrollHeight,n);a&&(i=Math.min(i,a)),e.style.height="".concat(i,"px"),e.style.overflowY=a&&e.scrollHeight>a?"auto":"hidden",oe(i)}},[O,ae,W]),u(function(){var e;if(W&&V.current&&!Y.current){var t=V.current,r=document.activeElement===t,o=r?P(t):0,n=null!==(e=$.current)&&void 0!==e?e:o,a=B(String(ae||""),j,c);if(t.innerHTML!==a&&(t.innerHTML=a),r){var i=String(ae||"").length;!function(e,t){var r=document.createRange(),o=window.getSelection();if(o){for(var n=Math.max(0,t),a=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),i=a.nextNode();i;){for(var l=i.textContent||"",c=0,d=-1,s=0;s<l.length;s+=1)if(""!==l[s]&&(c+=1),c===n){d=s+1;break}if(0===n)return r.setStart(i,0),r.collapse(!0),o.removeAllRanges(),void o.addRange(r);if(-1!==d)return r.setStart(i,d),r.collapse(!0),o.removeAllRanges(),void o.addRange(r);n-=c,i=a.nextNode()}r.selectNodeContents(e),r.collapse(!1),o.removeAllRanges(),o.addRange(r)}}(t,Math.min(n,i))}$.current=null}},[ae,c,W,j]);var se=function(e){null==R||R({target:{value:e},currentTarget:{value:e}})},ue=function(){if(V.current&&!Y.current){$.current=P(V.current);var e=I(V.current.textContent||""),t=de?e.slice(0,de):e;ne||X(t),se(t)}},pe="var(--shadow-xs)",fe=p(p(p(p({width:"100%",boxSizing:"border-box",fontFamily:"var(--font-family-body)",borderRadius:"var(--radius-md)"},c?{border:"1px solid var(--color-border-disabled)",boxShadow:pe,outline:"none"}:g&&Q?{border:"1px solid var(--color-border-error)",boxShadow:pe,outline:"2px solid var(--color-border-error)",outlineOffset:"-2px"}:g?{border:"1px solid var(--color-border-error_subtle)",boxShadow:pe,outline:"none"}:Q?{border:"1px solid var(--color-border-brand)",boxShadow:pe,outline:"2px solid var(--color-border-brand)",outlineOffset:"-2px"}:{border:"1px solid var(--color-border-primary)",boxShadow:pe,outline:"none"}),{backgroundColor:c||v?"var(--color-bg-disabled_subtle)":"var(--color-bg-primary)",color:c?"var(--color-text-disabled)":"var(--color-text-primary)",fontSize:"var(--font-size-text-md)",fontWeight:400,lineHeight:"var(--line-height-text-md)",padding:"12px 14px",transition:"border-color 0.15s ease, box-shadow 0.15s ease, outline-color 0.15s ease",resize:O||W?"none":"vertical",cursor:c?"not-allowed":"text",WebkitAppearance:"none",appearance:"none"}),void 0!==re&&O?{height:"".concat(re,"px")}:{}),w),he=e(r,{children:[t("style",{children:"\n .aha-textarea-wrapper textarea::placeholder {\n color: var(--color-text-placeholder);\n font-size: var(--font-size-text-md);\n font-weight: 400;\n opacity: 1;\n }\n .aha-textarea-wrapper textarea::-webkit-input-placeholder { color: var(--color-text-placeholder); }\n .aha-textarea-wrapper textarea::-moz-placeholder { color: var(--color-text-placeholder); }\n .aha-textarea-wrapper textarea:-ms-input-placeholder { color: var(--color-text-placeholder); }\n .aha-textarea-wrapper textarea {\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n touch-action: manipulation;\n }\n .aha-textarea-wrapper .aha-textarea-editable {\n white-space: pre-wrap;\n word-break: break-word;\n }\n .aha-textarea-wrapper .aha-textarea-editable:empty::before {\n content: attr(data-placeholder);\n color: var(--color-text-placeholder);\n }\n .aha-textarea-wrapper .aha-textarea-editable a {\n color: #2563EB;\n }\n "}),e("div",{className:"aha-textarea-wrapper ".concat(C),style:{position:"relative",display:"inline-flex",flexDirection:"column",width:"100%"},children:[W?t("div",{ref:V,className:"aha-textarea-editable",contentEditable:!c&&!v,suppressContentEditableWarning:!0,role:"textbox","aria-multiline":"true","aria-disabled":c,"data-placeholder":S||"",onInput:ue,onPaste:function(e){var t;if(e.preventDefault(),!v&&!c){var r,o,n=e.clipboardData.getData("text/plain"),a=String(ae||""),i=window.getSelection(),l="".concat(a).concat(n),d=a.length+n.length;if(i&&i.rangeCount>0&&(null===(t=V.current)||void 0===t?void 0:t.contains(i.anchorNode))){var s=P(V.current),u=(r=i.getRangeAt(0),(o=r.cloneRange()).selectNodeContents(V.current),o.setEnd(r.endContainer,r.endOffset),o.toString().length);l=a.slice(0,s)+n+a.slice(u),d=s+n.length}de&&(l=l.slice(0,de),d=Math.min(d,l.length)),$.current=d,ne||X(l),se(l)}},onKeyDown:function(e){var t,r;if("Enter"===e.key&&!e.nativeEvent.isComposing&&!c&&!v&&V.current){e.preventDefault();var o=String(ae||""),n=function(e){var t=window.getSelection();if(!t||0===t.rangeCount)return null;var r=t.getRangeAt(0);if(!e.contains(r.startContainer)||!e.contains(r.endContainer))return null;var o=r.cloneRange();o.selectNodeContents(e),o.setEnd(r.startContainer,r.startOffset);var n=r.cloneRange();return n.selectNodeContents(e),n.setEnd(r.endContainer,r.endOffset),{start:I(o.toString()).length,end:I(n.toString()).length}}(V.current),a=null!==(t=null==n?void 0:n.start)&&void 0!==t?t:o.length,i=null!==(r=null==n?void 0:n.end)&&void 0!==r?r:a,l="".concat(o.slice(0,a),"\n").concat(o.slice(i));de&&(l=l.slice(0,de));var d=Math.min(a+1,l.length);$.current=d,ne||X(l),se(l)}},onFocus:function(e){return le(e)},onBlur:function(e){return ce(e)},onCompositionStart:function(){Y.current=!0},onCompositionEnd:function(){Y.current=!1,ue()},style:p(p({},fe),{minHeight:O?void 0:"".concat(24*D+24,"px"),overflowY:O?"hidden":"auto"}),autoCorrect:Z.autoCorrect||"off",autoCapitalize:Z.autoCapitalize||"off",spellCheck:Z.spellCheck||!1}):t("textarea",p({ref:_,value:ae,placeholder:S,disabled:c,readOnly:v,rows:O?void 0:D,maxLength:m,onChange:function(e){ne||X(e.target.value),null==R||R(e)},onFocus:le,onBlur:ce,style:fe,autoComplete:Z.autoComplete||"off",autoCorrect:Z.autoCorrect||"off",autoCapitalize:Z.autoCapitalize||"off",spellCheck:Z.spellCheck||!1},Z)),(y||m)&&t("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:"4px",fontSize:"var(--font-size-text-xs)",lineHeight:"var(--line-height-text-xs)",color:c?"var(--color-text-disabled)":"var(--color-text-tertiary)",fontFamily:"var(--font-family-body)"},children:m?e("span",{children:[ie," / ",m]}):t("span",{children:ie})})]})]});return T||G?e("div",{style:{display:"flex",flexDirection:"column",gap:"6px",width:"100%"},children:[T&&e("label",{style:{fontFamily:"var(--font-family-body)",fontSize:"var(--font-size-text-sm)",fontWeight:500,lineHeight:"20px",color:"var(--color-text-secondary)",display:"flex",alignItems:"center",gap:"2px"},children:[T,M&&t("span",{style:{color:"var(--color-error-600)",marginLeft:"2px"},children:"*"}),q&&t("span",{style:{marginLeft:"4px",display:"inline-flex",alignItems:"center",color:"var(--color-fg-quaternary)"},children:q})]}),he,G&&t("p",{style:{margin:0,fontFamily:"var(--font-family-body)",fontSize:"var(--font-size-text-sm)",fontWeight:400,lineHeight:"20px",color:g?"var(--color-error-600)":"var(--color-text-tertiary)"},children:G})]}):he});H.displayName="Textarea";export{k as TextareaTags,H as default,A as websiteValidator};
|
|
1
|
+
import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import r,{createContext as o,useContext as i,useState as a,useRef as l,forwardRef as c,useEffect as d,useMemo as s,useLayoutEffect as u}from"react";var p=function(){return p=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},p.apply(this,arguments)};function f(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function h(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var g={primaryColor:"#FB6011"},x=o(g),b=function(){var e=i(x);return e||g},v="#1c1917",y="#44403c",m="#57534e",F="#79716b",C="#79716b",S="#d7d3d0",w="#fb6011",k="#f04438",z="#fda29b",E="#d7d3d0",D="#ffffff",P="#fafaf9",A="#a9a29d",B="#a9a29d",R={xs:"12px",sm:"14px",base:"16px",md:"16px",lg:"18px",xl:"20px",displayXs:"24px",displaySm:"30px",displayMd:"36px",displayLg:"48px",displayXl:"60px",display2xl:"72px"},I={xs:"18px",sm:"20px",base:"24px",md:"24px",lg:"28px",xl:"30px",displayXs:"32px",displaySm:"38px",displayMd:"44px",displayLg:"60px",displayXl:"72px",display2xl:"90px"},O={display:'"DM Sans", system-ui, -apple-system, sans-serif',body:'"DM Sans", system-ui, -apple-system, sans-serif',base:'"DM Sans", system-ui, -apple-system, sans-serif'}.body,H=R.md,L=R.sm,N=R.xs,M=I.md,T=I.sm,j=I.xs,W={textPrimary:v,textSecondary:y,textTertiary:m,textDisabled:F,textPlaceholder:C,borderPrimary:S,borderDisabled:E,borderBrand:w,borderError:k,borderErrorSubtle:z,bgPrimary:D,bgDisabledSubtle:P,fgDisabled:B,fgQuaternary:A,error600:"#d92d20"};function G(e){var t=e.disabled,n=void 0!==t&&t,r=e.error,o=void 0!==r&&r,i=e.focused,a=void 0!==i&&i,l=e.brandColor,c=W,d="0px 1px 2px 0px #0a0d120d",s=l||c.borderBrand;return n?{border:"1px solid ".concat(c.borderDisabled),boxShadow:d,outline:"none"}:o&&a?{border:"1px solid ".concat(c.borderError),boxShadow:d,outline:"2px solid ".concat(c.borderError),outlineOffset:"-2px"}:o?{border:"1px solid ".concat(c.borderErrorSubtle),boxShadow:d,outline:"none"}:a?{border:"1px solid ".concat(s),boxShadow:d,outline:"2px solid ".concat(s),outlineOffset:"-2px"}:{border:"1px solid ".concat(c.borderPrimary),boxShadow:d,outline:"none"}}function Z(){return{fontFamily:O,fontSize:L,fontWeight:500,lineHeight:T,color:W.textSecondary}}function q(e){return void 0===e&&(e=!1),{margin:0,fontFamily:O,fontSize:L,fontWeight:400,lineHeight:T,color:e?W.error600:W.textTertiary}}function V(e,t,n){return void 0===t&&(t=""),void 0===n&&(n=W.textPlaceholder),"\n ".concat(e,"::placeholder {\n color: ").concat(n,";\n font-size: ").concat(H,";\n font-weight: 400;\n opacity: 1;\n }\n ").concat(e,"::-webkit-input-placeholder { color: ").concat(n,"; }\n ").concat(e,"::-moz-placeholder { color: ").concat(n,"; }\n ").concat(e,":-ms-input-placeholder { color: ").concat(n,"; }\n ").concat(t,"\n ")}var X={Green:{light:{bg:"#ECFDF5",text:"#006045",border:"#A4F4CF"},fill:{bg:"#00BC7D",text:"#FFFFFF"}},Red:{light:{bg:"#FEF2F2",text:"#9F0712",border:"#FFC9C9"},fill:{bg:"#FB2C36",text:"#FFFFFF"}},Orange:{light:{bg:"#FFF6ED",text:"#9B2911",border:"#FFD1A9"},fill:{bg:"#FB6011",text:"#FFFFFF"}},Cyan:{light:{bg:"#ECFEFF",text:"#005F78",border:"#A2F4FD"},fill:{bg:"#00B8DB",text:"#FFFFFF"}},Violet:{light:{bg:"#F5F3FF",text:"#5D0EC0",border:"#DDD6FF"},fill:{bg:"#8E51FF",text:"#FFFFFF"}},Pink:{light:{bg:"#FDF2F8",text:"#A3004C",border:"#FCCEE8"},fill:{bg:"#F6339A",text:"#FFFFFF"}},Gray:{light:{bg:"#F5F5F4",text:"#292524",border:"#E7E5E4"},fill:{bg:"#292524",text:"#FFFFFF"}},Yellow:{light:{bg:"#FFFBEB",text:"#973C00",border:"#FEE685"},fill:{bg:"#FE9A00",text:"#FFFFFF"}},Blue:{light:{bg:"#EFF6FF",text:"#193CB8",border:"#BEDBFF"},fill:{bg:"#2B7FFF",text:"#FFFFFF"}}},Y={sm:{basePx:8,basePy:3,plCheckbox:5,plAvatar:4,plDot:6,plIcon:4,prClose:4,prCount:4,fontSize:12,lineHeight:"18px",height:24,avatarSize:16,checkboxSize:14,contentGap:4,rootGap:3,countPx:4,countFontSize:12,closeSize:10,closePad:2},md:{basePx:9,basePy:2,plCheckbox:4,plAvatar:5,plDot:7,plIcon:5,prClose:4,prCount:3,fontSize:14,lineHeight:"20px",height:24,avatarSize:16,checkboxSize:16,contentGap:5,rootGap:4,countPx:5,countFontSize:12,closeSize:12,closePad:2},lg:{basePx:10,basePy:4,plCheckbox:5,plAvatar:7,plDot:9,plIcon:7,prClose:4,prCount:4,fontSize:14,lineHeight:"20px",height:28,avatarSize:18,checkboxSize:18,contentGap:6,rootGap:4,countPx:6,countFontSize:14,closeSize:14,closePad:3}},Q=function(n){var r=n.src,o=n.alt,i=void 0===o?"Avatar":o,l=n.size,c=void 0===l?16:l,d=a(!1),s=d[0],u=d[1];return t("div",{style:{width:c,height:c,borderRadius:"50%",overflow:"hidden",flexShrink:0,border:"0.667px solid rgba(0,0,0,0.08)",background:"#e5e5e4",display:"flex",alignItems:"center",justifyContent:"center"},children:r&&!s?t("img",{src:r,alt:i,onError:function(){return u(!0)},style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}}):e("svg",{width:.625*c,height:.625*c,viewBox:"0 0 10 10",fill:"none",children:[t("circle",{cx:"5",cy:"3.5",r:"2",stroke:"#999",strokeWidth:"1.2"}),t("path",{d:"M1 9.5c0-2.2 1.8-4 4-4s4 1.8 4 4",stroke:"#999",strokeWidth:"1.2",strokeLinecap:"round"})]})})},$=function(n){var o=n.children,i=n.color,l=n.variant,c=void 0===l?"light":l,d=n.size,s=void 0===d?"md":d,u=n.stroke,h=void 0!==u&&u,g=n.iconType,x=n.icon,v=n.avatarSrc,y=n.dotColor,m=n.action,F=void 0===m?"none":m,C=n.count,S=n.onClose,w=n.checkbox,k=void 0!==w&&w,z=n.checked,E=n.onCheckedChange,D=n.iconPosition,P=n.className,A=void 0===P?"":P,B=n.onClick,R=f(n,["children","color","variant","size","stroke","iconType","icon","avatarSrc","dotColor","action","count","onClose","checkbox","checked","onCheckedChange","iconPosition","className","onClick"]),I=b().primaryColor,O=a(!1),H=O[0],L=O[1],N=function(e){return"large"===e?"lg":"small"===e?"sm":e}(s),M=Y[N],T=void 0!==z?z:H,j=null!=g?g:x&&"leading"===D?"icon":"none",W="none"!==F?F:void 0,G=k?M.plCheckbox:"dot"===j?M.plDot:"avatar"===j||"icon"===j?M.plAvatar:M.basePx,Z="x-close"===W?M.prClose:"count"===W?M.prCount:M.basePx,q={display:"inline-flex",alignItems:"center",gap:"x-close"===W?M.rootGap:0,paddingLeft:G,paddingRight:Z,paddingTop:M.basePy,paddingBottom:M.basePy,height:M.height,borderRadius:6,fontFamily:"DM Sans, sans-serif",fontWeight:500,fontSize:M.fontSize,lineHeight:M.lineHeight,transition:"all 0.2s",cursor:B?"pointer":"default",boxSizing:"border-box",backgroundColor:"#ffffff",color:"#44403c",outline:"1px solid #d7d3d0",outlineOffset:"-1px"};if(i){var V=function(e,t){if(e in X){var n=X[e];return"Orange"===e&&t?p(p({},n),{fill:p(p({},n.fill),{bg:t})}):n}if(e.startsWith("#")){var r=parseInt(e.slice(1,3),16),o=parseInt(e.slice(3,5),16),i=parseInt(e.slice(5,7),16);return{light:{bg:"rgba(".concat(r,",").concat(o,",").concat(i,",0.1)"),text:e,border:"rgba(".concat(r,",").concat(o,",").concat(i,",0.3)")},fill:{bg:e,text:"#FFFFFF"}}}return X.Gray}(i,I);"light"===c?(q.backgroundColor=V.light.bg,q.color=V.light.text,q.outline=h?"1px solid ".concat(function(e){var t={Green:"#A4F4CF",Red:"#FFC9C9",Orange:"#FFD1A9",Blue:"#BEDBFF",Yellow:"#FFD1A9",Cyan:"#A2F4FD",Violet:"#DDD6FF",Pink:"#FCCEE8",Gray:"#E7E5E4"};if(e in t)return t[e];if(e.startsWith("#")){var n=parseInt(e.slice(1,3),16),r=parseInt(e.slice(3,5),16),o=parseInt(e.slice(5,7),16);return"rgba(".concat(n,",").concat(r,",").concat(o,",0.3)")}return"#E7E5E4"}(i)):"none",q.outlineOffset=h?"-1px":void 0):(q.backgroundColor=V.fill.bg,q.color=V.fill.text,q.outline="none")}B&&(q.cursor="pointer");return e("div",p({className:A,style:q,onClick:B},R,{children:[e("div",{style:{display:"flex",alignItems:"center",gap:M.contentGap,flexShrink:0},children:[k&&t("div",{role:"checkbox","aria-checked":T,onClick:function(e){e.stopPropagation();var t=!T;void 0===z&&L(t),null==E||E(t)},style:{width:M.checkboxSize,height:M.checkboxSize,borderRadius:4,flexShrink:0,border:T?"none":"1px solid #d7d3d0",background:T?I||"#7F56D9":"#ffffff",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer"},children:T&&t("svg",{width:Math.round(.65*M.checkboxSize),height:Math.round(.65*M.checkboxSize),viewBox:"0 0 10 10",fill:"none",children:t("path",{d:"M8.5 2L4 7.5 1.5 5",stroke:"#fff",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),"avatar"===j?t(Q,{src:v,size:M.avatarSize}):"dot"===j?t("svg",{width:8,height:8,viewBox:"0 0 8 8",fill:"none",style:{flexShrink:0},children:t("circle",{cx:4,cy:4,r:3.5,fill:y||"currentColor"})}):"icon"===j&&x?t("span",{style:{display:"flex",alignItems:"center",flexShrink:0},children:r.cloneElement(x,{width:M.avatarSize,height:M.avatarSize})}):null,t("span",{style:{whiteSpace:"nowrap"},children:o}),"count"===W&&"number"==typeof C&&t("span",{style:{display:"flex",alignItems:"center",justifyContent:"center",paddingLeft:M.countPx,paddingRight:M.countPx,paddingTop:1,paddingBottom:1,background:"rgba(0,0,0,0.07)",borderRadius:3,fontSize:M.countFontSize,fontWeight:500,lineHeight:"16px",flexShrink:0},children:C})]}),"x-close"===W&&t("button",{"aria-label":"Remove",onClick:function(e){e.stopPropagation(),null==S||S()},style:{display:"flex",alignItems:"center",justifyContent:"center",padding:M.closePad,borderRadius:3,border:"none",background:"transparent",cursor:"pointer",flexShrink:0,color:"inherit",opacity:.55,lineHeight:0},children:t("svg",{width:M.closeSize,height:M.closeSize,viewBox:"0 0 10 10",fill:"none",children:t("path",{d:"M7.5 2.5l-5 5M2.5 2.5l5 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}),"after"===D&&x&&!g&&t("span",{style:{display:"flex",alignItems:"center",flexShrink:0,marginLeft:M.contentGap},children:x})]}))},K={small:"4px",mediumSmall:"6px",medium:"8px",large:"10px"},_={small:"sm",mediumSmall:"sm",medium:"md",large:"lg"},U=function(n){var r=n.value,o=n.defaultValue,i=void 0===o?[]:o,c=n.onChange,d=n.placeholder,s=void 0===d?"Add tag...":d,u=n.disabled,f=void 0!==u&&u,g=n.error,x=void 0!==g&&g,v=n.size,y=void 0===v?"mediumSmall":v,m=n.className,F=void 0===m?"":m,C=n.style,S=n.label,w=n.required,k=n.hintText,z=a(i),E=z[0],D=z[1],P=a(""),A=P[0],B=P[1],R=a(!1),I=R[0],L=R[1],N=l(null),T=b().primaryColor,j=void 0!==r,X=j?r:E,Y=function(e){j||D(e),null==c||c(e)},Q=function(e){var t=e.trim();t&&!X.includes(t)&&(Y(h(h([],X,!0),[t],!1)),B(""))},U=function(e){Y(X.filter(function(t,n){return n!==e}))},J=G({disabled:f,error:x,focused:I,brandColor:T}),ee=J.border,te=J.boxShadow,ne=J.outline,re=J.outlineOffset,oe=K[y],ie=_[y],ae=e("div",{className:"aha-input-tags ".concat(F),onClick:function(){var e;return null===(e=N.current)||void 0===e?void 0:e.focus()},style:p({display:"flex",flexWrap:"wrap",alignItems:"center",gap:"6px",padding:oe,border:ee,boxShadow:te,outline:ne,outlineOffset:re,borderRadius:"8px",backgroundColor:f?W.bgDisabledSubtle:W.bgPrimary,boxSizing:"border-box",width:"100%",transition:"border-color 0.15s ease, box-shadow 0.15s ease",cursor:f?"not-allowed":"text"},C),children:[X.map(function(e,n){return t($,{size:ie,action:f?"none":"x-close",onClose:function(){return U(n)},children:e},n)}),t("input",{ref:N,value:A,onChange:function(e){return B(e.target.value)},onKeyDown:function(e){"Enter"!==e.key&&","!==e.key||!A||(e.preventDefault(),Q(A)),"Backspace"===e.key&&!A&&X.length>0&&U(X.length-1)},onFocus:function(){return L(!0)},onBlur:function(){L(!1),A&&Q(A)},disabled:f,placeholder:0===X.length?s:"",style:{flex:1,minWidth:"80px",border:"none",outline:"none",padding:0,fontFamily:O,fontSize:H,lineHeight:M,color:f?W.textDisabled:W.textPrimary,backgroundColor:"transparent"}}),t("style",{children:V(".aha-input-tags input")})]});return S||k?e("div",{style:{display:"flex",flexDirection:"column",gap:"6px",width:"100%"},children:[S&&e("label",{style:Z(),children:[S,w&&t("span",{style:{color:W.error600,marginLeft:"2px"},children:"*"})]}),ae,k&&t("p",{style:q(x),children:k})]}):ae},J=function(n){var r=n.minHeight,o=void 0===r?120:r,i=n.style,a=n.label,l=n.required,c=n.hintText,d=n.helpIcon,s=n.error,u=f(n,["minHeight","style","label","required","hintText","helpIcon","error"]),h=t(U,p({error:s,style:p({minHeight:"".concat(o,"px"),alignItems:"flex-start",overflow:"auto",resize:"vertical"},i)},u));return a||c?e("div",{style:{display:"flex",flexDirection:"column",gap:"6px",width:"100%"},children:[a&&e("label",{style:p(p({},Z()),{display:"flex",alignItems:"center"}),children:[a,l&&t("span",{style:{color:W.error600,marginLeft:"2px"},children:"*"}),d&&t("span",{style:{marginLeft:"4px",display:"inline-flex",alignItems:"center",color:W.fgQuaternary},children:d})]}),h,c&&t("p",{style:q(s),children:c})]}):h},ee=/^(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}$/,te=/(https?:\/\/[^\s<]+|www\.[^\s<]+|(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(?:\/[^\s<]*)?)/gi,ne=new Set(["com","cn","net","org","io","co","edu","gov","ai","app","dev","me","info","biz","tech","cc","tv","xyz","top","vip","pro","store","site","online","cloud"]),re=function(e,t,n,r){if(void 0===t&&(t=!0),void 0===n&&(n=!0),!e||"string"!=typeof e)return!1;var o=e.trim();if(!o)return!1;var i=/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(o);if(t&&!i)return!1;var a=i?o:"https://".concat(o);try{var l=new URL(a),c=l.protocol.toLowerCase();if("http:"!==c&&"https:"!==c)return!1;if(n){var d=l.hostname.toLowerCase();if(!d)return!1;if("localhost"===d)return!0;if(/^\d{1,3}(\.\d{1,3}){3}$/.test(d))return d.split(".").every(function(e){var t=Number(e);return Number.isInteger(t)&&t>=0&&t<=255});if(!ee.test(d))return!1;var s=d.split(".").pop()||"";if(!(r?new Set(r.map(function(e){return e.toLowerCase()})):ne).has(s))return!1}return!0}catch(e){return!1}},oe=function(e){var t=e.match(/^(.*?)([),.;!?]+)?$/);return{core:(null==t?void 0:t[1])||e,suffix:(null==t?void 0:t[2])||""}},ie=function(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},ae=function(e){return e.replace(new RegExp("","g"),"")},le=function(e,t,n){var r=function(e,t){var n,r;if(!e)return[];for(var o=[],i=0,a=new RegExp(te),l=a.exec(e);l;){var c=l[0],d=l.index,s=d+c.length;d>i&&o.push({type:"text",text:e.slice(i,d)});var u=oe(c),p=u.core,f=u.suffix,h=/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(p)?p:"https://".concat(p),g=re(p,null!==(n=null==t?void 0:t.needProtocol)&&void 0!==n&&n,null===(r=null==t?void 0:t.needHost)||void 0===r||r,null==t?void 0:t.allowedTlds);((null==t?void 0:t.validate)?t.validate(h):g)&&p?(o.push({type:"url",text:p,href:h}),f&&o.push({type:"text",text:f})):o.push({type:"text",text:c}),i=s,l=a.exec(e)}return i<e.length&&o.push({type:"text",text:e.slice(i)}),o}(e,t);if(0===r.length)return"";var o=r.map(function(e){if("text"===e.type)return ie(e.text);var r=(null==t?void 0:t.className)?' class="'.concat(t.className,'"'):"",o=n?"pointer-events: none;":"";return'<a href="'.concat(ie(e.href),'" target="_blank" rel="noopener noreferrer"').concat(r,' style="color: #2563EB; text-decoration: underline; ').concat(o,'">').concat(ie(e.text),"</a>")}).join("");return e.endsWith("\n")?"".concat(o,'<span data-aha-zwsp="true">').concat("","</span>"):o},ce=function(e){var t=window.getSelection();if(!t||0===t.rangeCount)return 0;var n=t.getRangeAt(0);if(!e.contains(n.startContainer))return 0;var r=n.cloneRange();return r.selectNodeContents(e),r.setEnd(n.startContainer,n.startOffset),ae(r.toString()).length},de=c(function(o,i){var a=o.disabled,c=void 0!==a&&a,h=o.error,g=void 0!==h&&h,x=o.readOnly,v=void 0!==x&&x,y=o.showCount,m=void 0!==y&&y,F=o.maxLength,C=o.className,S=void 0===C?"":C,w=o.style,k=o.placeholder,z=o.value,E=o.defaultValue,D=o.rows,P=void 0===D?3:D,A=o.autoSize,B=void 0!==A&&A,R=o.onChange,I=o.onFocus,L=o.onBlur,T=o.linkify,X=void 0!==T&&T,Y=o.linkifyOptions,Q=o.label,$=o.required,K=o.hintText,_=o.helpIcon,U=f(o,["disabled","error","readOnly","showCount","maxLength","className","style","placeholder","value","defaultValue","rows","autoSize","onChange","onFocus","onBlur","linkify","linkifyOptions","label","required","hintText","helpIcon"]),J=l(null),ee=l(null),te=l(!1),ne=l(null),re=r.useState(E||z||""),oe=re[0],ie=re[1],de=r.useState(!1),se=de[0],ue=de[1],pe=r.useState(void 0),fe=pe[0],he=pe[1],ge=b().primaryColor;d(function(){"function"==typeof i?i(X?null:J.current):i&&(i.current=X?null:J.current)},[i,X]);var xe=void 0!==z,be=xe?z:oe,ve=String(be||"").length,ye=function(e){ue(!0),null==I||I(e)},me=function(e){ue(!1),null==L||L(e)},Fe=s(function(){return"number"==typeof F?F:void 0},[F]);d(function(){if(!X&&B&&J.current){var e=J.current,t="object"==typeof B&&B.minRows||1,n="object"==typeof B?B.maxRows:void 0;e.style.height="auto";var r=e.scrollHeight,o=parseInt(window.getComputedStyle(e).lineHeight||"22",10),i=t*o,a=n?n*o:void 0,l=Math.max(r,i);a&&(l=Math.min(l,a)),e.style.height="".concat(l,"px"),he(l)}},[be,B,X]),d(function(){if(X&&B&&ee.current){var e=ee.current,t="object"==typeof B&&B.minRows||1,n="object"==typeof B?B.maxRows:void 0,r=parseInt(window.getComputedStyle(e).lineHeight||"24",10),o=t*r+24,i=n?n*r+24:void 0;e.style.height="auto";var a=Math.max(e.scrollHeight,o);i&&(a=Math.min(a,i)),e.style.height="".concat(a,"px"),e.style.overflowY=i&&e.scrollHeight>i?"auto":"hidden",he(a)}},[B,be,X]),u(function(){var e;if(X&&ee.current&&!te.current){var t=ee.current,n=document.activeElement===t,r=n?ce(t):0,o=null!==(e=ne.current)&&void 0!==e?e:r,i=le(String(be||""),Y,c);if(t.innerHTML!==i&&(t.innerHTML=i),n){var a=String(be||"").length;!function(e,t){var n=document.createRange(),r=window.getSelection();if(r){for(var o=Math.max(0,t),i=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),a=i.nextNode();a;){for(var l=a.textContent||"",c=0,d=-1,s=0;s<l.length;s+=1)if(""!==l[s]&&(c+=1),c===o){d=s+1;break}if(0===o)return n.setStart(a,0),n.collapse(!0),r.removeAllRanges(),void r.addRange(n);if(-1!==d)return n.setStart(a,d),n.collapse(!0),r.removeAllRanges(),void r.addRange(n);o-=c,a=i.nextNode()}n.selectNodeContents(e),n.collapse(!1),r.removeAllRanges(),r.addRange(n)}}(t,Math.min(o,a))}ne.current=null}},[be,c,X,Y]);var Ce=function(e){null==R||R({target:{value:e},currentTarget:{value:e}})},Se=function(){if(ee.current&&!te.current){ne.current=ce(ee.current);var e=ae(ee.current.textContent||""),t=Fe?e.slice(0,Fe):e;xe||ie(t),Ce(t)}},we=p(p(p(p({width:"100%",boxSizing:"border-box",fontFamily:O,borderRadius:"8px"},G({disabled:c,error:g,focused:se,brandColor:ge})),{backgroundColor:c||v?W.bgDisabledSubtle:W.bgPrimary,color:c?W.textDisabled:W.textPrimary,fontSize:H,fontWeight:400,lineHeight:M,padding:"12px 14px",transition:"border-color 0.15s ease, box-shadow 0.15s ease, outline-color 0.15s ease",resize:B||X?"none":"vertical",cursor:c?"not-allowed":"text",WebkitAppearance:"none",appearance:"none"}),void 0!==fe&&B?{height:"".concat(fe,"px")}:{}),w),ke=V(".aha-textarea-wrapper textarea","\n .aha-textarea-wrapper textarea {\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n touch-action: manipulation;\n }\n .aha-textarea-wrapper .aha-textarea-editable {\n white-space: pre-wrap;\n word-break: break-word;\n }\n .aha-textarea-wrapper .aha-textarea-editable:empty::before {\n content: attr(data-placeholder);\n color: ".concat(W.textPlaceholder,";\n }\n .aha-textarea-wrapper .aha-textarea-editable a {\n color: #2563EB;\n }\n ")),ze=e(n,{children:[t("style",{children:ke}),e("div",{className:"aha-textarea-wrapper ".concat(S),style:{position:"relative",display:"inline-flex",flexDirection:"column",width:"100%"},children:[X?t("div",{ref:ee,className:"aha-textarea-editable",contentEditable:!c&&!v,suppressContentEditableWarning:!0,role:"textbox","aria-multiline":"true","aria-disabled":c,"data-placeholder":k||"",onInput:Se,onPaste:function(e){var t;if(e.preventDefault(),!v&&!c){var n,r,o=e.clipboardData.getData("text/plain"),i=String(be||""),a=window.getSelection(),l="".concat(i).concat(o),d=i.length+o.length;if(a&&a.rangeCount>0&&(null===(t=ee.current)||void 0===t?void 0:t.contains(a.anchorNode))){var s=ce(ee.current),u=(n=a.getRangeAt(0),(r=n.cloneRange()).selectNodeContents(ee.current),r.setEnd(n.endContainer,n.endOffset),r.toString().length);l=i.slice(0,s)+o+i.slice(u),d=s+o.length}Fe&&(l=l.slice(0,Fe),d=Math.min(d,l.length)),ne.current=d,xe||ie(l),Ce(l)}},onKeyDown:function(e){var t,n;if("Enter"===e.key&&!e.nativeEvent.isComposing&&!c&&!v&&ee.current){e.preventDefault();var r=String(be||""),o=function(e){var t=window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.getRangeAt(0);if(!e.contains(n.startContainer)||!e.contains(n.endContainer))return null;var r=n.cloneRange();r.selectNodeContents(e),r.setEnd(n.startContainer,n.startOffset);var o=n.cloneRange();return o.selectNodeContents(e),o.setEnd(n.endContainer,n.endOffset),{start:ae(r.toString()).length,end:ae(o.toString()).length}}(ee.current),i=null!==(t=null==o?void 0:o.start)&&void 0!==t?t:r.length,a=null!==(n=null==o?void 0:o.end)&&void 0!==n?n:i,l="".concat(r.slice(0,i),"\n").concat(r.slice(a));Fe&&(l=l.slice(0,Fe));var d=Math.min(i+1,l.length);ne.current=d,xe||ie(l),Ce(l)}},onFocus:function(e){return ye(e)},onBlur:function(e){return me(e)},onCompositionStart:function(){te.current=!0},onCompositionEnd:function(){te.current=!1,Se()},style:p(p({},we),{minHeight:B?void 0:"".concat(24*P+24,"px"),overflowY:B?"hidden":"auto"}),autoCorrect:U.autoCorrect||"off",autoCapitalize:U.autoCapitalize||"off",spellCheck:U.spellCheck||!1}):t("textarea",p({ref:J,value:be,placeholder:k,disabled:c,readOnly:v,rows:B?void 0:P,maxLength:F,onChange:function(e){xe||ie(e.target.value),null==R||R(e)},onFocus:ye,onBlur:me,style:we,autoComplete:U.autoComplete||"off",autoCorrect:U.autoCorrect||"off",autoCapitalize:U.autoCapitalize||"off",spellCheck:U.spellCheck||!1},U)),(m||F)&&t("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:"4px",fontSize:N,lineHeight:j,color:c?W.textDisabled:W.textTertiary,fontFamily:O},children:F?e("span",{children:[ve," / ",F]}):t("span",{children:ve})})]})]});return Q||K?e("div",{style:{display:"flex",flexDirection:"column",gap:"6px",width:"100%"},children:[Q&&e("label",{style:p(p({},Z()),{display:"flex",alignItems:"center",gap:"2px"}),children:[Q,$&&t("span",{style:{color:W.error600,marginLeft:"2px"},children:"*"}),_&&t("span",{style:{marginLeft:"4px",display:"inline-flex",alignItems:"center",color:W.fgQuaternary},children:_})]}),ze,K&&t("p",{style:q(g),children:K})]}):ze});de.displayName="Textarea";export{J as TextareaTags,de as default,re as websiteValidator};
|
|
2
2
|
//# sourceMappingURL=Textarea.esm.js.map
|