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

Design token phase II - Integration across components #7180

Open
1 of 7 tasks
geospatialem opened this issue Jun 15, 2023 · 4 comments
Open
1 of 7 tasks

Design token phase II - Integration across components #7180

geospatialem opened this issue Jun 15, 2023 · 4 comments
Assignees
Labels
2 - in development Issues that are actively being worked on. Calcite (design) Issues logged by Calcite designers. design-tokens Issues requiring design tokens. enhancement Issues tied to a new feature or request. epic Large scale issues to be broken up into sub-issues and tracked via sprints and/or project. estimate - 13 Requires planning and input from team, consider smaller steps. impact - p2 - want for an upcoming milestone User set priority impact status of p2 - want for an upcoming milestone p - high Issue should be addressed in the current milestone, impacts component or core functionality

Comments

@geospatialem
Copy link
Member

geospatialem commented Jun 15, 2023

Description

Addresses the final, or second phase, of our design token integration from #6558.

Majority of the effort will be performed in June and July, targeted for early August for additional documentation and pages for the September main release.

cc @alisonailea @jcfranco

Acceptance Criteria

  1. All relevant components have been refactored to use CSS variables which match component design tokens.
    • Token Jam Session 01/12/2024
    • Design Tokens Standup
    • Tracking in Monday
  2. All relevant components have E2E tests to automate testing of token application. (remaining estimate 1-week)
  3. All relevant components have one Chromatic test or demo page to visually confirm token application. (remaining estimate 1 day)
  4. All relevant components pass final QA (remaining estimate 5 days)
    • Design confirmation design-tokens are in alignment between Figma and Web platforms.
    • Engineering confirmation that tokens work does not cause breaking changes in Calcite-Components (remaining estimate > 1 day)
    • Docs confirmation (remaining estimate > 1 day)
      • Each token as a CSS Custom Property/CSS Variable is listed in the relevant Calcite Component .scss file as a JSDocs @prop "token name": "description"
      • Each token listed in the component's JSDoc section is used in the component code.
      • Each token listed in the component's JSDoc section is listed in the e2e tests under "themed"
        • If a CSS Variable is deprecated, it should be noted in the JSDoc as @prop "token name": [Deprecated] Use "new token name" instead. "description"
      • Confirm any CSS Variables listed as deprecated are tested in E2E tests under a describe("deprecated", () => {}) section

Relevant Info

  • For specific component issues, we can use the design-tokens label.
  • Tracking of individual component token work was moved to Monday.

Components

Example Use Case

/**
 * CSS Custom Properties
 *
 * These properties can be overridden using the component's tag as selector.
 *
 * @prop --calcite-my-component-background-color: Specifies the background color of the component.
 * @prop --calcite-el-color-background: [Deprecated] Use `--calcite-my-component-background-color` instead. Specifies the background color of the component.
 * @prop --calcite-my-component-icon-color: Specifies the color of the icon sub-component.
 */

div {
  background-color: var(--calcite-my-component-background-color, var(--calcite-el-color-background, var(--calcite-color-brand)));
}

// calcite-icon
.icon {
    --calcite-icon-color: var(--calcite-my-component-icon-color, var(--calcite-color-brand));
}
describe("theme", () => {
    describe("default", () => {
      themed(`calcite-my-component`, {
        "--calcite-my-component-background-color": {
          shadowSelector: `div`,
          targetProp: "backgroundColor",
        },
        "--calcite-my-component-icon-color": {
          shadowSelector: `.${CSS.icon}`,
          targetProp: "--calcite-icon-color",
        },
      });
    });

    describe("deprecated", () => {
      themed(`calcite-my-component`, {
        "--calcite-el-color-background": {
          shadowSelector: `div`,
          targetProp: "backgroundColor",
        },
      });
    });
});

Priority impact

impact - p2 - want for an upcoming milestone

Esri team

Calcite (design)

@geospatialem geospatialem added enhancement Issues tied to a new feature or request. p - high Issue should be addressed in the current milestone, impacts component or core functionality 0 - new New issues that need assignment. estimate - 13 Requires planning and input from team, consider smaller steps. labels Jun 15, 2023
@geospatialem geospatialem added this to the 2023 August Priorities milestone Jun 15, 2023
@geospatialem geospatialem added the epic Large scale issues to be broken up into sub-issues and tracked via sprints and/or project. label Jun 15, 2023
@github-actions github-actions bot added Calcite (design) Issues logged by Calcite designers. p3 - want for upcoming milestone labels Jun 15, 2023
@geospatialem geospatialem added 1 - assigned Issues that are assigned to a sprint and a team member. and removed 0 - new New issues that need assignment. labels Jun 15, 2023
@geospatialem geospatialem added the design-tokens Issues requiring design tokens. label Jun 29, 2023
@geospatialem
Copy link
Member Author

