github-actions
released this
17 Dec 12:28
·
13 commits
to develop
since this release
NPM package: https://www.npmjs.com/package/@eccenca/gui-elements/v/24.0.0
Storybook: https://62150dbccb2d77003a2a5093-auumvvztlk.chromatic.com/
This is a major release, and it might be not compatible with your current usage of our library. Please read about the necessary changes in the section about how to migrate.
Migration from v23 to v24
- upgrade Typescript to v5
- upgrade Node to at least v18, see Changed section for more info about it
- remove deprecated components, properties and imports from your project, if the info cannot be found here then it was already mentioned in Deprecated sections of the past changelogs
<GridColumn/>
full
: was deprecated and now removed because it always uses full width if it is the only column and does not have any othe size config
<Notification/>
fullWidth
: was deprecated and now removed, useflexWidth
as replacementiconName
: was deprecated and now removed, useicon
property
<Table/>
size
: use only "small", "medium" or "large" as value
<Tag/>
emphasized
: was deprecated and now removed, useminimal=false
plusemphasis="stronger"
instead
IconSized
type: useCarbonIconType
TimeUnits
type: useElapsedDateTimeDisplayUnits
MarkdownParserProps
interface: useMarkdownProps
elapsedTimeSegmented
function: useelapsedDateTimeDisplayUtils.elapsedTimeSegmented
simplifiedElapsedTime
function: useelapsedDateTimeDisplayUtils.simplifiedElapsedTime
Added
<StringPreviewContentBlobToggler />
:noTogglerContentSuffix
: Allows to add non-string elements at the end of the content if the full description is shown, i.e. no toggler is necessary. This allows to add non-string elements to both the full-view content and the pure string content.
<MultiSuggestField />
- An optional custom search function property has been added, it defines how to filter elements.
- Added a prop
limitHeightOpened
to limit the height of the dropdown by automatically calculating the available height in vh.
<FlexibleLayoutContainer />
and<FlexibleLayoutItem />
- helper components to create flex layouts for positioning sub elements
- stop misusing
Toolbar*
components to do that (anti pattern)
<PropertyValueList />
and<PropertyValuePair />
singleColumn
property to display label and value below each other
<Label />
emphasis
property to control visual appearance of the label text
- basic Storybook example for
<Application* />
components <CodeEditor />
setEditorView
option for compatibility to Codemirror v6supportCodeFolding
optional property to fold code for the supported modes e.g:xml
,json
, etc.shouldHighlightActiveLine
optional property to highlight active line where the cursor is currently in.shouldHaveMinimalSetup
optional property that imports codemirror's base minimal configurations.additionalExtensions
optional property for additional extensions to customize the editor further.
<Markdown />
htmlContentBlockProps
can now be used to configure the wrapper around the Markdown content
$eccgui-selector-text-spot-highlight
SCSS config variable to specify selector that is used to create shortly highlighted spots- it is highlighted when the selector is also active local anchor target or if it has the
.eccgui-typography--spothighlight
class attached to it
- it is highlighted when the selector is also active local anchor target or if it has the
Fixed
- toggling on/off the
<HandleTools/>
was corrected, they kept displayed after re-entering with the cursor <Pagination/>
- change text overflow for selectors to
clip
because Firefox renderedellipsis
a bit too early
- change text overflow for selectors to
<ApplicationContainer />
:useDropzoneMonitor
helper hook process was improved so that less events are processed and the dropzone monitoring is more stable
Changed
- GUI elements library needs node 18 or an higher version because dependencies were upgraded
- you may run into problems if you try it with Node v16 or v17, or Webpack v4, mainly because of a Node bugfix regarding the OpenSSL provider
- if you cannot upgrade your dependencies then you could workaround that by patching the
crypto
package or using Node with--openssl-legacy-provider
option - see webpack/webpack#14532 and https://stackoverflow.com/questions/69692842/ for more info and possible solutions
- upgrade to
@carbon/react
package- almost all Carbon related packages were replaced by using only
@carbon/react
- some component interfaces partly lack documentation in our Storybook because their base interfaces from
@carbon/react
are currently not exported:AccordionItemProps
,ApplicationHeaderProps
,ApplicationToolbarProps
,ApplicationToolbarActionProps
,ApplicationToolbarPanelProps
,CarbonIconType
,TableCellProps
,TableExpandRowProps
,TableProps
- almost all Carbon related packages were replaced by using only
- upgrade to Typescript v5
- your package should be compatible to Typescript 5 patterns
- upgrade to Storybook v8
- include a few patches for actions, see https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#implicit-actions-can-not-be-used-during-rendering-for-example-in-the-play-function
- allow
next
andlegacy
as branch names <CodeEditor />
setInstance
interface changed tosetEditorView
for semantic compatibility to Codemirror v6
<BreadcrumbItem/>
- link color and separation char were adjusted
<Markdown/>
- align blocks for language specific code to default code blocks
- switch icons for
item-clone
anditem-copy
to Carbon's<Replicate/>
and<Copy/>
- Remove duplicated icon names
artefact-customtask*
and only keepartefact-task*
names. <OverviewItemDepiction/>
- improve examples in storybook
- improve display for images that are to large for the available space (fully show them)
<CodeAutocompleteField />
:- Add parameter
reInitOnInitialValueChange
, to allow the field to re-initialize if the initial value changes.
- Add parameter
Deprecated
<Icon/>
and<TestIcon/>
description
andiconTitle
: usetitle
as replacement.
TableRowHeightSize
type: useTableProps["size"]
directlyIRenderModifiers
interface: useSuggestFieldItemRendererModifierProps
IElementWidth
type: useSuggestFieldItemRendererModifierProps["styleWidth"]
MultiSelectSelectionProps
interface: useMultiSuggestFieldSelectionProps
MultiSelectProps
interface: useMultiSuggestFieldProps
nodeTypes
andedgeTypes
- will be removed without replacement, define it yourself or use
<ReactFlow/
withconfiguration
option
- will be removed without replacement, define it yourself or use
AutoCompleteFieldProps
andIAutoCompleteFieldProps
interfaces: useSuggestFieldProps
<CodeAutocompleteField/>
AutoSuggestionProps
: useCodeAutocompleteFieldProps
instead- we renamed
ISuggestionBase
,ISuggestionWithReplacementInfo
,IReplacementResult
,IPartialAutoCompleteResult
,IValidationResult
toCodeAutocompleteFieldSuggestionBase
,CodeAutocompleteFieldSuggestionWithReplacementInfo
,CodeAutocompleteFieldReplacementResult
,CodeAutocompleteFieldPartialAutoCompleteResult
,CodeAutocompleteFieldValidationResult
- all legacy support components are going to be removed, you need to replace them by activily maintained components
<ButtonReplacement/>
: switch to<Button />
<AffirmativeButtonReplacement/>
: switch to<Button affirmative />
<DismissiveButtonReplacement/>
: switch to<Button dismissive />
<DisruptiveButtonReplacement/>
: switch to<Button disruptive />
<CheckboxReplacement/>
: switch to<Checkbox />
<RadioButtonReplacement/>
: switch to<RadioButton />
<TabsReplacement/>
: switch to<Tabs />
<TextFieldReplacement/>
: switch to<TextField />
,<TextArea />
,<FieldItem />
MultiSuggestField.ofType
method:- instead of
MyMultiSuggest = MultiSuggestField.ofType<MyType>()
use directly<MultiSuggestField<MyType> {...props} />
MultiSuggestField.ofType
also returns the original BlueprintJSMultiSelect
element, not our version!
- instead of