Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Component: Meter #2249

Closed
macandcheese opened this issue Jun 2, 2021 · 16 comments
Closed

New Component: Meter #2249

macandcheese opened this issue Jun 2, 2021 · 16 comments
Assignees
Labels
4 - verified Issues that have been released and confirmed resolved. design Issues that need design consultation prior to development. new component Issues tied to a new component. p - medium Issue is non core or affecting less that 60% of people using the library

Comments

@macandcheese
Copy link
Contributor

macandcheese commented Jun 2, 2021

Description

A consistently formatted and styled meter component that leverages the native meter element.

User Stories

Consistently display data limits, quotas, disc space, etc.

Can also be useful for item completeness, profile "filled out" progression messaging, etc.

Helpful Details

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter

Adobe Spectrum's implementation: https://spectrum.adobe.com/page/meter/#Anatomy

They don't seem to leverage the native "levels" that are associated with color, but they DO have consistently placed and formatted descriptive and value text areas.

  • Ensure it works both with / without the "step" attributes (always one color OR stepped color based on those "steps")

Online "item completeness":
Screen Shot 2021-06-07 at 9 49 17 AM

Enterprise Manager :
Bitmap

@macandcheese macandcheese added new component Issues tied to a new component. 0 - new New issues that need assignment. needs triage Planning workflow - pending design/dev review. labels Jun 2, 2021
@julio8a julio8a removed the needs triage Planning workflow - pending design/dev review. label Jun 4, 2021
@julio8a julio8a added this to the Backlog milestone Jun 4, 2021
@bstifle
Copy link

bstifle commented Jun 7, 2021

gonna jump on this design this week

@paulcpederson
Copy link
Member

Here's a couple other versions of this UI from Online:

Screen Shot 2021-06-07 at 10 48 25 AM

Screen Shot 2021-06-07 at 10 48 09 AM

@bstifle
Copy link

bstifle commented Jun 7, 2021

Edited - Aug 2023 to hide outdated designs.

@bstifle
Copy link

bstifle commented Jun 9, 2021

Leaving discussion open for this until next Wednesday 6/16

@bstifle
Copy link

bstifle commented Jun 16, 2021

Alrighty! Moving this one over to developer hands for a future sprint

@bstifle bstifle added the needs triage Planning workflow - pending design/dev review. label Jun 16, 2021
@jcfranco jcfranco modified the milestones: Backlog, Sprint 7/5 – 7/16 Jun 21, 2021
@julio8a julio8a removed the needs triage Planning workflow - pending design/dev review. label Jun 21, 2021
@jcfranco jcfranco added the help wanted Issues that the core team needs help with in a sprint. label Jul 6, 2021
@driskull
Copy link
Member

driskull commented Jul 8, 2021

@jcfranco @julio8a I think new components need to go through an API design process before being implemented.

Just looking at the designs, it's not super clear on how the API for this component should be implemented.

The native HTML meter element has the following attributes: min, max, low, high, optimum, value.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter#attributes

It seems like this component:

  • Has a label that is optional but always on top. Would we be better off using a calcite-label to wrap this instead?
  • Has a value, min, max, remainder, remainderLabel?, valueLabel? , maxLabel? The labels go after the value but sometimes are shown in place of the value altogether?
  • Seems to be some way to position the meter above, below, or in-between the labels/values?
  • low, high, optimum values are optional and render red/yellow/green.
  • Seems like the color of the meter can be altered as well? Does this need a prop? or would this be a CSS var?
  • Seems like there's some way to alter the appearance to be unfilled?

I think for new components we should maybe have a meeting to go over these requirements first. Its kinda tricky to decipher how the component should behave.

I'm not sure this is an issue someone can just grab and implement.

@jcfranco
Copy link
Member

jcfranco commented Jul 8, 2021

@driskull I was thinking the API would come from the implementation phase, but we could tweak this of course.

Looking closer at the existing summary and your comment, I agree with you that this needs more detail. Along with the design mockups, we should make sure the summary lists the requirements on what this component should do. For example,

The meter should: 
  * support the following display modes [...deets].
  * not be focusable.
  * not be interactive.
  * ...

Having this would help with the API design, testing and even planning if the scope is too big. We can even work on a requirements starter template to guide this part of the process.

@julio8a WDYT? Can we beef up the requirements before tackling this one in this sprint?

@driskull
Copy link
Member

