Add coexistence checks to all enqueue methods to prevent loading both React and Grid.js assets simultaneously. Changes: - ReactAdmin.php: Only enqueue React assets when ?react=1 - Init.php: Skip Grid.js when React active on admin pages - Form.php, Coupon.php, Access.php: Restore classic assets when ?react=0 - Customer.php, Product.php, License.php: Add coexistence checks Now the toggle between Classic and React versions works correctly. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
152 KiB
152 KiB
Unreleased
25.16.0 (2024-01-24)
Enhancements
ColorPicker: improve the UX around HSL sliders (#57555).BoxControl,BorderControl,BorderBoxControl: Add opt-in prop for 40px default size (#56185).PaletteEdit: improve unit tests (#57645).PaletteEditandCircularOptionPicker: improve unit tests (#57809).Tooltip: no-op when nested inside otherTooltipcomponents (#57202).TooltipandButton: tidy up unit tests (#57975).BorderControl,BorderBoxControl: Replace style picker with ToggleGroupControl (#57562).SlotFill: fix typo in use-slot-fills return docs (#57654)
Bug Fix
ToggleGroupControl: Improve controlled value detection (#57770).Tooltip: Improve props forwarding to children of nestedTooltipcomponents (#57878).Tooltip: revert prop types to only accept component-specific props (#58125).Button: prevent the component from trashing and re-creating the HTML element (#56490).
Experimental
BoxControl: Update design (#56665).CustomSelect: adjustrenderSelectedValueto fix sizing (#57865).Theme: Setcoloron wrapper div (#58095).
25.15.0 (2024-01-10)
Bug Fix
NumberControl: Make increment and decrement buttons keyboard accessible. (#57402).DropdownMenu V2: better fallback on browsers that don't support CSS subgrid(#57327).FontSizePicker: Use Button API for keeping focus on reset (#57221).FontSizePicker: Fix Reset button focus loss (#57196).PaletteEdit: Consider digits when generating kebab-cased slug (#56713).FormTokenField: Prevent focus being passed to internal buttons when component is disabled (#57187).Button: Fix logic ofhas-textclass addition (#56949).FormTokenField: Fix a regression where the suggestion list would re-open after clicking away from the input (#57002).Snackbar: Remove erroneous__unstableHTMLprop from TypeScript definitions (#57218).Truncate: improve handling of non-stringchildren(#57261).PaletteEdit: Don't discard colors with default name and slug (#54332).RadioControl: Fully encapsulate styles (#57347).DuotonePicker: Remove top margin when no duotone options (#57489).Snackbar: Fix icon positioning (#57377).GradientPicker: Use slug while iterating over gradient entries to avoid React "duplicated key" warning (#57361).NavigatorProvider: Excludesizevalue fromcontainCSS rule (#57498).
Enhancements
- Update
ariakitto version0.3.10(#57325). - Update
@ariakit/reactto version0.3.12and @ariakit/test to version0.3.7(#57547). DropdownMenuV2: do not collapse suffix width (#57238).DateTimePicker: Adjustment of the dot position on DayButton and expansion of the button area. (#55502).Modal: Improve application of body class names (#55430).BaseControl: Connect to context system (#57408).InputControl,NumberControl,UnitControl,SelectControl,TreeSelect: Addcompactsize variant (#57398).ToggleGroupControl: Update button size in large variant to be 32px (#57338).Tooltip: improve unit tests (#57345).
Experimental
DropdownMenuV2: remove temporary radix UI based implementation (#55626).Tabs: do not render hidden content (#57046).Tabs: improve hover and text alignment styles (#57275).Tabs: make sureTabs are associated to the rightTabPanels, regardless of the order they're rendered in (#57033).
25.14.0 (2023-12-13)
Enhancements
Navigator: use vanilla CSS animations instead offramer-motion(#56909).FormToggle: fix sass deprecation warning (#56672).QueryControls: Add opt-in prop for 40px default size (#56576).CheckboxControl: Add option to not render label (#56158).PaletteEdit: Gradient pickers to use same width as color pickers (#56801).FocalPointPicker: Add opt-in prop for 40px default size (#56021).DimensionControl: Add opt-in prop for 40px default size (#56805).FontSizePicker: Add opt-in prop for 40px default size (#56804).ToolsPanel/ToolsPanelHeader: AddeddropdownMenuPropsto allow customization of the panel's dropdown menu. Also merged default and optional control menu groups (#55785).
Bug Fix
PaletteEdit: temporary custom gradient not saving (#56896).ToggleGroupControl: react correctly to external controlled updates (#56678).ToolsPanel: fix a performance issue (#56770).BorderControl: adjustBorderControlDropdownButton size to fix misaligned border (#56730).SlotFillProvider: Restore contextual Slot/Fills within SlotFillProvider (#56779).
Internal
DropdownMenuV2Ariakit: prevent prefix collapsing if all radios or checkboxes are unselected (#56720).- Move
kebabCase()function fromblock-editorpackage and mark it as private API (#56758).
Experimental
Tabs: implement newtabIdprop (#56883).CustomSelect: addWordPressComponentsPropsfor more flexibility (#56998)
Experimental
Tabs: improve focus handling in controlled mode (#56658).
Documentation
Search: Added links to storybook for more information on usage. (#56815).Spinner: Added links to storybook for more information on usage. (#56953).
25.13.0 (2023-11-29)
Enhancements
FormToggle: refine animation and improve high contrast styles (#56515).Button: Add focus rings to focusable disabled buttons (#56383).InserterButton: Move mobile InserterButton from components package to block-editor package (#56494)
Bug Fix
DateTime: Make the Timezone indication render a tooltip only when necessary. (#56214).ToolsPanelItem: Use useLayoutEffect to prevent rendering glitch for last panel item styling. (#56536).FormTokenField: Fix broken suggestions scrollbar when the__experimentalExpandOnFocusprop is defined (#56426).FormTokenField:onFocusprop is now typed as a ReactFocusEvent(#56426).
Experimental
Documentation
TextandHeading: improve docs around default values and truncation logic (#56518)
Internal
Slot: addstyleprop tobubblesVirtuallyversion (#56428)- Introduce experimental new version of
CustomSelectControlbased onariakit(#55790)
Code Quality
Composite: add unit tests foruseCompositeState(#56645).
25.12.0 (2023-11-16)
Bug Fix
Toolbar: Remove CSS rule that prevented focus outline to be visible for toolbar buttons in the:activestate. (#56123).
Internal
- Migrate
Dividerfromreakittoariakit(#55622) - Migrate
DisclosureContentfromreakittoariakitand TypeScript (#55639) - Migrate
RadioGroupfromreakittoariakitand TypeScript (#55580)
Experimental
Tabs: Addfocusableprop to theTabs.TabPanelsub-component (#55287)Tabs: Update sub-components to accept relevant HTML element props (#55860)DropdownMenuV2: Fix radio menu item check icon not rendering correctly in some browsers (#55964)DropdownMenuV2: prevent default when pressing Escape key to close menu (#55962)
Enhancements
ToggleGroupControl: Add opt-in prop for 40px default size (#55789).TextControl: Add opt-in prop for 40px default size (#55471).
Bug Fix
DropdownMenu: remove extra vertical space around the toggle button (#56136).- Package should not depend on
@ariakit/test, that package is only needed for testing (#56091).
25.11.0 (2023-11-02)
Enhancements
InputControl/SelectControl: updateheight/min-heightto32pxinstead of30pxto align with modern sizing scale (#55490).
Bug Fix
Autocomplete: Addaria-liveannouncements for Mac and IOS Voiceover to fix lack of support foraria-owns(#54902).- Improve Button saving state accessibility. (#55547)
Internal
- Introduce experimental new version of
DropdownMenubased onariakit(#54939)
25.10.0 (2023-10-18)
Enhancements
ProgressBar: use text color to ensure enough contrast against background (#55285).Notice: Remove margins fromNoticecomponent (#54800).- Allow using CSS level 4 viewport-relative units (54415)
ToolsPanel: do not apply theclassNameto prop toToolsPanelItemcomponents when rendered as placeholders (#55207).GradientPicker: remove overflow styles and padding fromColorPickerpopovers (#55265).Tabs: Expose via private APIs (#55327).ColorPalette/ToggleGroupControl/ToggleGroupControlOptionBase: addtype="button"attribute to native<button>s (#55125).
Bug Fix
- Render a "mouse event trap" when using a
ColorPickerinside aPopoverto prevent issues when rendering on top ofiframes(#55149). Modal: fix closing when contained iframe is focused (#51602).Autocomplete: Fix disappearing results issue when using multiple triggers inline (#55301)
Internal
New Features
Toolbar: add newvariantprop for 'unstyled' option (#55139).
25.9.0 (2023-10-05)
Enhancements
SearchControl: polish metrics forcompactsize variant (#54663).Button: deprecatingisPressedprop in favour ofaria-pressed(#54740).DuotonePicker/ColorListPicker: Adds appropriate label and description to 'Duotone Filter' picker (#54473).Modal: Accessibly hide/show outer modal when nested (#54743).InputControl,NumberControl,UnitControl,SelectControl,CustomSelectControl,TreeSelect: Add opt-in prop for next 40px default size, superseding the__next36pxDefaultSizeprop (#53819).Modal: add a newsizeprop to support preset widths, including afilloption to eventually replace theisFullScreenprop (#54471).- Wrapped
TextareaControlin aforwardRefcall (#54975). Composite/AlignmentMatrixControl/CircularOptionPicker: Starts theCompositemigration fromreakittoariakit(#54225).
Bug Fix
Placeholder: Improved DOM structure and screen reader announcements (#45801).DateTimePicker: fix onChange callback check so that it also works inside iframes (#54669).FormTokenField: Addbox-sizingreset style and reset default padding (#54734).SlotFill: PassComponentinstance to unregisterSlot (#54765).Button: Removearia-selectedCSS selector from styling 'active' buttons (#54931).Popover: Apply the CSS in JS styles properly for components used within popovers. (#54912)Button: Remove hover styles whenaria-disabledis set totruefor the secondary variant. (#54978)Button: Revert toggled style selector to use a class instead of attributes (#55065).
Internal
- Update
@ariakit/reactto version0.3.3(#54818) Tooltip,Shortcut: Remove unusedui/components from the codebase (#54573)- Refactor ariakit usages to use the
renderprop instead ofasand to use the namespace import (#54696). - Update
uuidpackage to 9.0.1 (#54725). ContextSystemProvider: Move out ofui/(#54847).SlotFill: Migrate to TypeScript and Convert to Functional Component<Slot bubblesVirtually />. (#51350).Components: moveui/utilstoutilsand removeui/folder (#54922).- Ensure
@types/dependencies used by final type files are included in the main dependency field (#50231). Text: Migrate to TypeScript. (#54953).
Experimental
- Introduce
Tabs, an experimental v2 ofTabPanel: (#53960).
25.8.0 (2023-09-20)
Enhancements
- Add new option
firstContentElementto Modal'sfocusOnMountprop to allow consumers to focus the first element within the Modal's contents (#54590). Notice: Improve accessibility by adding visually hidden text to clarify what a notice text is about and the notice type (success, error, warning, info) (#54498).- Making Circular Option Picker a
listbox. Note that while this changes some public API, new props are optional, and currently have default values; this will change in another patch (#52255). ToggleGroupControl: Rewrite backdrop animation using framer motion shared layout animations, add better support for controlled and uncontrolled modes (#50278).Popover: Add theis-positionedCSS class only after the popover has finished animating (#54178).Tooltip: Replace the existing tooltip to simplify the implementation and improve accessibility while maintaining the same behaviors and API (#48440).DropdownandDropdownMenu: support controlled mode for the dropdown's open/closed state (#54257).BorderControl: Apply proper metrics and simpler text (#53998).FormTokenField: Update styling for consistency and increased visibility (#54402).CircularOptionPicker: Add option to use previous non-listbox behaviour, for contexts where buttons are more appropriate than a list of options (#54290).DuotonePicker/ColorListPicker: Adds appropriate labels to 'Duotone Filter' color pickers (#54468).SearchControl: support new40pxand32pxsizes (#54548).FormTokenField: AddtokenizeOnBlurprop to add any incompleteTokenValue as a new token when field loses focus (#54445).Sandbox: AddtabIndexprop (#54408).
Bug Fix
Notice: Make the Close button render a tooltip to visually expose its accessible name. All icon buttons must always show a tooltip (#54498).Tooltip: dynamically render in the DOM only when visible (#54312).PaletteEdit: Fix padding in RTL languages (#54034).ToolbarItem: Fix children not showing in rendered components (#53314).CircularOptionPicker: make focus styles resilient to button size changes (#54196).InputControl: Fix focus style size (#54394).BorderControl: Use standard focus style on BorderControl (#54429).Color values: Update borderFocus to ADMIN.theme (#54425).
Internal
Toolbar/ToolbarDropdownMenu: Convert to TypeScript (#54321).Composite: Convert to TypeScript (#54028).BorderControl: Refactor unit tests to useuserEvent(#54155)FocusableIframe: Convert to TypeScript (#53979).Popover: Remove unusedoverlaytype frompositionToPlacementutility function (#54101).Higher Order--with-focus-outside: Convert to TypeScript (#53980).IsolatedEventContainer: Convert unit test to TypeScript (#54316).Popover: Removescrollandresizelisteners for iframe overflow parents and rely on recently added native Floating UI support (#54286).Button: Update documentation to remove the buttonfocusprop (#54397).Toolbar/ToolbarGroup: Convert component to TypeScript (#54317).Modal: add more unit tests (#54569).
Experimental
DropdownMenuv2: Fix submenu chevron direction in RTL languages (#54036.
New Features
Tooltip: Add newhideOnClickprop (#54406).Tooltip: Addplacementprop to replace deprecatedposition(#54264).
25.7.0 (2023-08-31)
Breaking changes
- Make the
Popover.Slotoptional and render popovers at the bottom of the document's body by default. (#53889, #53982).
Enhancements
ProgressBar: Add transition to determinate indicator (#53877).- Prevent nested
SlotFillProviderfrom rendering (#53940).
Bug Fix
SandBox: Fix the cleanup method in useEffect (#53796).PaletteEdit: Fix the height of thePaletteItems. Don't rely on styles only present in the block editor (#54000).
Internal
Shortcut: Add Storybook stories (#53627).SlotFill: Do not render children when using<Slot bubblesVirtually />. (#53272)- Update
@floating-ui/react-domto the latest version (#46845).
25.6.0 (2023-08-16)
Enhancements
Theme: Expose via private APIs (#53262).ProgressBar: Use the theme system accent for indicator color (#53347).ProgressBar: Use gray 300 for track color (#53349).Modal: addheaderActionsprop to render buttons in the header. (#53328).Snackbar: Snackbar design and motion improvements (#53248)NumberControl: AddspinFactorprop for adjusting the amount by which the spin controls change the value (#52902).Modal:: Nuance outside interactions (#52994).Button: Remove default border from the destructive button (#53607).- Components: Move accent colors to theme context (#53631).
ProgressBar: Use the new theme system accent for indicator color (#53632).
Bug Fix
Button: add:disabledselector to reset hover color for disabled buttons (#53411).
Internal
ControlGroup,FormGroup,ControlLabel,Spinner: Remove unusedui/components from the codebase (#52953).MenuItem: Convert to TypeScript (#53132).MenuItem: Add Storybook stories (#53613).MenuGroup: Add Storybook stories (#53090).- Components: Remove unnecessary utils (#53679).
25.5.0 (2023-08-10)
New Feature
- Add a new
ProgressBarcomponent. (#53030).
Enhancements
ColorPalette,BorderControl: Don't hyphenate hex value inaria-label(#52932).MenuItemsChoice,MenuItem: Support adisabledprop on a menu item (#52737).TabPanel: Introduce a new version ofTabPanelwith updated internals and improved adherence to ARIA guidance ontabpanelfocus behavior while maintaining the same functionality and API surface.(#52133).
Bug Fix
Modal: Fix loss of focus when clicking outside (#52653).
25.4.0 (2023-07-20)
Enhancements
TextControl: Addidprop to allow for custom IDs inTextControls (#52028).Navigator: Addreplaceoption tonavigator.goTo()andnavigator.goToParent()(#52456).
Bug Fix
Popover: Pinreact-dropdown-menuversion to avoid breaking changes in dependency updates. (#52356).Item: Unify focus style and add default font styles. (#52495).Toolbar: Fix toolbar items not being tabbable on the first render. (#52613)FormTokenField: Fix token overflow when moving cursor left or right. (#52662)
25.3.0 (2023-07-05)
Enhancements
SelectControl: Added option to set hidden options. (#51545)RangeControl: Add__next40pxDefaultSizeprop to opt into the new 40px default size (#49105).Button: Introducesizeprop withdefault,compact, andsmallvariants (#51842).ItemGroup: Update button focus state styles to target:focus-visiblerather than:focus. (#51787).Guide: Don't show Close button when there is only one page, and use default button and accent/theme styling (#52014).
Bug Fix
ConfirmDialog: Ensure onConfirm isn't called an extra time when submitting one of the buttons using the keyboard (#51730).ZStack: ZStack: fix component bounding box to match children (#51836).Modal: Add small top padding to the content so that avoid cutting off the visible outline when hovering items (#51829).DropdownMenu: fix icon style when dashicon is used (#43574).UnitControl: Fix crash when certain units are used (#52211).Guide: Place focus on the guide's container instead of its first tabbable (#52300).
25.2.0 (2023-06-23)
Enhancements
UnitControl: Revamp support for changing unit by typing (#39303).Modal: Update corner radius to be between buttons and the site view frame, in a 2-4-8 system. (#51254).ItemGroup: Update button focus state styles to be inline with other button focus states in the editor. (#51576).ItemGroup: Update button focus state styles to target:focus-visiblerather than:focus. (#51787).
Bug Fix
Popover: Allow legitimate 0 positions to update popover position (#51320).Button: Remove unnecessary margin from dashicon (#51395).Autocomplete: Announce how many results are available to screen readers when suggestions list first renders (#51018).
Internal
ClipboardButton: Convert to TypeScript (#51334).Toolbar: Replacereakitdependency with@ariakit/react(#51623).
Documentation
SearchControl: Improve documentation around usage oflabelprop (#51781).
25.1.0 (2023-06-07)
Enhancements
BorderControl: Improve color code readability in aria-label (#51197).DropdownandDropdownMenu: use internal context system to automatically pick the toolbar popover variant when rendered inside theToolbarcomponent (#51154).
Bug Fix
FocalPointUnitControl: Add aria-labels (#50993).
Enhancements
- Wrapped
TabPanelin aforwardRefcall (#50199). ColorPalette: Improve readability of color name and value, and improve rendering of partially transparent colors (#50450).Button: Add__next32pxSmallSizeprop to opt into the new 32px size when theisSmallprop is enabled (#51012).ItemGroup: Update styles so all SVGs inherit color from their parent element (#50819).
Experimental
DropdownMenuv2: Tweak styles (#50967, #51097).DropdownMenuv2: change default placement to match the legacyDropdownMenucomponent (#51133).DropdownMenuv2: Render in the defaultPopover.Slot(#51046).
25.0.0 (2023-05-24)
Breaking Changes
DateTime: Remove previously deprecated props,__nextRemoveHelpButtonand__nextRemoveResetButton(#50724).
Internal
Modal: Remove children container's unused class name (#50655).DropdownMenu: Convert to TypeScript (#50187).- Added experimental v2 of
DropdownMenu(#49473). ColorPicker: its privateSelectControlcomponent no longer hides BackdropUI, thus making its focus state visible for keyboard users (#50703).
Bug Fix
ColorPicker: Add an outline when the color picker select box is focused(#50609).InputControl: Fix focus style to support Windows High Contrast mode (#50772).ToggleGroupControl: Fix focus and selected style to support Windows High Contrast mode (#50785).SearchControl: Adjust icon styles to fix alignment issues in the block inserter (#50439).
Enhancements
Tooltip: Update background color so tooltip boundaries are more visible in the site editor (#50792).FontSizePicker: Tweak the header spacing to be more consistent with other design tools (#50855).
24.0.0 (2023-05-10)
Breaking Changes
onDragStartin<Draggable>is now a synchronous function to allow setting additional data forevent.dataTransfer(#49673).
Bug Fix
NavigableContainer: do not trap focus inTabbableContainer(#49846).- Update
<Button>component to have a transparent background for its tertiary disabled state, to match its enabled state. (#50496).
Internal
NavigableContainer: Convert to TypeScript (#49377).ToolbarItem: Convert to TypeScript (#49190).- Move rich-text related types to the rich-text package (#49651).
SlotFill: simplified the implementation and removed unused code (#50098 and #50133).
Documentation
TreeGrid: Update docs withdata-expandedattribute usage (#50026).- Consolidate multiple versions of
READMEandCONTRIBUTINGdocs, and add them to Storybook (#50226). DimensionControl: Use WordPress package instead of react in code example (#50435).
Enhancements
FormTokenField,ComboboxControl: Add__next40pxDefaultSizeprop to opt into the new 40px default size, superseding the__next36pxDefaultSizeprop (#50261).Modal: Add css class to children container (#50099).Button: Add__next40pxDefaultSizeprop to opt into the new 40px default size (#50254).PaletteEdit: Allow custom popover configuration (#49975).- Change the default color scheme to use the new WP Blueberry color. See PR description for instructions on how to restore the previous color scheme when using in a non-WordPress context (#50193).
CheckboxControl,CustomGradientPicker,FormToggle, : Refactor and correct the focus style for consistency (#50127).Button, update spacing values inhas-text has-iconbuttons. (#50277).Button, remove custom padding applied totertiaryvariant. (#50276).Modal: Correct padding for title less confirm variant. (#50283).
23.9.0 (2023-04-26)
Internal
BottomSheetCell: Refactor away from Lodash (mobile) (#49794).parseStylesVariables(): Refactor away from Lodash (mobile) (#49794).- Remove Lodash dependency from components package (#49794).
- Tweak
WordPressComponenttype soselectorproperty is optional (#49960). - Update
Modalappearance on small screens (#50039). - Update the framer motion dependency to the latest version
10.11.6(#49822).
Enhancements
Draggable: AddappendToOwnerDocumentprop to allow elementId based elements to be attached to the ownerDocument body (#49911).TreeGrid: Modify keyboard navigation code to use a data-expanded attribute if aria-expanded is to be controlled outside of the TreeGrid component (#48461).Modal: Equalize internal spacing (#49890).Modal: Increased border radius (#49870).Modal: Updated spacing / dimensions ofisFullScreen(#49894).SlotFill: Added util for creating private SlotFills and supporting Symbol keys (#49819).IconType: Export for external use (#49649).
Bug Fix
CheckboxControl: Add support custom IDs (#49977).
Documentation
Autocomplete: Add heading and fix type foronReplacein README. (#49798).Autocomplete: UpdateUsagesection in README. (#49965).
23.8.0 (2023-04-12)
Internal
MobileRefactor of the KeyboardAwareFlatList component.- Update
reakitdependency to 1.3.11 (#49763).
Enhancements
DropZone: Smooth animation (#49517).Navigator: AddskipFocusproperty inNavigateOptions. (#49350).Spinner: add explicit opacity and background styles (#49695).- Make TypeScript types available for consumers (#49229).
Bug Fix
Snackbar: Fix insufficient color contrast on hover (#49682).
23.7.0 (2023-03-29)
Internal
Animate: Convert to TypeScript (#49243).CustomGradientPicker: Convert to TypeScript (#48929).ColorPicker: Convert to TypeScript (#49214).GradientPicker: Convert to TypeScript (#48316).FormTokenField: Add a__nextHasNoMarginBottomprop to start opting into the margin-free styles (48609).QueryControls: Replace bottom margin overrides with__nextHasNoMarginBottom(47515).
Enhancements
CustomGradientPicker: improve initial state UI (#49146).AnglePickerControl: Style to better fit in narrow contexts and improve RTL layout (#49046).ImageSizeControl: Use large 40px sizes (#49113).
Bug Fix
CircularOptionPicker: force swatches to visually render on top of the rest of the component's content (#49245).InputControl: Fix misaligned textarea input control (#49116).ToolsPanel: Ensure consistency in menu item order (#49222).TabPanel: fix initial tab selection & focus management (#49368).
Internal
DuotonePicker,DuotoneSwatch: Convert to TypeScript (#49060).
23.6.0 (2023-03-15)
Enhancements
FontSizePicker: Allow custom units for custom font size control (#48468).Navigator: Disable initial screen animation (#49062).FormTokenField: Hide suggestions list on blur event if the input value is invalid (#48785).
Bug Fix
ResponsiveWrapper: useaspect-ratioCSS prop, add support forSVGelements (#48573.ResizeTooltip: Usedefault.fontFamilyon tooltip (#48805.
Internal
Guide: Convert to TypeScript (#47493).SelectControl: improve prop types for single vs multiple selection (#47390).Navigation: Convert to TypeScript (#48742).PanelBody: Convert to TypeScript (#47702).withFiltersHOC: Convert to TypeScript (#48721).withFallbackStylesHOC: Convert to TypeScript (#48720).withFocusReturnHOC: Convert to TypeScript (#48748).navigateRegionsHOC: Convert to TypeScript (#48632).withSpokenMessages: HOC: Convert to TypeScript (#48163).withNotices: HOC: Convert to TypeScript (#49088).ToolbarButton: Convert to TypeScript (#47750).DimensionControl(Experimental): Convert to TypeScript (#47351).PaletteEdit: Convert to TypeScript (#47764).QueryControls: Refactor away from Lodash (.groupBy) (#48779).ToolbarContext: Convert to TypeScript (#49002).
23.5.0 (2023-03-01)
Enhancements
ToolsPanel: Separate reset all filter registration from items registration and support global resets (#48123).
Internal
CircularOptionPicker: Convert to TypeScript (#47937).TabPanel: Improve unit test in preparation for controlled component updates (#48086).Autocomplete: performance: avoid setting state on every value change (#48485).Higher Order--with-constrained-tabbing: Convert to TypeScript (#48162).Autocomplete: Convert to TypeScript (#47751).Autocomplete: avoid calling setState on input (#48565).
23.4.0 (2023-02-15)
Bug Fix
ToolsPanel: fix type inconsistencies between types, docs and normal component usage (47944).SelectControl: Fix styling whenmultipleprop is enabled (#47893).useAutocompleteProps,Autocomplete: Make accessible when rendered in an iframe (#47907).
Enhancements
ColorPalette,GradientPicker,PaletteEdit,ToolsPanel: add new props to set a custom heading level (43848 and #47788).ColorPalette: ensure text label contrast checking works with CSS variables (#47373).Navigator: Support dynamic paths with parameters (#47827).Navigator: Support hierarchical paths navigation and addNavigatorToParentButtoncomponent (#47883).
Internal
NavigatorButton: ReuseButtontypes (47754).CustomSelectControl: lock the__experimentalShowSelectedHintprop (#47229).- Lock the
__experimentalPopoverPositionToPlacementfunction and rename it to__experimentalPopoverLegacyPositionToPlacement(#47505). ComboboxControl: Convert to TypeScript (#47581).Panel,PanelHeader,PanelRow: Convert to TypeScript (#47259).BoxControl: Convert to TypeScript (#47622).AnglePickerControl: Convert to TypeScript (#45820).ResizableBox: refactor styles to TypeScript (47756).BorderBoxControl: migrate tests to TypeScript, remove act() call (47755).Toolbar: Convert to TypeScript (#47087).MenuItemsChoice: Convert to TypeScript (#47180).ToolsPanel: Allow display of optional items when values are updated externally to item controls (47727).ToolsPanel: Ensure display of optional items when values are updated externally and multiple blocks selected (47864).Navigator: add more pattern matching tests, refine existing tests (47910).ToolsPanel: Refactor Storybook examples to TypeScript (47944).ToolsPanel: Refactor unit tests to TypeScript (48275).
23.3.0 (2023-02-01)
Deprecations
NumberControl: Clarify deprecation message abouthideHTMLArrowsprop (#47370).
Enhancements
Dropdown: deprecatepositionprop, usepopoverPropsinstead (46865).Button: improve padding for buttons with icon and text. (46764).ColorPalette: Use computed color when css variable is passed toColorPicker(47181).Popover: addoverlayoption to theplacementprop (47004).
Internal
Toolbar: unify Storybook examples under one file, migrate from knobs to controls (47117).DropdownMenu: migrate Storybook to controls (47149).- Removed deprecated
@storybook/addon-knobsdependency from the package (47152). ColorListPicker: Convert to TypeScript (#46358).KeyboardShortcuts: Convert to TypeScript (#47429).ColorPalette,BorderControl,GradientPicker: refine types and logic around single vs multiple palettes (#47384).Button: Convert to TypeScript (#46997).QueryControls: Convert to TypeScript (#46721).TreeGrid: Convert to TypeScript (#47516).Notice: refactor to TypeScript (47118).Popover: Take iframe element scaling into account (47004).
Bug Fix
TabPanel: Fix initial tab selection when the tab declaration is lazily added to thetabsarray (47100).InputControl: Avoid the "controlled to uncontrolled" warning by forcing the internal<input />element to be always in controlled mode (47250).
23.2.0 (2023-01-11)
Internal
AlignmentMatrixControl: Update center cell label to 'Center' instead of 'Center Center' (#46852).Toolbar: move all subcomponents under the same folder (46951).Dashicon: remove unnecessary type forclassNameprop (46849).ColorPicker&QueryControls: Replace bottom margin overrides with__nextHasNoMarginBottom(#46448).SandBox: Convert to TypeScript (#46478).ResponsiveWrapper: Convert to TypeScript (#46480).ItemGroup: migrate Storybook to controls, refactor to TypeScript (46945).
Bug Fix
Placeholder: set fixed right margin for label's icon (46918).TreeGrid: Fix right-arrow keyboard navigation when a row contains more than two focusable elements (46998).
23.1.0 (2023-01-02)
Breaking Changes
ColorPalette: The experimental__experimentalHasMultipleOriginsprop has been removed (#46315).
23.0.0 (2022-12-14)
Breaking Changes
- Updated dependencies to require React 18 (45235)
New Feature
TabPanel: support manual tab activation (#46004).TabPanel: support disabled prop for tab buttons (#46471).BaseControl: AdduseBaseControlPropshook to help generate id-releated props (#46170).
Bug Fix
ColorPalette: show "Clear" button even when colors array is empty (#46001).InputControl: Fix internalFlexwrapper usage that could add an unintendedheight: 100%(#46213).Navigator: Allow callinggoToandgoBacktwice in one render cycle (#46391).Modal: Fix unexpected modal closing in IME Composition (#46453).Toolbar: Fix duplicate focus style on anchor link button (#46759).useNavigateRegions: Ensure region navigation picks the next region based on where the current user focus is located instead of starting at the beginning (#44883).ComboboxControl: Fix unexpected behaviour in IME Composition (#46827).
Enhancements
TabPanel: Simplify tab-focus style. (#46276).TabPanel: Add ability to set icon only tab buttons (#45005).InputControl,NumberControl,UnitControl: Addhelpprop for additional description (#45931).BorderControl,ColorPicker&QueryControls: Replace bottom margin overrides with__nextHasNoMarginBottom(#45985).CustomSelectControl,UnitControl: AddonFocusandonBlurprops (#46096).ResizableBox: Prevent unnecessary paint on resize handles (#46196).Popover: Prevent unnecessary paint caused by using outline (#46201).PaletteEdit: Global styles: add onChange actions to color palette items #45681.- Lighten the border color on control components (#46252).
Popover: Prevent unnecessary paint when scrolling by using transform instead of top/left positionning (#46187).CircularOptionPicker: Prevent unecessary paint on hover (#46197).
Experimental
TextControl: Restricttypeprop toemail,number,password,tel,text,searchorurl(#45433).
Internal
useControlledValue: let TypeScript infer the return type (#46164).LinkedButton: remove unnecessaryspantag (#46063).- NumberControl: refactor styles/tests/stories to TypeScript, replace fireEvent with user-event (#45990).
useBaseField: Convert to TypeScript (#45712).Dashicon: Convert to TypeScript (#45924).PaletteEdit: add follow up changelog for #45681 and tests #46095.AlignmentMatrixControl: Convert to TypeScript (#46162).Theme: Remove public export (#46427).Autocomplete: Refactor away from_.find()(#46537).TabPanel: Refactor away from_.find()(#46537).BottomSheetPickerCell: Refactor away from_.find()for mobile (#46537).- Refactor global styles context away from
_.find()for mobile (#46537). Dropdown: Convert to TypeScript (#45787).
Documentation
Tooltip: Add readme and unit tests forshortcutprop (#46092).
22.1.0 (2022-11-16)
Enhancements
ColorPalette,BorderBox,BorderBoxControl: polish and DRY prop types, add default values (#45463).TabPanel: Add ability to set icon only tab buttons (#45005).
Internal
AnglePickerControl: remove:focus-visible' outline onCircleOutlineWrapper` (#45758)
Bug Fix
FormTokenField: Fix duplicate input in IME composition (#45607).Autocomplete: Check key events more strictly in IME composition (#45626).Autocomplete: Fix unexpected block insertion during IME composition (#45510).Icon: Making size prop work for icon components using dash icon strings (#45593)ToolsPanelItem: Prevent unintended calls to onDeselect when parent panel is remounted and item is rendered via SlotFill (#45673)ColorPicker: Prevent all number fields from becoming "0" when one of them is an empty string (#45649).ToggleControl: Fix toggle control label text overflow (#45962).
Internal
ToolsPanel: Update to fixexhaustive-depseslint rule (#45715).PaletteEditListView: Update to ignoreexhaustive-depseslint rule (#45467).Popover: Update to passexhaustive-depseslint rule (#45656).Flex: Update to passexhaustive-depseslint rule (#45528).withNotices: Update to passexhaustive-depseslint rule (#45530).ItemGroup: Update to passexhaustive-depseslint rule (#45531).TabPanel: Update to passexhaustive-depseslint rule (#45660).NavigatorScreen: Update to passexhaustive-depseslint rule (#45648).Draggable: Convert to TypeScript (#45471).MenuGroup: Convert to TypeScript (#45617).useCx: fix story to satisfy thereact-hooks/exhaustive-depseslint rule (#45614)- Activate the
react-hooks/exhuastive-depseslint rule for the Components package (#41166) Snackbar: Convert to TypeScript (#45472).
Experimental
ToggleGroupControl: Only show enclosing border whenisBlockand notisDeselectable(#45492).Theme: Add support for custombackgroundcolor (#45466).
22.0.0 (2022-11-02)
Breaking Changes
Popover: The deprecatedrangeand__unstableShiftprops have been removed (#45195).
Deprecations
Popover: the deprecation messages for anchor-related props (anchorRef,anchorRect,getAnchorRect) have been updated (#45195).RadioGroup: Mark as deprecated, in favor ofRadioControlandToggleGroupControl(#45389).Popover: the deprecation messages for anchor-related props (anchorRef,anchorRect,getAnchorRect) have been updated. (#45195).Popover: TheisAlternateprop has been replaced with avariantprop that can be called with the'toolbar'string (#45137).
New Feature
BoxControl&CustomSelectControl: AddonMouseOverandonMouseOutcallback props to allow handling of these events by parent components (#44955)Popover: Avariantprop has been added to style popovers, with'unstyled'and'toolbar'possible values (#45137).
Enhancements
FontSizePicker: Pass the preset object to the onChange callback to allow conversion from preset slugs to CSS vars (#44967).FontSizePicker: Improved slider design whenwithSlideris set (#44598).ToggleControl: Improved types for thehelpprop, covering the dynamic render function option, and enabled the dynamichelpbehavior only for a controlled component (#45279).BorderControl&BorderBoxControl: Replace__next36pxDefaultSizewith "default" and "large" size variants (#41860).UnitControl: Remove outer wrapper to normalize className placement (#41860).ColorPalette: Fix transparent checkered background pattern (#45295).ToggleGroupControl: AddisDeselectableprop to allow deselecting the selected option (#45123).FontSizePicker: Improve hint text shown next to 'Font size' label (#44966).
Bug Fix
useNavigateRegions: Add new keyboard shortcut alias to cover backtick and tilde keys inconsistencies across browsers (#45019).Button: Tweak the destructive button primary, link, and default variants (#44427).UnitControl: Fixdisabledstyle is overridden by coreform.cssstyle (#45250).ItemGroup: fix RTLItemstyles when rendered as a button (#45280).Button: Fix RTL alignment for buttons containing an icon and text (#44787).TabPanel: CallonSelect()on every tab selection, regardless of whether it was triggered by user interaction (#44028).FontSizePicker: Fallback to font sizeslugifnameis undefined (#45041).AutocompleterUI: fix issue where autocompleter UI would appear on top of other UI elements (#44795)ExternalLink: Fix to re-enable support foronClickevent handler (#45214).InputControl: Allow inline styles to be applied to the wrapper not inner input (#45340)
Internal
BorderBoxControl: Convert stories to TypeScript and use Controls (#45002).Disabled: add a note in the docs about the lack of polyfill for theinertattribute (#45272)Snackbar: updated to satisfyreact/exhaustive-depseslint rule (#44934)AnglePickerControl: Set Storybook Label control type to 'text' (#45122).SlotFill: updated to satisfyreact/exhaustive-depseslint rule (#44403)Context: updated to ignorereact/exhaustive-depseslint rule (#45044)Button: Refactor Storybook to controls and align docs (#44105).TabPanel: updated to satisfyreact/exhaustive-depseslint rule (#44935)ColorPalette: Convert to TypeScript (#44632).UnitControl: Add tests (#45260).Disabled: Refactor the component to rely on the HTMLinertattribute.CustomGradientBar: Refactor away from Lodash (#45367).TextControl: Set Storybook control types onhelp,labelandtype(#45405).Autocomplete: use Popover's newplacementprop instead of legacypositionprop (#44396).SelectControl: AddonChange,onBlurandonFocusto storybook actions (#45432).FontSizePicker: Add more comprehensive tests (#45298).FontSizePicker: Refactor to use components instead of helper functions (#44891).
Experimental
NumberControl: ReplacehideHTMLArrowsprop withspinControlsprop. Allow custom spin controls viaspinControls="custom"(#45333).
Experimental
- Theming: updated Components package to utilize the new
accentprop of the experimentalThemecomponent.
21.3.0 (2022-10-19)
Bug Fix
FontSizePicker: Ensure that fluid font size presets appear correctly in the UI controls (#44791).ToggleGroupControl: Remove unsupporteddisabledprop from types, and correctly marklabelprop as required (#45114).Navigator: prevent partially hiding focus ring styles, by removing unnecessary overflow rules onNavigatorScreen(#44973).Navigator: restore focus only once per location (#44972).
Documentation
VisuallyHidden: Add some notes on best practices around stacking contexts when using this component (#44867).
Internal
Modal: Convert to TypeScript (#42949).Sandbox: UsetoStringto create observe and resize script string (#42872).Navigator: refactor unit tests to TypeScript and touser-event(#44970).Navigator: Refactor Storybook code to TypeScript and controls (#44979).withFilters: Refactor away from_.without()(#44980).withFocusReturn: Refactor tests to@testing-library/react(#45012).ToolsPanel: updated to satisfyreact/exhaustive-depseslint rule (#45028)Tooltip: updated to ignorereact/exhaustive-depseslint rule (#45043)
21.2.0 (2022-10-05)
Enhancements
FontSizePicker: Updated to take up full width of its parent and have a 40px Reset button whensizeis__unstable-large((44559)[https://github.com/WordPress/gutenberg/pull/44559]).BorderBoxControl: Omit unit select when width values are mixed (#44592)BorderControl: Add ability to disable unit selection (#44592)
Bug Fix
Popover: fix limitShift logic by adding iframe offset correctly (#42950).Popover: refine position-to-placement conversion logic, add tests (#44377).ToggleGroupControl: adjust icon color when inactive, fromgray-700togray-900(#44575).TokenInput: improve logic around thearia-activedescendantattribute, which was causing unintended focus behavior for some screen readers (#44526).NavigatorScreen: fix focus issue where back button received focus unexpectedly (#44239)FontSizePicker: Fix header order in RTL languages (#44590).
Enhancements
SuggestionList: userequestAnimationFrameinstead ofsetTimeoutwhen scrolling selected item into view. This change improves the responsiveness of theComboboxControlandFormTokenFieldcomponents when rapidly hovering over the suggestion items in the list (#44573).
Internal
Mobileupdated to ignorereact/exhaustive-depseslint rule (#44207).Popover: refactor unit tests to TypeScript and modern RTL assertions (#44373).SearchControl: updated to ignorereact/exhaustive-depseslint rule in native files(#44381)ResizableBoxupdated to pass thereact/exhaustive-depseslint rule (#44370).Sandbox: updated to satisfyreact/exhaustive-depseslint rule (#44378)FontSizePicker: Convert to TypeScript (#44449).FontSizePicker: Replace SCSS with Emotion + components (#44483).
Experimental
- Add experimental
Themecomponent (#44668).
21.1.0 (2022-09-21)
Deprecations
Popover: added newanchorprop, supposed to supersede all previous anchor-related props (anchorRef,anchorRect,getAnchorRect). These older anchor-related props are now marked as deprecated and are scheduled to be removed in WordPress 6.3 (#43691).
Bug Fix
Button: Remove unexpectedhas-textclass when empty children are passed (#44198).- The
LinkedButtonto unlink sides inBoxControl,BorderBoxControlandBorderRadiusControlhave changed from a rectangular primary button to an icon-only button, with a sentence case tooltip, and default-size icon for better legibility. TheButtoncomponent has been fixed so whenisSmallandiconprops are set, and no text is present, the button shape is square rather than rectangular.
New Features
MenuItem: Add suffix prop for injecting non-icon and non-shortcut content to menu items (#44260).ToolsPanel: Add subheadings to ellipsis menu and reset text to default control menu items (#44260).
Internal
NavigationMenuupdated to ignorereact/exhaustive-depseslint rule (#44090).RangeControl: updated to passreact/exhaustive-depseslint rule (#44271).UnitControlupdated to pass thereact/exhaustive-depseslint rule (#44161).Notice: updated to satisfyreact/exhaustive-depseslint rule (#44157)
21.0.0 (2022-09-13)
Deprecations
FontSizePicker: Deprecate bottom margin style. Add a__nextHasNoMarginBottomprop to start opting into the margin-free styles that will become the default in a future version, currently scheduled to be WordPress 6.4 (#43870).AnglePickerControl: Deprecate bottom margin style. Add a__nextHasNoMarginBottomprop to start opting into the margin-free styles that will become the default in a future version, currently scheduled to be WordPress 6.4 (#43867).Popover: deprecate__unstableShiftprop in favour of newshiftprop. The__unstableShiftis currently scheduled for removal in WordPress 6.3 (#43845).Popover: removed the__unstableObserveElementprop, which is not necessary anymore. The functionality is now supported directly by the component without the need of an external prop (#43617).
Bug Fix
Button,Icon: FixiconSizeprop doesn't work with some icons (#43821).InputControl,NumberControl,UnitControl: Fix margin whenlabelPositionisbottom(#43995).Popover: enable auto-updating every animation frame (#43617).Popover: improve the component's performance and reactivity to prop changes by reworking its internals (#43335).NavigatorScreen: updated to satisfyreact/exhaustive-depseslint rule (#43876)Popover: fix positioning when reference and floating elements are both within an iframe (#43971)
Enhancements
ToggleControl: Add__nextHasNoMarginprop for opting into the new margin-free styles (#43717).CheckboxControl: Add__nextHasNoMarginprop for opting into the new margin-free styles (#43720).FocalPointControl: Add__nextHasNoMarginprop for opting into the new margin-free styles (#43996).TextControl,TextareaControl: Add__nextHasNoMarginprop for opting into the new margin-free styles (#43782).Flex: Remove margin-based polyfill implementation of flexgap(#43995).RangeControl: Tweak dark gray marking color to be consistent with the grays in@wordpress/base-styles(#43773).UnitControl: Tweak unit dropdown color to be consistent with the grays in@wordpress/base-styles(#43773).SearchControl: Add__nextHasNoMarginprop for opting into the new margin-free styles (#43871).UnitControl: Consistently hide spin buttons (#43985).CardHeader,CardBody,CardFooter: TweakisShadybackground colors to be consistent with the grays in@wordpress/base-styles(#43719).InputControl,SelectControl: Tweakdisabledcolors to be consistent with the grays in@wordpress/base-styles(#43719).FocalPointPicker: Tweak media placeholder background color to be consistent with the grays in@wordpress/base-styles(#43994).RangeControl: Tweak rail, track, and mark colors to be consistent with the grays in@wordpress/base-styles(#43994).UnitControl: Tweak unit dropdown hover color to be consistent with the grays in@wordpress/base-styles(#43994).
Internal
Icon: Refactor tests to@testing-library/react(#44051).- Fix TypeScript types for
isValueDefined()andisValueEmpty()utility functions (#43983). RadioControl: Clean up styles to use less custom CSS (#43868).- Remove unused
normalizeArrowKeyutility function (#43640). SearchControl: Convert to TypeScript (#43871).FormFileUpload: Convert to TypeScript (#43960).DropZone: Convert to TypeScript (#43962).ToggleGroupControl: Rename__experimentalIsIconGroupprop to__experimentalIsBorderless(#43771).NumberControl: Add TypeScript types (#43791).- Refactor
FocalPointPickerto function component (#39168). Guide: usecodeinstead ofkeyCodefor keyboard events (#43604).ToggleControl: Convert to TypeScript and streamline CSS (#43717).FocalPointPicker: Convert to TypeScript (#43872).Navigation: usecodeinstead ofkeyCodefor keyboard events (#43644).ComboboxControl: Add unit tests (#42403).NavigableContainer: usecodeinstead ofkeyCodefor keyboard events, rewrite tests using RTL anduser-event(#43606).ComboboxControl: updated to satisfyreact/exhuastive-depseslint rule (#41417)FormTokenField: Refactor away from Lodash (#43744).NavigatorButton: updated to satisfyreact/exhaustive-depseslint rule (#42051)TabPanel: Refactor away from_.partial()(#43895).Panel: Refactor tests to@testing-library/react(#43896).Popover: refactor to TypeScript (#43823).BorderControlandBorderBoxControl: replace temporary types withPopover's types (#43823).DimensionControl: Refactor tests to@testing-library/react(#43916).withFilters: Refactor tests to@testing-library/react(#44017).IsolatedEventContainer: Refactor tests to@testing-library/react(#44073).KeyboardShortcuts: Refactor tests to@testing-library/react(#44075).Slot/Fill: Refactor tests to@testing-library/react(#44084).ColorPalette: Refactor tests to@testing-library/react(#44108).
20.0.0 (2022-08-24)
Deprecations
CustomSelectControl: Deprecate constrained width style. Add a__nextUnconstrainedWidthprop to start opting into the unconstrained width that will become the default in a future version, currently scheduled to be WordPress 6.4 (#43230).Popover: deprecate__unstableForcePositionprop in favour of newflipandresizeprops. The__unstableForcePositionis currently scheduled for removal in WordPress 6.3 (#43546).
Bug Fix
AlignmentMatrixControl: keep the physical direction in RTL languages (#43126).AlignmentMatrixControl: Fix thewidthprop so it works as intended (#43482).SelectControl,CustomSelectControl: Truncate long option strings (#43301).ToggleGroupControl: Fix minor inconsistency in label height (#43331).Popover: fix and improve opening animation (#43186).Popover: fix incorrect deps in hooks resulting in incorrect positioning after callingupdate(#43267).FontSizePicker: Fix excessive margin between label and input (#43304).- Ensure all dependencies allow version ranges (#43355).
Popover: make sure offset middleware always applies the latest frame offset values (#43329).Dropdown: anchor popover to the dropdown wrapper (instead of the toggle) (#43377).Guide: Fix error when rendering with no pages (#43380).Disabled: preserve input values when toggling theisDisabledprop (#43508)
Enhancements
GradientPicker: Show custom picker before swatches (#43577).CustomGradientPicker,GradientPicker: Add__nextHasNoMarginprop for opting into the new margin-free styles (#43387).ToolsPanel: Tighten grid gaps (#43424).ColorPalette: Make popover style consistent (#43570).ToggleGroupControl: Improve TypeScript documentation (#43265).ComboboxControl: Normalize hyphen-like characters to an ASCII hyphen (#42942).FormTokenField: Refactor away from_.difference()(#43224).Autocomplete: useKeyboardEvent.codeinstead ofKeyboardEvent.keyCode(#43432).ConfirmDialog: replace (almost) every usage offireEventwith@testing-library/user-event(#43429).Popover: Introduce newflipandresizeprops (#43546).
Internal
Tooltip: Refactor tests to@testing-library/react(#43061).ClipboardButton,FocusableIframe,IsolatedEventContainer,withConstrainedTabbing,withSpokenMessages: Improve TypeScript types (#43579).- Clean up unused and duplicate
COLORSvalues (#43445). - Update
floating-uito the latest version (#43206). DateTimePicker,TimePicker,DatePicker: Switch frommomenttodate-fns(#43005).DatePicker: Switch fromreact-datestouse-lilius(#43005).DateTimePicker: address feedback after recent refactor todate-fnsanduse-lilius(#43495).convertLTRToRTL(): Refactor away from_.mapKeys()(#43258).withSpokenMessages: Update to use@testing-library/react(#43273).MenuGroup: Refactor unit tests to use@testing-library/react(#43275).FormTokenField: Refactor away from_.uniq()(#43330).contextConnect: Refactor away from_.uniq()(#43330).ColorPalette: Refactor away from_.uniq()(#43330).Guide: Refactor away from_.times()(#43374).Disabled: Convert to TypeScript (#42708).Guide: Update tests to use@testing-library/react(#43380).Modal: useKeyboardEvent.codeinstead of deprecatedKeyboardEvent.keyCode. improve unit tests (#43429).FocalPointPicker: useKeyboardEvent.code, partially refactor tests to modern RTL anduser-event(#43441).CustomGradientPicker: useKeyboardEvent.codeinstead ofKeyboardEvent.keyCode(#43437).Card: Convert to TypeScript (#42941).NavigableContainer: Refactor away from_.omit()(#43474).Notice: Refactor away from_.omit()(#43474).Snackbar: Refactor away from_.omit()(#43474).UnitControl: Refactor away from_.omit()(#43474).BottomSheet: Refactor away from_.omit()(#43474).DropZone: Refactor away from_.includes()(#43518).NavigableMenu: Refactor away from_.includes()(#43518).Tooltip: Refactor away from_.includes()(#43518).TreeGrid: Refactor away from_.includes()(#43518).FormTokenField: useKeyboardEvent.code, refactor tests to modern RTL anduser-event(#43442).DropdownMenu: useKeyboardEvent.code, refactor tests to model RTL anduser-event(#43439).Autocomplete: Refactor away from_.escapeRegExp()(#43629).TextHighlight: Refactor away from_.escapeRegExp()(#43629).
Experimental
FormTokenField: add__experimentalAutoSelectFirstMatchprop to auto select the first matching suggestion on typing (#42527).Popover: Deprecate__unstableForcePosition, now replaced by newflipandresizeprops (#43546).
19.17.0 (2022-08-10)
Bug Fix
Popover: make sure thatownerDocumentis always defined (#42886).ExternalLink: Check if the link is an internal anchor link and prevent anchor links from being opened. (#42259).BorderControl: Ensure box-sizing is reset for the control (#42754).InputControl: Fix acceptance of falsy values in controlled updates (#42484).Tooltip (Experimental),CustomSelectControl,TimePicker: Add missing font-size styles which were necessary in non-WordPress contexts (#42844).TextControl,TextareaControl,ToggleGroupControl: Addbox-sizingreset style (#42889).Popover: fix arrow placement and design (#42874).Popover: fix minor glitch in arrow #42903).ColorPicker: fix layout overflow #42992).ToolsPanel: Constrain grid columns to 50% max-width (#42795).Popover: anchor correctly to parent node when no explicit anchor is passed (#42971).ColorPalette: forward correctlypopoverPropsin theCustomColorPickerDropdowncomponent #42989).ColorPalette,CustomGradientBar: restore correct color picker popover position #42989).Popover: fix iframe offset not updating when iframe resizes (#42971).
Enhancements
ToggleGroupControlOptionIcon: Maintain square proportions (#43060).ToggleGroupControlOptionIcon: Add a requiredlabelprop so the button is always accessibly labeled. Also removesshowTooltipfrom the accepted prop types, as the tooltip will now always be shown. (#43060).SelectControl,CustomSelectControl: Refresh and refactor chevron down icon (#42962).FontSizePicker: Add large size variant (#42716).Popover: tidy up code, add more comments (#42944).- Add
box-sizingreset style mixin to utils (#42754). ResizableBox: Make tooltip background matchTooltipcomponent's (#42800).- Update control labels to the new uppercase styles (#42789).
UnitControl: Update unit dropdown design for the large size variant (#42000).BaseControl: Addbox-sizingreset style (#42889).ToggleGroupControl,RangeControl,FontSizePicker: Add__nextHasNoMarginBottomprop for opting into the new margin-free styles (#43062).BoxControl: ExportapplyValueToSidesutil function. (#42733).ColorPalette: use index while iterating over color entries to avoid React "duplicated key" warning (#43096).AnglePickerControl: Add__nextHasNoMarginBottomprop for opting into the new margin-free styles (#43160).ComboboxControl: Add__nextHasNoMarginBottomprop for opting into the new margin-free styles (#43165).
Internal
ToggleGroupControl: Add__experimentalIsIconGroupprop (#43060).Flex,FlexItem,FlexBlock: Convert to TypeScript (#42537).InputControl: Fix incorrectsizeprop passing (#42793).Placeholder: Convert to TypeScript (#42990).Popover: rewrite Storybook examples using controls #42903).Swatch: Remove component in favor ofColorIndicator#43068).
19.16.0 (2022-07-27)
Bug Fix
- Context System: Stop explicitly setting
undefinedto thechildrenprop. This fixes a bug whereIconcould not be correctly rendered via theasprop of a context-connected component (#42686). Popover,Dropdown: Fix width whenexpandOnMobileis enabled (#42635).CustomSelectControl: Fix font size and hover/focus style inconsistencies withSelectControl(#42460).AnglePickerControl: Fix gap between elements in RTL mode (#42534).ColorPalette: Fix background image in RTL mode (#42510).RangeControl: clamp initialPosition between min and max values (#42571).Tooltip: avoid unnecessary re-renders of select child elements (#42483).Popover: Fix offset when the reference element is within an iframe. (#42417).
Enhancements
BorderControl: Improve labelling, tooltips and DOM structure (#42348).BaseControl: Set zero padding onStyledLabelto ensure cross-browser styling (#42348).InputControl: Implement wrapper subcomponents for adding responsive padding toprefix/suffix(#42378).SelectControl: Add flag for larger default size (#42456).UnitControl: Update unit select's focus styles to match input's (#42383).ColorPalette: Display checkered preview background whenvalueis transparent (#42232).CustomSelectControl: Add size variants (#42460).CustomSelectControl: Add flag to opt in to unconstrained width (#42460).Dropdown: Implement wrapper subcomponent for adding different padding to the dropdown content (#42595).BorderControl: Render dropdown as prefix within itsUnitControl(#42212)UnitControl: Update prop types to allow ReactNode as prefix (#42212)ToolsPanel: Updated README with panel layout information and more expansive usage example (#42615).ComboboxControl,FormTokenField: Add custom render callback for options in suggestions list (#42597).
Internal
ColorPicker: Clean up implementation of 40px size (#42002).Divider: Complete TypeScript migration (#41991).Divider,Flex,Spacer: Improve documentation for theSpaceInputprop (#42376).Elevation: Convert to TypeScript (#42302).ScrollLock: Convert to TypeScript (#42303).Shortcut: Convert to TypeScript (#42272).TreeSelect: Refactor away from_.compact()(#42438).MediaEdit: Refactor away from_.compact()for mobile (#42438).BoxControl: Refactor away from_.isEmpty()(#42468).RadioControl: Refactor away from_.isEmpty()(#42468).SelectControl: Refactor away from_.isEmpty()(#42468).StyleProvider: Convert to TypeScript (#42541).ComboboxControl: ReplacekeyboardEvent.keyCodewithkeyboardEvent.code(#42569).ComboboxControl: Add support for uncontrolled mode (#42752).
19.15.0 (2022-07-13)
Bug Fix
BoxControl: Change ARIA role fromregiontogroupto avoid unwanted ARIA landmark regions (#42094).FocalPointPicker,FormTokenField,ResizableBox: Fixed SSR breakage (#42248).ComboboxControl: use custom prefix when generating the instanceId (#42134.Popover: pass missing anchor ref to thegetAnchorRectcallback prop. (#42076).Popover: callgetAnchorRectcallback prop even ifanchorRefFallbackhas no value. (#42329).- Fix
ToolTipposition to ensure it is always positioned relative to the first child of the ToolTip. (#41268)
Enhancements
ToggleGroupControl: Add large size variant (#42008).InputControl: Ensure that the padding between aprefix/suffixand the text input stays at a reasonable 8px, even in larger size variants (#42166).
Internal
Grid: Convert to TypeScript (#41923).TextHighlight: Convert to TypeScript (#41698).Tip: Convert to TypeScript (#42262).Scrollable: Convert to TypeScript (#42016).Spacer: Complete TypeScript migration (#42013).VisuallyHidden: Convert to TypeScript (#42220).TreeSelect: Refactor away from_.repeat()(#42070).FocalPointPickerupdated to satisfyreact/exhaustive-depseslint rule (#41520).ColorPickerupdated to satisfyreact/exhaustive-depseslint rule (#41294).Slot/Fill: Refactor away from Lodash (#42153).ComboboxControl: Refactor away from_.deburr()(#42169).FormTokenField: Refactor away from_.identity()(#42215).SelectControl: Use roles and@testing-library/user-eventin unit tests (#42308).DropdownMenu: Refactor away from Lodash (#42218).ToolbarGroup: Refactor away from_.flatMap()(#42223).TreeSelect: Refactor away from_.flatMap()(#42223).Autocomplete: Refactor away from_.deburr()(#42266).MenuItem: Refactor away from_.isString()(#42268).Shortcut: Refactor away from_.isString()(#42268).Shortcut: Refactor away from_.isObject()(#42336).RangeControl: Convert to TypeScript (#40535).ExternalLink: Refactor away from Lodash (#42341).Navigation: updated to satisfyreact/exhaustive-depseslint rule (#41612)
19.14.0 (2022-06-29)
Bug Fix
ColorPicker: Remove horizontal scrollbar when using HSL or RGB color input types. (#41646)ColorPicker: Widen hex input field for mobile. (#42004)
Enhancements
- Wrapped
ColorIndicatorin aforwardRefcall (#41587). ComboboxControl&FormTokenField: Add__next36pxDefaultSizeflag for larger default size (#40746).BorderControl: Improve TypeScript support. (#41843).DatePicker: highlight today's date. (#41647).- Allow automatic repositioning of
BorderBoxControlandColorPalettepopovers within smaller viewports (#41930).
Internal
Spinner: Convert to TypeScript and update storybook (#41540).InputControl: Add tests and update to use@testing-library/user-event(#41421).FormToggle: Convert to TypeScript (#41729).ColorIndicator: Convert to TypeScript (#41587).Truncate: Convert to TypeScript (#41697).FocalPointPicker: Refactor away from_.clamp()(#41735).RangeControl: Refactor away from_.clamp()(#41735).- Refactor components
utilsaway from_.clamp()(#41735). BoxControl: Refactor utils away from_.isNumber()(#41776).Elevation: Refactor away from_.isNil()(#41785).HStack: Refactor away from_.isNil()(#41785).Truncate: Refactor away from_.isNil()(#41785).VStack: Convert to TypeScript (#41850).AlignmentMatrixControl: Refactor away from_.flattenDeep()in utils (#41814).AutoComplete: Revert recentexhaustive-depsrefactor (#41820).Spacer: Convert knobs to controls in Storybook (#41851).Heading: Complete TypeScript migration (#41921).Navigation: Refactor away from Lodash functions (#41865).CustomGradientPicker: Refactor away from Lodash (#41901).SegmentedControl: Refactor away from_.values()(#41905).DimensionControl: Refactor docs away from_.partialRight()(#41909).NavigationItemupdated to ignorereact/exhaustive-depseslint rule (#41639).
19.13.0 (2022-06-15)
Bug Fix
Tooltip: Opt in to__unstableShiftto ensure that the Tooltip is always within the viewport. (#41524)FormTokenField: Do not suggest the selected one even if{ value: string }is passed (#41216).CustomGradientBar: Fix insertion and control point positioning to more closely follow cursor. (#41492)FormTokenField: Added Padding to resolve close button overlap issue (#41556).ComboboxControl: fix the autofocus behavior after resetting the value. (#41737).
Enhancements
AnglePickerControl: Use NumberControl as input field (#41472).
Internal
FormTokenField: Convert to TypeScript and refactor to functional component (#41216).Draggable: updated to satisfyreact/exhaustive-depseslint rule (#41499)RadioControl: Convert to TypeScript (#41568).Flexupdated to satisfyreact/exhaustive-depseslint rule (#41507).CustomGradientBarupdated to satisfyreact/exhaustive-depseslint rule (#41463)TreeSelect: Convert to TypeScript (#41536).FontSizePicker: updated to satisfyreact/exhaustive-depseslint rule (#41600).ZStack: Convert component story to TypeScript and add inline docs (#41694).Dropdown: Make sure cleanup (closing the dropdown) only runs when the menu has actually been opened.- Enhance the TypeScript migration guidelines (#41669).
ExternalLink: Convert to TypeScript (#41681).InputControlupdated to satisfyreact/exhaustive-depseslint rule (#41601)Modal: updated to satisfyreact/exhaustive-depseslint rule (#41610)
Experimental
Navigation: improve unit tests by using@testing-library/user-eventand modern@testing-libraryassertions; add unit test for controlled component (#41668).
19.12.0 (2022-06-01)
Bug Fix
Popover,Dropdown,CustomGradientPicker: Fix dropdown positioning by always targeting the rendered toggle, and switch off width in the Popover size middleware to stop reducing the width of the popover. (#41361)- Fix
InputControlblocking undo/redo while focused. (#40518) ColorPalette: Correctly update color name label when CSS variables are involved (#41461).
Enhancements
SelectControl: Add__nextHasNoMarginBottomprop for opting into the new margin-free styles (#41269).ColorPicker: Strip leading hash character from hex values pasted into input. (#41223)ColorPicker: Display detailed color inputs by default. (#41222)- Updated design for the
DateTimePicker,DatePickerandTimePickercomponents (#41097). DateTimePicker: Add__nextRemoveHelpButtonand__nextRemoveResetButtonfor opting into new behaviour where there is no Help and Reset button (#41097).
Internal
AlignmentMatrixControlupdated to satisfyreact/exhaustive-depseslint rule (#41167)BorderControlupdated to satisfyreact/exhaustive-depseslint rule (#41259)CheckboxControl: Add unit tests (#41165).BorderBoxControl: fix some layout misalignments, especially for RTL users (#41254).TimePicker: Update unit tests to use@testing-library/user-event(#41270).DateTimePicker: Updatemomentto 2.26.0 and updatereact-datetypings (#41266).TextareaControl: Convert to TypeScript (#41215).BoxControl: Update unit tests to use@testing-library/user-event(#41422).Surface: Convert to TypeScript (#41212).Autocompleteupdated to satisfyreact/exhaustive-depseslint rule (#41382)Dropdownupdated to satisfyreact/exhaustive-depseslint rule (#41505)DateDayPickerupdated to satisfyreact/exhaustive-depseslint rule (#41470).
Experimental
Spacer: Add RTL support. (#41172)
19.11.0 (2022-05-18)
Enhancements
BorderControlnow only displays the reset button in its popover when selections have already been made. (#40917)BorderControl&BorderBoxControl: Add__next36pxDefaultSizeflag for larger default size (#40920).BorderControlimproved focus and border radius styling for component. (#40951)- Improve focused
CircularOptionPickerstyling (#40990) BorderControl: Make border color consistent with other controls (#40921)SelectControl: RemovelineHeightsetting to fix issue with font descenders being cut off (#40985)
Internal
DateTimePicker: Convert to TypeScript (#40775).DateTimePicker: Convert unit tests to TypeScript (#40957).CheckboxControl: Convert to TypeScript (#40915).ButtonGroup: Convert to TypeScript (#41007).Popover: refactor component to use thefloating-uilibrary internally (#40740).
19.10.0 (2022-05-04)
Internal
UnitControl: migrate unit tests to TypeScript (#40697).DatePicker: Add improved unit tests (#40754).- Setup
user-eventin unit tests inline, once per test (#40839). DatePicker: Updatereact-datesto 21.8.0 (#40801).
Enhancements
InputControl: Add__next36pxDefaultSizeflag for larger default size (#40622).UnitControl: Add__next36pxDefaultSizeflag for larger default size (#40627).Modaldesign adjustments: Blur elements outside of the modal, increase modal title size, use larger close icon, remove header border when modal contents are scrolled. (#40781).SelectControl: Improved TypeScript support (#40737).ToggleControlGroup: Switch to internalIconcomponent for dashicon support (40717).- Improve
ToolsPanelaccessibility. (#40716)
Bug Fix
- The
Buttoncomponent now displays the label as the tooltip for icon only buttons. (#40716) - Use fake timers and fix usage of async methods from
@testing-library/user-event. (#40790) - UnitControl: avoid calling onChange callback twice when unit changes. (#40796)
UnitControl: show unit label when units prop has only one unit. (#40784)AnglePickerControl: Fix closing of gradient popover when the angle control is clicked. (#40735)
Internal
TextControl: Convert to TypeScript (#40633).
19.9.0 (2022-04-21)
Bug Fix
- Consolidate the main black colors to gray-900. Affects
AlignmentMatrixControl,InputControl,Heading,SelectControl,Spinner (Experimental), andText(#40391).
Internal
- Remove individual color object exports from the
utils/colors-values.jsfile. Colors should now be used from the mainCOLORSexport(#40387).
Bug Fix
InputControl: allow user to input a value interactively in Storybook, by removing default value argument (#40410).
19.8.0 (2022-04-08)
Enhancements
- Update
BorderControlandBorderBoxControlto allow the passing of custom class names to popovers (#39753). ToggleGroupControl: Reintroduce backdrop animation (#40021).Card: Adjust border radius effective size (#40032).InputControl: Improved TypeScript type annotations (#40119).
Internal
BaseControl: Convert to TypeScript (#39468).
New Features
- Add
BorderControlcomponent (#37769). - Add
BorderBoxControlcomponent (#38876). - Add
ToggleGroupControlOptionIconcomponent (#39760).
Bug Fix
- Use
Object.assigninstead of{ ...spread }syntax to avoid errors in the code generated by TypeScript (#39932). ItemGroup: Ensure that the Item's text color is not overridden by the user agent's button color (#40055).Surface: Use updated UI text color#1e1e1einstead of#000(#40055).CustomSelectControl: Make chevron consistent withSelectControl(#40049).
19.7.0 (2022-03-23)
Enhancements
CustomSelectControl: Add__next36pxDefaultSizeflag for larger default size (#39401).BaseControl: Add__nextHasNoMarginBottomprop for opting into the new margin-free styles (#39325).Divider: Make the divider visible by default (display: inline) in flow layout containers when the divider orientation is vertical (#39316).- Stop using deprecated
event.keyCodein favor ofevent.keyfor keyboard events inUnitControlandInputControl. (#39360) ColorPalette: refine custom color button's label. (#39386)- Add
onClickprop onFormFileUpload. (#39268) FocalPointPicker: stop usingUnitControl's deprecatedunitprop (#39504).CheckboxControl: Add support for theindeterminatestate (#39462).UnitControl: add support for theonBlurprop (#39589).
Internal
- Delete the
composeStateReducersutility function (#39262). BoxControl: stop usingUnitControl's deprecatedunitprop (#39511).
Bug Fix
NumberControl: commit (and constrain) value onblurevent (#39186).- Fix
UnitControl's reset of unit when the quantity value is cleared. (#39531). ResizableBox: Ensure tooltip text remains on a single line. (#39623).
Deprecation
unitprop inUnitControlmarked as deprecated (#39503).
19.6.0 (2022-03-11)
Enhancements
ConfirmDialog: Add support for custom label text on the confirmation and cancelation buttons (#38994)InputControl: AllowonBlurfor empty values to commit the change whenisPressEnterToChangeis true, and move reset behavior to the ESCAPE key. (#39109).TreeGrid: Add tests for Home/End keyboard navigation. AddonFocusRowcallback for Home/End keyboard navigation, this was missed in the implementation PR. Modify test for expanding/collapsing a row as row 1 implements this now. Update README with latest changes. (#39302)ToggleGroupControlOption: Calculate width from button content and removeLabelPlaceholderView(#39345)
Bug Fix
- Normalize
font-familyonButton,ColorPalette,ComoboboxControl,DateTimePicker,FormTokenField,InputControl,SelectControl, andToggleGroupControl(#38969). - Fix input value selection of
InputControl-based controls in Firefox and Safari with axial constraint of drag gesture (#38968). - Fix
UnitControl's behavior around updating the unit when a newvalueis passed (i.e. in controlled mode). (#39148).
19.5.0 (2022-02-23)
Bug Fix
- Fix spin buttons of number inputs in Safari (#38840)
- Show tooltip on toggle custom size button in FontSizePicker (#38985)
Enhancements
TreeGrid: Add tests foronCollapseRow,onExpandRow, andonFocusRowcallback functions. (#38942).TreeGrid: Update callback tests to useTreeGridRowandTreeGridCellsub-components. (#39002).
19.4.0 (2022-02-10)
Bug Fix
- Components: Fix
Slot/FillEmotionStyleProvider(#38237) - Reduce height and min-width of the reset button on
ComboBoxControlfor consistency. (#38020) - Removed unused
rememodependency (#38388). - Added
__unstableInputWidthtoUnitControltype definition (#38429). - Fixed typing errors for
ColorPicker(#38430). - Updated destructuring of
Dropdownprops to be TypeScript friendly (#38431). - Added
ts-nochecktoColorIndicatorso it can be used in typed components (#38433). - Added
cxas a dependency ofuseMemoacross the whole package, in order to recalculate the classnames correctly when a component is rendered across more than oneStyleProvider(#38541).
Enhancements
- Update the visual design of the
Spinnercomponent. (#37551) TreeGridaccessibility enhancements around the expand/collapse functionality. (#38358)TreeGridaccessibility: improve browser support for Left Arrow focus to parent row in child row. (#38639)TreeGridaccessibility: Add Home/End keys for better keyboard navigation. (#38679)- Add
resolvePointprop toFocalPointPickerto allow updating the value of the picker after a user interaction (#38247) TreeGrid: Allow SHIFT key to be held, and addonFocusRowcallback to theTreeGridcomponent, fired when focus is shifted from one row to another via Up and Down arrow keys. (#38314)
Experimental
Navigator: renamepush/poptogoTo/goBack(#38582)Navigator: addNavigatorButtonandNavigatorBackButtoncomponents (#38634)UnitControl: tidy up utilities and types. In particular, change the type of parsed quantities tonumber(previously it could have been astringtoo). (#38987)
19.3.0 (2022-01-27)
Enhancements
- Refine
ExternalLinkto be same size as the text, to appear more as a glyph than an icon. (#37859) - Updated
ToolsPanelheader icon to only show "plus" icon when all items are optional and all are currently hidden (#38262) TreeGrid: Fix keyboard navigation for expand/collapse table rows in Firefox (#37983)
Bug Fix
- Update the
HexInputcomponent to accept a pasted value that contains a starting # - Update
ToggleGroupControlbackground active state to use a simple background color instead of animated backdrop (38008) - Update label spacing for the
BoxControl,CustomGradientPicker,FormTokenField,InputControl, andToolsPanelcomponents to use a bottom margin of8pxfor consistency. (#37844) - Add missing styles to the
BaseControl.VisualLabelcomponent. (#37747) - Prevent keyDown events from propagating up in
CustomSelectControl(#30557) - Mark
childrenprop as optional inSelectControl(#37872) - Add memoization of callbacks and context to prevent unnecessary rerenders of the
ToolsPanel(#38037) - Fix space between icons and rail
RangeControl(#36935) - Increase z-index of
ConfirmDialogto render on top of parentPopovercomponents (#37959)
Experimental
- Add basic history location support to
Navigator(#37416). - Add focus restoration to
Navigator(#38149).
19.2.0 (2022-01-04)
Experimental
- Reinstated the ability to pass additional props to the
ToolsPanel(#36428). - Added an
__unstable-largesize variant toInputControl,SelectControl, andUnitControlfor selective migration to the larger 40px heights. (#35646). - Fixed inconsistent padding in
UnitControl(#35646). - Added support for RTL behavior for the
ZStack'soffsetprop (#36769) - Fixed race conditions causing conditionally displayed
ToolsPanelItemcomponents to be erroneously deregistered (#36588). - Added
__experimentalHideHeaderprop toModalcomponent (#36831). - Added experimental
ConfirmDialogcomponent (#34153). - Divider: improve support for vertical orientation and RTL styles, use start/end logical props instead of top/bottom, change border-color to
currentColor(#36579). ToggleGroupControl: Avoid callingonChangeif radio state changed from an incoming value (#37224).ToggleGroupControl: fix the computation of the backdrop dimensions when rendered in a Popover (#37067).- Add
__experimentalIsRenderedInSidebarproperty to theGradientPickerandCustomGradientPicker. The property changes the color popover behavior to have a special placement behavior appropriate for sidebar UI's. - Add
firstandlastclasses to displayedToolsPanelItemgroup within aToolsPanel(#37546)
Bug Fix
- Fixed spacing between
BaseControlfields and help text within theToolsPanel(#36334) - Replaced hardcoded blue in
ColorPickerwith UI theme color (#36153). - Fixed empty
ToolsPanelheight by correcting menu button line-height (#36895). - Normalized label line-height and spacing within the
ToolsPanel(36387) - Remove unused
reakit-utilsfrom peer dependencies (#37369). - Update all Emotion dependencies to the latest version to ensure they work correctly with React types (#37365).
DateTimePicker: Fix the date format associated to theis12Hourprop (#37465)- Allowed
ToolsPanelto register items whenpanelIdisnulldue to multiple block selection (37216).
Enhancements
- Wrapped
Modalin aforwardRefcall (#36831). - Refactor
DateTimeclass component to functional component (#36835) - Unify styles for
ColorIndicatorwith how they appear in Global Styles (#37028) - Add support for rendering the
ColorPalettein aDropdownwhen opened in the sidebar (#37067) - Show an incremental sequence of numbers (1/2/3/4/5) as a label of the font size, when we have at most five font sizes, where at least one the them contains a complex css value(clamp, var, etc..). We do this because complex css values cannot be calculated properly and the incremental sequence of numbers as labels can help the user better mentally map the different available font sizes. (#37038)
- Add support for proper borders to color indicators (#37500)
- Refactor
SuggestionsListclass component to functional component(#36924)
19.1.4 (2021-12-13)
Bug Fix
- Improve accessibility and visibility in
ColorPallete(#36925)
19.1.3 (2021-12-06)
- Fix missing version information in
CHANGELOG.md.
19.1.2 (2021-12-06)
Bug Fix
- Fixed
GradientPickernot displayingCustomGradientPickerwhen no gradients are provided (#36900). - Fixed error thrown in
ColorPickerwhen used in controlled state in color gradients (#36941). - Updated readme to include default value introduced in fix for unexpected movements in the
ColorPicker(#35670). - Added support for the legacy
extraSmallvalue for thesizeprop in theCardcomponent (#37097).
19.1.0 (2021-11-29)
Enhancements
- Added a
showTooltipprop toToggleGroupControlOptionin order to display tooltip text (using<Tooltip />). (#36726).
Bug Fix
- Fixed a bug which prevented setting
PMhours correctly in theDateTimePicker(#36878).
19.0.2 (2021-11-15)
- Remove erroneous use of
??=syntax frombuild-module.
19.0.1 (2021-11-07)
Enhancements
- Updated the
ColorPaletteandGradientPickercomponents to the latest designs (#35970).
Experimental
- Updated the
ToolsPanelto useGridinternally to manage panel layout (#35621). - Added experimental
__experimentalHasMultipleOriginsprop to theColorPaletteandGradientPickercomponents (#35970).
19.0.0 (2021-10-22)
New Features
- Added support for
step="any"inNumberControlandRangeControl(#34542).
Enhancements
- Removed the separator shown between
ToggleGroupControlitems (#35497). - The
ColorPickercomponent propertyonChangeComplete, a function accepting a color object, was replaced with the propertyonChange, a function accepting a string on (#35220). - The property
disableAlpha, was removed from theColorPickercomponent. Use the new opposite propertyenableAlphainstead (#35220).
Experimental
- Removed the
fieldsetwrapper from theFontAppearanceControlcomponent (35461). - Refactored the
ToggleGroupControlcomponent's structure and embeddedToggleGroupControlButtondirectly intoToggleGroupControlOption(#35600). - Added support for showing an experimental hint in
CustomSelectControl(#35673).
Breaking Changes
- The
colorproperty atinycolor2color object passed ononChangeCompleteproperty of theColorPickercomponent was removed. Please use the newonChangeproperty that accepts a string color representation (#35562).
18.0.0 (2021-10-12)
Breaking Changes
- Removed the deprecated
positionandmenuLabelfrom theDropdownMenucomponent (#34537). - Removed the deprecated
onClickOutsideprop from thePopovercomponent (#34537). - Changed
RangeControlcomponent to not applyshiftStepto inputs from its<input type="range"/>(35020). - Removed
isActionprop fromItem. The component will now rely ononClickto render as abutton(35152).
New Features
- Add an experimental
Navigatorcomponents (#34904) as a replacement for the previousNavigationrelated components. - Update the
ColorPickercomponent to the latest design (#35220)
Bug Fix
- Fixed rounding of value in
RangeControlcomponent when it loses focus while theSHIFTkey is held. (#35020).
Internal
- Deleted the
createComponentutility function (#34929). - Deleted the
useJumpSteputility function (#35561).
17.0.0 (2021-09-09)
Breaking Change
- Removed a min-width from the
DropdownMenucomponent, allowing the menu to accommodate thin contents like vertical tools menus (#33995).
Bug Fix
- Fixed RTL styles in
Flexcomponent (#33729). - Fixed unit test errors caused by
CSS.supportsbeing called in a non-browser environment (#34572). - Fixed
ToggleGroupControl's backdrop not updating when changing theisAdaptiveWidthproperty (#34595).
Internal
- Renamed
PolymorphicComponent*types toWordPressComponent*(#34330).
16.0.0 (2021-08-23)
Breaking Change
- Updated the visual styles of the RangeControl component (#33824).
New Feature
- Add
hideLabelFromVisionprop toRangeControl(#33714).
Bug Fix
- Listen to
resizeevents correctly inuseBreakpointIndex. This hook is used inuseResponsiveValueand consequently in theFlexandGridcomponents (#33902)
15.0.0 (2021-07-29)
Breaking Change
- Upgraded React components to work with v17.0 (#29118). There are no new features in React v17.0 as explained in the blog post.
Deprecation
isScrollableprop inCardBodydefault value changed fromtruetofalse(#33490)
Bug Fix
- Added back
box-sizing: border-boxrule toCardBody,CardHeaderandCardFootercomponents #33511.
14.2.0 (2021-07-21)
New Feature
- Update the border color used in
CardBody,CardHeader,CardFooter, andCardDividerto a different shade of gray, in order to match the color used in other components (#32566).
Deprecation
isPrimary,isSecondary,isTertiaryandisLinkprops inButtonhave been deprecated. Usevariantinstead (#31713).isElevatedprop inCardhas been deprecated. Useelevationinstead (#32566).
Internal
Card,CardBody,CardHeader,CardFooter,CardMedia, andCardDividercomponents have been re-written from the ground up (#32566).
14.1.0 (2021-05-20)
14.0.0 (2021-05-14)
Breaking Changes
- Drop support for Internet Explorer 11 (#31110). Learn more at https://make.wordpress.org/core/2021/04/22/ie-11-support-phase-out-plan/.
- Increase the minimum Node.js version to v12 matching Long Term Support releases (#31270). Learn more at https://nodejs.org/en/about/releases/.
- The experimental
Textcomponent has been completely re-written and enhanced with truncation support and separate variant, size, and weight props to allow for greater control. The previousvariantprop has been completely removed.
Deprecation
isReversedprop inFlexcomponent has been deprecated. Usedirectioninstead (#31297).
Internal
Flex,FlexBlock, andFlexItemcomponents have been re-written from the ground up (#31297).
13.0.0 (2021-03-17)
Breaking Change
onChangeprop ofFocalPointPickeris called at the end of drag operations. Previously, it was called repetitively while dragging.
New Feature
- Supports ref forwarding in
withNoticesandResizableBox. - Adds
onDragprop ofFocalPointPicker.
Bug Fix
- Allows focus of the
FocalPointPickerdraggable area and adjustment with arrow keys. This was added in #22531 but was no longer working.
12.0.0 (2020-12-17)
Enhancements
- ComboboxControl: Deburr option labels before filter
Breaking Change
- Introduce support for other units and advanced CSS properties on
FontSizePicker. Provided the value passed to theFontSizePickeris a string or one of the size options passed is a string, onChange will start to be called with a string value instead of a number. On WordPress usage, font size options are now automatically converted to strings with the default "px" unit added.
10.1.0 (2020-09-03)
New Feature
- Add
ToolbarItemcomponent. - Support
labelprop on theToolbarcomponent.
Deprecations
- Deprecate the
Toolbarcomponent when used without thelabelprop.ToolbarGroupshould be used instead.
10.0.0 (2020-07-07)
Breaking Change
NumberControlno longer automatically transforms values when renderingvalueinto a<input />HTML element.Dashiconcomponent no longer renders SVGs. If you rely on this component, make sure to load the dashicon font.
9.6.0 (2020-05-14)
Bug Fix
- Fix and issue that would cause the
Popovercomponent to throw an error under certain circumstances (#22264).
Deprecations
- The
Guidecomponent no longer supports passing pages as children. Use thepagesprop instead. - The
GuidePagecomponent is deprecated. Use thepagesprop inGuideinstead.
9.2.0 (2020-02-10)
Enhancements
- The
Noticecomponent will speak its message. With this new feature, a developer can control either thespokenMessagespoken message, or thepolitenesspoliteness level of the message. - The
Snackbarcomponent will speak its message. With this new feature, a developer can control either thespokenMessagespoken message, or thepolitenesspoliteness level of the message. - A
Noticeactionsmember can now assignisPrimaryto render a primary button action associated with a notice message.
Bug Fixes
- Notice will assume a default status of 'info' if none is provided. This resolves an issue where the notice would be assigned a class name
is-undefined. This was previously the effective default by styled appearance and should not be considered a breaking change in that regard.
9.0.0 (2020-01-13)
New Features
- Added a new
Guidecomponent which allows developers to easily present a user guide.
Breaking Changes
is-buttonclassname has been removed from the Button component.- The
is-defaultclassname is not applied automatically anymore. - By default Button components come with a fixed height and hover styles.
Bug Fixes
- Fixes a regression published in version 8.5.0 that would prevent some build tools from including styles provided in the packages build-styles directory.
Deprecations
isDefaultprop inButtonhas been deprecated. Consider usingisSecondaryinstead.IconButtonhas been deprecated. Use theButtoncomponent instead.
8.2.0 (2019-08-29)
New Features
- The bundled
re-resizabledependency has been updated from requiring5.0.1to requiring^6.0.0(#17011).
8.1.0 (2019-08-05)
New Features
- Added a new
popoverPropsprop to theDropdowncomponent which allows users of theDropdowncomponent to pass props directly to thePopovercomponent. - Added and documented
hideLabelFromVisionprop toBaseControlused bySelectControl,TextControl, andTextareaControl. - Added a new
popoverPropsprop to theDropdownMenucomponent which allows to pass props directly to the nestedPopovercomponent. - Added a new
togglePropsprop to theDropdownMenucomponent which allows to pass props directly to the nestedIconButtoncomponent. - Added a new
menuPropsprop to theDropdownMenucomponent which allows to pass props directly to the nestedNavigableMenucomponent.
Deprecations
menuLabelprop inDropdownComponenthas been deprecated. Consider usingmenuPropsobject and itsaria-labelproperty instead.positionprop inDropdownComponenthas been deprecated. Consider usingpopoverPropsobject and itspositionproperty instead.
Bug Fixes
- The
Buttoncomponent will no longer assign default styling (is-defaultclass) when explicitly assigned as primary (theisPrimaryprop). This should resolve potential conflicts affecting a combination ofisPrimary,isDefault, andisLarge/isSmall, where the busy animation would appear with incorrect coloring.
Deprecations
- The
PopovercomponentonClickOutsideprop has been deprecated. UseonFocusOutsideinstead.
Internal
- The
Dropdowncomponent has been refactored to focus changes using thePopovercomponent'sonFocusOutsideprop. - The
MenuItemcomponent will now always use anIconButton. This prevents a focus loss when clicking a menu item. - Package no longer depends on external
react-click-outsidelibrary.
8.0.0 (2019-06-12)
New Feature
- Add new
BlockQuotationblock to the primitives folder to support blockquote in a multiplatform way. #15482. DropdownMenunow supports passing a render prop as children for more advanced customization.
Internal
MenuGroupno longer usesNavigableMenuinternally. It needs to be explicitly wrapped withNavigableMenuto bring back the same behavior.
Documentation
- Added missing documentation for
DropdownMenupropsmenuLabel,position,className.
Breaking Change
ServerSideRenderis no longer part of components. It was extracted to an independent package@wordpress/server-side-render.
Bug Fix
- Although
DateTimePickerdoes not allow picking the seconds, passed the current seconds as the selected value for seconds when callingonChange. Now it passes zero.
7.4.0 (2019-05-21)
New Feature
- Added a new
HorizontalRulecomponent. - Added a new
Snackbarcomponent.
Bug Fix
- Fixed display of reset button when using RangeControl
allowResetprop. - Fixed minutes field of
DateTimePickermissed '0' before single digit values.
7.3.0 (2019-04-16)
New Features
- Added a new
renderproperty toFormFileUploadcomponent. Allowing users of the component to custom the UI for their needs. - Added a new
BaseControl.VisualLabelcomponent. - Added a new
previewprop to thePlaceholdercomponent which allows to display a preview, for example a media preview when the Placeholder is used in media editing contexts. - Added a new
anchorRectprop toPopoverwhich enables a developer to provide a customDOMRectobject at which to position the popover.
Improvements
- Limit
Base Control Labelto the width of its content.
Bug fixes
- Fix
instanceIdprop passed through toButtoncomponent viaMenuItemsproducing React console error. Fixed by removing the unnecessary use ofwithInstanceIdon theMenuItemscomponent #14599
7.2.0 (2019-03-20)
Improvements
- Make
RangeControlvalidation rely on thecheckValidityprovided by the browsers instead of using our own validation.
Bug Fixes
- Fix a problem that made
RangeControlnot work as expected with float values.
7.1.0 (2019-03-06)
New Features
- Added a new
Animatecomponent.
Improvements
withFiltershas been optimized to avoid binding hook handlers for each mounted instance of the component, instead using a single centralized hook delegator.withFiltershas been optimized to reuse a single shared component definition for all filtered instances of the component.- Make
RangeControlvalidate min and max properties.
Bug Fixes
- Resolves a conflict where two instance of Slot would produce an inconsistent or duplicated rendering output.
- Allow years between 0 and 1970 in DateTime component.
New Feature
Dropdownnow has afocusOnMountprop which is passed directly to the containedPopover.DatePickerhas new propisInvalidDateexposing react-dates'isOutsideRange.DatePickerallowsnullas accepted value forcurrentDateprop to signify no date selection.
7.0.5 (2019-01-03)
7.0.4 (2018-12-12)
7.0.3 (2018-11-30)
7.0.2 (2018-11-22)
7.0.1 (2018-11-21)
7.0.0 (2018-11-20)
Breaking Change
Dropdown.refresh()has been removed. The containedPopoveris now automatically refreshed.
6.0.2 (2018-11-15)
6.0.1 (2018-11-12)
Bug Fixes
- Avoid constantly recomputing the popover position.
Polish
- Remove
<DateTimePicker />obsoletelocaleprop (and pass-through to child components) and obsoleteis12Hourprop pass through to<DateTime />#11649
6.0.0 (2018-11-12)
Breaking Change
- The
PanelColorcomponent has been removed.
5.1.1 (2018-11-09)
5.1.0 (2018-11-09)
New Feature
- Adjust a11y roles for MenuItem component, so that aria-checked is used properly, related change in Editor/Components/BlockNavigationList (#11431).
Popovercomponents are now automatically refreshed every 0.5s in order to recalculate their size or position.
Deprecation
Dropdown.refresh()has been deprecated as the containedPopoveris now automatically refreshed.
5.0.2 (2018-11-03)
Polish
- Forward
refin thePanelBodycomponent. - Tooltip are no longer removed when Button becomes disabled, it's left to the component rendering the Tooltip.
- Forward
refsupport inTabbableContainerandNavigableMenucomponents.
5.0.1 (2018-10-30)
5.0.0 (2018-10-29)
Breaking Change
AccessibleSVGcomponent has been removed. Please useSVGinstead.
New Feature
- The
Noticecomponent accepts an array of action objects via theactionsprop. Each member object should contain alabeland either aurllink string oronClickcallback function.
4.2.1 (2018-10-22)
Bug Fix
- Fix importing
react-datesstylesheet in production.
4.2.0 (2018-10-19)
New Feature
- Added a new
ColorPickercomponent (#10564). MenuItemnow accepts aninfoprop for including an extended description.
Bug Fix
IconButtoncorrectly respects a passedaria-labelprop.
Deprecation
PanelColorhas been deprecated in favor ofwp.editor.PanelColorSettings.
4.1.2 (2018-10-18)
4.1.0 (2018-10-10)
New Feature
- Added a new
ResizableBoxcomponent.
4.0.0 (2018-09-30)
Breaking Change
Draggableas a DOM node drag handler has been removed. Please, useDraggableas a wrap component for your DOM node drag handler.
Deprecation
- Renamed
AccessibleSVGcomponent toSVG.
3.0.0 (2018-09-05)
Breaking Change
withAPIDatahas been removed. Please use the Core Data module or@wordpress/api-fetchdirectly instead.Draggableas a DOM node drag handler has been deprecated. Please, useDraggableas a wrap component for your DOM node drag handler.- Change how required built-ins are polyfilled with Babel 7 (#9171). If you're using an environment that has limited or no support for ES2015+ such as lower versions of IE then using core-js or @babel/polyfill will add support for these methods.
withContexthas been removed. Please usewp.element.createContextinstead. See: https://reactjs.org/docs/context.html.
New Feature
- Added a new
AccessibleSVGcomponent.