mediawiki-extensions-Popups/.storybook/mocks
jdlrobson a0754c8cf9 Storybook: Fix RTL
Provide containers for page previews examples

In storybook we avoid position absolute but this deviation from
how they behave in reality could lead to subtle differences that impact
the rendering of previews. It also doesn't allow to see the preview
in the context of the link which is an important part of visually
verifying the position of the pokey arrow.

This also allows us to rethink the broken RTL mode. We now scope
LTR rules to a LTR class that is present on the container, and use
the CSSJanus parsed stylesheet for RTL.

Change-Id: I189019824ddd6aa759790fd162ffcd543619a953
2021-08-06 14:40:10 +00:00
..
mediawiki.ui Publish storybook now we are using more modern node 2019-12-11 15:16:13 -08:00
custom.less Storybook: Fix RTL 2021-08-06 14:40:10 +00:00
message.js Add reference previews to storybook 2021-07-22 23:59:26 +00:00
models.js Show medium size (<320 wide, but >=250 high) images as well 2021-08-03 13:17:06 -06:00
README.md Publish storybook now we are using more modern node 2019-12-11 15:16:13 -08:00

LESS imports from Mediawiki-core

The following files:

  • mediawiki.mixins
  • mediawiki.mixins.animation
  • mediawiki.mixins.less

are LESS files containing one-line imports that correspond to files in mediawiki-core. This file structure is required to mimick ResourceLoaders LESS module-import behaviour.

ResourceLoader can resolve LESS modules with file paths like @import "mediawiki.ui/variables". Webpack however, cannot do this easily. The default LESS resolver requires files ending in ".less", and although webpack can create an alias to a module, that alias cannot include a path separator.

The webpack LESS-loader treats imports that don't begin with a relative or absolute filepath as coming from the current directory (.i.e. "./"). However it provides an option to specify a custom module resolution path. That path is set to this folder, and LESS files that can't be resolved by either relative or absolute paths are searched for here.

Since this custom resolver requires also requires a ".less" extension, files are duplicated so that "mediawiki.mixins" and "mediawiki.mixins.less" can both be resolved.