PromucFlow_constructor/app/client/packages/design-system/theming/package.json
Valera Melnikov 0c345d8404
fix: calculate fluid tokens based on provider width (#29316)
## Description

- I added `--provider-width` CSS variable to the provider, which we get
with the help of [ResizeObserver
hook](https://github.com/jaredLunde/react-hook/tree/master/packages/resize-observer),
the variable is calculated through
[debounces](https://github.com/jaredLunde/react-hook/tree/master/packages/debounce)
every 100 ms.
- Styles for typography are now calculated only through CSS
- Split useFluidTokens hook into several, now there are separate hook
for sizing, spacing and typography
- Create a separate folder for hooks in the theme package

#### PR fixes following issue(s)
Fixes #29177 

#### Media

https://github.com/appsmithorg/appsmith/assets/11555074/7778c5a0-9ed9-4f9c-a2b6-787784ed3e1f



#### Type of change
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)

## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [x] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress

## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced fluid sizing, spacing, and typography hooks for responsive
design adjustments.
- Added global font stack utility for consistent typography across
platforms.
  - Enhanced theming capabilities with new hooks and utilities.

- **Improvements**
- Updated `ThemeProvider` to support new styling hooks and responsive
design features.
- Refined typography utilities for dynamic class name generation based
on design tokens.

- **Documentation**
- Added comments to clarify the use of `className` and `style`
properties in `ThemeProviderProps`.

- **Refactor**
  - Streamlined token access with updated `TokensAccessor` class.
- Consolidated typography and font metric types for better type safety
and clarity.

- **Bug Fixes**
- Fixed modal handling in `ComplexForm` component with improved state
management and accessibility.

- **Breaking Changes**
- Removed exports of deprecated typography module and fluid token
module.
- Changed public interface for theming hooks, which may affect existing
consumers.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-12-06 10:38:36 +03:00

25 lines
720 B
JSON

{
"name": "@design-system/theming",
"version": "1.0.0",
"main": "src/index.ts",
"author": "Valera Melnikov <valera@appsmith.com>, Pawan Kumar <pawan@appsmith.com>",
"license": "MIT",
"scripts": {
"lint": "yarn g:lint",
"prettier": "yarn g:prettier",
"build:tokens": "npx ts-node ./src/utils/tokensToJson.ts && npx ts-node ./src/utils/tokensToCss.ts",
"test:unit": "yarn g:jest"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
},
"dependencies": {
"@capsizecss/core": "^3.1.1",
"@capsizecss/metrics": "^1.2.0",
"@emotion/sheet": "^1.2.2",
"@react-hook/debounce": "^4.0.0",
"@react-hook/resize-observer": "^1.2.6",
"lodash": "*"
}
}