@elastic/eui-test-helpers 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +4 -0
  2. package/lib/cjs/components/accordion/selectors.d.ts +15 -0
  3. package/lib/cjs/components/accordion/selectors.js +29 -0
  4. package/lib/cjs/components/flyout/selectors.d.ts +10 -0
  5. package/lib/cjs/components/flyout/selectors.js +24 -0
  6. package/lib/cjs/components/modal/selectors.d.ts +11 -0
  7. package/lib/cjs/components/modal/selectors.js +25 -0
  8. package/lib/cjs/components/popover/selectors.d.ts +11 -0
  9. package/lib/cjs/components/popover/selectors.js +25 -0
  10. package/lib/cjs/index.d.ts +4 -0
  11. package/lib/cjs/index.js +30 -2
  12. package/lib/cjs/playwright/components/accordion/object.d.ts +16 -0
  13. package/lib/cjs/playwright/components/accordion/object.js +39 -0
  14. package/lib/cjs/playwright/components/combo_box/object.d.ts +9 -2
  15. package/lib/cjs/playwright/components/combo_box/object.js +23 -3
  16. package/lib/cjs/playwright/components/flyout/object.d.ts +17 -0
  17. package/lib/cjs/playwright/components/flyout/object.js +37 -0
  18. package/lib/cjs/playwright/components/modal/object.d.ts +15 -0
  19. package/lib/cjs/playwright/components/modal/object.js +35 -0
  20. package/lib/cjs/playwright/components/popover/object.d.ts +26 -0
  21. package/lib/cjs/playwright/components/popover/object.js +72 -0
  22. package/lib/cjs/storybook.d.ts +1 -1
  23. package/lib/cjs/storybook.js +1 -1
  24. package/lib/esm/components/accordion/selectors.d.ts +15 -0
  25. package/lib/esm/components/accordion/selectors.js +23 -0
  26. package/lib/esm/components/accordion/selectors.js.map +1 -0
  27. package/lib/esm/components/flyout/selectors.d.ts +10 -0
  28. package/lib/esm/components/flyout/selectors.js +18 -0
  29. package/lib/esm/components/flyout/selectors.js.map +1 -0
  30. package/lib/esm/components/modal/selectors.d.ts +11 -0
  31. package/lib/esm/components/modal/selectors.js +19 -0
  32. package/lib/esm/components/modal/selectors.js.map +1 -0
  33. package/lib/esm/components/popover/selectors.d.ts +11 -0
  34. package/lib/esm/components/popover/selectors.js +19 -0
  35. package/lib/esm/components/popover/selectors.js.map +1 -0
  36. package/lib/esm/index.d.ts +4 -0
  37. package/lib/esm/index.js +4 -0
  38. package/lib/esm/index.js.map +1 -1
  39. package/lib/esm/playwright/components/accordion/object.d.ts +16 -0
  40. package/lib/esm/playwright/components/accordion/object.js +30 -0
  41. package/lib/esm/playwright/components/accordion/object.js.map +1 -0
  42. package/lib/esm/playwright/components/combo_box/object.d.ts +9 -2
  43. package/lib/esm/playwright/components/combo_box/object.js +23 -3
  44. package/lib/esm/playwright/components/combo_box/object.js.map +1 -1
  45. package/lib/esm/playwright/components/flyout/object.d.ts +17 -0
  46. package/lib/esm/playwright/components/flyout/object.js +29 -0
  47. package/lib/esm/playwright/components/flyout/object.js.map +1 -0
  48. package/lib/esm/playwright/components/modal/object.d.ts +15 -0
  49. package/lib/esm/playwright/components/modal/object.js +27 -0
  50. package/lib/esm/playwright/components/modal/object.js.map +1 -0
  51. package/lib/esm/playwright/components/popover/object.d.ts +26 -0
  52. package/lib/esm/playwright/components/popover/object.js +58 -0
  53. package/lib/esm/playwright/components/popover/object.js.map +1 -0
  54. package/lib/esm/storybook.d.ts +1 -1
  55. package/lib/esm/storybook.js +1 -1
  56. package/package.json +1 -1
  57. package/src/components/accordion/README.md +28 -0
  58. package/src/components/flyout/README.md +26 -0
  59. package/src/components/modal/README.md +27 -0
  60. package/src/components/popover/README.md +29 -0
@@ -0,0 +1,29 @@
1
+ # EuiPopoverObject
2
+
3
+ Playwright Component Object for [EuiPopover](https://eui.elastic.co/docs/components/containers/popover/).
4
+
5
+ ## Usage
6
+
7
+ ```ts
8
+ import { EuiPopoverObject } from '@elastic/eui-test-helpers';
9
+
10
+ const popover = new EuiPopoverObject(page, 'myPopoverToggle');
11
+ await popover.open();
12
+ await popover.close();
13
+ ```
14
+
15
+ Set `data-test-subj` on the toggle button (the `button` prop's own element), not on `EuiPopover` itself. `EuiPopover` spreads unrecognized props onto its outer anchor wrapper, not the toggle. `EuiPopover` only manages `aria-expanded`/`aria-controls` on a button-like toggle (a `<button>` or `role="button"`), which the component-type guard also relies on, so a non-button toggle is not supported.
16
+
17
+ ## API
18
+
19
+ | Member | Description |
20
+ |---|---|
21
+ | `open()` | Opens the popover and returns once the panel is open. A no-op if it is already open. |
22
+ | `close()` | Closes the popover and returns once the panel is removed. A no-op if it is already closed. |
23
+
24
+ Both decide whether to click from `aria-expanded`, which `EuiPopover` sets on the toggle synchronously with the open state. The panel itself lags that: it gets `data-popover-open` a frame after opening, and stays mounted for its 250ms closing transition. Both methods wait for the panel, found through the toggle's `aria-controls`, so callers can act on or assert against it right away.
25
+
26
+ ## Deliberately out of scope
27
+
28
+ - **Reading open state**: assert directly on `locator`, e.g. `expect(popover.locator).toHaveAttribute('aria-expanded', 'true')`.
29
+ - **The popover panel**: not this component's concern. Scope another Component Object (e.g. `EuiSelectableObject`) to the panel's own `data-test-subj` for its contents.