efficient-shell 10.23.0 → 10.24.0
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 +14 -3
- package/dist/{Browser-GTQKXJQ6.js → Browser-KUFFOGYK.js} +14 -14
- package/dist/Calculator-LENRW34X.js +29 -0
- package/dist/CurrencyConverter-7UMHQS2V.js +21 -0
- package/dist/{Documents-MTCJXTXY.js → Documents-ODZ4AAOY.js} +16 -16
- package/dist/{Files-XMZ3XBP4.js → Files-BRGTTI2J.js} +25 -25
- package/dist/Notepad-RMRDEGGU.js +24 -0
- package/dist/{PomodoroTimer-5ELVNJEU.js → PomodoroTimer-4566W4F7.js} +40 -40
- package/dist/{Preview-QCA6XUDU.js → Preview-7POJP7PB.js} +33 -33
- package/dist/Sidebar-TU4QCKYJ.js +44 -0
- package/dist/Spreadsheet-7T4VT5IO.js +37 -0
- package/dist/{Stock-TRG6CAZJ.js → Stock-H73C4R3N.js} +3 -3
- package/dist/{Weather-YGTT7UWR.js → Weather-WF56QCBI.js} +19 -19
- package/dist/{WorldClock-UCX5LCJB.js → WorldClock-5QJNZYYS.js} +6 -6
- package/dist/ai/index.js +1 -1
- package/dist/api/shellHttp.d.ts +52 -0
- package/dist/api/shellHttp.js +1 -0
- package/dist/apps/index.js +1 -1
- package/dist/bin/media-host-check.js +1 -1
- package/dist/bin/ui-check.js +1 -1
- package/dist/chunk-2QY5BJLA.js +2 -0
- package/dist/chunk-3C5NKOVF.js +1 -0
- package/dist/chunk-3FBDLIQW.js +99 -0
- package/dist/chunk-4LXCCZDM.js +1 -0
- package/dist/chunk-5DIGYJHD.js +1 -0
- package/dist/{chunk-U2RFKQVA.js → chunk-5H4SWQGM.js} +1 -1
- package/dist/{chunk-75UD5ZMP.js → chunk-6IOFNPR6.js} +3 -3
- package/dist/{chunk-YOZGW2RB.js → chunk-7FW2BQTV.js} +1 -1
- package/dist/{chunk-RV2FGSGH.js → chunk-ALTBTO3Z.js} +2 -2
- package/dist/chunk-ATMJ5ZPK.js +1 -0
- package/dist/{chunk-XJPKDTQN.js → chunk-BUO7XCYR.js} +12 -12
- package/dist/{chunk-JET2TKEQ.js → chunk-DOF56HTO.js} +5 -5
- package/dist/chunk-E6FDUFPH.js +1 -0
- package/dist/chunk-EH2BNSG3.js +13 -0
- package/dist/chunk-F3ZOO23R.js +1 -0
- package/dist/chunk-HNVSVTNC.js +16 -0
- package/dist/{chunk-E6LQY6TB.js → chunk-IHNOWRTP.js} +2 -2
- package/dist/{chunk-E5QPXEKN.js → chunk-JFBL4PR3.js} +1 -1
- package/dist/{chunk-O52BQ5DP.js → chunk-NZ7BFYCM.js} +1 -1
- package/dist/chunk-O3MBPAWZ.js +2 -0
- package/dist/{chunk-DBL7MFCB.js → chunk-PVDZG2U2.js} +4 -4
- package/dist/{chunk-G7BBSHDF.js → chunk-QRU55BUS.js} +1 -1
- package/dist/{chunk-5RQJRD2E.js → chunk-RSOBUPLK.js} +1 -1
- package/dist/{chunk-VCCGS6Q2.js → chunk-S5DYR75A.js} +8 -8
- package/dist/chunk-STKJA4PV.js +1 -0
- package/dist/{chunk-ZTV2BA3P.js → chunk-U6LKNGC6.js} +1 -1
- package/dist/chunk-UKBXQXDZ.js +1 -0
- package/dist/chunk-ULJQYXHB.js +1 -0
- package/dist/{chunk-I4DLYOPO.js → chunk-V2J2AHDW.js} +4 -4
- package/dist/{chunk-Z46MSUTP.js → chunk-WLYYC3AP.js} +1 -1
- package/dist/{chunk-OGU5JE52.js → chunk-WOAMPTZI.js} +6 -6
- package/dist/{chunk-GCZU4XFA.js → chunk-Z6GQFTLJ.js} +1 -1
- package/dist/data/DataTable.js +1 -1
- package/dist/data/EntityList.d.ts +125 -0
- package/dist/data/EntityList.js +2 -0
- package/dist/data/ResizableTable.d.ts +31 -0
- package/dist/data/ResizableTable.js +2 -0
- package/dist/data/useColumnConfig.d.ts +68 -0
- package/dist/data/useColumnConfig.js +2 -0
- package/dist/data/useSort.d.ts +55 -0
- package/dist/data/useSort.js +2 -0
- package/dist/data/useTableNav.d.ts +28 -0
- package/dist/data/useTableNav.js +2 -0
- package/dist/format/index.js +1 -1
- package/dist/forms/BorderInput.js +1 -1
- package/dist/forms/BrandAssetEditor.js +1 -1
- package/dist/forms/ColorPicker.js +1 -1
- package/dist/forms/CornersInput.js +1 -1
- package/dist/forms/InputNumber.js +1 -1
- package/dist/forms/LinkPicker.js +1 -1
- package/dist/forms/MediaLibrary.js +1 -1
- package/dist/forms/MediaUploadGrid.js +1 -1
- package/dist/forms/PositionInput.js +1 -1
- package/dist/forms/SidesInput.js +1 -1
- package/dist/forms/Slider.js +1 -1
- package/dist/forms/WidthsBar.js +1 -1
- package/dist/icons/efficient-glyphs.js +1 -1
- package/dist/icons/efficient-looks.js +1 -1
- package/dist/icons/efficient.js +1 -1
- package/dist/icons/looks/map.js +1 -1
- package/dist/icons/payment.js +1 -1
- package/dist/icons/sets.js +1 -1
- package/dist/index.d.ts +13 -317
- package/dist/index.js +667 -694
- package/dist/shell/LanguageSelect.js +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/templates/DataTablePage.js +1 -1
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.js +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/dist/Calculator-PM4TYWTE.js +0 -29
- package/dist/CurrencyConverter-4I2ENTSX.js +0 -21
- package/dist/Notepad-QIJN7VDZ.js +0 -24
- package/dist/Sidebar-7LN3ZEF4.js +0 -44
- package/dist/Spreadsheet-EKYP6XIX.js +0 -37
- package/dist/chunk-7IY47EKR.js +0 -1
- package/dist/chunk-CY5N5OA3.js +0 -2
- package/dist/chunk-I3XM2PSQ.js +0 -100
- package/dist/chunk-OFCHJWM2.js +0 -1
- /package/dist/{chunk-CSA6CGXS.js → chunk-RKLZDVAO.js} +0 -0
package/dist/bin/ui-check.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{execFileSync as e}from"child_process";import{createRequire as t}from"module";import{join as n}from"path";import{existsSync as i,readFileSync as o,writeFileSync as s,readdirSync as r}from"fs";var a=["button","input","range","textarea","select","dialog","title","portal","native","dark","hex","radius","spacing","font-size","z-index","shadow","kit","icon","svg","kit-dep","chart","chart-dep","ellipsis-label","colour"],l=e=>"string"==typeof e&&a.includes(e),c=["kit-dep","chart-dep"],d=e=>c.includes(e),u=a.filter(e=>!d(e)),h={button:{counts:"a raw <button>",instead:"Button or IconButton from efficient-shell/ui"},input:{counts:"a raw <input> (not hidden, not a range)",instead:"Input, InputNumber, Checkbox, Radio or Switch from efficient-shell/ui"},range:{counts:'a raw <input type="range">',instead:"Slider from efficient-shell/ui"},textarea:{counts:"a raw <textarea>",instead:"Textarea from efficient-shell/ui"},select:{counts:"a raw <select>",instead:"Select or SearchableSelect from efficient-shell/ui"},dialog:{counts:'a raw <dialog>, or role="dialog" / role="alertdialog" on a raw element',instead:"Dialog or Modal from efficient-shell"},title:{counts:"a title= on a raw element (the browser's own tooltip)",instead:"Tooltip from efficient-shell/ui (harness UI-17)"},portal:{counts:"a createPortal(…) call (a layer the file floats itself)",instead:"Popover, PopupMenu, DropdownMenu, Tooltip or Dialog from efficient-shell/ui"},native:{counts:"window.confirm / alert / prompt, or a bare call that resolves to one",instead:"confirm, confirmDestructive, prompt or toast from efficient-shell (harness UI-20)"},dark:{counts:"a dark: variant in a class string",instead:"the light Tailwind class alone; the shell remaps it in dark mode (harness UI-7)"},hex:{counts:"a hex colour literal in a .tsx string",instead:"a colour role from efficient-shell: its utility or var(--role), COLOUR_ROLES lists them (harness FT-1; the colour kind counts palette classes too)"},radius:{counts:"a literal corner radius (an arbitrary-value radius class, or an inline borderRadius)",instead:"a radius utility from the scale or a role token such as rounded-(--radius-control); the theme sets how round they are (harness UI-7)"},spacing:{counts:"a padding, margin or gap off the scale (6px, 10px, 14px …) or written as a literal length (an arbitrary-value class, an inline style)",instead:"a step of the scale 2/4/8/12/16/20/24/32/40/48 — a Tailwind step, or a role such as var(--space-control-x) (owner ruling 2026-10-12)"},"font-size":{counts:"a literal font size (an arbitrary-value text class, an inline fontSize)",instead:"a type step 9/11/12/14/16/18/20/24/30 — Tailwind's 3xs … 3xl text steps (owner ruling 2026-10-12)"},"z-index":{counts:"a stack order above 30 written as a number (a z utility, an arbitrary value, an inline zIndex)",instead:"a named layer: Z_LAYERS (efficient-shell/ui) in code, its --z-* custom property in markup"},shadow:{counts:"a literal shadow, or a shadow size that is not an elevation level (md, 2xl, xs)",instead:"an elevation: the sm / lg / xl utilities, or var(--elevation-panel) and its siblings (owner ruling 2026-10-12)"},kit:{counts:"an import of a second UI kit",instead:"the component from efficient-shell/ui, or fold it into the shell (harness FT-3)"},icon:{counts:"an import of an icon package",instead:"<Icon name> from efficient-shell/icons, drawn by the one set (harness UI-24)"},svg:{counts:"an <svg> element written in JSX: an icon drawn in place",instead:"<Icon name> from efficient-shell/icons, drawn by the one set (harness UI-24). A chart, an illustration or a mark a host supplies stays on the baseline"},"kit-dep":{counts:"a UI kit or icon package declared in package.json (not one the shell entries imported here need)",instead:"remove the dependency once nothing imports it (harness FT-3)"},chart:{counts:"an import of a second chart library",instead:"a chart from efficient-shell/ui (ChartFrame, TimeSeriesChart, ColumnChart, RankedBars, PieChart, FunnelChart, ScatterChart, …), or add the chart there: one chart system (harness FT-3)"},"chart-dep":{counts:"a chart library declared in package.json",instead:"remove the dependency once nothing imports it (harness FT-3)"},"ellipsis-label":{counts:'a button, link or menu label that ends in "…" or "..."',instead:'the label without the dots, saying what it does ("Extend trial"): "…" means only "the words are cut" (owner ruling 2026-10-14)'},colour:{counts:"a literal colour, in a script string or a stylesheet: a hex, an rgb() / hsl() / oklch() value, a Tailwind palette class (a hue and a step, or white / black), a --color-<hue>-<step> variable, or a named colour in a colour property — a var() fallback included",instead:"a colour role from efficient-shell: its utility (the text, background or border utility of ink, ink-faint, surface, line, accent-fill, accent-text, danger-text, status-danger-line …) or var(--role); COLOUR_ROLES lists them. A merchant site reads the site theme (owner ruling 2026-10-23)"}},p=["@headlessui/","@radix-ui/","@mui/","@chakra-ui/","@mantine/","@floating-ui/","antd","react-aria","react-aria-","react-bootstrap","react-select","react-colorful","react-tooltip","react-hot-toast","react-toastify","sonner"],f=["@heroicons/","@tabler/icons","@tabler/icons-","@phosphor-icons/","@fortawesome/","@iconify/","@radix-ui/react-icons","@mui/icons-material","lucide","lucide-react","simple-icons","react-icons","react-feather"],g=["recharts","chart.js","react-chartjs-2","d3","d3-","@nivo/","victory","victory-","echarts","echarts-for-react","apexcharts","react-apexcharts","@visx/","highcharts","highcharts-react-official","plotly.js","plotly.js-dist","react-plotly.js","lightweight-charts","@antv/g2","@antv/g2plot","chartist","billboard.js","c3","uplot"],m={"efficient-shell":["@headlessui/react"]};function w(e,t){return t.some(t=>t.endsWith("/")||t.endsWith("-")?e.startsWith(t):e===t||e.startsWith(`${t}/`))}function k(e){return w(e,f)?"icon":w(e,p)?"kit":w(e,g)?"chart":null}function x(e){const t=k(e);return"kit"===t||"icon"===t?"kit-dep":"chart"===t?"chart-dep":null}var b=/[.+^$()|[\]\\]/g;function $(e){let t="",n=0;for(let i=0;i<e.length;i++){const o=e[i];"*"===o?"*"===e[i+1]?"/"===e[i+2]?(t+="(?:[^/]+/)*",i+=2):(t+=".*",i+=1):t+="[^/]*":"?"===o?t+="[^/]":"{"===o?(t+="(?:",n+=1):"}"===o&&n>0?(t+=")",n-=1):t+=","===o&&n>0?"|":o.replace(b,"\\$&")}if(0!==n)throw new Error(`unbalanced { in glob "${e}"`);return new RegExp(`^${t}$`)}function y(e){const t=e.map($);return e=>t.some(t=>t.test(e))}var v=new Set(["node_modules",".git"]),S=new Set(["dist","coverage",".next",".turbo"]);function j(e){const t=e.search(/[*?{]/),n=-1===t?e:e.slice(0,t),i=n.lastIndexOf("/");return-1===i?"":n.slice(0,i)}function I(e,t){const i=y(t),o=[...new Set(t.map(j))].sort(),s=o.filter(e=>!o.some(t=>t!==e&&(""===t||e.startsWith(`${t}/`)))),a=new Set,l=t=>{let o;try{o=r(n(e,t),{withFileTypes:!0})}catch{return}for(const e of o){const n=t?`${t}/${e.name}`:e.name;e.isDirectory()?v.has(e.name)||""===t&&S.has(e.name)||l(n):e.isFile()&&i(n)&&a.add(n)}};for(const e of s)l(e);return[...a].sort(L)}var L=(e,t)=>e<t?-1:e>t?1:0,R=class extends Error{},A=(e,t)=>`${e}:${t}`;function z(e){const t=e.lastIndexOf(":");return{file:e.slice(0,t),kind:e.slice(t+1)}}var E=e=>a.indexOf(e);function C(e,t){const n=z(e),i=z(t);return L(n.file,i.file)||E(n.kind)-E(i.kind)}function T(e,t="ui-kit.baseline.json"){let n;try{n=JSON.parse(e)}catch(e){throw new R(`${t} is not valid JSON: ${e.message}`)}const i=e=>{throw new R(`${t}: ${e}. The tool writes this file; do not edit it by hand.`)};if("object"!=typeof n||null===n||Array.isArray(n))return i("must be a JSON object");const o=n;if(1!==o.schema)return i("number"==typeof o.schema&&o.schema>1?`"schema": ${o.schema} is newer than this efficient-shell reads (1); upgrade efficient-shell`:'"schema" must be 1');if(!Array.isArray(o.kinds)||o.kinds.some(e=>"string"!=typeof e))return i('"kinds" must be a list');const s=o.kinds.filter(l);if("object"!=typeof o.counts||null===o.counts||Array.isArray(o.counts))return i('"counts" must be an object');const r=new Map;for(const[e,t]of Object.entries(o.counts)){const{file:n,kind:o}=z(e);if(!n||!o)return i(`"${e}" is not "<file>:<kind>"`);if("number"!=typeof t||!Number.isInteger(t)||t<1)return i(`"${e}" must be a whole number, 1 or more (a line that reaches 0 is deleted)`);l(o)&&r.set(e,t)}return{kinds:s,counts:r}}function M(e){const t=a.filter(t=>e.kinds.includes(t)),n=[...e.counts.keys()].filter(t=>(e.counts.get(t)??0)>0).sort(C).map(t=>` ${JSON.stringify(t)}: ${e.counts.get(t)}`);return["{",' "schema": 1,',` "kinds": [${t.map(e=>JSON.stringify(e)).join(", ")}],`,n.length?` "counts": {\n${n.join(",\n")}\n }`:' "counts": {}',"}",""].join("\n")}function B(e){const t={};for(const[n,i]of e){const{kind:e}=z(n);l(e)&&(t[e]=(t[e]??0)+i)}return t}var P=class extends Error{},O=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),D=new Set(["$schema","schema","kinds","include","exclude","includeImporting","output","allow"]);var N="package.json",F=[2,4,8,12,16,20,24,32,40,48];function J(e){if("0"===e||"px"===e)return!0;const t=Number(e);return!!Number.isFinite(t)&&F.includes(4*t)}var U=new Set(["iframe","frame","object","embed"]),W=new Set(["href","xlinkHref","to","id","key","htmlFor"]),q=/(?<![&\w])(?<!url\()#(?:[0-9a-fA-F]{8}|[0-9a-fA-F]{6}|[0-9a-fA-F]{3,4})(?![\w-])/g,_=/(?<![\w-])rounded(?:-(?:[trblse]|tl|tr|br|bl|ss|se|ee|es))?-\[([^\]]*)\]/g,G=/^border(?:(?:Top|Bottom)(?:Left|Right)|(?:Start|End)(?:Start|End))?Radius$/,K=/^(?:inherit|initial|unset|revert)$|var\(|^(?:50|100)%$|^(?:999|9999)(?:px)?$/,H=/(?<![\w-])-?(?:p|px|py|pt|pr|pb|pl|ps|pe|m|mx|my|mt|mr|mb|ml|ms|me|gap|gap-x|gap-y|space-x|space-y)-(\d+(?:\.\d+)?|px|\[[^\]]*\])(?![\w.[/-])/g,Q=/(?<![\w-])text-\[(?:length:)?(\d*\.?\d+(?:px|rem|em|%))\]/g,V=/(?<![\w-])z-(\d+|\[[^\]]*\])(?![\w.[/-])/g,X=/(?<![\w-])shadow-(xs|2xs|md|2xl|\[[^\]]*\])(?![\w.[/-])/g,Z=/var\(|^(?:inherit|initial|unset|revert|revert-layer|none|auto)$/,Y=/^(?:(?:padding|margin)(?:Top|Right|Bottom|Left|Inline|Block|InlineStart|InlineEnd|BlockStart|BlockEnd)?|gap|rowGap|columnGap)$/,ee=new Set([0,...F]),te=/(?<![\w-])dark:(?=[\w[\-!@*(])/g,ne="slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose",ie="(?:50|[1-9]00|950)",oe=new RegExp(`(?<![\\w-])(?:bg|text|border(?:-[xytrblse])?|ring(?:-offset)?|inset-ring|outline|divide|fill|stroke|from|via|to|shadow|inset-shadow|drop-shadow|accent|caret|decoration|placeholder)-(?:(?:${ne})-${ie}|white|black)(?:\\/[\\w.]+)?(?![\\w-])`,"g"),se=new RegExp(`--color-(?:(?:${ne})-${ie}|white|black)(?![\\w-])`,"g"),re=/(?<![\w-])(?:rgba?|hsla?|hwb|oklch|oklab|lab|lch)\(\s*[\d.]/g,ae=/(?<![\w-])(?:white|black|red|green|blue|yellow|orange|purple|pink|gray|grey|silver|maroon|navy|teal|olive|lime|aqua|fuchsia|brown|gold|beige|ivory|tan|crimson|coral|salmon|indigo|violet)(?![\w-])/gi,le=/^(?:color|background(?:Color)?|border(?:Top|Right|Bottom|Left|Inline|Block)?(?:Color)?|outline(?:Color)?|fill|stroke|caretColor|accentColor|textDecorationColor|boxShadow|textShadow)$/,ce=/(?<![&a-zA-Z0-9])(?<!url\()#(?:[0-9a-fA-F]{8}|[0-9a-fA-F]{6}|[0-9a-fA-F]{3,4})(?![\w-])/g,de=e=>[...e.matchAll(ce)].length+[...e.matchAll(re)].length+[...e.matchAll(oe)].length+[...e.matchAll(se)].length,ue=new Set(["button","a","option","Button","IconButton","SplitButton","Link","NavLink","PopupMenuItem","PopupMenuLabel","DropdownMenuItem","MenuItem","ContextMenuItem"]),he=/(?:…|\.\.\.|…)\s*$/,pe=new RegExp("\\p{L}","u"),fe=new RegExp("\\p{L}[\\p{L}-]*","u"),ge={busy:{words:["Accepting","Adding","Applying","Approving","Arranging","Asking","Assigning","Booking","Building","Calculating","Cancelling","Capturing","Changing","Checking","Choosing","Closing","Combining","Comparing","Completing","Confirming","Connecting","Converting","Copying","Correcting","Counting","Creating","Deleting","Detaching","Downloading","Drawing","Duplicating","Emailing","Ending","Exporting","Fetching","Filing","Finding","Flushing","Generating","Grouping","Importing","Linking","Loading","Locating","Looking","Making","Marking","Matching","Measuring","Merging","Moving","Opening","Ordering","Paying","Pending","Posting","Preparing","Previewing","Pricing","Processing","Provisioning","Publishing","Purging","Pushing","Queued","Queuing","Quoting","Re-booking","Re-importing","Re-opening","Reading","Rebooting","Rebuilding","Receiving","Reconciling","Reconnecting","Recording","Refreshing","Refunding","Regenerating","Registering","Reinstating","Rejecting","Removing","Reopening","Requesting","Resending","Resetting","Resolving","Restarting","Restoring","Resuming","Retrying","Reversing","Reverting","Running","Saving","Searching","Sending","Setting","Settling","Sharing","Signing","Splitting","Starting","Submitting","Suggesting","Switching","Syncing","Taking","Testing","Transferring","Typing","Updating","Uploading","Verifying","Waiting","Withdrawing","Working"],zhStarts:["正在"],zhEnds:["中"]},placeholder:{},prompt:{}},me=new Set((ge.busy?.words??[]).map(e=>e.toLowerCase())),we=new Set(["label","aria-label",...ge.placeholder?[]:["placeholder","searchPlaceholder","emptyOptionLabel","blankLabel"]]),ke=(e,t)=>{if(!he.test(t)||!pe.test(e))return!1;const n=e.match(fe)?.[0]?.toLowerCase();if(n&&me.has(n))return!1;const i=e.replace(he,"").trim(),o=ge.busy;return!(o&&(o.zhStarts.some(e=>i.startsWith(e))||o.zhEnds.some(e=>i.endsWith(e))))},xe=new Set(["confirm","alert","prompt"]),be=new Set(["window","globalThis","self"]);var $e=e=>/\.(?:[cm]?[jt]s|[jt]sx)$/.test(e)&&!e.endsWith(".d.ts"),ye=e=>/\.(?:css|scss)$/.test(e),ve=/^(?:color|background(?:-color)?|border(?:-(?:top|right|bottom|left|inline|block)(?:-(?:start|end))?)?(?:-color)?|outline(?:-color)?|fill|stroke|caret-color|accent-color|text-decoration(?:-color)?|box-shadow|text-shadow|column-rule(?:-color)?)$/;function Se(e,t){if(!t.includes("colour"))return{};const n=e.replace(/\/\*[\s\S]*?\*\//g,e=>e.replace(/[^\n]/g," ")),i=[],o=e=>n.slice(0,e).split("\n").length;let s=0,r=0;for(let e=0;e<n.length;e++){const t=n[e];if("{"===t||"}"===t||";"===t){const a=n.slice(r,e);if("{"!==t&&s>0){const e=r+(a.length-a.trimStart().length),t=a.trim(),n=t.indexOf(":");if(t.startsWith("@apply"))for(let n=[...t.matchAll(oe)].length;n>0;n--)i.push(o(e));else if(n>0){const s=t.slice(0,n).trim().toLowerCase(),r=t.slice(n+1);if(!/^(?:-webkit-)?mask/.test(s)){const t=de(r)+(ve.test(s)?[...r.matchAll(ae)].length:0);for(let n=0;n<t;n++)i.push(o(e))}}}"{"===t?s++:"}"===t&&(s=Math.max(0,s-1)),r=e+1}}return i.length?{colour:i}:{}}function je(e,t,n,i,o){const s=new Set(i),r=e.createSourceFile(t,n,e.ScriptTarget.Latest,!0,function(e,t){return t.endsWith(".tsx")?e.ScriptKind.TSX:t.endsWith(".jsx")?e.ScriptKind.JSX:/\.[cm]?js$/.test(t)?e.ScriptKind.JS:e.ScriptKind.TS}(e,t)),a={},l=/\.[jt]sx$/.test(t),c=e=>r.getLineAndCharacterOfPosition(e).line+1,d=(e,t)=>{s.has(e)&&(a[e]??=[]).push(c(t.getStart(r)))},u=(t,n)=>t.attributes.properties.find(t=>e.isJsxAttribute(t)&&t.name.getText(r)===n),h=t=>{const n=t?.initializer;if(n)return e.isStringLiteral(n)?n.text:e.isJsxExpression(n)&&n.expression&&e.isStringLiteralLike(n.expression)?n.expression.text:void 0},p=new Set;if(s.has("native")){const t=n=>{if(n)if(e.isIdentifier(n))xe.has(n.text)&&p.add(n.text);else if(e.isObjectBindingPattern(n)||e.isArrayBindingPattern(n))for(const i of n.elements)e.isBindingElement(i)&&t(i.name)},n=i=>{(e.isImportClause(i)||e.isImportSpecifier(i)||e.isNamespaceImport(i)||e.isVariableDeclaration(i)||e.isParameter(i)||e.isFunctionDeclaration(i))&&t(i.name),e.forEachChild(i,n)};n(r)}const f=t=>t&&e.isStringLiteralLike(t)?t.text:void 0,g=(e,t)=>{e&&("efficient-shell"===e||e.startsWith("efficient-shell/"))&&o?.add(e);const n=e?k(e):null;n&&d(n,t)},m=(e,t,n)=>{if(s.has("dark"))for(const n of e.matchAll(te))d("dark",t);if(s.has("radius"))for(const n of e.matchAll(_))K.test(n[1].trim())||d("radius",t);if(n&&l&&s.has("hex"))for(const n of e.matchAll(q))d("hex",t);if(n&&s.has("colour"))for(let n=de(e);n>0;n--)d("colour",t);if(s.has("spacing"))for(const n of e.matchAll(H)){const e=n[1];(e.startsWith("[")?Z.test(e.slice(1,-1).trim()):J(e))||d("spacing",t)}if(s.has("font-size"))for(const n of e.matchAll(Q))d("font-size",t);if(s.has("z-index"))for(const n of e.matchAll(V)){const e=n[1].startsWith("[")?n[1].slice(1,-1).trim():n[1];/^\d+$/.test(e)&&Number(e)>30&&d("z-index",t)}if(s.has("shadow"))for(const n of e.matchAll(X))n[1].startsWith("[")&&Z.test(n[1].slice(1,-1).trim())||d("shadow",t)},w=(t,n,i)=>{const o=e.isStringLiteralLike(n)?n.text.trim():void 0;if(s.has("colour")&&void 0!==o&&le.test(t))for(const e of o.matchAll(ae))d("colour",i);if(s.has("spacing")&&Y.test(t))e.isNumericLiteral(n)?ee.has(Number(n.text))||d("spacing",i):void 0!==o&&!Z.test(o)&&(e=>[...e.matchAll(/(-?\d*\.?\d+)(px|rem|em)\b/g)].map(e=>Math.abs(Number(e[1]))*("px"===e[2]?1:16)))(o).some(e=>!ee.has(e))&&d("spacing",i);else if(s.has("font-size")&&"fontSize"===t)(e.isNumericLiteral(n)||void 0!==o&&!Z.test(o)&&!/^(?:smaller|larger)$/.test(o))&&d("font-size",i);else if(s.has("z-index")&&"zIndex"===t){const t=[],o=n=>{e.isNumericLiteral(n)||e.isStringLiteralLike(n)&&/^\d+$/.test(n.text.trim())?t.push(Number(n.text)):e.forEachChild(n,o)};o(n);for(const e of t)e>30&&d("z-index",i)}else s.has("shadow")&&"boxShadow"===t&&(void 0===o||""===o||Z.test(o)||d("shadow",i))},x=(t,n)=>{if(e.isJsxOpeningElement(t)||e.isJsxSelfClosingElement(t)){const e=t.tagName.getText(r);if(/^[a-z]/.test(e)){const n=h(u(t,"type"));"svg"===e&&d("svg",t),"button"===e?d("button",t):"select"===e?d("select",t):"textarea"===e?d("textarea",t):"input"===e&&("range"===n?d("range",t):"hidden"!==n&&d("input",t));const i=h(u(t,"role"));"dialog"!==e&&"dialog"!==i&&"alertdialog"!==i||d("dialog",t),!U.has(e)&&u(t,"title")&&d("title",t)}}else if(e.isCallExpression(t)){const n=t.expression;e.isIdentifier(n)?"createPortal"===n.text?d("portal",t):xe.has(n.text)&&!p.has(n.text)?d("native",t):"require"===n.text&&g(f(t.arguments[0]),t):e.isPropertyAccessExpression(n)?"createPortal"===n.name.text?d("portal",t):xe.has(n.name.text)&&e.isIdentifier(n.expression)&&be.has(n.expression.text)&&d("native",t):n.kind===e.SyntaxKind.ImportKeyword&&g(f(t.arguments[0]),t)}else{if(e.isImportDeclaration(t)||e.isExportDeclaration(t))return void g(f(t.moduleSpecifier),t);if(e.isPropertyAssignment(t)){const n=e.isIdentifier(t.name)||e.isStringLiteralLike(t.name)?t.name.text:"",i=t.initializer;w(n,i,t),s.has("radius")&&G.test(n)&&(e.isNumericLiteral(i)?K.test(i.text)||d("radius",t):e.isStringLiteralLike(i)&&!K.test(i.text.trim())&&d("radius",t))}else if(e.isStringLiteralLike(t))m(t.text,t,n);else if(e.isTemplateExpression(t)){m(t.head.text,t.head,n);for(const e of t.templateSpans)m(e.literal.text,e.literal,n)}}e.isJsxAttribute(t)&&W.has(t.name.getText(r))?e.forEachChild(t,e=>x(e,!1)):e.forEachChild(t,e=>x(e,n))};return x(r,!0),s.has("ellipsis-label")&&function(e,t,n){const i=new Set,o=(e,t)=>{i.has(e)||(i.add(e),n(t))},s=n=>{if(n)if(e.isStringLiteralLike(n))ke(n.text,n.text)&&o(n,n.getStart(t));else if(e.isTemplateExpression(n)){const e=[n.head.text,...n.templateSpans.map(e=>e.literal.text)];ke(e.join(" "),e[e.length-1])&&o(n,n.getStart(t))}else e.isConditionalExpression(n)?(s(n.whenTrue),s(n.whenFalse)):e.isBinaryExpression(n)?(s(n.left),s(n.right)):e.isParenthesizedExpression(n)||e.isAsExpression(n)||e.isJsxExpression(n)?s(n.expression):e.isCallExpression(n)&&Ie.has(Le(n.expression))&&n.arguments[0]&&s(n.arguments[0])},r=n=>{for(const i of n)if(e.isJsxText(i)){const e=i.getText(t);ke(e,e)&&o(i,i.getStart(t)+(e.length-e.trimStart().length))}else e.isJsxExpression(i)?s(i.expression):(e.isJsxElement(i)||e.isJsxFragment(i))&&r(i.children)},a=(n,i)=>{const o=n.attributes.properties.find(n=>e.isJsxAttribute(n)&&n.name.getText(t)===i),s=o?.initializer;return s&&e.isStringLiteral(s)?s.text:s&&e.isJsxExpression(s)&&s.expression&&e.isStringLiteralLike(s.expression)?s.expression.text:void 0},l=t=>t.properties.some(t=>e.isPropertyAssignment(t)&&(e.isIdentifier(t.name)||e.isStringLiteralLike(t.name))&&"value"===t.name.text&&e.isStringLiteralLike(t.initializer)&&""===t.initializer.text),c=n=>{if(e.isJsxElement(n)){const e=n.openingElement,i=e.tagName.getText(t),o="option"===i&&ge.prompt&&""===a(e,"value");ue.has(i)&&!o&&r(n.children)}else if(e.isJsxAttribute(n))we.has(n.name.getText(t))&&s(n.initializer);else if(e.isPropertyAssignment(n)){const t=e.isIdentifier(n.name)||e.isStringLiteralLike(n.name)?n.name.text:"",i=ge.prompt&&e.isObjectLiteralExpression(n.parent)&&l(n.parent);we.has(t)&&!i&&s(n.initializer)}e.forEachChild(n,c)};c(t)}(e,r,e=>(a["ellipsis-label"]??=[]).push(c(e))),a}var Ie=new Set(["say","t"]),Le=e=>{const t=e.getText();return t.slice(t.lastIndexOf(".")+1)};function Re(e){const t={};for(const[n,i]of Object.entries(e))i.length&&(t[n]=i.length);return t}function Ae(e,t,n){const i=e.createSourceFile(t,n,e.ScriptTarget.Latest,!1),o=[];for(const t of i.statements)(e.isImportDeclaration(t)||e.isExportDeclaration(t))&&t.moduleSpecifier&&e.isStringLiteralLike(t.moduleSpecifier)&&o.push(t.moduleSpecifier.text);return o}var ze=(e,t)=>e.some(e=>t.some(t=>t.endsWith("/*")?e.startsWith(t.slice(0,-1)):e===t));var Ee=e=>new Map(e.allow.map(e=>[A(e.file,e.kind),e.count]));function Ce(e,t){return e.kinds.filter(e=>t.kinds.includes(e))}var Te=(e,t,n)=>{if("kit-dep"===n)return` (${e.kitDeps.join(", ")})`;if("chart-dep"===n)return` (${e.chartDeps.join(", ")})`;const i=e.hits.get(t)?.[n]??[];if(0===i.length)return"";const o=i.slice(0,12).join(", ");return` (line${1===i.length?"":"s"} ${o}${i.length>12?", …":""})`};function Me(e,t,n){const i=Ee(e),o=new Map;for(const[e,s]of t.counts){const{kind:t}=z(e);if(!l(t)||!n.includes(t))continue;const r=s-(i.get(e)??0);r>0&&o.set(e,r)}return{kinds:a.filter(e=>n.includes(e)),counts:o}}function Be(e,t){let n=0;for(const i of new Set([...e.keys(),...t.keys()]))(e.get(i)??0)!==(t.get(i)??0)&&(n+=1);return n}var Pe="\n// <button> in a comment is not a button, and <svg> in one is not a drawing\n/* nor is <input title=\"x\"> in this one, or dark:bg-black, or #fff */\nimport { createPortal } from 'react-dom';\nimport { Dialog } from '@headlessui/react';\nimport { TrashIcon } from '@heroicons/react/24/outline';\nimport type { Icon } from 'lucide-react';\nimport { Button, confirm } from 'efficient-shell';\nexport { Slot } from '@radix-ui/react-slot';\nexport { CheckIcon } from '@radix-ui/react-icons';\nimport { LineChart } from 'recharts';\nimport 'd3-scale';\nexport { VictoryPie } from 'victory';\nimport { BarChart } from '@mui/x-charts';\nimport Tree from 'react-d3-tree';\nimport { TimeSeriesChart } from 'efficient-shell/ui';\n// import 'chart.js' in a comment is not an import, and 'echarts' in a string is not one either\nconst chartLabel = 'd3-array';\n\nconst a = <button title=\"Says what it does\">x</button>;\nconst b = <input type=\"range\" />;\nconst c = <input type=\"text\" />;\nconst c2 = <input type={\"hidden\"} name=\"csrf\" />;\nconst c3 = <input type=\"hidden\" />;\nconst c4 = <input type={kind} />;\nconst d = <select />;\nconst d2 = <textarea />;\nconst e = <div role=\"dialog\" />;\nconst e2 = <dialog open />;\nconst e3 = <section role={'alertdialog'} />;\nconst f = <iframe title=\"Preview\" />;\nconst f2 = <object title=\"Chart\" />;\nconst g = <Button title=\"a prop, not a tooltip\" role=\"dialog\" />;\nconst g2 = (\n <button\n type=\"button\"\n title={hint}\n >\n y\n </button>\n);\nconst h = ReactDOM.createPortal(a, document.body);\nconst i = createPortal(a, document.body);\n\nasync function leave() {\n if (window.confirm('Sure?')) return;\n globalThis.alert('No');\n alert('native: nothing binds the name');\n prompt('native too');\n await confirm('the shell: the import binds it');\n record.confirm('a method, not the popup');\n}\n\nconst j = <div className=\"bg-white dark:bg-black dark:hover:text-white is-dark:no\" />;\nconst k = clsx('text-gray-900', on && 'dark:text-gray-100');\nconst l = <span style={{ color: '#fff', background: \"#12ab34\" }} className={`border-[#0a0b0c80] ${x}`} />;\nconst m = <a href=\"#faded\" id=\"#bad\" key=\"#abc\" to=\"#face\">skip</a>;\nconst n = <label htmlFor={'#dead'}>skip</label>;\nconst o = <span>Ӓ and BG#00340 and #12345 and #added are not colours</span>;\nconst p = 'entity  ref BG#00340';\nconst q = <use xlinkHref=\"#abc\" fill=\"url(#fed)\" />;\nconst t = <div className=\"rounded-[4px] rounded-t-[0.5rem] hover:rounded-[2px] rounded-lg rounded-(--radius-card) rounded-[inherit] rounded-[var(--r)]\" />;\nconst u = <div style={{ borderRadius: 6, borderTopLeftRadius: '3px', borderBottomRightRadius: '50%', borderEndEndRadius: 'var(--radius-card)' }} />;\nconst v = <i style={{ borderRadius: 9999 }} />;\nconst w = <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 4h16\" /></svg>;\nconst w2 = <Svg viewBox=\"0 0 24 24\" />;\nconst w3 = '<svg viewBox=\"0 0 1 1\"></svg> in a string is not an element';\nconst r = lazy(() => import('@mui/material'));\nconst s = require('react-select');\nconst s2 = require('chart.js/auto');\nconst s3 = import('@nivo/line');\n",Oe={button:2,input:2,range:1,textarea:1,select:1,dialog:3,title:2,portal:2,native:4,dark:3,hex:3,radius:5,kit:5,icon:3,svg:1,chart:5,colour:8},De={kit:1,dark:1,portal:1,radius:2,chart:1,colour:2},Ne=(...e)=>e.join("-"),Fe=`\nconst s1 = <i className="${[Ne("px","2.5"),Ne("py","1.5"),"md:"+Ne("gap","1.5"),"-"+Ne("mt","1.5"),Ne("p","[10px]")].join(" ")}" />;\nconst s2 = <i className="${[Ne("p","0"),Ne("px","px"),Ne("p","0.5"),Ne("p","3"),Ne("gap-x","4"),Ne("p","12"),Ne("p","(--space-12)"),Ne("p","[var(--space-12)]"),Ne("space-x","reverse"),Ne("top","1.5")].join(" ")}" />;\nconst s3 = <i style={{ padding: 6, marginTop: '10px', gap: 8, margin: '0 auto', paddingInline: 'var(--space-12)' }} />;\nconst f1 = <i className="${[Ne("text","[11px]"),Ne("text","[0.8rem]"),Ne("text","xs"),Ne("text","[#fff]"),Ne("text","(--text-2xs)")].join(" ")}" />;\nconst f2 = <i style={{ fontSize: 12 }} />;\nconst f3 = { fontSize: 'var(--x)', font: 'inherit' };\nconst z1 = <i className="${[Ne("z","[9999]"),Ne("z","50"),Ne("z","10"),Ne("z","30"),"-"+Ne("z","10"),Ne("z","auto"),Ne("z","(--z-popup)"),Ne("z","[var(--z-popup)]")].join(" ")}" />;\nconst z2 = { zIndex: on ? 2020 : 2010 };\nconst z3 = { zIndex: Z_LAYERS.popup, top: 9999 };\nconst h1 = <i className="${[Ne("shadow","[0_1px_2px_#000]"),Ne("shadow","md"),"shadow",Ne("shadow","lg"),Ne("shadow","(--elevation-panel)"),Ne("shadow","black/20"),Ne("drop-shadow","md")].join(" ")}" />;\nconst h2 = { boxShadow: '0 1px 2px rgba(0,0,0,.1)' };\nconst h3 = { boxShadow: 'none', outline: 'var(--elevation-raised)' };\n`,Je={spacing:7,"font-size":3,"z-index":4,shadow:3,hex:1,colour:4},Ue={colour:4},We={"ellipsis-label":9},qe=e=>a.filter(t=>e[t]).map(t=>`${t} ${e[t]}`).join(", ")||"nothing";var _e="ui-kit.config.json",Ge="ui-kit.baseline.json",Ke="efficient-shell-ui-check",He=`${Ke}: every surface a person operates takes its UI from efficient-shell (harness UI-24).\n\n ${Ke} check this repository against ${Ge}\n ${Ke} --print print today's counts as a baseline, and change nothing\n ${Ke} --summary print totals per kind and per folder, as Markdown\n ${Ke} --json print the result as JSON\n ${Ke} --update lower the lines whose counts fell, and delete the ones at zero\n ${Ke} --update --allow-move also follow a renamed or split file (no total may rise)\n ${Ke} --init write the first ${Ge}\n ${Ke} --init --kind <kind> take the baseline for a kind just added to "kinds"\n ${Ke} --no-base do not compare with the pull request's base branch\n\nKinds: ${a.join(", ")}\nReads ${_e} in the current directory.`;var Qe=(e,t)=>`${e} ${t}${1===e?"":"s"}`,Ve=(e,t)=>{const n=B(e);return t.map(e=>`${e} ${n[e]??0}`).join(" · ")};process.exitCode=function(e,t){const r=function(e){const t={print:!1,summary:!1,json:!1,update:!1,allowMove:!1,init:!1,noBase:!1,help:!1,version:!1,kinds:[]};for(let n=0;n<e.length;n++){const i=e[n];if("--print"===i)t.print=!0;else if("--summary"===i)t.summary=!0;else if("--json"===i)t.json=!0;else if("--update"===i)t.update=!0;else if("--allow-move"===i)t.allowMove=!0;else if("--init"===i)t.init=!0;else if("--no-base"===i)t.noBase=!0;else if("--help"===i||"-h"===i)t.help=!0;else if("--version"===i||"-v"===i)t.version=!0;else if("--kind"===i){const i=e[++n];if(!i)return"--kind needs a kind after it";t.kinds.push(...i.split(","))}else{if(!i.startsWith("--kind="))return`unknown argument "${i}"`;t.kinds.push(...i.slice(7).split(","))}}return t.allowMove&&!t.update?"--allow-move goes with --update":t.kinds.length&&!t.init?"--kind goes with --init":[t.print,t.summary,t.update,t.init].filter(Boolean).length>1?"choose one of --print, --summary, --update and --init":t}(e);if("string"==typeof r)return t.err(`${Ke}: ${r}\n\n${He}`),2;if(r.help)return t.out(He),0;if(r.version)return t.out(t.version),0;const c=e=>(r.json?t.out(JSON.stringify({tool:Ke,version:t.version,ok:!1,failures:[e]},null,2)):t.err(`${Ke}: ${e}`),1),p=n(t.cwd,_e);if(!i(p))return c(`no ${_e} in ${t.cwd}. Run it from the repository root; the harness has the template.`);let f,g;try{f=function(e,t="ui-kit.config.json"){const n=[],i=e=>{n.push(e)},o=(e,t,{required:n=!1}={})=>{if(void 0===e&&!n)return[];if(!Array.isArray(e)||e.some(e=>"string"!=typeof e||""===e))return i(`${t} must be a list of non-empty strings`),[];n&&0===e.length&&i(`${t} must name at least one entry`);for(const n of e)(n.startsWith("/")||n.startsWith("./")||n.includes("\\")||n.split("/").includes(".."))&&i(`${t}: "${n}" must be a path from the repository root, written with / (no ./, .. or \\)`);return e},s=(e,t)=>"string"!=typeof e||e.trim().length<10?(i(`${t} needs a "reason" a reviewer can read (a sentence, not a word)`),""):e,r=(e,t)=>void 0===e?[]:!Array.isArray(e)||e.some(e=>!O(e))?(i(`${t} must be a list of objects`),[]):e;if(!O(e))throw new P(`${t}: must be a JSON object`);for(const t of Object.keys(e))D.has(t)||i(`unknown key "${t}"`);1!==e.schema&&i("number"==typeof e.schema&&e.schema>1?`"schema": ${e.schema} is newer than this efficient-shell reads (1); upgrade efficient-shell`:'"schema" must be 1');const c=[];if(Array.isArray(e.kinds)&&0!==e.kinds.length)for(const t of e.kinds)l(t)?c.includes(t)?i(`"kinds": "${t}" is listed twice`):c.push(t):i(`"kinds": unknown kind ${JSON.stringify(t)} (this efficient-shell knows: ${a.join(", ")})`);else i(`"kinds" must list the kinds this repository checks, from: ${a.join(", ")}`);const d=o(e.include,'"include"'),u=o(e.exclude,'"exclude"'),h=r(e.includeImporting,'"includeImporting"').map((e,t)=>({files:o(e.files,`"includeImporting"[${t}].files`,{required:!0}),modules:o(e.modules,`"includeImporting"[${t}].modules`,{required:!0}),reason:s(e.reason,`"includeImporting"[${t}]`)}));0===d.length&&0===h.length&&i('"include" must name the files that are operator UI (for example ["src/**/*.tsx"])');const p=r(e.output,'"output"').map((e,t)=>({files:o(e.files,`"output"[${t}].files`,{required:!0}),reason:s(e.reason,`"output"[${t}]`)})),f=[],g=new Set;if(r(e.allow,'"allow"').forEach((e,t)=>{const n=`"allow"[${t}]`,[r]=o([e.file],`${n}.file`),d=s(e.reason,n);if(!l(e.kind))return void i(`${n}.kind must be one of: ${a.join(", ")}`);if(c.includes(e.kind)||i(`${n}: kind "${e.kind}" is not in "kinds"`),"number"!=typeof e.count||!Number.isInteger(e.count)||e.count<1)return void i(`${n}.count must be a whole number, 1 or more`);if(!r)return;const u=`${r}:${e.kind}`;g.has(u)&&i(`${n}: ${r} already has an allow entry for "${e.kind}"`),g.add(u),f.push({file:r,kind:e.kind,count:e.count,reason:d})}),n.length)throw new P(`${t}:\n - ${n.join("\n - ")}`);return{schema:1,kinds:a.filter(e=>c.includes(e)),include:d,exclude:u,includeImporting:h,output:p,allow:f}}(JSON.parse(o(p,"utf8")),_e)}catch(e){return c(e instanceof P?e.message:`${_e} is not valid JSON: ${e.message}`)}try{g=t.loadTypeScript()}catch{return c('this check reads the TypeScript AST and found no "typescript" package here. Install it as a devDependency.')}const w=function(e){const t=[],n=u,i=[["fixture.tsx",Pe,Oe],["fixture.ts","\nimport { toast } from 'sonner';\nimport { extent } from 'd3-array';\nexport const tone = { warn: '#f59e0b' };\nexport const cls = 'ring-1 dark:ring-white rounded-[3px]';\nexport const box = { borderRadius: '0.25rem', radius: 4 };\nexport function ask(confirm: (message: string) => boolean) {\n return confirm('a parameter binds the name');\n}\nexport const mount = (node: unknown) => ReactDOM.createPortal(node, document.body);\n",De],["tokens.tsx",Fe,Je],["labels.tsx","\n// <Button>Save…</Button> in a comment is not a label\nconst l1 = <Button>Extend trial…</Button>;\nconst l2 = <PopupMenuItem onClick={go}><span>Read from a PDF...</span></PopupMenuItem>;\nconst l3 = <Button>{busy ? 'Saving…' : 'Duplicate site…'}</Button>;\nconst l4 = <Item label=\"Translate…\" aria-label={'More…'} />;\nconst l5 = [{ label: 'Reject…' }, { value: CUSTOM, label: 'Custom…' }];\nconst l6 = <option value={CUSTOM}>Different address…</option>;\nconst l7 = <PopupMenuLabel>{say(\"Duplicate to page…\")}</PopupMenuLabel>;\nconst n7 = <Button>{t('team:menu.remove')}</Button>;\nconst n1 = <Button>{`${name.slice(0, 9)}…`}</Button>;\nconst n2 = <p>Loading weather…</p>;\nconst n3 = <Input placeholder=\"Search…\" />;\nconst n4 = <option value=\"\">Pick a carrier…</option>;\nconst n5 = [{ value: '', label: 'Select…' }];\nconst n6 = <Button>Extend trial</Button>;\n",We]];for(const[o,s,r]of i){const i=Re(je(e,o,s,n));n.some(e=>(i[e]??0)!==(r[e]??0))&&t.push(`${o}: read ${qe(i)}; it holds ${qe(r)}`)}const o=Re(Se('\n/* #fff in a comment */\n.a:hover { color: #111; border: 1px solid white; }\n[data-x="#fff"] { mask-image: linear-gradient(#000, transparent); color: var(--ink); }\n.b { --mine: rgb(0 0 0 / .5); background: var(--surface, #fff); }\n',n));n.some(e=>(o[e]??0)!==(Ue[e]??0))&&t.push(`style.css: read ${qe(o)}; it holds ${qe(Ue)}`);const s=Re(je(e,"fixture.tsx",Pe,["button"]));return"button"!==Object.keys(s).join()&&t.push(`asked for button alone, the reader reported ${qe(s)}`),t}(g);if(w.length)return c(`the reader misread its own fixtures with typescript ${g.version}, so nothing it says about this repository can be trusted:\n - `+w.join("\n - "));const k=function(e,t,s){const r=[],a=y(s.exclude),l=y(s.output.flatMap(e=>e.files)),c=new Map,u=e=>{let i=c.get(e);return void 0===i&&c.set(e,i=o(n(t,e),"utf8")),i},h=(e,n)=>{for(const i of e)0===I(t,[i]).length&&r.push(`${n}: "${i}" matches no file. Delete the line, or fix the path.`)};h(s.include,'"include"'),s.output.forEach((e,t)=>h(e.files,`"output"[${t}]`)),s.includeImporting.forEach((e,t)=>h(e.files,`"includeImporting"[${t}]`));const p=new Set,f=s.kinds.includes("colour"),g=e=>($e(e)||f&&ye(e))&&!a(e)&&!l(e);for(const e of I(t,s.include))g(e)&&p.add(e);for(const n of s.includeImporting)for(const i of I(t,n.files))g(i)&&$e(i)&&!p.has(i)&&ze(Ae(e,i,u(i)),n.modules)&&p.add(i);const w=[...p].sort(),k=s.kinds.filter(e=>!d(e)),b=new Map,$=new Map,v=new Set;for(const t of w){const n=ye(t)?Se(u(t),k):je(e,t,u(t),k,v);let i=!1;for(const e of k){const o=n[e]?.length??0;o&&($.set(A(t,e),o),i=!0)}i&&b.set(t,n)}let S=[],j=[],L=[];const R=s.kinds.filter(d);if(R.length){const e=n(t,N);if(i(e)){const t=JSON.parse(o(e,"utf8")),n=["dependencies","peerDependencies","optionalDependencies"].flatMap(e=>Object.keys(t[e]??{})),i=new Set([...v].flatMap(e=>m[e]??[])),r=[...new Set(n)].sort();if(s.kinds.includes("kit-dep")){const e=r.filter(e=>"kit-dep"===x(e));S=e.filter(e=>!i.has(e)),j=e.filter(e=>i.has(e)),S.length&&$.set(A(N,"kit-dep"),S.length)}s.kinds.includes("chart-dep")&&(L=r.filter(e=>"chart-dep"===x(e)),L.length&&$.set(A(N,"chart-dep"),L.length))}else for(const e of R)r.push(`"kinds" includes "${e}", and there is no ${N} here to read.`)}for(const e of s.allow)(d(e.kind)?e.file===N:p.has(e.file))||r.push(`"allow": ${e.file} (${e.kind}) is not a file this check reads. Delete the entry, or fix the path.`);return{files:w,hits:b,counts:$,kitDeps:S,shellPeers:j,chartDeps:L,problems:r}}(g,t.cwd,f);if(0===k.files.length)return c(`read no files. "include" in ${_e} matches nothing, so a pass would mean nothing.`);const b=n(t.cwd,Ge),$=r.json,v=e=>{$||t.out(e)};if(r.print)return t.out(M(Me(f,k,f.kinds)).trimEnd()),0;if(r.summary){for(const e of function(e,t){const n=new Map,i=new Map;for(const[e,o]of t.counts){const{file:t,kind:s}=z(e);if(!l(s))continue;const r=n.get(s)??{count:0,files:new Set};r.count+=o,r.files.add(t),n.set(s,r);const a=t.split("/"),c=a.length>2?a.slice(0,2).join("/"):2===a.length?a[0]:".",d=i.get(c)??{};d[s]=(d[s]??0)+o,i.set(c,d)}const o=e.kinds.filter(e=>n.has(e)),s=[`**UI kit check (harness UI-24):** ${new Set([...t.counts.keys()].map(e=>z(e).file)).size} of ${Qe(t.files.length,"file")} still draw UI of their own.`,"","| Kind | Count | Files | The shell has |","|---|---:|---:|---|",...e.kinds.map(e=>{const t=n.get(e);return`| \`${e}\` | ${t?.count??0} | ${t?.files.size??0} | ${h[e].instead} |`})];if(o.length&&i.size){const e=e=>o.reduce((t,n)=>t+(e[n]??0),0),t=[...i].sort((t,n)=>e(n[1])-e(t[1])||(t[0]<n[0]?-1:1));s.push("",`| Folder | ${o.map(e=>`\`${e}\``).join(" | ")} | Total |`,`|---|${o.map(()=>"---:").join("|")}|---:|`,...t.map(([t,n])=>`| \`${t}\` | ${o.map(e=>n[e]??0).join(" | ")} | ${e(n)} |`))}return s}(f,k))t.out(e);return 0}let S=null;if(i(b))try{S=T(o(b,"utf8"),Ge)}catch(e){return c(e instanceof R?e.message:String(e))}if(r.init){const e=r.kinds.filter(e=>!l(e)||!f.kinds.includes(e));if(e.length)return c(`--kind ${e.join(", ")}: not in "kinds" in ${_e}. Add it there first.`);const t=r.kinds;if(S){if(0===t.length)return c(`${Ge} already exists, and --init would overwrite what it holds. It is for the adoption pull request only. To start checking a kind, add it to "kinds" and run --init --kind <kind>.`);const e=t.filter(e=>S.kinds.includes(e));if(e.length)return c(`the baseline was already taken for ${e.join(", ")}. Its lines only go down; use --update.`);const n=Me(f,k,t);S={kinds:[...S.kinds,...t],counts:new Map([...S.counts,...n.counts])}}else{if(t.length)return c(`there is no ${Ge} yet. Run --init on its own first.`);S=Me(f,k,f.kinds)}s(b,M(S)),v(`${Ke}: wrote ${Ge} (${Qe(S.counts.size,"line")}: ${Ve(S.counts,S.kinds)})`)}if(!S)return c(`no ${Ge}. This repository has not adopted the check yet: run ${Ke} --init, and commit the file.`);if(r.update){const e=function(e,t,n,{allowMove:i=!1}={}){const o=Ce(e,t),s=Me(e,n,o),r=new Map([...t.counts].filter(([e])=>o.includes(z(e).kind)));if(i){const e=B(r),n=B(s.counts),i=o.filter(t=>(n[t]??0)>(e[t]??0)).map(t=>`${t}: ${n[t]??0} across the repository, and the baseline holds ${e[t]??0}`);return i.length?{baseline:t,lowered:0,refused:i}:{baseline:s,lowered:Be(r,s.counts),refused:[]}}const a=new Map;for(const[e,t]of r){const n=Math.min(t,s.counts.get(e)??0);n>0&&a.set(e,n)}return{baseline:{kinds:o,counts:a},lowered:Be(r,a),refused:[]}}(f,S,k,{allowMove:r.allowMove});if(e.refused.length)return c(`--allow-move follows code that moved, and this is more of it than before:\n - ${e.refused.join("\n - ")}\nNothing was written.`);S=e.baseline,s(b,M(S)),v(`${Ke}: ${e.lowered?`changed ${Qe(e.lowered,"line")} in`:"nothing to change in"} ${Ge}`)}const j=function(e,t,n){const i=[],o=[],s=[...n.problems],r=Ee(e),a=new Set(Ce(e,t)),c=e.kinds.filter(e=>!t.kinds.includes(e));c.length&&s.push(`"kinds" names ${c.map(e=>`"${e}"`).join(", ")}, and the baseline was never taken for ${1===c.length?"it":"them"}. Run: efficient-shell-ui-check --init ${c.map(e=>`--kind ${e}`).join(" ")}`);const d=t.kinds.filter(t=>!e.kinds.includes(t));d.length&&o.push(`the baseline still carries ${d.map(e=>`"${e}"`).join(", ")}, which "kinds" no longer names`);const u=new Set([...n.counts.keys(),...t.counts.keys(),...r.keys()]);for(const e of[...u].sort(C)){const{file:c,kind:d}=z(e);if(!l(d)||!a.has(d))continue;const u=n.counts.get(e)??0,p=r.get(e)??0,f=t.counts.get(e)??0;u>p+f?i.push(`${c}: ${d} ${u}, and its line allows ${p+f}${Te(n,c,d)}. ${h[d].counts} is counted; use ${h[d].instead}.`):u<p?s.push(`${c}: ${d} ${u}, and "allow" in ui-kit.config.json says ${p}. ${0===u?"Delete the entry":`Lower its count to ${u}`}: an exception does not outlive what it excused.`):u<p+f&&o.push(`${c}: ${d} ${u}, and its line says ${p+f}`)}return{grown:i,shrunk:o,other:s,updateFixes:0===i.length&&0===s.length&&o.length>0}}(f,S,k),L=r.noBase?{problems:[],note:""}:function(e,t,n){const i=e.env.GITHUB_BASE_REF;if(!i)return{problems:[],note:""};const o=e.git(["rev-parse","--show-prefix"]);if(null===o)return{problems:[],note:"not a git checkout; the base branch was not compared"};const s=`origin/${i}`;if(null===e.git(["rev-parse","--verify","--quiet",`${s}^{commit}`])&&(e.git(["fetch","--no-tags","--depth=1","origin",`+refs/heads/${i}:refs/remotes/origin/${i}`]),null===e.git(["rev-parse","--verify","--quiet",`${s}^{commit}`])))return{problems:[],note:`${s} could not be fetched; the base branch was not compared`};const r=e.git(["show",`${s}:${o.trim()}${Ge}`]);if(null===r)return{problems:[],note:`${s} has no ${Ge} yet (adoption)`};let a;try{a=T(r,`${s}:${Ge}`)}catch{return{problems:[],note:`${s}'s ${Ge} could not be read; the base branch was not compared`}}const l=B(a.counts),c=B(t.counts);return{problems:n.filter(e=>a.kinds.includes(e)&&(c[e]??0)>(l[e]??0)).map(e=>`${Ge} holds ${c[e]??0} of "${e}", and ${s} holds ${l[e]??0}. The baseline only goes down: use ${h[e].instead}. A count that is meant to stay goes in "allow" in ${_e}, with its reason.`),note:`compared with ${s}`}}(t,S,f.kinds),E=f.kinds.filter(e=>S.kinds.includes(e)),F=`${Ke} --update`,J=[...j.other,...j.grown,...j.shrunk.map(e=>`${e}. Run: ${F}`),...L.problems],U=0===J.length;if(r.json){const e=new Map(f.allow.map(e=>[`${e.file}:${e.kind}`,e.count]));return t.out(JSON.stringify({tool:Ke,version:t.version,ok:U,schema:f.schema,kinds:f.kinds,files:k.files.length,counts:B(k.counts),baseline:B(S.counts),allowed:B(e),kitDeps:k.kitDeps,shellPeers:k.shellPeers,chartDeps:k.chartDeps,failures:J},null,2)),U?0:1}t.out(`UI kit check (harness UI-24), efficient-shell ${t.version}\n`);const W=(e,n,i="")=>{if(0===n.length)return t.out(` ok ${e}`);t.err(` FAIL ${e}`);for(const e of n)t.err(` ${e}`);i&&t.err(` ${i}`)};t.out(` ok the reader reads its own fixtures (typescript ${g.version})`),t.out(` ok read ${Qe(k.files.length,"file")}`),W(`${_e} and ${Ge} describe this repository`,j.other),W("no file draws more of its own UI than its line allows",j.grown),W("every line is exact: a count that fell is a line to lower",j.shrunk,`Run: ${F}${j.updateFixes?"":" (after the failures above are fixed)"}`),L.note&&W(`the baseline is no higher than the base branch (${L.note})`,L.problems);const q=new Set([...k.counts.keys()].map(e=>z(e).file));return t.out(` ok PROGRESS: ${q.size} of ${Qe(k.files.length,"file")} still draw UI of their own: `+Ve(k.counts,E)),t.out(""),U?t.out("UI kit check: ok"):t.err(`UI kit check: FAILED (${Qe(J.length,"problem")})`),U?0:1}(process.argv.slice(2),{cwd:process.cwd(),env:process.env,out:e=>console.log(e),err:e=>console.error(e),loadTypeScript:()=>function(e){for(const i of[n(process.cwd(),"package.json"),e])try{return t(i)("typescript")}catch{}throw new Error("typescript is not installed")}(import.meta.url),git:function(t){try{return e("git",t,{cwd:process.cwd(),encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:6e4,maxBuffer:67108864})}catch{return null}},version:"10.23.0"});
|
|
2
|
+
import{execFileSync as e}from"child_process";import{createRequire as t}from"module";import{join as n}from"path";import{existsSync as i,readFileSync as o,writeFileSync as s,readdirSync as r}from"fs";var a=["button","input","range","textarea","select","dialog","title","portal","native","dark","hex","radius","spacing","font-size","z-index","shadow","kit","icon","svg","kit-dep","chart","chart-dep","ellipsis-label","colour"],l=e=>"string"==typeof e&&a.includes(e),c=["kit-dep","chart-dep"],d=e=>c.includes(e),u=a.filter(e=>!d(e)),h={button:{counts:"a raw <button>",instead:"Button or IconButton from efficient-shell/ui"},input:{counts:"a raw <input> (not hidden, not a range)",instead:"Input, InputNumber, Checkbox, Radio or Switch from efficient-shell/ui"},range:{counts:'a raw <input type="range">',instead:"Slider from efficient-shell/ui"},textarea:{counts:"a raw <textarea>",instead:"Textarea from efficient-shell/ui"},select:{counts:"a raw <select>",instead:"Select or SearchableSelect from efficient-shell/ui"},dialog:{counts:'a raw <dialog>, or role="dialog" / role="alertdialog" on a raw element',instead:"Dialog or Modal from efficient-shell"},title:{counts:"a title= on a raw element (the browser's own tooltip)",instead:"Tooltip from efficient-shell/ui (harness UI-17)"},portal:{counts:"a createPortal(…) call (a layer the file floats itself)",instead:"Popover, PopupMenu, DropdownMenu, Tooltip or Dialog from efficient-shell/ui"},native:{counts:"window.confirm / alert / prompt, or a bare call that resolves to one",instead:"confirm, confirmDestructive, prompt or toast from efficient-shell (harness UI-20)"},dark:{counts:"a dark: variant in a class string",instead:"the light Tailwind class alone; the shell remaps it in dark mode (harness UI-7)"},hex:{counts:"a hex colour literal in a .tsx string",instead:"a colour role from efficient-shell: its utility or var(--role), COLOUR_ROLES lists them (harness FT-1; the colour kind counts palette classes too)"},radius:{counts:"a literal corner radius (an arbitrary-value radius class, or an inline borderRadius)",instead:"a radius utility from the scale or a role token such as rounded-(--radius-control); the theme sets how round they are (harness UI-7)"},spacing:{counts:"a padding, margin or gap off the scale (6px, 10px, 14px …) or written as a literal length (an arbitrary-value class, an inline style)",instead:"a step of the scale 2/4/8/12/16/20/24/32/40/48 — a Tailwind step, or a role such as var(--space-control-x) (owner ruling 2026-10-12)"},"font-size":{counts:"a literal font size (an arbitrary-value text class, an inline fontSize)",instead:"a type step 9/11/12/14/16/18/20/24/30 — Tailwind's 3xs … 3xl text steps (owner ruling 2026-10-12)"},"z-index":{counts:"a stack order above 30 written as a number (a z utility, an arbitrary value, an inline zIndex)",instead:"a named layer: Z_LAYERS (efficient-shell/ui) in code, its --z-* custom property in markup"},shadow:{counts:"a literal shadow, or a shadow size that is not an elevation level (md, 2xl, xs)",instead:"an elevation: the sm / lg / xl utilities, or var(--elevation-panel) and its siblings (owner ruling 2026-10-12)"},kit:{counts:"an import of a second UI kit",instead:"the component from efficient-shell/ui, or fold it into the shell (harness FT-3)"},icon:{counts:"an import of an icon package",instead:"<Icon name> from efficient-shell/icons, drawn by the one set (harness UI-24)"},svg:{counts:"an <svg> element written in JSX: an icon drawn in place",instead:"<Icon name> from efficient-shell/icons, drawn by the one set (harness UI-24). A chart, an illustration or a mark a host supplies stays on the baseline"},"kit-dep":{counts:"a UI kit or icon package declared in package.json (not one the shell entries imported here need)",instead:"remove the dependency once nothing imports it (harness FT-3)"},chart:{counts:"an import of a second chart library",instead:"a chart from efficient-shell/ui (ChartFrame, TimeSeriesChart, ColumnChart, RankedBars, PieChart, FunnelChart, ScatterChart, …), or add the chart there: one chart system (harness FT-3)"},"chart-dep":{counts:"a chart library declared in package.json",instead:"remove the dependency once nothing imports it (harness FT-3)"},"ellipsis-label":{counts:'a button, link or menu label that ends in "…" or "..."',instead:'the label without the dots, saying what it does ("Extend trial"): "…" means only "the words are cut" (owner ruling 2026-10-14)'},colour:{counts:"a literal colour, in a script string or a stylesheet: a hex, an rgb() / hsl() / oklch() value, a Tailwind palette class (a hue and a step, or white / black), a --color-<hue>-<step> variable, or a named colour in a colour property — a var() fallback included",instead:"a colour role from efficient-shell: its utility (the text, background or border utility of ink, ink-faint, surface, line, accent-fill, accent-text, danger-text, status-danger-line …) or var(--role); COLOUR_ROLES lists them. A merchant site reads the site theme (owner ruling 2026-10-23)"}},p=["@headlessui/","@radix-ui/","@mui/","@chakra-ui/","@mantine/","@floating-ui/","antd","react-aria","react-aria-","react-bootstrap","react-select","react-colorful","react-tooltip","react-hot-toast","react-toastify","sonner"],f=["@heroicons/","@tabler/icons","@tabler/icons-","@phosphor-icons/","@fortawesome/","@iconify/","@radix-ui/react-icons","@mui/icons-material","lucide","lucide-react","simple-icons","react-icons","react-feather"],g=["recharts","chart.js","react-chartjs-2","d3","d3-","@nivo/","victory","victory-","echarts","echarts-for-react","apexcharts","react-apexcharts","@visx/","highcharts","highcharts-react-official","plotly.js","plotly.js-dist","react-plotly.js","lightweight-charts","@antv/g2","@antv/g2plot","chartist","billboard.js","c3","uplot"],m={"efficient-shell":["@headlessui/react"]};function w(e,t){return t.some(t=>t.endsWith("/")||t.endsWith("-")?e.startsWith(t):e===t||e.startsWith(`${t}/`))}function k(e){return w(e,f)?"icon":w(e,p)?"kit":w(e,g)?"chart":null}function x(e){const t=k(e);return"kit"===t||"icon"===t?"kit-dep":"chart"===t?"chart-dep":null}var b=/[.+^$()|[\]\\]/g;function $(e){let t="",n=0;for(let i=0;i<e.length;i++){const o=e[i];"*"===o?"*"===e[i+1]?"/"===e[i+2]?(t+="(?:[^/]+/)*",i+=2):(t+=".*",i+=1):t+="[^/]*":"?"===o?t+="[^/]":"{"===o?(t+="(?:",n+=1):"}"===o&&n>0?(t+=")",n-=1):t+=","===o&&n>0?"|":o.replace(b,"\\$&")}if(0!==n)throw new Error(`unbalanced { in glob "${e}"`);return new RegExp(`^${t}$`)}function y(e){const t=e.map($);return e=>t.some(t=>t.test(e))}var v=new Set(["node_modules",".git"]),S=new Set(["dist","coverage",".next",".turbo"]);function j(e){const t=e.search(/[*?{]/),n=-1===t?e:e.slice(0,t),i=n.lastIndexOf("/");return-1===i?"":n.slice(0,i)}function I(e,t){const i=y(t),o=[...new Set(t.map(j))].sort(),s=o.filter(e=>!o.some(t=>t!==e&&(""===t||e.startsWith(`${t}/`)))),a=new Set,l=t=>{let o;try{o=r(n(e,t),{withFileTypes:!0})}catch{return}for(const e of o){const n=t?`${t}/${e.name}`:e.name;e.isDirectory()?v.has(e.name)||""===t&&S.has(e.name)||l(n):e.isFile()&&i(n)&&a.add(n)}};for(const e of s)l(e);return[...a].sort(L)}var L=(e,t)=>e<t?-1:e>t?1:0,R=class extends Error{},A=(e,t)=>`${e}:${t}`;function z(e){const t=e.lastIndexOf(":");return{file:e.slice(0,t),kind:e.slice(t+1)}}var E=e=>a.indexOf(e);function C(e,t){const n=z(e),i=z(t);return L(n.file,i.file)||E(n.kind)-E(i.kind)}function T(e,t="ui-kit.baseline.json"){let n;try{n=JSON.parse(e)}catch(e){throw new R(`${t} is not valid JSON: ${e.message}`)}const i=e=>{throw new R(`${t}: ${e}. The tool writes this file; do not edit it by hand.`)};if("object"!=typeof n||null===n||Array.isArray(n))return i("must be a JSON object");const o=n;if(1!==o.schema)return i("number"==typeof o.schema&&o.schema>1?`"schema": ${o.schema} is newer than this efficient-shell reads (1); upgrade efficient-shell`:'"schema" must be 1');if(!Array.isArray(o.kinds)||o.kinds.some(e=>"string"!=typeof e))return i('"kinds" must be a list');const s=o.kinds.filter(l);if("object"!=typeof o.counts||null===o.counts||Array.isArray(o.counts))return i('"counts" must be an object');const r=new Map;for(const[e,t]of Object.entries(o.counts)){const{file:n,kind:o}=z(e);if(!n||!o)return i(`"${e}" is not "<file>:<kind>"`);if("number"!=typeof t||!Number.isInteger(t)||t<1)return i(`"${e}" must be a whole number, 1 or more (a line that reaches 0 is deleted)`);l(o)&&r.set(e,t)}return{kinds:s,counts:r}}function M(e){const t=a.filter(t=>e.kinds.includes(t)),n=[...e.counts.keys()].filter(t=>(e.counts.get(t)??0)>0).sort(C).map(t=>` ${JSON.stringify(t)}: ${e.counts.get(t)}`);return["{",' "schema": 1,',` "kinds": [${t.map(e=>JSON.stringify(e)).join(", ")}],`,n.length?` "counts": {\n${n.join(",\n")}\n }`:' "counts": {}',"}",""].join("\n")}function B(e){const t={};for(const[n,i]of e){const{kind:e}=z(n);l(e)&&(t[e]=(t[e]??0)+i)}return t}var P=class extends Error{},O=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),D=new Set(["$schema","schema","kinds","include","exclude","includeImporting","output","allow"]);var N="package.json",F=[2,4,8,12,16,20,24,32,40,48];function J(e){if("0"===e||"px"===e)return!0;const t=Number(e);return!!Number.isFinite(t)&&F.includes(4*t)}var U=new Set(["iframe","frame","object","embed"]),W=new Set(["href","xlinkHref","to","id","key","htmlFor"]),q=/(?<![&\w])(?<!url\()#(?:[0-9a-fA-F]{8}|[0-9a-fA-F]{6}|[0-9a-fA-F]{3,4})(?![\w-])/g,_=/(?<![\w-])rounded(?:-(?:[trblse]|tl|tr|br|bl|ss|se|ee|es))?-\[([^\]]*)\]/g,G=/^border(?:(?:Top|Bottom)(?:Left|Right)|(?:Start|End)(?:Start|End))?Radius$/,K=/^(?:inherit|initial|unset|revert)$|var\(|^(?:50|100)%$|^(?:999|9999)(?:px)?$/,H=/(?<![\w-])-?(?:p|px|py|pt|pr|pb|pl|ps|pe|m|mx|my|mt|mr|mb|ml|ms|me|gap|gap-x|gap-y|space-x|space-y)-(\d+(?:\.\d+)?|px|\[[^\]]*\])(?![\w.[/-])/g,Q=/(?<![\w-])text-\[(?:length:)?(\d*\.?\d+(?:px|rem|em|%))\]/g,V=/(?<![\w-])z-(\d+|\[[^\]]*\])(?![\w.[/-])/g,X=/(?<![\w-])shadow-(xs|2xs|md|2xl|\[[^\]]*\])(?![\w.[/-])/g,Z=/var\(|^(?:inherit|initial|unset|revert|revert-layer|none|auto)$/,Y=/^(?:(?:padding|margin)(?:Top|Right|Bottom|Left|Inline|Block|InlineStart|InlineEnd|BlockStart|BlockEnd)?|gap|rowGap|columnGap)$/,ee=new Set([0,...F]),te=/(?<![\w-])dark:(?=[\w[\-!@*(])/g,ne="slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose",ie="(?:50|[1-9]00|950)",oe=new RegExp(`(?<![\\w-])(?:bg|text|border(?:-[xytrblse])?|ring(?:-offset)?|inset-ring|outline|divide|fill|stroke|from|via|to|shadow|inset-shadow|drop-shadow|accent|caret|decoration|placeholder)-(?:(?:${ne})-${ie}|white|black)(?:\\/[\\w.]+)?(?![\\w-])`,"g"),se=new RegExp(`--color-(?:(?:${ne})-${ie}|white|black)(?![\\w-])`,"g"),re=/(?<![\w-])(?:rgba?|hsla?|hwb|oklch|oklab|lab|lch)\(\s*[\d.]/g,ae=/(?<![\w-])(?:white|black|red|green|blue|yellow|orange|purple|pink|gray|grey|silver|maroon|navy|teal|olive|lime|aqua|fuchsia|brown|gold|beige|ivory|tan|crimson|coral|salmon|indigo|violet)(?![\w-])/gi,le=/^(?:color|background(?:Color)?|border(?:Top|Right|Bottom|Left|Inline|Block)?(?:Color)?|outline(?:Color)?|fill|stroke|caretColor|accentColor|textDecorationColor|boxShadow|textShadow)$/,ce=/(?<![&a-zA-Z0-9])(?<!url\()#(?:[0-9a-fA-F]{8}|[0-9a-fA-F]{6}|[0-9a-fA-F]{3,4})(?![\w-])/g,de=e=>[...e.matchAll(ce)].length+[...e.matchAll(re)].length+[...e.matchAll(oe)].length+[...e.matchAll(se)].length,ue=new Set(["button","a","option","Button","IconButton","SplitButton","Link","NavLink","PopupMenuItem","PopupMenuLabel","DropdownMenuItem","MenuItem","ContextMenuItem"]),he=/(?:…|\.\.\.|…)\s*$/,pe=new RegExp("\\p{L}","u"),fe=new RegExp("\\p{L}[\\p{L}-]*","u"),ge={busy:{words:["Accepting","Adding","Applying","Approving","Arranging","Asking","Assigning","Booking","Building","Calculating","Cancelling","Capturing","Changing","Checking","Choosing","Closing","Combining","Comparing","Completing","Confirming","Connecting","Converting","Copying","Correcting","Counting","Creating","Deleting","Detaching","Downloading","Drawing","Duplicating","Emailing","Ending","Exporting","Fetching","Filing","Finding","Flushing","Generating","Grouping","Importing","Linking","Loading","Locating","Looking","Making","Marking","Matching","Measuring","Merging","Moving","Opening","Ordering","Paying","Pending","Posting","Preparing","Previewing","Pricing","Processing","Provisioning","Publishing","Purging","Pushing","Queued","Queuing","Quoting","Re-booking","Re-importing","Re-opening","Reading","Rebooting","Rebuilding","Receiving","Reconciling","Reconnecting","Recording","Refreshing","Refunding","Regenerating","Registering","Reinstating","Rejecting","Removing","Reopening","Requesting","Resending","Resetting","Resolving","Restarting","Restoring","Resuming","Retrying","Reversing","Reverting","Running","Saving","Searching","Sending","Setting","Settling","Sharing","Signing","Splitting","Starting","Submitting","Suggesting","Switching","Syncing","Taking","Testing","Transferring","Typing","Updating","Uploading","Verifying","Waiting","Withdrawing","Working"],zhStarts:["正在"],zhEnds:["中"]},placeholder:{},prompt:{}},me=new Set((ge.busy?.words??[]).map(e=>e.toLowerCase())),we=new Set(["label","aria-label",...ge.placeholder?[]:["placeholder","searchPlaceholder","emptyOptionLabel","blankLabel"]]),ke=(e,t)=>{if(!he.test(t)||!pe.test(e))return!1;const n=e.match(fe)?.[0]?.toLowerCase();if(n&&me.has(n))return!1;const i=e.replace(he,"").trim(),o=ge.busy;return!(o&&(o.zhStarts.some(e=>i.startsWith(e))||o.zhEnds.some(e=>i.endsWith(e))))},xe=new Set(["confirm","alert","prompt"]),be=new Set(["window","globalThis","self"]);var $e=e=>/\.(?:[cm]?[jt]s|[jt]sx)$/.test(e)&&!e.endsWith(".d.ts"),ye=e=>/\.(?:css|scss)$/.test(e),ve=/^(?:color|background(?:-color)?|border(?:-(?:top|right|bottom|left|inline|block)(?:-(?:start|end))?)?(?:-color)?|outline(?:-color)?|fill|stroke|caret-color|accent-color|text-decoration(?:-color)?|box-shadow|text-shadow|column-rule(?:-color)?)$/;function Se(e,t){if(!t.includes("colour"))return{};const n=e.replace(/\/\*[\s\S]*?\*\//g,e=>e.replace(/[^\n]/g," ")),i=[],o=e=>n.slice(0,e).split("\n").length;let s=0,r=0;for(let e=0;e<n.length;e++){const t=n[e];if("{"===t||"}"===t||";"===t){const a=n.slice(r,e);if("{"!==t&&s>0){const e=r+(a.length-a.trimStart().length),t=a.trim(),n=t.indexOf(":");if(t.startsWith("@apply"))for(let n=[...t.matchAll(oe)].length;n>0;n--)i.push(o(e));else if(n>0){const s=t.slice(0,n).trim().toLowerCase(),r=t.slice(n+1);if(!/^(?:-webkit-)?mask/.test(s)){const t=de(r)+(ve.test(s)?[...r.matchAll(ae)].length:0);for(let n=0;n<t;n++)i.push(o(e))}}}"{"===t?s++:"}"===t&&(s=Math.max(0,s-1)),r=e+1}}return i.length?{colour:i}:{}}function je(e,t,n,i,o){const s=new Set(i),r=e.createSourceFile(t,n,e.ScriptTarget.Latest,!0,function(e,t){return t.endsWith(".tsx")?e.ScriptKind.TSX:t.endsWith(".jsx")?e.ScriptKind.JSX:/\.[cm]?js$/.test(t)?e.ScriptKind.JS:e.ScriptKind.TS}(e,t)),a={},l=/\.[jt]sx$/.test(t),c=e=>r.getLineAndCharacterOfPosition(e).line+1,d=(e,t)=>{s.has(e)&&(a[e]??=[]).push(c(t.getStart(r)))},u=(t,n)=>t.attributes.properties.find(t=>e.isJsxAttribute(t)&&t.name.getText(r)===n),h=t=>{const n=t?.initializer;if(n)return e.isStringLiteral(n)?n.text:e.isJsxExpression(n)&&n.expression&&e.isStringLiteralLike(n.expression)?n.expression.text:void 0},p=new Set;if(s.has("native")){const t=n=>{if(n)if(e.isIdentifier(n))xe.has(n.text)&&p.add(n.text);else if(e.isObjectBindingPattern(n)||e.isArrayBindingPattern(n))for(const i of n.elements)e.isBindingElement(i)&&t(i.name)},n=i=>{(e.isImportClause(i)||e.isImportSpecifier(i)||e.isNamespaceImport(i)||e.isVariableDeclaration(i)||e.isParameter(i)||e.isFunctionDeclaration(i))&&t(i.name),e.forEachChild(i,n)};n(r)}const f=t=>t&&e.isStringLiteralLike(t)?t.text:void 0,g=(e,t)=>{e&&("efficient-shell"===e||e.startsWith("efficient-shell/"))&&o?.add(e);const n=e?k(e):null;n&&d(n,t)},m=(e,t,n)=>{if(s.has("dark"))for(const n of e.matchAll(te))d("dark",t);if(s.has("radius"))for(const n of e.matchAll(_))K.test(n[1].trim())||d("radius",t);if(n&&l&&s.has("hex"))for(const n of e.matchAll(q))d("hex",t);if(n&&s.has("colour"))for(let n=de(e);n>0;n--)d("colour",t);if(s.has("spacing"))for(const n of e.matchAll(H)){const e=n[1];(e.startsWith("[")?Z.test(e.slice(1,-1).trim()):J(e))||d("spacing",t)}if(s.has("font-size"))for(const n of e.matchAll(Q))d("font-size",t);if(s.has("z-index"))for(const n of e.matchAll(V)){const e=n[1].startsWith("[")?n[1].slice(1,-1).trim():n[1];/^\d+$/.test(e)&&Number(e)>30&&d("z-index",t)}if(s.has("shadow"))for(const n of e.matchAll(X))n[1].startsWith("[")&&Z.test(n[1].slice(1,-1).trim())||d("shadow",t)},w=(t,n,i)=>{const o=e.isStringLiteralLike(n)?n.text.trim():void 0;if(s.has("colour")&&void 0!==o&&le.test(t))for(const e of o.matchAll(ae))d("colour",i);if(s.has("spacing")&&Y.test(t))e.isNumericLiteral(n)?ee.has(Number(n.text))||d("spacing",i):void 0!==o&&!Z.test(o)&&(e=>[...e.matchAll(/(-?\d*\.?\d+)(px|rem|em)\b/g)].map(e=>Math.abs(Number(e[1]))*("px"===e[2]?1:16)))(o).some(e=>!ee.has(e))&&d("spacing",i);else if(s.has("font-size")&&"fontSize"===t)(e.isNumericLiteral(n)||void 0!==o&&!Z.test(o)&&!/^(?:smaller|larger)$/.test(o))&&d("font-size",i);else if(s.has("z-index")&&"zIndex"===t){const t=[],o=n=>{e.isNumericLiteral(n)||e.isStringLiteralLike(n)&&/^\d+$/.test(n.text.trim())?t.push(Number(n.text)):e.forEachChild(n,o)};o(n);for(const e of t)e>30&&d("z-index",i)}else s.has("shadow")&&"boxShadow"===t&&(void 0===o||""===o||Z.test(o)||d("shadow",i))},x=(t,n)=>{if(e.isJsxOpeningElement(t)||e.isJsxSelfClosingElement(t)){const e=t.tagName.getText(r);if(/^[a-z]/.test(e)){const n=h(u(t,"type"));"svg"===e&&d("svg",t),"button"===e?d("button",t):"select"===e?d("select",t):"textarea"===e?d("textarea",t):"input"===e&&("range"===n?d("range",t):"hidden"!==n&&d("input",t));const i=h(u(t,"role"));"dialog"!==e&&"dialog"!==i&&"alertdialog"!==i||d("dialog",t),!U.has(e)&&u(t,"title")&&d("title",t)}}else if(e.isCallExpression(t)){const n=t.expression;e.isIdentifier(n)?"createPortal"===n.text?d("portal",t):xe.has(n.text)&&!p.has(n.text)?d("native",t):"require"===n.text&&g(f(t.arguments[0]),t):e.isPropertyAccessExpression(n)?"createPortal"===n.name.text?d("portal",t):xe.has(n.name.text)&&e.isIdentifier(n.expression)&&be.has(n.expression.text)&&d("native",t):n.kind===e.SyntaxKind.ImportKeyword&&g(f(t.arguments[0]),t)}else{if(e.isImportDeclaration(t)||e.isExportDeclaration(t))return void g(f(t.moduleSpecifier),t);if(e.isPropertyAssignment(t)){const n=e.isIdentifier(t.name)||e.isStringLiteralLike(t.name)?t.name.text:"",i=t.initializer;w(n,i,t),s.has("radius")&&G.test(n)&&(e.isNumericLiteral(i)?K.test(i.text)||d("radius",t):e.isStringLiteralLike(i)&&!K.test(i.text.trim())&&d("radius",t))}else if(e.isStringLiteralLike(t))m(t.text,t,n);else if(e.isTemplateExpression(t)){m(t.head.text,t.head,n);for(const e of t.templateSpans)m(e.literal.text,e.literal,n)}}e.isJsxAttribute(t)&&W.has(t.name.getText(r))?e.forEachChild(t,e=>x(e,!1)):e.forEachChild(t,e=>x(e,n))};return x(r,!0),s.has("ellipsis-label")&&function(e,t,n){const i=new Set,o=(e,t)=>{i.has(e)||(i.add(e),n(t))},s=n=>{if(n)if(e.isStringLiteralLike(n))ke(n.text,n.text)&&o(n,n.getStart(t));else if(e.isTemplateExpression(n)){const e=[n.head.text,...n.templateSpans.map(e=>e.literal.text)];ke(e.join(" "),e[e.length-1])&&o(n,n.getStart(t))}else e.isConditionalExpression(n)?(s(n.whenTrue),s(n.whenFalse)):e.isBinaryExpression(n)?(s(n.left),s(n.right)):e.isParenthesizedExpression(n)||e.isAsExpression(n)||e.isJsxExpression(n)?s(n.expression):e.isCallExpression(n)&&Ie.has(Le(n.expression))&&n.arguments[0]&&s(n.arguments[0])},r=n=>{for(const i of n)if(e.isJsxText(i)){const e=i.getText(t);ke(e,e)&&o(i,i.getStart(t)+(e.length-e.trimStart().length))}else e.isJsxExpression(i)?s(i.expression):(e.isJsxElement(i)||e.isJsxFragment(i))&&r(i.children)},a=(n,i)=>{const o=n.attributes.properties.find(n=>e.isJsxAttribute(n)&&n.name.getText(t)===i),s=o?.initializer;return s&&e.isStringLiteral(s)?s.text:s&&e.isJsxExpression(s)&&s.expression&&e.isStringLiteralLike(s.expression)?s.expression.text:void 0},l=t=>t.properties.some(t=>e.isPropertyAssignment(t)&&(e.isIdentifier(t.name)||e.isStringLiteralLike(t.name))&&"value"===t.name.text&&e.isStringLiteralLike(t.initializer)&&""===t.initializer.text),c=n=>{if(e.isJsxElement(n)){const e=n.openingElement,i=e.tagName.getText(t),o="option"===i&&ge.prompt&&""===a(e,"value");ue.has(i)&&!o&&r(n.children)}else if(e.isJsxAttribute(n))we.has(n.name.getText(t))&&s(n.initializer);else if(e.isPropertyAssignment(n)){const t=e.isIdentifier(n.name)||e.isStringLiteralLike(n.name)?n.name.text:"",i=ge.prompt&&e.isObjectLiteralExpression(n.parent)&&l(n.parent);we.has(t)&&!i&&s(n.initializer)}e.forEachChild(n,c)};c(t)}(e,r,e=>(a["ellipsis-label"]??=[]).push(c(e))),a}var Ie=new Set(["say","t"]),Le=e=>{const t=e.getText();return t.slice(t.lastIndexOf(".")+1)};function Re(e){const t={};for(const[n,i]of Object.entries(e))i.length&&(t[n]=i.length);return t}function Ae(e,t,n){const i=e.createSourceFile(t,n,e.ScriptTarget.Latest,!1),o=[];for(const t of i.statements)(e.isImportDeclaration(t)||e.isExportDeclaration(t))&&t.moduleSpecifier&&e.isStringLiteralLike(t.moduleSpecifier)&&o.push(t.moduleSpecifier.text);return o}var ze=(e,t)=>e.some(e=>t.some(t=>t.endsWith("/*")?e.startsWith(t.slice(0,-1)):e===t));var Ee=e=>new Map(e.allow.map(e=>[A(e.file,e.kind),e.count]));function Ce(e,t){return e.kinds.filter(e=>t.kinds.includes(e))}var Te=(e,t,n)=>{if("kit-dep"===n)return` (${e.kitDeps.join(", ")})`;if("chart-dep"===n)return` (${e.chartDeps.join(", ")})`;const i=e.hits.get(t)?.[n]??[];if(0===i.length)return"";const o=i.slice(0,12).join(", ");return` (line${1===i.length?"":"s"} ${o}${i.length>12?", …":""})`};function Me(e,t,n){const i=Ee(e),o=new Map;for(const[e,s]of t.counts){const{kind:t}=z(e);if(!l(t)||!n.includes(t))continue;const r=s-(i.get(e)??0);r>0&&o.set(e,r)}return{kinds:a.filter(e=>n.includes(e)),counts:o}}function Be(e,t){let n=0;for(const i of new Set([...e.keys(),...t.keys()]))(e.get(i)??0)!==(t.get(i)??0)&&(n+=1);return n}var Pe="\n// <button> in a comment is not a button, and <svg> in one is not a drawing\n/* nor is <input title=\"x\"> in this one, or dark:bg-black, or #fff */\nimport { createPortal } from 'react-dom';\nimport { Dialog } from '@headlessui/react';\nimport { TrashIcon } from '@heroicons/react/24/outline';\nimport type { Icon } from 'lucide-react';\nimport { Button, confirm } from 'efficient-shell';\nexport { Slot } from '@radix-ui/react-slot';\nexport { CheckIcon } from '@radix-ui/react-icons';\nimport { LineChart } from 'recharts';\nimport 'd3-scale';\nexport { VictoryPie } from 'victory';\nimport { BarChart } from '@mui/x-charts';\nimport Tree from 'react-d3-tree';\nimport { TimeSeriesChart } from 'efficient-shell/ui';\n// import 'chart.js' in a comment is not an import, and 'echarts' in a string is not one either\nconst chartLabel = 'd3-array';\n\nconst a = <button title=\"Says what it does\">x</button>;\nconst b = <input type=\"range\" />;\nconst c = <input type=\"text\" />;\nconst c2 = <input type={\"hidden\"} name=\"csrf\" />;\nconst c3 = <input type=\"hidden\" />;\nconst c4 = <input type={kind} />;\nconst d = <select />;\nconst d2 = <textarea />;\nconst e = <div role=\"dialog\" />;\nconst e2 = <dialog open />;\nconst e3 = <section role={'alertdialog'} />;\nconst f = <iframe title=\"Preview\" />;\nconst f2 = <object title=\"Chart\" />;\nconst g = <Button title=\"a prop, not a tooltip\" role=\"dialog\" />;\nconst g2 = (\n <button\n type=\"button\"\n title={hint}\n >\n y\n </button>\n);\nconst h = ReactDOM.createPortal(a, document.body);\nconst i = createPortal(a, document.body);\n\nasync function leave() {\n if (window.confirm('Sure?')) return;\n globalThis.alert('No');\n alert('native: nothing binds the name');\n prompt('native too');\n await confirm('the shell: the import binds it');\n record.confirm('a method, not the popup');\n}\n\nconst j = <div className=\"bg-white dark:bg-black dark:hover:text-white is-dark:no\" />;\nconst k = clsx('text-gray-900', on && 'dark:text-gray-100');\nconst l = <span style={{ color: '#fff', background: \"#12ab34\" }} className={`border-[#0a0b0c80] ${x}`} />;\nconst m = <a href=\"#faded\" id=\"#bad\" key=\"#abc\" to=\"#face\">skip</a>;\nconst n = <label htmlFor={'#dead'}>skip</label>;\nconst o = <span>Ӓ and BG#00340 and #12345 and #added are not colours</span>;\nconst p = 'entity  ref BG#00340';\nconst q = <use xlinkHref=\"#abc\" fill=\"url(#fed)\" />;\nconst t = <div className=\"rounded-[4px] rounded-t-[0.5rem] hover:rounded-[2px] rounded-lg rounded-(--radius-card) rounded-[inherit] rounded-[var(--r)]\" />;\nconst u = <div style={{ borderRadius: 6, borderTopLeftRadius: '3px', borderBottomRightRadius: '50%', borderEndEndRadius: 'var(--radius-card)' }} />;\nconst v = <i style={{ borderRadius: 9999 }} />;\nconst w = <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 4h16\" /></svg>;\nconst w2 = <Svg viewBox=\"0 0 24 24\" />;\nconst w3 = '<svg viewBox=\"0 0 1 1\"></svg> in a string is not an element';\nconst r = lazy(() => import('@mui/material'));\nconst s = require('react-select');\nconst s2 = require('chart.js/auto');\nconst s3 = import('@nivo/line');\n",Oe={button:2,input:2,range:1,textarea:1,select:1,dialog:3,title:2,portal:2,native:4,dark:3,hex:3,radius:5,kit:5,icon:3,svg:1,chart:5,colour:8},De={kit:1,dark:1,portal:1,radius:2,chart:1,colour:2},Ne=(...e)=>e.join("-"),Fe=`\nconst s1 = <i className="${[Ne("px","2.5"),Ne("py","1.5"),"md:"+Ne("gap","1.5"),"-"+Ne("mt","1.5"),Ne("p","[10px]")].join(" ")}" />;\nconst s2 = <i className="${[Ne("p","0"),Ne("px","px"),Ne("p","0.5"),Ne("p","3"),Ne("gap-x","4"),Ne("p","12"),Ne("p","(--space-12)"),Ne("p","[var(--space-12)]"),Ne("space-x","reverse"),Ne("top","1.5")].join(" ")}" />;\nconst s3 = <i style={{ padding: 6, marginTop: '10px', gap: 8, margin: '0 auto', paddingInline: 'var(--space-12)' }} />;\nconst f1 = <i className="${[Ne("text","[11px]"),Ne("text","[0.8rem]"),Ne("text","xs"),Ne("text","[#fff]"),Ne("text","(--text-2xs)")].join(" ")}" />;\nconst f2 = <i style={{ fontSize: 12 }} />;\nconst f3 = { fontSize: 'var(--x)', font: 'inherit' };\nconst z1 = <i className="${[Ne("z","[9999]"),Ne("z","50"),Ne("z","10"),Ne("z","30"),"-"+Ne("z","10"),Ne("z","auto"),Ne("z","(--z-popup)"),Ne("z","[var(--z-popup)]")].join(" ")}" />;\nconst z2 = { zIndex: on ? 2020 : 2010 };\nconst z3 = { zIndex: Z_LAYERS.popup, top: 9999 };\nconst h1 = <i className="${[Ne("shadow","[0_1px_2px_#000]"),Ne("shadow","md"),"shadow",Ne("shadow","lg"),Ne("shadow","(--elevation-panel)"),Ne("shadow","black/20"),Ne("drop-shadow","md")].join(" ")}" />;\nconst h2 = { boxShadow: '0 1px 2px rgba(0,0,0,.1)' };\nconst h3 = { boxShadow: 'none', outline: 'var(--elevation-raised)' };\n`,Je={spacing:7,"font-size":3,"z-index":4,shadow:3,hex:1,colour:4},Ue={colour:4},We={"ellipsis-label":9},qe=e=>a.filter(t=>e[t]).map(t=>`${t} ${e[t]}`).join(", ")||"nothing";var _e="ui-kit.config.json",Ge="ui-kit.baseline.json",Ke="efficient-shell-ui-check",He=`${Ke}: every surface a person operates takes its UI from efficient-shell (harness UI-24).\n\n ${Ke} check this repository against ${Ge}\n ${Ke} --print print today's counts as a baseline, and change nothing\n ${Ke} --summary print totals per kind and per folder, as Markdown\n ${Ke} --json print the result as JSON\n ${Ke} --update lower the lines whose counts fell, and delete the ones at zero\n ${Ke} --update --allow-move also follow a renamed or split file (no total may rise)\n ${Ke} --init write the first ${Ge}\n ${Ke} --init --kind <kind> take the baseline for a kind just added to "kinds"\n ${Ke} --no-base do not compare with the pull request's base branch\n\nKinds: ${a.join(", ")}\nReads ${_e} in the current directory.`;var Qe=(e,t)=>`${e} ${t}${1===e?"":"s"}`,Ve=(e,t)=>{const n=B(e);return t.map(e=>`${e} ${n[e]??0}`).join(" · ")};process.exitCode=function(e,t){const r=function(e){const t={print:!1,summary:!1,json:!1,update:!1,allowMove:!1,init:!1,noBase:!1,help:!1,version:!1,kinds:[]};for(let n=0;n<e.length;n++){const i=e[n];if("--print"===i)t.print=!0;else if("--summary"===i)t.summary=!0;else if("--json"===i)t.json=!0;else if("--update"===i)t.update=!0;else if("--allow-move"===i)t.allowMove=!0;else if("--init"===i)t.init=!0;else if("--no-base"===i)t.noBase=!0;else if("--help"===i||"-h"===i)t.help=!0;else if("--version"===i||"-v"===i)t.version=!0;else if("--kind"===i){const i=e[++n];if(!i)return"--kind needs a kind after it";t.kinds.push(...i.split(","))}else{if(!i.startsWith("--kind="))return`unknown argument "${i}"`;t.kinds.push(...i.slice(7).split(","))}}return t.allowMove&&!t.update?"--allow-move goes with --update":t.kinds.length&&!t.init?"--kind goes with --init":[t.print,t.summary,t.update,t.init].filter(Boolean).length>1?"choose one of --print, --summary, --update and --init":t}(e);if("string"==typeof r)return t.err(`${Ke}: ${r}\n\n${He}`),2;if(r.help)return t.out(He),0;if(r.version)return t.out(t.version),0;const c=e=>(r.json?t.out(JSON.stringify({tool:Ke,version:t.version,ok:!1,failures:[e]},null,2)):t.err(`${Ke}: ${e}`),1),p=n(t.cwd,_e);if(!i(p))return c(`no ${_e} in ${t.cwd}. Run it from the repository root; the harness has the template.`);let f,g;try{f=function(e,t="ui-kit.config.json"){const n=[],i=e=>{n.push(e)},o=(e,t,{required:n=!1}={})=>{if(void 0===e&&!n)return[];if(!Array.isArray(e)||e.some(e=>"string"!=typeof e||""===e))return i(`${t} must be a list of non-empty strings`),[];n&&0===e.length&&i(`${t} must name at least one entry`);for(const n of e)(n.startsWith("/")||n.startsWith("./")||n.includes("\\")||n.split("/").includes(".."))&&i(`${t}: "${n}" must be a path from the repository root, written with / (no ./, .. or \\)`);return e},s=(e,t)=>"string"!=typeof e||e.trim().length<10?(i(`${t} needs a "reason" a reviewer can read (a sentence, not a word)`),""):e,r=(e,t)=>void 0===e?[]:!Array.isArray(e)||e.some(e=>!O(e))?(i(`${t} must be a list of objects`),[]):e;if(!O(e))throw new P(`${t}: must be a JSON object`);for(const t of Object.keys(e))D.has(t)||i(`unknown key "${t}"`);1!==e.schema&&i("number"==typeof e.schema&&e.schema>1?`"schema": ${e.schema} is newer than this efficient-shell reads (1); upgrade efficient-shell`:'"schema" must be 1');const c=[];if(Array.isArray(e.kinds)&&0!==e.kinds.length)for(const t of e.kinds)l(t)?c.includes(t)?i(`"kinds": "${t}" is listed twice`):c.push(t):i(`"kinds": unknown kind ${JSON.stringify(t)} (this efficient-shell knows: ${a.join(", ")})`);else i(`"kinds" must list the kinds this repository checks, from: ${a.join(", ")}`);const d=o(e.include,'"include"'),u=o(e.exclude,'"exclude"'),h=r(e.includeImporting,'"includeImporting"').map((e,t)=>({files:o(e.files,`"includeImporting"[${t}].files`,{required:!0}),modules:o(e.modules,`"includeImporting"[${t}].modules`,{required:!0}),reason:s(e.reason,`"includeImporting"[${t}]`)}));0===d.length&&0===h.length&&i('"include" must name the files that are operator UI (for example ["src/**/*.tsx"])');const p=r(e.output,'"output"').map((e,t)=>({files:o(e.files,`"output"[${t}].files`,{required:!0}),reason:s(e.reason,`"output"[${t}]`)})),f=[],g=new Set;if(r(e.allow,'"allow"').forEach((e,t)=>{const n=`"allow"[${t}]`,[r]=o([e.file],`${n}.file`),d=s(e.reason,n);if(!l(e.kind))return void i(`${n}.kind must be one of: ${a.join(", ")}`);if(c.includes(e.kind)||i(`${n}: kind "${e.kind}" is not in "kinds"`),"number"!=typeof e.count||!Number.isInteger(e.count)||e.count<1)return void i(`${n}.count must be a whole number, 1 or more`);if(!r)return;const u=`${r}:${e.kind}`;g.has(u)&&i(`${n}: ${r} already has an allow entry for "${e.kind}"`),g.add(u),f.push({file:r,kind:e.kind,count:e.count,reason:d})}),n.length)throw new P(`${t}:\n - ${n.join("\n - ")}`);return{schema:1,kinds:a.filter(e=>c.includes(e)),include:d,exclude:u,includeImporting:h,output:p,allow:f}}(JSON.parse(o(p,"utf8")),_e)}catch(e){return c(e instanceof P?e.message:`${_e} is not valid JSON: ${e.message}`)}try{g=t.loadTypeScript()}catch{return c('this check reads the TypeScript AST and found no "typescript" package here. Install it as a devDependency.')}const w=function(e){const t=[],n=u,i=[["fixture.tsx",Pe,Oe],["fixture.ts","\nimport { toast } from 'sonner';\nimport { extent } from 'd3-array';\nexport const tone = { warn: '#f59e0b' };\nexport const cls = 'ring-1 dark:ring-white rounded-[3px]';\nexport const box = { borderRadius: '0.25rem', radius: 4 };\nexport function ask(confirm: (message: string) => boolean) {\n return confirm('a parameter binds the name');\n}\nexport const mount = (node: unknown) => ReactDOM.createPortal(node, document.body);\n",De],["tokens.tsx",Fe,Je],["labels.tsx","\n// <Button>Save…</Button> in a comment is not a label\nconst l1 = <Button>Extend trial…</Button>;\nconst l2 = <PopupMenuItem onClick={go}><span>Read from a PDF...</span></PopupMenuItem>;\nconst l3 = <Button>{busy ? 'Saving…' : 'Duplicate site…'}</Button>;\nconst l4 = <Item label=\"Translate…\" aria-label={'More…'} />;\nconst l5 = [{ label: 'Reject…' }, { value: CUSTOM, label: 'Custom…' }];\nconst l6 = <option value={CUSTOM}>Different address…</option>;\nconst l7 = <PopupMenuLabel>{say(\"Duplicate to page…\")}</PopupMenuLabel>;\nconst n7 = <Button>{t('team:menu.remove')}</Button>;\nconst n1 = <Button>{`${name.slice(0, 9)}…`}</Button>;\nconst n2 = <p>Loading weather…</p>;\nconst n3 = <Input placeholder=\"Search…\" />;\nconst n4 = <option value=\"\">Pick a carrier…</option>;\nconst n5 = [{ value: '', label: 'Select…' }];\nconst n6 = <Button>Extend trial</Button>;\n",We]];for(const[o,s,r]of i){const i=Re(je(e,o,s,n));n.some(e=>(i[e]??0)!==(r[e]??0))&&t.push(`${o}: read ${qe(i)}; it holds ${qe(r)}`)}const o=Re(Se('\n/* #fff in a comment */\n.a:hover { color: #111; border: 1px solid white; }\n[data-x="#fff"] { mask-image: linear-gradient(#000, transparent); color: var(--ink); }\n.b { --mine: rgb(0 0 0 / .5); background: var(--surface, #fff); }\n',n));n.some(e=>(o[e]??0)!==(Ue[e]??0))&&t.push(`style.css: read ${qe(o)}; it holds ${qe(Ue)}`);const s=Re(je(e,"fixture.tsx",Pe,["button"]));return"button"!==Object.keys(s).join()&&t.push(`asked for button alone, the reader reported ${qe(s)}`),t}(g);if(w.length)return c(`the reader misread its own fixtures with typescript ${g.version}, so nothing it says about this repository can be trusted:\n - `+w.join("\n - "));const k=function(e,t,s){const r=[],a=y(s.exclude),l=y(s.output.flatMap(e=>e.files)),c=new Map,u=e=>{let i=c.get(e);return void 0===i&&c.set(e,i=o(n(t,e),"utf8")),i},h=(e,n)=>{for(const i of e)0===I(t,[i]).length&&r.push(`${n}: "${i}" matches no file. Delete the line, or fix the path.`)};h(s.include,'"include"'),s.output.forEach((e,t)=>h(e.files,`"output"[${t}]`)),s.includeImporting.forEach((e,t)=>h(e.files,`"includeImporting"[${t}]`));const p=new Set,f=s.kinds.includes("colour"),g=e=>($e(e)||f&&ye(e))&&!a(e)&&!l(e);for(const e of I(t,s.include))g(e)&&p.add(e);for(const n of s.includeImporting)for(const i of I(t,n.files))g(i)&&$e(i)&&!p.has(i)&&ze(Ae(e,i,u(i)),n.modules)&&p.add(i);const w=[...p].sort(),k=s.kinds.filter(e=>!d(e)),b=new Map,$=new Map,v=new Set;for(const t of w){const n=ye(t)?Se(u(t),k):je(e,t,u(t),k,v);let i=!1;for(const e of k){const o=n[e]?.length??0;o&&($.set(A(t,e),o),i=!0)}i&&b.set(t,n)}let S=[],j=[],L=[];const R=s.kinds.filter(d);if(R.length){const e=n(t,N);if(i(e)){const t=JSON.parse(o(e,"utf8")),n=["dependencies","peerDependencies","optionalDependencies"].flatMap(e=>Object.keys(t[e]??{})),i=new Set([...v].flatMap(e=>m[e]??[])),r=[...new Set(n)].sort();if(s.kinds.includes("kit-dep")){const e=r.filter(e=>"kit-dep"===x(e));S=e.filter(e=>!i.has(e)),j=e.filter(e=>i.has(e)),S.length&&$.set(A(N,"kit-dep"),S.length)}s.kinds.includes("chart-dep")&&(L=r.filter(e=>"chart-dep"===x(e)),L.length&&$.set(A(N,"chart-dep"),L.length))}else for(const e of R)r.push(`"kinds" includes "${e}", and there is no ${N} here to read.`)}for(const e of s.allow)(d(e.kind)?e.file===N:p.has(e.file))||r.push(`"allow": ${e.file} (${e.kind}) is not a file this check reads. Delete the entry, or fix the path.`);return{files:w,hits:b,counts:$,kitDeps:S,shellPeers:j,chartDeps:L,problems:r}}(g,t.cwd,f);if(0===k.files.length)return c(`read no files. "include" in ${_e} matches nothing, so a pass would mean nothing.`);const b=n(t.cwd,Ge),$=r.json,v=e=>{$||t.out(e)};if(r.print)return t.out(M(Me(f,k,f.kinds)).trimEnd()),0;if(r.summary){for(const e of function(e,t){const n=new Map,i=new Map;for(const[e,o]of t.counts){const{file:t,kind:s}=z(e);if(!l(s))continue;const r=n.get(s)??{count:0,files:new Set};r.count+=o,r.files.add(t),n.set(s,r);const a=t.split("/"),c=a.length>2?a.slice(0,2).join("/"):2===a.length?a[0]:".",d=i.get(c)??{};d[s]=(d[s]??0)+o,i.set(c,d)}const o=e.kinds.filter(e=>n.has(e)),s=[`**UI kit check (harness UI-24):** ${new Set([...t.counts.keys()].map(e=>z(e).file)).size} of ${Qe(t.files.length,"file")} still draw UI of their own.`,"","| Kind | Count | Files | The shell has |","|---|---:|---:|---|",...e.kinds.map(e=>{const t=n.get(e);return`| \`${e}\` | ${t?.count??0} | ${t?.files.size??0} | ${h[e].instead} |`})];if(o.length&&i.size){const e=e=>o.reduce((t,n)=>t+(e[n]??0),0),t=[...i].sort((t,n)=>e(n[1])-e(t[1])||(t[0]<n[0]?-1:1));s.push("",`| Folder | ${o.map(e=>`\`${e}\``).join(" | ")} | Total |`,`|---|${o.map(()=>"---:").join("|")}|---:|`,...t.map(([t,n])=>`| \`${t}\` | ${o.map(e=>n[e]??0).join(" | ")} | ${e(n)} |`))}return s}(f,k))t.out(e);return 0}let S=null;if(i(b))try{S=T(o(b,"utf8"),Ge)}catch(e){return c(e instanceof R?e.message:String(e))}if(r.init){const e=r.kinds.filter(e=>!l(e)||!f.kinds.includes(e));if(e.length)return c(`--kind ${e.join(", ")}: not in "kinds" in ${_e}. Add it there first.`);const t=r.kinds;if(S){if(0===t.length)return c(`${Ge} already exists, and --init would overwrite what it holds. It is for the adoption pull request only. To start checking a kind, add it to "kinds" and run --init --kind <kind>.`);const e=t.filter(e=>S.kinds.includes(e));if(e.length)return c(`the baseline was already taken for ${e.join(", ")}. Its lines only go down; use --update.`);const n=Me(f,k,t);S={kinds:[...S.kinds,...t],counts:new Map([...S.counts,...n.counts])}}else{if(t.length)return c(`there is no ${Ge} yet. Run --init on its own first.`);S=Me(f,k,f.kinds)}s(b,M(S)),v(`${Ke}: wrote ${Ge} (${Qe(S.counts.size,"line")}: ${Ve(S.counts,S.kinds)})`)}if(!S)return c(`no ${Ge}. This repository has not adopted the check yet: run ${Ke} --init, and commit the file.`);if(r.update){const e=function(e,t,n,{allowMove:i=!1}={}){const o=Ce(e,t),s=Me(e,n,o),r=new Map([...t.counts].filter(([e])=>o.includes(z(e).kind)));if(i){const e=B(r),n=B(s.counts),i=o.filter(t=>(n[t]??0)>(e[t]??0)).map(t=>`${t}: ${n[t]??0} across the repository, and the baseline holds ${e[t]??0}`);return i.length?{baseline:t,lowered:0,refused:i}:{baseline:s,lowered:Be(r,s.counts),refused:[]}}const a=new Map;for(const[e,t]of r){const n=Math.min(t,s.counts.get(e)??0);n>0&&a.set(e,n)}return{baseline:{kinds:o,counts:a},lowered:Be(r,a),refused:[]}}(f,S,k,{allowMove:r.allowMove});if(e.refused.length)return c(`--allow-move follows code that moved, and this is more of it than before:\n - ${e.refused.join("\n - ")}\nNothing was written.`);S=e.baseline,s(b,M(S)),v(`${Ke}: ${e.lowered?`changed ${Qe(e.lowered,"line")} in`:"nothing to change in"} ${Ge}`)}const j=function(e,t,n){const i=[],o=[],s=[...n.problems],r=Ee(e),a=new Set(Ce(e,t)),c=e.kinds.filter(e=>!t.kinds.includes(e));c.length&&s.push(`"kinds" names ${c.map(e=>`"${e}"`).join(", ")}, and the baseline was never taken for ${1===c.length?"it":"them"}. Run: efficient-shell-ui-check --init ${c.map(e=>`--kind ${e}`).join(" ")}`);const d=t.kinds.filter(t=>!e.kinds.includes(t));d.length&&o.push(`the baseline still carries ${d.map(e=>`"${e}"`).join(", ")}, which "kinds" no longer names`);const u=new Set([...n.counts.keys(),...t.counts.keys(),...r.keys()]);for(const e of[...u].sort(C)){const{file:c,kind:d}=z(e);if(!l(d)||!a.has(d))continue;const u=n.counts.get(e)??0,p=r.get(e)??0,f=t.counts.get(e)??0;u>p+f?i.push(`${c}: ${d} ${u}, and its line allows ${p+f}${Te(n,c,d)}. ${h[d].counts} is counted; use ${h[d].instead}.`):u<p?s.push(`${c}: ${d} ${u}, and "allow" in ui-kit.config.json says ${p}. ${0===u?"Delete the entry":`Lower its count to ${u}`}: an exception does not outlive what it excused.`):u<p+f&&o.push(`${c}: ${d} ${u}, and its line says ${p+f}`)}return{grown:i,shrunk:o,other:s,updateFixes:0===i.length&&0===s.length&&o.length>0}}(f,S,k),L=r.noBase?{problems:[],note:""}:function(e,t,n){const i=e.env.GITHUB_BASE_REF;if(!i)return{problems:[],note:""};const o=e.git(["rev-parse","--show-prefix"]);if(null===o)return{problems:[],note:"not a git checkout; the base branch was not compared"};const s=`origin/${i}`;if(null===e.git(["rev-parse","--verify","--quiet",`${s}^{commit}`])&&(e.git(["fetch","--no-tags","--depth=1","origin",`+refs/heads/${i}:refs/remotes/origin/${i}`]),null===e.git(["rev-parse","--verify","--quiet",`${s}^{commit}`])))return{problems:[],note:`${s} could not be fetched; the base branch was not compared`};const r=e.git(["show",`${s}:${o.trim()}${Ge}`]);if(null===r)return{problems:[],note:`${s} has no ${Ge} yet (adoption)`};let a;try{a=T(r,`${s}:${Ge}`)}catch{return{problems:[],note:`${s}'s ${Ge} could not be read; the base branch was not compared`}}const l=B(a.counts),c=B(t.counts);return{problems:n.filter(e=>a.kinds.includes(e)&&(c[e]??0)>(l[e]??0)).map(e=>`${Ge} holds ${c[e]??0} of "${e}", and ${s} holds ${l[e]??0}. The baseline only goes down: use ${h[e].instead}. A count that is meant to stay goes in "allow" in ${_e}, with its reason.`),note:`compared with ${s}`}}(t,S,f.kinds),E=f.kinds.filter(e=>S.kinds.includes(e)),F=`${Ke} --update`,J=[...j.other,...j.grown,...j.shrunk.map(e=>`${e}. Run: ${F}`),...L.problems],U=0===J.length;if(r.json){const e=new Map(f.allow.map(e=>[`${e.file}:${e.kind}`,e.count]));return t.out(JSON.stringify({tool:Ke,version:t.version,ok:U,schema:f.schema,kinds:f.kinds,files:k.files.length,counts:B(k.counts),baseline:B(S.counts),allowed:B(e),kitDeps:k.kitDeps,shellPeers:k.shellPeers,chartDeps:k.chartDeps,failures:J},null,2)),U?0:1}t.out(`UI kit check (harness UI-24), efficient-shell ${t.version}\n`);const W=(e,n,i="")=>{if(0===n.length)return t.out(` ok ${e}`);t.err(` FAIL ${e}`);for(const e of n)t.err(` ${e}`);i&&t.err(` ${i}`)};t.out(` ok the reader reads its own fixtures (typescript ${g.version})`),t.out(` ok read ${Qe(k.files.length,"file")}`),W(`${_e} and ${Ge} describe this repository`,j.other),W("no file draws more of its own UI than its line allows",j.grown),W("every line is exact: a count that fell is a line to lower",j.shrunk,`Run: ${F}${j.updateFixes?"":" (after the failures above are fixed)"}`),L.note&&W(`the baseline is no higher than the base branch (${L.note})`,L.problems);const q=new Set([...k.counts.keys()].map(e=>z(e).file));return t.out(` ok PROGRESS: ${q.size} of ${Qe(k.files.length,"file")} still draw UI of their own: `+Ve(k.counts,E)),t.out(""),U?t.out("UI kit check: ok"):t.err(`UI kit check: FAILED (${Qe(J.length,"problem")})`),U?0:1}(process.argv.slice(2),{cwd:process.cwd(),env:process.env,out:e=>console.log(e),err:e=>console.error(e),loadTypeScript:()=>function(e){for(const i of[n(process.cwd(),"package.json"),e])try{return t(i)("typescript")}catch{}throw new Error("typescript is not installed")}(import.meta.url),git:function(t){try{return e("git",t,{cwd:process.cwd(),encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:6e4,maxBuffer:67108864})}catch{return null}},version:"10.24.0"});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createContext as r,useContext as e}from"react";import{jsx as n}from"react/jsx-runtime";var t=r({hasAnyPerm:()=>!0});function i({value:r,children:e}){/* @__PURE__ */
|
|
2
|
+
return n(t.Provider,{value:r,children:e})}function o(){return e(t)}export{i as ShellAuthProvider,o as useShellAuth};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{WrenchSolidIcon as r}from"./chunk-A25YVGAG.js";import{ZoomInMiniIcon as o}from"./chunk-NPCWLBMK.js";import{ZoomInSolidIcon as m}from"./chunk-4H2J5UAB.js";import{WindowsSolidIcon as t}from"./chunk-XHRWQU2N.js";import{WordsFromMiniIcon as c}from"./chunk-BEKDLU25.js";import{WordsFromSolidIcon as i}from"./chunk-2MQ7ESMH.js";import{WrapMiniIcon as n}from"./chunk-NLGDN36O.js";import{WrapSolidIcon as s}from"./chunk-YBRJR7NV.js";import{WrenchMiniIcon as p}from"./chunk-BWDHO77A.js";import{WrenchScrewdriverMiniIcon as u}from"./chunk-HWGKMEYA.js";import{WrenchScrewdriverSolidIcon as h}from"./chunk-H7AHH7OB.js";import{WeightSolidIcon as k}from"./chunk-JH4N2AGC.js";import{WidgetsMiniIcon as f}from"./chunk-K3ZBIFDS.js";import{WidgetsSolidIcon as e}from"./chunk-C7WCAKSH.js";import{WidthMiniIcon as j}from"./chunk-B4GBUSE5.js";import{WidthSolidIcon as a}from"./chunk-W6FRXR6X.js";import{WindowMiniIcon as l}from"./chunk-CNVF67ZV.js";import{WindowSolidIcon as d}from"./chunk-QBRE4MH3.js";import{WindowsMiniIcon as b}from"./chunk-YMECORJ4.js";import{VideoOffSolidIcon as Q}from"./chunk-F75KLDZK.js";import{ViewColumnsMiniIcon as C}from"./chunk-KAUUQEZJ.js";import{ViewColumnsSolidIcon as F}from"./chunk-ZN5SU4ZI.js";import{WalletMiniIcon as N}from"./chunk-ITCE6WFF.js";import{WalletSolidIcon as J}from"./chunk-RLQAX5HN.js";import{WarningMiniIcon as M}from"./chunk-KHXH44V6.js";import{WarningSolidIcon as K}from"./chunk-TAXDMCNG.js";import{WeightMiniIcon as R}from"./chunk-7MBI6K4M.js";import{UndoSolidIcon as U}from"./chunk-T2IC4IQA.js";import{UploadMiniIcon as D}from"./chunk-2NYCHHEX.js";import{UploadSolidIcon as H}from"./chunk-LDY4RXO4.js";import{VAlignMiniIcon as P}from"./chunk-E5XQWSQG.js";import{VAlignSolidIcon as X}from"./chunk-64KV2YO3.js";import{VerifiedMiniIcon as L}from"./chunk-FJXQQ6N4.js";import{VerifiedSolidIcon as Z}from"./chunk-C6CI7XH7.js";import{VideoOffMiniIcon as G}from"./chunk-PNVFIQXD.js";import{TvSolidIcon as g}from"./chunk-RVA6HGDB.js";import{TypeMiniIcon as A}from"./chunk-3VZEPYAX.js";import{TypeSolidIcon as W}from"./chunk-RH6C435W.js";import{TyreMiniIcon as E}from"./chunk-PPRJBW5Y.js";import{TyreSolidIcon as Y}from"./chunk-IF34QPCV.js";import{UnderlineMiniIcon as T}from"./chunk-23YM7DOW.js";import{UnderlineSolidIcon as B}from"./chunk-R2KCOXZR.js";import{UndoMiniIcon as I}from"./chunk-O5EP2UNP.js";import{TrashAlt2Icon as O}from"./chunk-TEEDZ5O4.js";import{TrashAltIcon as S}from"./chunk-X65IANDK.js";import{TrashMiniIcon as V}from"./chunk-J5VO23W3.js";import{TrashSolidIcon as w}from"./chunk-GPFBERFF.js";import{TruckAltIcon as y}from"./chunk-MWG5QRHE.js";import{TruckMiniIcon as x}from"./chunk-JCKOSJNI.js";import{TruckSolidIcon as v}from"./chunk-GYA54DB2.js";import{TvMiniIcon as q}from"./chunk-BQ7RNIBA.js";import{TextSizeMiniIcon as z}from"./chunk-2BAQ3XFD.js";import{TextSizeSolidIcon as $}from"./chunk-MU4OIOPU.js";import{TextSmallMiniIcon as _}from"./chunk-QK4B7MO3.js";import{TextSmallSolidIcon as rr}from"./chunk-245SGQC7.js";import{TextValueMiniIcon as or}from"./chunk-5XNZORBY.js";import{TextValueSolidIcon as mr}from"./chunk-GKAI5SDL.js";import{TextureMiniIcon as tr}from"./chunk-VRGZFJZD.js";import{TextureSolidIcon as cr}from"./chunk-2AGTZHGD.js";import{TargetMiniIcon as ir}from"./chunk-5VRVT4LR.js";import{TargetSolidIcon as nr}from"./chunk-LNFKNTO5.js";import{TeamMiniIcon as sr}from"./chunk-ZV5P54O4.js";import{TeamSolidIcon as pr}from"./chunk-ETF6W3D4.js";import{TelephoneMiniIcon as ur}from"./chunk-MLXDPEBV.js";import{TelephoneSolidIcon as hr}from"./chunk-JQSK5ICA.js";import{TextColorMiniIcon as kr}from"./chunk-3WUQ5V4J.js";import{TextColorSolidIcon as fr}from"./chunk-TGNRZLQ6.js";import{TabletMiniIcon as er}from"./chunk-7R5JBLPI.js";import{TabletSolidIcon as jr}from"./chunk-IU7ZRR62.js";import{TabsMiniIcon as ar}from"./chunk-B6RQI2PT.js";import{TabsSolidIcon as lr}from"./chunk-5UZYIM2W.js";import{TagAltIcon as dr}from"./chunk-HXWCDHZQ.js";import{TagMiniIcon as br}from"./chunk-GGGXLQHC.js";import{TagSolidIcon as Qr}from"./chunk-QDHVUIZV.js";import{TargetAltIcon as Cr}from"./chunk-V5DSMUZ5.js";import{SunMiniIcon as Fr}from"./chunk-7MOGLM4M.js";import{SunSolidIcon as Nr}from"./chunk-K6ZPLG4O.js";import{SuperscriptMiniIcon as Jr}from"./chunk-YPBEGKV2.js";import{SuperscriptSolidIcon as Mr}from"./chunk-5GJ3SFHP.js";import{SwapMiniIcon as Kr}from"./chunk-FZMJ5JVX.js";import{SwapSolidIcon as Rr}from"./chunk-LO2ENELN.js";import{TableMiniIcon as Ur}from"./chunk-7IQQIDI6.js";import{TableSolidIcon as Dr}from"./chunk-QJ3LE7LI.js";import{StoreSolidIcon as Hr}from"./chunk-V3W6W42X.js";import{StrikeMiniIcon as Pr}from"./chunk-5GHSWXWB.js";import{StrikeSolidIcon as Xr}from"./chunk-VUOJMDQ6.js";import{StylesAltIcon as Lr}from"./chunk-PP3H5YGZ.js";import{StylesMiniIcon as Zr}from"./chunk-FEN2DONX.js";import{StylesSolidIcon as Gr}from"./chunk-B3Q46H2J.js";import{SubscriptMiniIcon as gr}from"./chunk-KRWISESU.js";import{SubscriptSolidIcon as Ar}from"./chunk-O3QFU4CP.js";import{StatusDotMiniIcon as Wr}from"./chunk-LKN4NT7H.js";import{StatusDotSolidIcon as Er}from"./chunk-6GLBW3FE.js";import{StickyMiniIcon as Yr}from"./chunk-RL3ZIR6L.js";import{StickySolidIcon as Tr}from"./chunk-CAMDJDKT.js";import{StopCircleMiniIcon as Br}from"./chunk-XRIX6MVS.js";import{StopCircleSolidIcon as Ir}from"./chunk-AQT5PBEU.js";import{StoreBuildingStorefront20SolidIcon as Or}from"./chunk-FXD73VOY.js";import{StoreMiniIcon as Sr}from"./chunk-5HCC7MZN.js";import{SquareSolidIcon as Vr}from"./chunk-BPWBA2RM.js";import{StarAltIcon as wr}from"./chunk-TTX2XZKP.js";import{StarMiniIcon as yr}from"./chunk-RWHVEPNG.js";import{StarSolidIcon as xr}from"./chunk-635BD6WX.js";import{StateMiniIcon as vr}from"./chunk-WFYZJFS5.js";import{StateSolidIcon as qr}from"./chunk-2TO2GMVS.js";import{StatusCircleMiniIcon as zr}from"./chunk-TB3CFNVI.js";import{StatusCircleSolidIcon as $r}from"./chunk-RAE4CUCY.js";import{SparklesSolidIcon as _r}from"./chunk-NA5HW2RQ.js";import{SpeakerWaveMiniIcon as ro}from"./chunk-QNIEDFX6.js";import{SpeakerWaveSolidIcon as oo}from"./chunk-DJNK34UK.js";import{SpecTableMiniIcon as mo}from"./chunk-FUY6TO6Z.js";import{SpecTableSolidIcon as to}from"./chunk-NZYJ6XYT.js";import{SplitMiniIcon as co}from"./chunk-6PRAEXF6.js";import{SplitSolidIcon as io}from"./chunk-YOVMFAN3.js";import{SquareMiniIcon as no}from"./chunk-WQ2IFM6M.js";import{SlidePickerSquaresSolidIcon as so}from"./chunk-DI3CJOO2.js";import{SortAltIcon as po}from"./chunk-US4TTHEN.js";import{SortMiniIcon as uo}from"./chunk-SI37ODJF.js";import{SortSolidIcon as ho}from"./chunk-ZUG2JNG4.js";import{SparklesAlt2Icon as ko}from"./chunk-NCLIZZXL.js";import{SparklesAlt3Icon as fo}from"./chunk-FEUIWJ7S.js";import{SparklesAltIcon as eo}from"./chunk-UWNP5QOF.js";import{SparklesMiniIcon as jo}from"./chunk-WNO4AZ67.js";import{SlidePickerBarSolidIcon as ao}from"./chunk-SZGTWSN4.js";import{SlidePickerCardsMiniIcon as lo}from"./chunk-EUQXQRXY.js";import{SlidePickerCardsSolidIcon as bo}from"./chunk-D6RYGKV5.js";import{SlidePickerDotsMiniIcon as Qo}from"./chunk-3VYVPN23.js";import{SlidePickerDotsSolidIcon as Co}from"./chunk-PZIPTTVL.js";import{SlidePickerNumbersMiniIcon as Fo}from"./chunk-K5UTUJXX.js";import{SlidePickerNumbersSolidIcon as No}from"./chunk-CNQOWIKL.js";import{SlidePickerSquaresMiniIcon as Jo}from"./chunk-A7ILTGAE.js";import{SignalSolidIcon as Mo}from"./chunk-QTPYKXY7.js";import{SitemapMiniIcon as Ko}from"./chunk-TCWYMY7R.js";import{SitemapSolidIcon as Ro}from"./chunk-P4KZQYYO.js";import{SlideArrowsRoundMiniIcon as Uo}from"./chunk-3LSEVWUJ.js";import{SlideArrowsRoundSolidIcon as Do}from"./chunk-PSYTC7V2.js";import{SlideArrowsSquareMiniIcon as Ho}from"./chunk-EDEHD47C.js";import{SlideArrowsSquareSolidIcon as Po}from"./chunk-P66ED5XN.js";import{SlidePickerBarMiniIcon as Xo}from"./chunk-BJ2LKUME.js";import{ShieldCheckSolidIcon as Lo}from"./chunk-A2NRNSJU.js";import{ShieldExclamationMiniIcon as Zo}from"./chunk-FB4GEVTA.js";import{ShieldExclamationSolidIcon as Go}from"./chunk-LZ44UTPP.js";import{SidesEachMiniIcon as go}from"./chunk-CNTQKS7H.js";import{SidesEachSolidIcon as Ao}from"./chunk-OR2SSAWP.js";import{SignalMiniIcon as Wo}from"./chunk-PYAU2NDD.js";import{SignalSlashMiniIcon as Eo}from"./chunk-MIMLD6G4.js";import{SignalSlashSolidIcon as Yo}from"./chunk-PLQ23Q7Y.js";import{ShapeEllipseSolidIcon as To}from"./chunk-J7YSGSYX.js";import{ShapeRectMiniIcon as Bo}from"./chunk-7MTKB2PI.js";import{ShapeRectSolidIcon as Io}from"./chunk-R3SLDJJX.js";import{ShareMiniIcon as Oo}from"./chunk-HWEV5X53.js";import{ShareSolidIcon as So}from"./chunk-ZFF7W6EF.js";import{SharedMiniIcon as Vo}from"./chunk-LKRQXIOG.js";import{SharedSolidIcon as wo}from"./chunk-YKDKVSAL.js";import{ShieldCheckMiniIcon as yo}from"./chunk-6UNMFTXG.js";import{SeparatorTriangleSolidIcon as xo}from"./chunk-B3CN55UI.js";import{ServerMiniIcon as vo}from"./chunk-7J7SBMPE.js";import{ServerSolidIcon as qo}from"./chunk-TMPZ5QYR.js";import{SettingsMiniIcon as zo}from"./chunk-PJ74S7TQ.js";import{SettingsSolidIcon as $o}from"./chunk-HMPU4WRV.js";import{ShadowMiniIcon as _o}from"./chunk-JQFMEYOH.js";import{ShadowSolidIcon as rm}from"./chunk-Z6DPC6LY.js";import{ShapeEllipseMiniIcon as om}from"./chunk-HGJLQXQZ.js";import{SelectAllSolidIcon as mm}from"./chunk-5FXHHPQN.js";import{SendAlt2Icon as tm}from"./chunk-I3TMILZC.js";import{SendAltIcon as cm}from"./chunk-AZADIQCQ.js";import{SendMiniIcon as im}from"./chunk-SLALNIKU.js";import{SendSolidIcon as nm}from"./chunk-2L3JB5JJ.js";import{SeparatorSlashMiniIcon as sm}from"./chunk-TGXO3CDO.js";import{SeparatorSlashSolidIcon as pm}from"./chunk-YJ5IHIAI.js";import{SeparatorTriangleMiniIcon as um}from"./chunk-MUXGWDEH.js";import{ScaleSolidIcon as hm}from"./chunk-TGQ6FVOC.js";import{ScrollPointMiniIcon as km}from"./chunk-BGYKEPGH.js";import{ScrollPointSolidIcon as fm}from"./chunk-R2L5KKWD.js";import{SearchAlt2Icon as em}from"./chunk-USRR3ATA.js";import{SearchAltIcon as jm}from"./chunk-VZZXQM7D.js";import{SearchMiniIcon as am}from"./chunk-RFQT33IG.js";import{SearchSolidIcon as lm}from"./chunk-D7AJ7HNA.js";import{SelectAllMiniIcon as dm}from"./chunk-XG4LYLHC.js";import{RevertMiniIcon as bm}from"./chunk-TKQLPIHD.js";import{RevertSolidIcon as Qm}from"./chunk-B2JHVAJZ.js";import{RobotMiniIcon as Cm}from"./chunk-2QBUM6BF.js";import{RobotSolidIcon as Fm}from"./chunk-BTMPF6TU.js";import{RotateMiniIcon as Nm}from"./chunk-AZ6PTN7Z.js";import{RotateSolidIcon as Jm}from"./chunk-FMFFO3XW.js";import{ScaleAltIcon as Mm}from"./chunk-WJEFJ7DO.js";import{ScaleMiniIcon as Km}from"./chunk-AKR2GM4I.js";import{RefreshMiniIcon as Rm}from"./chunk-DQVYLBH3.js";import{RefreshSolidIcon as Um}from"./chunk-OD57KLTH.js";import{RemoveMiniIcon as Dm}from"./chunk-LC5WQDNZ.js";import{RemoveSolidIcon as Hm}from"./chunk-DZGAUI3P.js";import{ReplyAllMiniIcon as Pm}from"./chunk-PF5CU4SO.js";import{ReplyAllSolidIcon as Xm}from"./chunk-S6HJCIO4.js";import{ReplyMiniIcon as Lm}from"./chunk-ITCRUSSN.js";import{ReplySolidIcon as Zm}from"./chunk-QRZVIG54.js";import{ReceiptPercentSolidIcon as Gm}from"./chunk-IXXEASEQ.js";import{ReceiptRefundMiniIcon as gm}from"./chunk-6JWPIRCB.js";import{ReceiptRefundSolidIcon as Am}from"./chunk-4PXK463M.js";import{ReceiptSolidIcon as Wm}from"./chunk-P6NGK7DM.js";import{RedoMiniIcon as Em}from"./chunk-RJNAXMDD.js";import{RedoSolidIcon as Ym}from"./chunk-CITR3NCQ.js";import{RefreshAltIcon as Tm}from"./chunk-BXPQQPS4.js";import{RefreshArrowPathRoundedSquareIcon as Bm}from"./chunk-7BDQSYOD.js";import{QuoteMiniIcon as Im}from"./chunk-63LZCLNR.js";import{QuoteSolidIcon as Om}from"./chunk-K3JGLNOQ.js";import{RadioDotMiniIcon as Sm}from"./chunk-WRWINFV3.js";import{RadioDotSolidIcon as Vm}from"./chunk-VKPCYU5H.js";import{RadiusMiniIcon as wm}from"./chunk-7I2GL4XB.js";import{RadiusSolidIcon as ym}from"./chunk-SGGFUPQS.js";import{ReceiptMiniIcon as xm}from"./chunk-3FF7CTUA.js";import{ReceiptPercentMiniIcon as vm}from"./chunk-CM6DG7CZ.js";import{ProductFieldMiniIcon as qm}from"./chunk-WICGNE5J.js";import{ProductFieldSolidIcon as zm}from"./chunk-AFHJNVJU.js";import{ProductMiniIcon as $m}from"./chunk-M2STINJB.js";import{ProductSizeMiniIcon as _m}from"./chunk-WOWXRIRW.js";import{ProductSizeSolidIcon as rt}from"./chunk-Y4GH6UXZ.js";import{ProductSolidIcon as ot}from"./chunk-AYYN74HD.js";import{ProgressMiniIcon as mt}from"./chunk-Q3OTCQTQ.js";import{ProgressSolidIcon as tt}from"./chunk-3V5UT7A2.js";import{PlusMinusMiniIcon as ct}from"./chunk-T2SS7VMR.js";import{PlusMinusSolidIcon as it}from"./chunk-6QBEAJ3X.js";import{PowerMiniIcon as nt}from"./chunk-ETIZX4ZX.js";import{PowerSolidIcon as st}from"./chunk-TXEFPHTL.js";import{PresentationChartBarMiniIcon as pt}from"./chunk-7BMSC5QE.js";import{PresentationChartBarSolidIcon as ut}from"./chunk-V56PZIS2.js";import{PrintMiniIcon as ht}from"./chunk-AODSAT7N.js";import{PrintSolidIcon as kt}from"./chunk-HLMTKW5H.js";import{PhoneHiddenSolidIcon as ft}from"./chunk-3CWD4INC.js";import{PhoneMiniIcon as et}from"./chunk-KRUKB4JE.js";import{PhoneSolidIcon as jt}from"./chunk-H6OCWYYU.js";import{PlacementMiniIcon as at}from"./chunk-OXHG752A.js";import{PlacementSolidIcon as lt}from"./chunk-74DQMIJU.js";import{PlayAltIcon as dt}from"./chunk-ZPQFONMR.js";import{PlayMiniIcon as bt}from"./chunk-CCJHCLQD.js";import{PlaySolidIcon as Qt}from"./chunk-DPCVWEGT.js";import{PenSolidIcon as Ct}from"./chunk-MZNR3WCA.js";import{PeopleMiniIcon as Ft}from"./chunk-MJ3GUAXH.js";import{PeopleSolidIcon as Nt}from"./chunk-TDACYSKV.js";import{PeopleUserGroupIcon as Jt}from"./chunk-3GU54QB6.js";import{PercentMiniIcon as Mt}from"./chunk-2LKEZNEE.js";import{PercentSolidIcon as Kt}from"./chunk-CQYBRFCN.js";import{PhoneAltIcon as Rt}from"./chunk-W2SGPRYG.js";import{PhoneHiddenMiniIcon as Ut}from"./chunk-J4BNHZMC.js";import{PanelRightSolidIcon as Dt}from"./chunk-3EVMVYVF.js";import{ParagraphSpacingMiniIcon as Ht}from"./chunk-W6DUHOAN.js";import{ParagraphSpacingSolidIcon as Pt}from"./chunk-GD3YLOFZ.js";import{PasteStyleMiniIcon as Xt}from"./chunk-X5KVM2JY.js";import{PasteStyleSolidIcon as Lt}from"./chunk-NOQIPVD5.js";import{PauseMiniIcon as Zt}from"./chunk-E4XFHQTO.js";import{PauseSolidIcon as Gt}from"./chunk-I2BTP4ZC.js";import{PenMiniIcon as gt}from"./chunk-75CPAMIK.js";import{PageAltIcon as At}from"./chunk-CPPPRWOF.js";import{PageMiniIcon as Wt}from"./chunk-XXFO33EC.js";import{PageSolidIcon as Et}from"./chunk-SMJFGTEP.js";import{PaletteMiniIcon as Yt}from"./chunk-BAFB2V5R.js";import{PaletteSolidIcon as Tt}from"./chunk-DL3K4PF4.js";import{PanelLeftMiniIcon as Bt}from"./chunk-XSCG6YG7.js";import{PanelLeftSolidIcon as It}from"./chunk-XWU6QN2V.js";import{PanelRightMiniIcon as Ot}from"./chunk-FU44ZZBE.js";import{PaddingRightMiniIcon as St}from"./chunk-JWZ7SK3Z.js";import{PaddingRightSolidIcon as Vt}from"./chunk-IABLIRK6.js";import{PaddingTopMiniIcon as wt}from"./chunk-AAQPYX4I.js";import{PaddingTopSolidIcon as yt}from"./chunk-SE2ECAWN.js";import{PaddingXMiniIcon as xt}from"./chunk-M3FDLEVB.js";import{PaddingXSolidIcon as vt}from"./chunk-C4GY2IS5.js";import{PaddingYMiniIcon as qt}from"./chunk-FLY5B6BV.js";import{PaddingYSolidIcon as zt}from"./chunk-ZVZB4MEK.js";import{PaddingAllMiniIcon as $t}from"./chunk-R54WVPDX.js";import{PaddingAllSolidIcon as _t}from"./chunk-QJG66TT3.js";import{PaddingBottomMiniIcon as rc}from"./chunk-NXBHLJD4.js";import{PaddingBottomSolidIcon as oc}from"./chunk-MQBMKV2M.js";import{PaddingLeftMiniIcon as mc}from"./chunk-FGQ7HFAL.js";import{PaddingLeftRightMiniIcon as tc}from"./chunk-RF4AWGBX.js";import{PaddingLeftRightSolidIcon as cc}from"./chunk-6QAID2KD.js";import{PaddingLeftSolidIcon as ic}from"./chunk-KMRK6TJC.js";import{OpacityMiniIcon as nc}from"./chunk-JMOGUE7F.js";import{OpacitySolidIcon as sc}from"./chunk-FCD4WTIN.js";import{OwnTextMiniIcon as pc}from"./chunk-62BDLWEO.js";import{OwnTextSolidIcon as uc}from"./chunk-5OY3AUEX.js";import{PackageMiniIcon as hc}from"./chunk-FCD2THL6.js";import{PackageOpenMiniIcon as kc}from"./chunk-J5NXZAWD.js";import{PackageOpenSolidIcon as fc}from"./chunk-6STWX56B.js";import{PackageSolidIcon as ec}from"./chunk-PRU52B5T.js";import{NudgeMiniIcon as jc}from"./chunk-REICDZNN.js";import{NudgeSolidIcon as ac}from"./chunk-3MRB7UZY.js";import{NudgeXMiniIcon as lc}from"./chunk-HJUK5AAM.js";import{NudgeXSolidIcon as dc}from"./chunk-KRWKHI7S.js";import{NudgeYMiniIcon as bc}from"./chunk-EEG3KMP7.js";import{NudgeYSolidIcon as Qc}from"./chunk-P5SVBGLG.js";import{NumberedListMiniIcon as Cc}from"./chunk-FD7UBG5P.js";import{NumberedListSolidIcon as Fc}from"./chunk-3K6RM3K4.js";import{MoreMiniIcon as Nc}from"./chunk-42MDVHXS.js";import{MoreSolidIcon as Jc}from"./chunk-PP5JQCTZ.js";import{MoreVerticalMiniIcon as Mc}from"./chunk-J6YBNXVN.js";import{MoreVerticalSolidIcon as Kc}from"./chunk-OSZDQ3VV.js";import{NoSymbolMiniIcon as Rc}from"./chunk-WQBLFKPH.js";import{NoSymbolSolidIcon as Uc}from"./chunk-JEWUFDX5.js";import{NoteMiniIcon as Dc}from"./chunk-MRWH3KJB.js";import{NoteSolidIcon as Hc}from"./chunk-QNV4E2MF.js";import{MetaMiniIcon as Pc}from"./chunk-JG2LTXO7.js";import{MetaSolidIcon as Xc}from"./chunk-ADCP4ZQP.js";import{MicrophoneMiniIcon as Lc}from"./chunk-ICL6KE32.js";import{MicrophoneSolidIcon as Zc}from"./chunk-QWWV6GSR.js";import{MoneyMiniIcon as Gc}from"./chunk-6MSDX7MQ.js";import{MoneySolidIcon as gc}from"./chunk-RJCUFIE5.js";import{MoonMiniIcon as Ac}from"./chunk-V75MYG5O.js";import{MoonSolidIcon as Wc}from"./chunk-24FKIIDR.js";import{MediaLayoutStackedMiniIcon as Ec}from"./chunk-GMTEWQTC.js";import{MediaLayoutStackedSolidIcon as Yc}from"./chunk-4D5UAMG5.js";import{MediaMiniIcon as Tc}from"./chunk-RWVM2VHF.js";import{MediaSolidIcon as Bc}from"./chunk-3UFUOKBM.js";import{MegaphoneMiniIcon as Ic}from"./chunk-DQ6CYYYH.js";import{MegaphoneSolidIcon as Oc}from"./chunk-7KJMS4EK.js";import{MenuMiniIcon as Sc}from"./chunk-MNIIBF52.js";import{MenuSolidIcon as Vc}from"./chunk-AFXOAFL6.js";import{MapMiniIcon as wc}from"./chunk-Q2QIUERP.js";import{MapSolidIcon as yc}from"./chunk-4EOR3CJ4.js";import{MediaLayoutBigTwoMiniIcon as xc}from"./chunk-RI5VRHG4.js";import{MediaLayoutBigTwoSolidIcon as vc}from"./chunk-4QNSHURB.js";import{MediaLayoutInsetMiniIcon as qc}from"./chunk-PAYYAWU5.js";import{MediaLayoutInsetSolidIcon as zc}from"./chunk-RJU7XFKX.js";import{MediaLayoutSideBySideMiniIcon as $c}from"./chunk-PYG3MKYD.js";import{MediaLayoutSideBySideSolidIcon as _c}from"./chunk-77DNZFAR.js";import{LockSolidIcon as ri}from"./chunk-URXAYQ23.js";import{LogoMiniIcon as oi}from"./chunk-AS4OCCP3.js";import{LogoSolidIcon as mi}from"./chunk-4LBNEX4V.js";import{LogoutMiniIcon as ti}from"./chunk-GV3GNYL6.js";import{LogoutSolidIcon as ci}from"./chunk-2AQMIXH3.js";import{LoopMiniIcon as ii}from"./chunk-Z7TJ5Y7T.js";import{LoopSolidIcon as ni}from"./chunk-XMTGZI2O.js";import{MapAltIcon as si}from"./chunk-XA7YZO2P.js";import{ListNoneMiniIcon as pi}from"./chunk-GRABRP2G.js";import{ListNoneSolidIcon as ui}from"./chunk-HQOSD5GN.js";import{ListQueueListIcon as hi}from"./chunk-CYQSFWYF.js";import{ListSolidIcon as ki}from"./chunk-PZZWHWBB.js";import{LocationMiniIcon as fi}from"./chunk-K7WJNXIJ.js";import{LocationSolidIcon as ei}from"./chunk-BZOV7GJL.js";import{LockAltIcon as ji}from"./chunk-IQKD7UCZ.js";import{LockMiniIcon as ai}from"./chunk-EIUHOEDP.js";import{LinkSlashSolidIcon as li}from"./chunk-QL4RGGFN.js";import{LinkSolidIcon as di}from"./chunk-WM6WESXC.js";import{ListAlt2Icon as bi}from"./chunk-7B4Y4XCN.js";import{ListAlt3Icon as Qi}from"./chunk-ACCOL2XR.js";import{ListAltIcon as Ci}from"./chunk-ITBPRBKS.js";import{ListFormatMiniIcon as Fi}from"./chunk-UDN6USR5.js";import{ListFormatSolidIcon as Ni}from"./chunk-LWDJ4GEH.js";import{ListMiniIcon as Ji}from"./chunk-7OKXT3VY.js";import{LineSolidMiniIcon as Mi}from"./chunk-H46XIWYV.js";import{LineSolidSolidIcon as Ki}from"./chunk-XO4FAIL5.js";import{LineSpacingMiniIcon as Ri}from"./chunk-SP6GJ3Y4.js";import{LineSpacingSolidIcon as Ui}from"./chunk-CNITIX2S.js";import{LineStyleMiniIcon as Di}from"./chunk-Z4KOPOJX.js";import{LineStyleSolidIcon as Hi}from"./chunk-KUCKME7A.js";import{LinkMiniIcon as Pi}from"./chunk-KLZWTEB5.js";import{LinkSlashMiniIcon as Xi}from"./chunk-325KLGZI.js";import{LightbulbMiniIcon as Li}from"./chunk-LMLLHS4Q.js";import{LightbulbSolidIcon as Zi}from"./chunk-DFJLONGS.js";import{LineBetweenMiniIcon as Gi}from"./chunk-DZC74CKM.js";import{LineBetweenSolidIcon as gi}from"./chunk-MMYYXHNL.js";import{LineDashedMiniIcon as Ai}from"./chunk-UTJSSJXU.js";import{LineDashedSolidIcon as Wi}from"./chunk-JTKLHXQE.js";import{LineDottedMiniIcon as Ei}from"./chunk-Z7SR7VQR.js";import{LineDottedSolidIcon as Yi}from"./chunk-DUPPQQ35.js";import{LayersMiniIcon as Ti}from"./chunk-VPJZX7GH.js";import{LayersRectangleStackIcon as Bi}from"./chunk-Q2YQ2EN2.js";import{LayersSolidIcon as Ii}from"./chunk-UBBP5Q2C.js";import{LayoutAltIcon as Oi}from"./chunk-PYXW6GXA.js";import{LayoutMiniIcon as Si}from"./chunk-TUODSC47.js";import{LayoutSolidIcon as Vi}from"./chunk-AU3GQT25.js";import{LetterSpacingMiniIcon as wi}from"./chunk-RYOPAJXK.js";import{LetterSpacingSolidIcon as yi}from"./chunk-FSLICZMD.js";import{InfoAltIcon as xi}from"./chunk-U5423MQC.js";import{InfoMiniIcon as vi}from"./chunk-UMKNAPC2.js";import{InfoSolidIcon as qi}from"./chunk-ZU6L5U5X.js";import{ItalicMiniIcon as zi}from"./chunk-JDGZNXOM.js";import{ItalicSolidIcon as $i}from"./chunk-CMYQL6WU.js";import{KeyMiniIcon as _i}from"./chunk-TQITZXNM.js";import{KeySolidIcon as rn}from"./chunk-B7FO24I2.js";import{LayersAltIcon as on}from"./chunk-SUSN7BUA.js";import{ImageOffMiniIcon as mn}from"./chunk-ZLFF5JQG.js";import{ImageOffSolidIcon as tn}from"./chunk-M7N7XLUK.js";import{ImageSolidIcon as cn}from"./chunk-HULBQOQ4.js";import{ImagesMiniIcon as nn}from"./chunk-5P6EYV7K.js";import{ImagesSolidIcon as sn}from"./chunk-Y7BG7B64.js";import{InboxAltIcon as pn}from"./chunk-BFJ4RYCD.js";import{InboxMiniIcon as un}from"./chunk-QRSDMC5W.js";import{InboxSolidIcon as hn}from"./chunk-EESYQSYA.js";import{IconAtEndMiniIcon as kn}from"./chunk-VRBDSUV5.js";import{IconAtEndSolidIcon as fn}from"./chunk-MJ6SYTFL.js";import{IconBeforeTextMiniIcon as en}from"./chunk-C6FIA3VB.js";import{IconBeforeTextSolidIcon as jn}from"./chunk-FMSIKEE3.js";import{IdentificationMiniIcon as an}from"./chunk-MX26PZGW.js";import{IdentificationSolidIcon as ln}from"./chunk-ELWJR6D5.js";import{ImageAltIcon as dn}from"./chunk-4NT5O3CF.js";import{ImageMiniIcon as bn}from"./chunk-22AYA6IH.js";import{HoverNoneSolidIcon as Qn}from"./chunk-5X4DBMS6.js";import{HoverRotateMiniIcon as Cn}from"./chunk-IABSP2GJ.js";import{HoverRotateSolidIcon as Fn}from"./chunk-QHUGCISZ.js";import{HoverSolidIcon as Nn}from"./chunk-J3EF3LJU.js";import{HoverZoomMiniIcon as Jn}from"./chunk-UCWJA6LT.js";import{HoverZoomSolidIcon as Mn}from"./chunk-PJW3BL27.js";import{IconAfterTextMiniIcon as Kn}from"./chunk-O5MCB756.js";import{IconAfterTextSolidIcon as Rn}from"./chunk-H4SQVPCY.js";import{HomeMiniIcon as Un}from"./chunk-DOA6QPPR.js";import{HomeSolidIcon as Dn}from"./chunk-XKTLIGRL.js";import{HoverLiftMiniIcon as Hn}from"./chunk-MIOL4CDN.js";import{HoverLiftSolidIcon as Pn}from"./chunk-KLHUKAD3.js";import{HoverMiniIcon as Xn}from"./chunk-VMKJJFZB.js";import{HoverNextImageMiniIcon as Ln}from"./chunk-FIZKXNCZ.js";import{HoverNextImageSolidIcon as Zn}from"./chunk-XGAXRNZS.js";import{HoverNoneMiniIcon as Gn}from"./chunk-APLKFBJH.js";import{HeightMiniIcon as gn}from"./chunk-5AQ6KQSD.js";import{HeightSolidIcon as An}from"./chunk-QTQNZMIC.js";import{HelpMiniIcon as Wn}from"./chunk-LRY6HMOO.js";import{HelpOffMiniIcon as En}from"./chunk-Z3ZZ7IKK.js";import{HelpOffSolidIcon as Yn}from"./chunk-NCZDQBQ4.js";import{HelpSolidIcon as Tn}from"./chunk-TBRNYDMF.js";import{HexagonMiniIcon as Bn}from"./chunk-WGFQSFHX.js";import{HexagonSolidIcon as In}from"./chunk-OZ2GH2H7.js";import{HandThumbUpMiniIcon as On}from"./chunk-ITHJW2KQ.js";import{HandThumbUpSolidIcon as Sn}from"./chunk-A5ONCCD3.js";import{HashMiniIcon as Vn}from"./chunk-BZDWR4KD.js";import{HashSolidIcon as wn}from"./chunk-UXPHLHBG.js";import{HeadquartersMiniIcon as yn}from"./chunk-7HBLOYWQ.js";import{HeadquartersSolidIcon as xn}from"./chunk-2SFKU2B2.js";import{HeartMiniIcon as vn}from"./chunk-RT6AI5I7.js";import{HeartSolidIcon as qn}from"./chunk-BBY7MNDN.js";import{GlobeSolidIcon as zn}from"./chunk-AV5NET7T.js";import{GridAltIcon as $n}from"./chunk-CEYIPCMH.js";import{GridMiniIcon as _n}from"./chunk-NHDIBRV7.js";import{GridSolidIcon as rs}from"./chunk-IYZTC7VC.js";import{GroundMiniIcon as os}from"./chunk-DBWIOWPM.js";import{GroundSolidIcon as ms}from"./chunk-MFFIF7AB.js";import{HandMiniIcon as ts}from"./chunk-7E3RNMRR.js";import{HandSolidIcon as cs}from"./chunk-6R4YB7K3.js";import{GapMiniIcon as is}from"./chunk-UAB5A3AI.js";import{GapSolidIcon as ns}from"./chunk-TBMPFURE.js";import{GemMiniIcon as ss}from"./chunk-HPR54EP7.js";import{GemSolidIcon as ps}from"./chunk-D5CO7TAN.js";import{GiftMiniIcon as us}from"./chunk-WHNWFXTB.js";import{GiftSolidIcon as hs}from"./chunk-QHY3TU27.js";import{GlobeAltIcon as ks}from"./chunk-24KAXH2Q.js";import{GlobeMiniIcon as fs}from"./chunk-H6ARFO7R.js";import{FolderOpenSolidIcon as es}from"./chunk-W2JSPWW2.js";import{FolderPlusMiniIcon as js}from"./chunk-2ZIX7XRY.js";import{FolderPlusSolidIcon as as}from"./chunk-Y43FUWQ2.js";import{FolderSolidIcon as ls}from"./chunk-MEUDPC32.js";import{ForwardMiniIcon as ds}from"./chunk-JKHFESAR.js";import{ForwardSolidIcon as bs}from"./chunk-4E5LJBKT.js";import{FullWidthMiniIcon as Qs}from"./chunk-ORKNUTVU.js";import{FullWidthSolidIcon as Cs}from"./chunk-D46DMMOR.js";import{FireMiniIcon as Fs}from"./chunk-XWNYSMBG.js";import{FireSolidIcon as Ns}from"./chunk-MHCYAUWZ.js";import{FlagAltIcon as Js}from"./chunk-22FCQMKM.js";import{FlagMiniIcon as Ms}from"./chunk-I7IJ3CFC.js";import{FlagSolidIcon as Ks}from"./chunk-SWYJ3FKU.js";import{FolderAltIcon as Rs}from"./chunk-ZEXLGKAK.js";import{FolderMiniIcon as Us}from"./chunk-KKVQPJI3.js";import{FolderOpenMiniIcon as Ds}from"./chunk-NU3WUIAM.js";import{EyeOffSolidIcon as Hs}from"./chunk-6FC6PZU4.js";import{EyeSolidIcon as Ps}from"./chunk-IIDWSVS5.js";import{FaceSmileMiniIcon as Xs}from"./chunk-4GBFZNYZ.js";import{FaceSmileSolidIcon as Ls}from"./chunk-EHE6TM43.js";import{FilterMiniIcon as Zs}from"./chunk-3QPIARDX.js";import{FilterSolidIcon as Gs}from"./chunk-IDHWRHBE.js";import{FinishMiniIcon as gs}from"./chunk-SSNT2D3M.js";import{FinishSolidIcon as As}from"./chunk-465F75NG.js";import{ExpandMiniIcon as Ws}from"./chunk-YRGKL2JP.js";import{ExpandSolidIcon as Es}from"./chunk-3H25EPZU.js";import{ExternalAlt2Icon as Ys}from"./chunk-VQJ4CKDU.js";import{ExternalAltIcon as Ts}from"./chunk-OJFBIBPI.js";import{ExternalMiniIcon as Bs}from"./chunk-XEBHXPOE.js";import{ExternalSolidIcon as Is}from"./chunk-Y4YWLKCV.js";import{EyeMiniIcon as Os}from"./chunk-UNOUO3JN.js";import{EyeOffMiniIcon as Ss}from"./chunk-GBPUVNSN.js";import{EmailMiniIcon as Vs}from"./chunk-CYLOWGUD.js";import{EmailSolidIcon as ws}from"./chunk-RL7LVMCC.js";import{EnterMiniIcon as ys}from"./chunk-ALDGSODF.js";import{EnterSolidIcon as xs}from"./chunk-26LO7XCK.js";import{EraserMiniIcon as vs}from"./chunk-2O2LJV7Q.js";import{EraserSolidIcon as qs}from"./chunk-LXMTX7NE.js";import{ErrorMiniIcon as zs}from"./chunk-WZ76TDXU.js";import{ErrorSolidIcon as $s}from"./chunk-CT6I7VFU.js";import{DurationMiniIcon as _s}from"./chunk-44QWF5X2.js";import{DurationSolidIcon as rp}from"./chunk-PGKNWSSC.js";import{EditAlt2Icon as op}from"./chunk-UOSU63FV.js";import{EditAltIcon as mp}from"./chunk-W4EHFZ7Z.js";import{EditMiniIcon as tp}from"./chunk-HTXTUUBJ.js";import{EditPencilSquareIcon as cp}from"./chunk-HPWGEKEJ.js";import{EditSolidIcon as ip}from"./chunk-IXYWZ667.js";import{EmailAltIcon as np}from"./chunk-NYKBG5JF.js";import{DragAltIcon as sp}from"./chunk-4PYQMQQ6.js";import{DragMiniIcon as pp}from"./chunk-JFKFJPLE.js";import{DragSolidIcon as up}from"./chunk-TPMOTUTN.js";import{DropMiniIcon as hp}from"./chunk-6LSFDCSH.js";import{DropSolidIcon as kp}from"./chunk-BOLX5THX.js";import{DuplicateAltIcon as fp}from"./chunk-VRXSAWR2.js";import{DuplicateMiniIcon as ep}from"./chunk-PWONWGNZ.js";import{DuplicateSolidIcon as jp}from"./chunk-OTUO4L3W.js";import{DollarAltIcon as ap}from"./chunk-FPFP6LPK.js";import{DollarMiniIcon as lp}from"./chunk-6MHC2ZMP.js";import{DollarSolidIcon as dp}from"./chunk-KTVER4CP.js";import{DotMiniIcon as bp}from"./chunk-Z4EJ2MNK.js";import{DotSolidIcon as Qp}from"./chunk-YN5G6G3E.js";import{DownloadAltIcon as Cp}from"./chunk-SOQGJH2H.js";import{DownloadMiniIcon as Fp}from"./chunk-NOMPZRDT.js";import{DownloadSolidIcon as Np}from"./chunk-T6GW556F.js";import{DocumentCheckAltIcon as Jp}from"./chunk-VYDLQ3TB.js";import{DocumentCheckMiniIcon as Mp}from"./chunk-RIQGDM3S.js";import{DocumentCheckSolidIcon as Kp}from"./chunk-CTN6J6MI.js";import{DocumentDocumentIcon as Rp}from"./chunk-HZSE3AMP.js";import{DocumentMagnifyingGlassMiniIcon as Up}from"./chunk-T6ZWKFPU.js";import{DocumentMagnifyingGlassSolidIcon as Dp}from"./chunk-MN74RSSD.js";import{DocumentMiniIcon as Hp}from"./chunk-PHWEOFEG.js";import{DocumentSolidIcon as Pp}from"./chunk-TFRIWTDA.js";import{DetachMiniIcon as Xp}from"./chunk-4YARHVZH.js";import{DetachSolidIcon as Lp}from"./chunk-LV2YFFA6.js";import{DiagramMiniIcon as Zp}from"./chunk-WVJSPRDR.js";import{DiagramSolidIcon as Gp}from"./chunk-BOHPJXNM.js";import{DirectionMiniIcon as gp}from"./chunk-CFQZ2UJM.js";import{DirectionSolidIcon as Ap}from"./chunk-QKSOCPA2.js";import{DocumentAlt2Icon as Wp}from"./chunk-W6ZAUD5E.js";import{DocumentAltIcon as Ep}from"./chunk-VOC5AK66.js";import{CursorClickSolidIcon as Yp}from"./chunk-BYDXJORJ.js";import{CursorMiniIcon as Tp}from"./chunk-23E6AHJY.js";import{CursorSolidIcon as Bp}from"./chunk-4UCO62M5.js";import{DateMiniIcon as Ip}from"./chunk-QFDGSQQE.js";import{DateSolidIcon as Op}from"./chunk-7R623GIR.js";import{DesktopAltIcon as Sp}from"./chunk-4X2F4CV3.js";import{DesktopMiniIcon as Vp}from"./chunk-SNLTAYYR.js";import{DesktopSolidIcon as wp}from"./chunk-MFKHQ5K2.js";import{CropSolidIcon as yp}from"./chunk-WNM2AMCR.js";import{CropTopMiniIcon as xp}from"./chunk-KO5PBMCF.js";import{CropTopSolidIcon as vp}from"./chunk-PWONLQFF.js";import{CropYMiniIcon as qp}from"./chunk-D5EXIRJF.js";import{CropYSolidIcon as zp}from"./chunk-6NLKMHX6.js";import{CubeTransparentMiniIcon as $p}from"./chunk-PON7R7AU.js";import{CubeTransparentSolidIcon as _p}from"./chunk-X26UU4VQ.js";import{CursorClickMiniIcon as ru}from"./chunk-S6VIYZ2J.js";import{CropBottomSolidIcon as ou}from"./chunk-QM5DFN7Z.js";import{CropLeftMiniIcon as mu}from"./chunk-RA5GR626.js";import{CropLeftRightMiniIcon as tu}from"./chunk-JTPBPEYK.js";import{CropLeftRightSolidIcon as cu}from"./chunk-USYTN7PE.js";import{CropLeftSolidIcon as iu}from"./chunk-2MBDZMZM.js";import{CropMiniIcon as nu}from"./chunk-GKUHMQ4N.js";import{CropRightMiniIcon as su}from"./chunk-KIYTUOVN.js";import{CropRightSolidIcon as pu}from"./chunk-7F65BNHY.js";import{CopyStyleSolidIcon as uu}from"./chunk-XLTCCVAS.js";import{CopyToPageMiniIcon as hu}from"./chunk-CUH3B5XK.js";import{CopyToPageSolidIcon as ku}from"./chunk-XQQVYYP6.js";import{CornerMiniIcon as fu}from"./chunk-FY2CQ5OZ.js";import{CornerSolidIcon as eu}from"./chunk-IHFHX3JS.js";import{CountUpMiniIcon as ju}from"./chunk-RRVBOD2U.js";import{CountUpSolidIcon as au}from"./chunk-I5VYOWIX.js";import{CropBottomMiniIcon as lu}from"./chunk-BXDYFSP4.js";import{ContrastSolidIcon as du}from"./chunk-GVMMJWNK.js";import{CopiedMiniIcon as bu}from"./chunk-FVZBMQQG.js";import{CopiedSolidIcon as Qu}from"./chunk-6NM4VNUK.js";import{CopyAlt2Icon as Cu}from"./chunk-6OVMOQXY.js";import{CopyAltIcon as Fu}from"./chunk-76MY6SHR.js";import{CopyMiniIcon as Nu}from"./chunk-COL533ZT.js";import{CopySolidIcon as Ju}from"./chunk-R2AU7OKI.js";import{CopyStyleMiniIcon as Mu}from"./chunk-FDF6AGVQ.js";import{ColumnWidthsSolidIcon as Ku}from"./chunk-V2ILLLXT.js";import{ColumnsMiniIcon as Ru}from"./chunk-KU75RLJS.js";import{ColumnsSolidIcon as Uu}from"./chunk-VEPD5TDQ.js";import{CompanyMiniIcon as Du}from"./chunk-BXRX5WJC.js";import{CompanySolidIcon as Hu}from"./chunk-7DVL5EM2.js";import{ComposeMiniIcon as Pu}from"./chunk-Q6DH4T7K.js";import{ComposeSolidIcon as Xu}from"./chunk-YPAX3OVJ.js";import{ContrastMiniIcon as Lu}from"./chunk-VZEQGTG6.js";import{CloudSolidIcon as Zu}from"./chunk-LVL7SQQE.js";import{CodeMiniIcon as Gu}from"./chunk-EY7ITVLB.js";import{CodeSolidIcon as gu}from"./chunk-QF2QYWLO.js";import{CollapseMiniIcon as Au}from"./chunk-KMGORP5N.js";import{CollapseSolidIcon as Wu}from"./chunk-MFZS4XH4.js";import{ColumnGapMiniIcon as Eu}from"./chunk-EBH2ETZL.js";import{ColumnGapSolidIcon as Yu}from"./chunk-4CGNDOUU.js";import{ColumnWidthsMiniIcon as Tu}from"./chunk-7CQR2P4D.js";import{CloudCheckSolidIcon as Bu}from"./chunk-EAI3RF4X.js";import{CloudDownloadMiniIcon as Iu}from"./chunk-NFQTAYIZ.js";import{CloudDownloadSolidIcon as Ou}from"./chunk-5ATA7ZH4.js";import{CloudMiniIcon as Su}from"./chunk-OZ7YWV63.js";import{CloudPauseMiniIcon as Vu}from"./chunk-SIILHHPE.js";import{CloudPauseSolidIcon as wu}from"./chunk-5KQTZ4UE.js";import{CloudSlashMiniIcon as yu}from"./chunk-4YYHXX5L.js";import{CloudSlashSolidIcon as xu}from"./chunk-IDA6A4QV.js";import{CloseCircleSolidIcon as vu}from"./chunk-MNJH3BVA.js";import{CloseMiniIcon as qu}from"./chunk-44CXUHIL.js";import{CloseSolidIcon as zu}from"./chunk-AHVWJJCK.js";import{CloudAlertMiniIcon as $u}from"./chunk-BXS2D2KK.js";import{CloudAlertSolidIcon as _u}from"./chunk-FWNFAW7P.js";import{CloudArrowUpMiniIcon as rh}from"./chunk-6RY7OKVQ.js";import{CloudArrowUpSolidIcon as oh}from"./chunk-2NRMCUOW.js";import{CloudCheckMiniIcon as mh}from"./chunk-ZV4FB43H.js";import{ClipboardDocumentListMiniIcon as th}from"./chunk-HGOWLHKZ.js";import{ClipboardDocumentListSolidIcon as ch}from"./chunk-7BPQPIJJ.js";import{ClipboardMiniIcon as ih}from"./chunk-IUUJEV6I.js";import{ClipboardSolidIcon as nh}from"./chunk-XS4PWQSN.js";import{ClockMiniIcon as sh}from"./chunk-J4FL4OCW.js";import{ClockSolidIcon as ph}from"./chunk-DORDAZGF.js";import{CloseCircleAltIcon as uh}from"./chunk-TQYPYM4F.js";import{CloseCircleMiniIcon as hh}from"./chunk-6AKTE47Z.js";import{ChevronUpDownMiniIcon as kh}from"./chunk-6USSSR3X.js";import{ChevronUpDownSolidIcon as fh}from"./chunk-TGS7NZ4S.js";import{ChevronUpMiniIcon as eh}from"./chunk-R7F2DMKZ.js";import{ChevronUpSolidIcon as jh}from"./chunk-UGUQC2CY.js";import{CircleStackMiniIcon as ah}from"./chunk-AD7JPCLJ.js";import{CircleStackSolidIcon as lh}from"./chunk-OSFWNBI3.js";import{ClearMarksMiniIcon as dh}from"./chunk-DSFPJYO5.js";import{ClearMarksSolidIcon as bh}from"./chunk-S4WC23JS.js";import{ChevronDoubleRightMiniIcon as Qh}from"./chunk-5KV4BIYG.js";import{ChevronDoubleRightSolidIcon as Ch}from"./chunk-2B2HGWZR.js";import{ChevronDownMiniIcon as Fh}from"./chunk-LRWOR3LD.js";import{ChevronDownSolidIcon as Nh}from"./chunk-5YPYINMS.js";import{ChevronLeftMiniIcon as Jh}from"./chunk-EFP2VLXY.js";import{ChevronLeftSolidIcon as Mh}from"./chunk-53JU3XAC.js";import{ChevronRightMiniIcon as Kh}from"./chunk-7BLIJJRB.js";import{ChevronRightSolidIcon as Rh}from"./chunk-PZVDRXTL.js";import{CheckCircleMiniIcon as Uh}from"./chunk-HW23QCM6.js";import{CheckCircleSolidIcon as Dh}from"./chunk-4AHAFRLQ.js";import{CheckMiniIcon as Hh}from"./chunk-PZVZQAT7.js";import{CheckSolidIcon as Ph}from"./chunk-CL3TM57T.js";import{CheckboxMiniIcon as Xh}from"./chunk-NBDXKLRS.js";import{CheckboxSolidIcon as Lh}from"./chunk-MP32KR6I.js";import{ChevronDoubleLeftMiniIcon as Zh}from"./chunk-HFZYDG4H.js";import{ChevronDoubleLeftSolidIcon as Gh}from"./chunk-ESYW3ZJ3.js";import{ChatAltIcon as gh}from"./chunk-A5M37IYD.js";import{ChatBubbleLeftRightMiniIcon as Ah}from"./chunk-EMFPDUC5.js";import{ChatBubbleLeftRightSolidIcon as Wh}from"./chunk-FJCROBEY.js";import{ChatBubbleOvalLeftEllipsisMiniIcon as Eh}from"./chunk-WKQDQ6PX.js";import{ChatBubbleOvalLeftEllipsisSolidIcon as Yh}from"./chunk-5ONLEJND.js";import{ChatMiniIcon as Th}from"./chunk-TZALPJLH.js";import{ChatSolidIcon as Bh}from"./chunk-WVWIQLSO.js";import{CheckAltIcon as Ih}from"./chunk-66B4UUBJ.js";import{ChartBarMiniIcon as Oh}from"./chunk-PTAWGNOP.js";import{ChartBarSolidIcon as Sh}from"./chunk-JKZBUZJL.js";import{ChartBarSquareMiniIcon as Vh}from"./chunk-O4VLKJH6.js";import{ChartBarSquareSolidIcon as wh}from"./chunk-WMHMEL4M.js";import{ChartLineMiniIcon as yh}from"./chunk-3AOH4Y5Q.js";import{ChartLineSolidIcon as xh}from"./chunk-H4D64QWB.js";import{ChartMiniIcon as vh}from"./chunk-6MK2ZRMR.js";import{ChartSolidIcon as qh}from"./chunk-WSGRNF7K.js";import{CaseLowerMiniIcon as zh}from"./chunk-6PBWS4U2.js";import{CaseLowerSolidIcon as $h}from"./chunk-BTWIDDUX.js";import{CaseMiniIcon as _h}from"./chunk-7NYUPAF2.js";import{CaseNormalMiniIcon as rk}from"./chunk-K553VJKG.js";import{CaseNormalSolidIcon as ok}from"./chunk-EWO3CHRK.js";import{CaseSolidIcon as mk}from"./chunk-AJS6MGSR.js";import{CaseUpperMiniIcon as tk}from"./chunk-BTKR3L6T.js";import{CaseUpperSolidIcon as ck}from"./chunk-C6PK7DPK.js";import{CardPaymentAltIcon as ik}from"./chunk-DMALV6HL.js";import{CardPaymentMiniIcon as nk}from"./chunk-USDDEC5E.js";import{CardPaymentSolidIcon as sk}from"./chunk-VEWTFCLT.js";import{CartAltIcon as pk}from"./chunk-EBIWBHDT.js";import{CartMiniIcon as uk}from"./chunk-SQ3LMAD7.js";import{CartSolidIcon as hk}from"./chunk-5OB5G4ER.js";import{CaseCapitalizedMiniIcon as kk}from"./chunk-LGLWUWLG.js";import{CaseCapitalizedSolidIcon as fk}from"./chunk-COBVYQJ5.js";import{CalendarSolidIcon as ek}from"./chunk-UM7ENABX.js";import{CameraMiniIcon as jk}from"./chunk-JFKV3HGY.js";import{CameraSolidIcon as ak}from"./chunk-CLKX4AYI.js";import{CaptionMiniIcon as lk}from"./chunk-QAQ7AWOR.js";import{CaptionSolidIcon as dk}from"./chunk-625GKS5W.js";import{CarMiniIcon as bk}from"./chunk-HZWDLCON.js";import{CarSolidIcon as Qk}from"./chunk-SJAGP7O5.js";import{CardPaymentAlt2Icon as Ck}from"./chunk-2ASZVLNP.js";import{ButtonIconSolidIcon as Fk}from"./chunk-LQ2WXJLJ.js";import{ButtonMiniIcon as Nk}from"./chunk-I4AFC5T6.js";import{ButtonSolidIcon as Jk}from"./chunk-BQGZ5XPF.js";import{CalculatorMiniIcon as Mk}from"./chunk-A53BUHOH.js";import{CalculatorSolidIcon as Kk}from"./chunk-VCJ4TFNW.js";import{CalendarAlt2Icon as Rk}from"./chunk-7C6NKEWV.js";import{CalendarAltIcon as Uk}from"./chunk-JANKMZGF.js";import{CalendarMiniIcon as Dk}from"./chunk-KCE2CIH7.js";import{BriefcaseSolidIcon as Hk}from"./chunk-XS4HBMDN.js";import{BugMiniIcon as Pk}from"./chunk-R2DAQH2T.js";import{BugSolidIcon as Xk}from"./chunk-YVLE5OZR.js";import{BuildingLibraryMiniIcon as Lk}from"./chunk-TH4CJHHG.js";import{BuildingLibrarySolidIcon as Zk}from"./chunk-Z2AQ3XB3.js";import{BuildingOffice2MiniIcon as Gk}from"./chunk-TC7LOFWX.js";import{BuildingOffice2SolidIcon as gk}from"./chunk-UC5NQ7J6.js";import{ButtonIconMiniIcon as Ak}from"./chunk-JT54HCG7.js";import{BrandWhatsappSolidIcon as Wk}from"./chunk-URWQO4KB.js";import{BrandXOutlineIcon as Ek}from"./chunk-2UCDJCGZ.js";import{BrandXSolidIcon as Yk}from"./chunk-FEVWWOGL.js";import{BrandYoutubeOutlineIcon as Tk}from"./chunk-RBXMTHOT.js";import{BrandYoutubeSolidIcon as Bk}from"./chunk-UKC6VJE4.js";import{BreadcrumbMiniIcon as Ik}from"./chunk-SDECOPY3.js";import{BreadcrumbSolidIcon as Ok}from"./chunk-KLAGP4GV.js";import{BriefcaseMiniIcon as Sk}from"./chunk-IRZBGVTB.js";import{BrandPinterestSolidIcon as Vk}from"./chunk-FOXMWLVS.js";import{BrandTelegramOutlineIcon as wk}from"./chunk-YVULGIDQ.js";import{BrandTelegramSolidIcon as yk}from"./chunk-NTWI7EGJ.js";import{BrandTiktokOutlineIcon as xk}from"./chunk-T3NJAOJL.js";import{BrandTiktokSolidIcon as vk}from"./chunk-W5DLG5T2.js";import{BrandWechatOutlineIcon as qk}from"./chunk-YKKMR5DU.js";import{BrandWechatSolidIcon as zk}from"./chunk-474G67EG.js";import{BrandWhatsappOutlineIcon as $k}from"./chunk-NFMDU4EJ.js";import{BrandFacebookSolidIcon as _k}from"./chunk-OKRAYHGW.js";import{BrandInstagramOutlineIcon as rf}from"./chunk-MTZUYC4Y.js";import{BrandInstagramSolidIcon as of}from"./chunk-LQD7K7HK.js";import{BrandLineOutlineIcon as mf}from"./chunk-EQPVQY5E.js";import{BrandLineSolidIcon as tf}from"./chunk-CAUWHLN7.js";import{BrandLinkedinOutlineIcon as cf}from"./chunk-6I7EODFJ.js";import{BrandLinkedinSolidIcon as nf}from"./chunk-BXQYRG7P.js";import{BrandPinterestOutlineIcon as sf}from"./chunk-ROUTBYMG.js";import{BoxYEndSolidIcon as pf}from"./chunk-H62WUDPO.js";import{BoxYStartMiniIcon as uf}from"./chunk-TSP7UFQB.js";import{BoxYStartSolidIcon as hf}from"./chunk-6LNNBA3T.js";import{BoxYStretchMiniIcon as kf}from"./chunk-TQ2M7V4E.js";import{BoxYStretchSolidIcon as ff}from"./chunk-3FGPFDDK.js";import{BracesMiniIcon as ef}from"./chunk-G5T4NYFR.js";import{BracesSolidIcon as jf}from"./chunk-AHTA7QXO.js";import{BrandFacebookOutlineIcon as af}from"./chunk-5KZ4WKUI.js";import{BoxXStartSolidIcon as lf}from"./chunk-T2FITGKQ.js";import{BoxXStretchMiniIcon as df}from"./chunk-GFYIVFX2.js";import{BoxXStretchSolidIcon as bf}from"./chunk-NLUSV66Z.js";import{BoxYBetweenMiniIcon as Qf}from"./chunk-NO6DG2IV.js";import{BoxYBetweenSolidIcon as Cf}from"./chunk-UO6GQPT3.js";import{BoxYCenterMiniIcon as Ff}from"./chunk-JNSMBHNH.js";import{BoxYCenterSolidIcon as Nf}from"./chunk-W33HIHEP.js";import{BoxYEndMiniIcon as Jf}from"./chunk-IS6FC32P.js";import{BoxJustifySolidIcon as Mf}from"./chunk-S5IAQ7ZS.js";import{BoxXBetweenMiniIcon as Kf}from"./chunk-ESDSE6HY.js";import{BoxXBetweenSolidIcon as Rf}from"./chunk-6CBF7UQ2.js";import{BoxXCenterMiniIcon as Uf}from"./chunk-GZ7XQBCG.js";import{BoxXCenterSolidIcon as Df}from"./chunk-HFAOJ4OJ.js";import{BoxXEndMiniIcon as Hf}from"./chunk-K5VNHEVL.js";import{BoxXEndSolidIcon as Pf}from"./chunk-FMHHOXML.js";import{BoxXStartMiniIcon as Xf}from"./chunk-NQJL6B67.js";import{BorderLeftSolidIcon as Lf}from"./chunk-BLTHZSWG.js";import{BorderRightMiniIcon as Zf}from"./chunk-6KGMGZHE.js";import{BorderRightSolidIcon as Gf}from"./chunk-U7Y6VI2V.js";import{BorderTopMiniIcon as gf}from"./chunk-SJ23KTCO.js";import{BorderTopSolidIcon as Af}from"./chunk-G3OIMKEO.js";import{BoxItemAlignmentMiniIcon as Wf}from"./chunk-O3UL2XW5.js";import{BoxItemAlignmentSolidIcon as Ef}from"./chunk-E5G2RURY.js";import{BoxJustifyMiniIcon as Yf}from"./chunk-QRTRKWCZ.js";import{BookmarkSolidIcon as Tf}from"./chunk-GVSGP4P3.js";import{BookmarkSquareMiniIcon as Bf}from"./chunk-YH4GOPT3.js";import{BookmarkSquareSolidIcon as If}from"./chunk-ERKFGC5C.js";import{BorderAllMiniIcon as Of}from"./chunk-QKEJNJSJ.js";import{BorderAllSolidIcon as Sf}from"./chunk-BVZSNZO2.js";import{BorderBottomMiniIcon as Vf}from"./chunk-UNETPVQD.js";import{BorderBottomSolidIcon as wf}from"./chunk-EQJFKRK5.js";import{BorderLeftMiniIcon as yf}from"./chunk-GWXTRUSZ.js";import{BlogPostSolidIcon as xf}from"./chunk-ADILLUBC.js";import{BoldMiniIcon as vf}from"./chunk-OZIHC6LT.js";import{BoldSolidIcon as qf}from"./chunk-JTECQPFZ.js";import{BoltMiniIcon as zf}from"./chunk-WD2PAOXY.js";import{BoltSolidIcon as $f}from"./chunk-RLUX7UZ3.js";import{BookOpenMiniIcon as _f}from"./chunk-MDEYAVX5.js";import{BookOpenSolidIcon as re}from"./chunk-KNIHHEZ6.js";import{BookmarkMiniIcon as oe}from"./chunk-PJZ4TOFR.js";import{BlockSectionSolidIcon as me}from"./chunk-5L3MHRXQ.js";import{BlockSpacerMiniIcon as te}from"./chunk-S2PKAWDA.js";import{BlockSpacerSolidIcon as ce}from"./chunk-K6ZY2PQV.js";import{BlockTextMiniIcon as ie}from"./chunk-7YJ6QRFY.js";import{BlockTextSolidIcon as ne}from"./chunk-IADBERII.js";import{BlockVideoMiniIcon as se}from"./chunk-ZMYTKXYP.js";import{BlockVideoSolidIcon as pe}from"./chunk-X6IMHWDH.js";import{BlogPostMiniIcon as ue}from"./chunk-D2VXCCQV.js";import{BlockFooterSolidIcon as he}from"./chunk-KN6Z3QSE.js";import{BlockHeadingMiniIcon as ke}from"./chunk-KHSTQGAQ.js";import{BlockHeadingSolidIcon as fe}from"./chunk-6OPE4Z6S.js";import{BlockLayeredImagesMiniIcon as ee}from"./chunk-G2KSTEIR.js";import{BlockLayeredImagesSolidIcon as je}from"./chunk-KW7DKURL.js";import{BlockProductTitleMiniIcon as ae}from"./chunk-5C56H7RM.js";import{BlockProductTitleSolidIcon as le}from"./chunk-VK4OK5MQ.js";import{BlockSectionMiniIcon as de}from"./chunk-OONUEZIW.js";import{BlockBannerSolidIcon as be}from"./chunk-GIU6VXJB.js";import{BlockBoxMiniIcon as Qe}from"./chunk-DIM5ZZ5Y.js";import{BlockBoxSolidIcon as Ce}from"./chunk-3RVAJR6Y.js";import{BlockCouponMiniIcon as Fe}from"./chunk-JZEQTZRG.js";import{BlockCouponSolidIcon as Ne}from"./chunk-LBJQOR7U.js";import{BlockDividerMiniIcon as Je}from"./chunk-ZMON54V2.js";import{BlockDividerSolidIcon as Me}from"./chunk-6PAEECEY.js";import{BlockFooterMiniIcon as Ke}from"./chunk-7WLRGQU2.js";import{BellSolidIcon as Re}from"./chunk-D5KZHQUQ.js";import{BillingMiniIcon as Ue}from"./chunk-NMZH7XRX.js";import{BillingSolidIcon as De}from"./chunk-GIDCFJFJ.js";import{BlackAndWhiteMiniIcon as He}from"./chunk-LHKI2VJW.js";import{BlackAndWhiteSolidIcon as Pe}from"./chunk-OOCJAWJB.js";import{BlockBadgeMiniIcon as Xe}from"./chunk-TNM6UGRR.js";import{BlockBadgeSolidIcon as Le}from"./chunk-CDXABHGL.js";import{BlockBannerMiniIcon as Ze}from"./chunk-H2FH3U4E.js";import{BeakerMiniIcon as Ge}from"./chunk-Y4HNZVNW.js";import{BeakerSolidIcon as ge}from"./chunk-XAYE2WUP.js";import{BellAlertMiniIcon as Ae}from"./chunk-YS5B33PA.js";import{BellAlertSolidIcon as We}from"./chunk-NQ74ZNNG.js";import{BellAltIcon as Ee}from"./chunk-FXTYVMSO.js";import{BellMiniIcon as Ye}from"./chunk-VZSPQOIL.js";import{BellPlusMiniIcon as Te}from"./chunk-7FKABCZX.js";import{BellPlusSolidIcon as Be}from"./chunk-TNMTBNFE.js";import{BackgroundMiniIcon as Ie}from"./chunk-GJLJDWP2.js";import{BackgroundSolidIcon as Oe}from"./chunk-E25DJCZX.js";import{BagMiniIcon as Se}from"./chunk-3UXCHN2Y.js";import{BagSolidIcon as Ve}from"./chunk-B64SQUAI.js";import{Bars3BottomLeftMiniIcon as we}from"./chunk-YIURRPQ7.js";import{Bars3BottomLeftSolidIcon as ye}from"./chunk-UO5KVL7C.js";import{BatteryMiniIcon as xe}from"./chunk-M4PBEZVP.js";import{BatterySolidIcon as ve}from"./chunk-L2NH35JL.js";import{ArrowUpRightMiniIcon as qe}from"./chunk-DCQS3CY7.js";import{ArrowUpRightSolidIcon as ze}from"./chunk-SANX3GBB.js";import{ArrowUpSolidIcon as $e}from"./chunk-OOXD67PN.js";import{AtSymbolMiniIcon as _e}from"./chunk-MM4WJHXO.js";import{AtSymbolSolidIcon as rj}from"./chunk-UYZAW4XK.js";import{AttachAltIcon as oj}from"./chunk-7AUFUC7S.js";import{AttachMiniIcon as mj}from"./chunk-3ZCQPEQB.js";import{AttachSolidIcon as tj}from"./chunk-F3HV52IQ.js";import{ArrowLongRightSolidIcon as cj}from"./chunk-2LCAJKJM.js";import{ArrowRightMiniIcon as ij}from"./chunk-L5VJEUNL.js";import{ArrowRightSolidIcon as nj}from"./chunk-QEXKJWAA.js";import{ArrowTrendingDownMiniIcon as sj}from"./chunk-IW3H2NIS.js";import{ArrowTrendingDownSolidIcon as pj}from"./chunk-KQHNX5WQ.js";import{ArrowTrendingUpMiniIcon as uj}from"./chunk-C7PJ2BFZ.js";import{ArrowTrendingUpSolidIcon as hj}from"./chunk-WRVHXP72.js";import{ArrowUpMiniIcon as kj}from"./chunk-NPMGJBVE.js";import{ArchiveBoxSolidIcon as fj}from"./chunk-DSRZ22NW.js";import{ArrowDownMiniIcon as ej}from"./chunk-UEETKW2R.js";import{ArrowDownSolidIcon as jj}from"./chunk-BUA6AISP.js";import{ArrowLeftEndOnRectangleMiniIcon as aj}from"./chunk-6SGFZZNU.js";import{ArrowLeftEndOnRectangleSolidIcon as lj}from"./chunk-H3CZUUUV.js";import{ArrowLeftMiniIcon as dj}from"./chunk-XK2TKHHU.js";import{ArrowLeftSolidIcon as bj}from"./chunk-XQFFEQNA.js";import{ArrowLongRightMiniIcon as Qj}from"./chunk-WDNMERJD.js";import{AlignmentSolidIcon as Cj}from"./chunk-3LG5YFCK.js";import{AnchorMiniIcon as Fj}from"./chunk-ZRPTWML6.js";import{AnchorSolidIcon as Nj}from"./chunk-SRX7THEC.js";import{AnimationMiniIcon as Jj}from"./chunk-4ZI75XUP.js";import{AnimationSolidIcon as Mj}from"./chunk-RLY6QGCY.js";import{AppsMiniIcon as Kj}from"./chunk-C5FRN2MO.js";import{AppsSolidIcon as Rj}from"./chunk-KKBQRMEQ.js";import{ArchiveBoxMiniIcon as Uj}from"./chunk-CVWRL3SR.js";import{AlignJustifySolidIcon as Dj}from"./chunk-IQAFZJO5.js";import{AlignLeftMiniIcon as Hj}from"./chunk-DOBDKX3N.js";import{AlignLeftSolidIcon as Pj}from"./chunk-UBS44QNF.js";import{AlignRightMiniIcon as Xj}from"./chunk-JHTRFNOJ.js";import{AlignRightSolidIcon as Lj}from"./chunk-DP7WVTGQ.js";import{AlignSeparateMiniIcon as Zj}from"./chunk-LSSZLU65.js";import{AlignSeparateSolidIcon as Gj}from"./chunk-MKS6YLYR.js";import{AlignmentMiniIcon as gj}from"./chunk-GCR66E4S.js";import{AddPersonMiniIcon as Aj}from"./chunk-77USZ3CH.js";import{AddPersonSolidIcon as Wj}from"./chunk-EJ7CUJUL.js";import{AddSolidIcon as Ej}from"./chunk-SSYXGVCW.js";import{AdjustMiniIcon as Yj}from"./chunk-MUUIDQKX.js";import{AdjustSolidIcon as Tj}from"./chunk-FFTCTT6J.js";import{AlignCenterMiniIcon as Bj}from"./chunk-CJWPYYJZ.js";import{AlignCenterSolidIcon as Ij}from"./chunk-7U6KJNZ2.js";import{AlignJustifyMiniIcon as Oj}from"./chunk-UI2XKCNM.js";import{AccountCircleMiniIcon as Sj}from"./chunk-ONJKQ4F4.js";import{AccountCircleSolidIcon as Vj}from"./chunk-PMP4MCXR.js";import{AccountMiniIcon as wj}from"./chunk-VHGJTJ5C.js";import{AccountSolidIcon as yj}from"./chunk-LMF4FIGQ.js";import{AccountUserCircleIcon as xj}from"./chunk-3OIQSCGM.js";import{AddCircleMiniIcon as vj}from"./chunk-DFAIY54I.js";import{AddCircleSolidIcon as qj}from"./chunk-DTLKYF45.js";import{AddMiniIcon as zj}from"./chunk-PMAX5YW2.js";import{AcademicCapMiniIcon as $j}from"./chunk-JSGNZTYP.js";import{AcademicCapSolidIcon as _j}from"./chunk-4XM7JDQT.js";import{AccentMiniIcon as ra}from"./chunk-FA6U6ZML.js";import{AccentSolidIcon as oa}from"./chunk-ZTN72H54.js";import{AccountAltIcon as ma}from"./chunk-EYBN5UBA.js";var ta=["alt","alt-2","alt-3","arrow-path-rounded-square","building-storefront-20-solid","document","mini","outline","pencil-square","queue-list","rectangle-stack","solid","user-circle","user-group"],ca={name:"efficient",label:"Efficient",icons:{},looks:{alt:{account:ma,attach:oj,bell:Ee,"block-image":dn,"block-included-list":Ci,calendar:Uk,"calendar-check":Uk,"card-payment":ik,cart:pk,category:Rs,chat:gh,check:Ih,"close-circle":uh,copy:Fu,dashboard:$n,desktop:Sp,document:Ep,"document-check":Jp,dollar:ap,download:Cp,drag:sp,duplicate:fp,edit:mp,email:np,external:Ts,flag:Js,folder:Rs,globe:ks,grid:$n,image:dn,inbox:pn,info:xi,layers:on,layout:Oi,list:Ci,lock:ji,map:si,page:At,"paint-brush":Lr,phone:Rt,play:dt,"rectangle-group":Oi,refresh:Tm,rename:mp,scale:Mm,"scroll-text":Ep,search:jm,send:cm,sort:po,sparkles:eo,star:wr,styles:Lr,tag:dr,target:Cr,title:Js,trash:S,truck:y,wheel:Cr},"alt-2":{"block-included-list":bi,calendar:Rk,"calendar-check":Rk,"card-payment":Ck,copy:Cu,document:Wp,edit:op,external:Ys,list:bi,rename:op,"scroll-text":Wp,search:em,send:tm,sparkles:ko,trash:O},"alt-3":{"block-included-list":Qi,list:Qi,sparkles:fo},"arrow-path-rounded-square":{refresh:Bm},"building-storefront-20-solid":{store:Or},document:{document:Rp,"scroll-text":Rp},mini:{"academic-cap":$j,accent:ra,account:wj,"account-circle":Sj,add:zj,"add-circle":vj,"add-person":Aj,adjust:Yj,"align-center":Bj,"align-justify":Oj,"align-left":Hj,"align-right":Xj,"align-separate":Zj,alignment:gj,anchor:Fj,animation:Jj,apps:Kj,"archive-box":Uj,arrow:ij,"arrow-down":ej,"arrow-left":dj,"arrow-left-end-on-rectangle":aj,"arrow-long-right":Qj,"arrow-right":ij,"arrow-trending-down":sj,"arrow-trending-up":uj,"arrow-up":kj,"arrow-up-right":qe,"at-symbol":_e,attach:mj,background:Ie,bag:Se,bank:Lk,"bars-3-bottom-left":we,battery:xe,beaker:Ge,bell:Ye,"bell-alert":Ae,"bell-plus":Te,billing:Ue,"black-and-white":He,"block-badge":Xe,"block-banner":Ze,"block-box":Qe,"block-button":Nk,"block-column":Ru,"block-coupon":Fe,"block-divider":Je,"block-footer":Ke,"block-heading":ke,"block-image":bn,"block-included-list":Ji,"block-layered-images":ee,"block-product":$m,"block-product-title":ae,"block-section":de,"block-social":Oo,"block-spacer":te,"block-text":ie,"block-video":se,"blog-post":ue,bold:vf,bolt:zf,"book-open":_f,bookmark:oe,"bookmark-square":Bf,"border-all":Of,"border-bottom":Vf,"border-left":yf,"border-right":Zf,"border-top":gf,"box-item-alignment":Wf,"box-justify":Yf,"box-x-between":Kf,"box-x-center":Uf,"box-x-end":Hf,"box-x-start":Xf,"box-x-stretch":df,"box-y-between":Qf,"box-y-center":Ff,"box-y-end":Jf,"box-y-start":uf,"box-y-stretch":kf,braces:ef,breadcrumb:Ik,briefcase:Sk,bug:Pk,"bug-ant":Pk,"building-library":Lk,"building-office-2":Gk,button:Nk,"button-arrow":ij,"button-icon":Ak,calculator:Mk,calendar:Dk,"calendar-check":Dk,camera:jk,caption:lk,car:bk,"card-payment":nk,caret:Fh,cart:uk,case:_h,"case-capitalized":kk,"case-lower":zh,"case-normal":rk,"case-upper":tk,category:Us,chart:vh,"chart-bar":Oh,"chart-bar-square":Vh,"chart-line":yh,chat:Th,"chat-bubble-left-right":Ah,"chat-bubble-oval-left-ellipsis":Eh,check:Hh,"check-circle":Uh,checkbox:Xh,chevron:Fh,"chevron-double":Qh,"chevron-double-left":Zh,"chevron-double-right":Qh,"chevron-down":Fh,"chevron-left":Jh,"chevron-right":Kh,"chevron-up":eh,"chevron-up-down":kh,"circle-stack":ah,"clear-marks":dh,clipboard:ih,"clipboard-check":bu,"clipboard-document-list":th,"clipboard-list":th,clock:sh,close:qu,"close-circle":hh,cloud:Su,"cloud-alert":$u,"cloud-arrow-up":rh,"cloud-check":mh,"cloud-download":Iu,"cloud-pause":Vu,"cloud-slash":yu,code:Gu,"code-bracket":Gu,collapse:Au,"collapse-all":Au,"column-gap":Eu,"column-widths":Tu,columns:Ru,company:Du,compose:Pu,contrast:Lu,cookie:ah,copied:bu,copy:Nu,"copy-style":Mu,"copy-to-page":hu,corner:fu,"count-up":ju,crop:nu,"crop-bottom":lu,"crop-left":mu,"crop-left-right":tu,"crop-right":su,"crop-top":xp,"crop-y":qp,"cube-transparent":$p,cursor:Tp,"cursor-arrow-rays":ru,"cursor-click":ru,dashboard:_n,date:Ip,desktop:Vp,detach:Xp,diagram:Zp,direction:gp,"direction-down":ej,"direction-left":dj,"direction-right":ij,"direction-up":kj,document:Hp,"document-check":Mp,"document-magnifying-glass":Up,dollar:lp,dot:bp,download:Fp,drag:pp,drop:hp,duplicate:ep,duration:_s,edit:tp,email:Vs,enter:ys,eraser:vs,error:zs,expand:Ws,external:Bs,eye:Os,"eye-off":Ss,"face-smile":Xs,filter:Zs,finish:gs,fire:Fs,flag:Ms,folder:Us,"folder-open":Ds,"folder-plus":js,forward:ds,"full-width":Qs,gap:is,gem:ss,gift:us,globe:fs,grid:_n,ground:os,hand:ts,"hand-thumb-up":On,hash:Vn,headquarters:yn,heart:vn,height:gn,help:Wn,"help-off":En,hexagon:Bn,home:Un,hover:Xn,"hover-lift":Hn,"hover-next-image":Ln,"hover-none":Gn,"hover-rotate":Cn,"hover-zoom":Jn,"icon-after-text":Kn,"icon-at-end":kn,"icon-before-text":en,identification:an,image:bn,"image-off":mn,images:nn,inbox:un,info:vi,italic:zi,key:_i,layers:Ti,layout:Si,"letter-spacing":wi,lightbulb:Li,"line-between":Gi,"line-dashed":Ai,"line-dotted":Ei,"line-solid":Mi,"line-spacing":Ri,"line-style":Di,link:Pi,"link-slash":Xi,list:Ji,"list-format":Fi,"list-none":pi,location:fi,lock:ai,logo:oi,logout:ti,loop:ii,map:wc,media:Tc,"media-layout-big-two":xc,"media-layout-inset":qc,"media-layout-side-by-side":$c,"media-layout-stacked":Ec,megaphone:Ic,menu:Sc,meta:Pc,microphone:Lc,money:Gc,moon:Ac,more:Nc,"more-vertical":Mc,"move-down":ej,"move-up":kj,newspaper:ue,"no-symbol":Rc,note:Dc,nudge:jc,"nudge-x":lc,"nudge-y":bc,"numbered-list":Cc,opacity:nc,"own-text":pc,package:hc,"package-open":kc,"padding-all":$t,"padding-bottom":rc,"padding-left":mc,"padding-left-right":tc,"padding-right":St,"padding-top":wt,"padding-x":xt,"padding-y":qt,page:Wt,"paint-brush":Zr,palette:Yt,"panel-left":Bt,"panel-right":Ot,"paragraph-spacing":Ht,parcel:hc,paste:ih,"paste-style":Xt,pause:Zt,pen:gt,people:Ft,percent:Mt,phone:et,"phone-hidden":Ut,placement:at,play:bt,"plus-minus":ct,power:nt,"presentation-chart-bar":pt,print:ht,product:$m,"product-field":qm,"product-size":_m,progress:mt,quote:Im,"radio-dot":Sm,radius:wm,receipt:xm,"receipt-percent":vm,"receipt-refund":gm,"rectangle-group":Si,redo:Em,refresh:Rm,remove:Dm,"remove-circle":Dm,rename:tp,reply:Lm,"reply-all":Pm,revert:bm,robot:Cm,rotate:Nm,scale:Km,"scroll-point":km,"scroll-text":Hp,search:am,"select-all":dm,send:im,"separator-slash":sm,"separator-triangle":um,server:vo,settings:zo,shadow:_o,"shape-ellipse":om,"shape-rect":Bo,share:Oo,shared:Vo,"shield-check":yo,"shield-exclamation":Zo,"sides-each":go,signal:Wo,"signal-slash":Eo,sitemap:Ko,"slide-arrows-bare":Kh,"slide-arrows-round":Uo,"slide-arrows-square":Ho,"slide-picker-bar":Xo,"slide-picker-cards":lo,"slide-picker-dots":Qo,"slide-picker-numbers":Fo,"slide-picker-squares":Jo,sort:uo,sparkles:jo,speaker:ro,"speaker-wave":ro,"spec-table":mo,split:co,square:no,star:yr,state:vr,"status-circle":zr,"status-dot":Wr,sticky:Yr,"stop-circle":Br,store:Sr,strike:Pr,styles:Zr,subscript:gr,"success-burst":L,sun:Fr,superscript:Jr,swap:Kr,swatch:gs,table:Ur,tablet:er,tabs:ar,tag:br,target:ir,team:sr,telephone:ur,template:oe,"text-color":kr,"text-lines":we,"text-size":z,"text-small":_,"text-value":or,texture:tr,theme:gs,ticket:Fe,title:Ms,trash:V,trigger:zf,truck:x,tv:q,type:A,tyre:E,underline:T,undo:I,upload:D,"v-align":P,verified:L,"video-off":G,"view-columns":C,wallet:N,warning:M,weight:R,wheel:ir,widgets:f,width:j,window:l,windows:b,"words-from":c,wrap:n,wrench:p,"wrench-screwdriver":u,"zoom-in":o},outline:{"brand-facebook":af,"brand-instagram":rf,"brand-line":mf,"brand-linkedin":cf,"brand-pinterest":sf,"brand-telegram":wk,"brand-tiktok":xk,"brand-wechat":qk,"brand-whatsapp":$k,"brand-x":Ek,"brand-youtube":Tk},"pencil-square":{edit:cp,rename:cp},"queue-list":{"block-included-list":hi,list:hi},"rectangle-stack":{layers:Bi},solid:{"academic-cap":_j,accent:oa,account:yj,"account-circle":Vj,add:Ej,"add-circle":qj,"add-person":Wj,adjust:Tj,"align-center":Ij,"align-justify":Dj,"align-left":Pj,"align-right":Lj,"align-separate":Gj,alignment:Cj,anchor:Nj,animation:Mj,apps:Rj,"archive-box":fj,arrow:nj,"arrow-down":jj,"arrow-left":bj,"arrow-left-end-on-rectangle":lj,"arrow-long-right":cj,"arrow-right":nj,"arrow-trending-down":pj,"arrow-trending-up":hj,"arrow-up":$e,"arrow-up-right":ze,"at-symbol":rj,attach:tj,background:Oe,bag:Ve,bank:Zk,"bars-3-bottom-left":ye,battery:ve,beaker:ge,bell:Re,"bell-alert":We,"bell-plus":Be,billing:De,"black-and-white":Pe,"block-badge":Le,"block-banner":be,"block-box":Ce,"block-button":Jk,"block-column":Uu,"block-coupon":Ne,"block-divider":Me,"block-footer":he,"block-heading":fe,"block-image":cn,"block-included-list":ki,"block-layered-images":je,"block-product":ot,"block-product-title":le,"block-section":me,"block-social":So,"block-spacer":ce,"block-text":ne,"block-video":pe,"blog-post":xf,bold:qf,bolt:$f,"book-open":re,bookmark:Tf,"bookmark-square":If,"border-all":Sf,"border-bottom":wf,"border-left":Lf,"border-right":Gf,"border-top":Af,"box-item-alignment":Ef,"box-justify":Mf,"box-x-between":Rf,"box-x-center":Df,"box-x-end":Pf,"box-x-start":lf,"box-x-stretch":bf,"box-y-between":Cf,"box-y-center":Nf,"box-y-end":pf,"box-y-start":hf,"box-y-stretch":ff,braces:jf,breadcrumb:Ok,briefcase:Hk,bug:Xk,"bug-ant":Xk,"building-library":Zk,"building-office-2":gk,button:Jk,"button-arrow":nj,"button-icon":Fk,calculator:Kk,calendar:ek,"calendar-check":ek,camera:ak,caption:dk,car:Qk,"card-payment":sk,caret:Nh,cart:hk,case:mk,"case-capitalized":fk,"case-lower":$h,"case-normal":ok,"case-upper":ck,category:ls,chart:qh,"chart-bar":Sh,"chart-bar-square":wh,"chart-line":xh,chat:Bh,"chat-bubble-left-right":Wh,"chat-bubble-oval-left-ellipsis":Yh,check:Ph,"check-circle":Dh,checkbox:Lh,chevron:Nh,"chevron-double":Ch,"chevron-double-left":Gh,"chevron-double-right":Ch,"chevron-down":Nh,"chevron-left":Mh,"chevron-right":Rh,"chevron-up":jh,"chevron-up-down":fh,"circle-stack":lh,"clear-marks":bh,clipboard:nh,"clipboard-check":Qu,"clipboard-document-list":ch,"clipboard-list":ch,clock:ph,close:zu,"close-circle":vu,cloud:Zu,"cloud-alert":_u,"cloud-arrow-up":oh,"cloud-check":Bu,"cloud-download":Ou,"cloud-pause":wu,"cloud-slash":xu,code:gu,"code-bracket":gu,collapse:Wu,"collapse-all":Wu,"column-gap":Yu,"column-widths":Ku,columns:Uu,company:Hu,compose:Xu,contrast:du,cookie:lh,copied:Qu,copy:Ju,"copy-style":uu,"copy-to-page":ku,corner:eu,"count-up":au,crop:yp,"crop-bottom":ou,"crop-left":iu,"crop-left-right":cu,"crop-right":pu,"crop-top":vp,"crop-y":zp,"cube-transparent":_p,cursor:Bp,"cursor-arrow-rays":Yp,"cursor-click":Yp,dashboard:rs,date:Op,desktop:wp,detach:Lp,diagram:Gp,direction:Ap,"direction-down":jj,"direction-left":bj,"direction-right":nj,"direction-up":$e,document:Pp,"document-check":Kp,"document-magnifying-glass":Dp,dollar:dp,dot:Qp,download:Np,drag:up,drop:kp,duplicate:jp,duration:rp,edit:ip,email:ws,enter:xs,eraser:qs,error:$s,expand:Es,external:Is,eye:Ps,"eye-off":Hs,"face-smile":Ls,filter:Gs,finish:As,fire:Ns,flag:Ks,folder:ls,"folder-open":es,"folder-plus":as,forward:bs,"full-width":Cs,gap:ns,gem:ps,gift:hs,globe:zn,grid:rs,ground:ms,hand:cs,"hand-thumb-up":Sn,hash:wn,headquarters:xn,heart:qn,height:An,help:Tn,"help-off":Yn,hexagon:In,home:Dn,hover:Nn,"hover-lift":Pn,"hover-next-image":Zn,"hover-none":Qn,"hover-rotate":Fn,"hover-zoom":Mn,"icon-after-text":Rn,"icon-at-end":fn,"icon-before-text":jn,identification:ln,image:cn,"image-off":tn,images:sn,inbox:hn,info:qi,italic:$i,key:rn,layers:Ii,layout:Vi,"letter-spacing":yi,lightbulb:Zi,"line-between":gi,"line-dashed":Wi,"line-dotted":Yi,"line-solid":Ki,"line-spacing":Ui,"line-style":Hi,link:di,"link-slash":li,list:ki,"list-format":Ni,"list-none":ui,location:ei,lock:ri,logo:mi,logout:ci,loop:ni,map:yc,media:Bc,"media-layout-big-two":vc,"media-layout-inset":zc,"media-layout-side-by-side":_c,"media-layout-stacked":Yc,megaphone:Oc,menu:Vc,meta:Xc,microphone:Zc,money:gc,moon:Wc,more:Jc,"more-vertical":Kc,"move-down":jj,"move-up":$e,newspaper:xf,"no-symbol":Uc,note:Hc,nudge:ac,"nudge-x":dc,"nudge-y":Qc,"numbered-list":Fc,opacity:sc,"own-text":uc,package:ec,"package-open":fc,"padding-all":_t,"padding-bottom":oc,"padding-left":ic,"padding-left-right":cc,"padding-right":Vt,"padding-top":yt,"padding-x":vt,"padding-y":zt,page:Et,"paint-brush":Gr,palette:Tt,"panel-left":It,"panel-right":Dt,"paragraph-spacing":Pt,parcel:ec,paste:nh,"paste-style":Lt,pause:Gt,pen:Ct,people:Nt,percent:Kt,phone:jt,"phone-hidden":ft,placement:lt,play:Qt,"plus-minus":it,power:st,"presentation-chart-bar":ut,print:kt,product:ot,"product-field":zm,"product-size":rt,progress:tt,quote:Om,"radio-dot":Vm,radius:ym,receipt:Wm,"receipt-percent":Gm,"receipt-refund":Am,"rectangle-group":Vi,redo:Ym,refresh:Um,remove:Hm,"remove-circle":Hm,rename:ip,reply:Zm,"reply-all":Xm,revert:Qm,robot:Fm,rotate:Jm,scale:hm,"scroll-point":fm,"scroll-text":Pp,search:lm,"select-all":mm,send:nm,"separator-slash":pm,"separator-triangle":xo,server:qo,settings:$o,shadow:rm,"shape-ellipse":To,"shape-rect":Io,share:So,shared:wo,"shield-check":Lo,"shield-exclamation":Go,"sides-each":Ao,signal:Mo,"signal-slash":Yo,sitemap:Ro,"slide-arrows-bare":Rh,"slide-arrows-round":Do,"slide-arrows-square":Po,"slide-picker-bar":ao,"slide-picker-cards":bo,"slide-picker-dots":Co,"slide-picker-numbers":No,"slide-picker-squares":so,sort:ho,sparkles:_r,speaker:oo,"speaker-wave":oo,"spec-table":to,split:io,square:Vr,star:xr,state:qr,"status-circle":$r,"status-dot":Er,sticky:Tr,"stop-circle":Ir,store:Hr,strike:Xr,styles:Gr,subscript:Ar,"success-burst":Z,sun:Nr,superscript:Mr,swap:Rr,swatch:As,table:Dr,tablet:jr,tabs:lr,tag:Qr,target:nr,team:pr,telephone:hr,template:Tf,"text-color":fr,"text-lines":ye,"text-size":$,"text-small":rr,"text-value":mr,texture:cr,theme:As,ticket:Ne,title:Ks,trash:w,trigger:$f,truck:v,tv:g,type:W,tyre:Y,underline:B,undo:U,upload:H,"v-align":X,verified:Z,"video-off":Q,"view-columns":F,wallet:J,warning:K,weight:k,wheel:nr,widgets:e,width:a,window:d,windows:t,"words-from":i,wrap:s,wrench:r,"wrench-screwdriver":h,"zoom-in":m,"brand-facebook":_k,"brand-instagram":of,"brand-line":tf,"brand-linkedin":nf,"brand-pinterest":Vk,"brand-telegram":yk,"brand-tiktok":vk,"brand-wechat":zk,"brand-whatsapp":Wk,"brand-x":Yk,"brand-youtube":Bk},"user-circle":{account:xj},"user-group":{people:Jt}}};export{ta as efficientLookNames,ca as efficientLooks};
|