Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

@clack/core

Package Overview
Dependencies
Maintainers
5
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@clack/core - npm Package Compare versions

Comparing version
1.0.0
to
1.0.1
+7
-0
CHANGELOG.md
# @clack/core
## 1.0.1
### Patch Changes
- 6404dc1: Disallows selection of `disabled` options in autocomplete.
- 2533180: Updates the documentation to mention `userInputWithCursor` when using the `TextPrompt` primitive.
## 1.0.0

@@ -4,0 +11,0 @@

+1
-0

@@ -134,2 +134,3 @@ import { Key } from 'node:readline';

label?: string;
disabled?: boolean;
}

@@ -136,0 +137,0 @@ type FilterFunction<T extends OptionLike$1> = (search: string, opt: T) => boolean;

+6
-6

@@ -1,5 +0,5 @@

import w from"picocolors";import{stdout as R,stdin as q}from"node:process";import*as k from"node:readline";import ot from"node:readline";import{cursor as I,erase as N}from"sisteransi";import{ReadStream as J}from"node:tty";const at=t=>t===161||t===164||t===167||t===168||t===170||t===173||t===174||t>=176&&t<=180||t>=182&&t<=186||t>=188&&t<=191||t===198||t===208||t===215||t===216||t>=222&&t<=225||t===230||t>=232&&t<=234||t===236||t===237||t===240||t===242||t===243||t>=247&&t<=250||t===252||t===254||t===257||t===273||t===275||t===283||t===294||t===295||t===299||t>=305&&t<=307||t===312||t>=319&&t<=322||t===324||t>=328&&t<=331||t===333||t===338||t===339||t===358||t===359||t===363||t===462||t===464||t===466||t===468||t===470||t===472||t===474||t===476||t===593||t===609||t===708||t===711||t>=713&&t<=715||t===717||t===720||t>=728&&t<=731||t===733||t===735||t>=768&&t<=879||t>=913&&t<=929||t>=931&&t<=937||t>=945&&t<=961||t>=963&&t<=969||t===1025||t>=1040&&t<=1103||t===1105||t===8208||t>=8211&&t<=8214||t===8216||t===8217||t===8220||t===8221||t>=8224&&t<=8226||t>=8228&&t<=8231||t===8240||t===8242||t===8243||t===8245||t===8251||t===8254||t===8308||t===8319||t>=8321&&t<=8324||t===8364||t===8451||t===8453||t===8457||t===8467||t===8470||t===8481||t===8482||t===8486||t===8491||t===8531||t===8532||t>=8539&&t<=8542||t>=8544&&t<=8555||t>=8560&&t<=8569||t===8585||t>=8592&&t<=8601||t===8632||t===8633||t===8658||t===8660||t===8679||t===8704||t===8706||t===8707||t===8711||t===8712||t===8715||t===8719||t===8721||t===8725||t===8730||t>=8733&&t<=8736||t===8739||t===8741||t>=8743&&t<=8748||t===8750||t>=8756&&t<=8759||t===8764||t===8765||t===8776||t===8780||t===8786||t===8800||t===8801||t>=8804&&t<=8807||t===8810||t===8811||t===8814||t===8815||t===8834||t===8835||t===8838||t===8839||t===8853||t===8857||t===8869||t===8895||t===8978||t>=9312&&t<=9449||t>=9451&&t<=9547||t>=9552&&t<=9587||t>=9600&&t<=9615||t>=9618&&t<=9621||t===9632||t===9633||t>=9635&&t<=9641||t===9650||t===9651||t===9654||t===9655||t===9660||t===9661||t===9664||t===9665||t>=9670&&t<=9672||t===9675||t>=9678&&t<=9681||t>=9698&&t<=9701||t===9711||t===9733||t===9734||t===9737||t===9742||t===9743||t===9756||t===9758||t===9792||t===9794||t===9824||t===9825||t>=9827&&t<=9829||t>=9831&&t<=9834||t===9836||t===9837||t===9839||t===9886||t===9887||t===9919||t>=9926&&t<=9933||t>=9935&&t<=9939||t>=9941&&t<=9953||t===9955||t===9960||t===9961||t>=9963&&t<=9969||t===9972||t>=9974&&t<=9977||t===9979||t===9980||t===9982||t===9983||t===10045||t>=10102&&t<=10111||t>=11094&&t<=11097||t>=12872&&t<=12879||t>=57344&&t<=63743||t>=65024&&t<=65039||t===65533||t>=127232&&t<=127242||t>=127248&&t<=127277||t>=127280&&t<=127337||t>=127344&&t<=127373||t===127375||t===127376||t>=127387&&t<=127404||t>=917760&&t<=917999||t>=983040&&t<=1048573||t>=1048576&&t<=1114109,lt=t=>t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510,ht=t=>t>=4352&&t<=4447||t===8986||t===8987||t===9001||t===9002||t>=9193&&t<=9196||t===9200||t===9203||t===9725||t===9726||t===9748||t===9749||t>=9800&&t<=9811||t===9855||t===9875||t===9889||t===9898||t===9899||t===9917||t===9918||t===9924||t===9925||t===9934||t===9940||t===9962||t===9970||t===9971||t===9973||t===9978||t===9981||t===9989||t===9994||t===9995||t===10024||t===10060||t===10062||t>=10067&&t<=10069||t===10071||t>=10133&&t<=10135||t===10160||t===10175||t===11035||t===11036||t===11088||t===11093||t>=11904&&t<=11929||t>=11931&&t<=12019||t>=12032&&t<=12245||t>=12272&&t<=12287||t>=12289&&t<=12350||t>=12353&&t<=12438||t>=12441&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12771||t>=12783&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=19903||t>=19968&&t<=42124||t>=42128&&t<=42182||t>=43360&&t<=43388||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65049||t>=65072&&t<=65106||t>=65108&&t<=65126||t>=65128&&t<=65131||t>=94176&&t<=94180||t===94192||t===94193||t>=94208&&t<=100343||t>=100352&&t<=101589||t>=101632&&t<=101640||t>=110576&&t<=110579||t>=110581&&t<=110587||t===110589||t===110590||t>=110592&&t<=110882||t===110898||t>=110928&&t<=110930||t===110933||t>=110948&&t<=110951||t>=110960&&t<=111355||t===126980||t===127183||t===127374||t>=127377&&t<=127386||t>=127488&&t<=127490||t>=127504&&t<=127547||t>=127552&&t<=127560||t===127568||t===127569||t>=127584&&t<=127589||t>=127744&&t<=127776||t>=127789&&t<=127797||t>=127799&&t<=127868||t>=127870&&t<=127891||t>=127904&&t<=127946||t>=127951&&t<=127955||t>=127968&&t<=127984||t===127988||t>=127992&&t<=128062||t===128064||t>=128066&&t<=128252||t>=128255&&t<=128317||t>=128331&&t<=128334||t>=128336&&t<=128359||t===128378||t===128405||t===128406||t===128420||t>=128507&&t<=128591||t>=128640&&t<=128709||t===128716||t>=128720&&t<=128722||t>=128725&&t<=128727||t>=128732&&t<=128735||t===128747||t===128748||t>=128756&&t<=128764||t>=128992&&t<=129003||t===129008||t>=129292&&t<=129338||t>=129340&&t<=129349||t>=129351&&t<=129535||t>=129648&&t<=129660||t>=129664&&t<=129672||t>=129680&&t<=129725||t>=129727&&t<=129733||t>=129742&&t<=129755||t>=129760&&t<=129768||t>=129776&&t<=129784||t>=131072&&t<=196605||t>=196608&&t<=262141,O=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,y=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,M=/\t{1,1000}/y,P=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,L=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,ct=/\p{M}+/gu,pt={limit:1/0,ellipsis:""},X=(t,e={},s={})=>{const i=e.limit??1/0,r=e.ellipsis??"",n=e?.ellipsisWidth??(r?X(r,pt,s).width:0),u=s.ansiWidth??0,a=s.controlWidth??0,l=s.tabWidth??8,E=s.ambiguousWidth??1,g=s.emojiWidth??2,m=s.fullWidthWidth??2,A=s.regularWidth??1,V=s.wideWidth??2;let h=0,o=0,f=t.length,v=0,F=!1,d=f,b=Math.max(0,i-n),C=0,B=0,c=0,p=0;t:for(;;){if(B>C||o>=f&&o>h){const ut=t.slice(C,B)||t.slice(h,o);v=0;for(const Y of ut.replaceAll(ct,"")){const $=Y.codePointAt(0)||0;if(lt($)?p=m:ht($)?p=V:E!==A&&at($)?p=E:p=A,c+p>b&&(d=Math.min(d,Math.max(C,h)+v)),c+p>i){F=!0;break t}v+=Y.length,c+=p}C=B=0}if(o>=f)break;if(L.lastIndex=o,L.test(t)){if(v=L.lastIndex-o,p=v*A,c+p>b&&(d=Math.min(d,o+Math.floor((b-c)/A))),c+p>i){F=!0;break}c+=p,C=h,B=o,o=h=L.lastIndex;continue}if(O.lastIndex=o,O.test(t)){if(c+u>b&&(d=Math.min(d,o)),c+u>i){F=!0;break}c+=u,C=h,B=o,o=h=O.lastIndex;continue}if(y.lastIndex=o,y.test(t)){if(v=y.lastIndex-o,p=v*a,c+p>b&&(d=Math.min(d,o+Math.floor((b-c)/a))),c+p>i){F=!0;break}c+=p,C=h,B=o,o=h=y.lastIndex;continue}if(M.lastIndex=o,M.test(t)){if(v=M.lastIndex-o,p=v*l,c+p>b&&(d=Math.min(d,o+Math.floor((b-c)/l))),c+p>i){F=!0;break}c+=p,C=h,B=o,o=h=M.lastIndex;continue}if(P.lastIndex=o,P.test(t)){if(c+g>b&&(d=Math.min(d,o)),c+g>i){F=!0;break}c+=g,C=h,B=o,o=h=P.lastIndex;continue}o+=1}return{width:F?b:c,index:F?d:f,truncated:F,ellipsed:F&&i>=n}},ft={limit:1/0,ellipsis:"",ellipsisWidth:0},S=(t,e={})=>X(t,ft,e).width,W="\x1B",Z="\x9B",Ft=39,j="\x07",Q="[",dt="]",tt="m",U=`${dt}8;;`,et=new RegExp(`(?:\\${Q}(?<code>\\d+)m|\\${U}(?<uri>.*)${j})`,"y"),mt=t=>{if(t>=30&&t<=37||t>=90&&t<=97)return 39;if(t>=40&&t<=47||t>=100&&t<=107)return 49;if(t===1||t===2)return 22;if(t===3)return 23;if(t===4)return 24;if(t===7)return 27;if(t===8)return 28;if(t===9)return 29;if(t===0)return 0},st=t=>`${W}${Q}${t}${tt}`,it=t=>`${W}${U}${t}${j}`,gt=t=>t.map(e=>S(e)),G=(t,e,s)=>{const i=e[Symbol.iterator]();let r=!1,n=!1,u=t.at(-1),a=u===void 0?0:S(u),l=i.next(),E=i.next(),g=0;for(;!l.done;){const m=l.value,A=S(m);a+A<=s?t[t.length-1]+=m:(t.push(m),a=0),(m===W||m===Z)&&(r=!0,n=e.startsWith(U,g+1)),r?n?m===j&&(r=!1,n=!1):m===tt&&(r=!1):(a+=A,a===s&&!E.done&&(t.push(""),a=0)),l=E,E=i.next(),g+=m.length}u=t.at(-1),!a&&u!==void 0&&u.length>0&&t.length>1&&(t[t.length-2]+=t.pop())},vt=t=>{const e=t.split(" ");let s=e.length;for(;s>0&&!(S(e[s-1])>0);)s--;return s===e.length?t:e.slice(0,s).join(" ")+e.slice(s).join("")},Et=(t,e,s={})=>{if(s.trim!==!1&&t.trim()==="")return"";let i="",r,n;const u=t.split(" "),a=gt(u);let l=[""];for(const[h,o]of u.entries()){s.trim!==!1&&(l[l.length-1]=(l.at(-1)??"").trimStart());let f=S(l.at(-1)??"");if(h!==0&&(f>=e&&(s.wordWrap===!1||s.trim===!1)&&(l.push(""),f=0),(f>0||s.trim===!1)&&(l[l.length-1]+=" ",f++)),s.hard&&a[h]>e){const v=e-f,F=1+Math.floor((a[h]-v-1)/e);Math.floor((a[h]-1)/e)<F&&l.push(""),G(l,o,e);continue}if(f+a[h]>e&&f>0&&a[h]>0){if(s.wordWrap===!1&&f<e){G(l,o,e);continue}l.push("")}if(f+a[h]>e&&s.wordWrap===!1){G(l,o,e);continue}l[l.length-1]+=o}s.trim!==!1&&(l=l.map(h=>vt(h)));const E=l.join(`
`),g=E[Symbol.iterator]();let m=g.next(),A=g.next(),V=0;for(;!m.done;){const h=m.value,o=A.value;if(i+=h,h===W||h===Z){et.lastIndex=V+1;const F=et.exec(E)?.groups;if(F?.code!==void 0){const d=Number.parseFloat(F.code);r=d===Ft?void 0:d}else F?.uri!==void 0&&(n=F.uri.length===0?void 0:F.uri)}const f=r?mt(r):void 0;o===`
`?(n&&(i+=it("")),r&&f&&(i+=st(f))):h===`
`&&(r&&f&&(i+=st(r)),n&&(i+=it(n))),V+=h.length,m=A,A=g.next()}return i};function K(t,e,s){return String(t).normalize().replaceAll(`\r
import D from"picocolors";import{stdout as R,stdin as q}from"node:process";import*as k from"node:readline";import ot from"node:readline";import{cursor as I,erase as N}from"sisteransi";import{ReadStream as J}from"node:tty";function B(t,e,s){if(!s.some(u=>!u.disabled))return t;const i=t+e,r=Math.max(s.length-1,0),n=i<0?r:i>r?0:i;return s[n].disabled?B(n,e<0?-1:1,s):n}const at=t=>t===161||t===164||t===167||t===168||t===170||t===173||t===174||t>=176&&t<=180||t>=182&&t<=186||t>=188&&t<=191||t===198||t===208||t===215||t===216||t>=222&&t<=225||t===230||t>=232&&t<=234||t===236||t===237||t===240||t===242||t===243||t>=247&&t<=250||t===252||t===254||t===257||t===273||t===275||t===283||t===294||t===295||t===299||t>=305&&t<=307||t===312||t>=319&&t<=322||t===324||t>=328&&t<=331||t===333||t===338||t===339||t===358||t===359||t===363||t===462||t===464||t===466||t===468||t===470||t===472||t===474||t===476||t===593||t===609||t===708||t===711||t>=713&&t<=715||t===717||t===720||t>=728&&t<=731||t===733||t===735||t>=768&&t<=879||t>=913&&t<=929||t>=931&&t<=937||t>=945&&t<=961||t>=963&&t<=969||t===1025||t>=1040&&t<=1103||t===1105||t===8208||t>=8211&&t<=8214||t===8216||t===8217||t===8220||t===8221||t>=8224&&t<=8226||t>=8228&&t<=8231||t===8240||t===8242||t===8243||t===8245||t===8251||t===8254||t===8308||t===8319||t>=8321&&t<=8324||t===8364||t===8451||t===8453||t===8457||t===8467||t===8470||t===8481||t===8482||t===8486||t===8491||t===8531||t===8532||t>=8539&&t<=8542||t>=8544&&t<=8555||t>=8560&&t<=8569||t===8585||t>=8592&&t<=8601||t===8632||t===8633||t===8658||t===8660||t===8679||t===8704||t===8706||t===8707||t===8711||t===8712||t===8715||t===8719||t===8721||t===8725||t===8730||t>=8733&&t<=8736||t===8739||t===8741||t>=8743&&t<=8748||t===8750||t>=8756&&t<=8759||t===8764||t===8765||t===8776||t===8780||t===8786||t===8800||t===8801||t>=8804&&t<=8807||t===8810||t===8811||t===8814||t===8815||t===8834||t===8835||t===8838||t===8839||t===8853||t===8857||t===8869||t===8895||t===8978||t>=9312&&t<=9449||t>=9451&&t<=9547||t>=9552&&t<=9587||t>=9600&&t<=9615||t>=9618&&t<=9621||t===9632||t===9633||t>=9635&&t<=9641||t===9650||t===9651||t===9654||t===9655||t===9660||t===9661||t===9664||t===9665||t>=9670&&t<=9672||t===9675||t>=9678&&t<=9681||t>=9698&&t<=9701||t===9711||t===9733||t===9734||t===9737||t===9742||t===9743||t===9756||t===9758||t===9792||t===9794||t===9824||t===9825||t>=9827&&t<=9829||t>=9831&&t<=9834||t===9836||t===9837||t===9839||t===9886||t===9887||t===9919||t>=9926&&t<=9933||t>=9935&&t<=9939||t>=9941&&t<=9953||t===9955||t===9960||t===9961||t>=9963&&t<=9969||t===9972||t>=9974&&t<=9977||t===9979||t===9980||t===9982||t===9983||t===10045||t>=10102&&t<=10111||t>=11094&&t<=11097||t>=12872&&t<=12879||t>=57344&&t<=63743||t>=65024&&t<=65039||t===65533||t>=127232&&t<=127242||t>=127248&&t<=127277||t>=127280&&t<=127337||t>=127344&&t<=127373||t===127375||t===127376||t>=127387&&t<=127404||t>=917760&&t<=917999||t>=983040&&t<=1048573||t>=1048576&&t<=1114109,lt=t=>t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510,ht=t=>t>=4352&&t<=4447||t===8986||t===8987||t===9001||t===9002||t>=9193&&t<=9196||t===9200||t===9203||t===9725||t===9726||t===9748||t===9749||t>=9800&&t<=9811||t===9855||t===9875||t===9889||t===9898||t===9899||t===9917||t===9918||t===9924||t===9925||t===9934||t===9940||t===9962||t===9970||t===9971||t===9973||t===9978||t===9981||t===9989||t===9994||t===9995||t===10024||t===10060||t===10062||t>=10067&&t<=10069||t===10071||t>=10133&&t<=10135||t===10160||t===10175||t===11035||t===11036||t===11088||t===11093||t>=11904&&t<=11929||t>=11931&&t<=12019||t>=12032&&t<=12245||t>=12272&&t<=12287||t>=12289&&t<=12350||t>=12353&&t<=12438||t>=12441&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12771||t>=12783&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=19903||t>=19968&&t<=42124||t>=42128&&t<=42182||t>=43360&&t<=43388||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65049||t>=65072&&t<=65106||t>=65108&&t<=65126||t>=65128&&t<=65131||t>=94176&&t<=94180||t===94192||t===94193||t>=94208&&t<=100343||t>=100352&&t<=101589||t>=101632&&t<=101640||t>=110576&&t<=110579||t>=110581&&t<=110587||t===110589||t===110590||t>=110592&&t<=110882||t===110898||t>=110928&&t<=110930||t===110933||t>=110948&&t<=110951||t>=110960&&t<=111355||t===126980||t===127183||t===127374||t>=127377&&t<=127386||t>=127488&&t<=127490||t>=127504&&t<=127547||t>=127552&&t<=127560||t===127568||t===127569||t>=127584&&t<=127589||t>=127744&&t<=127776||t>=127789&&t<=127797||t>=127799&&t<=127868||t>=127870&&t<=127891||t>=127904&&t<=127946||t>=127951&&t<=127955||t>=127968&&t<=127984||t===127988||t>=127992&&t<=128062||t===128064||t>=128066&&t<=128252||t>=128255&&t<=128317||t>=128331&&t<=128334||t>=128336&&t<=128359||t===128378||t===128405||t===128406||t===128420||t>=128507&&t<=128591||t>=128640&&t<=128709||t===128716||t>=128720&&t<=128722||t>=128725&&t<=128727||t>=128732&&t<=128735||t===128747||t===128748||t>=128756&&t<=128764||t>=128992&&t<=129003||t===129008||t>=129292&&t<=129338||t>=129340&&t<=129349||t>=129351&&t<=129535||t>=129648&&t<=129660||t>=129664&&t<=129672||t>=129680&&t<=129725||t>=129727&&t<=129733||t>=129742&&t<=129755||t>=129760&&t<=129768||t>=129776&&t<=129784||t>=131072&&t<=196605||t>=196608&&t<=262141,O=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,y=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,L=/\t{1,1000}/y,P=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,M=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,ct=/\p{M}+/gu,ft={limit:1/0,ellipsis:""},X=(t,e={},s={})=>{const i=e.limit??1/0,r=e.ellipsis??"",n=e?.ellipsisWidth??(r?X(r,ft,s).width:0),u=s.ansiWidth??0,a=s.controlWidth??0,l=s.tabWidth??8,E=s.ambiguousWidth??1,g=s.emojiWidth??2,m=s.fullWidthWidth??2,A=s.regularWidth??1,V=s.wideWidth??2;let h=0,o=0,p=t.length,v=0,F=!1,d=p,b=Math.max(0,i-n),C=0,w=0,c=0,f=0;t:for(;;){if(w>C||o>=p&&o>h){const ut=t.slice(C,w)||t.slice(h,o);v=0;for(const Y of ut.replaceAll(ct,"")){const $=Y.codePointAt(0)||0;if(lt($)?f=m:ht($)?f=V:E!==A&&at($)?f=E:f=A,c+f>b&&(d=Math.min(d,Math.max(C,h)+v)),c+f>i){F=!0;break t}v+=Y.length,c+=f}C=w=0}if(o>=p)break;if(M.lastIndex=o,M.test(t)){if(v=M.lastIndex-o,f=v*A,c+f>b&&(d=Math.min(d,o+Math.floor((b-c)/A))),c+f>i){F=!0;break}c+=f,C=h,w=o,o=h=M.lastIndex;continue}if(O.lastIndex=o,O.test(t)){if(c+u>b&&(d=Math.min(d,o)),c+u>i){F=!0;break}c+=u,C=h,w=o,o=h=O.lastIndex;continue}if(y.lastIndex=o,y.test(t)){if(v=y.lastIndex-o,f=v*a,c+f>b&&(d=Math.min(d,o+Math.floor((b-c)/a))),c+f>i){F=!0;break}c+=f,C=h,w=o,o=h=y.lastIndex;continue}if(L.lastIndex=o,L.test(t)){if(v=L.lastIndex-o,f=v*l,c+f>b&&(d=Math.min(d,o+Math.floor((b-c)/l))),c+f>i){F=!0;break}c+=f,C=h,w=o,o=h=L.lastIndex;continue}if(P.lastIndex=o,P.test(t)){if(c+g>b&&(d=Math.min(d,o)),c+g>i){F=!0;break}c+=g,C=h,w=o,o=h=P.lastIndex;continue}o+=1}return{width:F?b:c,index:F?d:p,truncated:F,ellipsed:F&&i>=n}},pt={limit:1/0,ellipsis:"",ellipsisWidth:0},S=(t,e={})=>X(t,pt,e).width,W="\x1B",Z="\x9B",Ft=39,j="\x07",Q="[",dt="]",tt="m",U=`${dt}8;;`,et=new RegExp(`(?:\\${Q}(?<code>\\d+)m|\\${U}(?<uri>.*)${j})`,"y"),mt=t=>{if(t>=30&&t<=37||t>=90&&t<=97)return 39;if(t>=40&&t<=47||t>=100&&t<=107)return 49;if(t===1||t===2)return 22;if(t===3)return 23;if(t===4)return 24;if(t===7)return 27;if(t===8)return 28;if(t===9)return 29;if(t===0)return 0},st=t=>`${W}${Q}${t}${tt}`,it=t=>`${W}${U}${t}${j}`,gt=t=>t.map(e=>S(e)),G=(t,e,s)=>{const i=e[Symbol.iterator]();let r=!1,n=!1,u=t.at(-1),a=u===void 0?0:S(u),l=i.next(),E=i.next(),g=0;for(;!l.done;){const m=l.value,A=S(m);a+A<=s?t[t.length-1]+=m:(t.push(m),a=0),(m===W||m===Z)&&(r=!0,n=e.startsWith(U,g+1)),r?n?m===j&&(r=!1,n=!1):m===tt&&(r=!1):(a+=A,a===s&&!E.done&&(t.push(""),a=0)),l=E,E=i.next(),g+=m.length}u=t.at(-1),!a&&u!==void 0&&u.length>0&&t.length>1&&(t[t.length-2]+=t.pop())},vt=t=>{const e=t.split(" ");let s=e.length;for(;s>0&&!(S(e[s-1])>0);)s--;return s===e.length?t:e.slice(0,s).join(" ")+e.slice(s).join("")},Et=(t,e,s={})=>{if(s.trim!==!1&&t.trim()==="")return"";let i="",r,n;const u=t.split(" "),a=gt(u);let l=[""];for(const[h,o]of u.entries()){s.trim!==!1&&(l[l.length-1]=(l.at(-1)??"").trimStart());let p=S(l.at(-1)??"");if(h!==0&&(p>=e&&(s.wordWrap===!1||s.trim===!1)&&(l.push(""),p=0),(p>0||s.trim===!1)&&(l[l.length-1]+=" ",p++)),s.hard&&a[h]>e){const v=e-p,F=1+Math.floor((a[h]-v-1)/e);Math.floor((a[h]-1)/e)<F&&l.push(""),G(l,o,e);continue}if(p+a[h]>e&&p>0&&a[h]>0){if(s.wordWrap===!1&&p<e){G(l,o,e);continue}l.push("")}if(p+a[h]>e&&s.wordWrap===!1){G(l,o,e);continue}l[l.length-1]+=o}s.trim!==!1&&(l=l.map(h=>vt(h)));const E=l.join(`
`),g=E[Symbol.iterator]();let m=g.next(),A=g.next(),V=0;for(;!m.done;){const h=m.value,o=A.value;if(i+=h,h===W||h===Z){et.lastIndex=V+1;const F=et.exec(E)?.groups;if(F?.code!==void 0){const d=Number.parseFloat(F.code);r=d===Ft?void 0:d}else F?.uri!==void 0&&(n=F.uri.length===0?void 0:F.uri)}const p=r?mt(r):void 0;o===`
`?(n&&(i+=it("")),r&&p&&(i+=st(p))):h===`
`&&(r&&p&&(i+=st(r)),n&&(i+=it(n))),V+=h.length,m=A,A=g.next()}return i};function K(t,e,s){return String(t).normalize().replaceAll(`\r
`,`

@@ -10,3 +10,3 @@ `).split(`

`),i=e.split(`
`),r=Math.max(s.length,i.length),n=[];for(let u=0;u<r;u++)s[u]!==i[u]&&n.push(u);return{lines:n,numLinesBefore:s.length,numLinesAfter:i.length,numLines:r}}const bt=globalThis.process.platform.startsWith("win"),z=Symbol("clack:cancel");function Ct(t){return t===z}function T(t,e){const s=t;s.isTTY&&s.setRawMode(e)}function xt({input:t=q,output:e=R,overwrite:s=!0,hideCursor:i=!0}={}){const r=k.createInterface({input:t,output:e,prompt:"",tabSize:1});k.emitKeypressEvents(t,r),t instanceof J&&t.isTTY&&t.setRawMode(!0);const n=(u,{name:a,sequence:l})=>{const E=String(u);if(H([E,a,l],"cancel")){i&&e.write(I.show),process.exit(0);return}if(!s)return;const g=a==="return"?0:-1,m=a==="return"?-1:0;k.moveCursor(e,g,m,()=>{k.clearLine(e,1,()=>{t.once("keypress",n)})})};return i&&e.write(I.hide),t.once("keypress",n),()=>{t.off("keypress",n),i&&e.write(I.show),t instanceof J&&t.isTTY&&!bt&&t.setRawMode(!1),r.terminal=!1,r.close()}}const rt=t=>"columns"in t&&typeof t.columns=="number"?t.columns:80,nt=t=>"rows"in t&&typeof t.rows=="number"?t.rows:20;function Bt(t,e,s,i=s){const r=rt(t??R);return K(e,r-s.length,{hard:!0,trim:!1}).split(`
`),r=Math.max(s.length,i.length),n=[];for(let u=0;u<r;u++)s[u]!==i[u]&&n.push(u);return{lines:n,numLinesBefore:s.length,numLinesAfter:i.length,numLines:r}}const bt=globalThis.process.platform.startsWith("win"),z=Symbol("clack:cancel");function Ct(t){return t===z}function T(t,e){const s=t;s.isTTY&&s.setRawMode(e)}function Bt({input:t=q,output:e=R,overwrite:s=!0,hideCursor:i=!0}={}){const r=k.createInterface({input:t,output:e,prompt:"",tabSize:1});k.emitKeypressEvents(t,r),t instanceof J&&t.isTTY&&t.setRawMode(!0);const n=(u,{name:a,sequence:l})=>{const E=String(u);if(H([E,a,l],"cancel")){i&&e.write(I.show),process.exit(0);return}if(!s)return;const g=a==="return"?0:-1,m=a==="return"?-1:0;k.moveCursor(e,g,m,()=>{k.clearLine(e,1,()=>{t.once("keypress",n)})})};return i&&e.write(I.hide),t.once("keypress",n),()=>{t.off("keypress",n),i&&e.write(I.show),t instanceof J&&t.isTTY&&!bt&&t.setRawMode(!1),r.terminal=!1,r.close()}}const rt=t=>"columns"in t&&typeof t.columns=="number"?t.columns:80,nt=t=>"rows"in t&&typeof t.rows=="number"?t.rows:20;function xt(t,e,s,i=s){const r=rt(t??R);return K(e,r-s.length,{hard:!0,trim:!1}).split(`
`).map((n,u)=>`${u===0?i:s}${n}`).join(`

@@ -18,3 +18,3 @@ `)}class x{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(e,s=!0){const{input:i=q,output:r=R,render:n,signal:u,...a}=e;this.opts=a,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=n.bind(this),this._track=s,this._abortSignal=u,this.input=i,this.output=r}unsubscribe(){this._subscribers.clear()}setSubscriber(e,s){const i=this._subscribers.get(e)??[];i.push(s),this._subscribers.set(e,i)}on(e,s){this.setSubscriber(e,{cb:s})}once(e,s){this.setSubscriber(e,{cb:s,once:!0})}emit(e,...s){const i=this._subscribers.get(e)??[],r=[];for(const n of i)n.cb(...s),n.once&&r.push(()=>i.splice(i.indexOf(n),1));for(const n of r)n()}prompt(){return new Promise(e=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),e(z);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=ot.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),T(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(I.show),this.output.off("resize",this.render),T(this.input,!1),e(this.value)}),this.once("cancel",()=>{this.output.write(I.show),this.output.off("resize",this.render),T(this.input,!1),e(z)})})}_isActionKey(e,s){return e===" "}_setValue(e){this.value=e,this.emit("value",this.value)}_setUserInput(e,s){this.userInput=e??"",this.emit("userInput",this.userInput),s&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(e,s){if(this._track&&s.name!=="return"&&(s.name&&this._isActionKey(e,s)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),s?.name&&(!this._track&&_.aliases.has(s.name)&&this.emit("cursor",_.aliases.get(s.name)),_.actions.has(s.name)&&this.emit("cursor",s.name)),e&&(e.toLowerCase()==="y"||e.toLowerCase()==="n")&&this.emit("confirm",e.toLowerCase()==="y"),this.emit("key",e?.toLowerCase(),s),s?.name==="return"){if(this.opts.validate){const i=this.opts.validate(this.value);i&&(this.error=i instanceof Error?i.message:i,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}H([e,s?.name,s?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`

`).slice(u);this.output.write(a.join(`
`)),this._prevFrame=e;return}}this.output.write(N.down())}this.output.write(e),this.state==="initial"&&(this.state="active"),this._prevFrame=e}}}function wt(t,e){if(t===void 0||e.length===0)return 0;const s=e.findIndex(i=>i.value===t);return s!==-1?s:0}function Dt(t,e){return(e.label??String(e.value)).toLowerCase().includes(t.toLowerCase())}function St(t,e){if(e)return t?e:e[0]}class Vt extends x{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#t=0;#s="";#i;#e;get cursor(){return this.#t}get userInputWithCursor(){if(!this.userInput)return w.inverse(w.hidden("_"));if(this._cursor>=this.userInput.length)return`${this.userInput}\u2588`;const e=this.userInput.slice(0,this._cursor),[s,...i]=this.userInput.slice(this._cursor);return`${e}${w.inverse(s)}${i.join("")}`}get options(){return typeof this.#e=="function"?this.#e():this.#e}constructor(e){super(e),this.#e=e.options;const s=this.options;this.filteredOptions=[...s],this.multiple=e.multiple===!0,this.#i=e.filter??Dt;let i;if(e.initialValue&&Array.isArray(e.initialValue)?this.multiple?i=e.initialValue:i=e.initialValue.slice(0,1):!this.multiple&&this.options.length>0&&(i=[this.options[0].value]),i)for(const r of i){const n=s.findIndex(u=>u.value===r);n!==-1&&(this.toggleSelected(r),this.#t=n)}this.focusedValue=this.options[this.#t]?.value,this.on("key",(r,n)=>this.#r(r,n)),this.on("userInput",r=>this.#n(r))}_isActionKey(e,s){return e===" "||this.multiple&&this.isNavigating&&s.name==="space"&&e!==void 0&&e!==""}#r(e,s){const i=s.name==="up",r=s.name==="down",n=s.name==="return";i||r?(this.#t=Math.max(0,Math.min(this.#t+(i?-1:1),this.filteredOptions.length-1)),this.focusedValue=this.filteredOptions[this.#t]?.value,this.multiple||(this.selectedValues=[this.focusedValue]),this.isNavigating=!0):n?this.value=St(this.multiple,this.selectedValues):this.multiple?this.focusedValue!==void 0&&(s.name==="tab"||this.isNavigating&&s.name==="space")?this.toggleSelected(this.focusedValue):this.isNavigating=!1:(this.focusedValue&&(this.selectedValues=[this.focusedValue]),this.isNavigating=!1)}deselectAll(){this.selectedValues=[]}toggleSelected(e){this.filteredOptions.length!==0&&(this.multiple?this.selectedValues.includes(e)?this.selectedValues=this.selectedValues.filter(s=>s!==e):this.selectedValues=[...this.selectedValues,e]:this.selectedValues=[e])}#n(e){if(e!==this.#s){this.#s=e;const s=this.options;e?this.filteredOptions=s.filter(i=>this.#i(e,i)):this.filteredOptions=[...s],this.#t=wt(this.focusedValue,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#t]?.value,this.multiple||(this.focusedValue!==void 0?this.toggleSelected(this.focusedValue):this.deselectAll())}}}class kt extends x{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",s=>{this.output.write(I.move(0,-1)),this.value=s,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}class yt extends x{options;cursor=0;#t;getGroupItems(e){return this.options.filter(s=>s.group===e)}isGroupSelected(e){const s=this.getGroupItems(e),i=this.value;return i===void 0?!1:s.every(r=>i.includes(r.value))}toggleValue(){const e=this.options[this.cursor];if(this.value===void 0&&(this.value=[]),e.group===!0){const s=e.value,i=this.getGroupItems(s);this.isGroupSelected(s)?this.value=this.value.filter(r=>i.findIndex(n=>n.value===r)===-1):this.value=[...this.value,...i.map(r=>r.value)],this.value=Array.from(new Set(this.value))}else{const s=this.value.includes(e.value);this.value=s?this.value.filter(i=>i!==e.value):[...this.value,e.value]}}constructor(e){super(e,!1);const{options:s}=e;this.#t=e.selectableGroups!==!1,this.options=Object.entries(s).flatMap(([i,r])=>[{value:i,group:!0,label:i},...r.map(n=>({...n,group:i}))]),this.value=[...e.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:i})=>i===e.cursorAt),this.#t?0:1),this.on("cursor",i=>{switch(i){case"left":case"up":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;const r=this.options[this.cursor]?.group===!0;!this.#t&&r&&(this.cursor=this.cursor===0?this.options.length-1:this.cursor-1);break}case"down":case"right":{this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;const r=this.options[this.cursor]?.group===!0;!this.#t&&r&&(this.cursor=this.cursor===this.options.length-1?0:this.cursor+1);break}case"space":this.toggleValue();break}})}}function D(t,e,s){const i=t+e,r=Math.max(s.length-1,0),n=i<0?r:i>r?0:i;return s[n].disabled?D(n,e<0?-1:1,s):n}class Mt extends x{options;cursor=0;get _value(){return this.options[this.cursor].value}get _enabledOptions(){return this.options.filter(e=>e.disabled!==!0)}toggleAll(){const e=this._enabledOptions,s=this.value!==void 0&&this.value.length===e.length;this.value=s?[]:e.map(i=>i.value)}toggleInvert(){const e=this.value;if(!e)return;const s=this._enabledOptions.filter(i=>!e.includes(i.value));this.value=s.map(i=>i.value)}toggleValue(){this.value===void 0&&(this.value=[]);const e=this.value.includes(this._value);this.value=e?this.value.filter(s=>s!==this._value):[...this.value,this._value]}constructor(e){super(e,!1),this.options=e.options,this.value=[...e.initialValues??[]];const s=Math.max(this.options.findIndex(({value:i})=>i===e.cursorAt),0);this.cursor=this.options[s].disabled?D(s,1,this.options):s,this.on("key",i=>{i==="a"&&this.toggleAll(),i==="i"&&this.toggleInvert()}),this.on("cursor",i=>{switch(i){case"left":case"up":this.cursor=D(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=D(this.cursor,1,this.options);break;case"space":this.toggleValue();break}})}}let Lt=class extends x{_mask="\u2022";get cursor(){return this._cursor}get masked(){return this.userInput.replaceAll(/./g,this._mask)}get userInputWithCursor(){if(this.state==="submit"||this.state==="cancel")return this.masked;const e=this.userInput;if(this.cursor>=e.length)return`${this.masked}${w.inverse(w.hidden("_"))}`;const s=this.masked,i=s.slice(0,this.cursor),r=s.slice(this.cursor);return`${i}${w.inverse(r[0])}${r.slice(1)}`}clear(){this._clearUserInput()}constructor({mask:e,...s}){super(s),this._mask=e??"\u2022",this.on("userInput",i=>{this._setValue(i)})}};class Wt extends x{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(e){super(e,!1),this.options=e.options;const s=this.options.findIndex(({value:r})=>r===e.initialValue),i=s===-1?0:s;this.cursor=this.options[i].disabled?D(i,1,this.options):i,this.changeValue(),this.on("cursor",r=>{switch(r){case"left":case"up":this.cursor=D(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=D(this.cursor,1,this.options);break}this.changeValue()})}}class Tt extends x{options;cursor=0;constructor(e){super(e,!1),this.options=e.options;const s=e.caseSensitive===!0,i=this.options.map(({value:[r]})=>s?r:r?.toLowerCase());this.cursor=Math.max(i.indexOf(e.initialValue),0),this.on("key",(r,n)=>{if(!r)return;const u=s&&n.shift?r.toUpperCase():r;if(!i.includes(u))return;const a=this.options.find(({value:[l]})=>s?l===u:l?.toLowerCase()===r);a&&(this.value=a.value,this.state="submit",this.emit("submit"))})}}class $t extends x{get userInputWithCursor(){if(this.state==="submit")return this.userInput;const e=this.userInput;if(this.cursor>=e.length)return`${this.userInput}\u2588`;const s=e.slice(0,this.cursor),[i,...r]=e.slice(this.cursor);return`${s}${w.inverse(i)}${r.join("")}`}get cursor(){return this._cursor}constructor(e){super({...e,initialUserInput:e.initialUserInput??e.initialValue}),this.on("userInput",s=>{this._setValue(s)}),this.on("finalize",()=>{this.value||(this.value=e.defaultValue),this.value===void 0&&(this.value="")})}}export{Vt as AutocompletePrompt,kt as ConfirmPrompt,yt as GroupMultiSelectPrompt,Mt as MultiSelectPrompt,Lt as PasswordPrompt,x as Prompt,Tt as SelectKeyPrompt,Wt as SelectPrompt,$t as TextPrompt,xt as block,rt as getColumns,nt as getRows,Ct as isCancel,_ as settings,It as updateSettings,Bt as wrapTextWithPrefix};
`)),this._prevFrame=e;return}}this.output.write(N.down())}this.output.write(e),this.state==="initial"&&(this.state="active"),this._prevFrame=e}}}function wt(t,e){if(t===void 0||e.length===0)return 0;const s=e.findIndex(i=>i.value===t);return s!==-1?s:0}function Dt(t,e){return(e.label??String(e.value)).toLowerCase().includes(t.toLowerCase())}function St(t,e){if(e)return t?e:e[0]}class Vt extends x{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#t=0;#s="";#i;#e;get cursor(){return this.#t}get userInputWithCursor(){if(!this.userInput)return D.inverse(D.hidden("_"));if(this._cursor>=this.userInput.length)return`${this.userInput}\u2588`;const e=this.userInput.slice(0,this._cursor),[s,...i]=this.userInput.slice(this._cursor);return`${e}${D.inverse(s)}${i.join("")}`}get options(){return typeof this.#e=="function"?this.#e():this.#e}constructor(e){super(e),this.#e=e.options;const s=this.options;this.filteredOptions=[...s],this.multiple=e.multiple===!0,this.#i=e.filter??Dt;let i;if(e.initialValue&&Array.isArray(e.initialValue)?this.multiple?i=e.initialValue:i=e.initialValue.slice(0,1):!this.multiple&&this.options.length>0&&(i=[this.options[0].value]),i)for(const r of i){const n=s.findIndex(u=>u.value===r);n!==-1&&(this.toggleSelected(r),this.#t=n)}this.focusedValue=this.options[this.#t]?.value,this.on("key",(r,n)=>this.#r(r,n)),this.on("userInput",r=>this.#n(r))}_isActionKey(e,s){return e===" "||this.multiple&&this.isNavigating&&s.name==="space"&&e!==void 0&&e!==""}#r(e,s){const i=s.name==="up",r=s.name==="down",n=s.name==="return";i||r?(this.#t=B(this.#t,i?-1:1,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#t]?.value,this.multiple||(this.selectedValues=[this.focusedValue]),this.isNavigating=!0):n?this.value=St(this.multiple,this.selectedValues):this.multiple?this.focusedValue!==void 0&&(s.name==="tab"||this.isNavigating&&s.name==="space")?this.toggleSelected(this.focusedValue):this.isNavigating=!1:(this.focusedValue&&(this.selectedValues=[this.focusedValue]),this.isNavigating=!1)}deselectAll(){this.selectedValues=[]}toggleSelected(e){this.filteredOptions.length!==0&&(this.multiple?this.selectedValues.includes(e)?this.selectedValues=this.selectedValues.filter(s=>s!==e):this.selectedValues=[...this.selectedValues,e]:this.selectedValues=[e])}#n(e){if(e!==this.#s){this.#s=e;const s=this.options;e?this.filteredOptions=s.filter(n=>this.#i(e,n)):this.filteredOptions=[...s];const i=wt(this.focusedValue,this.filteredOptions);this.#t=B(i,0,this.filteredOptions);const r=this.filteredOptions[this.#t];r&&!r.disabled?this.focusedValue=r.value:this.focusedValue=void 0,this.multiple||(this.focusedValue!==void 0?this.toggleSelected(this.focusedValue):this.deselectAll())}}}class kt extends x{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",s=>{this.output.write(I.move(0,-1)),this.value=s,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}class yt extends x{options;cursor=0;#t;getGroupItems(e){return this.options.filter(s=>s.group===e)}isGroupSelected(e){const s=this.getGroupItems(e),i=this.value;return i===void 0?!1:s.every(r=>i.includes(r.value))}toggleValue(){const e=this.options[this.cursor];if(this.value===void 0&&(this.value=[]),e.group===!0){const s=e.value,i=this.getGroupItems(s);this.isGroupSelected(s)?this.value=this.value.filter(r=>i.findIndex(n=>n.value===r)===-1):this.value=[...this.value,...i.map(r=>r.value)],this.value=Array.from(new Set(this.value))}else{const s=this.value.includes(e.value);this.value=s?this.value.filter(i=>i!==e.value):[...this.value,e.value]}}constructor(e){super(e,!1);const{options:s}=e;this.#t=e.selectableGroups!==!1,this.options=Object.entries(s).flatMap(([i,r])=>[{value:i,group:!0,label:i},...r.map(n=>({...n,group:i}))]),this.value=[...e.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:i})=>i===e.cursorAt),this.#t?0:1),this.on("cursor",i=>{switch(i){case"left":case"up":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;const r=this.options[this.cursor]?.group===!0;!this.#t&&r&&(this.cursor=this.cursor===0?this.options.length-1:this.cursor-1);break}case"down":case"right":{this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;const r=this.options[this.cursor]?.group===!0;!this.#t&&r&&(this.cursor=this.cursor===this.options.length-1?0:this.cursor+1);break}case"space":this.toggleValue();break}})}}class Lt extends x{options;cursor=0;get _value(){return this.options[this.cursor].value}get _enabledOptions(){return this.options.filter(e=>e.disabled!==!0)}toggleAll(){const e=this._enabledOptions,s=this.value!==void 0&&this.value.length===e.length;this.value=s?[]:e.map(i=>i.value)}toggleInvert(){const e=this.value;if(!e)return;const s=this._enabledOptions.filter(i=>!e.includes(i.value));this.value=s.map(i=>i.value)}toggleValue(){this.value===void 0&&(this.value=[]);const e=this.value.includes(this._value);this.value=e?this.value.filter(s=>s!==this._value):[...this.value,this._value]}constructor(e){super(e,!1),this.options=e.options,this.value=[...e.initialValues??[]];const s=Math.max(this.options.findIndex(({value:i})=>i===e.cursorAt),0);this.cursor=this.options[s].disabled?B(s,1,this.options):s,this.on("key",i=>{i==="a"&&this.toggleAll(),i==="i"&&this.toggleInvert()}),this.on("cursor",i=>{switch(i){case"left":case"up":this.cursor=B(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=B(this.cursor,1,this.options);break;case"space":this.toggleValue();break}})}}let Mt=class extends x{_mask="\u2022";get cursor(){return this._cursor}get masked(){return this.userInput.replaceAll(/./g,this._mask)}get userInputWithCursor(){if(this.state==="submit"||this.state==="cancel")return this.masked;const e=this.userInput;if(this.cursor>=e.length)return`${this.masked}${D.inverse(D.hidden("_"))}`;const s=this.masked,i=s.slice(0,this.cursor),r=s.slice(this.cursor);return`${i}${D.inverse(r[0])}${r.slice(1)}`}clear(){this._clearUserInput()}constructor({mask:e,...s}){super(s),this._mask=e??"\u2022",this.on("userInput",i=>{this._setValue(i)})}};class Wt extends x{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(e){super(e,!1),this.options=e.options;const s=this.options.findIndex(({value:r})=>r===e.initialValue),i=s===-1?0:s;this.cursor=this.options[i].disabled?B(i,1,this.options):i,this.changeValue(),this.on("cursor",r=>{switch(r){case"left":case"up":this.cursor=B(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=B(this.cursor,1,this.options);break}this.changeValue()})}}class Tt extends x{options;cursor=0;constructor(e){super(e,!1),this.options=e.options;const s=e.caseSensitive===!0,i=this.options.map(({value:[r]})=>s?r:r?.toLowerCase());this.cursor=Math.max(i.indexOf(e.initialValue),0),this.on("key",(r,n)=>{if(!r)return;const u=s&&n.shift?r.toUpperCase():r;if(!i.includes(u))return;const a=this.options.find(({value:[l]})=>s?l===u:l?.toLowerCase()===r);a&&(this.value=a.value,this.state="submit",this.emit("submit"))})}}class $t extends x{get userInputWithCursor(){if(this.state==="submit")return this.userInput;const e=this.userInput;if(this.cursor>=e.length)return`${this.userInput}\u2588`;const s=e.slice(0,this.cursor),[i,...r]=e.slice(this.cursor);return`${s}${D.inverse(i)}${r.join("")}`}get cursor(){return this._cursor}constructor(e){super({...e,initialUserInput:e.initialUserInput??e.initialValue}),this.on("userInput",s=>{this._setValue(s)}),this.on("finalize",()=>{this.value||(this.value=e.defaultValue),this.value===void 0&&(this.value="")})}}export{Vt as AutocompletePrompt,kt as ConfirmPrompt,yt as GroupMultiSelectPrompt,Lt as MultiSelectPrompt,Mt as PasswordPrompt,x as Prompt,Tt as SelectKeyPrompt,Wt as SelectPrompt,$t as TextPrompt,Bt as block,rt as getColumns,nt as getRows,Ct as isCancel,_ as settings,It as updateSettings,xt as wrapTextWithPrefix};
//# sourceMappingURL=index.mjs.map
{
"name": "@clack/core",
"version": "1.0.0",
"version": "1.0.1",
"type": "module",

@@ -5,0 +5,0 @@ "main": "./dist/index.mjs",

@@ -14,3 +14,3 @@ # `@clack/core`

render() {
return `What's your name?\n${this.valueWithCursor}`;
return `What's your name?\n${this.userInputWithCursor}`;
},

@@ -17,0 +17,0 @@ });

Sorry, the diff of this file is too big to display