Giter Site home page Giter Site logo

proton's People

Contributors

kaidesu avatar thekanbo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

proton's Issues

Document styles

The BEM classes for each component should be clearly documented for reference when creating a custom look/feel.

Styles are not applying

Hi ,
I have added the proton ui into the inertia app.
However, styles are not applying.

BTW, proton-ui looks good.

Best Regards,
Sathish

Renderless Components

In order to make Proton Framework Agnostic, we need to extract markup and styles to examples only and ensure the components themselves are utilizing slots. Doing so will decouple the markup and styles from the component functionality and logic.

We will build the components to be renderless and provide TailwindCSS specific examples of those components in our documentation.

Inspiration for Renderless Components in Proton initially came from Adam Wathan.

Add starter stylesheet

Currently we don't have a stylesheet bundled with the library - making it difficult to jump in and start with out of the box.

Datatable: Support for array with values

Code:

<slot
  :name="column"
  :record="record"
  v-if="record[column] && !Array.isArray(record[column])"
>
    {{ record[column] }}
</slot>

<span
  v-else
  v-for="element in record[column]"
  :key="element"
  class="inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2"
>
    {{ element }}
</span>

Example:
Screen Shot 2019-07-04 at 17 18 18

<p-select> needs search functionality

Sometimes the component's options can be cumbersome to scroll through. It would be helpful to include the ability to start typing and relevant options are filtered down.

Button component navigation with no target

When a p-button component is used in a project that also uses Vue router, clicking the button will cause the router to try to navigate, even if no to parameter is specified.

If the button is clicked without the to or href parameters specified, it should only emit the click event.

Nuxt + Proton

Hey,

Does this work with Nuxt with TypeScript?

I create the plugins/proton.ts with:

import Vue from 'vue'
import Proton from '@efelle/proton'

Vue.use(Proton)

and in nuxt.config.ts: plugins: ['~/plugins/proton']

Error:
Screen Shot 2019-07-02 at 15 37 27

a11y: Use of tabindex on labels

Issue

The use of tabindex="0" on label elements for checkbox and radio input fields is not necessary and adds to the cognitive load of the page by requiring keyboard-only users to move twice for each field.

Actual Behavior

Keyboard-only users should only have to interact with the input field directly.

Steps to Reproduce the Problem

  1. Start focus before a set of checkbox or radio elements
  2. Begin tabbing through each element
  3. Notice how focus lands on both label field and input field

Recommendations

Remove tabindex attribute from label field.

Select inputs don't feature "autocomplete" to jump to available options

As expected, <select> elements can be navigated using the tab key. They can be tabbed into, and the dropdown can be expanded using the space bar and the arrow keys.

On normal <select> HTML elements, tabbing to the element and then typing part of the option label will select the first option where that matches. For example, tabbing to a "State" element and typing "wa" would automatically select the 'Washington' option.

Examples disabled in documentation

Since adding the sortable component (which brings in Shopify's Draggable library), Proton is no longer compatible out-of-the-box with Vuepress.

For the sake of having documentation, working examples of the component will be disabled until I can find a work-around.

Components are not registering when using Vue.use

Given

import Vue from 'vue'
import Proton from '@efelle/proton'

Vue.use(Proton)

where a vue component template has a proton element
say <p-button>hello</p-button>, a console error appears where
the component is not registered.

Codesandbox link included.
https://codesandbox.io/s/4j45mpxp50


  • Docs may need either a codesandbox to highlight components for users or,
  • perhaps updating docs to reflect update workflow.

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.