Skip to content

Releases: epam/UUI

v5.8.3

19 Jul 13:16
Compare
Choose a tag to compare

5.8.3 - 19.07.2024

What's New

  • [ApiContext] Add ResponseType generic type for processRequest function, which defines the returned type of the function

What's Fixed

  • [ApiContext] Combine user's headers with internal ones instead of replacing them when calling processRequest function
  • [FiltersPanel]: set undefined value instead of null on clear action in numeric filter.
  • [PickerList]: Fixed updating predefined checked values
  • [Pickers]: fixed infinite updating if onValueChange is called in useEffect in case of React without concurrent rendering mode
  • [LazyDataSource]: Fixed requesting already loaded data on scroll

v5.8.2

11 Jul 15:14
Compare
Choose a tag to compare

5.8.2 - 11.07.2024

What's New

  • [Pickers]: added current selection into renderFooter callback params.
  • [RTE]: added possibility to customize set of available options for Header, Color and Note plugins

What's Fixed

  • Fixed invalid mode for inline inputs
  • [AnalyticContext]: fixed GA connection
  • [Checkbox]: fixed icon size according design
  • [RadioInput]: fixed caption line-height according design
  • [Switch]: fixed caption size & line-height according design
  • [PickerToggler]: changed padding for left icon, remove transparent for left/right icon in cell mode
  • [TextArea]: removed maxLength prop override in cell mode
  • [TabButton]: fixed counter color according to the design
  • [DropdownSubMenu]: fixed offset value for left-start placement option
  • [RTE]: removed loader after failed file upload

v5.8.1

21 Jun 15:37
Compare
Choose a tag to compare

5.8.1 - 21.06.2024

What's Fixed

  • [LazyDataSource]:
    • fixed reload data on DS deps change and fixed fetching minus count on scroll up
    • fixed updating itemsMap after setItems.

v5.8.0

06 Jun 14:57
Compare
Choose a tag to compare

5.8.0 - 06.06.2024

