Skip to content

Releases: epam/UUI

v5.9.2

12 Sep 18:56
Compare
Choose a tag to compare

5.9.2 - 12.09.2024

What's New

  • [RTE]: added maxLength prop
  • [Text]: Added missing skin colors to 'Loveship' 'light' (night900) and dark (night50, night300, night400, night500, night600, night700, night800, night900) themes.

What's Fixed

  • [RangeDatePicker]: fixed passing id prop to the first input in toggler
  • [PickerInput]: fixed issue with clearing disabled (non-checkable) rows using backspace.
  • [DataTableHeaderCell]: fixed text selection issue that occurred when clicking on resize, without preventing the event from bubbling.
  • [useLazyTree]: fixed an issue where API calls were skipped during very fast scrolling.
  • [RTE]: fixed serialization of empty lines in HTML, now </br> html tag is used
  • [Text]: Tweak skin specific props to be equal to their semantic analogs

v5.9.1

28 Aug 12:28
Compare
Choose a tag to compare

5.9.1 - 28.08.2024

What's New

  • [LinkButton]: added weight and underline props
  • [DataTable]: disable animation for loading skeletons due to performance issues
  • [DatePickers]: added 'DDMMYYYY' format to the list of supported date formats for parsing user input
  • Uploaded new version of icons pack:
    • icons added: action-clock_fast-fill, action-clock_fast-outline
    • icons updated (visual weight tweaked, icon size was slightly decreased): action-job_function-fill, action-job_function-outline, communication-mail-fill, communication-mail-outline

What's Fixed

  • [DropdownMenu]: fixed disabled status of subMenu. If subMenu disabled it's won't open subMenuItems
  • [DropdownMenu]: fixed error when using 2+ levels menu with closeOnMouseLeave=boundary
  • [PickerInput]: fixed opening body by pressing 'Enter' key in mobile resolution(<768px)
  • [Dropdown]: remove mousemove handler on component unmount
  • [Pickers]: fixed bug when 'Clear All' button remains visible even after user clear all item by clicking on it. It was reproduced only if emptyValue=[] prop was passed.
  • [AdaptivePanel]: fixed hiding items with the same priority as last hidden collapsed container
  • [LinkButton]: tweak focus state style according to the design
  • [Typography]: added focus for links

v5.9.0

09 Aug 11:08
Compare
Choose a tag to compare

5.9.0 - 09.08.2024

What's New

  • [Breaking change]: Typography in Electric theme h1 weight changed to 600, h2 weight changed to 400
  • Icons pack updated:
    • [Breaking change]: visual weight tweaked for the following icons. Please review the places of this icons usage, after the update:
      • navigation-chevron_up_outline
      • navigation-chevron_down_outline
      • navigation-chevron_left_outline
      • navigation-chevron_right_outline
      • content-minus_outline
      • notification-done_outline
    • Icons added
      • Icon file-file_csv_fill
      • editor-headline_h4_outline
      • editor-headline_h5_outline
      • editor-headline_h6_outline
      • content-person_group_outline
  • [DatePicker][RangeDatePicker]: improve a11y focus flow behavior. Now date picker body receive focus on open and return it back on input after close.
  • [Timeline]:
    • Improved Timeline:
      • Updated Timeline design.
      • Added support for functional components.
      • Introduced a low-level TimelineCanvas component designed to render elements on the Timeline.
      • Enhanced customization options for TimelineGrid and TimelineScale.
      • Exposed default implementations for timeline grid/scale drawing phases via the timelineGrid and timelineScale libraries.
    • Added an example of Timeline usage with tables. See demo here.
    • Deprecated BaseTimelineCanvasComponent. Use TimelineCanvas instead. Now, TimelineCanvas should not be extended, instead, draw function should be passed to the props.
    • Added base component for universal drawing Timeline elements: TimelineCanvas.
    • Added the useResizeObserver hook, which provides the possibility to observe multiple elements' resizing.
    • Added the useTimelineTransform hook, which provides the possibility to receive the latest TimelineTransform instance from the TimelineController.
    • Deprecated TimelineScaleProps.shiftPercent.
    • Made TimelineGrid customizable. Exposed default implementations of various parts of TimelineGrid drawing functionality, via the timelineGrid library.
    • Made TimelineScale customizable. Exposed default implementations of various parts of TimelineScale drawing functionality, via the timelineScale library.
    • Exposed default implementations of various parts of Timeline drawing functionality, via the timelinePrimitives library.
    • Added the TimelineController.setViewportRange function, which allows setting the Viewport by passing the right and left periods of the scale.
    • Added computeSubtotals and createFromItems to Tree.
  • [DateTable]:
    • Added renderHeaderCell callback to the column configuration, it's allows to provide custom render for column header.
    • Added the DataTableCellContainer component - base wrapper for header and column cells
  • [PickerInput]: hide picker footer while searching
  • [PickerInput]: made tags in multi select smaller
  • [Typography]: only for electric theme:
    • H1 weight changed from 600 to 400
    • H2 weight changed from 700 to 600

What's Fixed

  • Simplify dayJs type imports to support earlier versions of Typescript
  • [DataTable]: disable column focus and hover if isReadonly={ true } was provided in rowOptions for editable table
  • [Badge]: center badge content, move left icons closer to the caption for wide badges
  • [FileUpload]: fixed error icon color to uui-error-70
  • [RTE]: fixed pasting lists from word
  • [Tag]: fixed cross icon size according to the design

v5.8.4

22 Jul 16:02
Compare
Choose a tag to compare

5.8.4 - 22.07.2024

What's Fixed

  • [PickerInput]: fixed '+N' toggler tag tooltip content with custom getName callback

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