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

feat(Forms): implement TypeScript version of json-pointer #4000

Merged
merged 2 commits into from
Sep 30, 2024

Conversation

tujoworker
Copy link
Member

@tujoworker tujoworker commented Sep 25, 2024

I believe this is the right step for now because the dependency we’re using is written in CJS and doesn't treeshake unused parts. Since we rely on this pointer in the default Eufemia Context, reducing its footprint is my main motivation.

By using the native foreach method and the export approach in this PR, we can ship smaller bundle (maybe 20%). In the future, we may consider submitting a PR to the original dependency to address this issue directly.

PR no. 4000

Copy link

vercel bot commented Sep 25, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
eufemia ✅ Ready (Inspect) Visit Preview 💬 Add feedback Sep 29, 2024 7:50pm

Copy link

codesandbox-ci bot commented Sep 25, 2024

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Copy link
Contributor

@langz langz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, big job 👏
4000 🚀

Should we consider using https://www.npmjs.com/package/@types/json-pointer as well or wouldn't that make sense?

@tujoworker
Copy link
Member Author

Ohh, I was not aware of this! Nice findings 👍 We need to take a look at this 💯

@tujoworker tujoworker merged commit f3caa4b into main Sep 30, 2024
10 checks passed
@tujoworker tujoworker deleted the feat/json-pointer branch September 30, 2024 06:43
langz pushed a commit that referenced this pull request Sep 30, 2024
I believe this is the right step for now because the dependency we’re
using is written in CJS and doesn't treeshake unused parts. Since we
rely on this pointer in the default Eufemia Context, reducing its
footprint is my main motivation.

By using the native `foreach` method and the export approach in this PR,
we can ship smaller bundle (maybe 20%). In the future, we may consider
submitting a PR to the original dependency to address this issue
directly.

PR no. 4000
tujoworker pushed a commit that referenced this pull request Sep 30, 2024
## [10.51.0](v10.50.0...v10.51.0) (2024-09-30)

### 🐛 Bug Fixes

* **Field.Toggle:** removes invisible label when label not provided ([#3984](#3984)) ([c945d5b](c945d5b))
* **Forms:** `Form.useData` should not throw error when used in Wizard ([#4001](#4001)) ([aac721b](aac721b))
* **Forms:** ensure `itemNr` still works in the Iterate.ViewContainer ([#4002](#4002)) ([6f8bfb3](6f8bfb3))
* **Forms:** keep field state during a Wizard step change when used inside Iterate.Array (which used defualtValue as the data source) ([#4025](#4025)) ([595cfd5](595cfd5))
* **Forms:** removes cards max-width in Wizard (StepIndicator) ([#4011](#4011)) ([2bc8812](2bc8812))
* **Tabs:** fix align property with value center ([#3991](#3991)) ([8483df8](8483df8))

### ✨ Features

* **ChildrenWithAge:** display hasChildren value in summary ([#3993](#3993)) ([9ab9de5](9ab9de5))
* **Field.Date:** add date range functionality ([#4006](#4006)) ([12081c3](12081c3))
* **Forms:** add `Form.SubmitConfirmation` to confirm a submit during or before sent ([#4019](#4019)) ([dfce4e4](dfce4e4))
* **Forms:** add `inheritVisibility` to Value.SummaryList ([#4003](#4003)) ([9849516](9849516))
* **Forms:** add inheritLabel to Value.SummaryList ([#4009](#4009)) ([1715a6a](1715a6a))
* **Forms:** add Value.Provider to propagate value props down to Value.* components (e.g. `inheritVisibility`) ([#4005](#4005)) ([c3f10e3](c3f10e3)), closes [#4003](#4003)
* **Forms:** deprecate `Form.FieldProps` in favor of `Field.Provider` ([#4020](#4020)) ([d549870](d549870))
* **Forms:** deprecate Form.useError in favor of `Form.useValidation` featuring `setFieldStatus` to handle the status (error) of a single field ([#3986](#3986)) ([dd39eef](dd39eef))
* **Forms:** implement TypeScript version of `json-pointer` ([#4000](#4000)) ([f3caa4b](f3caa4b))
* **NumberFormat:** add `half-even` rounding and deprecated `omit_rounding` in favor of `rounding="omit"` ([#3988](#3988)) ([0c121f1](0c121f1))
* **SASS mixins:** media queries mixins now uses 0.1px instead of 1px to avoid overlap ([#3985](#3985)) ([1cb495a](1cb495a)), closes [media#sect2](https://github.com/dnbexperience/media/issues/sect2)
* **Switch:** refactor to typescript ([#3727](#3727)) ([4833c42](4833c42))

### 📝 Documentation

* adds import statement to info doc for layout ([#4018](#4018)) ([0508c4b](0508c4b))
* **Forms:** improves docs for Value.Number & Value.Currency ([#4008](#4008)) ([cc1c365](cc1c365))
* **Portal:** add accordion to side menu ([#3794](#3794)) ([e2604f6](e2604f6))
* prop -> property, and props -> properties ([#3990](#3990)) ([a122fa2](a122fa2))
* **Value.Currency:** improve documented properties ([#4022](#4022)) ([d392901](d392901)), closes [/github.com//pull/4008#discussion_r1776864819](https://github.com/dnbexperience//github.com/dnbexperience/eufemia/pull/4008/issues/discussion_r1776864819)
@tujoworker
Copy link
Member Author

🎉 This PR is included in version 10.51.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

2 participants