What's New

  • [Breaking change]: removed previously deprecated components:

    • removed SnackbarCard component in Loveship, use NotificationCard instead;
    • removed ControlWrapper component in Loveship and Promo;
  • [Breaking change][Loveship]: removed previously deprecated props:

    • [All skins]:
      • [DropdownMenu]: all DropdownMenu items must be wrapped into DropdownMenuBody;
      • [DropdownContainer]: removed 'color' prop;
      • [TabButton][Tag][Badge][LinkButton][Button][MainMenuButton]: removed 'captionCx' prop. Please use 'cx' prop with cascading to 'uui-caption' global class;
      • [Text]: removed 'font' prop;
      • [IconContainer]: removed color prop. Define icon color by yourself, e.g. via cx or style prop;
      • [Avatar]: removed 'onClick' prop;
    • [Loveship]:
      • [LinkButton]: removed 'sun', 'cobalt', 'violet', 'fuchsia', 'white', 'night50', 'night100', 'night200', 'night300', 'night400', 'night500', 'night700', 'night800', 'night900' colors;
      • [Button]: removed 'night500', 'night600' colors, use 'neutral' instead;
      • [IconButton]: removed 'night200', 'night300', 'night400' colors;
      • [NotificationCard]: removed 'night600' color, use 'primary' instead;
      • [Tooltip]: removed 'night900' prop, use 'neutral' instead;
      • [Badge]:
        • removed 'semitransparent' fill value, use 'outline' instead;
        • removed shape prop, 'round' value will be used by default. If you use 'square' value, use Tag component instead;
        • removed '12' size;
      • [MultiSwitch]: removed 'night600' color value. Use 'gray' instead.
      • [RangeSlider]: removed 'color' prop;
    • [Promo]:
      • [LinkButton]: removed 'amber' color;
      • [Button]: removed 'gray50' color, use 'gray' instead;
      • [Badge]: removed 'semitransparent' fill value, use 'outline' instead;
      • [MultiSwitch]: removed 'gray60' color value. Use 'gray' instead.
      • [NotificationCard]: removed 'gray60' color, use 'primary' instead;
      • [Tooltip]: removed 'gray90' prop, use 'neutral' instead;
    • [uui-core]: helpers cleanup, removed following helpers: LazyLoadedMap, browser, Debouncer, parseIconViewbox, parseStringToCSSProperties, getScreenSize , urlParser, batch
  • [useTree]: useTree hook is added.

    • [Features]:
      • [BaseListViewProps.showSelectedOnly]: The flow of rendering selected rows was changed. Previously, there was a separate flow of rendering selected rows, with using the IDataSourceView.getSelectedRows method. Currently, a new property, showSelectedOnly, was added. If this flag is turned on, selected rows are returned from IDataSourceView.getVisibleRows.
      • [Patch items in Lazy/Async/Array dataSources]: the possibility to add/move/delete items from Array/Async/Lazy DataSources was added. To provide this functionality, three options were added:
        • [BaseListViewProps.patch]: To add/move/delete some item from the existing dataset, it is required to pass that item via the patch map.
        • [BaseListViewProps.isDeleted]: To enable deleting of the items, it is required to specify getter of deleting state.
        • [BaseListViewProps.fixItemBetweenSortings]: If enabled, positions of items between sorting changes are fixed.
        • [BaseListViewProps.getNewItemPosition]: To specify the position an item to be moved, getNewItemPosition function may be provided. If not provided, new items will be placed at the top of the list. It can return a various of position configurations:
          • PatchOrdering.TOP - moves an element to the top of the children list;
          • PatchOrdering.BOTTOM - moves an element to the bottom of the children list;
          • By default, all new elements are placed to the top of the children list;
          • If BaseListViewProps.getItemTemporaryOrder returns some value for current item, that item is placed to the specific place and will not be included to the list of top/bottom children.
        • [BaseListViewProps.getItemTemporaryOrder]: To provide specific position for the item, it should be returned from BaseListViewProps.getItemTemporaryOrder function. This order can be placed to the patched item and generated by using getOrderBetween of the previous item temporary order or index and next item temporary order or index.
        • [BaseListViewProps.sortBy]: Items positions are frozen in the list while editing and reset on sorting change. To provide the correct sorting functionality for patched items (especially in LazyDataSources), it is required to provide access to the values of the fields, sorting is performed.
      • [ItemsMap]: immutable map with support of complex Ids was added. It should be used as an input of patch property, described above.
      • [useForm]: support of immutable/mutable maps was added.
      • [DataTable]: rows prop was added, along with getRows.
    • [Breaking changes]:
      • [useView]: onValueChange type was changed. Currently, it should support a state update callback((prevState: DataSourceState) => DataSourceState), instead of a new state value.
      • IDataSource.getView is deprecated. Use IDataSource.useView instead.
      • IDataSourceView.activate is deprecated. This functionality is built in IDataSourceView.useView hook.
      • IDataSourceView.deactivate is deprecated. This functionality is built in IDataSourceView.useView hook.
      • IDataSourceView.getSelectedRows is deprecated. Pass showSelectedOnly = true to IDataSourceView.useView options and access selected rows via IDataSourceView.getVisibleRows().
      • IDataSourceView.loadData is deprecated.
      • LazyListViewProps.legacyLoadDataBehavior is deprecated.
  • [useForm]:

    • added setServerValidationState callback to externally change server validation state
    • now it's possible to return the 'remain' value from the beforeLeave callback. In this case, the form will perform the redirect and then lock again afterward.
  • [Modals]: added property maxHeight that equals 80dvh in desktop mode and 100dvh in mobile.

  • [ColumnsConfigurationModal]: set height and maxHeight equals to 95dvh and mobile breakpoint changed from 640px to 720px as in all other modals.

  • [DatePicker][RangeDatePicker]: renderDay prop callback signature updated

  • [PickerInput]: added property renderTag which can be used for rendering custom Tags in PickerInput toggler. Exposed PickerTogglerTag component, which is used in PickerInput for default for tag rendering.

  • [PickerInput]: when using maxItems prop, selected values are only partially collapsed. Some(equal maxItems value) items remain visible, and the rest are collapsed into the "+N" view. Added tooltip with list of collapsed items to the "+N" tag

  • [DataTable]:

    • isAlwaysVisible flag now makes column locked, which means that you can't hide, unpin or reorder this column. Usually applicable for such column without which table because useless.
      Note, that isAlwaysVisible column should be always fixed to any side of the table, if you didn't specify column.fix prop for such column, 'left' value will be used by default.
      Also, if you have a few isAlwaysVisible columns, it's necessary to place it together in the start or end(depends on fix prop) of columns array.
    • added property columnsGap?: '12' | '24'
    • added property headerSize?: '36' | '48'. In '48' size, column name can be braked in 2 lines text.
  • [uui-editor]:

    • [Breaking change]: plugins prop now typed as PlatePlugin[]. YOu might need to change invocation of baseMarksPlugin() to ...baseMarksPlugin()
    • el.data.colSpan and el.data.rowSpan removed from table cell node as it has duplicates: el.colSpan and el.rowSpan
    • data.cellSizes removed from table element as it has duplicate: el.colSizes
    • data.align removed from image element as it has duplicate: el.align
    • added html serialization for separatorPlugin
  • [AdaptivePanel]: added property itemsGap to set gap between items in the AdaptivePanel. You can set any number or select a predefined value.

  • [Avatar]: added 'number' type for size prop

  • [LinkButton]:

    • added semantic 'accent','critical' and 'white' colors
    • 'contrast' color is deprecated and will be removed in future versions. Please use 'white' color value instead.
  • [Button]: added 'white' color

  • [IconButton]: added semantic Primary, Accent and Critical colors. Colors info, success, error, warning is deprecated, use new one instead.