A list of components we could use for exploring tokens to start estimations and next steps:

  • avatar
  • modal
  • shell-panel
  • tooltip

jcfranco added a commit that referenced this issue Aug 18, 2023
**Related Issue:** #7180

## Summary

This updates how `onToggleOpenCloseComponent` determines the duration
for the `openTransitionProp` to be more robust to work consistently
across browsers.

The previous approach relied on the computed `transition` property
having all associated transition values laid out per prop, which didn't
work in Safari since it won't include all values if shared.

This change should be covered by existing tests.

cc @Elijbet
@geospatialem
Copy link
Member Author

A related issue surfaced with the Maps SDK for JS team regarding a global font family variable, #7175. Should we consider the effort as part of the design token epic above? cc @alisonailea

jcfranco added a commit that referenced this issue Jun 18, 2024
**Related Issue:** #7180

## Summary

✨🧪✨
jcfranco added a commit that referenced this issue Jun 18, 2024
**Related Issue:** #7180

## Summary

✨🧪✨
jcfranco added a commit that referenced this issue Jun 18, 2024
**Related Issue:** #7180

## Summary

✨🧪✨
jcfranco added a commit that referenced this issue Jun 18, 2024
**Related Issue:** #7180

## Summary

✨🧪✨
jcfranco added a commit that referenced this issue Jun 18, 2024
…E2E tests (#9592)

**Related Issue:** #7180

## Summary

✨🧪✨
jcfranco added a commit that referenced this issue Jun 18, 2024
jcfranco added a commit that referenced this issue Jun 18, 2024
jcfranco added a commit that referenced this issue Jun 18, 2024
**Related Issue:** #7180

## Summary

✨🧪✨
jcfranco added a commit that referenced this issue Jun 18, 2024
**Related Issue:** #7180

## Summary

✨🧪✨
jcfranco added a commit that referenced this issue Jun 18, 2024
**Related Issue:** #7180

## Summary

✨🧪✨
jcfranco added a commit that referenced this issue Jun 18, 2024
**Related Issue:** #7180

## Summary

✨🧪✨
jcfranco added a commit that referenced this issue Jun 18, 2024
**Related Issue:** #7180

## Summary

✨🧪✨
jcfranco added a commit that referenced this issue Jun 18, 2024
jcfranco added a commit that referenced this issue Jun 18, 2024
**Related Issue:** #7180

## Summary

✨🧪✨
jcfranco added a commit that referenced this issue Jun 18, 2024
…en E2E tests (#9599)

**Related Issue:** #7180

## Summary

✨🧪✨
Elijbet added a commit that referenced this issue Jun 19, 2024
**Related Issue:**#7180

## Summary
Add token theming tests for `shell`.
Elijbet added a commit that referenced this issue Jun 19, 2024
**Related Issue:** #7180

## Summary
Add token theming tests for `shell-center-row`.
alisonailea added a commit that referenced this issue Jun 19, 2024
**Related Issue:** #7180 

## Summary

Made sure components were UTD with /dev to reduce merge conflict churn
Updates component tokens
Update e2e themed tests
eriklharper added a commit that referenced this issue Jun 21, 2024
**Related Issue:** #7180 

## Summary

Adds token theme tests for `calcite-inline-editable`.
eriklharper added a commit that referenced this issue Jun 28, 2024
**Related Issue:** #7180

## Summary

Adds token tests for theming to `calcite-rating`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2 - in development Issues that are actively being worked on. Calcite (design) Issues logged by Calcite designers. design-tokens Issues requiring design tokens. enhancement Issues tied to a new feature or request. epic Large scale issues to be broken up into sub-issues and tracked via sprints and/or project. estimate - 13 Requires planning and input from team, consider smaller steps. impact - p2 - want for an upcoming milestone User set priority impact status of p2 - want for an upcoming milestone p - high Issue should be addressed in the current milestone, impacts component or core functionality
Projects
None yet
Development

No branches or pull requests

4 participants