Giter Club home page Giter Club logo

makeup-expander's People

Contributors

ianmcburnie avatar msendlakowski avatar seangates avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

makeup-expander's Issues

.babelrc could get picked up by bundlers

When an app uses lasso-babel-transform, it will attempt to transform any node_modules/ packages that has a .babelrc file. In this case, it sees the .babelrc in makeup-expander/ and attempts to compile it, then runs into an error requiring babel-plugin-transform-object-assign because that is currently a devDependency rather than a dependency. Since the code here is already compiled, we wouldn't want it to get transformed anyway, so the simple fix is to exclude .babelrc via .npmignore blacklist or files: [] whitelist.

I did not make a PR, because I imagine this affects many/all of the makeup repos.

We may also want to consider changing this behavior in https://github.com/lasso-js/lasso-babel-transform

cc @mlrawlings

autoCollapse conflicts with click behavior

I'm currently using this as new Expander(this.el, {click: true});, so only passing in click config. From the current defaults, I also pick up autoCollapse: true. It seems that these may conflict. Here are the repro steps:

  1. Click menu trigger (expands content)
  2. Click a menu item (item takes focus)
  3. Click menu trigger

I would expect step 3 to collapse the menu. When the focus leaves the item, it initially triggers a collapse per

if (this.options.autoCollapse === true) {
this.expandeeEl.addEventListener('focusExit', this._exitListener);
}

But then the click event also gets triggered, which expands it again.

Create a "destroy" or "clean up" method for event listeners

When this utility has created event listeners for things like document touch events, or focus events, they may not get removed when the component has been destroyed (say, by Marko). This causes issues when they are still attached to components but the makeup utility that created them no longer exists.

As a reference, @DylanPiercey created a utility to help manage listeners, and easily cancel all of them in one fell swoop: https://github.com/marko-js/utils/blob/master/packages/abort-group/README.md

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.