What's Fixed

  • [Tooltip][Dropdown]: fixed recalculation of boundary area(when we shouldn't close body) after target position was changed in closeOnMouseLeave="boundary" mode
  • [DropdownMenu]: prevent page scrolling when navigation through menu items via keyboard up/down keys
  • [useForm]:
    • fixed beforeLeave callback invocation in case of redirect at onSuccess callback
    • fixed isInvalid, validationMessage and validationProps value returned from hook in case of server validation. Before they have only client validation value, now it's merged with server validation
  • [RangeDatePicker]: removed border-radius for borders between inputs
  • [ControlGroup]: removed border-radius for borders between inputs
  • [Accordion]: prevent page scrolling when open/close Accordion by space key
  • [Slider]: fixed tooltip text calculation with step="0.1" value
  • [PickerInput]:
    • fixed setting emptyValue in case of unselecting all picker items
    • don't close picker body on toggler click, if toggler has search value. Before, click on toggler leads to clearing search value
    • remove border radius for mobile view modal container
  • [FiltersPanel]: fixed focus on search after body opening and focus on PickerToggler after closing body
  • [RTE]:
    • fixed content jumps on editor focus
    • fixed delayed placeholder rendering
  • [StatusIndicator]: style tweaks according to the design
  • [Badge]: style tweaks accordin...
Read more

v5.7.2

12 Apr 15:25
Compare
Choose a tag to compare

5.7.2 - 12.04.2024

What's Fixed

  • [IconButton]: Replace the isDropdown prop with showDropdownIcon to prevent the automatic appearance of the dropdown icon when using IconButton as the Dropdown target.
  • [ApiContext]: Added possibility to send signal about success relogin via localStorage, due to old mechanism with window.opener.postMessage was broken on SSO side by security reasons .
    • To switch to the handling via localStorage replace code of /auth/login endpoint to <html><script>window.localStorage.setItem("uui-auth-recovery-success", "true"); window.close();</script></html>

5.7.1

29 Mar 12:19
Compare
Choose a tag to compare

What's Fixed

  • [TabButton, VerticalTabButton]: set 18 icon size for all button sizes according to design
  • [DataPickerHeader]: changed close icon to match design
  • [DataTableHeaderCell]: set 18 size for all icons by design

v5.7.0

25 Mar 17:04
Compare
Choose a tag to compare

5.7.0 - 25.03.2024

What's New

  • New Scaling Icons Approach:
    • Components now define the icon size based on their props.size value. You no longer need to pass an icon with an appropriate size for the component's size. The provided icon will now be scaled by the component itself.
    • Added a new icons pack, new icons placed under the '@epam/assets/icon' path. Old icons still exist under the '@epam/assets/icon/common' path.
    • This change doesn't require any immediate action from your side. You can continue using icons from the old icons pack. However, please note that icons which were passed to the components without adhering to the guidelines may now be scaled according to these guidelines.
  • [DataTable]: Added possibility to pin columns to the right side of the table via columns config dialog
  • [DataTable]: added 'Expand All/Collapse All' action in table header. They isn't rendered by default, to turn on pass showFoldAll={ true } to the DataTable props.
  • [RTE]: added serialazer/deserializer for MD format. Read more here.
  • [RTE]: added onFocus prop
  • [Modals]: now the Modals closed by default if the URL was changed. You can turn this off passing disableCloseOnRouterChange={true} prop to ModalBlocker component.
  • [Modals]: added maxHeight prop
  • [Paginator]: added isDisabled property
  • [IconButton]: added property size
  • [TimePicker]: added property disableClear to disable inputs' clear cross
  • [FlexRow]: deprecated property spacing, it will be removed in future releases. Please use columnGap instead. spacing prop now works via columnGap.
  • [FlexRow]: added property topBorder to add border on the top of the FlexRow
  • [FileUpload]: move wordings to the i18n
  • [ColumnsConfigurationModal]: small visual tweaks
  • [Avatar]: changed default avatar img

What's Fixed

  • [PickerInput]: fixed loading of selectedId with parents.
    • Fixed partially selected with predefined selected value.
    • Fixed fetching missing parents for selected element in PickerInput.
  • [PickerInput]: fixed 'unknown records' removing
  • [PickerInput]: Fixed focus reset after clicking outside
  • [PickerInput]: fixed unnecessary PickerInput onValueChange calls on dataSourceState change(search, focusedIndex change) in single select with valueType=entity.
  • [PickerList]: aligned caption by the left side in the footer.
  • [DropdownContainer]: disable scroll to the focused element after dropdown close
  • [DropdownContainer]: fixed warning about incorrect ref in React strict mode
  • [Avatar]: change type of 'img' prop to also accept null value
  • [RTE]: fixed table border rendering issues in Firefox
  • [RTE]: fixed placeholder position in Safari
  • [RTE]: fixed editor focusable area and appearing cursor on first click
  • [RTE]: disable image resizing in readonly mode
  • [RTE]: Fixed the position of the selected text toolbar within ShadowRoot for Chromium browsers.
  • [DataTable]: changed default column minWidht value for resizing. For first columns now it's 78px, for others 54px.
  • [DataTable]: prevent sorting change on column resize;
  • [Blocker]: changed the exit animation duration from 1000ms to 200ms
  • [ApiContext]: 'auth-lost' and 'connection-lost' errors in 'manual' error handling mode now handled by ApiContext itself
  • [ApiContext]: add link to the login page in 'auth lost' modal
  • [IconButton]: fixed property isDropdown;
  • [Switch]: fixed property isReadonly;
  • [TextArea]: fixed ability to scroll when readonly or disable;
  • [Modals]: change 'accent' buttons to 'primary' in UUI built in modals
  • [Badge]: small style tweaks according to the design

v5.6.2

15 Mar 11:08
Compare
Choose a tag to compare

5.6.2 - 15.03.2024

What's Fixed

  • [PickerInput]: fixed toggler blur in case searchPosition = 'none'

v5.6.1

12 Mar 10:30
Compare
Choose a tag to compare

5.6.1 - 19.02.2024

What's Fixed
[LazyListView]: refetch on search clear.

v5.6.0

08 Feb 16:10
Compare
Choose a tag to compare

5.6.0 - 08.02.2024

What's New

  • Added 'Tokens' doc page. It contains list of all core tokens with their value and description.
  • prop captionCX is deprecated for the following components: Button, LinkButton, Badge, Tag, TabButton, VerticalTabButton, MainMenuButton and will be removed in future release. Please use 'cx' prop to access caption styles and use cascading to change the styles for the 'uui-caption' global class.
  • [Breaking changes]:
    • [Badge]: can be a span element if onClick prop is not passed, consider it for dom manipulation with this component.
    • [Tag]: can be a span element if onClick props is not passed, consider it for dom manipulation with this component.
    • [PickerInput]: in selectionMode: multi selected item Tag rendered as a span, consider it for dom manipulation with this component.
    • [Button]: removed count, dropdownIconPosition props.
    • [TabButton]: removed dropdownIconPosition prop.
    • [VerticalTabButton]: removed dropdownIconPosition prop.
    • [LinkButton]: removed onClear, clearIcon, count, dropdownIconPosition props.
    • [MainMenuButton]: removed onClear, clearIcon, isDisabled, dropdownIconPosition props.
    • [Badge]: removed dropdownIconPosition prop.
    • [Tag]: removed dropdownIconPosition prop.
    • [Text]: removed color brand; Removed --uui-text-brand token from themes, use --uui-text-primary instead.
  • Removed deprecated MakeMeItem and InstanceItem components from loveship.
  • [TimePicker]: improve time picker input value parsing. Added ability to parse value in different formats, e.g.: 1.23pm -> 01:23 PM, 12/2 -> 12:02 AM, .25 -> 00:25, 2350 -> 23:50 etc.
  • Changes in ICanBeInvalid interface:
    • Extract validationMessage to the IHasValidationMessage interface
    • Extract validationProps into ValidationState interfaces
  • [Text]: added tertiary color.
  • [FlexRow]: added property justify-content it can be equals 'center' | 'space-between' | 'space-around' | 'space-evenly' | 'start' | 'end', see more in Flexbox Guide(https://css-tricks.com/snippets/css/a-guide-to-flexbox/).
  • [DropSpot]: changed type of the property infoText from string into ReactNode. Now you can pass your own realization of it, or pass string and use our.
  • [Snackbar]: added 'Clear all notification' notification button while 2+ notifications displaying. To enable this behavior, exports Snackbar form @epam/uui package or skins.

What's Fixed

  • [PickerInput]: fixed initialy selected items clear with LazyDatasoruce
  • [PickerInput]: fixed partially selected mark for all chain of parent in single mode
  • [RadiInput]: added native HTML name attribute for the input.
  • [RadioGroup]: added native HTML name attribute for each group member.
  • [Tooltip]: fixed vertical paddings according to the design.
  • [SearchInput]: fixed onCancel prop. Now component can use provided callback, not only default implementation
  • [useForm]: fixed close method to always return Promise
  • [LinkButton]: fixed sky color in loveship dark theme
  • [Badge]: fixed outline night600 color in loveship dark theme