driskull commented Jul 8, 2021

Sounds good @jcfranco. More documented requirements along with the designs should be enough if they are thorough.

@bstifle
Copy link

bstifle commented Jul 9, 2021

@jcfranco i can provide more details for this

@jcfranco jcfranco modified the milestones: Sprint 7/5 – 7/16, Backlog Jul 15, 2021
@juliepowell
Copy link

This is a good candidate for Calcite - consistent design to be used across ArcGIS. Should it be ported from ArcGIS App Components?

@benelan benelan added the epic Large scale issues to be broken up into sub-issues and tracked via sprints and/or project. label Jun 29, 2022
@yelenakreyndel yelenakreyndel removed help wanted Issues that the core team needs help with in a sprint. ready for implementation labels Feb 28, 2023
@yelenakreyndel yelenakreyndel added design Issues that need design consultation prior to development. and removed 0 - new New issues that need assignment. labels Feb 28, 2023
@yelenakreyndel yelenakreyndel added this to the 2023 May Priorities milestone Feb 28, 2023
@yelenakreyndel
Copy link

A design task to create a component is assigned to @macandcheese using this issue. Design work needs to be complete for May release for us to implement this component in September. I recommend renaming this component to Progress Indicator or Progress to align with industry standard. @macandcheese, I left some comments for you in the description.
Cc'ing @jcfranco @geospatialem

@macandcheese
Copy link
Contributor Author

I recommend renaming this component to Progress Indicator or Progress to align with industry standard.

Some questions to clarify here...

We already have a progress component that replicates the native progress element. This issue is to add a new meter component to replicate the native meter element. The two native elements have different use cases and configuration options. Additionally the existing arcGIS component is arcgis-meter.

Adobe's Spectrum has a nice succinct use case distinction between their versions: https://spectrum.adobe.com/page/meter/#Progress-bar-or-meter?

@macandcheese
Copy link
Contributor Author

macandcheese commented Feb 28, 2023

Adam, please let us know what design work is needed and how would it be different from what Bryan already provided.

I'll be sending out a survey post dev-summit. The way our labels work has changed since this initial design work so will update that and reconcile any other changes in requirements that surface from survey. But I imagine it won't be drastically different in appearance.

Adam, will this work be designed in Figma or prototyped or both?

Likely both, the API for this should follow the native meter element closely. cc @jcfranco

@geospatialem geospatialem added the 1 - assigned Issues that are assigned to a sprint and a team member. label Mar 3, 2023
@geospatialem
Copy link
Member

Updating design work to the June milestone.

@geospatialem geospatialem added the p - medium Issue is non core or affecting less that 60% of people using the library label Jul 3, 2023
@brittneytewks brittneytewks removed the epic Large scale issues to be broken up into sub-issues and tracked via sprints and/or project. label Jul 6, 2023
@macandcheese macandcheese added 2 - in development Issues that are actively being worked on. and removed 1 - assigned Issues that are assigned to a sprint and a team member. labels Aug 1, 2023
macandcheese added a commit that referenced this issue Aug 22, 2023
@macandcheese macandcheese added 3 - installed Issues that have been merged to master branch and are ready for final confirmation. and removed 2 - in development Issues that are actively being worked on. labels Aug 22, 2023
@github-actions
Copy link
Contributor

Installed and assigned for verification.

@geospatialem geospatialem added figma changes Issues that require additions or updates to the Figma UI Kit where no `design` label exists 4 - verified Issues that have been released and confirmed resolved. and removed 3 - installed Issues that have been merged to master branch and are ready for final confirmation. labels Aug 27, 2023
@geospatialem
Copy link
Member

Verified on the main branch with the following properties:

  • appearance
  • fillType
  • groupSeparator
  • high
  • label
  • labelType
  • low
  • max
  • messageOverrides
  • min
  • numberingSystem
  • rangeLabels
  • scale
  • unitLabel
  • value
  • valueLabel

cc @ashetland @SkyeSeitz for Figma UI kit additions.

@SkyeSeitz SkyeSeitz removed the figma changes Issues that require additions or updates to the Figma UI Kit where no `design` label exists label Oct 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4 - verified Issues that have been released and confirmed resolved. design Issues that need design consultation prior to development. new component Issues tied to a new component. p - medium Issue is non core or affecting less that 60% of people using the library
Projects
None yet
Development

No branches or pull requests