v24.2.0
- NPM package: https://www.npmjs.com/package/@eccenca/gui-elements/v/24.2.0
- Storybook: https://62150dbccb2d77003a2a5093-bgjgsuvrsq.chromatic.com/
Added
<ContextOverlay />usePlaceholderproperty: can be used to display the target but include the component later when the first interaction happens, this can improve performance
<ContextMenu />preventPlaceholderproperty to prevent the default usage of placeholders waiting for the first user interaction before inserting the full context menu
<Tooltip />usePlaceholderproperty: can be used to display the target but include the full component later when the first interaction happens, this can improve performance. It is turned on for text tooltips by default.
<OverviewItemActions />delayDisplayChildrenproperty: set a time (in ms) to delay the actual rendering of elements inside the actions container. When enabled the containingOverviewItemcan be displayed faster. Can be used e.g. to boost performance when renderingOverviewItemActionswithhiddenInteractionsset totrue.delaySkeletonproperty to set the placeholder/skeleton as long as the delayed display is waiting to get processed
<Button />,<FieldItem />,<FieldSet />,<Notification />,<Spinner />intentproperty: align intent state usage with other components
Deprecated
<Markdown />reHypePluginsproperty now usePluggableListfrom the unified package. This may require changes if you previously used plugins not conforming to the stricter unified typings. Backward compatibility with the old plugin list type will be removed in the next major version.
<FieldSet />,<FieldItem />,<MultiSelect />,<Button />hasStatePrimary,hasStateSuccess,hasStateWarningandhasStateDangerproperties will be removed, useintentproperty instead
<Notification />neutral,success,warninganddangerproperties will be removed, useintentproperty instead
<MultiSelect />data-test-idfor clearance button won't be set automatically, only if a test id forMultiSelectis given
Fixed
<CodeAutocompleteField />and<AutoSuggestion />:- Error highlighting is always visible by underlining the respective text
Changed
- some more interfaces are exposed:
IntentBlueprint: BlueprintJS intent types, also available byDefinitionsBlueprintTableDataContainerProps,TableSimpleContainerProps,TableHeadProps,TableBodyProps,TableExpandedRowProps,TableHeaderPropsandDataTableRenderPropsas interfaces for diverse table components
<CodeAutocompleteField />- memorize
handleChangehandler to prevent unwanted re-renders
- memorize
Usage with old application bundlers
Old bundlers like webpack4 do not support the exports field from package.json, so it cannot resolve the correct files that need to be imported from the packages if they do not come with alternate configs like modules or main. Our latest markdown update introduced a few of those packages. So you need to extend your aliases (in webpack4 it is managed in config.resolve.alias) like:
{
"devlop": "devlop/lib/default.js",
"unist-util-visit-parents/do-not-use-color": "unist-util-visit-parents/lib/color.js",
"vfile/do-not-use-conditional-minpath": "vfile/lib/minpath.browser.js",
"vfile/do-not-use-conditional-minproc": "vfile/lib/minproc.browser.js",
"vfile/do-not-use-conditional-minurl": "vfile/lib/minurl.browser.js",
}
If you use Jest then you can use the same aliases for the moduleNameMapper config, if necessary.