0.5.21 Fixed copying stylesheet links for popout windows when cssRules throw exception. Added option, enableUseVisibility, to allow use of visibility: hidden rather than display:none for hiding elements. 0.5.20 Added Cypress Tests Fixed bug with tab icon not showing 0.5.19 Added onRenderFloatingTabPlaceholder callback prop for rendering the floating tab placeholder. Changed style sheets to use CSS custom properties (variables) for several values. Fix selected index in single empty tabset. Added onContextMenu callback prop for handling context menus on tabs and tabsets. Added onAuxMouseClick callback prop for handling mouse clicks on tabs and tabsets with alt, meta, shift keys, also handles center mouse clicks 0.5.18 Added onRenderDragRect callback prop for rendering the drag rectangles New border attribute: enableAutoHide, to hide border if it has zero tabs 0.5.17 New global option, splitterExtra, to allow splitters to have an extended hit test areas. This makes it easier to use narrow splitters. Added new TabNode attributes: borderWidth and borderHeight, these allow for individual border sizes for certain tabs. Fix for #263 - borders splitters not taking minimum size of center into account Improved algorithm for finding drop location Additional parameter: cursor, for onTabDrag 0.5.16 Added 'New Features' layout to demo. New tab attribute, helpText, to show tooltip over tabs. New model action, deleteTabset, to delete a tabset and all it's child tabs. New tabset attribute, enableClose, to close the tabset 0.5.15 Added new Layout prop: onTabDrag that allows tab dragging to be intercepted. Added example of onTabDrag in demo app, example shows a list where tabs can be dragged into, moved in the list and dragged back out into the layout. Node id's that are not assigned a value are now auto-generated using a uuid rather than a rolling number (for example: previous id: #3, new id: #0c459064-8dee-444e-8636-eb9ab910fb27). Made toJson method of node public. 0.5.14 Fix an issue with copying styles for a floating window when using a CSS-in-JS solution Fix for #227 - edge rects are not moved if window is resized while dragging 0.5.13 Added prop (realtimeResize) to make tabs resize as their splitters are dragged. Warning: this can cause resizing to become choppy when tabs are slow to draw. 0.5.12 New callback on Model to allow TabSet attributes to be set when a tab is moved in such a way that it creates a new TabSet. Added config attributes to TabSet and Border Added headerButtons to ITabSetRenderValues, to allow different set of buttons to be applied to headed TabSets. 0.5.11 Added StickyButtons to onRenderTabSet render values to allow for implementation of Chrome style + button Added example of + button to default layout in demo app 0.5.10 Adjust selected tab when tabs popped out to an external window 0.5.9 TitleFactory can now return object with titleContent and name (name is used for tab overflow menu). Corrected position of rootOrientationVertical in typescript json model 0.5.8 Fix for #172 - Added global rootOrientationVertical attribute to allow vertical layout for root 'row' Added missing exports for typescript json model Moved CRA example to separate repo 0.5.7 Added typescript typings for the model json Fixed drag rectangle showing as dot before first position found (when dragging into the layout) Fix for #191 - Global Attributes for classNames not working Fix for #212 - TypeScript issue with ILayoutState 0.5.6 Added external drag drop into layout, see new onExternalDrag prop Updated demo to accept dragged links, html and text. Tab scrolling direction changed to match VSCode Improved positioning of single tab when overflow menu shown Some small changes to theme colors 0.5.5 Fix for #170 - Closing the last tab of a maximized tabset crashes the layout 0.5.4 Fix issue running with React 17.0.1 Window title now updates when tab renamed 0.5.3 Change classname strings to enum values TSLint replaced with ESLint Added Create-React-App (CRA) example New 'light' theme (lighter and without box shadows, gradients), existing light theme renamed to 'gray' 0.5.2 Fixed issues caused by double touch/mouse events in IOS Prevented IOS scroll during drag in demo app. Added extra option to onRenderTab to allow name of item in overflow menu to be set. New closeType option for tabs The maximized tabset now sets others to display:none rather than use z-index Disable maximize if only one tabset Splitters will now default to 8 on desktop and 12 on mobile (so they can be tapped more easily) Close element is enlarged on mobile 0.5.1 Various small fixes 0.5.0 Overflowing tabs now scroll to keep the selected tab in view, they can also be manually scrolled using the mouse wheel. Now works on scrolling page. NOTE: several css classes with names starting with flexlayout__tabset_header... have been renamed to flexlayout__tabset_tabbar... 0.4.9 Keep selected tab in tabset/border when another tab is moved out. 0.4.8 Minimum size attributes on tabset and border. Extra css classes on elements for border and splitter styling. 0.4.7 Added font property. Font now defaults to medium. Tabs now auto adjust to the current font. Added fontSize dropdown to demo. Modified css for above fontSize changes and to remove some fixed sizes. New attributes to control auto selection of tabs. 0.4.6 Added icons prop to allow default icons to be replaced. Added tabLocation attribute to tabsets to allow top and bottom tab placement. Modified css, default font is now 14px. 0.4.5 Fixed use of global objects for use when serverside rendering Added error boundary around tab contents to prevent tab rendering exception crashing the app 0.4.4 Changed all components except Layout to use React Hooks. Popouts now wait for style sheets to load. Fixed problem rendering popouts in Safari. 0.4.3 Fix addTabWithDragAndDrop not working since 0.4.0 0.4.2 Use Sass to generate light and dark themes 0.4.1 Copy styles into popout tabs 0.4.0 Added ability to popout tabs into new browser windows. Press the 'reload from file' button in the demo app to load new layouts with the popout attribute. 0.3.11 Added overflow menu to border tabs Fixed issues running on IE11 0.3.10 Removed deprecated React lifecycle methods, will now work in React strict mode without warnings (for example, in apps created with Create React App).