In Codex v0.7.0, the CdxButton's `type` prop changed. The `type`
prop was renamed `weight` and will continue to accept the same
values ('normal', 'quiet', and 'primary'). A new `type` prop was
added that accepts the old types, plus native button types
('button', 'reset', and 'submit'). In a future release of Codex,
the `type` prop will be removed altogether and the native type
can be bound to the CdxButton via the `type` attribute.
So, while the old values for `type` still work, we want to
update the prop name in anticipation of the `type` prop's
removal. For any new code moving forward, the `weight` prop
should be used.
This patch:
- Updates the Button stories to change the `type` prop to `weight`
- Updates Codex dev dependencies to v0.7.0
- Updates Storybook webpack config so it can process *.mjs files
(Codex ES dist files now have this extension, see
Ic29c891c8d7ac705d016aa6f91c5f63684d7d7c8)
Bug: T312987
Change-Id: If98dad4769ed72900dbae579823a356669d6cf64
Extra:
- Reactivated active list element, This still does not work if the current active gets edited.
- Removed pinning event reattach as we do not replace teh full element anymore.
Known Issues:
- Collapse/Expand not working
Bug: T326839
Change-Id: I2ce251f5312659b827ac2941d789248473bb0ef5
The 'real' versions in production are already 0.4.2, as they're supplied
by MediaWiki, so we should use the same versions in test as well.
Change-Id: I06775acd7ab22d103829b9b734736bf3ec137a82
Changes:
* Code is moved from SkinVector to SkinVectorLegacy verbatim since it is now only
needed by SkinVectorLegacy
so we remove it:
** This step broke MainMenu rendering so this was captured in VectorComponentMainMenu
** The isLegacy code no longer makes sense and is removed in a follow up
* storybook no longer run on CI
Authors: Bernard Wang and Jon Robson
Bug: T321102
Bug: T319349
Change-Id: Ib424ca1c767161fdae8c0aeedfe662b7fa039ff6
This ensures that the wprov parameter is included when users follow the
link as a link (click, middle-click, etc.), and also prepares us for a
future where pressing Enter after selecting a search result navigates to
that result’s URL instead of submitting the form. It also matches the
behavior of the legacy search form.
We put this in App.vue + instrumentation.js, not in urlGenerator.js,
because we also want wprov to be added when custom URL generators or
search clients are used. (The reason for instrumentation.js instead of
purely App.vue is just that it’s easier to test there.)
In the tests, we need to update @wikimedia/mw-node-qunit so that we have
a sufficiently functional mw.Uri() mock.
Bug: T317682
Change-Id: I765d3bbf89b2253add7b50305c362e4bbc9ecceb
Upgrade Codex to the latest version and add the new icon
only buttons to our side by side table
This is needed to help bring these inline.
Bug: T314323
Change-Id: I7f59968cf5be6242e8002b11ca030c9bd4dd882d
Adds tests for the addPortletLinkHandler, which should
add an icon element to items added via 'mw.util.addPortletLink'
and conditionally move elements from the toolbar into
the more menu at narrow widths.
- Adds tests for dropdownMenu.js
- Adds associated Jest snapshots
- Stubs the mediawiki.page.ready module
- Updates mockMediawiki.js to 4.6.0
- Adds global mock for mw.util.showPortlet()
- Cleans up tests using local versions of these mocks
Bug: T314798
Change-Id: I81394d840321916756a41a23c40d96c4b6341931
[Visual changes]
This should result in 9 visual regression failures relating to
increased height of search results and loading bar
[More details about change]
- Migrate search app from Vue 2 to Vue 3; update tests
accordingly
- Remove dependence on WVUI and use Codex instead, via the special
`@wikimedia/codex-search` package
- Update search app to use CdxTypeaheadSearch, which no longer
takes in props related to the search client or fetch start/end
instrumentation. Instead, directly use the restSearchClient
and call fetch start/end events in the search app.
- Handle hideDirection in the search app/API response formatting
code, not within the TypeaheadSearch component
- Handle showing/hiding the search button in the app
- Move the WVUI URL generator into Vector
- Update server-rendered search box styles to match design updates
included with CdxTypeaheadSearch
- Replace references to WVUI with references to Codex
- Update values of various LESS variables to match Codex, and update
searchBox styling to prevent jankiness when the searchBox is replaced
with the Codex TypeaheadSearch component
The VectorWvuiSearchOptions config variable has been maintained and
will be updated to a code-agnostic name in a future patch.
Bug: T300573
Bug: T302137
Bug: T303558
Bug: T309722
Bug: T310525
Co-Authored-By: Anne Tomasevich <atomasevich@wikimedia.org>
Change-Id: I59fa3a006d988b14ebd8020cbd58e8d7bedbfe01
This makes built assets available in jenkins,
Also addresses miscellaneous feedback relating to configuration
variable name and track topic name.
Change-Id: Ic70d517eba96aab6512a96ea19d6be56b3664871
- Remove some @ts-ignore statements.
- Update invocation of mw.util.debounce to have correct order of
parameters.
Bug: T303297
Change-Id: I4bb795fbd4d026c21c66e9a3d161afff4d7ef09f
Updating 'svgo' to v2.8.0 and newest Wikimedia SVG guidelines –
mainly around new whitespace features of SVGO.
Change-Id: Ie48f5e78b3f9b6e7f01b65618c1d6089fa4a2f54
Vector's tsc version is currently reporting errors that the latest
typescript version doesn't report and vice versa. Upgrade to the latest
version to avoid these discrepancies.
Additionally:
Fix tsc errors that are now reported by updated version
Bug: T297614
Change-Id: I0eb67bcc1a5ce214fcf2d6f6433a5de3a845b6a6
The main motivation is to reduce runtime by not invoking an unneeded
Selenium test phase in Quibble, which currently needs about 1 minute to
install npm dependencies.
Depends-On: Ieb7591f3c0ac843677a2a61b4ad47f920fc2ca2d
Bug: T255149
Change-Id: I0563421b3a3d3e6e81abec987c266ade275b47a1
* Moves screen variables relating to Header to Header
* Adds a Header storybook entry
* Moves data-logo from Logo template to Header.mustache
* Updates UserLinks to use USER_LINK_PARTIALS
* Renames confusing SearchBox story names
* Updates package.json to use a static folder.
* Use mediawiki.org for sourcing mw-ui-button and mw-ui-icon styles
since deploys there come earlier
* Removes usages of ID selectors
Change-Id: I0e158fa7e62c56a50cfff497d75f0808effd1eed
* add stories for buttons and icons using wvui and mwui
* Update user link stories
* Add the vector-menu-dropdown-noicon class to more and
variants menu
* Fixes the language button story and simplifies its code.
* Updates Hooks::makeButtonIcon to Hooks::makeIcon which
reflects the method purpose more. It doesn't output button
classes.
Bug: T289514
Change-Id: Ifd750da0c0181ec56f39ff00d653e88bfc848038
Also change script name to 'minfiy-svg' to align with other npm 'svgo'
using products and to improve readability for non-native speakers.
Bug: T278656
Change-Id: Ib2a8a251a48ea99c8019d63b4f2586fea4079021
The following rules are failing and were disabled:
* compat/compat
Additional changes:
* eslint: Renamed `wikimedia/client` profile to `client-es5` (T277085).
Change-Id: I12c1a88cef8e2c95bed496628d2fe74d031f8278
This interferes with LibUp's ability to automatically downgrade newly
failing errors to warnings and is a deviation from the settings we
typically use.
Bug: T263922
Change-Id: Ia44038a1df1052f633ce18ac6f35253e870ab0c6
Creates a new skins.vector.search module that
replaces the searchSuggest module from MediaWiki core.
This module creates a new Vue app using the WVUI
search widget for the new search experience.
The legacy search input form is still retains on pageload,
and the new search kicks on search input focus.
In order to manage that transition, the legacy search
input is styled to resemble the new WVUI input, and the
new input is manually focused after the component mounts.
Vue is also added as a dev-dependency to help with
type-checking.
Other changes:
* the entry in skin.json is reordered alphabetically after
skins.vector.js
Bug: T264355
Change-Id: Ibb9561a77a14734297cb4d0ddcd415fc0750b45d
Additional changes:
* Removed globals `require`, `module`, included via `wikimedia/mediawiki` profile (T262222).
* Dropped the emtpy global definition in .eslintrc.json.
Change-Id: I18ea7925d42ae65c6afd49982186d9375ab9e6e3
Run dev-scripts/setup-storybook.sh using the `bash` executable,
not default shell.
('pre-commit' still doesn't work because of the funky env variable,
but I don't care)
Change-Id: Ibb0bfa0b6687248377ac72629c5642773d5d357f
Fixes the missing images in the Logo story.
The current method of downloading the images into
docs/ui/assets and treating them as static assets
(with the start-storybook -s option) could be problematic
if that directory is deleted or "cleaned" before the
storybook build.
Instead, the images are now downloaded into
./storybook/resolve-imports and imported explicitly in the
code in Logo.stories.data.js.
* ./storybook/resolve-less-imports renamed to resolve-imports
* .gitignore is updated to reflect that
* Webpack config is updated with the `resolve-imports` path
* static option (-s) is removed from npm start script
* Images are explicitly imported in Logo.stories.data.js
* Type definitions are added for .svg and .png files
Change-Id: I242d229242c86a5784d6d4611d0b9c7049712dac
Add a new NPM script, `pre-commit`, which _conditionally_ invokes
`npm test`. Previously, the pre-commit hook was configured by default to
invoke `npm test`. Now it is configured explicitly to invoke the new
`pre-commit` script.
The rationale for this change is that some folks may prefer workflows
that defer all validation until CI. Supporting these workflows is a
small change, most of it documentation.
This change isn't necessary for T257647 but supports and seems like an
overall improvement to the repo regardless of whether code is built or
not.
Bug: T257647
Change-Id: I19a78e0e677026cd6887245d96e63a414397a3db
The NPM `build` script was being used to call `test`. The confusion was
likely due `build` calling the TypeScript compiler which in this case
isn't building anything. It's only used for tests. Since a proper
`build` script will be added in T257647. Move the tests in `build` to
`test` and drop `build`.
Bug: T257647
Change-Id: I7f2c983915f6b1eaa0aa88eb8dd4b32d9c954b78