Problem statement
Avoid needing to copy the icon code from the WVUI library to places that want to use it.
Technical details
Follow-up to T271353: Add WVUI as a vendor library in core.
There is a distribution file, commonjs2/wvui-icons.commonjs2.js, that could be used if it were provided in core
This was discussed on https://gerrit.wikimedia.org/r/c/mediawiki/core/+/641052, see https://gerrit.wikimedia.org/r/c/mediawiki/core/+/641052/19/resources/src/wvui/wvui.js
SDAW-MediaSearch has a copy of the wvui-icon component (which should probably be addressed by just using the one available from core...) and has documentation saying "To use a new icon, find the icon in src/themes/icons.ts in the WVUI library, copy the icon data, and paste it info lib/icons.js in this extension." That lib file currently has 20 copied icons, and has documentation saying "This file can be removed when Media Search uses the Icon component from the WVUI library, where icons are included." but the Icon component does *not* include the actual icon codes, those are separate
WikibaseMediaInfo has a similar copy of the wvui icon, and the same 20 icons copied from wvui
WikiLambda has another copy of the icon and the same 20 icons copied from the WikibaseMediaInfo
MediaWiki-extensions-GlobalWatchlist, which has been updated to use the wvui components from resource loader rather than needing to make a copy, still has to copy the 7 icons needed
It seems that, for the first three extensions listed, SDAW-MediaSearch copied the wvui component and icons it needed from wvui directly, WikibaseMediaInfo copied them from SDAW-MediaSearch, and WikiLambda copied them from WikibaseMediaInfo. We should avoid needing to copy these all over the place
Of note, the distribution lib file currently in core, lib/wvui/wvui.commonjs2.js, already includes all of these icons, but they are just not exported and so most are defined and never used. See "CONCATENATED MODULE: ./src/themes/icons.ts"