diff --git a/packages/eui/changelogs/CHANGELOG_2025.md b/packages/eui/changelogs/CHANGELOG_2025.md new file mode 100644 index 00000000000..ae54be4ebe5 --- /dev/null +++ b/packages/eui/changelogs/CHANGELOG_2025.md @@ -0,0 +1,13 @@ +## [`v99.0.0`](https://github.com/elastic/eui/releases/v99.0.0) + +- Added two new icons: `createGenericJob` and `createGeoJob` ([#8248](https://github.com/elastic/eui/pull/8248)) +- Added new icon `section` ([#8261](https://github.com/elastic/eui/pull/8261)) + +**Bug fixes** + +- Ensures that the `values` of `EuiI18n` used in `EuiPagination` use `key` attributes to prevent potential ["unique key" warnings](https://react.dev/learn/rendering-lists#keeping-list-items-in-order-with-key). ([#8243](https://github.com/elastic/eui/pull/8243)) + +**Breaking changes** + +- Removed `EuiPopover`'s deprecated `hasDragDrop` prop. Use `usePortal` on any child `EuiDraggable` instead ([#8256](https://github.com/elastic/eui/pull/8256)) + diff --git a/packages/eui/i18ntokens.json b/packages/eui/i18ntokens.json index 4facbe725d1..cb17546e45e 100644 --- a/packages/eui/i18ntokens.json +++ b/packages/eui/i18ntokens.json @@ -5808,7 +5808,7 @@ "end": { "line": 165, "column": 12, - "index": 4729 + "index": 4762 } }, "filepath": "src/components/pagination/pagination.tsx" @@ -5821,12 +5821,12 @@ "start": { "line": 210, "column": 12, - "index": 5723 + "index": 5756 }, "end": { "line": 215, "column": 13, - "index": 5947 + "index": 5980 } }, "filepath": "src/components/pagination/pagination.tsx" @@ -5839,12 +5839,12 @@ "start": { "line": 251, "column": 12, - "index": 6982 + "index": 7015 }, "end": { "line": 259, "column": 13, - "index": 7289 + "index": 7322 } }, "filepath": "src/components/pagination/pagination.tsx" @@ -5857,12 +5857,12 @@ "start": { "line": 306, "column": 20, - "index": 8472 + "index": 8505 }, "end": { "line": 306, "column": 60, - "index": 8512 + "index": 8545 } }, "filepath": "src/components/pagination/pagination.tsx" @@ -5875,12 +5875,12 @@ "start": { "line": 307, "column": 20, - "index": 8534 + "index": 8567 }, "end": { "line": 307, "column": 60, - "index": 8574 + "index": 8607 } }, "filepath": "src/components/pagination/pagination.tsx" @@ -5893,12 +5893,12 @@ "start": { "line": 308, "column": 18, - "index": 8594 + "index": 8627 }, "end": { "line": 308, "column": 54, - "index": 8630 + "index": 8663 } }, "filepath": "src/components/pagination/pagination.tsx" @@ -5911,12 +5911,12 @@ "start": { "line": 309, "column": 26, - "index": 8658 + "index": 8691 }, "end": { "line": 309, "column": 78, - "index": 8710 + "index": 8743 } }, "filepath": "src/components/pagination/pagination.tsx" @@ -5929,12 +5929,12 @@ "start": { "line": 310, "column": 23, - "index": 8735 + "index": 8768 }, "end": { "line": 310, "column": 75, - "index": 8787 + "index": 8820 } }, "filepath": "src/components/pagination/pagination.tsx" @@ -5945,14 +5945,14 @@ "highlighting": "string", "loc": { "start": { - "line": 700, + "line": 692, "column": 16, - "index": 20852 + "index": 20560 }, "end": { - "line": 703, + "line": 695, "column": 18, - "index": 21046 + "index": 20754 } }, "filepath": "src/components/popover/popover.tsx" diff --git a/packages/eui/package.json b/packages/eui/package.json index 0bd97e3668d..579665d976c 100644 --- a/packages/eui/package.json +++ b/packages/eui/package.json @@ -1,7 +1,7 @@ { "name": "@elastic/eui", "description": "Elastic UI Component Library", - "version": "98.2.1", + "version": "99.0.0", "license": "SEE LICENSE IN LICENSE.txt", "main": "lib", "module": "es", diff --git a/packages/eui/src-docs/src/components/guide_page/versions.json b/packages/eui/src-docs/src/components/guide_page/versions.json index aabf864044e..71f2e24c4a8 100644 --- a/packages/eui/src-docs/src/components/guide_page/versions.json +++ b/packages/eui/src-docs/src/components/guide_page/versions.json @@ -1,5 +1,6 @@ { "euiVersions": [ + "99.0.0", "98.2.1", "98.2.0", "98.1.0", diff --git a/packages/eui/src-docs/src/views/icon/icons.js b/packages/eui/src-docs/src/views/icon/icons.js index 5191843d857..e897ae29468 100644 --- a/packages/eui/src-docs/src/views/icon/icons.js +++ b/packages/eui/src-docs/src/views/icon/icons.js @@ -234,6 +234,7 @@ export const iconTypes = [ 'save', 'scale', 'search', + 'section', 'securitySignal', 'securitySignalDetected', 'securitySignalResolved', diff --git a/packages/eui/src-docs/src/views/icon/ml.js b/packages/eui/src-docs/src/views/icon/ml.js index a00ef75fd51..cf35431637d 100644 --- a/packages/eui/src-docs/src/views/icon/ml.js +++ b/packages/eui/src-docs/src/views/icon/ml.js @@ -19,6 +19,8 @@ const iconTypes = [ 'createPopulationJob', 'regressionJob', 'createSingleMetricJob', + 'createGenericJob', + 'createGeoJob', ]; export default () => ( diff --git a/packages/eui/src-docs/src/views/package/changelog_years.json b/packages/eui/src-docs/src/views/package/changelog_years.json index 66ca7acf290..6c709bc6dca 100644 --- a/packages/eui/src-docs/src/views/package/changelog_years.json +++ b/packages/eui/src-docs/src/views/package/changelog_years.json @@ -1,5 +1,6 @@ { "years": [ + 2025, 2024, 2023, 2022, diff --git a/packages/eui/src/components/icon/__snapshots__/icon.test.tsx.snap b/packages/eui/src/components/icon/__snapshots__/icon.test.tsx.snap index 5f04d92014a..695bd82c6f4 100644 --- a/packages/eui/src/components/icon/__snapshots__/icon.test.tsx.snap +++ b/packages/eui/src/components/icon/__snapshots__/icon.test.tsx.snap @@ -1922,6 +1922,50 @@ exports[`EuiIcon props type createAdvancedJob is rendered 1`] = ` `; +exports[`EuiIcon props type createGenericJob is rendered 1`] = ` + +`; + +exports[`EuiIcon props type createGeoJob is rendered 1`] = ` + +`; + exports[`EuiIcon props type createMultiMetricJob is rendered 1`] = ` {activePage + 1}, - total: {pageCount}, + page: {activePage + 1}, + total: {pageCount}, }} /> diff --git a/packages/eui/src/components/popover/input_popover.stories.tsx b/packages/eui/src/components/popover/input_popover.stories.tsx index 36a04f94558..eb7d4f8ecbf 100644 --- a/packages/eui/src/components/popover/input_popover.stories.tsx +++ b/packages/eui/src/components/popover/input_popover.stories.tsx @@ -37,7 +37,6 @@ const meta: Meta = { panelMinWidth: 0, offset: undefined, buffer: undefined, - hasDragDrop: false, panelClassName: '', popoverScreenReaderText: '', }, @@ -50,7 +49,6 @@ moveStorybookControlsToCategory( 'closePopover', 'disableFocusTrap', 'display', - 'hasDragDrop', 'isOpen', 'offset', 'onPositionChange', diff --git a/packages/eui/src/components/popover/popover.stories.tsx b/packages/eui/src/components/popover/popover.stories.tsx index 45c47dc62c4..0d0820d8adc 100644 --- a/packages/eui/src/components/popover/popover.stories.tsx +++ b/packages/eui/src/components/popover/popover.stories.tsx @@ -41,7 +41,6 @@ const meta: Meta = { // adding defaults for quicker/easier QA arrowChildren: '', attachToAnchor: false, - hasDragDrop: false, panelClassName: '', popoverScreenReaderText: '', }, diff --git a/packages/eui/src/components/popover/popover.tsx b/packages/eui/src/components/popover/popover.tsx index ec45cc3b036..fbe74fca30e 100644 --- a/packages/eui/src/components/popover/popover.tsx +++ b/packages/eui/src/components/popover/popover.tsx @@ -174,13 +174,6 @@ export interface EuiPopoverProps extends PropsWithChildren, CommonProps { * @default true */ repositionToCrossAxis?: boolean; - /** - * Must be set to true if using `EuiDragDropContext` within a popover, - * otherwise your nested drag & drop will have incorrect positioning - * - * @deprecated - use `usePortal` prop on children `EuiDraggable` components instead. - */ - hasDragDrop?: boolean; /** * By default, popover content inherits the z-index of the anchor * component; pass `zIndex` to override @@ -635,7 +628,6 @@ export class EuiPopover extends Component { arrowChildren, repositionOnScroll, repositionToCrossAxis, - hasDragDrop, zIndex, attachToAnchor, display, @@ -730,7 +722,6 @@ export class EuiPopover extends Component { position={this.state.arrowPosition} isAttached={attachToAnchor} className={classNames(panelClassName, panelProps?.className)} - hasDragDrop={hasDragDrop} hasShadow={false} paddingSize={panelPaddingSize} tabIndex={tabIndex} diff --git a/packages/eui/src/components/popover/popover_panel/__snapshots__/_popover_panel.test.tsx.snap b/packages/eui/src/components/popover/popover_panel/__snapshots__/_popover_panel.test.tsx.snap index f95ad7de7c2..baf859b0d97 100644 --- a/packages/eui/src/components/popover/popover_panel/__snapshots__/_popover_panel.test.tsx.snap +++ b/packages/eui/src/components/popover/popover_panel/__snapshots__/_popover_panel.test.tsx.snap @@ -9,13 +9,6 @@ exports[`EuiPopoverPanel is rendered 1`] = ` /> `; -exports[`EuiPopoverPanel props hasDragDrop is rendered 1`] = ` -
-`; - exports[`EuiPopoverPanel props isAttached is rendered 1`] = `
{ - const { euiTheme, colorMode } = euiThemeContext; + const { euiTheme } = euiThemeContext; const translateDistance = euiTheme.size.s; const animationSpeed = euiTheme.animation[openAnimationTiming]; @@ -119,49 +118,5 @@ export const euiPopoverPanelStyles = (euiThemeContext: UseEuiTheme) => { return this.bottom; }, }, - - // Has an arrow, but cannot have transform or filter CSS - they create a - // stacking context that messes up the drag/drop fixed positioning - hasDragDrop: { - hasDragDrop: css` - ${euiShadowMedium(euiThemeContext, { property: 'box-shadow' })} - - ${euiCanAnimate} { - transition: ${opacityTransition}; /* 2 */ - } - `, - // The offset transforms must be recreated in margins - top: css` - margin-block-start: ${translateDistance}; - /* Existing box-shadow of the popover is sufficient to see the arrow */ - `, - bottom: css` - margin-block-start: -${translateDistance}; - - .euiPopover__arrow { - filter: drop-shadow( - 0 -6px 6px ${getShadowColor(euiTheme.colors.shadow, 0.12, colorMode)} - ); - } - `, - left: css` - margin-inline-start: ${translateDistance}; - - .euiPopover__arrow { - filter: drop-shadow( - 6px 0 6px ${getShadowColor(euiTheme.colors.shadow, 0.12, colorMode)} - ); - } - `, - right: css` - margin-inline-start: -${translateDistance}; - - .euiPopover__arrow { - filter: drop-shadow( - -6px 0 6px ${getShadowColor(euiTheme.colors.shadow, 0.12, colorMode)} - ); - } - `, - }, }; }; diff --git a/packages/eui/src/components/popover/popover_panel/_popover_panel.test.tsx b/packages/eui/src/components/popover/popover_panel/_popover_panel.test.tsx index 99e88eb3acc..74a3beaa4c4 100644 --- a/packages/eui/src/components/popover/popover_panel/_popover_panel.test.tsx +++ b/packages/eui/src/components/popover/popover_panel/_popover_panel.test.tsx @@ -36,12 +36,6 @@ describe('EuiPopoverPanel', () => { expect(container.firstChild).toMatchSnapshot(); }); - test('hasDragDrop is rendered', () => { - const { container } = render(); - - expect(container.firstChild).toMatchSnapshot(); - }); - describe('position', () => { POSITIONS.forEach((position) => { test(`${position} is rendered`, () => { diff --git a/packages/eui/src/components/popover/popover_panel/_popover_panel.tsx b/packages/eui/src/components/popover/popover_panel/_popover_panel.tsx index 5bf66472a10..615d9bb6656 100644 --- a/packages/eui/src/components/popover/popover_panel/_popover_panel.tsx +++ b/packages/eui/src/components/popover/popover_panel/_popover_panel.tsx @@ -28,7 +28,6 @@ type EuiPopoverPanelInternalProps = { isOpen?: boolean; isAttached?: boolean; position?: EuiPopoverArrowPositions | null; - hasDragDrop?: boolean; }; /** @@ -37,15 +36,7 @@ type EuiPopoverPanelInternalProps = { */ export const EuiPopoverPanel: FunctionComponent< EuiPopoverPanelProps & EuiPopoverPanelInternalProps -> = ({ - children, - className, - isOpen, - isAttached, - hasDragDrop, - position, - ...rest -}) => { +> = ({ children, className, isOpen, isAttached, position, ...rest }) => { const classes = classNames('euiPopover__panel', className); const euiThemeContext = useEuiTheme(); @@ -61,13 +52,6 @@ export const EuiPopoverPanel: FunctionComponent< isOpen && styles.isOpen, ]; - if (hasDragDrop) { - return [ - ...sharedStyles, - styles.hasDragDrop.hasDragDrop, - position && styles.hasDragDrop[position], - ]; - } if (isAttached) { return [ ...sharedStyles, @@ -80,7 +64,7 @@ export const EuiPopoverPanel: FunctionComponent< styles.hasTransform.hasTransform, isOpen && position && styles.hasTransform[position], ]; - }, [euiThemeContext, isOpen, position, isAttached, hasDragDrop]); + }, [euiThemeContext, isOpen, position, isAttached]); return ( = [ 'save', 'scale', 'search', + 'section', 'securitySignal', 'securitySignalDetected', 'securitySignalResolved', diff --git a/packages/website/docs/components/display/icons/icon_types_ml.ts b/packages/website/docs/components/display/icons/icon_types_ml.ts index b37e4fafc9a..9e6620f9537 100644 --- a/packages/website/docs/components/display/icons/icon_types_ml.ts +++ b/packages/website/docs/components/display/icons/icon_types_ml.ts @@ -9,4 +9,6 @@ export const iconTypesML: Array = [ 'createPopulationJob', 'regressionJob', 'createSingleMetricJob', + 'createGenericJob', + 'createGeoJob', ]; diff --git a/packages/website/static/versions.json b/packages/website/static/versions.json index aabf864044e..71f2e24c4a8 100644 --- a/packages/website/static/versions.json +++ b/packages/website/static/versions.json @@ -1,5 +1,6 @@ { "euiVersions": [ + "99.0.0", "98.2.1", "98.2.0", "98.1.0",