Giter Site home page Giter Site logo

vmware-clarity / starters Goto Github PK

View Code? Open in Web Editor NEW
19.0 10.0 7.0 637 KB

A collection of starter applications built with Clarity. Each starter project contains minimal default configuration and code to run and develop an application for a specific technology.

Home Page: https://clarity.design

License: MIT License

JavaScript 3.61% TypeScript 43.04% HTML 50.56% SCSS 0.75% CSS 0.34% Vue 1.70%
clarity web-components design design-system ui-components starter-kit starter-template react angular vue

starters's Introduction

starters

Each of the starter applications showcases a specific technology and demonstrates how to use the Clarity Core package with it.

Overview

Each project contains minimal configuration and code to run and build a starter application for a specific technology. For client side applications the boilerplate code was generating with the projects provided tooling and is using those defaults. For build technologies, the application uses minimal build settings and configurations to run and build the code.

Try it out

Prerequisites

Build & Run

  1. cd <STARTER_NAME>
  2. npm install
  3. npm run start

Documentation

Documentation for Clarity Core is available here. All other technologies maintain separate documentation.

Contributing

The starters project team welcomes contributions from the community. Before you start working with starters, please read our Developer Certificate of Origin. All contributions to this repository must be signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch. For more detailed information, refer to CONTRIBUTING.md.

License

The project license is available here.

starters's People

Contributors

coryrylan avatar hippee-lee avatar kevinbuhmann avatar steve-haar avatar valentin-mladenov avatar vmwghbot avatar williamernest avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

starters's Issues

Row DOM Performance: select all doesn't work

Steps to reproduce:

  1. go to the /angular/final-demo demo
  2. click the select-all checkbox
  3. notice that the visible rows are not selected
  4. notice that the select-all checkbox works very unexpectedly in other cases too

This bug seems to be due to the Row DOM Performance feature.

migrate core apps directory

Migrate the core apps that are left from the repo upgrade. This includes the following:

  • angular grid demo
  • react grid demo
  • clr-ui-shim demo

Since these are not minimal starters like the rest I'm thinking we have a /advanced directory for these type of demo apps

vmware-clarity/core@f3d4c87

angular datagrid row dom performance

feat(grid-demo): add angular virtual scroll demo #23
fix(grid-demo): maintain keyboard navigation in virtual rows directive (and add rendered range event) #27
fix(grid-demo): set aria-rowcount and aria-rowindex for virtual rows #44

Screen Reader Columns: approach doesn't work in screen reader browse (virtual cursor) mode

From Amy Li

Screen reader announcement is improved in focus mode but not in screen reader browse mode (aka virtual cursor), which still reads all the heading content when navigating grid cells and the core issue of having heading controls other than sorting is not fixed. ARIA datagrids only allow sorting controls in the headings anything beyond that will cause screen reader issues. Please see Santina's recommendations in this Jira ticket under Resolution Details. This is also related to the same VPAT-2938 issue mentioned above. Note that because it is out of spec it may fail other assistive technologies that aren't covered here and can cause unforeseen issues in future updates of ATs or browsers.

This approach may be fundamentally flawed

Row DOM Performance: all demos should default to pagination

From Amy Li

Allow users to switch between pagination Datagrid and lazy loading for those who need to navigate a few a time or jump to a specific row.

We are concerned with the accessibility around removing pagination. Therefore, we believe that all demos should start with pagination, but should have an option to remove pagination.

Column Ordering: unexpected/invalid heading controls

From Amy Li,

Users can only tab to sort control and arrow keys to use the drag and drop. This is not expected behavior. Related to invalid controls in header issue VPAT-2938.

The new drag and drop feature will add to this existing issue VPAT-2938 of invalid heading controls (filters and resize column). Only sort is supported in ARIA specs. Because it is not valid ARIA to add controls in table or datagrid headings we recommend providing controls outside of the datagrid for keyboard and screen reader users, this can be accordion or dialog with datagrid editing options. Mouse users can still drag and drop or chose to use the alternative controls. The above issues for people who use screen readers or keyboard-only will be avoided with this implementation.

Lazy Load Rows: range selection doesn't work until scroll event

Steps to reproduce:

  1. go to the /angular/final-demo demo
  2. select the first row
  3. hold the shift key and click and click the 3rd row
  4. notice that rows one and three are selected, but not row two (this is unexpected)
  5. unselect all rows
  6. scroll the table
  7. select the first row
  8. hold the shift key and click and click the 3rd row
  9. notice that rows 1 - 3 are now selected as expected

This bug is not present if you remove the lazy load rows feature.

Row DOM Performance: various keyboard shortcuts don't work

From Amy Li

The datagrid keyboard command Ctrl+End on windows and ctrl+fn+right arrow on mac no longer goes to the last cell of the last row. People who use keyboard-only will not be able to get past the table unless they tab the checkbox controls on every row. This is an issue as there can be thousands of rows with checkboxes to tab through.

Row DOM Performance: browsing the table with virtual cursor does not load new data

Voice Over has special virtual cursor mode, in which you can browse a table/grid with a combination of VO-special key and the arrow keys. Default Voice-over key combination is "control-option". A common alternative is the Caps Lock key.
When this mode is activated, keyboard events do not reach the JS layer anymore, and the datagrid programmatic cursor gets out of sync with the virtual cursor.
Virtual cursor does generates small scroll events and does load new data, but does not recognize that there are new rows in the grid, so it jumps to either 1st row, next column, or to the beginning of the grid.

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.