@planview/pvds-skills 0.0.1 → 0.0.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/README.md +49 -49
- package/dist/cli.js +1603 -15327
- package/package.json +46 -23
- package/dist/cli.js.map +0 -1
package/dist/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/chunks/prompt.mjs","../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/core.mjs","../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs","../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/index.mjs","../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs","../node_modules/.pnpm/consola@3.4.2/node_modules/consola/dist/utils.mjs","../node_modules/.pnpm/citty@0.1.6/node_modules/citty/dist/index.mjs","../package.json","../src/_cli/commands/check.ts","../src/_analysis/git-scope.ts","../src/_checks/versions.ts","../src/_checks/imports.ts","../src/_checks/deprecated-imports.ts","../src/_analysis/positions.ts","../src/_analysis/strip-comments.ts","../src/_analysis/import-bindings.ts","../src/_manifests/pvds.json","../src/_manifests/style-vocabulary.json","../src/_analysis/manifest-loader.ts","../src/_analysis/walk-source-files.ts","../src/_analysis/default-excludes.ts","../src/_checks/manifest-drift.ts","../src/_analysis/installed-versions.ts","../src/_checks/hardcoded-colors.ts","../src/_analysis/css-in-js-scanner.ts","../src/_checks/style-engine.ts","../src/_checks/hardcoded-spacing.ts","../src/_checks/literal-size-props.ts","../src/_analysis/jsx-attrs.ts","../src/_checks/unknown-props.ts","../src/_checks/format.ts","../src/_cli/paths.ts","../src/_cli/commands/doctor.ts","../src/_cli/roots.ts","../src/_cli/commands/fix.ts","../src/_cli/commands/init.ts","../src/_cli/pm.ts","../src/_cli/spawn.ts","../src/_cli/commands/props.ts","../src/_cli/commands/upgrade.ts","../src/_cli/commands/versions.ts","../src/_cli/main.ts","../src/cli.ts"],"sourcesContent":["import 'node:util';\nimport g, { stdin, stdout } from 'node:process';\nimport f from 'node:readline';\nimport { WriteStream } from 'node:tty';\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar src;\nvar hasRequiredSrc;\n\nfunction requireSrc () {\n\tif (hasRequiredSrc) return src;\n\thasRequiredSrc = 1;\n\n\tconst ESC = '\\x1B';\n\tconst CSI = `${ESC}[`;\n\tconst beep = '\\u0007';\n\n\tconst cursor = {\n\t to(x, y) {\n\t if (!y) return `${CSI}${x + 1}G`;\n\t return `${CSI}${y + 1};${x + 1}H`;\n\t },\n\t move(x, y) {\n\t let ret = '';\n\n\t if (x < 0) ret += `${CSI}${-x}D`;\n\t else if (x > 0) ret += `${CSI}${x}C`;\n\n\t if (y < 0) ret += `${CSI}${-y}A`;\n\t else if (y > 0) ret += `${CSI}${y}B`;\n\n\t return ret;\n\t },\n\t up: (count = 1) => `${CSI}${count}A`,\n\t down: (count = 1) => `${CSI}${count}B`,\n\t forward: (count = 1) => `${CSI}${count}C`,\n\t backward: (count = 1) => `${CSI}${count}D`,\n\t nextLine: (count = 1) => `${CSI}E`.repeat(count),\n\t prevLine: (count = 1) => `${CSI}F`.repeat(count),\n\t left: `${CSI}G`,\n\t hide: `${CSI}?25l`,\n\t show: `${CSI}?25h`,\n\t save: `${ESC}7`,\n\t restore: `${ESC}8`\n\t};\n\n\tconst scroll = {\n\t up: (count = 1) => `${CSI}S`.repeat(count),\n\t down: (count = 1) => `${CSI}T`.repeat(count)\n\t};\n\n\tconst erase = {\n\t screen: `${CSI}2J`,\n\t up: (count = 1) => `${CSI}1J`.repeat(count),\n\t down: (count = 1) => `${CSI}J`.repeat(count),\n\t line: `${CSI}2K`,\n\t lineEnd: `${CSI}K`,\n\t lineStart: `${CSI}1K`,\n\t lines(count) {\n\t let clear = '';\n\t for (let i = 0; i < count; i++)\n\t clear += this.line + (i < count - 1 ? cursor.up() : '');\n\t if (count)\n\t clear += cursor.left;\n\t return clear;\n\t }\n\t};\n\n\tsrc = { cursor, scroll, erase, beep };\n\treturn src;\n}\n\nvar srcExports = requireSrc();\n\nvar picocolors = {exports: {}};\n\nvar hasRequiredPicocolors;\n\nfunction requirePicocolors () {\n\tif (hasRequiredPicocolors) return picocolors.exports;\n\thasRequiredPicocolors = 1;\n\tlet p = process || {}, argv = p.argv || [], env = p.env || {};\n\tlet isColorSupported =\n\t\t!(!!env.NO_COLOR || argv.includes(\"--no-color\")) &&\n\t\t(!!env.FORCE_COLOR || argv.includes(\"--color\") || p.platform === \"win32\" || ((p.stdout || {}).isTTY && env.TERM !== \"dumb\") || !!env.CI);\n\n\tlet formatter = (open, close, replace = open) =>\n\t\tinput => {\n\t\t\tlet string = \"\" + input, index = string.indexOf(close, open.length);\n\t\t\treturn ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close\n\t\t};\n\n\tlet replaceClose = (string, close, replace, index) => {\n\t\tlet result = \"\", cursor = 0;\n\t\tdo {\n\t\t\tresult += string.substring(cursor, index) + replace;\n\t\t\tcursor = index + close.length;\n\t\t\tindex = string.indexOf(close, cursor);\n\t\t} while (~index)\n\t\treturn result + string.substring(cursor)\n\t};\n\n\tlet createColors = (enabled = isColorSupported) => {\n\t\tlet f = enabled ? formatter : () => String;\n\t\treturn {\n\t\t\tisColorSupported: enabled,\n\t\t\treset: f(\"\\x1b[0m\", \"\\x1b[0m\"),\n\t\t\tbold: f(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\"),\n\t\t\tdim: f(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\"),\n\t\t\titalic: f(\"\\x1b[3m\", \"\\x1b[23m\"),\n\t\t\tunderline: f(\"\\x1b[4m\", \"\\x1b[24m\"),\n\t\t\tinverse: f(\"\\x1b[7m\", \"\\x1b[27m\"),\n\t\t\thidden: f(\"\\x1b[8m\", \"\\x1b[28m\"),\n\t\t\tstrikethrough: f(\"\\x1b[9m\", \"\\x1b[29m\"),\n\n\t\t\tblack: f(\"\\x1b[30m\", \"\\x1b[39m\"),\n\t\t\tred: f(\"\\x1b[31m\", \"\\x1b[39m\"),\n\t\t\tgreen: f(\"\\x1b[32m\", \"\\x1b[39m\"),\n\t\t\tyellow: f(\"\\x1b[33m\", \"\\x1b[39m\"),\n\t\t\tblue: f(\"\\x1b[34m\", \"\\x1b[39m\"),\n\t\t\tmagenta: f(\"\\x1b[35m\", \"\\x1b[39m\"),\n\t\t\tcyan: f(\"\\x1b[36m\", \"\\x1b[39m\"),\n\t\t\twhite: f(\"\\x1b[37m\", \"\\x1b[39m\"),\n\t\t\tgray: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\n\t\t\tbgBlack: f(\"\\x1b[40m\", \"\\x1b[49m\"),\n\t\t\tbgRed: f(\"\\x1b[41m\", \"\\x1b[49m\"),\n\t\t\tbgGreen: f(\"\\x1b[42m\", \"\\x1b[49m\"),\n\t\t\tbgYellow: f(\"\\x1b[43m\", \"\\x1b[49m\"),\n\t\t\tbgBlue: f(\"\\x1b[44m\", \"\\x1b[49m\"),\n\t\t\tbgMagenta: f(\"\\x1b[45m\", \"\\x1b[49m\"),\n\t\t\tbgCyan: f(\"\\x1b[46m\", \"\\x1b[49m\"),\n\t\t\tbgWhite: f(\"\\x1b[47m\", \"\\x1b[49m\"),\n\n\t\t\tblackBright: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\t\t\tredBright: f(\"\\x1b[91m\", \"\\x1b[39m\"),\n\t\t\tgreenBright: f(\"\\x1b[92m\", \"\\x1b[39m\"),\n\t\t\tyellowBright: f(\"\\x1b[93m\", \"\\x1b[39m\"),\n\t\t\tblueBright: f(\"\\x1b[94m\", \"\\x1b[39m\"),\n\t\t\tmagentaBright: f(\"\\x1b[95m\", \"\\x1b[39m\"),\n\t\t\tcyanBright: f(\"\\x1b[96m\", \"\\x1b[39m\"),\n\t\t\twhiteBright: f(\"\\x1b[97m\", \"\\x1b[39m\"),\n\n\t\t\tbgBlackBright: f(\"\\x1b[100m\", \"\\x1b[49m\"),\n\t\t\tbgRedBright: f(\"\\x1b[101m\", \"\\x1b[49m\"),\n\t\t\tbgGreenBright: f(\"\\x1b[102m\", \"\\x1b[49m\"),\n\t\t\tbgYellowBright: f(\"\\x1b[103m\", \"\\x1b[49m\"),\n\t\t\tbgBlueBright: f(\"\\x1b[104m\", \"\\x1b[49m\"),\n\t\t\tbgMagentaBright: f(\"\\x1b[105m\", \"\\x1b[49m\"),\n\t\t\tbgCyanBright: f(\"\\x1b[106m\", \"\\x1b[49m\"),\n\t\t\tbgWhiteBright: f(\"\\x1b[107m\", \"\\x1b[49m\"),\n\t\t}\n\t};\n\n\tpicocolors.exports = createColors();\n\tpicocolors.exports.createColors = createColors;\n\treturn picocolors.exports;\n}\n\nvar picocolorsExports = /*@__PURE__*/ requirePicocolors();\nconst e = /*@__PURE__*/getDefaultExportFromCjs(picocolorsExports);\n\nfunction J({onlyFirst:t=false}={}){const F=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C))\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))\"].join(\"|\");return new RegExp(F,t?void 0:\"g\")}const Q=J();function T$1(t){if(typeof t!=\"string\")throw new TypeError(`Expected a \\`string\\`, got \\`${typeof t}\\``);return t.replace(Q,\"\")}function O(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var P$1={exports:{}};(function(t){var u={};t.exports=u,u.eastAsianWidth=function(e){var s=e.charCodeAt(0),i=e.length==2?e.charCodeAt(1):0,D=s;return 55296<=s&&s<=56319&&56320<=i&&i<=57343&&(s&=1023,i&=1023,D=s<<10|i,D+=65536),D==12288||65281<=D&&D<=65376||65504<=D&&D<=65510?\"F\":D==8361||65377<=D&&D<=65470||65474<=D&&D<=65479||65482<=D&&D<=65487||65490<=D&&D<=65495||65498<=D&&D<=65500||65512<=D&&D<=65518?\"H\":4352<=D&&D<=4447||4515<=D&&D<=4519||4602<=D&&D<=4607||9001<=D&&D<=9002||11904<=D&&D<=11929||11931<=D&&D<=12019||12032<=D&&D<=12245||12272<=D&&D<=12283||12289<=D&&D<=12350||12353<=D&&D<=12438||12441<=D&&D<=12543||12549<=D&&D<=12589||12593<=D&&D<=12686||12688<=D&&D<=12730||12736<=D&&D<=12771||12784<=D&&D<=12830||12832<=D&&D<=12871||12880<=D&&D<=13054||13056<=D&&D<=19903||19968<=D&&D<=42124||42128<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||55216<=D&&D<=55238||55243<=D&&D<=55291||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65106||65108<=D&&D<=65126||65128<=D&&D<=65131||110592<=D&&D<=110593||127488<=D&&D<=127490||127504<=D&&D<=127546||127552<=D&&D<=127560||127568<=D&&D<=127569||131072<=D&&D<=194367||177984<=D&&D<=196605||196608<=D&&D<=262141?\"W\":32<=D&&D<=126||162<=D&&D<=163||165<=D&&D<=166||D==172||D==175||10214<=D&&D<=10221||10629<=D&&D<=10630?\"Na\":D==161||D==164||167<=D&&D<=168||D==170||173<=D&&D<=174||176<=D&&D<=180||182<=D&&D<=186||188<=D&&D<=191||D==198||D==208||215<=D&&D<=216||222<=D&&D<=225||D==230||232<=D&&D<=234||236<=D&&D<=237||D==240||242<=D&&D<=243||247<=D&&D<=250||D==252||D==254||D==257||D==273||D==275||D==283||294<=D&&D<=295||D==299||305<=D&&D<=307||D==312||319<=D&&D<=322||D==324||328<=D&&D<=331||D==333||338<=D&&D<=339||358<=D&&D<=359||D==363||D==462||D==464||D==466||D==468||D==470||D==472||D==474||D==476||D==593||D==609||D==708||D==711||713<=D&&D<=715||D==717||D==720||728<=D&&D<=731||D==733||D==735||768<=D&&D<=879||913<=D&&D<=929||931<=D&&D<=937||945<=D&&D<=961||963<=D&&D<=969||D==1025||1040<=D&&D<=1103||D==1105||D==8208||8211<=D&&D<=8214||8216<=D&&D<=8217||8220<=D&&D<=8221||8224<=D&&D<=8226||8228<=D&&D<=8231||D==8240||8242<=D&&D<=8243||D==8245||D==8251||D==8254||D==8308||D==8319||8321<=D&&D<=8324||D==8364||D==8451||D==8453||D==8457||D==8467||D==8470||8481<=D&&D<=8482||D==8486||D==8491||8531<=D&&D<=8532||8539<=D&&D<=8542||8544<=D&&D<=8555||8560<=D&&D<=8569||D==8585||8592<=D&&D<=8601||8632<=D&&D<=8633||D==8658||D==8660||D==8679||D==8704||8706<=D&&D<=8707||8711<=D&&D<=8712||D==8715||D==8719||D==8721||D==8725||D==8730||8733<=D&&D<=8736||D==8739||D==8741||8743<=D&&D<=8748||D==8750||8756<=D&&D<=8759||8764<=D&&D<=8765||D==8776||D==8780||D==8786||8800<=D&&D<=8801||8804<=D&&D<=8807||8810<=D&&D<=8811||8814<=D&&D<=8815||8834<=D&&D<=8835||8838<=D&&D<=8839||D==8853||D==8857||D==8869||D==8895||D==8978||9312<=D&&D<=9449||9451<=D&&D<=9547||9552<=D&&D<=9587||9600<=D&&D<=9615||9618<=D&&D<=9621||9632<=D&&D<=9633||9635<=D&&D<=9641||9650<=D&&D<=9651||9654<=D&&D<=9655||9660<=D&&D<=9661||9664<=D&&D<=9665||9670<=D&&D<=9672||D==9675||9678<=D&&D<=9681||9698<=D&&D<=9701||D==9711||9733<=D&&D<=9734||D==9737||9742<=D&&D<=9743||9748<=D&&D<=9749||D==9756||D==9758||D==9792||D==9794||9824<=D&&D<=9825||9827<=D&&D<=9829||9831<=D&&D<=9834||9836<=D&&D<=9837||D==9839||9886<=D&&D<=9887||9918<=D&&D<=9919||9924<=D&&D<=9933||9935<=D&&D<=9953||D==9955||9960<=D&&D<=9983||D==10045||D==10071||10102<=D&&D<=10111||11093<=D&&D<=11097||12872<=D&&D<=12879||57344<=D&&D<=63743||65024<=D&&D<=65039||D==65533||127232<=D&&D<=127242||127248<=D&&D<=127277||127280<=D&&D<=127337||127344<=D&&D<=127386||917760<=D&&D<=917999||983040<=D&&D<=1048573||1048576<=D&&D<=1114109?\"A\":\"N\"},u.characterLength=function(e){var s=this.eastAsianWidth(e);return s==\"F\"||s==\"W\"||s==\"A\"?2:1};function F(e){return e.match(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[^\\uD800-\\uDFFF]/g)||[]}u.length=function(e){for(var s=F(e),i=0,D=0;D<s.length;D++)i=i+this.characterLength(s[D]);return i},u.slice=function(e,s,i){textLen=u.length(e),s=s||0,i=i||1,s<0&&(s=textLen+s),i<0&&(i=textLen+i);for(var D=\"\",C=0,o=F(e),E=0;E<o.length;E++){var a=o[E],n=u.length(a);if(C>=s-(n==2?1:0))if(C+n<=i)D+=a;else break;C+=n;}return D};})(P$1);var X=P$1.exports;const DD=O(X);var uD=function(){return /\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|(?:\\uD83E\\uDDD1\\uD83C\\uDFFF\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C\\uDFFB(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF]))|\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))?|(?:\\uD83C[\\uDFFC-\\uDFFF])\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF]))|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\u200D(?:(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC)?|(?:\\uD83D\\uDC69(?:\\uD83C\\uDFFB\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|(?:\\uD83C[\\uDFFC-\\uDFFF])\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69]))|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC69(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83E\\uDDD1(?:\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDE36\\u200D\\uD83C\\uDF2B|\\uD83C\\uDFF3\\uFE0F\\u200D\\u26A7|\\uD83D\\uDC3B\\u200D\\u2744|(?:(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\uD83C\\uDFF4\\u200D\\u2620|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])\\u200D[\\u2640\\u2642]|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u2600-\\u2604\\u260E\\u2611\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26B0\\u26B1\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0\\u26F1\\u26F4\\u26F7\\u26F8\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]|\\uD83D[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3])\\uFE0F|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDE35\\u200D\\uD83D\\uDCAB|\\uD83D\\uDE2E\\u200D\\uD83D\\uDCA8|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83D\\uDC69(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC08\\u200D\\u2B1B|\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79)|\\uD83D\\uDC41\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|[#\\*0-9]\\uFE0F\\u20E3|\\u2764\\uFE0F|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF4|(?:[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270C\\u270D]|\\uD83D[\\uDD74\\uDD90])(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC08\\uDC15\\uDC3B\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE2E\\uDE35\\uDE36\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5]|\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD]|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF]|[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD1D\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78\\uDD7A-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCB\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6]|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0C-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26A7\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5-\\uDED7\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0C-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDD77\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g};const FD=O(uD);function A$1(t,u={}){if(typeof t!=\"string\"||t.length===0||(u={ambiguousIsNarrow:true,...u},t=T$1(t),t.length===0))return 0;t=t.replace(FD(),\" \");const F=u.ambiguousIsNarrow?1:2;let e=0;for(const s of t){const i=s.codePointAt(0);if(i<=31||i>=127&&i<=159||i>=768&&i<=879)continue;switch(DD.eastAsianWidth(s)){case \"F\":case \"W\":e+=2;break;case \"A\":e+=F;break;default:e+=1;}}return e}const m=10,L$1=(t=0)=>u=>`\\x1B[${u+t}m`,N=(t=0)=>u=>`\\x1B[${38+t};5;${u}m`,I=(t=0)=>(u,F,e)=>`\\x1B[${38+t};2;${u};${F};${e}m`,r={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(r.modifier);const tD=Object.keys(r.color),eD=Object.keys(r.bgColor);[...tD,...eD];function sD(){const t=new Map;for(const[u,F]of Object.entries(r)){for(const[e,s]of Object.entries(F))r[e]={open:`\\x1B[${s[0]}m`,close:`\\x1B[${s[1]}m`},F[e]=r[e],t.set(s[0],s[1]);Object.defineProperty(r,u,{value:F,enumerable:false});}return Object.defineProperty(r,\"codes\",{value:t,enumerable:false}),r.color.close=\"\\x1B[39m\",r.bgColor.close=\"\\x1B[49m\",r.color.ansi=L$1(),r.color.ansi256=N(),r.color.ansi16m=I(),r.bgColor.ansi=L$1(m),r.bgColor.ansi256=N(m),r.bgColor.ansi16m=I(m),Object.defineProperties(r,{rgbToAnsi256:{value:(u,F,e)=>u===F&&F===e?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(e/255*5),enumerable:false},hexToRgb:{value:u=>{const F=/[a-f\\d]{6}|[a-f\\d]{3}/i.exec(u.toString(16));if(!F)return [0,0,0];let[e]=F;e.length===3&&(e=[...e].map(i=>i+i).join(\"\"));const s=Number.parseInt(e,16);return [s>>16&255,s>>8&255,s&255]},enumerable:false},hexToAnsi256:{value:u=>r.rgbToAnsi256(...r.hexToRgb(u)),enumerable:false},ansi256ToAnsi:{value:u=>{if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,e,s;if(u>=232)F=((u-232)*10+8)/255,e=F,s=F;else {u-=16;const C=u%36;F=Math.floor(u/36)/5,e=Math.floor(C/6)/5,s=C%6/5;}const i=Math.max(F,e,s)*2;if(i===0)return 30;let D=30+(Math.round(s)<<2|Math.round(e)<<1|Math.round(F));return i===2&&(D+=60),D},enumerable:false},rgbToAnsi:{value:(u,F,e)=>r.ansi256ToAnsi(r.rgbToAnsi256(u,F,e)),enumerable:false},hexToAnsi:{value:u=>r.ansi256ToAnsi(r.hexToAnsi256(u)),enumerable:false}}),r}const iD=sD(),v=new Set([\"\\x1B\",\"\\x9B\"]),CD=39,w$1=\"\\x07\",W$1=\"[\",rD=\"]\",R=\"m\",y=`${rD}8;;`,V$1=t=>`${v.values().next().value}${W$1}${t}${R}`,z=t=>`${v.values().next().value}${y}${t}${w$1}`,ED=t=>t.split(\" \").map(u=>A$1(u)),_=(t,u,F)=>{const e=[...u];let s=false,i=false,D=A$1(T$1(t[t.length-1]));for(const[C,o]of e.entries()){const E=A$1(o);if(D+E<=F?t[t.length-1]+=o:(t.push(o),D=0),v.has(o)&&(s=true,i=e.slice(C+1).join(\"\").startsWith(y)),s){i?o===w$1&&(s=false,i=false):o===R&&(s=false);continue}D+=E,D===F&&C<e.length-1&&(t.push(\"\"),D=0);}!D&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop());},nD=t=>{const u=t.split(\" \");let F=u.length;for(;F>0&&!(A$1(u[F-1])>0);)F--;return F===u.length?t:u.slice(0,F).join(\" \")+u.slice(F).join(\"\")},oD=(t,u,F={})=>{if(F.trim!==false&&t.trim()===\"\")return \"\";let e=\"\",s,i;const D=ED(t);let C=[\"\"];for(const[E,a]of t.split(\" \").entries()){F.trim!==false&&(C[C.length-1]=C[C.length-1].trimStart());let n=A$1(C[C.length-1]);if(E!==0&&(n>=u&&(F.wordWrap===false||F.trim===false)&&(C.push(\"\"),n=0),(n>0||F.trim===false)&&(C[C.length-1]+=\" \",n++)),F.hard&&D[E]>u){const B=u-n,p=1+Math.floor((D[E]-B-1)/u);Math.floor((D[E]-1)/u)<p&&C.push(\"\"),_(C,a,u);continue}if(n+D[E]>u&&n>0&&D[E]>0){if(F.wordWrap===false&&n<u){_(C,a,u);continue}C.push(\"\");}if(n+D[E]>u&&F.wordWrap===false){_(C,a,u);continue}C[C.length-1]+=a;}F.trim!==false&&(C=C.map(E=>nD(E)));const o=[...C.join(`\n`)];for(const[E,a]of o.entries()){if(e+=a,v.has(a)){const{groups:B}=new RegExp(`(?:\\\\${W$1}(?<code>\\\\d+)m|\\\\${y}(?<uri>.*)${w$1})`).exec(o.slice(E).join(\"\"))||{groups:{}};if(B.code!==void 0){const p=Number.parseFloat(B.code);s=p===CD?void 0:p;}else B.uri!==void 0&&(i=B.uri.length===0?void 0:B.uri);}const n=iD.codes.get(Number(s));o[E+1]===`\n`?(i&&(e+=z(\"\")),s&&n&&(e+=V$1(n))):a===`\n`&&(s&&n&&(e+=V$1(s)),i&&(e+=z(i)));}return e};function G(t,u,F){return String(t).normalize().replace(/\\r\\n/g,`\n`).split(`\n`).map(e=>oD(e,u,F)).join(`\n`)}const aD=[\"up\",\"down\",\"left\",\"right\",\"space\",\"enter\",\"cancel\"],c={actions:new Set(aD),aliases:new Map([[\"k\",\"up\"],[\"j\",\"down\"],[\"h\",\"left\"],[\"l\",\"right\"],[\"\u0003\",\"cancel\"],[\"escape\",\"cancel\"]])};function k$1(t,u){if(typeof t==\"string\")return c.aliases.get(t)===u;for(const F of t)if(F!==void 0&&k$1(F,u))return true;return false}function lD(t,u){if(t===u)return;const F=t.split(`\n`),e=u.split(`\n`),s=[];for(let i=0;i<Math.max(F.length,e.length);i++)F[i]!==e[i]&&s.push(i);return s}globalThis.process.platform.startsWith(\"win\");const S=Symbol(\"clack:cancel\");function d$1(t,u){const F=t;F.isTTY&&F.setRawMode(u);}var AD=Object.defineProperty,pD=(t,u,F)=>u in t?AD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,h=(t,u,F)=>(pD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);class x{constructor(u,F=true){h(this,\"input\"),h(this,\"output\"),h(this,\"_abortSignal\"),h(this,\"rl\"),h(this,\"opts\"),h(this,\"_render\"),h(this,\"_track\",false),h(this,\"_prevFrame\",\"\"),h(this,\"_subscribers\",new Map),h(this,\"_cursor\",0),h(this,\"state\",\"initial\"),h(this,\"error\",\"\"),h(this,\"value\");const{input:e=stdin,output:s=stdout,render:i,signal:D,...C}=u;this.opts=C,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=i.bind(this),this._track=F,this._abortSignal=D,this.input=e,this.output=s;}unsubscribe(){this._subscribers.clear();}setSubscriber(u,F){const e=this._subscribers.get(u)??[];e.push(F),this._subscribers.set(u,e);}on(u,F){this.setSubscriber(u,{cb:F});}once(u,F){this.setSubscriber(u,{cb:F,once:true});}emit(u,...F){const e=this._subscribers.get(u)??[],s=[];for(const i of e)i.cb(...F),i.once&&s.push(()=>e.splice(e.indexOf(i),1));for(const i of s)i();}prompt(){return new Promise((u,F)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=\"cancel\",this.close(),u(S);this._abortSignal.addEventListener(\"abort\",()=>{this.state=\"cancel\",this.close();},{once:true});}const e=new WriteStream(0);e._write=(s,i,D)=>{this._track&&(this.value=this.rl?.line.replace(/\\t/g,\"\"),this._cursor=this.rl?.cursor??0,this.emit(\"value\",this.value)),D();},this.input.pipe(e),this.rl=f.createInterface({input:this.input,output:e,tabSize:2,prompt:\"\",escapeCodeTimeout:50}),f.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on(\"keypress\",this.onKeypress),d$1(this.input,true),this.output.on(\"resize\",this.render),this.render(),this.once(\"submit\",()=>{this.output.write(srcExports.cursor.show),this.output.off(\"resize\",this.render),d$1(this.input,false),u(this.value);}),this.once(\"cancel\",()=>{this.output.write(srcExports.cursor.show),this.output.off(\"resize\",this.render),d$1(this.input,false),u(S);});})}onKeypress(u,F){if(this.state===\"error\"&&(this.state=\"active\"),F?.name&&(!this._track&&c.aliases.has(F.name)&&this.emit(\"cursor\",c.aliases.get(F.name)),c.actions.has(F.name)&&this.emit(\"cursor\",F.name)),u&&(u.toLowerCase()===\"y\"||u.toLowerCase()===\"n\")&&this.emit(\"confirm\",u.toLowerCase()===\"y\"),u===\"\t\"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit(\"value\",this.opts.placeholder))),u&&this.emit(\"key\",u.toLowerCase()),F?.name===\"return\"){if(this.opts.validate){const e=this.opts.validate(this.value);e&&(this.error=e instanceof Error?e.message:e,this.state=\"error\",this.rl?.write(this.value));}this.state!==\"error\"&&(this.state=\"submit\");}k$1([u,F?.name,F?.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(`\n`),d$1(this.input,false),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe();}restoreCursor(){const u=G(this._prevFrame,process.stdout.columns,{hard:true}).split(`\n`).length-1;this.output.write(srcExports.cursor.move(-999,u*-1));}render(){const u=G(this._render(this)??\"\",process.stdout.columns,{hard:true});if(u!==this._prevFrame){if(this.state===\"initial\")this.output.write(srcExports.cursor.hide);else {const F=lD(this._prevFrame,u);if(this.restoreCursor(),F&&F?.length===1){const e=F[0];this.output.write(srcExports.cursor.move(0,e)),this.output.write(srcExports.erase.lines(1));const s=u.split(`\n`);this.output.write(s[e]),this._prevFrame=u,this.output.write(srcExports.cursor.move(0,s.length-e-1));return}if(F&&F?.length>1){const e=F[0];this.output.write(srcExports.cursor.move(0,e)),this.output.write(srcExports.erase.down());const s=u.split(`\n`).slice(e);this.output.write(s.join(`\n`)),this._prevFrame=u;return}this.output.write(srcExports.erase.down());}this.output.write(u),this.state===\"initial\"&&(this.state=\"active\"),this._prevFrame=u;}}}class fD extends x{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(u){super(u,false),this.value=!!u.initialValue,this.on(\"value\",()=>{this.value=this._value;}),this.on(\"confirm\",F=>{this.output.write(srcExports.cursor.move(0,-1)),this.value=F,this.state=\"submit\",this.close();}),this.on(\"cursor\",()=>{this.value=!this.value;});}}var bD=Object.defineProperty,mD=(t,u,F)=>u in t?bD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,Y=(t,u,F)=>(mD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);let wD=class extends x{constructor(u){super(u,false),Y(this,\"options\"),Y(this,\"cursor\",0),this.options=u.options,this.value=[...u.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:F})=>F===u.cursorAt),0),this.on(\"key\",F=>{F===\"a\"&&this.toggleAll();}),this.on(\"cursor\",F=>{switch(F){case \"left\":case \"up\":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;break;case \"space\":this.toggleValue();break}});}get _value(){return this.options[this.cursor].value}toggleAll(){const u=this.value.length===this.options.length;this.value=u?[]:this.options.map(F=>F.value);}toggleValue(){const u=this.value.includes(this._value);this.value=u?this.value.filter(F=>F!==this._value):[...this.value,this._value];}};var SD=Object.defineProperty,$D=(t,u,F)=>u in t?SD(t,u,{enumerable:true,configurable:true,writable:true,value:F}):t[u]=F,q=(t,u,F)=>($D(t,typeof u!=\"symbol\"?u+\"\":u,F),F);class jD extends x{constructor(u){super(u,false),q(this,\"options\"),q(this,\"cursor\",0),this.options=u.options,this.cursor=this.options.findIndex(({value:F})=>F===u.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on(\"cursor\",F=>{switch(F){case \"left\":case \"up\":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;break}this.changeValue();});}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value;}}class PD extends x{get valueWithCursor(){if(this.state===\"submit\")return this.value;if(this.cursor>=this.value.length)return `${this.value}\\u2588`;const u=this.value.slice(0,this.cursor),[F,...e$1]=this.value.slice(this.cursor);return `${u}${e.inverse(F)}${e$1.join(\"\")}`}get cursor(){return this._cursor}constructor(u){super(u),this.on(\"finalize\",()=>{this.value||(this.value=u.defaultValue);});}}\n\nfunction ce(){return g.platform!==\"win32\"?g.env.TERM!==\"linux\":!!g.env.CI||!!g.env.WT_SESSION||!!g.env.TERMINUS_SUBLIME||g.env.ConEmuTask===\"{cmd::Cmder}\"||g.env.TERM_PROGRAM===\"Terminus-Sublime\"||g.env.TERM_PROGRAM===\"vscode\"||g.env.TERM===\"xterm-256color\"||g.env.TERM===\"alacritty\"||g.env.TERMINAL_EMULATOR===\"JetBrains-JediTerm\"}const V=ce(),u=(t,n)=>V?t:n,le=u(\"❯\", \">\"),L=u(\"■\", \"x\"),W=u(\"▲\", \"x\"),C=u(\"✔\", \"√\"),o=u(\"\"),d=u(\"\"),k=u(\"\\u25CF\",\">\"),P=u(\"\\u25CB\",\" \"),A=u(\"\\u25FB\",\"[\\u2022]\"),T=u(\"\\u25FC\",\"[+]\"),F=u(\"\\u25FB\",\"[ ]\"),w=t=>{switch(t){case \"initial\":case \"active\":return e.cyan(le);case \"cancel\":return e.red(L);case \"error\":return e.yellow(W);case \"submit\":return e.green(C)}},B=t=>{const{cursor:n,options:s,style:r}=t,i=t.maxItems??Number.POSITIVE_INFINITY,a=Math.max(process.stdout.rows-4,0),c=Math.min(a,Math.max(i,5));let l=0;n>=l+c-3?l=Math.max(Math.min(n-c+3,s.length-c),0):n<l+2&&(l=Math.max(n-2,0));const $=c<s.length&&l>0,p=c<s.length&&l+c<s.length;return s.slice(l,l+c).map((M,v,x)=>{const j=v===0&&$,E=v===x.length-1&&p;return j||E?e.dim(\"...\"):r(M,v+l===n)})},he=t=>new PD({validate:t.validate,placeholder:t.placeholder,defaultValue:t.defaultValue,initialValue:t.initialValue,render(){const n=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`,s=t.placeholder?e.inverse(t.placeholder[0])+e.dim(t.placeholder.slice(1)):e.inverse(e.hidden(\"_\")),r=this.value?this.valueWithCursor:s;switch(this.state){case \"error\":return `${n.trim()}\n${e.yellow(o)} ${r}\n${e.yellow(d)} ${e.yellow(this.error)}\n`;case \"submit\":return `${n}${e.gray(o)} ${e.dim(this.value||t.placeholder)}`;case \"cancel\":return `${n}${e.gray(o)} ${e.strikethrough(e.dim(this.value??\"\"))}${this.value?.trim()?`\n${e.gray(o)}`:\"\"}`;default:return `${n}${e.cyan(o)} ${r}\n${e.cyan(d)}\n`}}}).prompt(),ye=t=>{const n=t.active??\"Yes\",s=t.inactive??\"No\";return new fD({active:n,inactive:s,initialValue:t.initialValue??true,render(){const r=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`,i=this.value?n:s;switch(this.state){case \"submit\":return `${r}${e.gray(o)} ${e.dim(i)}`;case \"cancel\":return `${r}${e.gray(o)} ${e.strikethrough(e.dim(i))}\n${e.gray(o)}`;default:return `${r}${e.cyan(o)} ${this.value?`${e.green(k)} ${n}`:`${e.dim(P)} ${e.dim(n)}`} ${e.dim(\"/\")} ${this.value?`${e.dim(P)} ${e.dim(s)}`:`${e.green(k)} ${s}`}\n${e.cyan(d)}\n`}}}).prompt()},ve=t=>{const n=(s,r)=>{const i=s.label??String(s.value);switch(r){case \"selected\":return `${e.dim(i)}`;case \"active\":return `${e.green(k)} ${i} ${s.hint?e.dim(`(${s.hint})`):\"\"}`;case \"cancelled\":return `${e.strikethrough(e.dim(i))}`;default:return `${e.dim(P)} ${e.dim(i)}`}};return new jD({options:t.options,initialValue:t.initialValue,render(){const s=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`;switch(this.state){case \"submit\":return `${s}${e.gray(o)} ${n(this.options[this.cursor],\"selected\")}`;case \"cancel\":return `${s}${e.gray(o)} ${n(this.options[this.cursor],\"cancelled\")}\n${e.gray(o)}`;default:return `${s}${e.cyan(o)} ${B({cursor:this.cursor,options:this.options,maxItems:t.maxItems,style:(r,i)=>n(r,i?\"active\":\"inactive\")}).join(`\n${e.cyan(o)} `)}\n${e.cyan(d)}\n`}}}).prompt()},fe=t=>{const n=(s,r)=>{const i=s.label??String(s.value);return r===\"active\"?`${e.cyan(A)} ${i} ${s.hint?e.dim(`(${s.hint})`):\"\"}`:r===\"selected\"?`${e.green(T)} ${e.dim(i)}`:r===\"cancelled\"?`${e.strikethrough(e.dim(i))}`:r===\"active-selected\"?`${e.green(T)} ${i} ${s.hint?e.dim(`(${s.hint})`):\"\"}`:r===\"submitted\"?`${e.dim(i)}`:`${e.dim(F)} ${e.dim(i)}`};return new wD({options:t.options,initialValues:t.initialValues,required:t.required??true,cursorAt:t.cursorAt,validate(s){if(this.required&&s.length===0)return `Please select at least one option.\n${e.reset(e.dim(`Press ${e.gray(e.bgWhite(e.inverse(\" space \")))} to select, ${e.gray(e.bgWhite(e.inverse(\" enter \")))} to submit`))}`},render(){const s=`${e.gray(o)}\n${w(this.state)} ${t.message}\n`,r=(i,a)=>{const c=this.value.includes(i.value);return a&&c?n(i,\"active-selected\"):c?n(i,\"selected\"):n(i,a?\"active\":\"inactive\")};switch(this.state){case \"submit\":return `${s}${e.gray(o)} ${this.options.filter(({value:i})=>this.value.includes(i)).map(i=>n(i,\"submitted\")).join(e.dim(\", \"))||e.dim(\"none\")}`;case \"cancel\":{const i=this.options.filter(({value:a})=>this.value.includes(a)).map(a=>n(a,\"cancelled\")).join(e.dim(\", \"));return `${s}${e.gray(o)} ${i.trim()?`${i}\n${e.gray(o)}`:\"\"}`}case \"error\":{const i=this.error.split(`\n`).map((a,c)=>c===0?`${e.yellow(d)} ${e.yellow(a)}`:` ${a}`).join(`\n`);return `${s+e.yellow(o)} ${B({options:this.options,cursor:this.cursor,maxItems:t.maxItems,style:r}).join(`\n${e.yellow(o)} `)}\n${i}\n`}default:return `${s}${e.cyan(o)} ${B({options:this.options,cursor:this.cursor,maxItems:t.maxItems,style:r}).join(`\n${e.cyan(o)} `)}\n${e.cyan(d)}\n`}}}).prompt()};`${e.gray(o)} `;\n\nconst kCancel = Symbol.for(\"cancel\");\nasync function prompt(message, opts = {}) {\n const handleCancel = (value) => {\n if (typeof value !== \"symbol\" || value.toString() !== \"Symbol(clack:cancel)\") {\n return value;\n }\n switch (opts.cancel) {\n case \"reject\": {\n const error = new Error(\"Prompt cancelled.\");\n error.name = \"ConsolaPromptCancelledError\";\n if (Error.captureStackTrace) {\n Error.captureStackTrace(error, prompt);\n }\n throw error;\n }\n case \"undefined\": {\n return void 0;\n }\n case \"null\": {\n return null;\n }\n case \"symbol\": {\n return kCancel;\n }\n default:\n case \"default\": {\n return opts.default ?? opts.initial;\n }\n }\n };\n if (!opts.type || opts.type === \"text\") {\n return await he({\n message,\n defaultValue: opts.default,\n placeholder: opts.placeholder,\n initialValue: opts.initial\n }).then(handleCancel);\n }\n if (opts.type === \"confirm\") {\n return await ye({\n message,\n initialValue: opts.initial\n }).then(handleCancel);\n }\n if (opts.type === \"select\") {\n return await ve({\n message,\n options: opts.options.map(\n (o) => typeof o === \"string\" ? { value: o, label: o } : o\n ),\n initialValue: opts.initial\n }).then(handleCancel);\n }\n if (opts.type === \"multiselect\") {\n return await fe({\n message,\n options: opts.options.map(\n (o) => typeof o === \"string\" ? { value: o, label: o } : o\n ),\n required: opts.required,\n initialValues: opts.initial\n }).then(handleCancel);\n }\n throw new Error(`Unknown prompt type: ${opts.type}`);\n}\n\nexport { kCancel, prompt };\n","const LogLevels = {\n silent: Number.NEGATIVE_INFINITY,\n fatal: 0,\n error: 0,\n warn: 1,\n log: 2,\n info: 3,\n success: 3,\n fail: 3,\n ready: 3,\n start: 3,\n box: 3,\n debug: 4,\n trace: 5,\n verbose: Number.POSITIVE_INFINITY\n};\nconst LogTypes = {\n // Silent\n silent: {\n level: -1\n },\n // Level 0\n fatal: {\n level: LogLevels.fatal\n },\n error: {\n level: LogLevels.error\n },\n // Level 1\n warn: {\n level: LogLevels.warn\n },\n // Level 2\n log: {\n level: LogLevels.log\n },\n // Level 3\n info: {\n level: LogLevels.info\n },\n success: {\n level: LogLevels.success\n },\n fail: {\n level: LogLevels.fail\n },\n ready: {\n level: LogLevels.info\n },\n start: {\n level: LogLevels.info\n },\n box: {\n level: LogLevels.info\n },\n // Level 4\n debug: {\n level: LogLevels.debug\n },\n // Level 5\n trace: {\n level: LogLevels.trace\n },\n // Verbose\n verbose: {\n level: LogLevels.verbose\n }\n};\n\nfunction isPlainObject$1(value) {\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) {\n return false;\n }\n if (Symbol.iterator in value) {\n return false;\n }\n if (Symbol.toStringTag in value) {\n return Object.prototype.toString.call(value) === \"[object Module]\";\n }\n return true;\n}\n\nfunction _defu(baseObject, defaults, namespace = \".\", merger) {\n if (!isPlainObject$1(defaults)) {\n return _defu(baseObject, {}, namespace, merger);\n }\n const object = Object.assign({}, defaults);\n for (const key in baseObject) {\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = baseObject[key];\n if (value === null || value === void 0) {\n continue;\n }\n if (merger && merger(object, key, value, namespace)) {\n continue;\n }\n if (Array.isArray(value) && Array.isArray(object[key])) {\n object[key] = [...value, ...object[key]];\n } else if (isPlainObject$1(value) && isPlainObject$1(object[key])) {\n object[key] = _defu(\n value,\n object[key],\n (namespace ? `${namespace}.` : \"\") + key.toString(),\n merger\n );\n } else {\n object[key] = value;\n }\n }\n return object;\n}\nfunction createDefu(merger) {\n return (...arguments_) => (\n // eslint-disable-next-line unicorn/no-array-reduce\n arguments_.reduce((p, c) => _defu(p, c, \"\", merger), {})\n );\n}\nconst defu = createDefu();\n\nfunction isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n}\nfunction isLogObj(arg) {\n if (!isPlainObject(arg)) {\n return false;\n }\n if (!arg.message && !arg.args) {\n return false;\n }\n if (arg.stack) {\n return false;\n }\n return true;\n}\n\nlet paused = false;\nconst queue = [];\nclass Consola {\n options;\n _lastLog;\n _mockFn;\n /**\n * Creates an instance of Consola with specified options or defaults.\n *\n * @param {Partial<ConsolaOptions>} [options={}] - Configuration options for the Consola instance.\n */\n constructor(options = {}) {\n const types = options.types || LogTypes;\n this.options = defu(\n {\n ...options,\n defaults: { ...options.defaults },\n level: _normalizeLogLevel(options.level, types),\n reporters: [...options.reporters || []]\n },\n {\n types: LogTypes,\n throttle: 1e3,\n throttleMin: 5,\n formatOptions: {\n date: true,\n colors: false,\n compact: true\n }\n }\n );\n for (const type in types) {\n const defaults = {\n type,\n ...this.options.defaults,\n ...types[type]\n };\n this[type] = this._wrapLogFn(defaults);\n this[type].raw = this._wrapLogFn(\n defaults,\n true\n );\n }\n if (this.options.mockFn) {\n this.mockTypes();\n }\n this._lastLog = {};\n }\n /**\n * Gets the current log level of the Consola instance.\n *\n * @returns {number} The current log level.\n */\n get level() {\n return this.options.level;\n }\n /**\n * Sets the minimum log level that will be output by the instance.\n *\n * @param {number} level - The new log level to set.\n */\n set level(level) {\n this.options.level = _normalizeLogLevel(\n level,\n this.options.types,\n this.options.level\n );\n }\n /**\n * Displays a prompt to the user and returns the response.\n * Throw an error if `prompt` is not supported by the current configuration.\n *\n * @template T\n * @param {string} message - The message to display in the prompt.\n * @param {T} [opts] - Optional options for the prompt. See {@link PromptOptions}.\n * @returns {promise<T>} A promise that infer with the prompt options. See {@link PromptOptions}.\n */\n prompt(message, opts) {\n if (!this.options.prompt) {\n throw new Error(\"prompt is not supported!\");\n }\n return this.options.prompt(message, opts);\n }\n /**\n * Creates a new instance of Consola, inheriting options from the current instance, with possible overrides.\n *\n * @param {Partial<ConsolaOptions>} options - Optional overrides for the new instance. See {@link ConsolaOptions}.\n * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.\n */\n create(options) {\n const instance = new Consola({\n ...this.options,\n ...options\n });\n if (this._mockFn) {\n instance.mockTypes(this._mockFn);\n }\n return instance;\n }\n /**\n * Creates a new Consola instance with the specified default log object properties.\n *\n * @param {InputLogObject} defaults - Default properties to include in any log from the new instance. See {@link InputLogObject}.\n * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.\n */\n withDefaults(defaults) {\n return this.create({\n ...this.options,\n defaults: {\n ...this.options.defaults,\n ...defaults\n }\n });\n }\n /**\n * Creates a new Consola instance with a specified tag, which will be included in every log.\n *\n * @param {string} tag - The tag to include in each log of the new instance.\n * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.\n */\n withTag(tag) {\n return this.withDefaults({\n tag: this.options.defaults.tag ? this.options.defaults.tag + \":\" + tag : tag\n });\n }\n /**\n * Adds a custom reporter to the Consola instance.\n * Reporters will be called for each log message, depending on their implementation and log level.\n *\n * @param {ConsolaReporter} reporter - The reporter to add. See {@link ConsolaReporter}.\n * @returns {Consola} The current Consola instance.\n */\n addReporter(reporter) {\n this.options.reporters.push(reporter);\n return this;\n }\n /**\n * Removes a custom reporter from the Consola instance.\n * If no reporter is specified, all reporters will be removed.\n *\n * @param {ConsolaReporter} reporter - The reporter to remove. See {@link ConsolaReporter}.\n * @returns {Consola} The current Consola instance.\n */\n removeReporter(reporter) {\n if (reporter) {\n const i = this.options.reporters.indexOf(reporter);\n if (i !== -1) {\n return this.options.reporters.splice(i, 1);\n }\n } else {\n this.options.reporters.splice(0);\n }\n return this;\n }\n /**\n * Replaces all reporters of the Consola instance with the specified array of reporters.\n *\n * @param {ConsolaReporter[]} reporters - The new reporters to set. See {@link ConsolaReporter}.\n * @returns {Consola} The current Consola instance.\n */\n setReporters(reporters) {\n this.options.reporters = Array.isArray(reporters) ? reporters : [reporters];\n return this;\n }\n wrapAll() {\n this.wrapConsole();\n this.wrapStd();\n }\n restoreAll() {\n this.restoreConsole();\n this.restoreStd();\n }\n /**\n * Overrides console methods with Consola logging methods for consistent logging.\n */\n wrapConsole() {\n for (const type in this.options.types) {\n if (!console[\"__\" + type]) {\n console[\"__\" + type] = console[type];\n }\n console[type] = this[type].raw;\n }\n }\n /**\n * Restores the original console methods, removing Consola overrides.\n */\n restoreConsole() {\n for (const type in this.options.types) {\n if (console[\"__\" + type]) {\n console[type] = console[\"__\" + type];\n delete console[\"__\" + type];\n }\n }\n }\n /**\n * Overrides standard output and error streams to redirect them through Consola.\n */\n wrapStd() {\n this._wrapStream(this.options.stdout, \"log\");\n this._wrapStream(this.options.stderr, \"log\");\n }\n _wrapStream(stream, type) {\n if (!stream) {\n return;\n }\n if (!stream.__write) {\n stream.__write = stream.write;\n }\n stream.write = (data) => {\n this[type].raw(String(data).trim());\n };\n }\n /**\n * Restores the original standard output and error streams, removing the Consola redirection.\n */\n restoreStd() {\n this._restoreStream(this.options.stdout);\n this._restoreStream(this.options.stderr);\n }\n _restoreStream(stream) {\n if (!stream) {\n return;\n }\n if (stream.__write) {\n stream.write = stream.__write;\n delete stream.__write;\n }\n }\n /**\n * Pauses logging, queues incoming logs until resumed.\n */\n pauseLogs() {\n paused = true;\n }\n /**\n * Resumes logging, processing any queued logs.\n */\n resumeLogs() {\n paused = false;\n const _queue = queue.splice(0);\n for (const item of _queue) {\n item[0]._logFn(item[1], item[2]);\n }\n }\n /**\n * Replaces logging methods with mocks if a mock function is provided.\n *\n * @param {ConsolaOptions[\"mockFn\"]} mockFn - The function to use for mocking logging methods. See {@link ConsolaOptions[\"mockFn\"]}.\n */\n mockTypes(mockFn) {\n const _mockFn = mockFn || this.options.mockFn;\n this._mockFn = _mockFn;\n if (typeof _mockFn !== \"function\") {\n return;\n }\n for (const type in this.options.types) {\n this[type] = _mockFn(type, this.options.types[type]) || this[type];\n this[type].raw = this[type];\n }\n }\n _wrapLogFn(defaults, isRaw) {\n return (...args) => {\n if (paused) {\n queue.push([this, defaults, args, isRaw]);\n return;\n }\n return this._logFn(defaults, args, isRaw);\n };\n }\n _logFn(defaults, args, isRaw) {\n if ((defaults.level || 0) > this.level) {\n return false;\n }\n const logObj = {\n date: /* @__PURE__ */ new Date(),\n args: [],\n ...defaults,\n level: _normalizeLogLevel(defaults.level, this.options.types)\n };\n if (!isRaw && args.length === 1 && isLogObj(args[0])) {\n Object.assign(logObj, args[0]);\n } else {\n logObj.args = [...args];\n }\n if (logObj.message) {\n logObj.args.unshift(logObj.message);\n delete logObj.message;\n }\n if (logObj.additional) {\n if (!Array.isArray(logObj.additional)) {\n logObj.additional = logObj.additional.split(\"\\n\");\n }\n logObj.args.push(\"\\n\" + logObj.additional.join(\"\\n\"));\n delete logObj.additional;\n }\n logObj.type = typeof logObj.type === \"string\" ? logObj.type.toLowerCase() : \"log\";\n logObj.tag = typeof logObj.tag === \"string\" ? logObj.tag : \"\";\n const resolveLog = (newLog = false) => {\n const repeated = (this._lastLog.count || 0) - this.options.throttleMin;\n if (this._lastLog.object && repeated > 0) {\n const args2 = [...this._lastLog.object.args];\n if (repeated > 1) {\n args2.push(`(repeated ${repeated} times)`);\n }\n this._log({ ...this._lastLog.object, args: args2 });\n this._lastLog.count = 1;\n }\n if (newLog) {\n this._lastLog.object = logObj;\n this._log(logObj);\n }\n };\n clearTimeout(this._lastLog.timeout);\n const diffTime = this._lastLog.time && logObj.date ? logObj.date.getTime() - this._lastLog.time.getTime() : 0;\n this._lastLog.time = logObj.date;\n if (diffTime < this.options.throttle) {\n try {\n const serializedLog = JSON.stringify([\n logObj.type,\n logObj.tag,\n logObj.args\n ]);\n const isSameLog = this._lastLog.serialized === serializedLog;\n this._lastLog.serialized = serializedLog;\n if (isSameLog) {\n this._lastLog.count = (this._lastLog.count || 0) + 1;\n if (this._lastLog.count > this.options.throttleMin) {\n this._lastLog.timeout = setTimeout(\n resolveLog,\n this.options.throttle\n );\n return;\n }\n }\n } catch {\n }\n }\n resolveLog(true);\n }\n _log(logObj) {\n for (const reporter of this.options.reporters) {\n reporter.log(logObj, {\n options: this.options\n });\n }\n }\n}\nfunction _normalizeLogLevel(input, types = {}, defaultLevel = 3) {\n if (input === void 0) {\n return defaultLevel;\n }\n if (typeof input === \"number\") {\n return input;\n }\n if (types[input] && types[input].level !== void 0) {\n return types[input].level;\n }\n return defaultLevel;\n}\nConsola.prototype.add = Consola.prototype.addReporter;\nConsola.prototype.remove = Consola.prototype.removeReporter;\nConsola.prototype.clear = Consola.prototype.removeReporter;\nConsola.prototype.withScope = Consola.prototype.withTag;\nConsola.prototype.mock = Consola.prototype.mockTypes;\nConsola.prototype.pause = Consola.prototype.pauseLogs;\nConsola.prototype.resume = Consola.prototype.resumeLogs;\nfunction createConsola(options = {}) {\n return new Consola(options);\n}\n\nexport { Consola, LogLevels, LogTypes, createConsola };\n","import { formatWithOptions } from 'node:util';\nimport { sep } from 'node:path';\n\nfunction parseStack(stack, message) {\n const cwd = process.cwd() + sep;\n const lines = stack.split(\"\\n\").splice(message.split(\"\\n\").length).map((l) => l.trim().replace(\"file://\", \"\").replace(cwd, \"\"));\n return lines;\n}\n\nfunction writeStream(data, stream) {\n const write = stream.__write || stream.write;\n return write.call(stream, data);\n}\n\nconst bracket = (x) => x ? `[${x}]` : \"\";\nclass BasicReporter {\n formatStack(stack, message, opts) {\n const indent = \" \".repeat((opts?.errorLevel || 0) + 1);\n return indent + parseStack(stack, message).join(`\n${indent}`);\n }\n formatError(err, opts) {\n const message = err.message ?? formatWithOptions(opts, err);\n const stack = err.stack ? this.formatStack(err.stack, message, opts) : \"\";\n const level = opts?.errorLevel || 0;\n const causedPrefix = level > 0 ? `${\" \".repeat(level)}[cause]: ` : \"\";\n const causedError = err.cause ? \"\\n\\n\" + this.formatError(err.cause, { ...opts, errorLevel: level + 1 }) : \"\";\n return causedPrefix + message + \"\\n\" + stack + causedError;\n }\n formatArgs(args, opts) {\n const _args = args.map((arg) => {\n if (arg && typeof arg.stack === \"string\") {\n return this.formatError(arg, opts);\n }\n return arg;\n });\n return formatWithOptions(opts, ..._args);\n }\n formatDate(date, opts) {\n return opts.date ? date.toLocaleTimeString() : \"\";\n }\n filterAndJoin(arr) {\n return arr.filter(Boolean).join(\" \");\n }\n formatLogObj(logObj, opts) {\n const message = this.formatArgs(logObj.args, opts);\n if (logObj.type === \"box\") {\n return \"\\n\" + [\n bracket(logObj.tag),\n logObj.title && logObj.title,\n ...message.split(\"\\n\")\n ].filter(Boolean).map((l) => \" > \" + l).join(\"\\n\") + \"\\n\";\n }\n return this.filterAndJoin([\n bracket(logObj.type),\n bracket(logObj.tag),\n message\n ]);\n }\n log(logObj, ctx) {\n const line = this.formatLogObj(logObj, {\n columns: ctx.options.stdout.columns || 0,\n ...ctx.options.formatOptions\n });\n return writeStream(\n line + \"\\n\",\n logObj.level < 2 ? ctx.options.stderr || process.stderr : ctx.options.stdout || process.stdout\n );\n }\n}\n\nexport { BasicReporter as B, parseStack as p };\n","import { createConsola as createConsola$1, LogLevels } from './core.mjs';\nexport { Consola, LogTypes } from './core.mjs';\nimport { B as BasicReporter, p as parseStack } from './shared/consola.DRwqZj3T.mjs';\nimport g$1 from 'node:process';\nimport { e as colors, d as box, s as stripAnsi$1 } from './shared/consola.DXBYu-KD.mjs';\nimport 'node:util';\nimport 'node:path';\nimport 'node:tty';\n\nconst r=Object.create(null),i=e=>globalThis.process?.env||import.meta.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?r:globalThis),o=new Proxy(r,{get(e,s){return i()[s]??r[s]},has(e,s){const E=i();return s in E||s in r},set(e,s,E){const B=i(true);return B[s]=E,true},deleteProperty(e,s){if(!s)return false;const E=i(true);return delete E[s],true},ownKeys(){const e=i(true);return Object.keys(e)}}),t=typeof process<\"u\"&&process.env&&process.env.NODE_ENV||\"\",f=[[\"APPVEYOR\"],[\"AWS_AMPLIFY\",\"AWS_APP_ID\",{ci:true}],[\"AZURE_PIPELINES\",\"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\"],[\"AZURE_STATIC\",\"INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN\"],[\"APPCIRCLE\",\"AC_APPCIRCLE\"],[\"BAMBOO\",\"bamboo_planKey\"],[\"BITBUCKET\",\"BITBUCKET_COMMIT\"],[\"BITRISE\",\"BITRISE_IO\"],[\"BUDDY\",\"BUDDY_WORKSPACE_ID\"],[\"BUILDKITE\"],[\"CIRCLE\",\"CIRCLECI\"],[\"CIRRUS\",\"CIRRUS_CI\"],[\"CLOUDFLARE_PAGES\",\"CF_PAGES\",{ci:true}],[\"CODEBUILD\",\"CODEBUILD_BUILD_ARN\"],[\"CODEFRESH\",\"CF_BUILD_ID\"],[\"DRONE\"],[\"DRONE\",\"DRONE_BUILD_EVENT\"],[\"DSARI\"],[\"GITHUB_ACTIONS\"],[\"GITLAB\",\"GITLAB_CI\"],[\"GITLAB\",\"CI_MERGE_REQUEST_ID\"],[\"GOCD\",\"GO_PIPELINE_LABEL\"],[\"LAYERCI\"],[\"HUDSON\",\"HUDSON_URL\"],[\"JENKINS\",\"JENKINS_URL\"],[\"MAGNUM\"],[\"NETLIFY\"],[\"NETLIFY\",\"NETLIFY_LOCAL\",{ci:false}],[\"NEVERCODE\"],[\"RENDER\"],[\"SAIL\",\"SAILCI\"],[\"SEMAPHORE\"],[\"SCREWDRIVER\"],[\"SHIPPABLE\"],[\"SOLANO\",\"TDDIUM\"],[\"STRIDER\"],[\"TEAMCITY\",\"TEAMCITY_VERSION\"],[\"TRAVIS\"],[\"VERCEL\",\"NOW_BUILDER\"],[\"VERCEL\",\"VERCEL\",{ci:false}],[\"VERCEL\",\"VERCEL_ENV\",{ci:false}],[\"APPCENTER\",\"APPCENTER_BUILD_ID\"],[\"CODESANDBOX\",\"CODESANDBOX_SSE\",{ci:false}],[\"CODESANDBOX\",\"CODESANDBOX_HOST\",{ci:false}],[\"STACKBLITZ\"],[\"STORMKIT\"],[\"CLEAVR\"],[\"ZEABUR\"],[\"CODESPHERE\",\"CODESPHERE_APP_ID\",{ci:true}],[\"RAILWAY\",\"RAILWAY_PROJECT_ID\"],[\"RAILWAY\",\"RAILWAY_SERVICE_ID\"],[\"DENO-DEPLOY\",\"DENO_DEPLOYMENT_ID\"],[\"FIREBASE_APP_HOSTING\",\"FIREBASE_APP_HOSTING\",{ci:true}]];function b(){if(globalThis.process?.env)for(const e of f){const s=e[1]||e[0];if(globalThis.process?.env[s])return {name:e[0].toLowerCase(),...e[2]}}return globalThis.process?.env?.SHELL===\"/bin/jsh\"&&globalThis.process?.versions?.webcontainer?{name:\"stackblitz\",ci:false}:{name:\"\",ci:false}}const l=b();l.name;function n(e){return e?e!==\"false\":false}const I=globalThis.process?.platform||\"\",T=n(o.CI)||l.ci!==false,a=n(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY),g=n(o.DEBUG),R=t===\"test\"||n(o.TEST);n(o.MINIMAL)||T||R||!a;const A=/^win/i.test(I);!n(o.NO_COLOR)&&(n(o.FORCE_COLOR)||(a||A)&&o.TERM!==\"dumb\"||T);const C=(globalThis.process?.versions?.node||\"\").replace(/^v/,\"\")||null;Number(C?.split(\".\")[0])||null;const y=globalThis.process||Object.create(null),_={versions:{}};new Proxy(y,{get(e,s){if(s===\"env\")return o;if(s in e)return e[s];if(s in _)return _[s]}});const c=globalThis.process?.release?.name===\"node\",O=!!globalThis.Bun||!!globalThis.process?.versions?.bun,D=!!globalThis.Deno,L=!!globalThis.fastly,S=!!globalThis.Netlify,u=!!globalThis.EdgeRuntime,N=globalThis.navigator?.userAgent===\"Cloudflare-Workers\",F=[[S,\"netlify\"],[u,\"edge-light\"],[N,\"workerd\"],[L,\"fastly\"],[D,\"deno\"],[O,\"bun\"],[c,\"node\"]];function G(){const e=F.find(s=>s[0]);if(e)return {name:e[1]}}const P=G();P?.name||\"\";\n\nfunction ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\tconst pattern = [\n\t\t`[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?${ST})`,\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))',\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n\nconst regex = ansiRegex();\n\nfunction stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n\n// Generated code.\n\nfunction isAmbiguous(x) {\n\treturn x === 0xA1\n\t\t|| x === 0xA4\n\t\t|| x === 0xA7\n\t\t|| x === 0xA8\n\t\t|| x === 0xAA\n\t\t|| x === 0xAD\n\t\t|| x === 0xAE\n\t\t|| x >= 0xB0 && x <= 0xB4\n\t\t|| x >= 0xB6 && x <= 0xBA\n\t\t|| x >= 0xBC && x <= 0xBF\n\t\t|| x === 0xC6\n\t\t|| x === 0xD0\n\t\t|| x === 0xD7\n\t\t|| x === 0xD8\n\t\t|| x >= 0xDE && x <= 0xE1\n\t\t|| x === 0xE6\n\t\t|| x >= 0xE8 && x <= 0xEA\n\t\t|| x === 0xEC\n\t\t|| x === 0xED\n\t\t|| x === 0xF0\n\t\t|| x === 0xF2\n\t\t|| x === 0xF3\n\t\t|| x >= 0xF7 && x <= 0xFA\n\t\t|| x === 0xFC\n\t\t|| x === 0xFE\n\t\t|| x === 0x101\n\t\t|| x === 0x111\n\t\t|| x === 0x113\n\t\t|| x === 0x11B\n\t\t|| x === 0x126\n\t\t|| x === 0x127\n\t\t|| x === 0x12B\n\t\t|| x >= 0x131 && x <= 0x133\n\t\t|| x === 0x138\n\t\t|| x >= 0x13F && x <= 0x142\n\t\t|| x === 0x144\n\t\t|| x >= 0x148 && x <= 0x14B\n\t\t|| x === 0x14D\n\t\t|| x === 0x152\n\t\t|| x === 0x153\n\t\t|| x === 0x166\n\t\t|| x === 0x167\n\t\t|| x === 0x16B\n\t\t|| x === 0x1CE\n\t\t|| x === 0x1D0\n\t\t|| x === 0x1D2\n\t\t|| x === 0x1D4\n\t\t|| x === 0x1D6\n\t\t|| x === 0x1D8\n\t\t|| x === 0x1DA\n\t\t|| x === 0x1DC\n\t\t|| x === 0x251\n\t\t|| x === 0x261\n\t\t|| x === 0x2C4\n\t\t|| x === 0x2C7\n\t\t|| x >= 0x2C9 && x <= 0x2CB\n\t\t|| x === 0x2CD\n\t\t|| x === 0x2D0\n\t\t|| x >= 0x2D8 && x <= 0x2DB\n\t\t|| x === 0x2DD\n\t\t|| x === 0x2DF\n\t\t|| x >= 0x300 && x <= 0x36F\n\t\t|| x >= 0x391 && x <= 0x3A1\n\t\t|| x >= 0x3A3 && x <= 0x3A9\n\t\t|| x >= 0x3B1 && x <= 0x3C1\n\t\t|| x >= 0x3C3 && x <= 0x3C9\n\t\t|| x === 0x401\n\t\t|| x >= 0x410 && x <= 0x44F\n\t\t|| x === 0x451\n\t\t|| x === 0x2010\n\t\t|| x >= 0x2013 && x <= 0x2016\n\t\t|| x === 0x2018\n\t\t|| x === 0x2019\n\t\t|| x === 0x201C\n\t\t|| x === 0x201D\n\t\t|| x >= 0x2020 && x <= 0x2022\n\t\t|| x >= 0x2024 && x <= 0x2027\n\t\t|| x === 0x2030\n\t\t|| x === 0x2032\n\t\t|| x === 0x2033\n\t\t|| x === 0x2035\n\t\t|| x === 0x203B\n\t\t|| x === 0x203E\n\t\t|| x === 0x2074\n\t\t|| x === 0x207F\n\t\t|| x >= 0x2081 && x <= 0x2084\n\t\t|| x === 0x20AC\n\t\t|| x === 0x2103\n\t\t|| x === 0x2105\n\t\t|| x === 0x2109\n\t\t|| x === 0x2113\n\t\t|| x === 0x2116\n\t\t|| x === 0x2121\n\t\t|| x === 0x2122\n\t\t|| x === 0x2126\n\t\t|| x === 0x212B\n\t\t|| x === 0x2153\n\t\t|| x === 0x2154\n\t\t|| x >= 0x215B && x <= 0x215E\n\t\t|| x >= 0x2160 && x <= 0x216B\n\t\t|| x >= 0x2170 && x <= 0x2179\n\t\t|| x === 0x2189\n\t\t|| x >= 0x2190 && x <= 0x2199\n\t\t|| x === 0x21B8\n\t\t|| x === 0x21B9\n\t\t|| x === 0x21D2\n\t\t|| x === 0x21D4\n\t\t|| x === 0x21E7\n\t\t|| x === 0x2200\n\t\t|| x === 0x2202\n\t\t|| x === 0x2203\n\t\t|| x === 0x2207\n\t\t|| x === 0x2208\n\t\t|| x === 0x220B\n\t\t|| x === 0x220F\n\t\t|| x === 0x2211\n\t\t|| x === 0x2215\n\t\t|| x === 0x221A\n\t\t|| x >= 0x221D && x <= 0x2220\n\t\t|| x === 0x2223\n\t\t|| x === 0x2225\n\t\t|| x >= 0x2227 && x <= 0x222C\n\t\t|| x === 0x222E\n\t\t|| x >= 0x2234 && x <= 0x2237\n\t\t|| x === 0x223C\n\t\t|| x === 0x223D\n\t\t|| x === 0x2248\n\t\t|| x === 0x224C\n\t\t|| x === 0x2252\n\t\t|| x === 0x2260\n\t\t|| x === 0x2261\n\t\t|| x >= 0x2264 && x <= 0x2267\n\t\t|| x === 0x226A\n\t\t|| x === 0x226B\n\t\t|| x === 0x226E\n\t\t|| x === 0x226F\n\t\t|| x === 0x2282\n\t\t|| x === 0x2283\n\t\t|| x === 0x2286\n\t\t|| x === 0x2287\n\t\t|| x === 0x2295\n\t\t|| x === 0x2299\n\t\t|| x === 0x22A5\n\t\t|| x === 0x22BF\n\t\t|| x === 0x2312\n\t\t|| x >= 0x2460 && x <= 0x24E9\n\t\t|| x >= 0x24EB && x <= 0x254B\n\t\t|| x >= 0x2550 && x <= 0x2573\n\t\t|| x >= 0x2580 && x <= 0x258F\n\t\t|| x >= 0x2592 && x <= 0x2595\n\t\t|| x === 0x25A0\n\t\t|| x === 0x25A1\n\t\t|| x >= 0x25A3 && x <= 0x25A9\n\t\t|| x === 0x25B2\n\t\t|| x === 0x25B3\n\t\t|| x === 0x25B6\n\t\t|| x === 0x25B7\n\t\t|| x === 0x25BC\n\t\t|| x === 0x25BD\n\t\t|| x === 0x25C0\n\t\t|| x === 0x25C1\n\t\t|| x >= 0x25C6 && x <= 0x25C8\n\t\t|| x === 0x25CB\n\t\t|| x >= 0x25CE && x <= 0x25D1\n\t\t|| x >= 0x25E2 && x <= 0x25E5\n\t\t|| x === 0x25EF\n\t\t|| x === 0x2605\n\t\t|| x === 0x2606\n\t\t|| x === 0x2609\n\t\t|| x === 0x260E\n\t\t|| x === 0x260F\n\t\t|| x === 0x261C\n\t\t|| x === 0x261E\n\t\t|| x === 0x2640\n\t\t|| x === 0x2642\n\t\t|| x === 0x2660\n\t\t|| x === 0x2661\n\t\t|| x >= 0x2663 && x <= 0x2665\n\t\t|| x >= 0x2667 && x <= 0x266A\n\t\t|| x === 0x266C\n\t\t|| x === 0x266D\n\t\t|| x === 0x266F\n\t\t|| x === 0x269E\n\t\t|| x === 0x269F\n\t\t|| x === 0x26BF\n\t\t|| x >= 0x26C6 && x <= 0x26CD\n\t\t|| x >= 0x26CF && x <= 0x26D3\n\t\t|| x >= 0x26D5 && x <= 0x26E1\n\t\t|| x === 0x26E3\n\t\t|| x === 0x26E8\n\t\t|| x === 0x26E9\n\t\t|| x >= 0x26EB && x <= 0x26F1\n\t\t|| x === 0x26F4\n\t\t|| x >= 0x26F6 && x <= 0x26F9\n\t\t|| x === 0x26FB\n\t\t|| x === 0x26FC\n\t\t|| x === 0x26FE\n\t\t|| x === 0x26FF\n\t\t|| x === 0x273D\n\t\t|| x >= 0x2776 && x <= 0x277F\n\t\t|| x >= 0x2B56 && x <= 0x2B59\n\t\t|| x >= 0x3248 && x <= 0x324F\n\t\t|| x >= 0xE000 && x <= 0xF8FF\n\t\t|| x >= 0xFE00 && x <= 0xFE0F\n\t\t|| x === 0xFFFD\n\t\t|| x >= 0x1F100 && x <= 0x1F10A\n\t\t|| x >= 0x1F110 && x <= 0x1F12D\n\t\t|| x >= 0x1F130 && x <= 0x1F169\n\t\t|| x >= 0x1F170 && x <= 0x1F18D\n\t\t|| x === 0x1F18F\n\t\t|| x === 0x1F190\n\t\t|| x >= 0x1F19B && x <= 0x1F1AC\n\t\t|| x >= 0xE0100 && x <= 0xE01EF\n\t\t|| x >= 0xF0000 && x <= 0xFFFFD\n\t\t|| x >= 0x100000 && x <= 0x10FFFD;\n}\n\nfunction isFullWidth(x) {\n\treturn x === 0x3000\n\t\t|| x >= 0xFF01 && x <= 0xFF60\n\t\t|| x >= 0xFFE0 && x <= 0xFFE6;\n}\n\nfunction isWide(x) {\n\treturn x >= 0x1100 && x <= 0x115F\n\t\t|| x === 0x231A\n\t\t|| x === 0x231B\n\t\t|| x === 0x2329\n\t\t|| x === 0x232A\n\t\t|| x >= 0x23E9 && x <= 0x23EC\n\t\t|| x === 0x23F0\n\t\t|| x === 0x23F3\n\t\t|| x === 0x25FD\n\t\t|| x === 0x25FE\n\t\t|| x === 0x2614\n\t\t|| x === 0x2615\n\t\t|| x >= 0x2630 && x <= 0x2637\n\t\t|| x >= 0x2648 && x <= 0x2653\n\t\t|| x === 0x267F\n\t\t|| x >= 0x268A && x <= 0x268F\n\t\t|| x === 0x2693\n\t\t|| x === 0x26A1\n\t\t|| x === 0x26AA\n\t\t|| x === 0x26AB\n\t\t|| x === 0x26BD\n\t\t|| x === 0x26BE\n\t\t|| x === 0x26C4\n\t\t|| x === 0x26C5\n\t\t|| x === 0x26CE\n\t\t|| x === 0x26D4\n\t\t|| x === 0x26EA\n\t\t|| x === 0x26F2\n\t\t|| x === 0x26F3\n\t\t|| x === 0x26F5\n\t\t|| x === 0x26FA\n\t\t|| x === 0x26FD\n\t\t|| x === 0x2705\n\t\t|| x === 0x270A\n\t\t|| x === 0x270B\n\t\t|| x === 0x2728\n\t\t|| x === 0x274C\n\t\t|| x === 0x274E\n\t\t|| x >= 0x2753 && x <= 0x2755\n\t\t|| x === 0x2757\n\t\t|| x >= 0x2795 && x <= 0x2797\n\t\t|| x === 0x27B0\n\t\t|| x === 0x27BF\n\t\t|| x === 0x2B1B\n\t\t|| x === 0x2B1C\n\t\t|| x === 0x2B50\n\t\t|| x === 0x2B55\n\t\t|| x >= 0x2E80 && x <= 0x2E99\n\t\t|| x >= 0x2E9B && x <= 0x2EF3\n\t\t|| x >= 0x2F00 && x <= 0x2FD5\n\t\t|| x >= 0x2FF0 && x <= 0x2FFF\n\t\t|| x >= 0x3001 && x <= 0x303E\n\t\t|| x >= 0x3041 && x <= 0x3096\n\t\t|| x >= 0x3099 && x <= 0x30FF\n\t\t|| x >= 0x3105 && x <= 0x312F\n\t\t|| x >= 0x3131 && x <= 0x318E\n\t\t|| x >= 0x3190 && x <= 0x31E5\n\t\t|| x >= 0x31EF && x <= 0x321E\n\t\t|| x >= 0x3220 && x <= 0x3247\n\t\t|| x >= 0x3250 && x <= 0xA48C\n\t\t|| x >= 0xA490 && x <= 0xA4C6\n\t\t|| x >= 0xA960 && x <= 0xA97C\n\t\t|| x >= 0xAC00 && x <= 0xD7A3\n\t\t|| x >= 0xF900 && x <= 0xFAFF\n\t\t|| x >= 0xFE10 && x <= 0xFE19\n\t\t|| x >= 0xFE30 && x <= 0xFE52\n\t\t|| x >= 0xFE54 && x <= 0xFE66\n\t\t|| x >= 0xFE68 && x <= 0xFE6B\n\t\t|| x >= 0x16FE0 && x <= 0x16FE4\n\t\t|| x === 0x16FF0\n\t\t|| x === 0x16FF1\n\t\t|| x >= 0x17000 && x <= 0x187F7\n\t\t|| x >= 0x18800 && x <= 0x18CD5\n\t\t|| x >= 0x18CFF && x <= 0x18D08\n\t\t|| x >= 0x1AFF0 && x <= 0x1AFF3\n\t\t|| x >= 0x1AFF5 && x <= 0x1AFFB\n\t\t|| x === 0x1AFFD\n\t\t|| x === 0x1AFFE\n\t\t|| x >= 0x1B000 && x <= 0x1B122\n\t\t|| x === 0x1B132\n\t\t|| x >= 0x1B150 && x <= 0x1B152\n\t\t|| x === 0x1B155\n\t\t|| x >= 0x1B164 && x <= 0x1B167\n\t\t|| x >= 0x1B170 && x <= 0x1B2FB\n\t\t|| x >= 0x1D300 && x <= 0x1D356\n\t\t|| x >= 0x1D360 && x <= 0x1D376\n\t\t|| x === 0x1F004\n\t\t|| x === 0x1F0CF\n\t\t|| x === 0x1F18E\n\t\t|| x >= 0x1F191 && x <= 0x1F19A\n\t\t|| x >= 0x1F200 && x <= 0x1F202\n\t\t|| x >= 0x1F210 && x <= 0x1F23B\n\t\t|| x >= 0x1F240 && x <= 0x1F248\n\t\t|| x === 0x1F250\n\t\t|| x === 0x1F251\n\t\t|| x >= 0x1F260 && x <= 0x1F265\n\t\t|| x >= 0x1F300 && x <= 0x1F320\n\t\t|| x >= 0x1F32D && x <= 0x1F335\n\t\t|| x >= 0x1F337 && x <= 0x1F37C\n\t\t|| x >= 0x1F37E && x <= 0x1F393\n\t\t|| x >= 0x1F3A0 && x <= 0x1F3CA\n\t\t|| x >= 0x1F3CF && x <= 0x1F3D3\n\t\t|| x >= 0x1F3E0 && x <= 0x1F3F0\n\t\t|| x === 0x1F3F4\n\t\t|| x >= 0x1F3F8 && x <= 0x1F43E\n\t\t|| x === 0x1F440\n\t\t|| x >= 0x1F442 && x <= 0x1F4FC\n\t\t|| x >= 0x1F4FF && x <= 0x1F53D\n\t\t|| x >= 0x1F54B && x <= 0x1F54E\n\t\t|| x >= 0x1F550 && x <= 0x1F567\n\t\t|| x === 0x1F57A\n\t\t|| x === 0x1F595\n\t\t|| x === 0x1F596\n\t\t|| x === 0x1F5A4\n\t\t|| x >= 0x1F5FB && x <= 0x1F64F\n\t\t|| x >= 0x1F680 && x <= 0x1F6C5\n\t\t|| x === 0x1F6CC\n\t\t|| x >= 0x1F6D0 && x <= 0x1F6D2\n\t\t|| x >= 0x1F6D5 && x <= 0x1F6D7\n\t\t|| x >= 0x1F6DC && x <= 0x1F6DF\n\t\t|| x === 0x1F6EB\n\t\t|| x === 0x1F6EC\n\t\t|| x >= 0x1F6F4 && x <= 0x1F6FC\n\t\t|| x >= 0x1F7E0 && x <= 0x1F7EB\n\t\t|| x === 0x1F7F0\n\t\t|| x >= 0x1F90C && x <= 0x1F93A\n\t\t|| x >= 0x1F93C && x <= 0x1F945\n\t\t|| x >= 0x1F947 && x <= 0x1F9FF\n\t\t|| x >= 0x1FA70 && x <= 0x1FA7C\n\t\t|| x >= 0x1FA80 && x <= 0x1FA89\n\t\t|| x >= 0x1FA8F && x <= 0x1FAC6\n\t\t|| x >= 0x1FACE && x <= 0x1FADC\n\t\t|| x >= 0x1FADF && x <= 0x1FAE9\n\t\t|| x >= 0x1FAF0 && x <= 0x1FAF8\n\t\t|| x >= 0x20000 && x <= 0x2FFFD\n\t\t|| x >= 0x30000 && x <= 0x3FFFD;\n}\n\nfunction validate(codePoint) {\n\tif (!Number.isSafeInteger(codePoint)) {\n\t\tthrow new TypeError(`Expected a code point, got \\`${typeof codePoint}\\`.`);\n\t}\n}\n\nfunction eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {\n\tvalidate(codePoint);\n\n\tif (\n\t\tisFullWidth(codePoint)\n\t\t|| isWide(codePoint)\n\t\t|| (ambiguousAsWide && isAmbiguous(codePoint))\n\t) {\n\t\treturn 2;\n\t}\n\n\treturn 1;\n}\n\nconst emojiRegex = () => {\n\t// https://mths.be/emoji\n\treturn /[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE89\\uDE8F-\\uDEC2\\uDEC6\\uDECE-\\uDEDC\\uDEDF-\\uDEE9]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;\n};\n\nconst segmenter = globalThis.Intl?.Segmenter ? new Intl.Segmenter() : { segment: (str) => str.split('') };\n\nconst defaultIgnorableCodePointRegex = /^\\p{Default_Ignorable_Code_Point}$/u;\n\nfunction stringWidth$1(string, options = {}) {\n\tif (typeof string !== 'string' || string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tconst {\n\t\tambiguousIsNarrow = true,\n\t\tcountAnsiEscapeCodes = false,\n\t} = options;\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tlet width = 0;\n\tconst eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};\n\n\tfor (const {segment: character} of segmenter.segment(string)) {\n\t\tconst codePoint = character.codePointAt(0);\n\n\t\t// Ignore control characters\n\t\tif (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore zero-width characters\n\t\tif (\n\t\t\t(codePoint >= 0x20_0B && codePoint <= 0x20_0F) // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark\n\t\t\t|| codePoint === 0xFE_FF // Zero-width no-break space\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore combining characters\n\t\tif (\n\t\t\t(codePoint >= 0x3_00 && codePoint <= 0x3_6F) // Combining diacritical marks\n\t\t\t|| (codePoint >= 0x1A_B0 && codePoint <= 0x1A_FF) // Combining diacritical marks extended\n\t\t\t|| (codePoint >= 0x1D_C0 && codePoint <= 0x1D_FF) // Combining diacritical marks supplement\n\t\t\t|| (codePoint >= 0x20_D0 && codePoint <= 0x20_FF) // Combining diacritical marks for symbols\n\t\t\t|| (codePoint >= 0xFE_20 && codePoint <= 0xFE_2F) // Combining half marks\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore surrogate pairs\n\t\tif (codePoint >= 0xD8_00 && codePoint <= 0xDF_FF) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore variation selectors\n\t\tif (codePoint >= 0xFE_00 && codePoint <= 0xFE_0F) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// This covers some of the above cases, but we still keep them for performance reasons.\n\t\tif (defaultIgnorableCodePointRegex.test(character)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// TODO: Use `/\\p{RGI_Emoji}/v` when targeting Node.js 20.\n\t\tif (emojiRegex().test(character)) {\n\t\t\twidth += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\twidth += eastAsianWidth(codePoint, eastAsianWidthOptions);\n\t}\n\n\treturn width;\n}\n\nfunction isUnicodeSupported() {\n\tconst {env} = g$1;\n\tconst {TERM, TERM_PROGRAM} = env;\n\n\tif (g$1.platform !== 'win32') {\n\t\treturn TERM !== 'linux'; // Linux console (kernel)\n\t}\n\n\treturn Boolean(env.WT_SESSION) // Windows Terminal\n\t\t|| Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n\t\t|| env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n\t\t|| TERM_PROGRAM === 'Terminus-Sublime'\n\t\t|| TERM_PROGRAM === 'vscode'\n\t\t|| TERM === 'xterm-256color'\n\t\t|| TERM === 'alacritty'\n\t\t|| TERM === 'rxvt-unicode'\n\t\t|| TERM === 'rxvt-unicode-256color'\n\t\t|| env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\n\nconst TYPE_COLOR_MAP = {\n info: \"cyan\",\n fail: \"red\",\n success: \"green\",\n ready: \"green\",\n start: \"magenta\"\n};\nconst LEVEL_COLOR_MAP = {\n 0: \"red\",\n 1: \"yellow\"\n};\nconst unicode = isUnicodeSupported();\nconst s = (c, fallback) => unicode ? c : fallback;\nconst TYPE_ICONS = {\n error: s(\"\\u2716\", \"\\xD7\"),\n fatal: s(\"\\u2716\", \"\\xD7\"),\n ready: s(\"\\u2714\", \"\\u221A\"),\n warn: s(\"\\u26A0\", \"\\u203C\"),\n info: s(\"\\u2139\", \"i\"),\n success: s(\"\\u2714\", \"\\u221A\"),\n debug: s(\"\\u2699\", \"D\"),\n trace: s(\"\\u2192\", \"\\u2192\"),\n fail: s(\"\\u2716\", \"\\xD7\"),\n start: s(\"\\u25D0\", \"o\"),\n log: \"\"\n};\nfunction stringWidth(str) {\n const hasICU = typeof Intl === \"object\";\n if (!hasICU || !Intl.Segmenter) {\n return stripAnsi$1(str).length;\n }\n return stringWidth$1(str);\n}\nclass FancyReporter extends BasicReporter {\n formatStack(stack, message, opts) {\n const indent = \" \".repeat((opts?.errorLevel || 0) + 1);\n return `\n${indent}` + parseStack(stack, message).map(\n (line) => \" \" + line.replace(/^at +/, (m) => colors.gray(m)).replace(/\\((.+)\\)/, (_, m) => `(${colors.cyan(m)})`)\n ).join(`\n${indent}`);\n }\n formatType(logObj, isBadge, opts) {\n const typeColor = TYPE_COLOR_MAP[logObj.type] || LEVEL_COLOR_MAP[logObj.level] || \"gray\";\n if (isBadge) {\n return getBgColor(typeColor)(\n colors.black(` ${logObj.type.toUpperCase()} `)\n );\n }\n const _type = typeof TYPE_ICONS[logObj.type] === \"string\" ? TYPE_ICONS[logObj.type] : logObj.icon || logObj.type;\n return _type ? getColor(typeColor)(_type) : \"\";\n }\n formatLogObj(logObj, opts) {\n const [message, ...additional] = this.formatArgs(logObj.args, opts).split(\n \"\\n\"\n );\n if (logObj.type === \"box\") {\n return box(\n characterFormat(\n message + (additional.length > 0 ? \"\\n\" + additional.join(\"\\n\") : \"\")\n ),\n {\n title: logObj.title ? characterFormat(logObj.title) : void 0,\n style: logObj.style\n }\n );\n }\n const date = this.formatDate(logObj.date, opts);\n const coloredDate = date && colors.gray(date);\n const isBadge = logObj.badge ?? logObj.level < 2;\n const type = this.formatType(logObj, isBadge, opts);\n const tag = logObj.tag ? colors.gray(logObj.tag) : \"\";\n let line;\n const left = this.filterAndJoin([type, characterFormat(message)]);\n const right = this.filterAndJoin(opts.columns ? [tag, coloredDate] : [tag]);\n const space = (opts.columns || 0) - stringWidth(left) - stringWidth(right) - 2;\n line = space > 0 && (opts.columns || 0) >= 80 ? left + \" \".repeat(space) + right : (right ? `${colors.gray(`[${right}]`)} ` : \"\") + left;\n line += characterFormat(\n additional.length > 0 ? \"\\n\" + additional.join(\"\\n\") : \"\"\n );\n if (logObj.type === \"trace\") {\n const _err = new Error(\"Trace: \" + logObj.message);\n line += this.formatStack(_err.stack || \"\", _err.message);\n }\n return isBadge ? \"\\n\" + line + \"\\n\" : line;\n }\n}\nfunction characterFormat(str) {\n return str.replace(/`([^`]+)`/gm, (_, m) => colors.cyan(m)).replace(/\\s+_([^_]+)_\\s+/gm, (_, m) => ` ${colors.underline(m)} `);\n}\nfunction getColor(color = \"white\") {\n return colors[color] || colors.white;\n}\nfunction getBgColor(color = \"bgWhite\") {\n return colors[`bg${color[0].toUpperCase()}${color.slice(1)}`] || colors.bgWhite;\n}\n\nfunction createConsola(options = {}) {\n let level = _getDefaultLogLevel();\n if (process.env.CONSOLA_LEVEL) {\n level = Number.parseInt(process.env.CONSOLA_LEVEL) ?? level;\n }\n const consola2 = createConsola$1({\n level,\n defaults: { level },\n stdout: process.stdout,\n stderr: process.stderr,\n prompt: (...args) => import('./chunks/prompt.mjs').then((m) => m.prompt(...args)),\n reporters: options.reporters || [\n options.fancy ?? !(T || R) ? new FancyReporter() : new BasicReporter()\n ],\n ...options\n });\n return consola2;\n}\nfunction _getDefaultLogLevel() {\n if (g) {\n return LogLevels.debug;\n }\n if (R) {\n return LogLevels.warn;\n }\n return LogLevels.info;\n}\nconst consola = createConsola();\n\nexport { LogLevels, consola, createConsola, consola as default };\n","import * as tty from 'node:tty';\n\nconst {\n env = {},\n argv = [],\n platform = \"\"\n} = typeof process === \"undefined\" ? {} : process;\nconst isDisabled = \"NO_COLOR\" in env || argv.includes(\"--no-color\");\nconst isForced = \"FORCE_COLOR\" in env || argv.includes(\"--color\");\nconst isWindows = platform === \"win32\";\nconst isDumbTerminal = env.TERM === \"dumb\";\nconst isCompatibleTerminal = tty && tty.isatty && tty.isatty(1) && env.TERM && !isDumbTerminal;\nconst isCI = \"CI\" in env && (\"GITHUB_ACTIONS\" in env || \"GITLAB_CI\" in env || \"CIRCLECI\" in env);\nconst isColorSupported = !isDisabled && (isForced || isWindows && !isDumbTerminal || isCompatibleTerminal || isCI);\nfunction replaceClose(index, string, close, replace, head = string.slice(0, Math.max(0, index)) + replace, tail = string.slice(Math.max(0, index + close.length)), next = tail.indexOf(close)) {\n return head + (next < 0 ? tail : replaceClose(next, tail, close, replace));\n}\nfunction clearBleed(index, string, open, close, replace) {\n return index < 0 ? open + string + close : open + replaceClose(index, string, close, replace) + close;\n}\nfunction filterEmpty(open, close, replace = open, at = open.length + 1) {\n return (string) => string || !(string === \"\" || string === void 0) ? clearBleed(\n (\"\" + string).indexOf(close, at),\n string,\n open,\n close,\n replace\n ) : \"\";\n}\nfunction init(open, close, replace) {\n return filterEmpty(`\\x1B[${open}m`, `\\x1B[${close}m`, replace);\n}\nconst colorDefs = {\n reset: init(0, 0),\n bold: init(1, 22, \"\\x1B[22m\\x1B[1m\"),\n dim: init(2, 22, \"\\x1B[22m\\x1B[2m\"),\n italic: init(3, 23),\n underline: init(4, 24),\n inverse: init(7, 27),\n hidden: init(8, 28),\n strikethrough: init(9, 29),\n black: init(30, 39),\n red: init(31, 39),\n green: init(32, 39),\n yellow: init(33, 39),\n blue: init(34, 39),\n magenta: init(35, 39),\n cyan: init(36, 39),\n white: init(37, 39),\n gray: init(90, 39),\n bgBlack: init(40, 49),\n bgRed: init(41, 49),\n bgGreen: init(42, 49),\n bgYellow: init(43, 49),\n bgBlue: init(44, 49),\n bgMagenta: init(45, 49),\n bgCyan: init(46, 49),\n bgWhite: init(47, 49),\n blackBright: init(90, 39),\n redBright: init(91, 39),\n greenBright: init(92, 39),\n yellowBright: init(93, 39),\n blueBright: init(94, 39),\n magentaBright: init(95, 39),\n cyanBright: init(96, 39),\n whiteBright: init(97, 39),\n bgBlackBright: init(100, 49),\n bgRedBright: init(101, 49),\n bgGreenBright: init(102, 49),\n bgYellowBright: init(103, 49),\n bgBlueBright: init(104, 49),\n bgMagentaBright: init(105, 49),\n bgCyanBright: init(106, 49),\n bgWhiteBright: init(107, 49)\n};\nfunction createColors(useColor = isColorSupported) {\n return useColor ? colorDefs : Object.fromEntries(Object.keys(colorDefs).map((key) => [key, String]));\n}\nconst colors = createColors();\nfunction getColor(color, fallback = \"reset\") {\n return colors[color] || colors[fallback];\n}\nfunction colorize(color, text) {\n return getColor(color)(text);\n}\n\nconst ansiRegex = [\n String.raw`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)`,\n String.raw`(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))`\n].join(\"|\");\nfunction stripAnsi(text) {\n return text.replace(new RegExp(ansiRegex, \"g\"), \"\");\n}\nfunction centerAlign(str, len, space = \" \") {\n const free = len - str.length;\n if (free <= 0) {\n return str;\n }\n const freeLeft = Math.floor(free / 2);\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < freeLeft || i >= freeLeft + str.length ? space : str[i - freeLeft];\n }\n return _str;\n}\nfunction rightAlign(str, len, space = \" \") {\n const free = len - str.length;\n if (free <= 0) {\n return str;\n }\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < free ? space : str[i - free];\n }\n return _str;\n}\nfunction leftAlign(str, len, space = \" \") {\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < str.length ? str[i] : space;\n }\n return _str;\n}\nfunction align(alignment, str, len, space = \" \") {\n switch (alignment) {\n case \"left\": {\n return leftAlign(str, len, space);\n }\n case \"right\": {\n return rightAlign(str, len, space);\n }\n case \"center\": {\n return centerAlign(str, len, space);\n }\n default: {\n return str;\n }\n }\n}\n\nconst boxStylePresets = {\n solid: {\n tl: \"\\u250C\",\n tr: \"\\u2510\",\n bl: \"\\u2514\",\n br: \"\\u2518\",\n h: \"\\u2500\",\n v: \"\\u2502\"\n },\n double: {\n tl: \"\\u2554\",\n tr: \"\\u2557\",\n bl: \"\\u255A\",\n br: \"\\u255D\",\n h: \"\\u2550\",\n v: \"\\u2551\"\n },\n doubleSingle: {\n tl: \"\\u2553\",\n tr: \"\\u2556\",\n bl: \"\\u2559\",\n br: \"\\u255C\",\n h: \"\\u2500\",\n v: \"\\u2551\"\n },\n doubleSingleRounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2500\",\n v: \"\\u2551\"\n },\n singleThick: {\n tl: \"\\u250F\",\n tr: \"\\u2513\",\n bl: \"\\u2517\",\n br: \"\\u251B\",\n h: \"\\u2501\",\n v: \"\\u2503\"\n },\n singleDouble: {\n tl: \"\\u2552\",\n tr: \"\\u2555\",\n bl: \"\\u2558\",\n br: \"\\u255B\",\n h: \"\\u2550\",\n v: \"\\u2502\"\n },\n singleDoubleRounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2550\",\n v: \"\\u2502\"\n },\n rounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2500\",\n v: \"\\u2502\"\n }\n};\nconst defaultStyle = {\n borderColor: \"white\",\n borderStyle: \"rounded\",\n valign: \"center\",\n padding: 2,\n marginLeft: 1,\n marginTop: 1,\n marginBottom: 1\n};\nfunction box(text, _opts = {}) {\n const opts = {\n ..._opts,\n style: {\n ...defaultStyle,\n ..._opts.style\n }\n };\n const textLines = text.split(\"\\n\");\n const boxLines = [];\n const _color = getColor(opts.style.borderColor);\n const borderStyle = {\n ...typeof opts.style.borderStyle === \"string\" ? boxStylePresets[opts.style.borderStyle] || boxStylePresets.solid : opts.style.borderStyle\n };\n if (_color) {\n for (const key in borderStyle) {\n borderStyle[key] = _color(\n borderStyle[key]\n );\n }\n }\n const paddingOffset = opts.style.padding % 2 === 0 ? opts.style.padding : opts.style.padding + 1;\n const height = textLines.length + paddingOffset;\n const width = Math.max(\n ...textLines.map((line) => stripAnsi(line).length),\n opts.title ? stripAnsi(opts.title).length : 0\n ) + paddingOffset;\n const widthOffset = width + paddingOffset;\n const leftSpace = opts.style.marginLeft > 0 ? \" \".repeat(opts.style.marginLeft) : \"\";\n if (opts.style.marginTop > 0) {\n boxLines.push(\"\".repeat(opts.style.marginTop));\n }\n if (opts.title) {\n const title = _color ? _color(opts.title) : opts.title;\n const left = borderStyle.h.repeat(\n Math.floor((width - stripAnsi(opts.title).length) / 2)\n );\n const right = borderStyle.h.repeat(\n width - stripAnsi(opts.title).length - stripAnsi(left).length + paddingOffset\n );\n boxLines.push(\n `${leftSpace}${borderStyle.tl}${left}${title}${right}${borderStyle.tr}`\n );\n } else {\n boxLines.push(\n `${leftSpace}${borderStyle.tl}${borderStyle.h.repeat(widthOffset)}${borderStyle.tr}`\n );\n }\n const valignOffset = opts.style.valign === \"center\" ? Math.floor((height - textLines.length) / 2) : opts.style.valign === \"top\" ? height - textLines.length - paddingOffset : height - textLines.length;\n for (let i = 0; i < height; i++) {\n if (i < valignOffset || i >= valignOffset + textLines.length) {\n boxLines.push(\n `${leftSpace}${borderStyle.v}${\" \".repeat(widthOffset)}${borderStyle.v}`\n );\n } else {\n const line = textLines[i - valignOffset];\n const left = \" \".repeat(paddingOffset);\n const right = \" \".repeat(width - stripAnsi(line).length);\n boxLines.push(\n `${leftSpace}${borderStyle.v}${left}${line}${right}${borderStyle.v}`\n );\n }\n }\n boxLines.push(\n `${leftSpace}${borderStyle.bl}${borderStyle.h.repeat(widthOffset)}${borderStyle.br}`\n );\n if (opts.style.marginBottom > 0) {\n boxLines.push(\"\".repeat(opts.style.marginBottom));\n }\n return boxLines.join(\"\\n\");\n}\n\nexport { centerAlign as a, align as b, colorize as c, box as d, colors as e, getColor as g, leftAlign as l, rightAlign as r, stripAnsi as s };\n","import { c as colorize } from './shared/consola.DXBYu-KD.mjs';\nexport { b as align, d as box, a as centerAlign, e as colors, g as getColor, l as leftAlign, r as rightAlign, s as stripAnsi } from './shared/consola.DXBYu-KD.mjs';\nimport 'node:tty';\n\nfunction formatTree(items, options) {\n options = {\n prefix: \" \",\n ellipsis: \"...\",\n ...options\n };\n const tree = _buildTree(items, options).join(\"\");\n if (options && options.color) {\n return colorize(options.color, tree);\n }\n return tree;\n}\nfunction _buildTree(items, options) {\n const chunks = [];\n const total = items.length - 1;\n for (let i = 0; i <= total; i++) {\n const item = items[i];\n const isItemString = typeof item === \"string\";\n const isLimit = options?.maxDepth != null && options.maxDepth <= 0;\n if (isLimit) {\n const ellipsis = `${options.prefix}${options.ellipsis}\n`;\n return [\n isItemString ? ellipsis : item.color ? colorize(item.color, ellipsis) : ellipsis\n // prettier-ignore\n ];\n }\n const isLast = i === total;\n const prefix = isLast ? `${options?.prefix}\\u2514\\u2500` : `${options?.prefix}\\u251C\\u2500`;\n if (isItemString) {\n chunks.push(`${prefix}${item}\n`);\n } else {\n const log = `${prefix}${item.text}\n`;\n chunks.push(item.color ? colorize(item.color, log) : log);\n if (item.children) {\n const _tree = _buildTree(item.children, {\n ...options,\n maxDepth: options?.maxDepth == null ? void 0 : options.maxDepth - 1,\n prefix: `${options?.prefix}${isLast ? \" \" : \"\\u2502 \"}`\n });\n chunks.push(..._tree);\n }\n }\n }\n return chunks;\n}\n\nexport { colorize, formatTree };\n","import consola from 'consola';\nimport { colors } from 'consola/utils';\n\nfunction toArray(val) {\n if (Array.isArray(val)) {\n return val;\n }\n return val === void 0 ? [] : [val];\n}\nfunction formatLineColumns(lines, linePrefix = \"\") {\n const maxLengh = [];\n for (const line of lines) {\n for (const [i, element] of line.entries()) {\n maxLengh[i] = Math.max(maxLengh[i] || 0, element.length);\n }\n }\n return lines.map(\n (l) => l.map(\n (c, i) => linePrefix + c[i === 0 ? \"padStart\" : \"padEnd\"](maxLengh[i])\n ).join(\" \")\n ).join(\"\\n\");\n}\nfunction resolveValue(input) {\n return typeof input === \"function\" ? input() : input;\n}\nclass CLIError extends Error {\n constructor(message, code) {\n super(message);\n this.code = code;\n this.name = \"CLIError\";\n }\n}\n\nconst NUMBER_CHAR_RE = /\\d/;\nconst STR_SPLITTERS = [\"-\", \"_\", \"/\", \".\"];\nfunction isUppercase(char = \"\") {\n if (NUMBER_CHAR_RE.test(char)) {\n return void 0;\n }\n return char !== char.toLowerCase();\n}\nfunction splitByCase(str, separators) {\n const splitters = separators ?? STR_SPLITTERS;\n const parts = [];\n if (!str || typeof str !== \"string\") {\n return parts;\n }\n let buff = \"\";\n let previousUpper;\n let previousSplitter;\n for (const char of str) {\n const isSplitter = splitters.includes(char);\n if (isSplitter === true) {\n parts.push(buff);\n buff = \"\";\n previousUpper = void 0;\n continue;\n }\n const isUpper = isUppercase(char);\n if (previousSplitter === false) {\n if (previousUpper === false && isUpper === true) {\n parts.push(buff);\n buff = char;\n previousUpper = isUpper;\n continue;\n }\n if (previousUpper === true && isUpper === false && buff.length > 1) {\n const lastChar = buff.at(-1);\n parts.push(buff.slice(0, Math.max(0, buff.length - 1)));\n buff = lastChar + char;\n previousUpper = isUpper;\n continue;\n }\n }\n buff += char;\n previousUpper = isUpper;\n previousSplitter = isSplitter;\n }\n parts.push(buff);\n return parts;\n}\nfunction upperFirst(str) {\n return str ? str[0].toUpperCase() + str.slice(1) : \"\";\n}\nfunction lowerFirst(str) {\n return str ? str[0].toLowerCase() + str.slice(1) : \"\";\n}\nfunction pascalCase(str, opts) {\n return str ? (Array.isArray(str) ? str : splitByCase(str)).map((p) => upperFirst(opts?.normalize ? p.toLowerCase() : p)).join(\"\") : \"\";\n}\nfunction camelCase(str, opts) {\n return lowerFirst(pascalCase(str || \"\", opts));\n}\nfunction kebabCase(str, joiner) {\n return str ? (Array.isArray(str) ? str : splitByCase(str)).map((p) => p.toLowerCase()).join(joiner ?? \"-\") : \"\";\n}\n\nfunction toArr(any) {\n return any == void 0 ? [] : Array.isArray(any) ? any : [any];\n}\nfunction toVal(out, key, val, opts) {\n let x;\n const old = out[key];\n const nxt = ~opts.string.indexOf(key) ? val == void 0 || val === true ? \"\" : String(val) : typeof val === \"boolean\" ? val : ~opts.boolean.indexOf(key) ? val === \"false\" ? false : val === \"true\" || (out._.push((x = +val, x * 0 === 0) ? x : val), !!val) : (x = +val, x * 0 === 0) ? x : val;\n out[key] = old == void 0 ? nxt : Array.isArray(old) ? old.concat(nxt) : [old, nxt];\n}\nfunction parseRawArgs(args = [], opts = {}) {\n let k;\n let arr;\n let arg;\n let name;\n let val;\n const out = { _: [] };\n let i = 0;\n let j = 0;\n let idx = 0;\n const len = args.length;\n const alibi = opts.alias !== void 0;\n const strict = opts.unknown !== void 0;\n const defaults = opts.default !== void 0;\n opts.alias = opts.alias || {};\n opts.string = toArr(opts.string);\n opts.boolean = toArr(opts.boolean);\n if (alibi) {\n for (k in opts.alias) {\n arr = opts.alias[k] = toArr(opts.alias[k]);\n for (i = 0; i < arr.length; i++) {\n (opts.alias[arr[i]] = arr.concat(k)).splice(i, 1);\n }\n }\n }\n for (i = opts.boolean.length; i-- > 0; ) {\n arr = opts.alias[opts.boolean[i]] || [];\n for (j = arr.length; j-- > 0; ) {\n opts.boolean.push(arr[j]);\n }\n }\n for (i = opts.string.length; i-- > 0; ) {\n arr = opts.alias[opts.string[i]] || [];\n for (j = arr.length; j-- > 0; ) {\n opts.string.push(arr[j]);\n }\n }\n if (defaults) {\n for (k in opts.default) {\n name = typeof opts.default[k];\n arr = opts.alias[k] = opts.alias[k] || [];\n if (opts[name] !== void 0) {\n opts[name].push(k);\n for (i = 0; i < arr.length; i++) {\n opts[name].push(arr[i]);\n }\n }\n }\n }\n const keys = strict ? Object.keys(opts.alias) : [];\n for (i = 0; i < len; i++) {\n arg = args[i];\n if (arg === \"--\") {\n out._ = out._.concat(args.slice(++i));\n break;\n }\n for (j = 0; j < arg.length; j++) {\n if (arg.charCodeAt(j) !== 45) {\n break;\n }\n }\n if (j === 0) {\n out._.push(arg);\n } else if (arg.substring(j, j + 3) === \"no-\") {\n name = arg.slice(Math.max(0, j + 3));\n if (strict && !~keys.indexOf(name)) {\n return opts.unknown(arg);\n }\n out[name] = false;\n } else {\n for (idx = j + 1; idx < arg.length; idx++) {\n if (arg.charCodeAt(idx) === 61) {\n break;\n }\n }\n name = arg.substring(j, idx);\n val = arg.slice(Math.max(0, ++idx)) || i + 1 === len || (\"\" + args[i + 1]).charCodeAt(0) === 45 || args[++i];\n arr = j === 2 ? [name] : name;\n for (idx = 0; idx < arr.length; idx++) {\n name = arr[idx];\n if (strict && !~keys.indexOf(name)) {\n return opts.unknown(\"-\".repeat(j) + name);\n }\n toVal(out, name, idx + 1 < arr.length || val, opts);\n }\n }\n }\n if (defaults) {\n for (k in opts.default) {\n if (out[k] === void 0) {\n out[k] = opts.default[k];\n }\n }\n }\n if (alibi) {\n for (k in out) {\n arr = opts.alias[k] || [];\n while (arr.length > 0) {\n out[arr.shift()] = out[k];\n }\n }\n }\n return out;\n}\n\nfunction parseArgs(rawArgs, argsDef) {\n const parseOptions = {\n boolean: [],\n string: [],\n mixed: [],\n alias: {},\n default: {}\n };\n const args = resolveArgs(argsDef);\n for (const arg of args) {\n if (arg.type === \"positional\") {\n continue;\n }\n if (arg.type === \"string\") {\n parseOptions.string.push(arg.name);\n } else if (arg.type === \"boolean\") {\n parseOptions.boolean.push(arg.name);\n }\n if (arg.default !== void 0) {\n parseOptions.default[arg.name] = arg.default;\n }\n if (arg.alias) {\n parseOptions.alias[arg.name] = arg.alias;\n }\n }\n const parsed = parseRawArgs(rawArgs, parseOptions);\n const [...positionalArguments] = parsed._;\n const parsedArgsProxy = new Proxy(parsed, {\n get(target, prop) {\n return target[prop] ?? target[camelCase(prop)] ?? target[kebabCase(prop)];\n }\n });\n for (const [, arg] of args.entries()) {\n if (arg.type === \"positional\") {\n const nextPositionalArgument = positionalArguments.shift();\n if (nextPositionalArgument !== void 0) {\n parsedArgsProxy[arg.name] = nextPositionalArgument;\n } else if (arg.default === void 0 && arg.required !== false) {\n throw new CLIError(\n `Missing required positional argument: ${arg.name.toUpperCase()}`,\n \"EARG\"\n );\n } else {\n parsedArgsProxy[arg.name] = arg.default;\n }\n } else if (arg.required && parsedArgsProxy[arg.name] === void 0) {\n throw new CLIError(`Missing required argument: --${arg.name}`, \"EARG\");\n }\n }\n return parsedArgsProxy;\n}\nfunction resolveArgs(argsDef) {\n const args = [];\n for (const [name, argDef] of Object.entries(argsDef || {})) {\n args.push({\n ...argDef,\n name,\n alias: toArray(argDef.alias)\n });\n }\n return args;\n}\n\nfunction defineCommand(def) {\n return def;\n}\nasync function runCommand(cmd, opts) {\n const cmdArgs = await resolveValue(cmd.args || {});\n const parsedArgs = parseArgs(opts.rawArgs, cmdArgs);\n const context = {\n rawArgs: opts.rawArgs,\n args: parsedArgs,\n data: opts.data,\n cmd\n };\n if (typeof cmd.setup === \"function\") {\n await cmd.setup(context);\n }\n let result;\n try {\n const subCommands = await resolveValue(cmd.subCommands);\n if (subCommands && Object.keys(subCommands).length > 0) {\n const subCommandArgIndex = opts.rawArgs.findIndex(\n (arg) => !arg.startsWith(\"-\")\n );\n const subCommandName = opts.rawArgs[subCommandArgIndex];\n if (subCommandName) {\n if (!subCommands[subCommandName]) {\n throw new CLIError(\n `Unknown command \\`${subCommandName}\\``,\n \"E_UNKNOWN_COMMAND\"\n );\n }\n const subCommand = await resolveValue(subCommands[subCommandName]);\n if (subCommand) {\n await runCommand(subCommand, {\n rawArgs: opts.rawArgs.slice(subCommandArgIndex + 1)\n });\n }\n } else if (!cmd.run) {\n throw new CLIError(`No command specified.`, \"E_NO_COMMAND\");\n }\n }\n if (typeof cmd.run === \"function\") {\n result = await cmd.run(context);\n }\n } finally {\n if (typeof cmd.cleanup === \"function\") {\n await cmd.cleanup(context);\n }\n }\n return { result };\n}\nasync function resolveSubCommand(cmd, rawArgs, parent) {\n const subCommands = await resolveValue(cmd.subCommands);\n if (subCommands && Object.keys(subCommands).length > 0) {\n const subCommandArgIndex = rawArgs.findIndex((arg) => !arg.startsWith(\"-\"));\n const subCommandName = rawArgs[subCommandArgIndex];\n const subCommand = await resolveValue(subCommands[subCommandName]);\n if (subCommand) {\n return resolveSubCommand(\n subCommand,\n rawArgs.slice(subCommandArgIndex + 1),\n cmd\n );\n }\n }\n return [cmd, parent];\n}\n\nasync function showUsage(cmd, parent) {\n try {\n consola.log(await renderUsage(cmd, parent) + \"\\n\");\n } catch (error) {\n consola.error(error);\n }\n}\nasync function renderUsage(cmd, parent) {\n const cmdMeta = await resolveValue(cmd.meta || {});\n const cmdArgs = resolveArgs(await resolveValue(cmd.args || {}));\n const parentMeta = await resolveValue(parent?.meta || {});\n const commandName = `${parentMeta.name ? `${parentMeta.name} ` : \"\"}` + (cmdMeta.name || process.argv[1]);\n const argLines = [];\n const posLines = [];\n const commandsLines = [];\n const usageLine = [];\n for (const arg of cmdArgs) {\n if (arg.type === \"positional\") {\n const name = arg.name.toUpperCase();\n const isRequired = arg.required !== false && arg.default === void 0;\n const defaultHint = arg.default ? `=\"${arg.default}\"` : \"\";\n posLines.push([\n \"`\" + name + defaultHint + \"`\",\n arg.description || \"\",\n arg.valueHint ? `<${arg.valueHint}>` : \"\"\n ]);\n usageLine.push(isRequired ? `<${name}>` : `[${name}]`);\n } else {\n const isRequired = arg.required === true && arg.default === void 0;\n const argStr = (arg.type === \"boolean\" && arg.default === true ? [\n ...(arg.alias || []).map((a) => `--no-${a}`),\n `--no-${arg.name}`\n ].join(\", \") : [...(arg.alias || []).map((a) => `-${a}`), `--${arg.name}`].join(\n \", \"\n )) + (arg.type === \"string\" && (arg.valueHint || arg.default) ? `=${arg.valueHint ? `<${arg.valueHint}>` : `\"${arg.default || \"\"}\"`}` : \"\");\n argLines.push([\n \"`\" + argStr + (isRequired ? \" (required)\" : \"\") + \"`\",\n arg.description || \"\"\n ]);\n if (isRequired) {\n usageLine.push(argStr);\n }\n }\n }\n if (cmd.subCommands) {\n const commandNames = [];\n const subCommands = await resolveValue(cmd.subCommands);\n for (const [name, sub] of Object.entries(subCommands)) {\n const subCmd = await resolveValue(sub);\n const meta = await resolveValue(subCmd?.meta);\n commandsLines.push([`\\`${name}\\``, meta?.description || \"\"]);\n commandNames.push(name);\n }\n usageLine.push(commandNames.join(\"|\"));\n }\n const usageLines = [];\n const version = cmdMeta.version || parentMeta.version;\n usageLines.push(\n colors.gray(\n `${cmdMeta.description} (${commandName + (version ? ` v${version}` : \"\")})`\n ),\n \"\"\n );\n const hasOptions = argLines.length > 0 || posLines.length > 0;\n usageLines.push(\n `${colors.underline(colors.bold(\"USAGE\"))} \\`${commandName}${hasOptions ? \" [OPTIONS]\" : \"\"} ${usageLine.join(\" \")}\\``,\n \"\"\n );\n if (posLines.length > 0) {\n usageLines.push(colors.underline(colors.bold(\"ARGUMENTS\")), \"\");\n usageLines.push(formatLineColumns(posLines, \" \"));\n usageLines.push(\"\");\n }\n if (argLines.length > 0) {\n usageLines.push(colors.underline(colors.bold(\"OPTIONS\")), \"\");\n usageLines.push(formatLineColumns(argLines, \" \"));\n usageLines.push(\"\");\n }\n if (commandsLines.length > 0) {\n usageLines.push(colors.underline(colors.bold(\"COMMANDS\")), \"\");\n usageLines.push(formatLineColumns(commandsLines, \" \"));\n usageLines.push(\n \"\",\n `Use \\`${commandName} <command> --help\\` for more information about a command.`\n );\n }\n return usageLines.filter((l) => typeof l === \"string\").join(\"\\n\");\n}\n\nasync function runMain(cmd, opts = {}) {\n const rawArgs = opts.rawArgs || process.argv.slice(2);\n const showUsage$1 = opts.showUsage || showUsage;\n try {\n if (rawArgs.includes(\"--help\") || rawArgs.includes(\"-h\")) {\n await showUsage$1(...await resolveSubCommand(cmd, rawArgs));\n process.exit(0);\n } else if (rawArgs.length === 1 && rawArgs[0] === \"--version\") {\n const meta = typeof cmd.meta === \"function\" ? await cmd.meta() : await cmd.meta;\n if (!meta?.version) {\n throw new CLIError(\"No version specified\", \"E_NO_VERSION\");\n }\n consola.log(meta.version);\n } else {\n await runCommand(cmd, { rawArgs });\n }\n } catch (error) {\n const isCLIError = error instanceof CLIError;\n if (!isCLIError) {\n consola.error(error, \"\\n\");\n }\n if (isCLIError) {\n await showUsage$1(...await resolveSubCommand(cmd, rawArgs));\n }\n consola.error(error.message);\n process.exit(1);\n }\n}\nfunction createMain(cmd) {\n return (opts = {}) => runMain(cmd, opts);\n}\n\nexport { createMain, defineCommand, parseArgs, renderUsage, runCommand, runMain, showUsage };\n","{\n \"name\": \"@planview/pvds-skills\",\n \"version\": \"0.0.1\",\n \"description\": \"One-command installer for Planview Design System (PVDS) agent skills. Zero-dependency bundled CLI you run via `pnpm dlx`.\",\n \"keywords\": [\n \"planview\",\n \"pvds\",\n \"design-system\",\n \"cli\",\n \"agent\",\n \"skills\",\n \"claude\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/planview-ds/skills.git\"\n },\n \"license\": \"UNLICENSED\",\n \"engines\": {\n \"node\": \">=20.11.0\"\n },\n \"packageManager\": \"pnpm@10.27.0\",\n \"type\": \"module\",\n \"bin\": {\n \"pvds-skills\": \"./dist/cli.js\"\n },\n \"files\": [\n \"dist\",\n \"README.md\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"scripts\": {\n \"build\": \"tsup\",\n \"dev\": \"tsup --watch\",\n \"typecheck\": \"tsc --noEmit\",\n \"clean\": \"rm -rf dist\",\n \"refresh-manifest\": \"tsx scripts/refresh-manifest.ts\",\n \"test\": \"vitest run\",\n \"test:watch\": \"vitest\",\n \"lint\": \"eslint .\",\n \"lint:fix\": \"eslint . --fix\",\n \"format\": \"prettier --write .\",\n \"format:check\": \"prettier --check .\",\n \"version:set\": \"node tools/set-version.mjs\",\n \"verify:tag\": \"node tools/check-tag-matches-versions.mjs\"\n },\n \"devDependencies\": {\n \"@eslint/js\": \"^9.14.0\",\n \"@planview/pv-details\": \"^2.1.1\",\n \"@planview/pv-filter\": \"^3.0.5\",\n \"@planview/pv-form\": \"^2.0.0\",\n \"@planview/pv-gantt\": \"^1.0.1\",\n \"@planview/pv-grid\": \"^2.2.0\",\n \"@planview/pv-icons\": \"^3.0.0\",\n \"@planview/pv-tokens\": \"^1.5.0\",\n \"@planview/pv-toolbar\": \"^2.0.2\",\n \"@planview/pv-uikit\": \"^8.1.1\",\n \"@planview/pv-utilities\": \"^5.2.1\",\n \"@planview/pv-widget\": \"^2.1.2\",\n \"@types/node\": \"^20.14.10\",\n \"@typescript-eslint/eslint-plugin\": \"^8.13.0\",\n \"@typescript-eslint/parser\": \"^8.13.0\",\n \"eslint\": \"^9.14.0\",\n \"prettier\": \"^3.3.3\",\n \"tsup\": \"^8.3.5\",\n \"tsx\": \"^4.23.12\",\n \"typescript\": \"^5.9.3\",\n \"typescript-eslint\": \"^8.13.0\",\n \"vitest\": \"^2.1.4\"\n },\n \"dependencies\": {\n \"citty\": \"^0.1.6\"\n },\n \"pnpm\": {\n \"onlyBuiltDependencies\": [\n \"esbuild\"\n ]\n }\n}\n","import { writeFile } from \"node:fs/promises\";\nimport { resolve } from \"node:path\";\n\nimport { defineCommand } from \"citty\";\n\nimport { gitChangedFiles, gitFilesSince, gitStagedFiles } from \"../../_analysis/git-scope.js\";\nimport {\n checkDeprecatedImports,\n checkHardcodedColors,\n checkHardcodedSpacing,\n checkLiteralSizeProps,\n checkManifestDrift,\n checkOrphanDeps,\n checkSubpathImports,\n checkUndeclaredImports,\n checkUnknownProps,\n checkVersions,\n formatIssues,\n type CheckIssue,\n type CheckResult,\n type CheckStats,\n type OutputFormat,\n} from \"../../_checks/index.js\";\nimport { readPvdsConfig } from \"../paths.js\";\n\nconst CATEGORIES = [\n \"versions\",\n \"manifest-drift\",\n \"subpath-imports\",\n \"orphan-deps\",\n \"undeclared-imports\",\n \"deprecated-imports\",\n \"hardcoded-colors\",\n \"hardcoded-spacing\",\n \"literal-size-props\",\n \"unknown-props\",\n] as const;\ntype Category = (typeof CATEGORIES)[number];\n\nconst RUNNERS: Record<\n Category,\n (opts: { cwd: string; verbose: boolean; files?: string[] | undefined }) => Promise<CheckResult>\n> = {\n versions: ({ cwd, verbose }) => checkVersions({ cwd, verbose }),\n \"manifest-drift\": ({ cwd, verbose }) => checkManifestDrift({ cwd, verbose }),\n \"subpath-imports\": ({ cwd, verbose, files }) => checkSubpathImports({ cwd, verbose, files }),\n \"orphan-deps\": ({ cwd, verbose }) => checkOrphanDeps({ cwd, verbose }),\n \"undeclared-imports\": ({ cwd, verbose, files }) =>\n checkUndeclaredImports({ cwd, verbose, files }),\n \"deprecated-imports\": ({ cwd, verbose, files }) =>\n checkDeprecatedImports({ cwd, verbose, files }),\n \"hardcoded-colors\": ({ cwd, verbose, files }) => checkHardcodedColors({ cwd, verbose, files }),\n \"hardcoded-spacing\": ({ cwd, verbose, files }) => checkHardcodedSpacing({ cwd, verbose, files }),\n \"literal-size-props\": ({ cwd, verbose, files }) => checkLiteralSizeProps({ cwd, verbose, files }),\n \"unknown-props\": ({ cwd, verbose, files }) => checkUnknownProps({ cwd, verbose, files }),\n};\n\nfunction parseCsv(value: string | undefined): string[] {\n if (!value) return [];\n return value\n .split(\",\")\n .map((s) => s.trim())\n .filter(Boolean);\n}\n\nfunction resolveCategories(args: { only?: string; skip?: string }): Category[] {\n const skip = new Set(parseCsv(args.skip));\n const requested = args.only ? (parseCsv(args.only) as Category[]) : [...CATEGORIES];\n return requested.filter((c) => CATEGORIES.includes(c) && !skip.has(c));\n}\n\n/**\n * Resolve the file-scoping flags to an explicit file list, or `undefined` when none were\n * given (meaning: fall back to a full tree walk). Sources are additive/unioned when combined.\n * Only the per-file scanning categories honor this (versions/manifest-drift/orphan-deps\n * inherently need whole-repo visibility and ignore it).\n */\nasync function resolveScopeFiles(\n args: {\n files?: string;\n changed?: boolean;\n staged?: boolean;\n since?: string;\n },\n cwd: string,\n): Promise<string[] | undefined> {\n const sets: string[][] = [];\n if (args.files) sets.push(parseCsv(args.files));\n if (args.changed) sets.push(await gitChangedFiles(cwd));\n if (args.staged) sets.push(await gitStagedFiles(cwd));\n if (args.since) sets.push(await gitFilesSince(cwd, args.since));\n if (sets.length === 0) return undefined;\n return Array.from(new Set(sets.flat()));\n}\n\nfunction summarizeStats(category: Category, stats: CheckStats | undefined): string {\n if (!stats) return `${category}: (no stats)`;\n switch (category) {\n case \"versions\":\n return `versions scanned ${stats.filesScanned} package.json file(s); ${stats.pvOccurrences} PV range(s) across ${stats.uniquePvPackages} package(s)`;\n case \"manifest-drift\":\n return `manifest-drift compared ${stats.uniquePvPackages} installed PV package(s) against the bundled reference-data snapshot`;\n case \"subpath-imports\":\n return `subpath-imports scanned ${stats.filesScanned} source file(s); ${stats.pvOccurrences} PV import(s) across ${stats.uniquePvPackages} package(s)`;\n case \"orphan-deps\":\n return `orphan-deps scanned ${stats.filesScanned} package.json file(s); ${stats.uniquePvPackages} PV package(s) declared`;\n case \"undeclared-imports\":\n return `undeclared-imports scanned ${stats.filesScanned} source file(s); ${stats.pvOccurrences} PV import(s) across ${stats.uniquePvPackages} package(s)`;\n case \"deprecated-imports\":\n return `deprecated-imports scanned ${stats.filesScanned} source file(s); ${stats.pvOccurrences} PV binding(s) across ${stats.uniquePvPackages} package(s)`;\n case \"hardcoded-colors\":\n return `hardcoded-colors scanned ${stats.filesScanned} source file(s); ${stats.pvOccurrences} CSS-in-JS region(s)`;\n case \"hardcoded-spacing\":\n return `hardcoded-spacing scanned ${stats.filesScanned} source file(s); ${stats.pvOccurrences} CSS-in-JS region(s)`;\n case \"literal-size-props\":\n return `literal-size-props scanned ${stats.filesScanned} source file(s); ${stats.pvOccurrences} PV JSX usage(s) across ${stats.uniquePvPackages} package(s)`;\n case \"unknown-props\":\n return `unknown-props scanned ${stats.filesScanned} source file(s); ${stats.pvOccurrences} PV JSX usage(s) across ${stats.uniquePvPackages} package(s)`;\n }\n}\n\nexport const check = defineCommand({\n meta: {\n name: \"check\",\n description:\n \"Run deterministic PVDS audits. Structural, zero-heuristic: package.json version drift, subpath imports, orphan and undeclared PV deps.\",\n },\n args: {\n path: {\n type: \"string\",\n description: \"Directory to check (default: cwd).\",\n },\n only: {\n type: \"string\",\n description: `Comma-separated categories to run. One of: ${CATEGORIES.join(\", \")}.`,\n },\n skip: {\n type: \"string\",\n description: \"Comma-separated categories to skip.\",\n },\n format: {\n type: \"string\",\n description: \"Output format: human, json, or sarif.\",\n default: \"human\",\n },\n output: {\n type: \"string\",\n description: \"Write output to a file instead of stdout.\",\n },\n verbose: {\n type: \"boolean\",\n description: \"List every source/package.json file that was scanned.\",\n default: false,\n },\n files: {\n type: \"string\",\n description:\n \"Comma-separated file paths to scan instead of walking the whole directory \" +\n \"(absolute or relative to --path). Ignored by versions/manifest-drift/orphan-deps, \" +\n \"which require whole-repo visibility.\",\n },\n changed: {\n type: \"boolean\",\n description: \"Scope to files with uncommitted changes (tracked + untracked, vs HEAD).\",\n default: false,\n },\n staged: {\n type: \"boolean\",\n description: \"Scope to staged files only (git diff --cached).\",\n default: false,\n },\n since: {\n type: \"string\",\n description: \"Scope to files changed since diverging from this git ref (e.g. main).\",\n },\n },\n async run({ args }) {\n const cwd = resolve(args.path ?? \".\");\n const verbose = Boolean(args.verbose);\n const categories = resolveCategories(args);\n if (categories.length === 0) {\n console.error(`No matching categories. Known: ${CATEGORIES.join(\", \")}.`);\n process.exitCode = 2;\n return;\n }\n\n let scopeFiles: string[] | undefined;\n try {\n scopeFiles = await resolveScopeFiles(args, cwd);\n } catch (err) {\n console.error(`error resolving file scope: ${(err as Error).message}`);\n process.exitCode = 2;\n return;\n }\n\n const config = await readPvdsConfig(cwd);\n if (!config) {\n console.warn(\n `note: no .pvds-skills/config.json at ${cwd}. Run \\`pvds-skills init\\` to persist settings.`,\n );\n }\n\n const format = (args.format ?? \"human\") as OutputFormat;\n const isHuman = format === \"human\";\n\n if (isHuman) {\n const noun = categories.length === 1 ? \"category\" : \"categories\";\n const scope = scopeFiles === undefined ? \"\" : ` (scoped to ${scopeFiles.length} file(s))`;\n console.log(`scanning under ${cwd} (${categories.length} ${noun})${scope}…`);\n }\n\n // Run categories one at a time (not Promise.all): several of them walk the entire\n // source tree and read every matched file into memory at once, so running them\n // concurrently multiplies peak memory by the number of scanning checks — enough to\n // OOM the process on large real-world repos. Sequential execution also gives\n // naturally ordered progress output instead of a completion-order race.\n const runs: { category: Category; result: CheckResult }[] = [];\n for (const [index, category] of categories.entries()) {\n const result = await RUNNERS[category]({ cwd, verbose, files: scopeFiles });\n if (isHuman) {\n console.log(\n ` [${index + 1}/${categories.length}] ${summarizeStats(category, result.stats)}`,\n );\n }\n runs.push({ category, result });\n }\n\n const allIssues: CheckIssue[] = runs.flatMap((r) => r.result.issues);\n\n if (isHuman) {\n if (verbose) {\n for (const { category, result } of runs) {\n const files = result.stats?.scannedFiles;\n if (!files || files.length === 0) continue;\n console.log(`\\n ${category} files:`);\n for (const f of files) console.log(` · ${f}`);\n }\n }\n console.log(\"\");\n }\n\n const output = formatIssues(allIssues, format);\n if (args.output) {\n await writeFile(resolve(cwd, args.output), output + \"\\n\");\n } else {\n console.log(output);\n }\n process.exitCode = allIssues.length === 0 ? 0 : 1;\n },\n});\n","import { execFile } from \"node:child_process\";\nimport { resolve } from \"node:path\";\nimport { promisify } from \"node:util\";\n\nconst execFileAsync = promisify(execFile);\n\nasync function gitToplevel(cwd: string): Promise<string> {\n try {\n const { stdout } = await execFileAsync(\"git\", [\"rev-parse\", \"--show-toplevel\"], { cwd });\n return stdout.trim();\n } catch {\n throw new Error(`not a git repository (or git is not installed): ${cwd}`);\n }\n}\n\nasync function gitNameOnly(cwd: string, root: string, args: string[]): Promise<string[]> {\n const { stdout } = await execFileAsync(\"git\", args, { cwd });\n return stdout\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter(Boolean)\n .map((relPath) => resolve(root, relPath));\n}\n\n/** Tracked files with any uncommitted change vs HEAD (staged + unstaged), plus untracked new files. */\nexport async function gitChangedFiles(cwd: string): Promise<string[]> {\n const root = await gitToplevel(cwd);\n const [tracked, untracked] = await Promise.all([\n gitNameOnly(cwd, root, [\"diff\", \"--name-only\", \"HEAD\"]),\n gitNameOnly(cwd, root, [\"ls-files\", \"--others\", \"--exclude-standard\"]),\n ]);\n return Array.from(new Set([...tracked, ...untracked]));\n}\n\n/** Staged files only (git diff --name-only --cached). */\nexport async function gitStagedFiles(cwd: string): Promise<string[]> {\n const root = await gitToplevel(cwd);\n return gitNameOnly(cwd, root, [\"diff\", \"--name-only\", \"--cached\"]);\n}\n\n/** Files changed since diverging from `ref` (three-dot merge-base diff, like a PR's file list). */\nexport async function gitFilesSince(cwd: string, ref: string): Promise<string[]> {\n const root = await gitToplevel(cwd);\n return gitNameOnly(cwd, root, [\"diff\", \"--name-only\", `${ref}...HEAD`]);\n}\n","import { readFile, readdir, stat } from \"node:fs/promises\";\nimport { join, relative, resolve } from \"node:path\";\n\nimport type { CheckIssue, CheckOptions, CheckResult } from \"./types.js\";\n\nconst PV_PACKAGE = /^@planview\\/pv-/;\nconst DEP_BUCKETS = [\"dependencies\", \"devDependencies\", \"peerDependencies\"] as const;\nconst SKIP_DIRS = new Set([\n \"node_modules\",\n \".git\",\n \"dist\",\n \"build\",\n \"coverage\",\n \".next\",\n \".turbo\",\n \".cache\",\n]);\n\ntype Bucket = (typeof DEP_BUCKETS)[number];\n\ntype PackageJsonLike = Partial<Record<Bucket, Record<string, string>>> & { name?: string };\n\ninterface Occurrence {\n name: string;\n range: string;\n file: string;\n bucket: Bucket;\n}\n\nasync function readJson(path: string): Promise<PackageJsonLike | null> {\n try {\n return JSON.parse(await readFile(path, \"utf8\")) as PackageJsonLike;\n } catch {\n return null;\n }\n}\n\nasync function findPackageJsonFiles(root: string): Promise<string[]> {\n const found: string[] = [];\n async function walk(dir: string): Promise<void> {\n let entries: string[];\n try {\n entries = await readdir(dir);\n } catch {\n return;\n }\n await Promise.all(\n entries.map(async (name) => {\n if (SKIP_DIRS.has(name) || name.startsWith(\".\")) return;\n const full = join(dir, name);\n let entryStat;\n try {\n entryStat = await stat(full);\n } catch {\n return;\n }\n if (entryStat.isDirectory()) {\n await walk(full);\n } else if (name === \"package.json\") {\n found.push(full);\n }\n }),\n );\n }\n await walk(root);\n return Array.from(new Set(found));\n}\n\nfunction collectPvOccurrences(pkg: PackageJsonLike, file: string): Occurrence[] {\n const out: Occurrence[] = [];\n for (const bucket of DEP_BUCKETS) {\n const deps = pkg[bucket];\n if (!deps) continue;\n for (const [name, range] of Object.entries(deps)) {\n if (PV_PACKAGE.test(name)) {\n out.push({ name, range, file, bucket });\n }\n }\n }\n return out;\n}\n\nexport async function checkVersions(options: CheckOptions = {}): Promise<CheckResult> {\n const cwd = resolve(options.cwd ?? process.cwd());\n const rootPkgPath = join(cwd, \"package.json\");\n if (!(await readJson(rootPkgPath))) {\n return {\n ok: false,\n issues: [\n {\n ruleId: \"pvds/versions/no-package-json\",\n severity: \"error\",\n message: `No package.json found at ${rootPkgPath}.`,\n },\n ],\n stats: { filesScanned: 0, pvOccurrences: 0, uniquePvPackages: 0 },\n };\n }\n\n const files = await findPackageJsonFiles(cwd);\n const byName = new Map<string, Occurrence[]>();\n for (const file of files) {\n const pkg = await readJson(file);\n if (!pkg) continue;\n for (const occ of collectPvOccurrences(pkg, file)) {\n const list = byName.get(occ.name) ?? [];\n list.push(occ);\n byName.set(occ.name, list);\n }\n }\n\n const issues: CheckIssue[] = [];\n for (const [name, occurrences] of byName) {\n const ranges = new Set(occurrences.map((o) => o.range));\n if (ranges.size > 1) {\n const detail = occurrences\n .map((o) => `${relative(cwd, o.file)} [${o.bucket}]: ${o.range}`)\n .join(\"\\n \");\n issues.push({\n ruleId: \"pvds/versions/mismatch\",\n severity: \"error\",\n message: `${name} has ${ranges.size} conflicting version ranges:\\n ${detail}`,\n });\n }\n }\n\n const pvOccurrences = [...byName.values()].reduce((sum, list) => sum + list.length, 0);\n return {\n ok: issues.length === 0,\n issues,\n stats: {\n filesScanned: files.length,\n pvOccurrences,\n uniquePvPackages: byName.size,\n ...(options.verbose && {\n scannedFiles: files.map((f) => relative(cwd, f) || \".\").sort(),\n }),\n },\n };\n}\n","import { readFile, readdir, stat } from \"node:fs/promises\";\nimport { isAbsolute, join, relative, resolve } from \"node:path\";\n\nimport type { CheckIssue, CheckOptions, CheckResult } from \"./types.js\";\n\nconst PV_IMPORT_RE = /(?:from|import|require\\()\\s*['\"](@planview\\/pv-[a-z0-9-]+(?:\\/[^'\"]+)?)['\"]/g;\n// Style files (LESS/SCSS/CSS) reference PV packages via `@import`, `@use`, `@forward`,\n// `url(...)`, etc., commonly with a webpack `~` prefix. Matching any quoted `@planview/pv-*`\n// specifier in these files is more permissive but reflects real usage.\nconst PV_STYLE_IMPORT_RE = /['\"]~?(@planview\\/pv-[a-z0-9-]+(?:\\/[^'\"]+)?)['\"]/g;\nconst PV_PACKAGE_RE = /^@planview\\/pv-[a-z0-9-]+$/;\nconst SOURCE_EXTS = new Set([\".ts\", \".tsx\", \".js\", \".jsx\", \".mts\", \".cts\", \".mjs\", \".cjs\"]);\nconst STYLE_EXTS = new Set([\".less\", \".scss\", \".sass\", \".css\"]);\n\n// Well-known legitimate subpaths on every @planview/pv-* package. Add sparingly.\nconst ALLOWED_SUBPATH_PATTERNS: readonly RegExp[] = [\n // i18n resource bundles: lang/da.json, lang/en.json, lang/en-US.json, lang/zh-Hant.json, ...\n /^lang\\/[a-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?\\.json$/,\n];\n\nfunction isAllowedSubpath(subpath: string): boolean {\n return ALLOWED_SUBPATH_PATTERNS.some((re) => re.test(subpath));\n}\n\nconst SKIP_DIRS = new Set([\n \"node_modules\",\n \".git\",\n \"dist\",\n \"build\",\n \"coverage\",\n \".next\",\n \".turbo\",\n \".cache\",\n]);\nconst DEP_BUCKETS = [\"dependencies\", \"devDependencies\", \"peerDependencies\"] as const;\n\ntype Bucket = (typeof DEP_BUCKETS)[number];\n\n/** Which kind of file the import came from. Subpath enforcement only applies to JS/TS. */\nexport type ImportKind = \"js\" | \"style\";\n\ninterface PvImport {\n file: string;\n line: number;\n column: number;\n /** Full import specifier, e.g. \"@planview/pv-uikit/dist/Button\". */\n specifier: string;\n /** Package portion, e.g. \"@planview/pv-uikit\". */\n pkg: string;\n /** Path portion after the package name (undefined when importing from the root). */\n subpath?: string;\n kind: ImportKind;\n}\n\ninterface DeclaredDep {\n name: string;\n file: string;\n bucket: Bucket;\n}\n\nfunction hasScannableExt(name: string): boolean {\n const idx = name.lastIndexOf(\".\");\n if (idx <= 0) return false;\n const ext = name.slice(idx);\n return SOURCE_EXTS.has(ext) || STYLE_EXTS.has(ext);\n}\n\nasync function resolveExplicitSourceFiles(root: string, candidates: string[]): Promise<string[]> {\n const found: string[] = [];\n for (const candidate of candidates) {\n const full = isAbsolute(candidate) ? candidate : join(root, candidate);\n let entryStat;\n try {\n entryStat = await stat(full);\n } catch {\n continue;\n }\n if (!entryStat.isFile() || !hasScannableExt(full)) continue;\n found.push(full);\n }\n return Array.from(new Set(found)).sort();\n}\n\n/** When `explicitFiles` is set, scope to just those paths instead of walking `root`. */\nasync function walkSourceFiles(root: string, explicitFiles?: string[]): Promise<string[]> {\n if (explicitFiles && explicitFiles.length > 0) {\n return resolveExplicitSourceFiles(root, explicitFiles);\n }\n const found: string[] = [];\n async function walk(dir: string): Promise<void> {\n let entries: string[];\n try {\n entries = await readdir(dir);\n } catch {\n return;\n }\n await Promise.all(\n entries.map(async (name) => {\n if (SKIP_DIRS.has(name) || name.startsWith(\".\")) return;\n const full = join(dir, name);\n let entryStat;\n try {\n entryStat = await stat(full);\n } catch {\n return;\n }\n if (entryStat.isDirectory()) {\n await walk(full);\n } else if (hasScannableExt(name)) {\n found.push(full);\n }\n }),\n );\n }\n await walk(root);\n return Array.from(new Set(found)).sort();\n}\n\nfunction kindForFile(file: string): ImportKind {\n const idx = file.lastIndexOf(\".\");\n if (idx > 0 && STYLE_EXTS.has(file.slice(idx))) return \"style\";\n return \"js\";\n}\n\nasync function walkPackageJsonFiles(root: string): Promise<string[]> {\n const found: string[] = [];\n async function walk(dir: string): Promise<void> {\n let entries: string[];\n try {\n entries = await readdir(dir);\n } catch {\n return;\n }\n await Promise.all(\n entries.map(async (name) => {\n if (SKIP_DIRS.has(name) || name.startsWith(\".\")) return;\n const full = join(dir, name);\n let entryStat;\n try {\n entryStat = await stat(full);\n } catch {\n return;\n }\n if (entryStat.isDirectory()) {\n await walk(full);\n } else if (name === \"package.json\") {\n found.push(full);\n }\n }),\n );\n }\n await walk(root);\n return Array.from(new Set(found)).sort();\n}\n\nfunction parsePvSpecifier(specifier: string): { pkg: string; subpath?: string } | null {\n const match = /^(@planview\\/pv-[a-z0-9-]+)(?:\\/(.+))?$/.exec(specifier);\n if (!match) return null;\n return match[2] ? { pkg: match[1]!, subpath: match[2] } : { pkg: match[1]! };\n}\n\nfunction buildLineIndex(source: string): number[] {\n const lines: number[] = [0];\n for (let i = 0; i < source.length; i++) {\n if (source.charCodeAt(i) === 10) lines.push(i + 1);\n }\n return lines;\n}\n\nfunction offsetToLineCol(lines: number[], offset: number): { line: number; column: number } {\n let lo = 0;\n let hi = lines.length - 1;\n while (lo < hi) {\n const mid = (lo + hi + 1) >> 1;\n if (lines[mid]! <= offset) lo = mid;\n else hi = mid - 1;\n }\n return { line: lo + 1, column: offset - lines[lo]! + 1 };\n}\n\nexport function extractPvImportsFromSource(\n source: string,\n file = \"<inline>\",\n kind: ImportKind = kindForFile(file),\n): PvImport[] {\n const lines = buildLineIndex(source);\n const out: PvImport[] = [];\n const baseRe = kind === \"style\" ? PV_STYLE_IMPORT_RE : PV_IMPORT_RE;\n const re = new RegExp(baseRe.source, baseRe.flags);\n let m: RegExpExecArray | null;\n while ((m = re.exec(source)) !== null) {\n const specifier = m[1]!;\n const parsed = parsePvSpecifier(specifier);\n if (!parsed) continue;\n const specifierOffset = source.indexOf(specifier, m.index);\n const { line, column } = offsetToLineCol(lines, specifierOffset);\n out.push({\n file,\n line,\n column,\n specifier,\n pkg: parsed.pkg,\n ...(parsed.subpath && { subpath: parsed.subpath }),\n kind,\n });\n }\n return out;\n}\n\nexport async function extractPvImports(file: string): Promise<PvImport[]> {\n try {\n const source = await readFile(file, \"utf8\");\n return extractPvImportsFromSource(source, file, kindForFile(file));\n } catch {\n return [];\n }\n}\n\nasync function collectAllPvImports(\n root: string,\n explicitFiles?: string[],\n): Promise<{\n files: string[];\n imports: PvImport[];\n}> {\n const files = await walkSourceFiles(root, explicitFiles);\n const results = await Promise.all(files.map(extractPvImports));\n return { files, imports: results.flat() };\n}\n\nasync function collectDeclaredPvDeps(root: string): Promise<{\n files: string[];\n declared: DeclaredDep[];\n}> {\n const files = await walkPackageJsonFiles(root);\n const declared: DeclaredDep[] = [];\n await Promise.all(\n files.map(async (file) => {\n let pkg: Record<string, unknown>;\n try {\n pkg = JSON.parse(await readFile(file, \"utf8\")) as Record<string, unknown>;\n } catch {\n return;\n }\n for (const bucket of DEP_BUCKETS) {\n const deps = pkg[bucket] as Record<string, string> | undefined;\n if (!deps) continue;\n for (const name of Object.keys(deps)) {\n if (PV_PACKAGE_RE.test(name)) {\n declared.push({ name, file, bucket });\n }\n }\n }\n }),\n );\n return { files, declared };\n}\n\n/** Flag every `from \"@planview/pv-<pkg>/...\"` import as a subpath violation,\n * except for well-known allowlisted paths (see `ALLOWED_SUBPATH_PATTERNS`).\n * Style-file references (LESS/SCSS/CSS) are exempt — subpath usage is the intended API there\n * (e.g. `@import \"@planview/pv-tokens/less/tokens.less\"`). */\nexport async function checkSubpathImports(options: CheckOptions = {}): Promise<CheckResult> {\n const cwd = resolve(options.cwd ?? process.cwd());\n const { files, imports } = await collectAllPvImports(cwd, options.files);\n const subpathImports = imports.filter(\n (i) => i.kind === \"js\" && i.subpath !== undefined && !isAllowedSubpath(i.subpath),\n );\n\n const issues: CheckIssue[] = subpathImports.map((imp) => ({\n ruleId: \"pvds/imports/subpath\",\n severity: \"error\",\n message: `subpath import from ${imp.pkg}: \"${imp.specifier}\". Import from the package root instead.`,\n file: relative(cwd, imp.file),\n line: imp.line,\n column: imp.column,\n }));\n\n return {\n ok: issues.length === 0,\n issues,\n stats: {\n filesScanned: files.length,\n pvOccurrences: imports.length,\n uniquePvPackages: new Set(imports.map((i) => i.pkg)).size,\n ...(options.verbose && {\n scannedFiles: files.map((f) => relative(cwd, f) || \".\").sort(),\n }),\n },\n };\n}\n\n/** Flag PV packages declared in package.json that no source file imports. */\nexport async function checkOrphanDeps(options: CheckOptions = {}): Promise<CheckResult> {\n const cwd = resolve(options.cwd ?? process.cwd());\n const [{ imports }, { declared, files: pkgFiles }] = await Promise.all([\n collectAllPvImports(cwd),\n collectDeclaredPvDeps(cwd),\n ]);\n const importedPkgs = new Set(imports.map((i) => i.pkg));\n const declaredByName = new Map<string, DeclaredDep[]>();\n for (const dep of declared) {\n const list = declaredByName.get(dep.name) ?? [];\n list.push(dep);\n declaredByName.set(dep.name, list);\n }\n\n const issues: CheckIssue[] = [];\n for (const [name, occurrences] of declaredByName) {\n if (importedPkgs.has(name)) continue;\n const detail = occurrences.map((o) => `${relative(cwd, o.file)} [${o.bucket}]`).join(\"\\n \");\n issues.push({\n ruleId: \"pvds/deps/orphan\",\n severity: \"warning\",\n message: `${name} is declared but never imported in source:\\n ${detail}`,\n });\n }\n\n return {\n ok: issues.length === 0,\n issues,\n stats: {\n filesScanned: pkgFiles.length,\n pvOccurrences: declared.length,\n uniquePvPackages: declaredByName.size,\n ...(options.verbose && {\n scannedFiles: pkgFiles.map((f) => relative(cwd, f) || \".\").sort(),\n }),\n },\n };\n}\n\n/**\n * Flag PV packages imported by source that no reachable package.json declares.\n * A source file at `<dir>/foo.tsx` is covered by any package.json at `<dir>/` or any ancestor.\n */\nexport async function checkUndeclaredImports(options: CheckOptions = {}): Promise<CheckResult> {\n const cwd = resolve(options.cwd ?? process.cwd());\n // The declared side always walks the whole tree regardless of file scoping: a scoped source\n // file can only be checked against the *complete* set of package.json declarations that cover\n // it, otherwise it could be falsely flagged as undeclared.\n const [{ files: srcFiles, imports }, { declared }] = await Promise.all([\n collectAllPvImports(cwd, options.files),\n collectDeclaredPvDeps(cwd),\n ]);\n\n const pkgDirs = Array.from(new Set(declared.map((d) => d.file))).map((f) => ({\n dir: f.slice(0, f.length - \"/package.json\".length),\n file: f,\n }));\n pkgDirs.sort((a, b) => b.dir.length - a.dir.length);\n\n function reachableDeclared(sourceFile: string): Set<string> {\n const covering = pkgDirs.filter(\n ({ dir }) => sourceFile === dir || sourceFile.startsWith(`${dir}/`),\n );\n const names = new Set<string>();\n for (const { file } of covering) {\n for (const dep of declared) {\n if (dep.file === file) names.add(dep.name);\n }\n }\n return names;\n }\n\n const issues: CheckIssue[] = [];\n for (const imp of imports) {\n const reachable = reachableDeclared(imp.file);\n if (!reachable.has(imp.pkg)) {\n issues.push({\n ruleId: \"pvds/imports/undeclared\",\n severity: \"error\",\n message: `${imp.pkg} imported but not declared in any covering package.json. Add it to dependencies.`,\n file: relative(cwd, imp.file),\n line: imp.line,\n column: imp.column,\n });\n }\n }\n\n return {\n ok: issues.length === 0,\n issues,\n stats: {\n filesScanned: srcFiles.length,\n pvOccurrences: imports.length,\n uniquePvPackages: new Set(imports.map((i) => i.pkg)).size,\n ...(options.verbose && {\n scannedFiles: srcFiles.map((f) => relative(cwd, f) || \".\").sort(),\n }),\n },\n };\n}\n","import { readFile } from \"node:fs/promises\";\nimport { relative, resolve } from \"node:path\";\n\nimport { parseImportBindings } from \"../_analysis/import-bindings.js\";\nimport { getPvdsManifest } from \"../_analysis/manifest-loader.js\";\nimport { walkSourceFiles } from \"../_analysis/walk-source-files.js\";\nimport type { CheckIssue, CheckOptions, CheckResult } from \"./types.js\";\n\n/**\n * Flag every `import { X } from \"@planview/pv-<pkg>\"` where `X` is @deprecated\n * according to the bundled pvds.json manifest. Error-level: deprecated exports usually\n * have migration paths that should be adopted.\n */\nexport async function checkDeprecatedImports(options: CheckOptions = {}): Promise<CheckResult> {\n const cwd = resolve(options.cwd ?? process.cwd());\n const manifest = getPvdsManifest();\n const files = await walkSourceFiles(cwd, options.files);\n\n const issues: CheckIssue[] = [];\n const seenPkgs = new Set<string>();\n let bindingCount = 0;\n\n await Promise.all(\n files.map(async (file) => {\n let source: string;\n try {\n source = await readFile(file, \"utf8\");\n } catch {\n return;\n }\n const bindings = parseImportBindings(source);\n for (const b of bindings) {\n bindingCount++;\n seenPkgs.add(b.pkg);\n const deprecations = manifest.deprecations[b.pkg];\n if (!deprecations) continue;\n const match = deprecations.find((d) => d.name === b.imported);\n if (!match) continue;\n const firstLine = match.message.split(\"\\n\")[0]!.trim();\n issues.push({\n ruleId: \"pvds/imports/deprecated\",\n severity: \"error\",\n message: `${b.pkg}: \\`${b.imported}\\` is deprecated. ${firstLine}`,\n file: relative(cwd, file),\n line: b.line,\n column: b.column,\n });\n }\n }),\n );\n\n return {\n ok: issues.length === 0,\n issues,\n stats: {\n filesScanned: files.length,\n pvOccurrences: bindingCount,\n uniquePvPackages: seenPkgs.size,\n ...(options.verbose && {\n scannedFiles: files.map((f) => relative(cwd, f) || \".\").sort(),\n }),\n },\n };\n}\n","/** Build an index of line-start offsets so we can map any character offset → 1-based (line, column). */\nexport function buildLineIndex(source: string): number[] {\n const lines: number[] = [0];\n for (let i = 0; i < source.length; i++) {\n if (source.charCodeAt(i) === 10) lines.push(i + 1);\n }\n return lines;\n}\n\nexport function offsetToLineCol(lines: number[], offset: number): { line: number; column: number } {\n let lo = 0;\n let hi = lines.length - 1;\n while (lo < hi) {\n const mid = (lo + hi + 1) >> 1;\n if (lines[mid]! <= offset) lo = mid;\n else hi = mid - 1;\n }\n return { line: lo + 1, column: offset - lines[lo]! + 1 };\n}\n","/**\n * Replace line and block comments with spaces so downstream scanners can match by offset.\n * Preserves newlines and every other character so line/column positions in the original\n * source line up with positions in the returned string.\n *\n * Correctly skips over string literals (\"...\", '...', `...`) so `//` inside a string\n * is not treated as a comment.\n */\nexport function stripComments(source: string): string {\n const out = source.split(\"\");\n const len = source.length;\n let i = 0;\n\n const blank = (from: number, to: number): void => {\n for (let k = from; k < to; k++) {\n if (source.charCodeAt(k) !== 10) out[k] = \" \";\n }\n };\n\n while (i < len) {\n const c = source.charCodeAt(i);\n const next = i + 1 < len ? source.charCodeAt(i + 1) : 0;\n\n // // line comment\n if (c === 47 /* / */ && next === 47) {\n const start = i;\n i += 2;\n while (i < len && source.charCodeAt(i) !== 10) i++;\n blank(start, i);\n continue;\n }\n // /* block */\n if (c === 47 && next === 42 /* * */) {\n const start = i;\n i += 2;\n while (i < len - 1 && !(source.charCodeAt(i) === 42 && source.charCodeAt(i + 1) === 47)) {\n i++;\n }\n if (i < len - 1) i += 2;\n blank(start, i);\n continue;\n }\n // \"...\" or '...'\n if (c === 34 /* \" */ || c === 39 /* ' */) {\n const quote = c;\n i++;\n while (i < len && source.charCodeAt(i) !== quote) {\n if (source.charCodeAt(i) === 92 /* \\ */) i++;\n i++;\n }\n i++;\n continue;\n }\n // `template` — skip contents so /* inside interpolated code isn't stripped\n if (c === 96 /* ` */) {\n i++;\n let depth = 0;\n while (i < len) {\n const cc = source.charCodeAt(i);\n if (cc === 92 /* \\ */) {\n i += 2;\n continue;\n }\n if (cc === 96 /* ` */ && depth === 0) {\n i++;\n break;\n }\n if (cc === 36 /* $ */ && source.charCodeAt(i + 1) === 123 /* { */) {\n depth++;\n i += 2;\n continue;\n }\n if (cc === 125 /* } */ && depth > 0) {\n depth--;\n i++;\n continue;\n }\n i++;\n }\n continue;\n }\n i++;\n }\n return out.join(\"\");\n}\n","import { buildLineIndex, offsetToLineCol } from \"./positions.js\";\nimport { stripComments } from \"./strip-comments.js\";\n\nexport interface ImportBinding {\n /** Local identifier bound in the consuming source. */\n localName: string;\n /** Package portion, e.g. \"@planview/pv-uikit\" (never includes a subpath). */\n pkg: string;\n /** Full specifier including subpath, e.g. \"@planview/pv-uikit\" or \"@planview/pv-tokens/lang/en.json\". */\n specifier: string;\n /** Name as exported by the source: \"default\" for `import X from`, \"*\" for `import * as X from`,\n * or the actual named export (before any `as` alias). */\n imported: string;\n /** 1-based position of the local name. */\n line: number;\n column: number;\n}\n\n// Match statements like:\n// import { A, B as C } from \"@planview/pv-uikit\";\n// import Default from \"@planview/pv-uikit\";\n// import * as Ns from \"@planview/pv-uikit\";\n// import type { T } from \"@planview/pv-uikit\";\n// export { X } from \"@planview/pv-uikit\";\n// The clause is captured up to (but not including) the `from` keyword.\nconst IMPORT_STMT_RE =\n /(?:^|[\\n;])[ \\t]*(?:import|export)[ \\t]+(?:type[ \\t]+)?([\\s\\S]*?)from[ \\t]*['\"](@planview\\/pv-[a-z0-9-]+(?:\\/[^'\"]+)?)['\"]/g;\n\nconst IDENT_RE = /^[A-Za-z_$][A-Za-z0-9_$]*$/;\n\nfunction pushBinding(\n out: ImportBinding[],\n cleaned: string,\n clauseOffset: number,\n clause: string,\n searchFrom: number,\n localName: string,\n imported: string,\n pkg: string,\n specifier: string,\n lineIndex: number[],\n): void {\n const idx = clause.indexOf(localName, searchFrom);\n const at = idx >= 0 ? clauseOffset + idx : clauseOffset;\n const { line, column } = offsetToLineCol(lineIndex, at);\n out.push({ localName, imported, pkg, specifier, line, column });\n}\n\n/**\n * Extract every @planview/pv-* import binding from source. Uses `stripComments` first to\n * avoid picking up commented-out imports.\n */\nexport function parseImportBindings(source: string): ImportBinding[] {\n const cleaned = stripComments(source);\n const lineIndex = buildLineIndex(cleaned);\n const out: ImportBinding[] = [];\n const re = new RegExp(IMPORT_STMT_RE.source, IMPORT_STMT_RE.flags);\n let m: RegExpExecArray | null;\n while ((m = re.exec(cleaned)) !== null) {\n const clause = m[1] ?? \"\";\n const specifier = m[2]!;\n const pkgMatch = /^(@planview\\/pv-[a-z0-9-]+)/.exec(specifier);\n if (!pkgMatch) continue;\n const pkg = pkgMatch[1]!;\n const clauseOffset = m.index + m[0].indexOf(clause);\n parseClause(clause, clauseOffset, cleaned, lineIndex, pkg, specifier, out);\n }\n return out;\n}\n\nfunction parseClause(\n clause: string,\n clauseOffset: number,\n cleaned: string,\n lineIndex: number[],\n pkg: string,\n specifier: string,\n out: ImportBinding[],\n): void {\n const braceStart = clause.indexOf(\"{\");\n const braceEnd = braceStart >= 0 ? clause.indexOf(\"}\", braceStart + 1) : -1;\n const starIdx = clause.indexOf(\"*\");\n\n // Default: everything before the first `,`, `{`, or `*`\n const stops = [braceStart, starIdx].filter((i) => i >= 0);\n const defaultEnd = stops.length > 0 ? Math.min(...stops) : clause.length;\n const defaultRaw = clause.slice(0, defaultEnd).replace(/,\\s*$/, \"\").trim();\n if (defaultRaw && IDENT_RE.test(defaultRaw)) {\n pushBinding(\n out,\n cleaned,\n clauseOffset,\n clause,\n 0,\n defaultRaw,\n \"default\",\n pkg,\n specifier,\n lineIndex,\n );\n }\n\n // Namespace: `* as Name`\n if (starIdx >= 0) {\n const ns = /\\*\\s+as\\s+([A-Za-z_$][A-Za-z0-9_$]*)/.exec(clause);\n if (ns) {\n const localName = ns[1]!;\n pushBinding(\n out,\n cleaned,\n clauseOffset,\n clause,\n ns.index,\n localName,\n \"*\",\n pkg,\n specifier,\n lineIndex,\n );\n }\n }\n\n // Named: `{ A, B as C, type D }`\n if (braceStart >= 0 && braceEnd > braceStart) {\n const inside = clause.slice(braceStart + 1, braceEnd);\n let cursor = braceStart + 1;\n for (const rawItem of inside.split(\",\")) {\n const trimmed = rawItem.trim();\n const localCursor = cursor;\n cursor += rawItem.length + 1;\n if (!trimmed) continue;\n const stripped = trimmed.replace(/^type\\s+/, \"\");\n const asMatch = /^([A-Za-z_$][A-Za-z0-9_$]*)\\s+as\\s+([A-Za-z_$][A-Za-z0-9_$]*)$/.exec(\n stripped,\n );\n if (asMatch) {\n pushBinding(\n out,\n cleaned,\n clauseOffset,\n clause,\n localCursor,\n asMatch[2]!,\n asMatch[1]!,\n pkg,\n specifier,\n lineIndex,\n );\n } else if (IDENT_RE.test(stripped)) {\n pushBinding(\n out,\n cleaned,\n clauseOffset,\n clause,\n localCursor,\n stripped,\n stripped,\n pkg,\n specifier,\n lineIndex,\n );\n }\n }\n }\n}\n","{\n \"schemaVersion\": 1,\n \"generatedAt\": \"2026-08-20T08:34:37.026Z\",\n \"packageVersions\": {\n \"@planview/pv-details\": \"2.1.1\",\n \"@planview/pv-filter\": \"3.0.5\",\n \"@planview/pv-form\": \"2.0.0\",\n \"@planview/pv-gantt\": \"1.0.1\",\n \"@planview/pv-grid\": \"2.2.0\",\n \"@planview/pv-icons\": \"3.0.0\",\n \"@planview/pv-tokens\": \"1.5.0\",\n \"@planview/pv-toolbar\": \"2.0.2\",\n \"@planview/pv-uikit\": \"8.1.1\",\n \"@planview/pv-utilities\": \"5.2.1\",\n \"@planview/pv-widget\": \"2.1.2\"\n },\n \"deprecations\": {\n \"@planview/pv-filter\": [\n {\n \"name\": \"FilterSectionRangeNumeric\",\n \"kind\": \"component\",\n \"message\": \"Use `FilterSectionNumeric` with the `defaultOperator` prop instead. This component will be removed in a future major release.\\n\\nImplementation of the [Number Range Filter Section Specification](https://design.planview.com/components/filters/filter-section)\\n\\n`import { FilterSectionRangeNumeric } from '@planview/pv-filter'`\"\n },\n {\n \"name\": \"FilterSectionRangeDate\",\n \"kind\": \"component\",\n \"message\": \": Use `FilterSectionDate` instead.\\n\\nImplementation of the [Date Range Filter Section Specification](https://design.planview.com/components/filters/filter-section)\\n\\n`import { FilterSectionRangeDate } from '@planview/pv-filter'`\"\n },\n {\n \"name\": \"FilterSectionRangeTime\",\n \"kind\": \"component\",\n \"message\": \"Use `FilterSectionTime` instead with the `defaultOperator` prop set to \\\"Between\\\".\\n\\nImplementation of the [Time Range Filter Section Specification](https://design.planview.com/components/filters/filter-section)\\n\\n`import { FilterSectionTime } from '@planview/pv-filter'`\"\n }\n ],\n \"@planview/pv-grid\": [\n {\n \"name\": \"GridDataRow\",\n \"kind\": \"type\",\n \"message\": \"use GridRowData\"\n },\n {\n \"name\": \"GridActionsMenuParams\",\n \"kind\": \"type\",\n \"message\": \"use GridActionsMenuProps\"\n },\n {\n \"name\": \"GridCellNumeric\",\n \"kind\": \"component\",\n \"message\": \"Use `GridCellDefault` instead and apply `numeric` prop.\"\n },\n {\n \"name\": \"GridCellLink\",\n \"kind\": \"component\",\n \"message\": \"Use `GridCellDefault` instead and pass the `href` prop.\"\n }\n ],\n \"@planview/pv-icons\": [\n {\n \"name\": \"AssistedChat\",\n \"kind\": \"component\",\n \"message\": \"Renamed to AiAnvi\"\n },\n {\n \"name\": \"CheckmarkFilled\",\n \"kind\": \"component\",\n \"message\": \"Renamed to CheckmarkCircleFilled\"\n },\n {\n \"name\": \"ConnectionsGraph\",\n \"kind\": \"component\",\n \"message\": \"Renamed to ConnectionGraph\"\n },\n {\n \"name\": \"DependenciesOptimise\",\n \"kind\": \"component\",\n \"message\": \"Renamed to DependenciesOptimize\"\n },\n {\n \"name\": \"DotsHorisontal\",\n \"kind\": \"component\",\n \"message\": \"Renamed to DotsHorizontal\"\n },\n {\n \"name\": \"Smiley\",\n \"kind\": \"component\",\n \"message\": \"Renamed to EmotionHappy\"\n },\n {\n \"name\": \"Indent\",\n \"kind\": \"component\",\n \"message\": \"Renamed to IndentationIncrease\"\n },\n {\n \"name\": \"BulletList\",\n \"kind\": \"component\",\n \"message\": \"Renamed to ListBullet\"\n },\n {\n \"name\": \"NumberedList\",\n \"kind\": \"component\",\n \"message\": \"Renamed to ListNumbered\"\n },\n {\n \"name\": \"LogbookLogo\",\n \"kind\": \"component\",\n \"message\": \"Renamed to Logbook\"\n },\n {\n \"name\": \"ProjectplaceLogo\",\n \"kind\": \"component\",\n \"message\": \"Renamed to LogoProjectplace\"\n },\n {\n \"name\": \"ProjectplaceSymbol\",\n \"kind\": \"component\",\n \"message\": \"Renamed to LogoProjectplace\"\n },\n {\n \"name\": \"SortBy\",\n \"kind\": \"component\",\n \"message\": \"Renamed to MoveVertical\"\n },\n {\n \"name\": \"ResizeHorizontal\",\n \"kind\": \"component\",\n \"message\": \"Renamed to ResizeHorizontalGrow\"\n },\n {\n \"name\": \"ResizeVertical\",\n \"kind\": \"component\",\n \"message\": \"Renamed to ResizeVerticalGrow\"\n },\n {\n \"name\": \"Like\",\n \"kind\": \"component\",\n \"message\": \"Renamed to ThumbsUp\"\n }\n ],\n \"@planview/pv-uikit\": [\n {\n \"name\": \"Tab\",\n \"kind\": \"component\",\n \"message\": \": use `HorizontalTab` instead\"\n },\n {\n \"name\": \"TabInverse\",\n \"kind\": \"component\",\n \"message\": \": use `HorizontalTabInverse` instead\"\n },\n {\n \"name\": \"TabGroup\",\n \"kind\": \"component\",\n \"message\": \": use `HorizontalTabGroup` instead\"\n },\n {\n \"name\": \"TabGroupProps\",\n \"kind\": \"type\",\n \"message\": \": use `HorizontalTabGroupProps` instead\"\n },\n {\n \"name\": \"TabProps\",\n \"kind\": \"type\",\n \"message\": \": use `HorizontalTabProps` instead\"\n }\n ]\n },\n \"components\": {\n \"@planview/pv-details\": [\n {\n \"name\": \"DetailsPanelSection\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string | DetailsPanelSectionLabelConfig\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"primaryAction\",\n \"type\": \"React.ReactElement<ButtonProps>\",\n \"deprecated\": \"Use `actionItems` instead.\"\n },\n {\n \"name\": \"actionItems\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"DetailsPanelSectionList\",\n \"props\": [\n {\n \"name\": \"items\",\n \"type\": \"DetailsPanelSectionListItemType[]\"\n },\n {\n \"name\": \"compact\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"footer\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"filterMode\",\n \"type\": \"\\\"auto\\\" | \\\"off\\\"\",\n \"enumValues\": [\"auto\", \"off\"]\n },\n {\n \"name\": \"emptyContent\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"preventNavigation\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"number | boolean\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string | DetailsPanelSectionLabelConfig\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"primaryAction\",\n \"type\": \"React.ReactElement<ButtonProps>\",\n \"deprecated\": \"Use `actionItems` instead.\"\n },\n {\n \"name\": \"actionItems\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"DetailsPanelSectionBinary\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string | DetailsPanelSectionLabelConfig\"\n },\n {\n \"name\": \"switchLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(checked: boolean) => void\"\n },\n {\n \"name\": \"checked\",\n \"type\": \"boolean | boolean[]\"\n },\n {\n \"name\": \"indeterminate\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"DetailsPanel\",\n \"props\": [\n {\n \"name\": \"activeTab\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabs\",\n \"type\": \"Omit<VerticalTabProps, \\\"tabPanelId\\\" | \\\"domId\\\" | \\\"badge\\\">[]\"\n },\n {\n \"name\": \"onActivateTab\",\n \"type\": \"(key: string) => void\"\n },\n {\n \"name\": \"header\",\n \"type\": \"string | DetailPanelHeaderConfigType\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"showFooter\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onSave\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"saveEnabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"footerLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"formProps\",\n \"type\": \"React.ComponentPropsWithoutRef<\\\"form\\\">\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"DetailsPanelOverlay\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n }\n ],\n \"@planview/pv-filter\": [\n {\n \"name\": \"FilterSectionGeneric\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"total\",\n \"type\": \"number\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"number\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"onClear\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"contentPadding\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterSectionText\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string, operator: string) => void\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"operator\",\n \"type\": \"FilterOperatorText | (string & {})\"\n },\n {\n \"name\": \"operators\",\n \"type\": \"(FilterOperatorText | FilterOperatorConfig)[]\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterSectionList\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"options\",\n \"type\": \"FilterOption[]\"\n },\n {\n \"name\": \"value\",\n \"type\": \"Set<T>\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(selected: Set<T>, operator: string) => void\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"operator\",\n \"type\": \"(string & {}) | FilterOperatorList\"\n },\n {\n \"name\": \"operators\",\n \"type\": \"(FilterOperatorConfig | FilterOperatorList)[]\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterSectionNumeric\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"[number, number?]\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: [number, number], operator: string) => void\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"type\",\n \"type\": \"\\\"numeric\\\" | \\\"currency\\\" | \\\"percentage\\\"\",\n \"enumValues\": [\"numeric\", \"currency\", \"percentage\"]\n },\n {\n \"name\": \"errorLarger\",\n \"type\": \"string\"\n },\n {\n \"name\": \"errorSmaller\",\n \"type\": \"string\"\n },\n {\n \"name\": \"operator\",\n \"type\": \"(string & {}) | FilterOperatorNumeric\"\n },\n {\n \"name\": \"operators\",\n \"type\": \"(FilterOperatorConfig | FilterOperatorNumeric)[]\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterSectionRangeNumeric\",\n \"props\": [\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"type\",\n \"type\": \"\\\"numeric\\\" | \\\"currency\\\" | \\\"percentage\\\"\",\n \"enumValues\": [\"numeric\", \"currency\", \"percentage\"]\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"errorLarger\",\n \"type\": \"string\"\n },\n {\n \"name\": \"errorSmaller\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: [number, number]) => void\"\n },\n {\n \"name\": \"value\",\n \"type\": \"[number, number]\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterSectionDate\",\n \"props\": [\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"[Date, Date?]\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: [Date, Date], operator: string) => void\"\n },\n {\n \"name\": \"dateFormat\",\n \"type\": \"\\\"YYYY-MM-DD\\\" | \\\"MM-DD-YYYY\\\" | \\\"DD-MM-YYYY\\\"\",\n \"enumValues\": [\"YYYY-MM-DD\", \"MM-DD-YYYY\", \"DD-MM-YYYY\"]\n },\n {\n \"name\": \"isoFormat\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayWeekNumbers\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"showYearPicker\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"required\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"isDateDisabled\",\n \"type\": \"(date: Date) => boolean\"\n },\n {\n \"name\": \"operator\",\n \"type\": \"(string & {}) | FilterOperatorDate\"\n },\n {\n \"name\": \"operators\",\n \"type\": \"(FilterOperatorConfig | FilterOperatorDate)[]\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterSectionRangeDate\",\n \"props\": [\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"dateFormat\",\n \"type\": \"\\\"YYYY-MM-DD\\\" | \\\"MM-DD-YYYY\\\" | \\\"DD-MM-YYYY\\\"\",\n \"enumValues\": [\"YYYY-MM-DD\", \"MM-DD-YYYY\", \"DD-MM-YYYY\"]\n },\n {\n \"name\": \"isoFormat\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"displayWeekNumbers\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"showYearPicker\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"required\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"isDateDisabled\",\n \"type\": \"(date: Date) => boolean\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: [Date, Date]) => void\"\n },\n {\n \"name\": \"value\",\n \"type\": \"[Date, Date]\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterSectionTime\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"[string, string?]\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: [string, string], operator: string) => void\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"errorLarger\",\n \"type\": \"string\"\n },\n {\n \"name\": \"errorSmaller\",\n \"type\": \"string\"\n },\n {\n \"name\": \"operator\",\n \"type\": \"(string & {}) | FilterOperatorTime\"\n },\n {\n \"name\": \"operators\",\n \"type\": \"(FilterOperatorConfig | FilterOperatorTime)[]\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterSectionRangeTime\",\n \"props\": [\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fromPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"toPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"errorLarger\",\n \"type\": \"string\"\n },\n {\n \"name\": \"errorSmaller\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: [string, string]) => void\"\n },\n {\n \"name\": \"value\",\n \"type\": \"[string, string]\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterSectionSave\",\n \"props\": [\n {\n \"name\": \"savedFilters\",\n \"type\": \"TSavedFilter[]\"\n },\n {\n \"name\": \"selectedFilterId\",\n \"type\": \"TSavedFilter[\\\"id\\\"]\"\n },\n {\n \"name\": \"hasChangedFilter\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"hasActiveFilters\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disableEditing\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disableCreation\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(filter: TSavedFilter) => void\"\n },\n {\n \"name\": \"onCreate\",\n \"type\": \"(name: string, shared: boolean) => void\"\n },\n {\n \"name\": \"onSave\",\n \"type\": \"(filter: TSavedFilter) => void\"\n },\n {\n \"name\": \"onSaveDetails\",\n \"type\": \"(filter: TSavedFilter) => void\"\n },\n {\n \"name\": \"onDelete\",\n \"type\": \"(id: TSavedFilter[\\\"id\\\"]) => void\"\n },\n {\n \"name\": \"additionalMenuItems\",\n \"type\": \"{ label: string; onActivate: () => void; disabled?: boolean; }[]\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterSectionSearch\",\n \"props\": [\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"operator\",\n \"type\": \"(string & {}) | FilterOperatorList\"\n },\n {\n \"name\": \"operators\",\n \"type\": \"(FilterOperatorConfig | FilterOperatorList)[]\"\n },\n {\n \"name\": \"inputMode\",\n \"type\": \"\\\"filter\\\" | \\\"search\\\"\",\n \"enumValues\": [\"filter\", \"search\"]\n },\n {\n \"name\": \"valueOptions\",\n \"type\": \"ComboboxOption[]\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"options\",\n \"type\": \"(ComboboxOption | ComboboxGroup)[] | ComboboxSearchResults\"\n },\n {\n \"name\": \"onInputChange\",\n \"type\": \"(str: string) => void\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: ComboboxCloseReason) => void\"\n },\n {\n \"name\": \"listboxMinWidth\",\n \"type\": \"number\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"value\",\n \"type\": \"T | Set<T>\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"((value: Set<T>, operator: string) => void) | ((value: T, operator: string) => void)\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterSectionTree\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"options\",\n \"type\": \"FilterTreeOption[]\"\n },\n {\n \"name\": \"value\",\n \"type\": \"Set<T>\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(selected: Set<T>, operator: string) => void\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"treeDefaultExpanded\",\n \"type\": \"(string | number)[] | Set<string | number>\"\n },\n {\n \"name\": \"treeExpanded\",\n \"type\": \"Set<string | number>\"\n },\n {\n \"name\": \"treeOnExpandedChange\",\n \"type\": \"(expanded: Set<string | number>) => void\"\n },\n {\n \"name\": \"operator\",\n \"type\": \"(string & {}) | FilterOperatorList\"\n },\n {\n \"name\": \"operators\",\n \"type\": \"(FilterOperatorConfig | FilterOperatorList)[]\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(newState: boolean) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterBanner\",\n \"props\": [\n {\n \"name\": \"total\",\n \"type\": \"number\"\n },\n {\n \"name\": \"matching\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onClear\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"FilterMode\",\n \"enumValues\": [\"highlight\", \"default\"]\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterDropdown\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"trigger\",\n \"type\": \"FilterDropdownTriggerConfig | ((props: FilterDropdownTriggerProps) => React.JSX.Element)\"\n },\n {\n \"name\": \"open\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"defaultOpen\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"placement\",\n \"type\": \"Placement\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"FilterPanel\",\n \"props\": [\n {\n \"name\": \"clearEnabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applyEnabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"FilterMode\",\n \"enumValues\": [\"highlight\", \"default\"]\n },\n {\n \"name\": \"applying\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onModeChange\",\n \"type\": \"(mode: FilterMode) => void\"\n },\n {\n \"name\": \"onClear\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onApply\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onToggleExpandAll\",\n \"type\": \"(next: boolean) => void\"\n },\n {\n \"name\": \"anyCollapsed\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"editable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onReorderSection\",\n \"type\": \"(result: { resultIds: string[]; draggedId: string; droppedAfterId: string; }) => void\"\n },\n {\n \"name\": \"onRemoveSection\",\n \"type\": \"(id: string | number) => void\"\n },\n {\n \"name\": \"sectionOptions\",\n \"type\": \"ComboboxOption[]\"\n },\n {\n \"name\": \"onAddSection\",\n \"type\": \"(id: string | number, option: ComboboxOption) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n }\n ],\n \"@planview/pv-form\": [\n {\n \"name\": \"Error\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Input\",\n \"props\": [\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string, event?: ChangeEvent<HTMLInputElement, Element>) => void\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"string\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClear\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | string[]\"\n },\n {\n \"name\": \"focus\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"Element\"\n },\n {\n \"name\": \"password\",\n \"type\": \"boolean\",\n \"deprecated\": \"use type=\\\"password\\\" instead.\"\n },\n {\n \"name\": \"type\",\n \"type\": \"AllowedInputTypes\",\n \"enumValues\": [\"password\", \"text\", \"email\", \"url\", \"tel\"]\n },\n {\n \"name\": \"nativeProps\",\n \"type\": \"SafeInputAttributes\"\n },\n {\n \"name\": \"showCounter\",\n \"type\": \"boolean\",\n \"deprecated\": \"Use limit property instead\"\n },\n {\n \"name\": \"maxLength\",\n \"type\": \"number\",\n \"deprecated\": \"Use limit property instead\"\n },\n {\n \"name\": \"limit\",\n \"type\": \"number | LimitConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"InputNumeric\",\n \"props\": [\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string, event?: ChangeEvent<HTMLInputElement, Element>) => void\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClear\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | number | (string | number)[]\"\n },\n {\n \"name\": \"focus\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"password\",\n \"type\": \"boolean\",\n \"deprecated\": \"use type=\\\"password\\\" instead.\"\n },\n {\n \"name\": \"type\",\n \"type\": \"\\\"numeric\\\" | \\\"currency\\\" | \\\"percentage\\\"\",\n \"enumValues\": [\"numeric\", \"currency\", \"percentage\"],\n \"deprecated\": \": use prop `icon` to pass icon-component to customize icon\\n\\nType of numeric input (numeric, currency or percentage) Determines what icon will be used.\\n\\nThis is a short-hand prop to determine which icon to display in input (`Numeric`, `Currency` or `Percentage` ) and will override `icon` prop if given.\\n\\nIf there is a need to customize further, use the `icon` prop.\"\n },\n {\n \"name\": \"nativeProps\",\n \"type\": \"SafeInputAttributes\"\n },\n {\n \"name\": \"max\",\n \"type\": \"number\"\n },\n {\n \"name\": \"min\",\n \"type\": \"number\"\n },\n {\n \"name\": \"iconColor\",\n \"type\": \"string\",\n \"deprecated\": \": use prop `icon` to pass icon-component including color to customize icon color\\nOverride the icon default color by passing in iconColor\"\n },\n {\n \"name\": \"decimalSeparator\",\n \"type\": \"string\"\n },\n {\n \"name\": \"maximumFractionDigits\",\n \"type\": \"number\"\n },\n {\n \"name\": \"showCounter\",\n \"type\": \"boolean\",\n \"deprecated\": \"Use limit property instead\"\n },\n {\n \"name\": \"maxLength\",\n \"type\": \"number\",\n \"deprecated\": \"Use limit property instead\"\n },\n {\n \"name\": \"limit\",\n \"type\": \"number | LimitConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"InputTime\",\n \"props\": [\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string, event?: ChangeEvent<HTMLInputElement, Element>) => void\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"string\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClear\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | string[]\"\n },\n {\n \"name\": \"focus\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"password\",\n \"type\": \"boolean\",\n \"deprecated\": \"use type=\\\"password\\\" instead.\"\n },\n {\n \"name\": \"nativeProps\",\n \"type\": \"SafeInputAttributes\"\n },\n {\n \"name\": \"iconColor\",\n \"type\": \"string\",\n \"deprecated\": \": use the `icon` prop to pass in icon component including color.\\nOverride the icon default color by passing in iconColor\"\n },\n {\n \"name\": \"showCounter\",\n \"type\": \"boolean\",\n \"deprecated\": \"Use limit property instead\"\n },\n {\n \"name\": \"maxLength\",\n \"type\": \"number\",\n \"deprecated\": \"Use limit property instead\"\n },\n {\n \"name\": \"limit\",\n \"type\": \"number | LimitConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Label\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"required\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"requiredTooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"iconTooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"useLabelElement\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Textarea\",\n \"props\": [\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string, event: ChangeEvent<HTMLTextAreaElement, Element>) => void\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"FocusEventHandler<HTMLTextAreaElement>\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"FocusEventHandler<HTMLTextAreaElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLTextAreaElement>\"\n },\n {\n \"name\": \"focus\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"nativeProps\",\n \"type\": \"SafeTextAreaAttributes\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string\"\n },\n {\n \"name\": \"showCounter\",\n \"type\": \"boolean\",\n \"deprecated\": \"Use limit property instead\"\n },\n {\n \"name\": \"maxLength\",\n \"type\": \"number\",\n \"deprecated\": \"Use limit property instead\"\n },\n {\n \"name\": \"limit\",\n \"type\": \"number | LimitConfig\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Field\",\n \"props\": [\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string | LabelConfig\"\n },\n {\n \"name\": \"labelPosition\",\n \"type\": \"\\\"top\\\" | \\\"left\\\"\",\n \"enumValues\": [\"top\", \"left\"]\n },\n {\n \"name\": \"error\",\n \"type\": \"any\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"any\"\n },\n {\n \"name\": \"children\",\n \"type\": \"(props: ReturnProps) => React.ReactNode\"\n },\n {\n \"name\": \"withAsterisk\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"count\",\n \"type\": \"string | { text: string; status: \\\"error\\\" | \\\"warning\\\" | \\\"default\\\"; }\"\n },\n {\n \"name\": \"useLabelElement\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onLabelClick\",\n \"type\": \"React.MouseEventHandler<HTMLElement>\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Section\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Layout\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"columns\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Form\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"RadioGroup\",\n \"props\": [\n {\n \"name\": \"defaultValue\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"ReactElement<RadioProps, string | JSXElementConstructor<any>>[]\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"medium\\\" | \\\"small\\\"\",\n \"enumValues\": [\"medium\", \"small\"]\n },\n {\n \"name\": \"orientation\",\n \"type\": \"\\\"horizontal\\\" | \\\"vertical\\\"\",\n \"enumValues\": [\"horizontal\", \"vertical\"]\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(val: string, event: React.ChangeEvent<HTMLInputElement>) => void\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Radio\",\n \"props\": [\n {\n \"name\": \"name\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: boolean, event: ChangeEvent<HTMLInputElement, Element>) => void\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"defaultSelected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"medium\\\" | \\\"small\\\"\",\n \"enumValues\": [\"medium\", \"small\"]\n },\n {\n \"name\": \"label\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"aria-label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"CheckboxGroup\",\n \"props\": [\n {\n \"name\": \"orientation\",\n \"type\": \"\\\"horizontal\\\" | \\\"vertical\\\"\",\n \"enumValues\": [\"horizontal\", \"vertical\"]\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Checkbox\",\n \"props\": [\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: boolean, event: ChangeEvent<HTMLInputElement, Element>) => void\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"(event: FocusEvent<HTMLInputElement, Element>) => void\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"(event: SyntheticEvent<HTMLInputElement, Event>) => void\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"defaultSelected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"indeterminate\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"medium\\\" | \\\"small\\\"\",\n \"enumValues\": [\"medium\", \"small\"]\n },\n {\n \"name\": \"label\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"aria-label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Combobox\",\n \"props\": [\n {\n \"name\": \"value\",\n \"type\": \"ComboboxOption | ComboboxOption[] | ComboboxOption[][]\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"ComboboxOption | ComboboxOption[]\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"((nextState: ComboboxOption) => void) | ((nextState: ComboboxOption[]) => void)\"\n },\n {\n \"name\": \"delimiter\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onBulkPaste\",\n \"type\": \"(values: string[]) => void\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"inputMode\",\n \"type\": \"\\\"search\\\" | \\\"filter\\\"\",\n \"enumValues\": [\"search\", \"filter\"]\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onSelect\",\n \"type\": \"(option: ComboboxOption) => void\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"options\",\n \"type\": \"(ComboboxOption | ComboboxGroup)[] | ComboboxSearchResults\"\n },\n {\n \"name\": \"creatable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onCreate\",\n \"type\": \"(label: string) => void\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onRemove\",\n \"type\": \"(option: ComboboxOption) => void\"\n },\n {\n \"name\": \"onInputChange\",\n \"type\": \"(str: string) => void\"\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<HTMLAttributes<HTMLInputElement>, \\\"role\\\" | \\\"aria-activedescendant\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"value\\\" | \\\"placeholder\\\">\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: ComboboxCloseReason) => void\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"defaultOpen\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"listboxMinWidth\",\n \"type\": \"number\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"DatePicker\",\n \"props\": [\n {\n \"name\": \"onChange\",\n \"type\": \"(date?: string) => void\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | string[]\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<SafeInputAttributes, \\\"role\\\" | \\\"aria-activedescendant\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"value\\\" | \\\"placeholder\\\">\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: CloseReason) => void\"\n },\n {\n \"name\": \"defaultActive\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"dateFormat\",\n \"type\": \"DateFormat\",\n \"enumValues\": [\"YYYY-MM-DD\", \"MM-DD-YYYY\", \"DD-MM-YYYY\"]\n },\n {\n \"name\": \"weekPrefix\",\n \"type\": \"string\"\n },\n {\n \"name\": \"displayWeekNumbers\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"locale\",\n \"type\": \"Locale\",\n \"enumValues\": [\"en\", \"sv\", \"nb\", \"nl\", \"de\", \"fr\", \"it\", \"es\", \"pt\", \"da\"]\n },\n {\n \"name\": \"isDateDisabled\",\n \"type\": \"(date?: string) => boolean\"\n },\n {\n \"name\": \"alignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inputRef\",\n \"type\": \"(element?: HTMLElement) => void\"\n },\n {\n \"name\": \"isoFormat\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"showYearPicker\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"NaturalLanguageDropdownMenu\",\n \"props\": [\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"triggerValue\",\n \"type\": \"string\"\n },\n {\n \"name\": \"error\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: DropdownMenuCloseReason) => void\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"alignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"filterMode\",\n \"type\": \"\\\"auto\\\" | \\\"off\\\" | \\\"external\\\"\",\n \"enumValues\": [\"auto\", \"off\", \"external\"]\n },\n {\n \"name\": \"onActivateItem\",\n \"type\": \"(item: { label: string; multiSelectable: boolean; }) => void\"\n },\n {\n \"name\": \"filterString\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onFilterStringChange\",\n \"type\": \"(newString: string) => void\"\n },\n {\n \"name\": \"filterPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"noMatchesFound\",\n \"type\": \"string\"\n },\n {\n \"name\": \"initialActiveIndex\",\n \"type\": \"number | \\\"first\\\" | \\\"last\\\" | \\\"first-selected\\\" | \\\"last-selected\\\"\"\n },\n {\n \"name\": \"active\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"NaturalLanguageForm\",\n \"props\": [],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"NaturalLanguageInput\",\n \"props\": [\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string) => void\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"NaturalLanguageSelect\",\n \"props\": [\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"T | NaturalLanguageOption<T>\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"T | NaturalLanguageOption<T>\"\n },\n {\n \"name\": \"options\",\n \"type\": \"(NaturalLanguageOption<T> | NaturalLanguageGroup<T>)[] | NaturalLanguageSearchResults<T>\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: NaturalLanguageOption<T>) => void\"\n },\n {\n \"name\": \"error\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: DropdownMenuCloseReason) => void\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"alignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"filterMode\",\n \"type\": \"\\\"auto\\\" | \\\"off\\\" | \\\"external\\\"\",\n \"enumValues\": [\"auto\", \"off\", \"external\"]\n },\n {\n \"name\": \"onActivateItem\",\n \"type\": \"(item: { label: string; multiSelectable: boolean; }) => void\"\n },\n {\n \"name\": \"filterString\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onFilterStringChange\",\n \"type\": \"(newString: string) => void\"\n },\n {\n \"name\": \"filterPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"noMatchesFound\",\n \"type\": \"string\"\n },\n {\n \"name\": \"initialActiveIndex\",\n \"type\": \"number | \\\"first\\\" | \\\"last\\\" | \\\"first-selected\\\" | \\\"last-selected\\\"\"\n },\n {\n \"name\": \"active\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"triggerValue\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ComboboxTree\",\n \"props\": [\n {\n \"name\": \"onChange\",\n \"type\": \"((value: ComboboxTreeOption) => void) | ((value: ComboboxTreeOption[]) => void)\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"ComboboxTreeOption | ComboboxTreeOption[]\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onSelect\",\n \"type\": \"(option: ComboboxTreeOption) => void\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"value\",\n \"type\": \"ComboboxTreeOption | ComboboxTreeOption[] | ComboboxTreeOption[][]\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"options\",\n \"type\": \"ComboboxTreeOption[]\"\n },\n {\n \"name\": \"creatable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onCreate\",\n \"type\": \"(value: string) => void\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onRemove\",\n \"type\": \"(option: ComboboxTreeOption) => void\"\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<HTMLAttributes<HTMLInputElement>, \\\"role\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"value\\\" | \\\"disabled\\\" | \\\"placeholder\\\">\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: ComboboxTreeCloseReason) => void\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"defaultOpen\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"listboxMinWidth\",\n \"type\": \"number\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"true\"\n },\n {\n \"name\": \"defaultExpanded\",\n \"type\": \"(string | number)[] | Set<string | number>\"\n },\n {\n \"name\": \"selectionMode\",\n \"type\": \"\\\"group\\\" | \\\"tree\\\"\",\n \"enumValues\": [\"group\", \"tree\"]\n },\n {\n \"name\": \"delimiter\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onBulkPaste\",\n \"type\": \"(values: string[]) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n }\n ],\n \"@planview/pv-gantt\": [\n {\n \"name\": \"Gantt\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"visibleFeatures\",\n \"type\": \"Partial<GanttVisibleFeatures>\"\n },\n {\n \"name\": \"rows\",\n \"type\": \"GanttDataProp<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"dependencies\",\n \"type\": \"GanttDependency[]\"\n },\n {\n \"name\": \"filteredIds\",\n \"type\": \"TDataModel[\\\"id\\\"][]\"\n },\n {\n \"name\": \"filter\",\n \"type\": \"(row: TDataModel) => boolean\"\n },\n {\n \"name\": \"filterMode\",\n \"type\": \"FilterMode\",\n \"enumValues\": [\"default\", \"highlight\"]\n },\n {\n \"name\": \"selection\",\n \"type\": \"Set<TDataModel[\\\"id\\\"]> | { ids: Set<TDataModel[\\\"id\\\"]>; autoScroll?: boolean; }\"\n },\n {\n \"name\": \"selectionMode\",\n \"type\": \"\\\"none\\\" | \\\"single\\\" | \\\"multi\\\"\",\n \"enumValues\": [\"none\", \"single\", \"multi\"]\n },\n {\n \"name\": \"onSelectionChange\",\n \"type\": \"(selection: Set<TDataModel[\\\"id\\\"]>) => void\"\n },\n {\n \"name\": \"expandedRows\",\n \"type\": \"Set<TDataModel[\\\"id\\\"]>\"\n },\n {\n \"name\": \"onExpandedRowsChange\",\n \"type\": \"(expandedRows: Set<TDataModel[\\\"id\\\"]>, context: { expanded: Set<TDataModel[\\\"id\\\"]>; collapsed: Set<TDataModel[\\\"id\\\"]>; }) => void\"\n },\n {\n \"name\": \"rowHeight\",\n \"type\": \"\\\"small\\\" | \\\"medium\\\"\",\n \"enumValues\": [\"small\", \"medium\"]\n },\n {\n \"name\": \"actionsMenu\",\n \"type\": \"GanttActionsMenu<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"itemDrag\",\n \"type\": \"GanttItemDragConfig<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"dependencyDrag\",\n \"type\": \"GanttDependencyDragConfig<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"popoverContent\",\n \"type\": \"(item: TDataModel) => any\"\n },\n {\n \"name\": \"touchFriendly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"initialTargetDate\",\n \"type\": \"Date\"\n },\n {\n \"name\": \"startOfYear\",\n \"type\": \"1 | 4\"\n },\n {\n \"name\": \"startOfWeek\",\n \"type\": \"number\"\n },\n {\n \"name\": \"isWorkingDay\",\n \"type\": \"(date: Date) => boolean\"\n },\n {\n \"name\": \"getHeaderLabel\",\n \"type\": \"(params: TimelineHeaderGetLabel) => TimelineHeaderGetLabelReturn\"\n },\n {\n \"name\": \"timeScale\",\n \"type\": \"TimelineTimeScale\",\n \"enumValues\": [\"week\", \"month\", \"quarter\", \"tertile\", \"year\"]\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Timeline\",\n \"props\": [\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"initialTargetDate\",\n \"type\": \"Date\"\n },\n {\n \"name\": \"startOfYear\",\n \"type\": \"1 | 4\"\n },\n {\n \"name\": \"startOfWeek\",\n \"type\": \"number\"\n },\n {\n \"name\": \"children\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"hidePast\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"isWorkingDay\",\n \"type\": \"(date: Date) => boolean\"\n },\n {\n \"name\": \"getHeaderLabel\",\n \"type\": \"(params: TimelineHeaderGetLabel) => TimelineHeaderGetLabelReturn\"\n },\n {\n \"name\": \"timeScale\",\n \"type\": \"TimelineTimeScale\",\n \"enumValues\": [\"week\", \"month\", \"quarter\", \"tertile\", \"year\"]\n },\n {\n \"name\": \"hideToday\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"TimelineMarker\",\n \"props\": [\n {\n \"name\": \"date\",\n \"type\": \"Date\"\n },\n {\n \"name\": \"color\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"disableSnapping\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"TimelineItem\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"date\",\n \"type\": \"Date\"\n },\n {\n \"name\": \"endDate\",\n \"type\": \"Date\"\n },\n {\n \"name\": \"disableSnapping\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"alwaysRender\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"TimelineHeaderSlot\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n }\n ],\n \"@planview/pv-grid\": [\n {\n \"name\": \"Grid\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"columns\",\n \"type\": \"Column<TDataModel, TMetaModel>[]\"\n },\n {\n \"name\": \"columnGroups\",\n \"type\": \"ColumnGroup<TDataModel>[]\"\n },\n {\n \"name\": \"enableColumnVisibilityMenu\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"rows\",\n \"type\": \"GridDataProp<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"defaultSort\",\n \"type\": \"GridColumnSort[]\"\n },\n {\n \"name\": \"sort\",\n \"type\": \"GridColumnSort[]\"\n },\n {\n \"name\": \"onSortChange\",\n \"type\": \"(sort: GridColumnSort[]) => void\"\n },\n {\n \"name\": \"sortMode\",\n \"type\": \"\\\"internal\\\" | \\\"external\\\"\",\n \"enumValues\": [\"internal\", \"external\"]\n },\n {\n \"name\": \"multiColumnSort\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"filteredIds\",\n \"type\": \"TDataModel[\\\"id\\\"][]\"\n },\n {\n \"name\": \"filter\",\n \"type\": \"(row: TDataModel) => boolean\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"number | boolean\"\n },\n {\n \"name\": \"filterMode\",\n \"type\": \"FilterMode\",\n \"enumValues\": [\"default\", \"highlight\"]\n },\n {\n \"name\": \"selection\",\n \"type\": \"Set<TDataModel[\\\"id\\\"]> | { ids: Set<TDataModel[\\\"id\\\"]>; autoScroll?: boolean; }\"\n },\n {\n \"name\": \"selectionMode\",\n \"type\": \"\\\"none\\\" | \\\"single\\\" | \\\"multi\\\" | \\\"multi-hidden\\\"\",\n \"enumValues\": [\"none\", \"single\", \"multi\", \"multi-hidden\"]\n },\n {\n \"name\": \"onSelectionChange\",\n \"type\": \"(selection: Set<TDataModel[\\\"id\\\"]>) => void\"\n },\n {\n \"name\": \"expandedRows\",\n \"type\": \"Set<TDataModel[\\\"id\\\"]>\"\n },\n {\n \"name\": \"onExpandedRowsChange\",\n \"type\": \"(expandedRows: Set<TDataModel[\\\"id\\\"]>, context: { expanded: Set<TDataModel[\\\"id\\\"]>; collapsed: Set<TDataModel[\\\"id\\\"]>; }) => void\"\n },\n {\n \"name\": \"rowHeight\",\n \"type\": \"\\\"small\\\" | \\\"medium\\\"\",\n \"enumValues\": [\"small\", \"medium\"]\n },\n {\n \"name\": \"onRowClick\",\n \"type\": \"(rowId: TDataModel[\\\"id\\\"]) => void\"\n },\n {\n \"name\": \"preferencesAdapter\",\n \"type\": \"GridPreferencesAdapter\"\n },\n {\n \"name\": \"onCellChange\",\n \"type\": \"(payload: { nextValue: any extends keyof TDataModel ? TDataModel[any] : any; previousValue: any extends keyof TDataModel ? TDataModel[any] : any; columnId: any; rowId: TDataModel[\\\"id\\\"]; }) => void\"\n },\n {\n \"name\": \"emptyContent\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"actionsMenu\",\n \"type\": \"GridActionsMenu<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"rowDrag\",\n \"type\": \"GridRowDragConfig<TDataModel, TMetaModel>\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ListGrid\",\n \"props\": [\n {\n \"name\": \"selection\",\n \"type\": \"Set<TDataModel[\\\"id\\\"]> | { ids: Set<TDataModel[\\\"id\\\"]>; autoScroll?: boolean; }\"\n },\n {\n \"name\": \"actionsMenu\",\n \"type\": \"GridActionsMenu<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"rows\",\n \"type\": \"GridDataProp<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"number | boolean\"\n },\n {\n \"name\": \"expandedRows\",\n \"type\": \"Set<TDataModel[\\\"id\\\"]>\"\n },\n {\n \"name\": \"onExpandedRowsChange\",\n \"type\": \"(expandedRows: Set<TDataModel[\\\"id\\\"]>, context: { expanded: Set<TDataModel[\\\"id\\\"]>; collapsed: Set<TDataModel[\\\"id\\\"]>; }) => void\"\n },\n {\n \"name\": \"rowHeight\",\n \"type\": \"\\\"small\\\" | \\\"medium\\\"\",\n \"enumValues\": [\"small\", \"medium\"]\n },\n {\n \"name\": \"onRowClick\",\n \"type\": \"(rowId: TDataModel[\\\"id\\\"]) => void\"\n },\n {\n \"name\": \"onCellChange\",\n \"type\": \"(payload: { nextValue: any extends keyof TDataModel ? TDataModel[any] : any; previousValue: any extends keyof TDataModel ? TDataModel[any] : any; columnId: any; rowId: TDataModel[\\\"id\\\"]; }) => void\"\n },\n {\n \"name\": \"emptyContent\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"rowDrag\",\n \"type\": \"GridRowDragConfig<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"onSelectionChange\",\n \"type\": \"(selection: Set<TDataModel[\\\"id\\\"]>) => void\"\n },\n {\n \"name\": \"selectionMode\",\n \"type\": \"\\\"none\\\" | \\\"single\\\" | \\\"multi\\\" | \\\"multi-hidden\\\"\",\n \"enumValues\": [\"none\", \"single\", \"multi\", \"multi-hidden\"]\n },\n {\n \"name\": \"filter\",\n \"type\": \"(row: TDataModel) => boolean\"\n },\n {\n \"name\": \"filteredIds\",\n \"type\": \"TDataModel[\\\"id\\\"][]\"\n },\n {\n \"name\": \"filterMode\",\n \"type\": \"FilterMode\",\n \"enumValues\": [\"default\", \"highlight\"]\n },\n {\n \"name\": \"columns\",\n \"type\": \"ListGridColumn<TDataModel, TMetaModel>[]\"\n },\n {\n \"name\": \"flexColumnId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"SpreadsheetGrid\",\n \"props\": [\n {\n \"name\": \"actionsMenu\",\n \"type\": \"GridActionsMenu<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"rows\",\n \"type\": \"GridDataProp<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"number | boolean\"\n },\n {\n \"name\": \"expandedRows\",\n \"type\": \"Set<TDataModel[\\\"id\\\"]>\"\n },\n {\n \"name\": \"onExpandedRowsChange\",\n \"type\": \"(expandedRows: Set<TDataModel[\\\"id\\\"]>, context: { expanded: Set<TDataModel[\\\"id\\\"]>; collapsed: Set<TDataModel[\\\"id\\\"]>; }) => void\"\n },\n {\n \"name\": \"rowHeight\",\n \"type\": \"\\\"small\\\" | \\\"medium\\\"\",\n \"enumValues\": [\"small\", \"medium\"]\n },\n {\n \"name\": \"onRowClick\",\n \"type\": \"(rowId: TDataModel[\\\"id\\\"]) => void\"\n },\n {\n \"name\": \"onCellChange\",\n \"type\": \"(payload: { nextValue: any extends keyof TDataModel ? TDataModel[any] : any; previousValue: any extends keyof TDataModel ? TDataModel[any] : any; columnId: any; rowId: TDataModel[\\\"id\\\"]; }) => void\"\n },\n {\n \"name\": \"emptyContent\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"rowDrag\",\n \"type\": \"GridRowDragConfig<TDataModel, TMetaModel>\"\n },\n {\n \"name\": \"filter\",\n \"type\": \"(row: TDataModel) => boolean\"\n },\n {\n \"name\": \"filteredIds\",\n \"type\": \"TDataModel[\\\"id\\\"][]\"\n },\n {\n \"name\": \"filterMode\",\n \"type\": \"FilterMode\",\n \"enumValues\": [\"default\", \"highlight\"]\n },\n {\n \"name\": \"columns\",\n \"type\": \"Column<TDataModel, TMetaModel>[]\"\n },\n {\n \"name\": \"columnGroups\",\n \"type\": \"ColumnGroup<TDataModel>[]\"\n },\n {\n \"name\": \"enableColumnVisibilityMenu\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"defaultSort\",\n \"type\": \"GridColumnSort[]\"\n },\n {\n \"name\": \"sort\",\n \"type\": \"GridColumnSort[]\"\n },\n {\n \"name\": \"onSortChange\",\n \"type\": \"(sort: GridColumnSort[]) => void\"\n },\n {\n \"name\": \"sortMode\",\n \"type\": \"\\\"internal\\\" | \\\"external\\\"\",\n \"enumValues\": [\"internal\", \"external\"]\n },\n {\n \"name\": \"multiColumnSort\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"preferencesAdapter\",\n \"type\": \"GridPreferencesAdapter\"\n },\n {\n \"name\": \"rangeSelection\",\n \"type\": \"GridRangeSelection<TDataModel>\"\n },\n {\n \"name\": \"onRangeSelectionChange\",\n \"type\": \"(rangeSelection: GridRangeSelection<TDataModel>, data: { rowIds: TDataModel[\\\"id\\\"][]; columnIds: string[]; }) => void\"\n },\n {\n \"name\": \"onRangeCopy\",\n \"type\": \"\\\"labels\\\" | \\\"values\\\" | SpreadsheetRangeCopy<TDataModel>\"\n },\n {\n \"name\": \"onBulkCellChange\",\n \"type\": \"(payload: Map<TDataModel[\\\"id\\\"], { nextValue: any extends keyof TDataModel ? TDataModel[any] : any; previousValue: any extends keyof TDataModel ? TDataModel[any] : any; columnId: any; rowId: TDataModel[\\\"id\\\"]; }[]>) => boolean | void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridComponentsProvider\",\n \"props\": [\n {\n \"name\": \"components\",\n \"type\": \"Partial<GridComponentsType>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridSyncProvider\",\n \"props\": [\n {\n \"name\": \"orientation\",\n \"type\": \"\\\"vertical\\\" | \\\"horizontal\\\"\",\n \"enumValues\": [\"vertical\", \"horizontal\"]\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridCellDefaultRenderer\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridHeaderCellDefaultRenderer\",\n \"props\": [\n {\n \"name\": \"columnId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridHeaderGroupCellDefaultRenderer\",\n \"props\": [\n {\n \"name\": \"columnId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridFooterCellDefaultRenderer\",\n \"props\": [\n {\n \"name\": \"columnId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string | number\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorInput\",\n \"props\": [\n {\n \"name\": \"value\",\n \"type\": \"any\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value: any, payload?: EditorConfirmPayload) => void\"\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"Element\"\n },\n {\n \"name\": \"maxLength\",\n \"type\": \"number\"\n },\n {\n \"name\": \"nativeProps\",\n \"type\": \"SafeInputAttributes\"\n },\n {\n \"name\": \"type\",\n \"type\": \"AllowedInputTypes\",\n \"enumValues\": [\"text\", \"password\", \"email\", \"url\", \"tel\"]\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string) => void\"\n },\n {\n \"name\": \"controlled\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorInputNumeric\",\n \"props\": [\n {\n \"name\": \"value\",\n \"type\": \"any\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value: any, payload?: EditorConfirmPayload) => void\"\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"maxLength\",\n \"type\": \"number\"\n },\n {\n \"name\": \"nativeProps\",\n \"type\": \"SafeInputAttributes\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"max\",\n \"type\": \"number\"\n },\n {\n \"name\": \"min\",\n \"type\": \"number\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"decimalSeparator\",\n \"type\": \"string\"\n },\n {\n \"name\": \"maximumFractionDigits\",\n \"type\": \"number\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"any\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string) => void\"\n },\n {\n \"name\": \"controlled\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorInputTime\",\n \"props\": [\n {\n \"name\": \"value\",\n \"type\": \"any\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value: any, payload?: EditorConfirmPayload) => void\"\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"maxLength\",\n \"type\": \"number\"\n },\n {\n \"name\": \"nativeProps\",\n \"type\": \"SafeInputAttributes\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.JSX.Element\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string) => void\"\n },\n {\n \"name\": \"controlled\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorRadio\",\n \"props\": [\n {\n \"name\": \"value\",\n \"type\": \"any\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value: any, payload?: EditorConfirmPayload) => void\"\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorSwitch\",\n \"props\": [\n {\n \"name\": \"value\",\n \"type\": \"any\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value: any, payload?: EditorConfirmPayload) => void\"\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorComboboxMulti\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"inputMode\",\n \"type\": \"\\\"filter\\\" | \\\"search\\\"\",\n \"enumValues\": [\"filter\", \"search\"]\n },\n {\n \"name\": \"onSelect\",\n \"type\": \"(option: ComboboxOption) => void\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"creatable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<HTMLAttributes<HTMLInputElement>, \\\"placeholder\\\" | \\\"role\\\" | \\\"aria-activedescendant\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"value\\\">\"\n },\n {\n \"name\": \"onRemove\",\n \"type\": \"(option: ComboboxOption) => void\"\n },\n {\n \"name\": \"onCreate\",\n \"type\": \"(label: string) => void\"\n },\n {\n \"name\": \"onInputChange\",\n \"type\": \"(str: string) => void\"\n },\n {\n \"name\": \"options\",\n \"type\": \"(ComboboxOption | ComboboxGroup)[] | ComboboxSearchResults\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"value\",\n \"type\": \"ComboboxOption[]\"\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value?: ComboboxOption[], payload?: EditorConfirmPayload) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorCombobox\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"creatable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<HTMLAttributes<HTMLInputElement>, \\\"placeholder\\\" | \\\"role\\\" | \\\"aria-activedescendant\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"value\\\">\"\n },\n {\n \"name\": \"onCreate\",\n \"type\": \"(label: string) => void\"\n },\n {\n \"name\": \"onInputChange\",\n \"type\": \"(str: string) => void\"\n },\n {\n \"name\": \"options\",\n \"type\": \"(ComboboxOption | ComboboxGroup)[] | ComboboxSearchResults\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"delimiter\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onBulkPaste\",\n \"type\": \"(values: string[]) => void\"\n },\n {\n \"name\": \"listboxMinWidth\",\n \"type\": \"number\"\n },\n {\n \"name\": \"value\",\n \"type\": \"ComboboxOption\"\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value?: ComboboxOption, payload?: EditorConfirmPayload) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorComboboxTree\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"selectionMode\",\n \"type\": \"\\\"tree\\\" | \\\"group\\\"\",\n \"enumValues\": [\"tree\", \"group\"]\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onSelect\",\n \"type\": \"(option: ComboboxTreeOption) => void\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"creatable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<HTMLAttributes<HTMLInputElement>, \\\"placeholder\\\" | \\\"role\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"disabled\\\" | \\\"value\\\">\"\n },\n {\n \"name\": \"onRemove\",\n \"type\": \"(option: ComboboxTreeOption) => void\"\n },\n {\n \"name\": \"onCreate\",\n \"type\": \"(value: string) => void\"\n },\n {\n \"name\": \"options\",\n \"type\": \"ComboboxTreeOption[]\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"delimiter\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onBulkPaste\",\n \"type\": \"(values: string[]) => void\"\n },\n {\n \"name\": \"listboxMinWidth\",\n \"type\": \"number\"\n },\n {\n \"name\": \"defaultExpanded\",\n \"type\": \"(string | number)[] | Set<string | number>\"\n },\n {\n \"name\": \"value\",\n \"type\": \"ComboboxTreeOption\"\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value?: ComboboxTreeOption, payload?: EditorConfirmPayload) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorComboboxTreeMulti\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"selectionMode\",\n \"type\": \"\\\"tree\\\" | \\\"group\\\"\",\n \"enumValues\": [\"tree\", \"group\"]\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onSelect\",\n \"type\": \"(option: ComboboxTreeOption) => void\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"creatable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<HTMLAttributes<HTMLInputElement>, \\\"placeholder\\\" | \\\"role\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"disabled\\\" | \\\"value\\\">\"\n },\n {\n \"name\": \"onRemove\",\n \"type\": \"(option: ComboboxTreeOption) => void\"\n },\n {\n \"name\": \"onCreate\",\n \"type\": \"(value: string) => void\"\n },\n {\n \"name\": \"options\",\n \"type\": \"ComboboxTreeOption[]\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"delimiter\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onBulkPaste\",\n \"type\": \"(values: string[]) => void\"\n },\n {\n \"name\": \"listboxMinWidth\",\n \"type\": \"number\"\n },\n {\n \"name\": \"defaultExpanded\",\n \"type\": \"(string | number)[] | Set<string | number>\"\n },\n {\n \"name\": \"value\",\n \"type\": \"ComboboxTreeOption[]\"\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value: ComboboxTreeOption[], payload?: EditorConfirmPayload) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorDatePicker\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value: any, payload?: EditorConfirmPayload) => void\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | string[]\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<SafeInputAttributes, \\\"placeholder\\\" | \\\"role\\\" | \\\"aria-activedescendant\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"value\\\">\"\n },\n {\n \"name\": \"dateFormat\",\n \"type\": \"DateFormat\",\n \"enumValues\": [\"YYYY-MM-DD\", \"MM-DD-YYYY\", \"DD-MM-YYYY\"]\n },\n {\n \"name\": \"weekPrefix\",\n \"type\": \"string\"\n },\n {\n \"name\": \"displayWeekNumbers\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"locale\",\n \"type\": \"Locale\",\n \"enumValues\": [\"en\", \"sv\", \"nb\", \"nl\", \"de\", \"fr\", \"it\", \"es\", \"pt\", \"da\"]\n },\n {\n \"name\": \"isDateDisabled\",\n \"type\": \"(date?: string) => boolean\"\n },\n {\n \"name\": \"alignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"isoFormat\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"showYearPicker\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"any\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorLink\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"value\",\n \"type\": \"{ url: string; text: string; }\"\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value?: { url: string; text: string; }, payload?: EditorConfirmPayload) => void\"\n },\n {\n \"name\": \"allowedUrlProtocols\",\n \"type\": \"readonly string[]\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridEditorTextarea\",\n \"props\": [\n {\n \"name\": \"value\",\n \"type\": \"any\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"rowId\",\n \"type\": \"TDataModel[\\\"id\\\"]\"\n },\n {\n \"name\": \"columnId\",\n \"type\": \"ColumnField<TDataModel>\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"navigation\\\" | \\\"editing\\\"\",\n \"enumValues\": [\"navigation\", \"editing\"]\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"(value: any, payload?: EditorConfirmPayload) => void\"\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"nativeProps\",\n \"type\": \"SafeTextAreaAttributes\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"minWidth\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string) => void\"\n },\n {\n \"name\": \"controlled\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridCellBase\",\n \"props\": [\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"GridCellDefault\",\n \"props\": [\n {\n \"name\": \"icon\",\n \"type\": \"any\"\n },\n {\n \"name\": \"avatar\",\n \"type\": \"any\"\n },\n {\n \"name\": \"badge\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"leftContentTooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"backgroundColor\",\n \"type\": \"string\"\n },\n {\n \"name\": \"color\",\n \"type\": \"string\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"aggregated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"onLinkClick\",\n \"type\": \"React.MouseEventHandler<HTMLAnchorElement>\",\n \"deprecated\": \"Pass onClick to the `href` prop instead\"\n },\n {\n \"name\": \"numeric\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"align\",\n \"type\": \"\\\"left\\\" | \\\"right\\\"\",\n \"enumValues\": [\"left\", \"right\"]\n },\n {\n \"name\": \"preserveNewlines\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridCellNumeric\",\n \"props\": [\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"backgroundColor\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridCellChips\",\n \"props\": [\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string[] | { label: string; id?: string | number; icon?: Element; className?: string; role?: AriaRole; color?: string; avatar?: string | ReactElement<AvatarProps, string | JSXElementConstructor<...>>; custom?: ReactNode; tooltip?: string; valid?: boolean; }[]\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridCellDropdownMenu\",\n \"props\": [\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"trigger\",\n \"type\": \"CellDropdownMenuTriggerConfig\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"filterMode\",\n \"type\": \"\\\"external\\\" | \\\"auto\\\" | \\\"off\\\"\",\n \"enumValues\": [\"external\", \"auto\", \"off\"]\n },\n {\n \"name\": \"error\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"role\",\n \"type\": \"\\\"listbox\\\" | \\\"menu\\\"\",\n \"enumValues\": [\"listbox\", \"menu\"]\n },\n {\n \"name\": \"children\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: DropdownMenuCloseReason) => void\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"alignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onActivateItem\",\n \"type\": \"(item: { label: string; multiSelectable: boolean; }) => void\"\n },\n {\n \"name\": \"filterString\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onFilterStringChange\",\n \"type\": \"(newString: string) => void\"\n },\n {\n \"name\": \"filterPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"noMatchesFound\",\n \"type\": \"string\"\n },\n {\n \"name\": \"initialActiveIndex\",\n \"type\": \"number | \\\"first\\\" | \\\"last\\\" | \\\"first-selected\\\" | \\\"last-selected\\\"\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"GridCellLink\",\n \"props\": [\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"GridCellButton\",\n \"props\": [\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": false\n }\n ],\n \"@planview/pv-toolbar\": [\n {\n \"name\": \"default\",\n \"props\": [],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Toolbar\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"any\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ToolbarMoreMenu\",\n \"props\": [\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"any\"\n },\n {\n \"name\": \"collapse\",\n \"type\": \"\\\"above\\\" | \\\"below\\\"\",\n \"enumValues\": [\"above\", \"below\"]\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"BaseToolbarContainer\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"aria-label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ToolbarDatePicker\",\n \"props\": [\n {\n \"name\": \"onChange\",\n \"type\": \"(date?: string) => void\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | string[]\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: CloseReason) => void\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"required\",\n \"type\": \"boolean\",\n \"deprecated\": \"Use clearable instead and set aria-required on inputProps if needed\\n\\nWhen set to true, component doesn't allow null selection\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"any\"\n },\n {\n \"name\": \"dateFormat\",\n \"type\": \"DateFormat\",\n \"enumValues\": [\"YYYY-MM-DD\", \"MM-DD-YYYY\", \"DD-MM-YYYY\"]\n },\n {\n \"name\": \"goToToday\",\n \"type\": \"string\",\n \"deprecated\": \"- This prop is not used in favor for built-in localization\\nTranslated \\\"Go to today\\\" text to be shown in the footer\"\n },\n {\n \"name\": \"clearDate\",\n \"type\": \"string\",\n \"deprecated\": \"- This prop is not used in favor for built-in localization\\nTranslated \\\"Clear date\\\" text to be shown in the footer\"\n },\n {\n \"name\": \"weekPrefix\",\n \"type\": \"string\"\n },\n {\n \"name\": \"displayWeekNumbers\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"locale\",\n \"type\": \"Locale\",\n \"enumValues\": [\"en\", \"sv\", \"nb\", \"nl\", \"de\", \"fr\", \"it\", \"es\", \"pt\", \"da\"]\n },\n {\n \"name\": \"isDateDisabled\",\n \"type\": \"(date?: string) => boolean\"\n },\n {\n \"name\": \"alignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inputRef\",\n \"type\": \"(element?: HTMLElement) => void\"\n },\n {\n \"name\": \"isoFormat\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"showYearPicker\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<SafeInputAttributes, \\\"role\\\" | \\\"aria-activedescendant\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"value\\\" | \\\"placeholder\\\">\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"preventLabelCollapse\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarButtonDestructive\",\n \"props\": [\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"preventLabelCollapse\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"children\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"(e?: React.MouseEvent) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarButtonPrimary\",\n \"props\": [\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"preventLabelCollapse\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"children\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"(e?: React.MouseEvent) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarButtonEmpty\",\n \"props\": [\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"preventLabelCollapse\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"children\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"(e?: React.MouseEvent) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarButtonGhost\",\n \"props\": [\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"preventLabelCollapse\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"children\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"(e?: React.MouseEvent) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarButtonEmptyInverse\",\n \"props\": [\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"preventLabelCollapse\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"children\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"(e?: React.MouseEvent) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarButtonAnviPrimary\",\n \"props\": [\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"preventLabelCollapse\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"children\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"(e?: React.MouseEvent) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarButtonAnviEmpty\",\n \"props\": [\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"preventLabelCollapse\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"children\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"(e?: React.MouseEvent) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarButtonAnviEmptyInverse\",\n \"props\": [\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"preventLabelCollapse\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"children\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"(e?: React.MouseEvent) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarButtonAnviGhost\",\n \"props\": [\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"preventLabelCollapse\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"children\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"(e?: React.MouseEvent) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarItemBridge\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarButtonGroup\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"any[]\"\n },\n {\n \"name\": \"groupLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"BaseToolbarSeparator\",\n \"props\": [\n {\n \"name\": \"vertical\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"$inverse\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarSection\",\n \"props\": [],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ToolbarSectionLeft\",\n \"props\": [],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ToolbarSectionRight\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"any\"\n },\n {\n \"name\": \"moreMenuLabel\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarSectionWithMenu\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"any\"\n },\n {\n \"name\": \"moreMenuLabel\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarDropdownMenu\",\n \"props\": [\n {\n \"name\": \"role\",\n \"type\": \"\\\"listbox\\\" | \\\"menu\\\"\",\n \"enumValues\": [\"listbox\", \"menu\"]\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: DropdownMenuCloseReason) => void\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"alignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"error\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"filterMode\",\n \"type\": \"\\\"auto\\\" | \\\"off\\\" | \\\"external\\\"\",\n \"enumValues\": [\"auto\", \"off\", \"external\"]\n },\n {\n \"name\": \"onActivateItem\",\n \"type\": \"(item: { label: string; multiSelectable: boolean; }) => void\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"filterString\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onFilterStringChange\",\n \"type\": \"(newString: string) => void\"\n },\n {\n \"name\": \"filterPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"noMatchesFound\",\n \"type\": \"string\"\n },\n {\n \"name\": \"initialActiveIndex\",\n \"type\": \"number | \\\"first\\\" | \\\"last\\\" | \\\"first-selected\\\" | \\\"last-selected\\\"\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"active\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"any\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"trigger\",\n \"type\": \"TriggerConfig | ((props: DropdownTriggerProps) => React.ReactElement<ToolbarButtonProps>)\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarItemView\",\n \"props\": [\n {\n \"name\": \"refOverride\",\n \"type\": \"React.MutableRefObject<T>\",\n \"deprecated\": \"This had been introduced as a temporary fix. We plan to\\nfix more fully in a future release which will result in this prop being removed.\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\",\n \"deprecated\": \"Pass disabled state directly to the child\"\n },\n {\n \"name\": \"children\",\n \"type\": \"(ref: React.MutableRefObject<T>, props: { disabled?: boolean; showLabels: boolean; toolbarItemProps: { onKeyDown: React.KeyboardEventHandler<T>; onClick: React.MouseEventHandler<T>; tabIndex: number; focused: boolean; }; }) => React.JSX.Element\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarItem\",\n \"props\": [\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"children\",\n \"type\": \"any\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ToolbarItemCollapsedView\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactElement\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoAdaptiveWork\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoAdvisorExpress\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoAdvisor\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoAgilePlace\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoBarometer\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoChangePoint\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoDaptiv\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoEA\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoIdeaPlace\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoOKR\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoPortfolios\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoPPMPro\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoPVAdmin\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoRoadmaps\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoProjectPlace\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoHub\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoViz\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoPlanview\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoProjectAdvantage\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LogoReleaseAndVerify\",\n \"props\": [\n {\n \"name\": \"url\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ProductSwitcher\",\n \"props\": [\n {\n \"name\": \"singleTabStop\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"products\",\n \"type\": \"Product[]\"\n },\n {\n \"name\": \"organization\",\n \"type\": \"ProductSwitcherOrganization\"\n },\n {\n \"name\": \"onActivate\",\n \"type\": \"(product: Product) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"UserMenu\",\n \"props\": [\n {\n \"name\": \"triggerElement\",\n \"type\": \"React.JSX.Element\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"NavigationBar\",\n \"props\": [\n {\n \"name\": \"logo\",\n \"type\": \"React.JSX.Element\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"productSwitcher\",\n \"type\": \"React.JSX.Element\"\n },\n {\n \"name\": \"showLogoSeparator\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"SearchInput\",\n \"props\": [\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(nextState: boolean) => void\"\n },\n {\n \"name\": \"displayOn\",\n \"type\": \"DisplayOnType\",\n \"enumValues\": [\"phone\", \"tablet-portrait\", \"tablet-landscape\", \"desktop\", \"desktop-hd\"]\n },\n {\n \"name\": \"value\",\n \"type\": \"string\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string, event: React.ChangeEvent<HTMLInputElement>) => void\"\n },\n {\n \"name\": \"onActivateMoreMenu\",\n \"type\": \"() => void\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ProductSwitcherBridge\",\n \"props\": [],\n \"extendsStandardAttrs\": false\n }\n ],\n \"@planview/pv-uikit\": [\n {\n \"name\": \"Avatar\",\n \"props\": [\n {\n \"name\": \"src\",\n \"type\": \"string\"\n },\n {\n \"name\": \"alt\",\n \"type\": \"string\"\n },\n {\n \"name\": \"initials\",\n \"type\": \"string\"\n },\n {\n \"name\": \"size\",\n \"type\": \"AvatarSize\",\n \"enumValues\": [\"small\", \"medium\", \"smallCompact\", \"large\", \"xlarge\"]\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Badge\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"string | number\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ButtonPrimary\",\n \"props\": [\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"React.MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ButtonGhost\",\n \"props\": [\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"React.MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ButtonEmpty\",\n \"props\": [\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"React.MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ButtonEmptyInverse\",\n \"props\": [\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"React.MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ButtonDestructive\",\n \"props\": [\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"React.MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ButtonAnviPrimary\",\n \"props\": [\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"React.MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ButtonAnviEmpty\",\n \"props\": [\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"React.MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ButtonAnviEmptyInverse\",\n \"props\": [\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"React.MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ButtonAnviGhost\",\n \"props\": [\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activated\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"applied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"React.MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyPress\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"onKeyUp\",\n \"type\": \"React.KeyboardEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ButtonDisclosure\",\n \"props\": [\n {\n \"name\": \"onClick\",\n \"type\": \"React.MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"defaultExpanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(expanded: boolean) => void\"\n },\n {\n \"name\": \"expandLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"collapseLabel\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ButtonGroup\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ButtonGroupRadio\",\n \"props\": [\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onSelect\",\n \"type\": \"(key: string) => void\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"text\\\" | \\\"icon\\\" | \\\"icon-text\\\"\",\n \"enumValues\": [\"text\", \"icon\", \"icon-text\"]\n },\n {\n \"name\": \"buttons\",\n \"type\": \"[ButtonGroupButton, ButtonGroupButton, ...ButtonGroupButton[]]\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"small-compact\\\"\",\n \"enumValues\": [\"small\", \"small-compact\"]\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Checkbox\",\n \"props\": [\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: boolean, event: React.ChangeEvent<HTMLInputElement>) => void\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"(event: React.FocusEvent<HTMLInputElement>) => void\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"(event: React.SyntheticEvent<HTMLInputElement>) => void\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"defaultSelected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"indeterminate\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"medium\\\"\",\n \"enumValues\": [\"small\", \"medium\"]\n },\n {\n \"name\": \"label\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"aria-label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"CircleProgressBar\",\n \"props\": [\n {\n \"name\": \"percentage\",\n \"type\": \"number\"\n },\n {\n \"name\": \"variant\",\n \"type\": \"\\\"medium\\\" | \\\"large\\\"\",\n \"enumValues\": [\"medium\", \"large\"]\n },\n {\n \"name\": \"fgColor\",\n \"type\": \"string\"\n },\n {\n \"name\": \"bgColor\",\n \"type\": \"string\"\n },\n {\n \"name\": \"textColor\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Counter\",\n \"props\": [\n {\n \"name\": \"kind\",\n \"type\": \"CounterType\",\n \"enumValues\": [\"PRIMARY\", \"CRITICAL\"]\n },\n {\n \"name\": \"count\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"CounterPrimary\",\n \"props\": [\n {\n \"name\": \"kind\",\n \"type\": \"CounterType\",\n \"enumValues\": [\"PRIMARY\", \"CRITICAL\"]\n },\n {\n \"name\": \"count\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"CounterCritical\",\n \"props\": [\n {\n \"name\": \"kind\",\n \"type\": \"CounterType\",\n \"enumValues\": [\"PRIMARY\", \"CRITICAL\"]\n },\n {\n \"name\": \"count\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"DatePicker\",\n \"props\": [\n {\n \"name\": \"value\",\n \"type\": \"string | string[]\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(date?: string) => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: CloseReason) => void\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"string\"\n },\n {\n \"name\": \"defaultActive\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"required\",\n \"type\": \"boolean\",\n \"deprecated\": \"Use clearable instead and set aria-required on inputProps if needed\\n\\nWhen set to true, component doesn't allow null selection\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"any\"\n },\n {\n \"name\": \"dateFormat\",\n \"type\": \"DateFormat\",\n \"enumValues\": [\"YYYY-MM-DD\", \"MM-DD-YYYY\", \"DD-MM-YYYY\"]\n },\n {\n \"name\": \"goToToday\",\n \"type\": \"string\",\n \"deprecated\": \"- This prop is not used in favor for built-in localization\\nTranslated \\\"Go to today\\\" text to be shown in the footer\"\n },\n {\n \"name\": \"clearDate\",\n \"type\": \"string\",\n \"deprecated\": \"- This prop is not used in favor for built-in localization\\nTranslated \\\"Clear date\\\" text to be shown in the footer\"\n },\n {\n \"name\": \"weekPrefix\",\n \"type\": \"string\"\n },\n {\n \"name\": \"displayWeekNumbers\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"locale\",\n \"type\": \"Locale\",\n \"enumValues\": [\"en\", \"sv\", \"nb\", \"nl\", \"de\", \"fr\", \"it\", \"es\", \"pt\", \"da\"]\n },\n {\n \"name\": \"isDateDisabled\",\n \"type\": \"(date?: string) => boolean\"\n },\n {\n \"name\": \"alignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inputRef\",\n \"type\": \"(element?: HTMLElement) => void\"\n },\n {\n \"name\": \"isoFormat\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"showYearPicker\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<SafeInputAttributes, \\\"role\\\" | \\\"aria-activedescendant\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"placeholder\\\" | \\\"value\\\">\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Calendar\",\n \"props\": [\n {\n \"name\": \"displayDate\",\n \"type\": \"Date\"\n },\n {\n \"name\": \"onDisplayDateChange\",\n \"type\": \"(date: Date) => void\"\n },\n {\n \"name\": \"selectedDate\",\n \"type\": \"Date | Date[]\"\n },\n {\n \"name\": \"onSelectedDateChange\",\n \"type\": \"(date: Date, shouldClose?: boolean) => void\"\n },\n {\n \"name\": \"locale\",\n \"type\": \"Locale\",\n \"enumValues\": [\"en\", \"sv\", \"nb\", \"nl\", \"de\", \"fr\", \"it\", \"es\", \"pt\", \"da\"]\n },\n {\n \"name\": \"weekPrefix\",\n \"type\": \"string\"\n },\n {\n \"name\": \"displayWeekNumbers\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClearDate\",\n \"type\": \"React.MouseEventHandler<HTMLButtonElement>\"\n },\n {\n \"name\": \"isDateDisabled\",\n \"type\": \"(date: Date) => boolean\"\n },\n {\n \"name\": \"isoFormat\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"required\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"showYearPicker\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"trapFocus\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Divider\",\n \"props\": [\n {\n \"name\": \"vertical\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Grabber\",\n \"props\": [\n {\n \"name\": \"horizontal\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"\\\"drag\\\" | \\\"resize\\\"\",\n \"enumValues\": [\"drag\", \"resize\"]\n },\n {\n \"name\": \"active\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Chip\",\n \"props\": [\n {\n \"name\": \"focusable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"removeChipInstructions\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onRemove\",\n \"type\": \"((id: string | number, reason: ChipRemoveReason) => void) | ((id: string | number, event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void)\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.JSX.Element\"\n },\n {\n \"name\": \"custom\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"avatar\",\n \"type\": \"any\"\n },\n {\n \"name\": \"valid\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"color\",\n \"type\": \"string\"\n },\n {\n \"name\": \"removeButtonLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"role\",\n \"type\": \"React.AriaRole\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Input\",\n \"props\": [\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string, event?: React.ChangeEvent<HTMLInputElement>) => void\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"React.FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"React.FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"React.KeyboardEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClear\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | string[]\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"string\"\n },\n {\n \"name\": \"focus\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.JSX.Element\"\n },\n {\n \"name\": \"maxLength\",\n \"type\": \"number\"\n },\n {\n \"name\": \"password\",\n \"type\": \"boolean\",\n \"deprecated\": \"use type=\\\"password\\\" instead.\"\n },\n {\n \"name\": \"type\",\n \"type\": \"AllowedInputTypes\",\n \"enumValues\": [\"text\", \"password\", \"email\", \"url\", \"tel\"]\n },\n {\n \"name\": \"nativeProps\",\n \"type\": \"SafeInputAttributes\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"InputTime\",\n \"props\": [\n {\n \"name\": \"iconColor\",\n \"type\": \"string\",\n \"deprecated\": \": use the `icon` prop to pass in icon component including color.\\nOverride the icon default color by passing in iconColor\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"any\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"InputNumeric\",\n \"props\": [\n {\n \"name\": \"value\",\n \"type\": \"string | number | (string | number)[]\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"iconColor\",\n \"type\": \"string\",\n \"deprecated\": \": use prop `icon` to pass icon-component including color to customize icon color\\nOverride the icon default color by passing in iconColor\"\n },\n {\n \"name\": \"type\",\n \"type\": \"\\\"numeric\\\" | \\\"currency\\\" | \\\"percentage\\\"\",\n \"enumValues\": [\"numeric\", \"currency\", \"percentage\"],\n \"deprecated\": \": use prop `icon` to pass icon-component to customize icon\\n\\nType of numeric input (numeric, currency or percentage) Determines what icon will be used.\\n\\nThis is a short-hand prop to determine which icon to display in input (`Numeric`, `Currency` or `Percentage` ) and will override `icon` prop if given.\\n\\nIf there is a need to customize further, use the `icon` prop.\"\n },\n {\n \"name\": \"decimalSeparator\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"maximumFractionDigits\",\n \"type\": \"number\"\n },\n {\n \"name\": \"min\",\n \"type\": \"number\"\n },\n {\n \"name\": \"max\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Popover\",\n \"props\": [\n {\n \"name\": \"position\",\n \"type\": \"FloatingPlacement\"\n },\n {\n \"name\": \"offset\",\n \"type\": \"number\"\n },\n {\n \"name\": \"children\",\n \"type\": \"ReactElement<unknown, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"content\",\n \"type\": \"ReactNode\"\n },\n {\n \"name\": \"enterDelay\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"show\",\n \"type\": \"boolean | \\\"always\\\"\"\n },\n {\n \"name\": \"focusTrap\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"initialFocusId\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"PopoverView\",\n \"props\": [\n {\n \"name\": \"show\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"content\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ProgressBar\",\n \"props\": [\n {\n \"name\": \"percentage\",\n \"type\": \"number\"\n },\n {\n \"name\": \"color\",\n \"type\": \"ColorName\",\n \"enumValues\": [\n \"red\",\n \"orange\",\n \"yellow\",\n \"green\",\n \"blue\",\n \"lilac\",\n \"gray\",\n \"gray-dark\",\n \"blood-orange\",\n \"brown\",\n \"burgundy\",\n \"pink\",\n \"teal\"\n ],\n \"deprecated\": \"Use fgColor and bgColor to control colors instead\"\n },\n {\n \"name\": \"inverse\",\n \"type\": \"boolean\",\n \"deprecated\": \"Use fgColor and bgColor to control colors instead\"\n },\n {\n \"name\": \"fgColor\",\n \"type\": \"string\"\n },\n {\n \"name\": \"bgColor\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"MultiProgressBar\",\n \"props\": [\n {\n \"name\": \"colors\",\n \"type\": \"ColorsMap\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"RadioGroup\",\n \"props\": [\n {\n \"name\": \"name\",\n \"type\": \"string\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactElement<RadioProps>[]\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"medium\\\"\",\n \"enumValues\": [\"small\", \"medium\"]\n },\n {\n \"name\": \"onSelect\",\n \"type\": \"(value: string, event: React.ChangeEvent<HTMLInputElement>) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Radio\",\n \"props\": [\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"name\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: boolean, event: React.ChangeEvent<HTMLInputElement>) => void\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"React.FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"React.FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"defaultSelected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"medium\\\"\",\n \"enumValues\": [\"small\", \"medium\"]\n },\n {\n \"name\": \"label\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"aria-label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Spinner\",\n \"props\": [\n {\n \"name\": \"inverse\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"size\",\n \"type\": \"\\\"small\\\" | \\\"medium\\\" | \\\"large\\\" | \\\"xlarge\\\"\",\n \"enumValues\": [\"small\", \"medium\", \"large\", \"xlarge\"]\n },\n {\n \"name\": \"role\",\n \"type\": \"string\"\n },\n {\n \"name\": \"aria-label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"StepSlider\",\n \"props\": [\n {\n \"name\": \"steps\",\n \"type\": \"string[]\"\n },\n {\n \"name\": \"defaultIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"index\",\n \"type\": \"number\"\n },\n {\n \"name\": \"color\",\n \"type\": \"string\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(index: number, event: any) => void\"\n },\n {\n \"name\": \"aria-label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"aria-labelledby\",\n \"type\": \"string\"\n },\n {\n \"name\": \"aria-describedby\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Switch\",\n \"props\": [\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"tabIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: boolean, event: React.ChangeEvent<HTMLInputElement>) => void\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"(event: React.FocusEvent<HTMLInputElement>) => void\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"React.FocusEventHandler<HTMLInputElement>\"\n },\n {\n \"name\": \"checked\",\n \"type\": \"boolean | boolean[]\"\n },\n {\n \"name\": \"defaultChecked\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"indeterminate\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"aria-label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"alignment\",\n \"type\": \"\\\"LEFT_ALIGNED\\\" | \\\"RIGHT_ALIGNED\\\"\",\n \"enumValues\": [\"LEFT_ALIGNED\", \"RIGHT_ALIGNED\"]\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"VerticalTab\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"badge\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onActivate\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string\"\n },\n {\n \"name\": \"target\",\n \"type\": \"string\"\n },\n {\n \"name\": \"rel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tabPanelId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"domId\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"VerticalTabGroup\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactElement<VerticalTabProps>[]\"\n },\n {\n \"name\": \"collapsed\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"activeTab\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onActivate\",\n \"type\": \"(key: string) => void\"\n },\n {\n \"name\": \"tabPanelId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"preventNavigation\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"HorizontalTab\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onActivate\",\n \"type\": \"(index: number) => void\"\n },\n {\n \"name\": \"dropdownChildren\",\n \"type\": \"() => React.ReactNode\"\n },\n {\n \"name\": \"dropdownAlignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"dropdownFilterMode\",\n \"type\": \"\\\"off\\\" | \\\"auto\\\"\",\n \"enumValues\": [\"off\", \"auto\"]\n },\n {\n \"name\": \"dropdownLoading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"theme\",\n \"type\": \"ThemeType\"\n },\n {\n \"name\": \"isHeader\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"HorizontalTabInverse\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onActivate\",\n \"type\": \"(index: number) => void\"\n },\n {\n \"name\": \"dropdownChildren\",\n \"type\": \"() => React.ReactNode\"\n },\n {\n \"name\": \"dropdownAlignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"dropdownFilterMode\",\n \"type\": \"\\\"off\\\" | \\\"auto\\\"\",\n \"enumValues\": [\"off\", \"auto\"]\n },\n {\n \"name\": \"dropdownLoading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"theme\",\n \"type\": \"ThemeType\"\n },\n {\n \"name\": \"isHeader\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"HorizontalTabGroup\",\n \"props\": [\n {\n \"name\": \"defaultIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"index\",\n \"type\": \"number\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactElement[]\"\n },\n {\n \"name\": \"align\",\n \"type\": \"TabAlignment\",\n \"enumValues\": [\"center\", \"left\", \"right\", \"center-fluid\"]\n },\n {\n \"name\": \"size\",\n \"type\": \"TabSize\",\n \"enumValues\": [\"small\", \"medium\"]\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(selectedIndex: number) => void\"\n },\n {\n \"name\": \"moreMenuLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"preventNavigation\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inverse\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Tab\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onActivate\",\n \"type\": \"(index: number) => void\"\n },\n {\n \"name\": \"dropdownChildren\",\n \"type\": \"() => React.ReactNode\"\n },\n {\n \"name\": \"dropdownAlignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"dropdownFilterMode\",\n \"type\": \"\\\"off\\\" | \\\"auto\\\"\",\n \"enumValues\": [\"off\", \"auto\"]\n },\n {\n \"name\": \"dropdownLoading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"theme\",\n \"type\": \"ThemeType\"\n },\n {\n \"name\": \"isHeader\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"TabInverse\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"tooltip\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onActivate\",\n \"type\": \"(index: number) => void\"\n },\n {\n \"name\": \"dropdownChildren\",\n \"type\": \"() => React.ReactNode\"\n },\n {\n \"name\": \"dropdownAlignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"dropdownFilterMode\",\n \"type\": \"\\\"off\\\" | \\\"auto\\\"\",\n \"enumValues\": [\"off\", \"auto\"]\n },\n {\n \"name\": \"dropdownLoading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"theme\",\n \"type\": \"ThemeType\"\n },\n {\n \"name\": \"isHeader\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"withCaret\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"TabGroup\",\n \"props\": [\n {\n \"name\": \"defaultIndex\",\n \"type\": \"number\"\n },\n {\n \"name\": \"index\",\n \"type\": \"number\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactElement[]\"\n },\n {\n \"name\": \"align\",\n \"type\": \"TabAlignment\",\n \"enumValues\": [\"center\", \"left\", \"right\", \"center-fluid\"]\n },\n {\n \"name\": \"size\",\n \"type\": \"TabSize\",\n \"enumValues\": [\"small\", \"medium\"]\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(selectedIndex: number) => void\"\n },\n {\n \"name\": \"moreMenuLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"preventNavigation\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"inverse\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Tag\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"color\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Textarea\",\n \"props\": [\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: string, event: React.ChangeEvent<HTMLTextAreaElement>) => void\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"React.FocusEventHandler<HTMLTextAreaElement>\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"React.FocusEventHandler<HTMLTextAreaElement>\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"React.KeyboardEventHandler<HTMLTextAreaElement>\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"string\"\n },\n {\n \"name\": \"focus\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"nativeProps\",\n \"type\": \"SafeTextAreaAttributes\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"Tooltip\",\n \"props\": [\n {\n \"name\": \"unwrapped\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"position\",\n \"type\": \"Position\",\n \"enumValues\": [\"top\", \"bottom\", \"left\", \"right\"]\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactElement\"\n },\n {\n \"name\": \"text\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"show\",\n \"type\": \"boolean | \\\"always\\\" | \\\"ellipsed\\\"\"\n },\n {\n \"name\": \"ellipsedElement\",\n \"type\": \"React.RefObject<HTMLElement>\"\n },\n {\n \"name\": \"enterDelay\",\n \"type\": \"number\"\n },\n {\n \"name\": \"suppress\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"TopTooltip\",\n \"props\": [\n {\n \"name\": \"unwrapped\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"position\",\n \"type\": \"Position\",\n \"enumValues\": [\"top\", \"bottom\", \"left\", \"right\"]\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactElement\"\n },\n {\n \"name\": \"text\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"show\",\n \"type\": \"boolean | \\\"always\\\" | \\\"ellipsed\\\"\"\n },\n {\n \"name\": \"ellipsedElement\",\n \"type\": \"React.RefObject<HTMLElement>\"\n },\n {\n \"name\": \"enterDelay\",\n \"type\": \"number\"\n },\n {\n \"name\": \"suppress\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"BottomTooltip\",\n \"props\": [\n {\n \"name\": \"unwrapped\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"position\",\n \"type\": \"Position\",\n \"enumValues\": [\"top\", \"bottom\", \"left\", \"right\"]\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactElement\"\n },\n {\n \"name\": \"text\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"show\",\n \"type\": \"boolean | \\\"always\\\" | \\\"ellipsed\\\"\"\n },\n {\n \"name\": \"ellipsedElement\",\n \"type\": \"React.RefObject<HTMLElement>\"\n },\n {\n \"name\": \"enterDelay\",\n \"type\": \"number\"\n },\n {\n \"name\": \"suppress\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"LeftTooltip\",\n \"props\": [\n {\n \"name\": \"unwrapped\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"position\",\n \"type\": \"Position\",\n \"enumValues\": [\"top\", \"bottom\", \"left\", \"right\"]\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactElement\"\n },\n {\n \"name\": \"text\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"show\",\n \"type\": \"boolean | \\\"always\\\" | \\\"ellipsed\\\"\"\n },\n {\n \"name\": \"ellipsedElement\",\n \"type\": \"React.RefObject<HTMLElement>\"\n },\n {\n \"name\": \"enterDelay\",\n \"type\": \"number\"\n },\n {\n \"name\": \"suppress\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"RightTooltip\",\n \"props\": [\n {\n \"name\": \"unwrapped\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"position\",\n \"type\": \"Position\",\n \"enumValues\": [\"top\", \"bottom\", \"left\", \"right\"]\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactElement\"\n },\n {\n \"name\": \"text\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"show\",\n \"type\": \"boolean | \\\"always\\\" | \\\"ellipsed\\\"\"\n },\n {\n \"name\": \"ellipsedElement\",\n \"type\": \"React.RefObject<HTMLElement>\"\n },\n {\n \"name\": \"enterDelay\",\n \"type\": \"number\"\n },\n {\n \"name\": \"suppress\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"EmptyState\",\n \"props\": [\n {\n \"name\": \"header\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"illustration\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"description\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"callToAction\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"EmptyStateError\",\n \"props\": [\n {\n \"name\": \"illustration\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"description\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"header\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"onRefresh\",\n \"type\": \"() => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"EmptyStateFilter\",\n \"props\": [\n {\n \"name\": \"illustration\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"onClearFilters\",\n \"type\": \"() => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Menu\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"filterMode\",\n \"type\": \"\\\"off\\\" | \\\"auto\\\" | \\\"external\\\"\",\n \"enumValues\": [\"off\", \"auto\", \"external\"]\n },\n {\n \"name\": \"onActivateItem\",\n \"type\": \"(item: { label: string; multiSelectable: boolean; }) => void\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"anchor\",\n \"type\": \"any\"\n },\n {\n \"name\": \"open\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: MenuCloseReason) => void\"\n },\n {\n \"name\": \"filterString\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onFilterStringChange\",\n \"type\": \"(newString: string) => void\"\n },\n {\n \"name\": \"alignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"error\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"filterPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"noMatchesFound\",\n \"type\": \"string\"\n },\n {\n \"name\": \"initialActiveIndex\",\n \"type\": \"number | \\\"first\\\" | \\\"last\\\" | \\\"first-selected\\\" | \\\"last-selected\\\"\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\"\n },\n {\n \"name\": \"role\",\n \"type\": \"any\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"SubMenu\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"avatar\",\n \"type\": \"any\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Modal\",\n \"props\": [\n {\n \"name\": \"size\",\n \"type\": \"string | number | ModalSizeConfiguration\"\n },\n {\n \"name\": \"headerText\",\n \"type\": \"string\"\n },\n {\n \"name\": \"headerIcon\",\n \"type\": \"any\"\n },\n {\n \"name\": \"children\",\n \"type\": \"any\"\n },\n {\n \"name\": \"disableConfirm\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"(event: any) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"any\"\n },\n {\n \"name\": \"aria-describedby\",\n \"type\": \"string\"\n },\n {\n \"name\": \"closeButtonLabel\",\n \"type\": \"string\",\n \"deprecated\": \"(A11y) label for the x-button, should be localized.\\nThis property is deprecated in favor of using an `IntlProvider`.\"\n },\n {\n \"name\": \"initialFocusId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"nextFocusId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"type\",\n \"type\": \"\\\"GENERIC\\\" | \\\"DESTRUCTIVE\\\" | \\\"PASSIVE\\\"\",\n \"enumValues\": [\"GENERIC\", \"DESTRUCTIVE\", \"PASSIVE\"]\n },\n {\n \"name\": \"confirmText\",\n \"type\": \"string\"\n },\n {\n \"name\": \"cancelText\",\n \"type\": \"string\"\n },\n {\n \"name\": \"extraFooterAction\",\n \"type\": \"any\"\n },\n {\n \"name\": \"Footer\",\n \"type\": \"() => React.JSX.Element\"\n },\n {\n \"name\": \"asForm\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"any\"\n },\n {\n \"name\": \"formProps\",\n \"type\": \"ModalFormProps\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ModalView\",\n \"props\": [\n {\n \"name\": \"size\",\n \"type\": \"string | number | ModalSizeConfiguration\"\n },\n {\n \"name\": \"headerText\",\n \"type\": \"string\"\n },\n {\n \"name\": \"headerIcon\",\n \"type\": \"any\"\n },\n {\n \"name\": \"children\",\n \"type\": \"any\"\n },\n {\n \"name\": \"disableConfirm\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"(event: any) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"any\"\n },\n {\n \"name\": \"aria-describedby\",\n \"type\": \"string\"\n },\n {\n \"name\": \"closeButtonLabel\",\n \"type\": \"string\",\n \"deprecated\": \"(A11y) label for the x-button, should be localized.\\nThis property is deprecated in favor of using an `IntlProvider`.\"\n },\n {\n \"name\": \"initialFocusId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"nextFocusId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"type\",\n \"type\": \"\\\"GENERIC\\\" | \\\"DESTRUCTIVE\\\" | \\\"PASSIVE\\\"\",\n \"enumValues\": [\"GENERIC\", \"DESTRUCTIVE\", \"PASSIVE\"]\n },\n {\n \"name\": \"confirmText\",\n \"type\": \"string\"\n },\n {\n \"name\": \"cancelText\",\n \"type\": \"string\"\n },\n {\n \"name\": \"extraFooterAction\",\n \"type\": \"any\"\n },\n {\n \"name\": \"Footer\",\n \"type\": \"() => React.JSX.Element\"\n },\n {\n \"name\": \"asForm\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"any\"\n },\n {\n \"name\": \"formProps\",\n \"type\": \"ModalFormProps\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ModalAnvi\",\n \"props\": [\n {\n \"name\": \"auraState\",\n \"type\": \"\\\"idle\\\" | \\\"active\\\"\",\n \"enumValues\": [\"idle\", \"active\"]\n },\n {\n \"name\": \"children\",\n \"type\": \"any\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"aria-describedby\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onKeyDown\",\n \"type\": \"any\"\n },\n {\n \"name\": \"size\",\n \"type\": \"string | number | ModalSizeConfiguration\"\n },\n {\n \"name\": \"asForm\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onConfirm\",\n \"type\": \"any\"\n },\n {\n \"name\": \"formProps\",\n \"type\": \"ModalFormProps\"\n },\n {\n \"name\": \"nextFocusId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"headerText\",\n \"type\": \"string\"\n },\n {\n \"name\": \"headerIcon\",\n \"type\": \"any\"\n },\n {\n \"name\": \"disableConfirm\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"(event: any) => void\"\n },\n {\n \"name\": \"closeButtonLabel\",\n \"type\": \"string\",\n \"deprecated\": \"(A11y) label for the x-button, should be localized.\\nThis property is deprecated in favor of using an `IntlProvider`.\"\n },\n {\n \"name\": \"initialFocusId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"confirmText\",\n \"type\": \"string\"\n },\n {\n \"name\": \"cancelText\",\n \"type\": \"string\"\n },\n {\n \"name\": \"extraFooterAction\",\n \"type\": \"any\"\n },\n {\n \"name\": \"Footer\",\n \"type\": \"() => React.JSX.Element\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"MODAL_LARGE\",\n \"props\": [],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"MODAL_MEDIUM\",\n \"props\": [],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"MODAL_SMALL\",\n \"props\": [],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ListGroup\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ListSectionExpandable\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(nextState: boolean) => void\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ListGroupAnvi\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"List\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"role\",\n \"type\": \"\\\"listbox\\\" | \\\"menu\\\"\",\n \"enumValues\": [\"listbox\", \"menu\"]\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"error\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ListContainer\",\n \"props\": [],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ListItem\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"labelRight\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"custom\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"iconRight\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"avatar\",\n \"type\": \"any\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"indeterminate\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"focused\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"role\",\n \"type\": \"\\\"menuitem\\\" | \\\"menuitemcheckbox\\\" | \\\"menuitemradio\\\" | \\\"option\\\"\",\n \"enumValues\": [\"menuitem\", \"menuitemcheckbox\", \"menuitemradio\", \"option\"]\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"onActivate\",\n \"type\": \"(ev?: any) => void\"\n },\n {\n \"name\": \"highlight\",\n \"type\": \"string\"\n },\n {\n \"name\": \"forceHover\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"hidden\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"nextFocus\",\n \"type\": \"\\\"none\\\" | \\\"auto\\\"\",\n \"enumValues\": [\"none\", \"auto\"]\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ListItemInfo\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"focused\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ListItemLoading\",\n \"props\": [],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ListItemDivider\",\n \"props\": [],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ListItemError\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ListItemEmpty\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"textOnly\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ListItemAnvi\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"labelRight\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"custom\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"iconRight\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"avatar\",\n \"type\": \"any\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"selected\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"indeterminate\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"focused\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"role\",\n \"type\": \"\\\"menuitem\\\" | \\\"menuitemcheckbox\\\" | \\\"menuitemradio\\\" | \\\"option\\\"\",\n \"enumValues\": [\"menuitem\", \"menuitemcheckbox\", \"menuitemradio\", \"option\"]\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"onActivate\",\n \"type\": \"(ev?: any) => void\"\n },\n {\n \"name\": \"highlight\",\n \"type\": \"string\"\n },\n {\n \"name\": \"forceHover\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"hidden\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"nextFocus\",\n \"type\": \"\\\"none\\\" | \\\"auto\\\"\",\n \"enumValues\": [\"none\", \"auto\"]\n },\n {\n \"name\": \"href\",\n \"type\": \"string | (Pick<React.AllHTMLAttributes<HTMLAnchorElement>, \\\"download\\\" | \\\"target\\\" | \\\"rel\\\"> & { url: string; preventNavigation?: boolean; })\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"DropdownMenu\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"role\",\n \"type\": \"any\"\n },\n {\n \"name\": \"width\",\n \"type\": \"number\"\n },\n {\n \"name\": \"error\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"filterMode\",\n \"type\": \"\\\"off\\\" | \\\"auto\\\" | \\\"external\\\"\",\n \"enumValues\": [\"off\", \"auto\", \"external\"]\n },\n {\n \"name\": \"onActivateItem\",\n \"type\": \"(item: { label: string; multiSelectable: boolean; }) => void\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"filterString\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onFilterStringChange\",\n \"type\": \"(newString: string) => void\"\n },\n {\n \"name\": \"alignRight\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"filterPlaceholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"noMatchesFound\",\n \"type\": \"string\"\n },\n {\n \"name\": \"initialActiveIndex\",\n \"type\": \"number | \\\"first\\\" | \\\"last\\\" | \\\"first-selected\\\" | \\\"last-selected\\\"\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"trigger\",\n \"type\": \"TriggerConfig | ((dropdownTriggerProps: DropdownTriggerProps) => Element)\"\n },\n {\n \"name\": \"active\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: DropdownMenuCloseReason) => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Combobox\",\n \"props\": [\n {\n \"name\": \"value\",\n \"type\": \"ComboboxOption | ComboboxOption[] | ComboboxOption[][]\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"ComboboxOption | ComboboxOption[]\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"((nextState: ComboboxOption) => void) | ((nextState: ComboboxOption[]) => void)\"\n },\n {\n \"name\": \"delimiter\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onBulkPaste\",\n \"type\": \"(values: string[]) => void\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"options\",\n \"type\": \"(ComboboxOption | ComboboxGroup)[] | ComboboxSearchResults\"\n },\n {\n \"name\": \"creatable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onCreate\",\n \"type\": \"(label: string) => void\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"required\",\n \"type\": \"boolean\",\n \"deprecated\": \"Use clearable instead and set aria-required on inputProps if needed\\n\\nIf value is required\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onSelect\",\n \"type\": \"(option: ComboboxOption) => void\"\n },\n {\n \"name\": \"onRemove\",\n \"type\": \"(option: ComboboxOption) => void\"\n },\n {\n \"name\": \"onInputChange\",\n \"type\": \"(str: string) => void\"\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<HTMLAttributes<HTMLInputElement>, \\\"role\\\" | \\\"aria-activedescendant\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"placeholder\\\" | \\\"value\\\">\"\n },\n {\n \"name\": \"inputMode\",\n \"type\": \"\\\"search\\\" | \\\"filter\\\"\",\n \"enumValues\": [\"search\", \"filter\"]\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: ComboboxCloseReason) => void\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"defaultOpen\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"listboxMinWidth\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"DragIndicator\",\n \"props\": [\n {\n \"name\": \"horizontal\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"SkeletonBase\",\n \"props\": [\n {\n \"name\": \"as\",\n \"type\": \"any\"\n },\n {\n \"name\": \"forwardedAs\",\n \"type\": \"any\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"SkeletonLoader\",\n \"props\": [\n {\n \"name\": \"alignment\",\n \"type\": \"\\\"left\\\" | \\\"right\\\"\",\n \"enumValues\": [\"left\", \"right\"]\n },\n {\n \"name\": \"hasImage\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"varied\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ContentLayout\",\n \"props\": [\n {\n \"name\": \"left\",\n \"type\": \"boolean | LayoutPanelConfig\"\n },\n {\n \"name\": \"right\",\n \"type\": \"boolean | LayoutPanelConfig\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"SplitLayout\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"SplitLayoutValue\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"SplitLayoutValue\"\n },\n {\n \"name\": \"min\",\n \"type\": \"number\"\n },\n {\n \"name\": \"max\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(split: { split: number; splitPercentage: number; showOnly: SplitLayoutShowOnly; available: number; }) => void\"\n },\n {\n \"name\": \"onDrop\",\n \"type\": \"(final: { split: number; splitPercentage: number; showOnly: SplitLayoutShowOnly; available: number; }, initial: { split: number; splitPercentage: number; showOnly: SplitLayoutShowOnly; available: number; }) => void\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"orientation\",\n \"type\": \"SplitLayoutOrientation\",\n \"enumValues\": [\"vertical\", \"horizontal\"]\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"ApplicationLayout\",\n \"props\": [\n {\n \"name\": \"fullscreen\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"right\",\n \"type\": \"boolean | \\\"anvi\\\" | \\\"copilot\\\" | ApplicationPanelConfig\"\n },\n {\n \"name\": \"anvi\",\n \"type\": \"boolean | ApplicationAnviConfig\"\n },\n {\n \"name\": \"onAnviDetachedChange\",\n \"type\": \"(detached: boolean) => void\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ColorPicker\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"trigger\",\n \"type\": \"(props: ColorPickerTriggerProps) => Element\"\n },\n {\n \"name\": \"content\",\n \"type\": \"\\\"custom\\\" | \\\"palette-custom\\\" | \\\"palette\\\"\",\n \"enumValues\": [\"custom\", \"palette-custom\", \"palette\"]\n },\n {\n \"name\": \"palette\",\n \"type\": \"PaletteCategory[]\"\n },\n {\n \"name\": \"open\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: CloseReason) => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"nextFocus\",\n \"type\": \"\\\"none\\\" | \\\"auto\\\"\",\n \"enumValues\": [\"none\", \"auto\"]\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"((value: string) => void) | ((value: string) => void)\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Portal\",\n \"props\": [\n {\n \"name\": \"type\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"delayUntilAppended\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Slider\",\n \"props\": [\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"aria-label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"aria-labelledby\",\n \"type\": \"string\"\n },\n {\n \"name\": \"labelPosition\",\n \"type\": \"\\\"top\\\" | \\\"left\\\"\",\n \"enumValues\": [\"top\", \"left\"]\n },\n {\n \"name\": \"showButtons\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"decrementIcon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"decrementLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"incrementIcon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"incrementLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"value\",\n \"type\": \"number\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"number\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"(value: number) => void\"\n },\n {\n \"name\": \"min\",\n \"type\": \"number\"\n },\n {\n \"name\": \"max\",\n \"type\": \"number\"\n },\n {\n \"name\": \"step\",\n \"type\": \"number\"\n },\n {\n \"name\": \"valueFormatter\",\n \"type\": \"(value: number) => string\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"MessageCenterView\",\n \"props\": [\n {\n \"name\": \"type\",\n \"type\": \"\\\"error\\\" | \\\"info\\\" | \\\"success\\\"\",\n \"enumValues\": [\"error\", \"info\", \"success\"]\n },\n {\n \"name\": \"message\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"actionLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"actionHref\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"onAction\",\n \"type\": \"(e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"() => void\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"MessageCenter\",\n \"props\": [\n {\n \"name\": \"fixed\",\n \"type\": \"boolean\",\n \"deprecated\": \": this prop is no longer needed and will be removed in a future release.\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Tree\",\n \"props\": [\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"defaultExpanded\",\n \"type\": \"(string | number)[] | Set<string | number>\"\n },\n {\n \"name\": \"expanded\",\n \"type\": \"Set<string | number>\"\n },\n {\n \"name\": \"onExpandedChange\",\n \"type\": \"(expanded: Set<string | number>) => void\"\n },\n {\n \"name\": \"selection\",\n \"type\": \"Set<string | number>\"\n },\n {\n \"name\": \"onSelectionChange\",\n \"type\": \"(selected: Set<string | number>) => void\"\n },\n {\n \"name\": \"selectionMode\",\n \"type\": \"\\\"none\\\" | \\\"single\\\" | \\\"single-group\\\" | \\\"multi\\\" | \\\"multi-group\\\"\",\n \"enumValues\": [\"none\", \"single\", \"single-group\", \"multi\", \"multi-group\"]\n },\n {\n \"name\": \"filterString\",\n \"type\": \"string\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"TreeItem\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subLabel\",\n \"type\": \"string\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"custom\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"iconRight\",\n \"type\": \"React.ReactElement<IconProps>\"\n },\n {\n \"name\": \"labelRight\",\n \"type\": \"string\"\n },\n {\n \"name\": \"avatar\",\n \"type\": \"any\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"onActivate\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string | number\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"isParent\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"flat\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"TreeItemLoading\",\n \"props\": [],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"TreeItemError\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"TreeItemEmpty\",\n \"props\": [\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"textOnly\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": true\n },\n {\n \"name\": \"ComboboxTree\",\n \"props\": [\n {\n \"name\": \"value\",\n \"type\": \"ComboboxTreeOption | ComboboxTreeOption[] | ComboboxTreeOption[][]\"\n },\n {\n \"name\": \"defaultValue\",\n \"type\": \"ComboboxTreeOption | ComboboxTreeOption[]\"\n },\n {\n \"name\": \"onChange\",\n \"type\": \"((value: ComboboxTreeOption[]) => void) | ((value: ComboboxTreeOption) => void)\"\n },\n {\n \"name\": \"multiSelectable\",\n \"type\": \"true\"\n },\n {\n \"name\": \"clearable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"delimiter\",\n \"type\": \"string\"\n },\n {\n \"name\": \"onBulkPaste\",\n \"type\": \"(values: string[]) => void\"\n },\n {\n \"name\": \"options\",\n \"type\": \"ComboboxTreeOption[]\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"placeholder\",\n \"type\": \"string\"\n },\n {\n \"name\": \"creatable\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onCreate\",\n \"type\": \"(value: string) => void\"\n },\n {\n \"name\": \"onSelect\",\n \"type\": \"(option: ComboboxTreeOption) => void\"\n },\n {\n \"name\": \"onRemove\",\n \"type\": \"(option: ComboboxTreeOption) => void\"\n },\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"error\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"warning\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"defaultExpanded\",\n \"type\": \"(string | number)[] | Set<string | number>\"\n },\n {\n \"name\": \"defaultOpen\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onOpen\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onClose\",\n \"type\": \"(reason: ComboboxTreeCloseReason) => void\"\n },\n {\n \"name\": \"onFocus\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onBlur\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"selectionMode\",\n \"type\": \"\\\"group\\\" | \\\"tree\\\"\",\n \"enumValues\": [\"group\", \"tree\"]\n },\n {\n \"name\": \"inputProps\",\n \"type\": \"Omit<HTMLAttributes<HTMLInputElement>, \\\"role\\\" | \\\"aria-controls\\\" | \\\"aria-disabled\\\" | \\\"aria-expanded\\\" | \\\"aria-invalid\\\" | \\\"placeholder\\\" | \\\"disabled\\\" | \\\"value\\\">\"\n },\n {\n \"name\": \"icon\",\n \"type\": \"ReactElement<IconProps, string | JSXElementConstructor<any>>\"\n },\n {\n \"name\": \"virtualized\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"className\",\n \"type\": \"string\"\n },\n {\n \"name\": \"listboxMinWidth\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": false\n }\n ],\n \"@planview/pv-utilities\": [\n {\n \"name\": \"ThemeProvider\",\n \"props\": [\n {\n \"name\": \"mode\",\n \"type\": \"\\\"auto\\\" | \\\"dark\\\" | \\\"light\\\" | \\\"passive\\\"\",\n \"enumValues\": [\"auto\", \"dark\", \"light\", \"passive\"]\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"useIsFocusVisible\",\n \"props\": [\n {\n \"name\": \"disabled\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"TestingProvider\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"clientHeight\",\n \"type\": \"number\"\n },\n {\n \"name\": \"clientWidth\",\n \"type\": \"number\"\n }\n ],\n \"extendsStandardAttrs\": false\n }\n ],\n \"@planview/pv-widget\": [\n {\n \"name\": \"Widget\",\n \"props\": [\n {\n \"name\": \"header\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subHeader\",\n \"type\": \"string\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"footer\",\n \"type\": \"{ label: string; href?: string | AnchorTagConfig; }\"\n },\n {\n \"name\": \"actionItems\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"preventDisableInteraction\",\n \"type\": \"boolean\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"Tile\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"onClick\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"href\",\n \"type\": \"string | AnchorTagConfig\"\n },\n {\n \"name\": \"editingMenuItems\",\n \"type\": \"React.ReactNode\"\n },\n {\n \"name\": \"preventDisableInteraction\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"WidgetSandbox\",\n \"props\": [\n {\n \"name\": \"editing\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"children\",\n \"type\": \"React.JSX.Element\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"WidgetLayout\",\n \"props\": [\n {\n \"name\": \"widgets\",\n \"type\": \"WidgetConfig[] | Set<WidgetConfig>\"\n },\n {\n \"name\": \"layout\",\n \"type\": \"Layout\"\n },\n {\n \"name\": \"onLayoutChange\",\n \"type\": \"(l: Layout) => void\"\n },\n {\n \"name\": \"saveEnabled\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onSave\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"onCancel\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"editing\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onStartEditing\",\n \"type\": \"() => void\"\n },\n {\n \"name\": \"readOnly\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"emptyContent\",\n \"type\": \"React.ReactNode\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"WidgetList\",\n \"props\": [\n {\n \"name\": \"items\",\n \"type\": \"T[]\"\n },\n {\n \"name\": \"filteredIds\",\n \"type\": \"T[\\\"id\\\"][]\"\n },\n {\n \"name\": \"selection\",\n \"type\": \"Set<T[\\\"id\\\"]>\"\n },\n {\n \"name\": \"selectionMode\",\n \"type\": \"\\\"none\\\" | \\\"single\\\" | \\\"multi\\\"\",\n \"enumValues\": [\"none\", \"single\", \"multi\"]\n },\n {\n \"name\": \"onSelectionChange\",\n \"type\": \"(selection: Set<T[\\\"id\\\"]>) => void\"\n },\n {\n \"name\": \"preventNavigation\",\n \"type\": \"boolean\"\n },\n {\n \"name\": \"onActivate\",\n \"type\": \"(w: WidgetListItem) => void\"\n },\n {\n \"name\": \"loading\",\n \"type\": \"number | boolean\"\n },\n {\n \"name\": \"transitionOnRemoval\",\n \"type\": \"number | boolean\"\n },\n {\n \"name\": \"id\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n },\n {\n \"name\": \"WidgetListItemPrimaryText\",\n \"props\": [\n {\n \"name\": \"children\",\n \"type\": \"string\"\n }\n ],\n \"extendsStandardAttrs\": false\n }\n ]\n },\n \"tokens\": {\n \"colors\": {\n \"#2222220d\": {\n \"static\": \"color.backgroundTranslucentPressed\",\n \"theme\": \"theme.backgroundTranslucentPressed\"\n },\n \"#1b6bdd1a\": {\n \"static\": \"color.backgroundTranslucentActive\",\n \"theme\": \"theme.backgroundTranslucentActive\"\n },\n \"#1b6bdd33\": {\n \"static\": \"color.backgroundTranslucentActiveHover\",\n \"theme\": \"theme.backgroundTranslucentActiveHover\"\n },\n \"#ffffff0d\": {\n \"static\": \"color.backgroundTranslucentInversePressed\",\n \"theme\": \"theme.backgroundTranslucentInversePressed\"\n },\n \"#00000033\": {\n \"static\": \"color.shadow\",\n \"theme\": \"theme.shadow\"\n },\n \"#f1f2f3\": {\n \"static\": \"color.secondary0\",\n \"theme\": \"theme.secondary0\"\n },\n \"#e2e4e8\": {\n \"static\": \"color.secondary50\",\n \"theme\": \"theme.secondary50\"\n },\n \"#c7ccd6\": {\n \"static\": \"color.secondary100\",\n \"theme\": \"theme.secondary100\"\n },\n \"#9ea8bd\": {\n \"static\": \"color.secondary200\",\n \"theme\": \"theme.secondary200\"\n },\n \"#7e8caa\": {\n \"static\": \"color.secondary300\",\n \"theme\": \"theme.secondary300\"\n },\n \"#5f6f91\": {\n \"static\": \"color.secondary400\",\n \"theme\": \"theme.secondary400\"\n },\n \"#495674\": {\n \"static\": \"color.secondary500\",\n \"theme\": \"theme.secondary500\"\n },\n \"#353f55\": {\n \"static\": \"color.secondary600\",\n \"theme\": \"theme.secondary600\"\n },\n \"#1f2532\": {\n \"static\": \"color.componentSpecificTopBarBackground\",\n \"theme\": \"theme.componentSpecificTopBarBackground\"\n },\n \"#13171f\": {\n \"static\": \"color.secondary900\",\n \"theme\": \"theme.secondary900\"\n },\n \"#f9f5fa\": {\n \"static\": \"color.purple0\",\n \"theme\": \"theme.purple0\"\n },\n \"#f0e5f1\": {\n \"static\": \"color.purple50\",\n \"theme\": \"theme.purple50\"\n },\n \"#ebcbec\": {\n \"static\": \"color.purple100\",\n \"theme\": \"theme.purple100\"\n },\n \"#dda9e0\": {\n \"static\": \"color.purple200\",\n \"theme\": \"theme.purple200\"\n },\n \"#c879cd\": {\n \"static\": \"color.purple300\",\n \"theme\": \"theme.purple300\"\n },\n \"#a254a6\": {\n \"static\": \"color.purple400\",\n \"theme\": \"theme.purple400\"\n },\n \"#873a8b\": {\n \"static\": \"color.purple500\",\n \"theme\": \"theme.purple500\"\n },\n \"#6b256f\": {\n \"static\": \"color.purple600\",\n \"theme\": \"theme.purple600\"\n },\n \"#531056\": {\n \"static\": \"color.purple700\",\n \"theme\": \"theme.purple700\"\n },\n \"#3e0c41\": {\n \"static\": \"color.purple800\",\n \"theme\": \"theme.purple800\"\n },\n \"#f4f8fd\": {\n \"static\": \"color.info0\",\n \"theme\": \"theme.info0\"\n },\n \"#e8f0fc\": {\n \"static\": \"color.componentSpecificMentionBackground\",\n \"theme\": \"theme.componentSpecificMentionBackground\"\n },\n \"#d1e1f8\": {\n \"static\": \"color.primary150\",\n \"theme\": \"theme.primary150\"\n },\n \"#a4c4f1\": {\n \"static\": \"color.primary200\",\n \"theme\": \"theme.primary200\"\n },\n \"#76a6eb\": {\n \"static\": \"color.primary300\",\n \"theme\": \"theme.primary300\"\n },\n \"#4989e4\": {\n \"static\": \"color.componentSpecificAnviAuraGlowInverseStart\",\n \"theme\": \"theme.componentSpecificAnviAuraGlowInverseStart\"\n },\n \"#1b6bdd\": {\n \"static\": \"color.textInfo\",\n \"theme\": \"theme.textInfo\"\n },\n \"#1656b1\": {\n \"static\": \"color.linkNormal\",\n \"theme\": \"theme.linkNormal\"\n },\n \"#104085\": {\n \"static\": \"color.linkHover\",\n \"theme\": \"theme.linkHover\"\n },\n \"#0b2b58\": {\n \"static\": \"color.primary900\",\n \"theme\": \"theme.primary900\"\n },\n \"#f1f9f9\": {\n \"static\": \"color.teal0\",\n \"theme\": \"theme.teal0\"\n },\n \"#e2f3f3\": {\n \"static\": \"color.riskNone50\",\n \"theme\": \"theme.riskNone50\"\n },\n \"#c5e6e7\": {\n \"static\": \"color.riskNone100\",\n \"theme\": \"theme.riskNone100\"\n },\n \"#9ed5d7\": {\n \"static\": \"color.riskNone200\",\n \"theme\": \"theme.riskNone200\"\n },\n \"#75c1c2\": {\n \"static\": \"color.riskNone300\",\n \"theme\": \"theme.riskNone300\"\n },\n \"#4a9fa1\": {\n \"static\": \"color.teal400\",\n \"theme\": \"theme.teal400\"\n },\n \"#3c7f80\": {\n \"static\": \"color.teal500\",\n \"theme\": \"theme.teal500\"\n },\n \"#1e6566\": {\n \"static\": \"color.teal600\",\n \"theme\": \"theme.teal600\"\n },\n \"#114f50\": {\n \"static\": \"color.teal700\",\n \"theme\": \"theme.teal700\"\n },\n \"#0d3a3b\": {\n \"static\": \"color.teal800\",\n \"theme\": \"theme.teal800\"\n },\n \"#f4faf6\": {\n \"static\": \"color.success0\",\n \"theme\": \"theme.success0\"\n },\n \"#e9f6ec\": {\n \"static\": \"color.success50\",\n \"theme\": \"theme.success50\"\n },\n \"#c6eccf\": {\n \"static\": \"color.workDone100\",\n \"theme\": \"theme.workDone100\"\n },\n \"#8ed79f\": {\n \"static\": \"color.green200\",\n \"theme\": \"theme.green200\"\n },\n \"#5bbe72\": {\n \"static\": \"color.green300\",\n \"theme\": \"theme.green300\"\n },\n \"#27a444\": {\n \"static\": \"color.success400\",\n \"theme\": \"theme.success400\"\n },\n \"#008622\": {\n \"static\": \"color.textSuccess\",\n \"theme\": \"theme.textSuccess\"\n },\n \"#00741d\": {\n \"static\": \"color.success600\",\n \"theme\": \"theme.success600\"\n },\n \"#005c17\": {\n \"static\": \"color.green700\",\n \"theme\": \"theme.green700\"\n },\n \"#004712\": {\n \"static\": \"color.green800\",\n \"theme\": \"theme.green800\"\n },\n \"#fffcf0\": {\n \"static\": \"color.yellow0\",\n \"theme\": \"theme.yellow0\"\n },\n \"#fff8e0\": {\n \"static\": \"color.componentSpecificMentionBackgroundCurrent\",\n \"theme\": \"theme.componentSpecificMentionBackgroundCurrent\"\n },\n \"#fff2c2\": {\n \"static\": \"color.riskLow100\",\n \"theme\": \"theme.riskLow100\"\n },\n \"#ffe894\": {\n \"static\": \"color.riskLow200\",\n \"theme\": \"theme.riskLow200\"\n },\n \"#ffd747\": {\n \"static\": \"color.riskLow300\",\n \"theme\": \"theme.riskLow300\"\n },\n \"#f1c00e\": {\n \"static\": \"color.riskLow400\",\n \"theme\": \"theme.riskLow400\"\n },\n \"#cca000\": {\n \"static\": \"color.yellow500\",\n \"theme\": \"theme.yellow500\"\n },\n \"#997800\": {\n \"static\": \"color.yellow600\",\n \"theme\": \"theme.yellow600\"\n },\n \"#755c00\": {\n \"static\": \"color.yellow700\",\n \"theme\": \"theme.yellow700\"\n },\n \"#574400\": {\n \"static\": \"color.yellow800\",\n \"theme\": \"theme.yellow800\"\n },\n \"#fdf8f2\": {\n \"static\": \"color.warning0\",\n \"theme\": \"theme.warning0\"\n },\n \"#fdecda\": {\n \"static\": \"color.warning50\",\n \"theme\": \"theme.warning50\"\n },\n \"#ffdcb9\": {\n \"static\": \"color.riskMedium100\",\n \"theme\": \"theme.riskMedium100\"\n },\n \"#fcbe79\": {\n \"static\": \"color.riskMedium200\",\n \"theme\": \"theme.riskMedium200\"\n },\n \"#f59b38\": {\n \"static\": \"color.riskMedium300\",\n \"theme\": \"theme.riskMedium300\"\n },\n \"#e97407\": {\n \"static\": \"color.riskMedium400\",\n \"theme\": \"theme.riskMedium400\"\n },\n \"#c25700\": {\n \"static\": \"color.textWarning\",\n \"theme\": \"theme.textWarning\"\n },\n \"#a84c00\": {\n \"static\": \"color.borderFocusWarning\",\n \"theme\": \"theme.borderFocusWarning\"\n },\n \"#803a00\": {\n \"static\": \"color.orange700\",\n \"theme\": \"theme.orange700\"\n },\n \"#612c00\": {\n \"static\": \"color.orange800\",\n \"theme\": \"theme.orange800\"\n },\n \"#fef4f1\": {\n \"static\": \"color.bloodOrange0\",\n \"theme\": \"theme.bloodOrange0\"\n },\n \"#fee5dc\": {\n \"static\": \"color.bloodOrange50\",\n \"theme\": \"theme.bloodOrange50\"\n },\n \"#fdcfbf\": {\n \"static\": \"color.riskMediumHigh100\",\n \"theme\": \"theme.riskMediumHigh100\"\n },\n \"#fcab8d\": {\n \"static\": \"color.riskMediumHigh200\",\n \"theme\": \"theme.riskMediumHigh200\"\n },\n \"#fa8053\": {\n \"static\": \"color.bloodOrange300\",\n \"theme\": \"theme.bloodOrange300\"\n },\n \"#e75a27\": {\n \"static\": \"color.riskMediumHigh400\",\n \"theme\": \"theme.riskMediumHigh400\"\n },\n \"#c54111\": {\n \"static\": \"color.riskMediumHigh500\",\n \"theme\": \"theme.riskMediumHigh500\"\n },\n \"#a82d00\": {\n \"static\": \"color.bloodOrange600\",\n \"theme\": \"theme.bloodOrange600\"\n },\n \"#852300\": {\n \"static\": \"color.bloodOrange700\",\n \"theme\": \"theme.bloodOrange700\"\n },\n \"#661b00\": {\n \"static\": \"color.bloodOrange800\",\n \"theme\": \"theme.bloodOrange800\"\n },\n \"#fcf3f2\": {\n \"static\": \"color.error0\",\n \"theme\": \"theme.error0\"\n },\n \"#fce8e8\": {\n \"static\": \"color.error50\",\n \"theme\": \"theme.error50\"\n },\n \"#fccfcf\": {\n \"static\": \"color.riskHigh100\",\n \"theme\": \"theme.riskHigh100\"\n },\n \"#faa3a3\": {\n \"static\": \"color.riskHigh200\",\n \"theme\": \"theme.riskHigh200\"\n },\n \"#f86363\": {\n \"static\": \"color.red300\",\n \"theme\": \"theme.red300\"\n },\n \"#f33535\": {\n \"static\": \"color.error400\",\n \"theme\": \"theme.error400\"\n },\n \"#d41616\": {\n \"static\": \"color.textAlert\",\n \"theme\": \"theme.textAlert\"\n },\n \"#b30000\": {\n \"static\": \"color.borderFocusError\",\n \"theme\": \"theme.borderFocusError\"\n },\n \"#850000\": {\n \"static\": \"color.red700\",\n \"theme\": \"theme.red700\"\n },\n \"#660000\": {\n \"static\": \"color.red800\",\n \"theme\": \"theme.red800\"\n },\n \"#fef5f7\": {\n \"static\": \"color.pink0\",\n \"theme\": \"theme.pink0\"\n },\n \"#ffe5eb\": {\n \"static\": \"color.pink50\",\n \"theme\": \"theme.pink50\"\n },\n \"#ffccd8\": {\n \"static\": \"color.pink100\",\n \"theme\": \"theme.pink100\"\n },\n \"#ffb2c4\": {\n \"static\": \"color.pink200\",\n \"theme\": \"theme.pink200\"\n },\n \"#f98ba4\": {\n \"static\": \"color.pink300\",\n \"theme\": \"theme.pink300\"\n },\n \"#ed5e80\": {\n \"static\": \"color.componentSpecificAnviAuraGlowInverseEnd\",\n \"theme\": \"theme.componentSpecificAnviAuraGlowInverseEnd\"\n },\n \"#d13d60\": {\n \"static\": \"color.pink500\",\n \"theme\": \"theme.pink500\"\n },\n \"#a92846\": {\n \"static\": \"color.pink600\",\n \"theme\": \"theme.pink600\"\n },\n \"#88112d\": {\n \"static\": \"color.pink700\",\n \"theme\": \"theme.pink700\"\n },\n \"#5f0c1f\": {\n \"static\": \"color.pink800\",\n \"theme\": \"theme.pink800\"\n },\n \"#fbf7f4\": {\n \"static\": \"color.brown0\",\n \"theme\": \"theme.brown0\"\n },\n \"#f6ede4\": {\n \"static\": \"color.brown50\",\n \"theme\": \"theme.brown50\"\n },\n \"#e7d6c5\": {\n \"static\": \"color.brown100\",\n \"theme\": \"theme.brown100\"\n },\n \"#d1b499\": {\n \"static\": \"color.brown200\",\n \"theme\": \"theme.brown200\"\n },\n \"#b8906b\": {\n \"static\": \"color.brown300\",\n \"theme\": \"theme.brown300\"\n },\n \"#98724d\": {\n \"static\": \"color.brown400\",\n \"theme\": \"theme.brown400\"\n },\n \"#785330\": {\n \"static\": \"color.brown500\",\n \"theme\": \"theme.brown500\"\n },\n \"#5f3c1c\": {\n \"static\": \"color.brown600\",\n \"theme\": \"theme.brown600\"\n },\n \"#4c2d10\": {\n \"static\": \"color.brown700\",\n \"theme\": \"theme.brown700\"\n },\n \"#37200c\": {\n \"static\": \"color.brown800\",\n \"theme\": \"theme.brown800\"\n },\n \"#ffffff\": {\n \"static\": \"color.textInverse\",\n \"theme\": \"theme.textInverse\"\n },\n \"#f5f5f5\": {\n \"static\": \"color.backgroundNeutral50\",\n \"theme\": \"theme.backgroundNeutral50\"\n },\n \"#eeeeee\": {\n \"static\": \"color.workNew100\",\n \"theme\": \"theme.workNew100\"\n },\n \"#dddddd\": {\n \"static\": \"color.borderLight\",\n \"theme\": \"theme.borderLight\"\n },\n \"#cccccc\": {\n \"static\": \"color.gray300\",\n \"theme\": \"theme.gray300\"\n },\n \"#949494\": {\n \"static\": \"color.workNew400\",\n \"theme\": \"theme.workNew400\"\n },\n \"#707070\": {\n \"static\": \"color.workCanceled500\",\n \"theme\": \"theme.workCanceled500\"\n },\n \"#555555\": {\n \"static\": \"color.gray600\",\n \"theme\": \"theme.gray600\"\n },\n \"#444444\": {\n \"static\": \"color.gray700\",\n \"theme\": \"theme.gray700\"\n },\n \"#333333\": {\n \"static\": \"color.gray800\",\n \"theme\": \"theme.gray800\"\n },\n \"#222222\": {\n \"static\": \"color.workCanceled900\",\n \"theme\": \"theme.workCanceled900\"\n },\n \"#222222a3\": {\n \"static\": \"color.textPlaceholder\",\n \"theme\": \"theme.textPlaceholder\"\n },\n \"#ffffff1a\": {\n \"static\": \"color.componentSpecificTopBarSearchBackground\",\n \"theme\": \"theme.componentSpecificTopBarSearchBackground\"\n },\n \"#ffffffa3\": {\n \"static\": \"color.componentSpecificTopBarSearchPlaceholder\",\n \"theme\": \"theme.componentSpecificTopBarSearchPlaceholder\"\n },\n \"#1f253280\": {\n \"static\": \"color.componentSpecificOverlay\",\n \"theme\": \"theme.componentSpecificOverlay\"\n },\n \"#1f2532ed\": {\n \"static\": \"color.componentSpecificOverlayAlt\",\n \"theme\": \"theme.componentSpecificOverlayAlt\"\n }\n },\n \"spacing\": {\n \"5\": {\n \"num\": \"spacing.xsmall\",\n \"px\": \"spacingPx.xsmall\"\n },\n \"10\": {\n \"num\": \"spacing.small\",\n \"px\": \"spacingPx.small\"\n },\n \"20\": {\n \"num\": \"spacing.medium\",\n \"px\": \"spacingPx.medium\"\n },\n \"36\": {\n \"num\": \"spacing.large\",\n \"px\": \"spacingPx.large\"\n },\n \"46\": {\n \"num\": \"spacing.xlarge\",\n \"px\": \"spacingPx.xlarge\"\n },\n \"5px\": {\n \"num\": \"spacing.xsmall\",\n \"px\": \"spacingPx.xsmall\"\n },\n \"10px\": {\n \"num\": \"spacing.small\",\n \"px\": \"spacingPx.small\"\n },\n \"20px\": {\n \"num\": \"spacing.medium\",\n \"px\": \"spacingPx.medium\"\n },\n \"36px\": {\n \"num\": \"spacing.large\",\n \"px\": \"spacingPx.large\"\n },\n \"46px\": {\n \"num\": \"spacing.xlarge\",\n \"px\": \"spacingPx.xlarge\"\n }\n }\n }\n}\n","{\n \"schemaVersion\": 1,\n \"colorProperties\": [\n \"color\",\n \"background\",\n \"background-color\",\n \"background-image\",\n \"border\",\n \"border-color\",\n \"border-top\",\n \"border-right\",\n \"border-bottom\",\n \"border-left\",\n \"border-top-color\",\n \"border-right-color\",\n \"border-bottom-color\",\n \"border-left-color\",\n \"border-block-color\",\n \"border-inline-color\",\n \"outline\",\n \"outline-color\",\n \"text-decoration\",\n \"text-decoration-color\",\n \"text-shadow\",\n \"box-shadow\",\n \"caret-color\",\n \"column-rule\",\n \"column-rule-color\",\n \"fill\",\n \"stroke\"\n ],\n \"spacingProperties\": [\n \"padding\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n \"padding-block\",\n \"padding-inline\",\n \"padding-block-start\",\n \"padding-block-end\",\n \"padding-inline-start\",\n \"padding-inline-end\",\n \"margin\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"margin-block\",\n \"margin-inline\",\n \"margin-block-start\",\n \"margin-block-end\",\n \"margin-inline-start\",\n \"margin-inline-end\",\n \"gap\",\n \"row-gap\",\n \"column-gap\",\n \"grid-gap\",\n \"grid-row-gap\",\n \"grid-column-gap\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"inset\",\n \"inset-block\",\n \"inset-inline\"\n ],\n \"colorLiteralPatterns\": [\"#[0-9a-fA-F]{3,8}\\\\b\", \"rgba?\\\\([^)]*\\\\)\", \"hsla?\\\\([^)]*\\\\)\"],\n \"spacingLiteralPatterns\": [\"-?[0-9]+(?:\\\\.[0-9]+)?(?:px|rem|em)\\\\b\"],\n \"spacingAllowlist\": [\"0\", \"0px\", \"0rem\", \"0em\", \"1px\", \"2px\", \"-1px\", \"-2px\"]\n}\n","import pvdsManifest from \"../_manifests/pvds.json\" with { type: \"json\" };\nimport styleVocabulary from \"../_manifests/style-vocabulary.json\" with { type: \"json\" };\n\n/** Shape of the generated pvds.json — kept in sync with scripts/refresh-manifest.ts. */\nexport interface PvdsManifest {\n schemaVersion: 1;\n generatedAt: string;\n packageVersions: Record<string, string>;\n deprecations: Record<string, DeprecationEntry[]>;\n components: Record<string, ComponentEntry[]>;\n /** reverse-lookup literal → suggested @planview/pv-utilities utility name(s). */\n tokens: {\n /** hex literal → both theme-aware and static names */\n colors: Record<string, ColorTokenSuggestion>;\n /** number-or-px literal → both px-string and raw-number names */\n spacing: Record<string, SpacingTokenSuggestion>;\n };\n}\n\nexport interface ColorTokenSuggestion {\n /** theme-aware CSS-variable-backed name, e.g. \"theme.navy500\" */\n theme: string;\n /** static hex value name, e.g. \"color.navy500\" */\n static: string;\n}\n\nexport interface SpacingTokenSuggestion {\n /** px-string form, e.g. \"spacingPx.small\" */\n px: string;\n /** raw-number form, e.g. \"spacing.small\" */\n num: string;\n}\n\nexport interface DeprecationEntry {\n name: string;\n kind: string;\n message: string;\n}\n\nexport interface ComponentEntry {\n name: string;\n props: PropEntry[];\n /** Does the props type extend/Pick from a standard DOM/ARIA attributes type (HTMLAttributes,\n * ComponentProps, etc)? Components vary in whether they extend, Pick a subset, or neither,\n * so this only signals passthrough is *possible* — not which exact attributes are covered. */\n extendsStandardAttrs: boolean;\n}\n\nexport interface PropEntry {\n name: string;\n /** Rendered type of the prop, e.g. \"string\", \"boolean\", `\"small\" | \"medium\"`. */\n type: string;\n enumValues?: string[];\n deprecated?: string;\n}\n\n/** Shape of the hand-authored style-vocabulary.json. */\nexport interface StyleVocabulary {\n schemaVersion: 1;\n colorProperties: string[];\n spacingProperties: string[];\n colorLiteralPatterns: string[];\n spacingLiteralPatterns: string[];\n spacingAllowlist: string[];\n}\n\nexport function getPvdsManifest(): PvdsManifest {\n return pvdsManifest as PvdsManifest;\n}\n\nexport function getStyleVocabulary(): StyleVocabulary {\n return styleVocabulary as StyleVocabulary;\n}\n","import { readdir, stat } from \"node:fs/promises\";\nimport { isAbsolute, join, relative } from \"node:path\";\n\nimport { isDefaultExcluded } from \"./default-excludes.js\";\n\nconst SOURCE_EXTS = new Set([\".ts\", \".tsx\", \".js\", \".jsx\", \".mts\", \".cts\", \".mjs\", \".cjs\"]);\nconst SKIP_DIRS = new Set([\n \"node_modules\",\n \".git\",\n \"dist\",\n \"build\",\n \"coverage\",\n \".next\",\n \".turbo\",\n \".cache\",\n]);\n\nfunction hasSourceExt(name: string): boolean {\n const dot = name.lastIndexOf(\".\");\n return dot > 0 && SOURCE_EXTS.has(name.slice(dot));\n}\n\n/**\n * Resolve an explicit list of candidate paths (absolute or root-relative) to the subset that\n * are real, readable source files — applying the same extension/exclude filtering a full tree\n * walk would. Used to scope a check to a specific file set (e.g. files an agent just edited).\n */\nasync function resolveExplicitFiles(root: string, candidates: string[]): Promise<string[]> {\n const found: string[] = [];\n for (const candidate of candidates) {\n const full = isAbsolute(candidate) ? candidate : join(root, candidate);\n let entryStat;\n try {\n entryStat = await stat(full);\n } catch {\n continue;\n }\n if (!entryStat.isFile()) continue;\n if (!hasSourceExt(full)) continue;\n if (isDefaultExcluded(relative(root, full))) continue;\n found.push(full);\n }\n return Array.from(new Set(found)).sort();\n}\n\n/**\n * Walk `root` recursively and return every source file, minus:\n * • directories in SKIP_DIRS (always skipped)\n * • files matching DEFAULT_EXCLUDES (tests, stories, snapshots, mdx, .d.ts)\n *\n * When `explicitFiles` is provided, skip the tree walk entirely and scope to just those\n * paths instead (still subject to the same extension/exclude filtering).\n */\nexport async function walkSourceFiles(root: string, explicitFiles?: string[]): Promise<string[]> {\n if (explicitFiles && explicitFiles.length > 0) {\n return resolveExplicitFiles(root, explicitFiles);\n }\n const found: string[] = [];\n async function walk(dir: string): Promise<void> {\n let entries: string[];\n try {\n entries = await readdir(dir);\n } catch {\n return;\n }\n await Promise.all(\n entries.map(async (name) => {\n if (SKIP_DIRS.has(name) || name.startsWith(\".\")) return;\n const full = join(dir, name);\n let entryStat;\n try {\n entryStat = await stat(full);\n } catch {\n return;\n }\n if (entryStat.isDirectory()) {\n await walk(full);\n return;\n }\n const dot = name.lastIndexOf(\".\");\n if (dot <= 0 || !SOURCE_EXTS.has(name.slice(dot))) return;\n if (isDefaultExcluded(relative(root, full))) return;\n found.push(full);\n }),\n );\n }\n await walk(root);\n return Array.from(new Set(found)).sort();\n}\n","/**\n * Default globs to exclude from source scans in the deep checks (rows 5–8).\n * These files legitimately contain hardcoded colors/spacings or deprecated symbol names,\n * so scanning them produces noise without value.\n *\n * Match semantics are intentionally simple: only `**` (any-segments-including-slash),\n * `*` (any-chars-not-slash), and `{a,b}` (alternation). No `?` or character classes.\n */\nexport const DEFAULT_EXCLUDES: readonly string[] = [\n \"**/*.{test,spec,stories}.*\",\n \"**/__snapshots__/**\",\n \"**/*.mdx\",\n \"**/*.d.ts\",\n];\n\nfunction globToRegExp(glob: string): RegExp {\n let re = \"^\";\n let i = 0;\n while (i < glob.length) {\n const c = glob[i]!;\n if (c === \"*\" && glob[i + 1] === \"*\") {\n const followed = glob[i + 2];\n if (followed === \"/\") {\n re += \"(?:.*/)?\";\n i += 3;\n } else {\n re += \".*\";\n i += 2;\n }\n continue;\n }\n if (c === \"*\") {\n re += \"[^/]*\";\n i++;\n continue;\n }\n if (c === \"{\") {\n const end = glob.indexOf(\"}\", i + 1);\n if (end < 0) {\n re += \"\\\\{\";\n i++;\n continue;\n }\n const alts = glob.slice(i + 1, end).split(\",\");\n re += \"(?:\" + alts.map((a) => a.replace(/[.+^${}()|[\\]\\\\]/g, \"\\\\$&\")).join(\"|\") + \")\";\n i = end + 1;\n continue;\n }\n if (/[.+^$()|[\\]\\\\]/.test(c)) re += \"\\\\\" + c;\n else re += c;\n i++;\n }\n re += \"$\";\n return new RegExp(re);\n}\n\nconst DEFAULT_EXCLUDE_RES = DEFAULT_EXCLUDES.map(globToRegExp);\n\n/** Return true when `relPath` (POSIX-style, relative to the scan root) matches one of `patterns`. */\nexport function matchesAnyGlob(relPath: string, patterns: readonly string[]): boolean {\n const posix = relPath.replaceAll(\"\\\\\", \"/\");\n if (patterns === DEFAULT_EXCLUDES) {\n return DEFAULT_EXCLUDE_RES.some((re) => re.test(posix));\n }\n return patterns.map(globToRegExp).some((re) => re.test(posix));\n}\n\nexport function isDefaultExcluded(relPath: string): boolean {\n return matchesAnyGlob(relPath, DEFAULT_EXCLUDES);\n}\n","import { resolve } from \"node:path\";\n\nimport { majorVersion, resolveInstalledVersion } from \"../_analysis/installed-versions.js\";\nimport { getPvdsManifest } from \"../_analysis/manifest-loader.js\";\nimport type { CheckIssue, CheckOptions, CheckResult } from \"./types.js\";\n\n/**\n * Compare the CLI's bundled PVDS reference-data snapshot (used by deprecated-imports,\n * unknown-props, invalid-enum-literal, and the style-token hints) against each pv-*\n * package actually installed in the target project.\n *\n * The manifest is generated once per @planview/pvds-skills release against a single\n * fixed version of each pv-* package — it does not track a consumer's installs over\n * time. This check only compares packages it can concretely resolve from\n * node_modules (no guessing from semver ranges), and only warns on a major-version\n * gap, since that's the threshold at which deprecations/props/enums are most likely\n * to have changed.\n */\nexport async function checkManifestDrift(options: CheckOptions = {}): Promise<CheckResult> {\n const cwd = resolve(options.cwd ?? process.cwd());\n const manifest = getPvdsManifest();\n const packages = Object.keys(manifest.packageVersions);\n\n const issues: CheckIssue[] = [];\n let checked = 0;\n\n await Promise.all(\n packages.map(async (pkgName) => {\n const installed = await resolveInstalledVersion(cwd, pkgName);\n if (!installed) return; // not installed here — nothing to compare\n checked++;\n\n const manifestVersion = manifest.packageVersions[pkgName]!;\n const installedMajor = majorVersion(installed);\n const manifestMajor = majorVersion(manifestVersion);\n if (!installedMajor || !manifestMajor || installedMajor === manifestMajor) return;\n\n issues.push({\n ruleId: \"pvds/versions/manifest-drift\",\n severity: \"warning\",\n message:\n `${pkgName}: reference data (deprecated-imports, unknown-props, invalid-enum-literal, ` +\n `style-token hints) was generated against ${pkgName}@${manifestVersion}; this project has ` +\n `${installed} installed. Findings for this package may be inaccurate — treat as advisory, ` +\n `or check for a newer @planview/pvds-skills release. Run \\`pvds-skills versions\\` for details.`,\n });\n }),\n );\n\n return {\n ok: issues.length === 0,\n issues,\n stats: {\n filesScanned: checked,\n pvOccurrences: checked,\n uniquePvPackages: checked,\n },\n };\n}\n","import { readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\n\n/** Resolve the actually-installed version of a package from its node_modules/<pkg>/package.json, if present. */\nexport async function resolveInstalledVersion(\n cwd: string,\n pkgName: string,\n): Promise<string | undefined> {\n try {\n const raw = await readFile(join(cwd, \"node_modules\", pkgName, \"package.json\"), \"utf8\");\n const pkg = JSON.parse(raw) as { version?: unknown };\n return typeof pkg.version === \"string\" ? pkg.version : undefined;\n } catch {\n return undefined;\n }\n}\n\n/** Extracts the leading major-version segment from a version string, e.g. \"8.1.1\" -> \"8\". */\nexport function majorVersion(version: string): string | undefined {\n return /^(\\d+)\\./.exec(version)?.[1];\n}\n","import { readFile } from \"node:fs/promises\";\nimport { relative, resolve } from \"node:path\";\n\nimport { walkSourceFiles } from \"../_analysis/walk-source-files.js\";\nimport { scanStyleViolations } from \"./style-engine.js\";\nimport type { CheckIssue, CheckOptions, CheckResult } from \"./types.js\";\n\n/**\n * Flag hex/rgb/hsl color literals appearing on color CSS properties in CSS-in-JS regions\n * (styled-components / emotion tagged templates). Warning-level: not all colors need to be\n * tokenized, but the pv-utilities `theme.*` (dark/light-aware) and `color.*` (static) catalogs\n * cover most cases. Only scans styled/css/keyframes template literals — inline `style={{}}`\n * and `sx={{}}` are out of scope for 0.3.0.\n */\nexport async function checkHardcodedColors(options: CheckOptions = {}): Promise<CheckResult> {\n const cwd = resolve(options.cwd ?? process.cwd());\n const files = await walkSourceFiles(cwd, options.files);\n\n const issues: CheckIssue[] = [];\n let regionsScanned = 0;\n\n await Promise.all(\n files.map(async (file) => {\n let source: string;\n try {\n source = await readFile(file, \"utf8\");\n } catch {\n return;\n }\n regionsScanned += scanStyleViolations(source, file, cwd, \"colors\", issues);\n }),\n );\n\n return {\n ok: issues.length === 0,\n issues,\n stats: {\n filesScanned: files.length,\n pvOccurrences: regionsScanned,\n uniquePvPackages: 0,\n ...(options.verbose && {\n scannedFiles: files.map((f) => relative(cwd, f) || \".\").sort(),\n }),\n },\n };\n}\n","import { buildLineIndex, offsetToLineCol } from \"./positions.js\";\n\nexport interface CssInJsRegion {\n /** Character offset in the original source where the CSS content starts. */\n start: number;\n /** Character offset (exclusive) in the original source where the CSS content ends. */\n end: number;\n /** The CSS text, with `${…}` interpolations blanked to preserve offsets. */\n text: string;\n /** Which recognizer matched this region — informational only. */\n kind: \"styled-tag\" | \"css-tag\" | \"keyframes-tag\";\n}\n\n/** Recognize `styled.Div\\`…\\``, `styled(X)\\`…\\``, `` styled`…` ``, `` css`…` ``, `` keyframes`…` ``. */\nconst TAGGED_TEMPLATE_RE =\n /(?:^|[^\\w$.])(styled(?:\\.[A-Za-z_$][A-Za-z0-9_$]*)?(?:\\([^)]*\\))?|css|keyframes)\\s*`/g;\n\n/**\n * Scan `source` for CSS-in-JS template literals. Returns the raw CSS body (with `${…}`\n * expressions blanked so downstream regex matches see the CSS but not the JS interpolations).\n * Positions are offsets in the original source, ready to feed through offsetToLineCol.\n */\nexport function scanCssInJsRegions(source: string): CssInJsRegion[] {\n const regions: CssInJsRegion[] = [];\n const re = new RegExp(TAGGED_TEMPLATE_RE.source, TAGGED_TEMPLATE_RE.flags);\n let m: RegExpExecArray | null;\n while ((m = re.exec(source)) !== null) {\n const tagRaw = m[1]!;\n const rootTag = tagRaw.split(/[.(]/)[0]!;\n const kind: CssInJsRegion[\"kind\"] =\n rootTag === \"css\" ? \"css-tag\" : rootTag === \"keyframes\" ? \"keyframes-tag\" : \"styled-tag\";\n const tickIdx = re.lastIndex - 1;\n const end = findTemplateEnd(source, tickIdx);\n if (end < 0) continue;\n const raw = source.slice(tickIdx + 1, end);\n regions.push({\n start: tickIdx + 1,\n end,\n text: maskInterpolations(raw),\n kind,\n });\n re.lastIndex = end + 1;\n }\n return regions;\n}\n\n/** Find the offset of the closing backtick for the template that starts at `tickStart`. */\nfunction findTemplateEnd(source: string, tickStart: number): number {\n let i = tickStart + 1;\n const len = source.length;\n while (i < len) {\n const c = source.charCodeAt(i);\n if (c === 92 /* \\ */) {\n i += 2;\n continue;\n }\n if (c === 96 /* ` */) return i;\n if (c === 36 /* $ */ && source.charCodeAt(i + 1) === 123 /* { */) {\n let depth = 1;\n i += 2;\n while (i < len && depth > 0) {\n const cc = source.charCodeAt(i);\n if (cc === 92) {\n i += 2;\n continue;\n }\n if (cc === 96) {\n const nestedEnd = findTemplateEnd(source, i);\n if (nestedEnd < 0) return -1;\n i = nestedEnd + 1;\n continue;\n }\n if (cc === 123) depth++;\n else if (cc === 125) depth--;\n i++;\n }\n continue;\n }\n i++;\n }\n return -1;\n}\n\n/** Replace every `${…}` interpolation body (but not the `$`, `{`, `}`) with spaces, preserving newlines. */\nfunction maskInterpolations(text: string): string {\n const out = text.split(\"\");\n const len = text.length;\n let i = 0;\n while (i < len) {\n if (text.charCodeAt(i) === 36 && text.charCodeAt(i + 1) === 123) {\n out[i] = \" \";\n out[i + 1] = \" \";\n i += 2;\n let depth = 1;\n while (i < len && depth > 0) {\n const c = text.charCodeAt(i);\n if (c === 123) depth++;\n else if (c === 125) depth--;\n if (depth === 0) {\n out[i] = \" \";\n i++;\n break;\n }\n if (c !== 10) out[i] = \" \";\n i++;\n }\n continue;\n }\n i++;\n }\n return out.join(\"\");\n}\n\n/** Map an offset inside `source` to a 1-based (line, column) for reporting. */\nexport function positionOf(source: string, offset: number): { line: number; column: number } {\n const idx = buildLineIndex(source);\n return offsetToLineCol(idx, offset);\n}\n","import {\n getPvdsManifest,\n getStyleVocabulary,\n type ColorTokenSuggestion,\n type SpacingTokenSuggestion,\n} from \"../_analysis/manifest-loader.js\";\nimport { buildLineIndex, offsetToLineCol } from \"../_analysis/positions.js\";\nimport { scanCssInJsRegions } from \"../_analysis/css-in-js-scanner.js\";\nimport type { CheckIssue } from \"./types.js\";\n\n/** Shared engine used by both hardcoded-colors and hardcoded-spacing checks. */\nexport function scanStyleViolations(\n source: string,\n file: string,\n cwd: string,\n mode: \"colors\" | \"spacing\",\n issues: CheckIssue[],\n): number {\n const vocab = getStyleVocabulary();\n const manifest = getPvdsManifest();\n const regions = scanCssInJsRegions(source);\n if (regions.length === 0) return 0;\n\n const properties = mode === \"colors\" ? vocab.colorProperties : vocab.spacingProperties;\n const literalPatterns =\n mode === \"colors\" ? vocab.colorLiteralPatterns : vocab.spacingLiteralPatterns;\n const allowlist = mode === \"spacing\" ? new Set(vocab.spacingAllowlist) : new Set<string>();\n const ruleId = mode === \"colors\" ? \"pvds/style/hardcoded-color\" : \"pvds/style/hardcoded-spacing\";\n const label = mode === \"colors\" ? \"color\" : \"spacing\";\n\n const lineIndex = buildLineIndex(source);\n // Order matters when properties overlap: match `padding-inline-start` before `padding`.\n const propRes = properties\n .slice()\n .sort((a, b) => b.length - a.length)\n .map((p) => ({ p, re: new RegExp(`(?<![\\\\w-])${escapeRe(p)}\\\\s*:\\\\s*([^;{}]+)`, \"gi\") }));\n\n const literalRe = new RegExp(literalPatterns.join(\"|\"), \"gi\");\n\n for (const region of regions) {\n for (const { p, re } of propRes) {\n re.lastIndex = 0;\n let m: RegExpExecArray | null;\n while ((m = re.exec(region.text)) !== null) {\n const declStart = m.index;\n const value = m[1]!;\n const valueStart = declStart + m[0].indexOf(\":\") + 1;\n\n const litRe = new RegExp(literalRe.source, literalRe.flags);\n let lm: RegExpExecArray | null;\n while ((lm = litRe.exec(value)) !== null) {\n const literal = lm[0];\n if (allowlist.has(literal.toLowerCase())) continue;\n const litOffsetInRegion = valueStart + lm.index;\n const litOffsetInSource = region.start + litOffsetInRegion;\n const { line, column } = offsetToLineCol(lineIndex, litOffsetInSource);\n const hint =\n mode === \"colors\"\n ? colorHint(lookupColor(literal, manifest.tokens.colors))\n : spacingHint(literal, lookupSpacing(literal, manifest.tokens.spacing));\n issues.push({\n ruleId,\n severity: \"warning\",\n message: `Hardcoded ${label} \\`${literal}\\` on \\`${p}\\`. ${hint}`,\n file: relPath(cwd, file),\n line,\n column,\n });\n }\n }\n }\n }\n return regions.length;\n}\n\nfunction relPath(cwd: string, abs: string): string {\n if (abs.startsWith(cwd + \"/\")) return abs.slice(cwd.length + 1);\n if (abs === cwd) return \".\";\n return abs;\n}\n\nfunction escapeRe(s: string): string {\n return s.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\nfunction lookupColor(\n literal: string,\n tokenMap: Record<string, ColorTokenSuggestion>,\n): ColorTokenSuggestion | undefined {\n return tokenMap[literal] ?? tokenMap[literal.toLowerCase()];\n}\n\nfunction lookupSpacing(\n literal: string,\n tokenMap: Record<string, SpacingTokenSuggestion>,\n): SpacingTokenSuggestion | undefined {\n return tokenMap[literal] ?? tokenMap[literal.toLowerCase()];\n}\n\nfunction colorHint(suggestion: ColorTokenSuggestion | undefined): string {\n if (!suggestion) {\n return \"Use `theme.*` (dark/light-aware) or `color.*` (static) from @planview/pv-utilities instead.\";\n }\n if (suggestion.theme === suggestion.static) {\n return `Use \\`${suggestion.static}\\` from @planview/pv-utilities instead.`;\n }\n return `Use \\`${suggestion.theme}\\` (dark/light-aware) or \\`${suggestion.static}\\` (static) from @planview/pv-utilities instead.`;\n}\n\nfunction spacingHint(literal: string, suggestion: SpacingTokenSuggestion | undefined): string {\n if (!suggestion) {\n return \"Use `spacingPx.*` or `spacing.*` from @planview/pv-utilities instead.\";\n }\n // If the literal carries a unit (e.g. `10px`), suggest the string form.\n // Otherwise (a bare number like `10`), suggest the numeric form.\n const hasUnit = /[a-z%]/i.test(literal);\n const preferred = hasUnit ? suggestion.px : suggestion.num;\n return `Use \\`${preferred}\\` from @planview/pv-utilities instead.`;\n}\n","import { readFile } from \"node:fs/promises\";\nimport { relative, resolve } from \"node:path\";\n\nimport { walkSourceFiles } from \"../_analysis/walk-source-files.js\";\nimport { scanStyleViolations } from \"./style-engine.js\";\nimport type { CheckIssue, CheckOptions, CheckResult } from \"./types.js\";\n\n/**\n * Flag px/rem/em literals appearing on spacing CSS properties (padding, margin, gap, inset, …)\n * in CSS-in-JS regions. Warning-level: micro-values like `1px` for borders are allowlisted.\n * Only scans styled/css/keyframes template literals — inline `style={{}}` and `sx={{}}` are\n * out of scope for 0.3.0.\n */\nexport async function checkHardcodedSpacing(options: CheckOptions = {}): Promise<CheckResult> {\n const cwd = resolve(options.cwd ?? process.cwd());\n const files = await walkSourceFiles(cwd, options.files);\n\n const issues: CheckIssue[] = [];\n let regionsScanned = 0;\n\n await Promise.all(\n files.map(async (file) => {\n let source: string;\n try {\n source = await readFile(file, \"utf8\");\n } catch {\n return;\n }\n regionsScanned += scanStyleViolations(source, file, cwd, \"spacing\", issues);\n }),\n );\n\n return {\n ok: issues.length === 0,\n issues,\n stats: {\n filesScanned: files.length,\n pvOccurrences: regionsScanned,\n uniquePvPackages: 0,\n ...(options.verbose && {\n scannedFiles: files.map((f) => relative(cwd, f) || \".\").sort(),\n }),\n },\n };\n}\n","import { readFile } from \"node:fs/promises\";\nimport { relative, resolve } from \"node:path\";\n\nimport { escapeRe, findJsxTagEnd, scanJsxAttrs } from \"../_analysis/jsx-attrs.js\";\nimport { parseImportBindings } from \"../_analysis/import-bindings.js\";\nimport { getPvdsManifest, type ComponentEntry } from \"../_analysis/manifest-loader.js\";\nimport { buildLineIndex, offsetToLineCol } from \"../_analysis/positions.js\";\nimport { stripComments } from \"../_analysis/strip-comments.js\";\nimport { walkSourceFiles } from \"../_analysis/walk-source-files.js\";\nimport type { CheckIssue, CheckOptions, CheckResult } from \"./types.js\";\n\n/**\n * Flag JSX like `<Button size=\"tiny\" />` where `size` is a documented enum-valued prop and\n * `\"tiny\"` isn't one of the allowed values. Warning-level: some cases are runtime dynamic\n * expressions we can't statically resolve, so we only look at direct string literals here.\n */\nexport async function checkLiteralSizeProps(options: CheckOptions = {}): Promise<CheckResult> {\n const cwd = resolve(options.cwd ?? process.cwd());\n const manifest = getPvdsManifest();\n const files = await walkSourceFiles(cwd, options.files);\n\n const issues: CheckIssue[] = [];\n const seenPkgs = new Set<string>();\n let jsxHitCount = 0;\n\n await Promise.all(\n files.map(async (file) => {\n let source: string;\n try {\n source = await readFile(file, \"utf8\");\n } catch {\n return;\n }\n const cleaned = stripComments(source);\n const bindings = parseImportBindings(source);\n if (bindings.length === 0) return;\n const lineIndex = buildLineIndex(cleaned);\n\n // For each imported name, find its component entry in the manifest and scan JSX.\n // Namespace imports (`* as Ns`) produce member-expression JSX like `<Ns.Button ...>`.\n for (const b of bindings) {\n const pkgComponents = manifest.components[b.pkg];\n if (!pkgComponents) continue;\n seenPkgs.add(b.pkg);\n\n if (b.imported === \"*\") {\n for (const comp of pkgComponents) {\n const local = `${b.localName}.${comp.name}`;\n jsxHitCount += scanComponent(cleaned, local, b.pkg, comp, lineIndex, file, cwd, issues);\n }\n continue;\n }\n if (b.imported === \"default\") continue;\n const comp = pkgComponents.find((c) => c.name === b.imported);\n if (!comp) continue;\n jsxHitCount += scanComponent(\n cleaned,\n b.localName,\n b.pkg,\n comp,\n lineIndex,\n file,\n cwd,\n issues,\n );\n }\n }),\n );\n\n return {\n ok: issues.length === 0,\n issues,\n stats: {\n filesScanned: files.length,\n pvOccurrences: jsxHitCount,\n uniquePvPackages: seenPkgs.size,\n ...(options.verbose && {\n scannedFiles: files.map((f) => relative(cwd, f) || \".\").sort(),\n }),\n },\n };\n}\n\nfunction scanComponent(\n cleaned: string,\n jsxTagName: string,\n pkg: string,\n comp: ComponentEntry,\n lineIndex: number[],\n file: string,\n cwd: string,\n issues: CheckIssue[],\n): number {\n const enumProps = comp.props.filter((p) => p.enumValues && p.enumValues.length > 0);\n const deprecatedProps = comp.props.filter((p) => p.deprecated !== undefined);\n if (enumProps.length === 0 && deprecatedProps.length === 0) return 0;\n\n const jsxRe = new RegExp(`<(${escapeRe(jsxTagName)})(?=[\\\\s/>])`, \"g\");\n let m: RegExpExecArray | null;\n let hits = 0;\n while ((m = jsxRe.exec(cleaned)) !== null) {\n hits++;\n const attrStart = m.index + 1 + jsxTagName.length;\n const attrEnd = findJsxTagEnd(cleaned, attrStart);\n if (attrEnd < 0) continue;\n const attrs = cleaned.slice(attrStart, attrEnd);\n\n for (const attr of scanJsxAttrs(attrs, attrStart)) {\n const enumProp = enumProps.find((p) => p.name === attr.name);\n if (enumProp && attr.stringValue !== undefined) {\n const allowed = enumProp.enumValues!;\n if (!allowed.includes(attr.stringValue)) {\n const { line, column } = offsetToLineCol(lineIndex, attr.valueOffset);\n issues.push({\n ruleId: \"pvds/props/invalid-enum-literal\",\n severity: \"warning\",\n message: `<${jsxTagName} ${attr.name}=\"${attr.stringValue}\"> is not one of the accepted values on ${pkg}/${comp.name}. Accepted: ${allowed.map((v) => `\"${v}\"`).join(\", \")}.`,\n file: relative(cwd, file),\n line,\n column,\n });\n }\n }\n const deprecatedProp = deprecatedProps.find((p) => p.name === attr.name);\n if (deprecatedProp) {\n const { line, column } = offsetToLineCol(lineIndex, attr.nameOffset);\n const firstLine = deprecatedProp.deprecated!.split(\"\\n\")[0]!.trim();\n issues.push({\n ruleId: \"pvds/props/deprecated\",\n severity: \"warning\",\n message: `<${jsxTagName} ${attr.name}=…> is deprecated on ${pkg}/${comp.name}. ${firstLine}`,\n file: relative(cwd, file),\n line,\n column,\n });\n }\n }\n }\n return hits;\n}\n","/** Shared JSX opening-tag / attribute walkers, reused by any check that inspects PV component usage. */\n\nexport function escapeRe(s: string): string {\n return s.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\n/** Walk forward from `from` to find the closing `>` or `/>` of a JSX opening tag,\n * respecting balanced braces for JSX expressions and quoted strings. */\nexport function findJsxTagEnd(source: string, from: number): number {\n let i = from;\n const len = source.length;\n while (i < len) {\n const c = source.charCodeAt(i);\n if (c === 34 /* \" */ || c === 39 /* ' */) {\n const q = c;\n i++;\n while (i < len && source.charCodeAt(i) !== q) i++;\n i++;\n continue;\n }\n if (c === 123 /* { */) {\n i = skipBraceExpression(source, i);\n continue;\n }\n if (c === 47 /* / */ && source.charCodeAt(i + 1) === 62 /* > */) return i;\n if (c === 62 /* > */) return i;\n i++;\n }\n return -1;\n}\n\n/** `source[start]` must be the opening `{`. Returns the offset just past the matching `}`. */\nfunction skipBraceExpression(source: string, start: number): number {\n let i = start + 1;\n let depth = 1;\n const len = source.length;\n while (i < len && depth > 0) {\n const c = source.charCodeAt(i);\n if (c === 34 || c === 39) {\n const q = c;\n i++;\n while (i < len && source.charCodeAt(i) !== q) i++;\n i++;\n continue;\n }\n if (c === 96 /* ` */) {\n // Skip template literal body.\n i++;\n while (i < len && source.charCodeAt(i) !== 96) {\n if (source.charCodeAt(i) === 92) i++;\n i++;\n }\n i++;\n continue;\n }\n if (c === 123) depth++;\n else if (c === 125) depth--;\n i++;\n }\n return i;\n}\n\ninterface JsxAttr {\n name: string;\n /** For string-literal values only (bare quoted, or `{\"…\"}`, or `{'…'}`). */\n stringValue?: string;\n /** Character offset in the *whole* cleaned source where the attribute name starts. */\n nameOffset: number;\n /** Character offset in the whole cleaned source where the value starts (excludes wrapping `{`). */\n valueOffset: number;\n}\n\n/**\n * Extract attributes from a JSX opening tag's attribute section. Returns each attribute\n * with its offset in the ORIGINAL source (attrsOffset is where the attrs slice began).\n * Only \"static\" string values are populated on `stringValue`; expressions are recorded\n * with `stringValue: undefined` so downstream logic can decide to skip or flag.\n */\nexport function scanJsxAttrs(attrs: string, attrsOffset: number): JsxAttr[] {\n const out: JsxAttr[] = [];\n const re =\n /([A-Za-z_][A-Za-z0-9_-]*)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)'|\\{\\s*(?:\"([^\"]*)\"|'([^']*)')\\s*\\})/g;\n let m: RegExpExecArray | null;\n while ((m = re.exec(attrs)) !== null) {\n const name = m[1]!;\n const raw = m[0];\n const nameOffset = attrsOffset + m.index;\n\n const eqIdx = raw.indexOf(\"=\", name.length);\n let valueOffset = attrsOffset + m.index + eqIdx + 1;\n while (\n valueOffset < attrsOffset + m.index + raw.length &&\n /\\s/.test(attrs[valueOffset - attrsOffset]!)\n ) {\n valueOffset++;\n }\n\n const stringValue = m[2] ?? m[3] ?? m[4] ?? m[5];\n out.push({\n name,\n ...(stringValue !== undefined && { stringValue }),\n nameOffset,\n valueOffset,\n });\n }\n return out;\n}\n\nexport interface JsxAttrName {\n name: string;\n /** Character offset in the *whole* cleaned source where the attribute name starts. */\n nameOffset: number;\n}\n\n/**\n * Extract every attribute NAME from a JSX opening tag's attribute section, regardless of\n * value type (string literal, expression, number, or boolean shorthand). Spread attributes\n * (`{...props}`) are skipped since they can't be statically resolved to specific names.\n */\nexport function scanJsxAttrNames(attrs: string, attrsOffset: number): JsxAttrName[] {\n const out: JsxAttrName[] = [];\n const len = attrs.length;\n let i = 0;\n while (i < len) {\n const c = attrs.charCodeAt(i);\n if (c === 32 || c === 9 || c === 10 || c === 13) {\n i++;\n continue;\n }\n if (c === 123 /* { */) {\n // Spread attribute (`{...props}`) or a stray expression — nothing to name, skip whole block.\n i = skipBraceExpression(attrs, i);\n continue;\n }\n if (/[A-Za-z_]/.test(attrs[i]!)) {\n const start = i;\n while (i < len && /[A-Za-z0-9_-]/.test(attrs[i]!)) i++;\n out.push({ name: attrs.slice(start, i), nameOffset: attrsOffset + start });\n\n while (i < len && /\\s/.test(attrs[i]!)) i++;\n if (attrs.charCodeAt(i) === 61 /* = */) {\n i++;\n while (i < len && /\\s/.test(attrs[i]!)) i++;\n const vc = attrs.charCodeAt(i);\n if (vc === 34 || vc === 39) {\n const q = vc;\n i++;\n while (i < len && attrs.charCodeAt(i) !== q) i++;\n i++;\n } else if (vc === 123) {\n i = skipBraceExpression(attrs, i);\n }\n }\n continue;\n }\n // Stray character we don't recognize as the start of an attribute — skip past it.\n i++;\n }\n return out;\n}\n","import { readFile } from \"node:fs/promises\";\nimport { relative, resolve } from \"node:path\";\n\nimport { parseImportBindings } from \"../_analysis/import-bindings.js\";\nimport { escapeRe, findJsxTagEnd, scanJsxAttrNames } from \"../_analysis/jsx-attrs.js\";\nimport { getPvdsManifest, type ComponentEntry } from \"../_analysis/manifest-loader.js\";\nimport { buildLineIndex, offsetToLineCol } from \"../_analysis/positions.js\";\nimport { stripComments } from \"../_analysis/strip-comments.js\";\nimport { walkSourceFiles } from \"../_analysis/walk-source-files.js\";\nimport type { CheckIssue, CheckOptions, CheckResult } from \"./types.js\";\n\n// Standard HTML/React/ARIA attributes inherited by virtually every component. The manifest\n// only tracks own-declared props (see scripts/refresh-manifest.ts), so anything in this list\n// is assumed valid rather than flagged as unknown.\nconst COMMON_JSX_ATTRS = new Set([\n \"className\",\n \"style\",\n \"id\",\n \"key\",\n \"ref\",\n \"children\",\n \"dangerouslySetInnerHTML\",\n \"tabIndex\",\n \"role\",\n \"title\",\n \"hidden\",\n \"dir\",\n \"lang\",\n \"slot\",\n \"translate\",\n \"contentEditable\",\n \"spellCheck\",\n \"draggable\",\n \"suppressContentEditableWarning\",\n \"suppressHydrationWarning\",\n \"accessKey\",\n \"autoCapitalize\",\n \"autoCorrect\",\n \"as\",\n \"forwardedAs\",\n \"css\",\n \"theme\",\n \"name\",\n \"value\",\n \"defaultValue\",\n \"defaultChecked\",\n \"checked\",\n \"disabled\",\n \"readOnly\",\n \"required\",\n \"placeholder\",\n \"autoFocus\",\n \"autoComplete\",\n \"type\",\n \"min\",\n \"max\",\n \"step\",\n \"pattern\",\n \"multiple\",\n \"form\",\n \"list\",\n \"href\",\n \"target\",\n \"rel\",\n \"download\",\n \"src\",\n \"alt\",\n \"width\",\n \"height\",\n \"loading\",\n \"decoding\",\n \"colSpan\",\n \"rowSpan\",\n \"htmlFor\",\n]);\nconst COMMON_JSX_ATTR_PATTERNS = [/^on[A-Z]/, /^data-/, /^aria-/];\n\nfunction isCommonAttr(name: string): boolean {\n if (COMMON_JSX_ATTRS.has(name)) return true;\n return COMMON_JSX_ATTR_PATTERNS.some((re) => re.test(name));\n}\n\n/**\n * Flag JSX attributes on a documented PV component that aren't one of its own-declared props\n * and aren't a standard HTML/React/ARIA attribute — typically a typo or a removed/renamed prop.\n * Warning-level: the manifest only knows own-declared props, so inherited props not in the\n * common-attrs allowlist could still be valid; treat this as a heuristic, not a hard gate.\n */\nexport async function checkUnknownProps(options: CheckOptions = {}): Promise<CheckResult> {\n const cwd = resolve(options.cwd ?? process.cwd());\n const manifest = getPvdsManifest();\n const files = await walkSourceFiles(cwd, options.files);\n\n const issues: CheckIssue[] = [];\n const seenPkgs = new Set<string>();\n let jsxHitCount = 0;\n\n await Promise.all(\n files.map(async (file) => {\n let source: string;\n try {\n source = await readFile(file, \"utf8\");\n } catch {\n return;\n }\n const cleaned = stripComments(source);\n const bindings = parseImportBindings(source);\n if (bindings.length === 0) return;\n const lineIndex = buildLineIndex(cleaned);\n\n for (const b of bindings) {\n const pkgComponents = manifest.components[b.pkg];\n if (!pkgComponents) continue;\n seenPkgs.add(b.pkg);\n\n if (b.imported === \"*\") {\n for (const comp of pkgComponents) {\n const local = `${b.localName}.${comp.name}`;\n jsxHitCount += scanComponent(cleaned, local, b.pkg, comp, lineIndex, file, cwd, issues);\n }\n continue;\n }\n if (b.imported === \"default\") continue;\n const comp = pkgComponents.find((c) => c.name === b.imported);\n if (!comp) continue;\n jsxHitCount += scanComponent(\n cleaned,\n b.localName,\n b.pkg,\n comp,\n lineIndex,\n file,\n cwd,\n issues,\n );\n }\n }),\n );\n\n return {\n ok: issues.length === 0,\n issues,\n stats: {\n filesScanned: files.length,\n pvOccurrences: jsxHitCount,\n uniquePvPackages: seenPkgs.size,\n ...(options.verbose && {\n scannedFiles: files.map((f) => relative(cwd, f) || \".\").sort(),\n }),\n },\n };\n}\n\nfunction scanComponent(\n cleaned: string,\n jsxTagName: string,\n pkg: string,\n comp: ComponentEntry,\n lineIndex: number[],\n file: string,\n cwd: string,\n issues: CheckIssue[],\n): number {\n const ownPropNames = new Set(comp.props.map((p) => p.name));\n\n const jsxRe = new RegExp(`<(${escapeRe(jsxTagName)})(?=[\\\\s/>])`, \"g\");\n let m: RegExpExecArray | null;\n let hits = 0;\n while ((m = jsxRe.exec(cleaned)) !== null) {\n hits++;\n const attrStart = m.index + 1 + jsxTagName.length;\n const attrEnd = findJsxTagEnd(cleaned, attrStart);\n if (attrEnd < 0) continue;\n const attrs = cleaned.slice(attrStart, attrEnd);\n\n for (const attr of scanJsxAttrNames(attrs, attrStart)) {\n if (ownPropNames.has(attr.name) || isCommonAttr(attr.name)) continue;\n const { line, column } = offsetToLineCol(lineIndex, attr.nameOffset);\n issues.push({\n ruleId: \"pvds/props/unknown\",\n severity: \"warning\",\n message: `<${jsxTagName} ${attr.name}=…> is not a documented prop on ${pkg}/${comp.name}. Check for a typo or a removed/renamed prop.`,\n file: relative(cwd, file),\n line,\n column,\n });\n }\n }\n return hits;\n}\n","import type { CheckIssue } from \"./types.js\";\n\nexport type OutputFormat = \"human\" | \"json\" | \"sarif\";\n\nexport function formatIssues(issues: CheckIssue[], format: OutputFormat): string {\n switch (format) {\n case \"json\":\n return JSON.stringify({ ok: issues.length === 0, issues }, null, 2);\n case \"sarif\":\n return formatSarif(issues);\n case \"human\":\n default:\n return formatHuman(issues);\n }\n}\n\nfunction formatHuman(issues: CheckIssue[]): string {\n if (issues.length === 0) return \"PVDS checks passed. Clean.\";\n const byFile = new Map<string, CheckIssue[]>();\n for (const issue of issues) {\n const file = issue.file ?? \"<no file>\";\n const list = byFile.get(file) ?? [];\n list.push(issue);\n byFile.set(file, list);\n }\n const lines: string[] = [];\n for (const [file, items] of byFile) {\n lines.push(\"\", file);\n for (const item of items) {\n const loc = item.line !== undefined ? `${item.line}:${item.column ?? 1}` : \"\";\n lines.push(` ${loc} ${item.severity} ${item.ruleId} ${item.message}`);\n }\n }\n const errors = issues.filter((i) => i.severity === \"error\").length;\n const warnings = issues.length - errors;\n lines.push(\"\", `${issues.length} issue(s) — ${errors} error(s), ${warnings} warning(s).`);\n return lines.join(\"\\n\");\n}\n\nfunction formatSarif(issues: CheckIssue[]): string {\n return JSON.stringify(\n {\n $schema: \"https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0.json\",\n version: \"2.1.0\",\n runs: [\n {\n tool: {\n driver: {\n name: \"pvds-skills\",\n informationUri: \"https://github.com/planview-ds/skills\",\n },\n },\n results: issues.map((issue) => ({\n ruleId: issue.ruleId,\n level: issue.severity === \"error\" ? \"error\" : \"warning\",\n message: { text: issue.message },\n locations: issue.file\n ? [\n {\n physicalLocation: {\n artifactLocation: { uri: issue.file },\n region: {\n startLine: issue.line ?? 1,\n startColumn: issue.column ?? 1,\n },\n },\n },\n ]\n : undefined,\n })),\n },\n ],\n },\n null,\n 2,\n );\n}\n","import { existsSync } from \"node:fs\";\nimport { readFile, writeFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\n\nexport interface PvdsConfig {\n version: string;\n installedAt: string;\n skillsDir: string;\n agent: string;\n /** Where `.claude/skills/` lives, stored as a path relative to configRoot (defaults to \".\"). */\n skillsRoot?: string;\n}\n\nexport const CONFIG_DIR = \".pvds-skills\";\nexport const CONFIG_FILE = \"config.json\";\n\nexport function configPath(cwd: string): string {\n return join(cwd, CONFIG_DIR, CONFIG_FILE);\n}\n\nexport async function readPvdsConfig(cwd: string): Promise<PvdsConfig | undefined> {\n const path = configPath(cwd);\n if (!existsSync(path)) return undefined;\n try {\n return JSON.parse(await readFile(path, \"utf8\")) as PvdsConfig;\n } catch {\n return undefined;\n }\n}\n\nexport async function writePvdsConfig(cwd: string, config: PvdsConfig): Promise<string> {\n const path = configPath(cwd);\n const { mkdir } = await import(\"node:fs/promises\");\n await mkdir(join(cwd, CONFIG_DIR), { recursive: true });\n await writeFile(path, JSON.stringify(config, null, 2) + \"\\n\");\n return path;\n}\n\nexport function packageJsonPath(cwd: string): string {\n return join(cwd, \"package.json\");\n}\n","import { existsSync } from \"node:fs\";\nimport { relative, resolve } from \"node:path\";\n\nimport { defineCommand } from \"citty\";\n\nimport { CONFIG_DIR, CONFIG_FILE, packageJsonPath, readPvdsConfig } from \"../paths.js\";\nimport { readStoredSkillsRoot } from \"../roots.js\";\n\ninterface DoctorCheck {\n name: string;\n ok: boolean;\n detail?: string;\n}\n\nexport const doctor = defineCommand({\n meta: {\n name: \"doctor\",\n description: \"Verify the PVDS skills install (config, skills root, skills present).\",\n },\n args: {\n path: {\n type: \"string\",\n description: \"Directory to inspect (default: repo root).\",\n },\n },\n async run({ args }) {\n const cwd = resolve(args.path ?? \".\");\n const checks: DoctorCheck[] = [];\n\n checks.push({ name: \"package.json\", ok: existsSync(packageJsonPath(cwd)) });\n\n const config = await readPvdsConfig(cwd);\n checks.push({\n name: `${CONFIG_DIR}/${CONFIG_FILE}`,\n ok: config !== undefined,\n detail: config\n ? `installed v${config.version} at ${config.installedAt}`\n : \"missing — run `pvds-skills init`\",\n });\n\n if (config) {\n const skillsRootAbs = readStoredSkillsRoot(cwd, config.skillsRoot);\n const displayRoot =\n skillsRootAbs === cwd ? \".\" : relative(cwd, skillsRootAbs) || skillsRootAbs;\n checks.push({\n name: \"skills root\",\n ok: existsSync(skillsRootAbs),\n detail: `${displayRoot}${skillsRootAbs === cwd ? \" (same as config root)\" : \"\"}`,\n });\n const skillsPath = resolve(skillsRootAbs, config.skillsDir);\n checks.push({\n name: `skills dir (${config.skillsDir})`,\n ok: existsSync(skillsPath),\n detail: existsSync(skillsPath) ? skillsPath : \"missing — run `pvds-skills init`\",\n });\n }\n\n for (const check of checks) {\n const status = check.ok ? \"OK \" : \"FAIL \";\n console.log(`${status} ${check.name}${check.detail ? ` (${check.detail})` : \"\"}`);\n }\n const failed = checks.filter((c) => !c.ok);\n process.exitCode = failed.length === 0 ? 0 : 1;\n },\n});\n","import { existsSync, statSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { dirname, isAbsolute, relative, resolve, sep } from \"node:path\";\n\nexport interface DetectedSkillsRoot {\n path: string;\n reason: string;\n /** true when the resolved root equals the configRoot (no divergence). */\n isConfigRoot: boolean;\n}\n\ninterface Marker {\n file: string;\n reason: string;\n requireDir?: boolean;\n}\n\n/** Agent surfaces — a hit here always beats any monorepo/repo signal. */\nconst AGENT_MARKERS: readonly Marker[] = [\n { file: \".claude/skills\", reason: \".claude/skills already exists\", requireDir: true },\n { file: \"AGENTS.md\", reason: \"AGENTS.md\" },\n { file: \".github/copilot-instructions.md\", reason: \".github/copilot-instructions.md\" },\n];\n\n/** Fallback — only used when no agent markers are found anywhere in the walk. */\nconst REPO_MARKERS: readonly Marker[] = [\n { file: \"pnpm-workspace.yaml\", reason: \"pnpm-workspace.yaml\" },\n { file: \"lerna.json\", reason: \"lerna.json\" },\n { file: \"nx.json\", reason: \"nx.json\" },\n { file: \"turbo.json\", reason: \"turbo.json\" },\n { file: \".git\", reason: \".git\", requireDir: true },\n];\n\nconst MAX_WALK_DEPTH = 12;\n\nfunction markerHit(cwd: string, marker: Marker): boolean {\n const candidate = resolve(cwd, marker.file);\n if (!existsSync(candidate)) return false;\n if (marker.requireDir) {\n try {\n return statSync(candidate).isDirectory();\n } catch {\n return false;\n }\n }\n return true;\n}\n\nfunction firstHit(cwd: string, markers: readonly Marker[]): Marker | undefined {\n for (const marker of markers) {\n if (markerHit(cwd, marker)) return marker;\n }\n return undefined;\n}\n\n/**\n * Walk upward from `configRoot` collecting the outermost agent marker and the\n * outermost repo/monorepo marker. Agent markers always win. Falls back to\n * `configRoot` when nothing is found.\n *\n * The walk stops at the filesystem root, MAX_WALK_DEPTH, or (when configRoot\n * is under the user's HOME) the HOME directory itself — so personal installs\n * at `~/.claude/skills/` don't hijack a project sitting in `~/code/repo/`.\n */\nexport function detectSkillsRoot(configRoot: string): DetectedSkillsRoot {\n const start = resolve(configRoot);\n const home = homedir();\n const respectHome = start === home || start.startsWith(home + sep);\n\n let agentHit: { path: string; marker: Marker } | undefined;\n let repoHit: { path: string; marker: Marker } | undefined;\n\n let current = start;\n for (let depth = 0; depth <= MAX_WALK_DEPTH; depth++) {\n const agent = firstHit(current, AGENT_MARKERS);\n if (agent) agentHit = { path: current, marker: agent };\n const repo = firstHit(current, REPO_MARKERS);\n if (repo) repoHit = { path: current, marker: repo };\n\n const parent = dirname(current);\n if (parent === current) break;\n if (respectHome && parent === home) break;\n current = parent;\n }\n\n const chosen = agentHit ?? repoHit;\n if (!chosen) {\n return {\n path: start,\n reason: \"no monorepo markers found — using config root\",\n isConfigRoot: true,\n };\n }\n return {\n path: chosen.path,\n reason: chosen.marker.reason,\n isConfigRoot: chosen.path === start,\n };\n}\n\n/**\n * Resolve the skills root from an optional override, otherwise auto-detect.\n * `override` may be absolute or relative to `configRoot`.\n */\nexport function resolveSkillsRoot(configRoot: string, override?: string): DetectedSkillsRoot {\n const start = resolve(configRoot);\n if (override && override.length > 0) {\n const abs = isAbsolute(override) ? override : resolve(start, override);\n return {\n path: abs,\n reason: \"explicit --skills-root\",\n isConfigRoot: abs === start,\n };\n }\n return detectSkillsRoot(start);\n}\n\n/** Read a stored skills root (config's `skillsRoot`) as an absolute path. */\nexport function readStoredSkillsRoot(configRoot: string, stored?: string): string {\n const start = resolve(configRoot);\n if (!stored || stored === \".\") return start;\n return isAbsolute(stored) ? stored : resolve(start, stored);\n}\n\n/**\n * Convert an absolute skills-root path to the value written to config.json.\n * Returns \".\" when the skills root equals the config root — keeping the\n * on-disk representation compact and portable.\n */\nexport function skillsRootForConfig(configRoot: string, absoluteSkillsRoot: string): string {\n const start = resolve(configRoot);\n if (absoluteSkillsRoot === start) return \".\";\n const rel = relative(start, absoluteSkillsRoot);\n return rel === \"\" ? \".\" : rel;\n}\n","import { defineCommand } from \"citty\";\n\nexport const fix = defineCommand({\n meta: {\n name: \"fix\",\n description:\n \"Apply auto-fixes for PVDS issues. (Currently a no-op; fixable checks land later.)\",\n },\n args: {\n path: {\n type: \"string\",\n description: \"Directory to fix (default: repo root).\",\n },\n },\n async run() {\n console.log(\n \"pvds-skills fix: no-op. No auto-fixable checks are configured in this release.\\n\" +\n \" Run `pvds-skills check` to see current issues; ESLint-based autofix ships in a future release.\",\n );\n process.exitCode = 0;\n },\n});\n","import { existsSync } from \"node:fs\";\nimport { relative, resolve } from \"node:path\";\n\nimport { defineCommand } from \"citty\";\n\nimport pkg from \"../../../package.json\" with { type: \"json\" };\nimport { CONFIG_DIR, CONFIG_FILE, packageJsonPath, writePvdsConfig } from \"../paths.js\";\nimport { buildDlxInvocation, dlxPrefix, PACKAGE_MANAGERS, resolvePackageManager } from \"../pm.js\";\nimport { resolveSkillsRoot, skillsRootForConfig } from \"../roots.js\";\nimport { runCommand } from \"../spawn.js\";\n\nexport const init = defineCommand({\n meta: {\n name: \"init\",\n description:\n \"Install PVDS agent skills and record a .pvds-skills/config.json marker for future runs.\",\n },\n args: {\n yes: {\n type: \"boolean\",\n description:\n \"Forward -y to the downstream `skills add` command so it skips its prompts. `pvds-skills init` itself is non-interactive; use this in CI or headless runs.\",\n default: false,\n },\n \"skills-dir\": {\n type: \"string\",\n description: \"Directory to install skill markdown into.\",\n default: \".claude/skills\",\n },\n agent: {\n type: \"string\",\n description: \"Target coding agent for skills add (default: claude-code).\",\n default: \"claude-code\",\n },\n \"install-skills\": {\n type: \"boolean\",\n description: \"Install skill markdown via `skills add` (network call). Default: true.\",\n default: true,\n },\n \"package-manager\": {\n type: \"string\",\n description: `Override the detected package manager (one of: ${PACKAGE_MANAGERS.join(\", \")}).`,\n },\n \"skills-root\": {\n type: \"string\",\n description:\n \"Where `.claude/skills/` gets installed (absolute or relative to cwd). Auto-detected from repo markers when omitted; use `.` to keep skills next to the config.\",\n },\n cwd: {\n type: \"string\",\n description: \"Target project directory (default: current working directory).\",\n },\n },\n async run({ args }) {\n const cwd = resolve(args.cwd ?? \".\");\n if (!existsSync(packageJsonPath(cwd))) {\n console.error(`No package.json at ${cwd}. Run this from your project root.`);\n process.exitCode = 1;\n return;\n }\n\n const skillsRoot = resolveSkillsRoot(cwd, args[\"skills-root\"]);\n const skillsRootRel = skillsRootForConfig(cwd, skillsRoot.path);\n\n const configFilePath = await writePvdsConfig(cwd, {\n version: pkg.version,\n installedAt: new Date().toISOString(),\n skillsDir: args[\"skills-dir\"],\n agent: args.agent,\n skillsRoot: skillsRootRel,\n });\n console.log(`wrote ${relative(cwd, configFilePath)}`);\n\n if (skillsRoot.isConfigRoot) {\n console.log(`skills root: ${relative(cwd, skillsRoot.path) || \".\"} (${skillsRoot.reason})`);\n } else {\n console.log(\n `skills root: ${skillsRoot.path}\\n detected from: ${skillsRoot.reason}\\n override with --skills-root=<path>`,\n );\n }\n\n const pm = resolvePackageManager(cwd, args[\"package-manager\"]);\n\n if (args[\"install-skills\"]) {\n const skillsArgs = [\n \"skills\",\n \"add\",\n \"planview-ds/skills\",\n \"--skill\",\n \"pvds-knowledge\",\n \"--skill\",\n \"pvds-builder\",\n \"--skill\",\n \"pvds-peer-review\",\n \"--agent\",\n args.agent,\n ];\n if (args.yes) skillsArgs.push(\"-y\");\n const [dlxPackage, ...rest] = skillsArgs;\n const invocation = buildDlxInvocation(pm, dlxPackage!, rest);\n console.log(\n `running (${pm}) in ${skillsRoot.path}: ${invocation.cmd} ${invocation.args.join(\" \")}\\n`,\n );\n const result = await runCommand(invocation.cmd, invocation.args, {\n cwd: skillsRoot.path,\n stdio: \"inherit\",\n });\n if (result.code === 0) {\n console.log(\"\\ninstalled skill markdown\");\n } else {\n console.warn(\n `\\nwarning: '${invocation.cmd} ${invocation.args[0]} ...' exited ${result.code}. Skill markdown was NOT installed. Re-run manually.`,\n );\n }\n } else {\n console.log(\"skipped skills add (--no-install-skills)\");\n }\n\n const nextCmd = `${dlxPrefix(pm)} @planview/pvds-skills check`;\n if (skillsRoot.isConfigRoot) {\n console.log(`\\ndone. Next: run \\`${nextCmd}\\`. See ${CONFIG_DIR}/${CONFIG_FILE}.`);\n } else {\n console.log(\n `\\ndone.\\n config root: ${cwd}\\n skills root: ${skillsRoot.path}\\n next: \\`${nextCmd}\\` (run from the config root).`,\n );\n }\n },\n});\n","import { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n\nexport type PackageManager = \"pnpm\" | \"npm\" | \"yarn\" | \"bun\";\n\nexport const PACKAGE_MANAGERS: readonly PackageManager[] = [\"pnpm\", \"npm\", \"yarn\", \"bun\"];\n\nfunction isPackageManager(value: string): value is PackageManager {\n return (PACKAGE_MANAGERS as readonly string[]).includes(value);\n}\n\n/** Detect a project's package manager via package.json `packageManager`, then lockfile presence, defaulting to npm. */\nexport function detectPackageManager(cwd: string): PackageManager {\n const pkgJsonPath = join(cwd, \"package.json\");\n if (existsSync(pkgJsonPath)) {\n try {\n const pkg = JSON.parse(readFileSync(pkgJsonPath, \"utf8\")) as {\n packageManager?: unknown;\n };\n if (typeof pkg.packageManager === \"string\") {\n const name = pkg.packageManager.split(\"@\")[0]?.trim();\n if (name && isPackageManager(name)) return name;\n }\n } catch {\n /* ignore malformed package.json */\n }\n }\n if (existsSync(join(cwd, \"pnpm-lock.yaml\"))) return \"pnpm\";\n if (existsSync(join(cwd, \"bun.lockb\")) || existsSync(join(cwd, \"bun.lock\"))) return \"bun\";\n if (existsSync(join(cwd, \"yarn.lock\"))) return \"yarn\";\n if (existsSync(join(cwd, \"package-lock.json\"))) return \"npm\";\n return \"npm\";\n}\n\nexport interface DlxInvocation {\n cmd: string;\n args: string[];\n}\n\n/** Build a DLX-style invocation for the given package manager. */\nexport function buildDlxInvocation(\n pm: PackageManager,\n dlxPackage: string,\n rest: readonly string[],\n): DlxInvocation {\n switch (pm) {\n case \"pnpm\":\n return { cmd: \"pnpm\", args: [\"dlx\", dlxPackage, ...rest] };\n case \"yarn\":\n return { cmd: \"yarn\", args: [\"dlx\", dlxPackage, ...rest] };\n case \"bun\":\n return { cmd: \"bunx\", args: [dlxPackage, ...rest] };\n case \"npm\":\n default:\n return { cmd: \"npx\", args: [\"--yes\", dlxPackage, ...rest] };\n }\n}\n\nexport function resolvePackageManager(cwd: string, override?: string): PackageManager {\n if (override && isPackageManager(override)) return override;\n return detectPackageManager(cwd);\n}\n\n/** DLX-style prefix (\"pnpm dlx\", \"npx --yes\", etc.) for use in help / log messages. */\nexport function dlxPrefix(pm: PackageManager): string {\n switch (pm) {\n case \"pnpm\":\n return \"pnpm dlx\";\n case \"yarn\":\n return \"yarn dlx\";\n case \"bun\":\n return \"bunx\";\n case \"npm\":\n default:\n return \"npx --yes\";\n }\n}\n","import { spawn } from \"node:child_process\";\n\nexport interface RunCommandResult {\n code: number;\n stdout: string;\n stderr: string;\n}\n\nexport interface RunCommandOptions {\n cwd: string;\n /** \"inherit\" wires the child directly to the parent's stdio (for interactive prompts). \"pipe\" captures both streams. Default \"pipe\". */\n stdio?: \"inherit\" | \"pipe\";\n}\n\nexport function runCommand(\n cmd: string,\n args: string[],\n cwdOrOptions: string | RunCommandOptions,\n): Promise<RunCommandResult> {\n const options: RunCommandOptions =\n typeof cwdOrOptions === \"string\" ? { cwd: cwdOrOptions } : cwdOrOptions;\n const stdio = options.stdio ?? \"pipe\";\n return new Promise((resolve) => {\n const child = spawn(cmd, args, { cwd: options.cwd, shell: false, stdio });\n let stdout = \"\";\n let stderr = \"\";\n if (stdio === \"pipe\") {\n child.stdout?.on(\"data\", (d: Buffer) => {\n stdout += d.toString();\n });\n child.stderr?.on(\"data\", (d: Buffer) => {\n stderr += d.toString();\n });\n }\n child.on(\"close\", (code) => {\n resolve({ code: code ?? -1, stdout, stderr });\n });\n child.on(\"error\", () => {\n resolve({ code: -1, stdout, stderr });\n });\n });\n}\n","import { defineCommand } from \"citty\";\n\nimport { getPvdsManifest, type ComponentEntry } from \"../../_analysis/manifest-loader.js\";\n\ninterface Match {\n package: string;\n entry: ComponentEntry;\n deprecatedMessage?: string;\n}\n\nconst NOT_FOUND_NOTE =\n \"Note: the manifest only knows components the generator's TypeScript analysis could actually \" +\n \"classify as components (a small number of unusual patterns — e.g. styled-components-based \" +\n \"components — can slip through). Not finding a match here doesn't necessarily mean the \" +\n \"component doesn't exist in the package.\";\n\n/** Only own-declared props are listed above. Components vary in whether/what standard\n * HTML/React/ARIA attributes they additionally accept (extends vs. Pick vs. neither),\n * so state what the manifest actually knows instead of assuming a fixed attribute set.\n * Explicitly calls out `children` since it's inherited the same way (from DOMAttributes)\n * and its absence above is easy to misread as \"this component doesn't accept children\". */\nfunction extraAttrsNote(extendsStandardAttrs: boolean): string {\n if (!extendsStandardAttrs) {\n return (\n \" (this component's props don't extend/Pick a standard DOM/ARIA attributes type — \" +\n \"standard HTML attributes like className/onClick/children/aria-* may not be valid here.)\"\n );\n }\n return (\n \" (this component's props extend/Pick from a standard DOM/ARIA attributes type (which \" +\n \"includes children, className, onClick, aria-*, ...), so some or all of those are likely \" +\n \"valid even though they're not own-declared — check its TypeScript type for the exact set, \" +\n \"since it may only Pick a subset.)\"\n );\n}\n\nexport const props = defineCommand({\n meta: {\n name: \"props\",\n description:\n \"Look up a PVDS component's own-declared props (name, type, enum values, deprecations) from the bundled manifest — no source scanning or network required.\",\n },\n args: {\n component: {\n type: \"positional\",\n description: \"Component name to look up, e.g. Button, Grid, FilterPanel.\",\n required: true,\n },\n package: {\n type: \"string\",\n description:\n \"Restrict the lookup to one @planview/pv-* package (disambiguates name collisions).\",\n },\n format: {\n type: \"string\",\n description: \"Output format: human or json.\",\n default: \"human\",\n },\n },\n async run({ args }) {\n const manifest = getPvdsManifest();\n const wanted = args.component.toLowerCase();\n const json = (args.format ?? \"human\") === \"json\";\n\n const matches: Match[] = [];\n for (const [pkgName, components] of Object.entries(manifest.components)) {\n if (args.package && pkgName !== args.package) continue;\n for (const entry of components) {\n if (entry.name.toLowerCase() !== wanted) continue;\n const deprecatedMessage = manifest.deprecations[pkgName]?.find(\n (d) => d.name === entry.name,\n )?.message;\n matches.push({ package: pkgName, entry, ...(deprecatedMessage && { deprecatedMessage }) });\n }\n }\n\n if (matches.length === 0) {\n if (json) {\n console.log(JSON.stringify({ found: false, component: args.component }, null, 2));\n } else {\n console.log(\n `No manifest entry for \"${args.component}\"${args.package ? ` in ${args.package}` : \"\"}.\\n` +\n NOT_FOUND_NOTE,\n );\n }\n process.exitCode = 1;\n return;\n }\n\n if (json) {\n console.log(\n JSON.stringify(\n {\n found: true,\n component: args.component,\n matches: matches.map((m) => ({\n package: m.package,\n name: m.entry.name,\n ...(m.deprecatedMessage && { deprecatedMessage: m.deprecatedMessage }),\n props: m.entry.props,\n extendsStandardAttrs: m.entry.extendsStandardAttrs,\n })),\n },\n null,\n 2,\n ),\n );\n return;\n }\n\n for (const m of matches) {\n console.log(`${m.entry.name} (${m.package})`);\n if (m.deprecatedMessage) {\n console.log(` ⚠ deprecated: ${m.deprecatedMessage.split(\"\\n\")[0]}`);\n }\n for (const p of m.entry.props) {\n const enumPart = p.enumValues ? ` [${p.enumValues.map((v) => `\"${v}\"`).join(\" | \")}]` : \"\";\n const depPart = p.deprecated ? ` ⚠ deprecated: ${p.deprecated}` : \"\";\n console.log(` ${p.name}: ${p.type}${enumPart}${depPart}`);\n }\n if (m.entry.props.length === 0) {\n console.log(\" (no own-declared props)\");\n }\n console.log(extraAttrsNote(m.entry.extendsStandardAttrs));\n console.log(\"\");\n }\n },\n});\n","import { resolve } from \"node:path\";\n\nimport { defineCommand } from \"citty\";\n\nimport pkg from \"../../../package.json\" with { type: \"json\" };\nimport { readPvdsConfig, writePvdsConfig } from \"../paths.js\";\nimport { buildDlxInvocation, PACKAGE_MANAGERS, resolvePackageManager } from \"../pm.js\";\nimport { readStoredSkillsRoot, resolveSkillsRoot, skillsRootForConfig } from \"../roots.js\";\nimport { runCommand } from \"../spawn.js\";\n\nexport const upgrade = defineCommand({\n meta: {\n name: \"upgrade\",\n description: \"Refresh skill markdown and bump .pvds-skills/config.json to the current version.\",\n },\n args: {\n path: {\n type: \"string\",\n description: \"Target directory (default: cwd).\",\n },\n \"install-skills\": {\n type: \"boolean\",\n description: \"Refresh skill markdown via `skills add`. Default: true.\",\n default: true,\n },\n \"package-manager\": {\n type: \"string\",\n description: `Override the detected package manager (one of: ${PACKAGE_MANAGERS.join(\", \")}).`,\n },\n \"skills-root\": {\n type: \"string\",\n description:\n \"Override the skills root recorded in config (absolute or relative to cwd). Also updates the stored value.\",\n },\n },\n async run({ args }) {\n const cwd = resolve(args.path ?? \".\");\n const existing = await readPvdsConfig(cwd);\n if (!existing) {\n console.error(\"No .pvds-skills/config.json. Run `pvds-skills init` first.\");\n process.exitCode = 1;\n return;\n }\n\n // Explicit override → re-resolve; otherwise honor what init recorded.\n const skillsRootAbs = args[\"skills-root\"]\n ? resolveSkillsRoot(cwd, args[\"skills-root\"]).path\n : readStoredSkillsRoot(cwd, existing.skillsRoot);\n const skillsRootRel = skillsRootForConfig(cwd, skillsRootAbs);\n\n await writePvdsConfig(cwd, {\n ...existing,\n version: pkg.version,\n installedAt: new Date().toISOString(),\n skillsRoot: skillsRootRel,\n });\n console.log(`bumped config to v${pkg.version}`);\n if (skillsRootAbs !== cwd) {\n console.log(`skills root: ${skillsRootAbs}`);\n }\n\n if (args[\"install-skills\"]) {\n const skillsArgs = [\n \"skills\",\n \"add\",\n \"planview-ds/skills\",\n \"--skill\",\n \"pvds-knowledge\",\n \"--skill\",\n \"pvds-builder\",\n \"--skill\",\n \"pvds-peer-review\",\n \"--agent\",\n existing.agent,\n \"-y\",\n ];\n const pm = resolvePackageManager(cwd, args[\"package-manager\"]);\n const [dlxPackage, ...rest] = skillsArgs;\n const invocation = buildDlxInvocation(pm, dlxPackage!, rest);\n console.log(\n `running (${pm}) in ${skillsRootAbs}: ${invocation.cmd} ${invocation.args.join(\" \")}\\n`,\n );\n const result = await runCommand(invocation.cmd, invocation.args, {\n cwd: skillsRootAbs,\n stdio: \"inherit\",\n });\n if (result.code === 0) {\n console.log(\"\\nrefreshed skill markdown\");\n } else {\n console.warn(\n `\\nwarning: '${invocation.cmd} ${invocation.args[0]} ...' exited ${result.code}. Re-run manually.`,\n );\n }\n }\n },\n});\n","import { resolve } from \"node:path\";\n\nimport { defineCommand } from \"citty\";\n\nimport { majorVersion, resolveInstalledVersion } from \"../../_analysis/installed-versions.js\";\nimport { getPvdsManifest } from \"../../_analysis/manifest-loader.js\";\n\nexport const versions = defineCommand({\n meta: {\n name: \"versions\",\n description:\n \"Show which @planview/pv-* versions the bundled PVDS reference data (deprecations, enum props, style-token hints) was generated against, and compare against what's installed in a project.\",\n },\n args: {\n path: {\n type: \"string\",\n description: \"Project directory to compare installed versions against (default: cwd).\",\n },\n format: {\n type: \"string\",\n description: \"Output format: human or json.\",\n default: \"human\",\n },\n },\n async run({ args }) {\n const cwd = resolve(args.path ?? \".\");\n const manifest = getPvdsManifest();\n const packages = Object.keys(manifest.packageVersions).sort();\n\n const rows = await Promise.all(\n packages.map(async (name) => {\n const manifestVersion = manifest.packageVersions[name]!;\n const installedVersion = await resolveInstalledVersion(cwd, name);\n const drift =\n installedVersion !== undefined &&\n majorVersion(installedVersion) !== majorVersion(manifestVersion);\n return { name, manifestVersion, installedVersion, drift };\n }),\n );\n\n if ((args.format ?? \"human\") === \"json\") {\n console.log(\n JSON.stringify({ manifestGeneratedAt: manifest.generatedAt, packages: rows }, null, 2),\n );\n return;\n }\n\n console.log(`PVDS reference data generated: ${manifest.generatedAt}\\n`);\n for (const row of rows) {\n const installedCol = row.installedVersion\n ? `installed ${row.installedVersion}`\n : \"not installed here\";\n const marker = row.drift ? \" ⚠ major version drift\" : \"\";\n console.log(\n ` ${row.name.padEnd(26)} manifest ${row.manifestVersion.padEnd(10)} ${installedCol}${marker}`,\n );\n }\n if (rows.some((r) => r.drift)) {\n console.log(\n \"\\nMajor-version drift means deprecated-imports / unknown-props / invalid-enum-literal / \" +\n \"style-token hints for that package may be inaccurate — treat as advisory, or check for a \" +\n \"newer @planview/pvds-skills release. See also: `pvds-skills check` (rule \" +\n \"pvds/versions/manifest-drift).\",\n );\n }\n },\n});\n","import { defineCommand } from \"citty\";\n\nimport pkg from \"../../package.json\" with { type: \"json\" };\nimport { check } from \"./commands/check.js\";\nimport { doctor } from \"./commands/doctor.js\";\nimport { fix } from \"./commands/fix.js\";\nimport { init } from \"./commands/init.js\";\nimport { props } from \"./commands/props.js\";\nimport { upgrade } from \"./commands/upgrade.js\";\nimport { versions } from \"./commands/versions.js\";\n\nexport const main = defineCommand({\n meta: {\n name: \"pvds-skills\",\n version: pkg.version,\n description:\n \"Deterministic Planview Design System (PVDS) tooling + agent skills for coding agents and humans.\",\n },\n subCommands: {\n init,\n check,\n fix,\n upgrade,\n doctor,\n versions,\n props,\n },\n});\n\nexport { init, check, fix, upgrade, doctor, versions, props };\n","import { runMain } from \"citty\";\n\nimport { main } from \"./_cli/main.js\";\n\nrunMain(main);\n"],"mappings":"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A,MAAG,OAAKA,MAAG,OAAK,OAAKA,MAAGA,MAAG,OAAK,OAAKA,MAAGA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAK,OAAKA,MAAGA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAK,OAAKA,MAAGA,MAAG,OAAKA,MAAG,OAAKA,MAAG,OAAK,OAAKA,MAAGA,MAAG,OAAK,OAAKA,MAAGA,MAAG,OAAK,OAAKA,MAAGA,MAAG,OAAK,OAAKA,MAAGA,MAAG,OAAK,OAAKA,MAAGA,MAAG,OAAKA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAMA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAMA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAMA,MAAG,QAAMA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAMA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAM,QAAMA,MAAGA,MAAG,QAAMA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UA,MAAK,QACpBA,OAAM,QACNA,MAAK,QAAUA,MAAK,QACpBA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,MAAK,QAAUA,MAAK,QACpBA,OAAM,QACNA,OAAM,QACNA,MAAK,QAAUA,MAAK,QACpBA,OAAM,QACNA,MAAK,QAAUA,MAAK,QACpBA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,MAAK,QAAUA,MAAK,QACpBA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,MAAK,QAAUA,MAAK,QACpBA,MAAK,QAAUA,MAAK,QACpBA,MAAK,QAAUA,MAAK,QACpBA,MAAK,QAAUA,MAAK,QACpBA,MAAK,QAAUA,MAAK,QACpBA,OAAM,QACNA,OAAM,QACNA,MAAK,QAAUA,MAAK,QACpBA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,MAAK,QAAUA,MAAK,QACpBA,OAAM,QACNA,MAAK,QAAUA,MAAK,QACpBA,MAAK,QAAUA,MAAK,QACpBA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,MAAK,QAAUA,MAAK,QACpBA,MAAK,QAAUA,MAAK,QACpBA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,OAAM,QACNA,MAAK,QAAUA,MAAK,QACpBA,MAAK,QAAUA,MAAK,QACpBA,MAAK,QAAUA,MAAK,QACpBA,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YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,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AAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,M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AA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,QACT,QAAU;AAAA,QACV,OAAS;AAAA,MA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","names":["x","y","i","argv","env","isColorSupported","replaceClose","createColors","f","t","F","u","e","s","C","D","o","a","n","B","r","c","l","v","c","i","l","x","i","r","e","o","s","B","f","I","T","g","R","A","C","y","_","c","O","L","S","u","N","F","G","P","ansiRegex","stripAnsi","x","env","m","getColor","createConsola","i","l","c","x","k","a","writeFile","resolve","stdout","relPath","resolve","o","f","readFile","readdir","stat","join","relative","resolve","SKIP_DIRS","DEP_BUCKETS","i","m","f","o","d","a","b","readFile","relative","resolve","buildLineIndex","i","offsetToLineCol","i","k","c","offsetToLineCol","buildLineIndex","m","i","readdir","stat","isAbsolute","join","relative","i","c","a","relPath","SOURCE_EXTS","SKIP_DIRS","isAbsolute","join","stat","relative","walkSourceFiles","readdir","resolve","walkSourceFiles","readFile","b","d","relative","f","resolve","readFile","join","resolve","readFile","relative","resolve","m","i","c","buildLineIndex","a","b","m","offsetToLineCol","s","resolve","walkSourceFiles","readFile","f","relative","readFile","relative","resolve","resolve","walkSourceFiles","readFile","f","relative","readFile","relative","resolve","escapeRe","s","i","c","q","m","resolve","walkSourceFiles","readFile","buildLineIndex","b","comp","c","f","relative","escapeRe","m","offsetToLineCol","v","readFile","relative","resolve","resolve","walkSourceFiles","readFile","buildLineIndex","b","comp","scanComponent","c","f","relative","escapeRe","m","offsetToLineCol","i","readFile","join","s","c","resolve","r","f","writeFile","existsSync","relative","resolve","existsSync","isAbsolute","relative","resolve","sep","resolve","existsSync","relative","check","c","existsSync","relative","resolve","existsSync","join","runCommand","resolve","stdout","d","init","resolve","existsSync","relative","runCommand","d","m","v","resolve","resolve","runCommand","resolve","resolve","r","init"]}
|