Giter VIP home page Giter VIP logo

ebay-dialog-extras's Introduction

ebay-dialog-flexible, ebay-dialog-footer and ebay-portal

Note

v2.0.0 and above require MarkoJs v4 or above. For a version compatible with MarkoJs v3 use v1.0.0.

Intro

You usually want to have a smaller dialog on a larger screen and a full screen dialog on mobile. That would be easily done in CSS but unfortunately skin does not have that class.

ebay-dialog-flexible wraps a eBayUI dialog so it can be responsively change between desktop and mobile without overriding CSS or other practices that violates the separation of concerns (SoC) principle.

ebay-dialog-footer create a footer where the buttons dynamically adapt in mobile or desktop view.

Responsibility

See also the notes below.

ebay-dialog-flexible responsibility is to render a dialog that responsively adapts (changing its type) to full only on mobile. It wraps ebay-dialog in a non invasive way. It also take care of focusing on a element only if it is in the viewport otherwise the dialog would scroll to the bottom ( using the focus-if-visible prop).

ebay-dialog-footer responsibility is to render a footer in a dialog. When it has the has-action-buttons prop and contain elements with class ..ebay-ebay-dialog-flexible--actions (like ebay-buttons), it renders the elements aligned on the right in a "normal" ebay-dialog and stacked on a full dialog.

Run demo locally

git clone https://github.com/ccinelli/ebay-dialog-extras
cd ebay-dialog-extras
yarn
yarn start

UI Components

For more detail check:

Notes

This code is written keeping in mind the separation of concerns (SoC) and the encapsulaion principles.

A component should be responsible to manage its own internal representation of the state, how it renders (HTML and CSS).

A component should not monkey patch the state of another component or override its CSS. The shortcuts could be faster but it will come back to hunt you with bugs and make people that care about their crafts very upset ;-).

History

The components have been extracted from boltutils and adapted to the latest version of eBayUI.

Know problems

  • ebay-dialog-footer has an ugly gray thick border on DS4. This cannot be undone without monkey patching the CSS of the ebay-dialog

ebay-dialog-extras's People

Contributors

cc-ebay avatar

Watchers

 avatar  avatar

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.