@ionic/core 8.1.2-nightly.20240510 → 8.1.2-nightly.20240514

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.
@@ -5,10 +5,11 @@ import { expect } from "@playwright/test";
5
5
  import { configs, test } from "../../../../utils/test/playwright/index";
6
6
  configs().forEach(({ config, title }) => {
7
7
  test.describe(title('accordion: a11y'), () => {
8
- test('accordions should be keyboard navigable', async ({ page, skip, browserName }) => {
9
- // TODO(FW-1764): remove skip once issue is resolved
8
+ // TODO(ROU-8157): remove skip once the keyboard navigation is working again
9
+ test.skip('accordions should be keyboard navigable', async ({ page, skip, browserName }) => {
10
+ // TODO(ROU-5358): remove skip once issue is resolved
10
11
  skip.browser('firefox', 'https://github.com/ionic-team/ionic-framework/issues/25070');
11
- // TODO (FW-2979)
12
+ // TODO (ROU-5437)
12
13
  skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.');
13
14
  await page.goto(`/src/components/accordion/test/a11y`, config);
14
15
  const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab';
@@ -133,7 +133,9 @@ configs({ directions: ['ltr'] }).forEach(({ config, title }) => {
133
133
  */
134
134
  configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
135
135
  test.describe(title('alert: font scaling'), () => {
136
- test('should scale text on larger font sizes', async ({ page }) => {
136
+ test('should scale text on larger font sizes', async ({ page, skip }) => {
137
+ // TODO(ROU-8158): unskip this test when a solution is found
138
+ skip.browser('chromium', 'Rendering is flaky in Chrome.');
137
139
  await page.setContent(`
138
140
  <style>
139
141
  html {
@@ -11,7 +11,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ config, screenshot, t
11
11
  test.describe('adding a breadcrumb item', () => {
12
12
  test('should update the active item', async ({ page }) => {
13
13
  const breadcrumbItems = page.locator('ion-breadcrumb');
14
- const addItemButton = page.locator('ion-button#add-btn');
14
+ const addItemButton = page.locator('#add-btn');
15
15
  await expect(breadcrumbItems).toHaveCount(4);
16
16
  await addItemButton.click();
17
17
  await page.waitForChanges();
@@ -8,7 +8,7 @@ configs().forEach(({ title, screenshot, config }) => {
8
8
  test('should position the time picker relative to the click target', async ({ page }) => {
9
9
  await page.goto('/src/components/datetime/test/position', config);
10
10
  const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
11
- const openDateTimeBtn = page.locator('ion-button#open-datetime');
11
+ const openDateTimeBtn = page.locator('#open-datetime');
12
12
  await openDateTimeBtn.click();
13
13
  await ionPopoverDidPresent.next();
14
14
  await page.locator('.datetime-ready').waitFor();
@@ -60,7 +60,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, c
60
60
  const ionLoadingDidPresent = await page.spyOnEvent('ionLoadingDidPresent');
61
61
  await page.click('#html-content-loading');
62
62
  await ionLoadingDidPresent.next();
63
- const button = page.locator('ion-loading ion-button');
63
+ const button = page.locator('ion-loading button');
64
64
  if (browserName === 'webkit') {
65
65
  await page.keyboard.down('Alt');
66
66
  }
@@ -26,7 +26,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
26
26
  });
27
27
  test('should trap focus', async ({ page, skip, browserName }) => {
28
28
  skip.browser('firefox', 'Firefox incorrectly allows keyboard focus to move to ion-content');
29
- // TODO (FW-2979)
29
+ // TODO (ROU-5437)
30
30
  skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.');
31
31
  const ionDidOpen = await page.spyOnEvent('ionDidOpen');
32
32
  await page.click('#open-start');
@@ -21,7 +21,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
21
21
  await modal.evaluate((modal) => {
22
22
  var _a;
23
23
  modal.remove();
24
- (_a = document.querySelector('ion-button')) === null || _a === void 0 ? void 0 : _a.insertAdjacentElement('afterend', modal);
24
+ (_a = document.querySelector('button')) === null || _a === void 0 ? void 0 : _a.insertAdjacentElement('afterend', modal);
25
25
  });
26
26
  await page.waitForChanges();
27
27
  await button.click();
@@ -17,7 +17,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
17
17
  });
18
18
  test.describe('pushing a new page', () => {
19
19
  test('should render the pushed component', async ({ page }) => {
20
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
20
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
21
21
  const pageOne = page.locator('page-one');
22
22
  const pageTwo = page.locator('page-two');
23
23
  await pageTwoButton.click();
@@ -27,7 +27,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
27
27
  await expect(pageOne).not.toBeVisible();
28
28
  });
29
29
  test('should render the back button', async ({ page }) => {
30
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
30
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
31
31
  const pageTwoBackButton = page.locator('page-two ion-back-button');
32
32
  await pageTwoButton.click();
33
33
  await page.waitForChanges();
@@ -37,7 +37,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
37
37
  test('back button should pop to the previous page', async ({ page }) => {
38
38
  const pageOne = page.locator('page-one');
39
39
  const pageTwo = page.locator('page-two');
40
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
40
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
41
41
  const pageTwoBackButton = page.locator('page-two ion-back-button');
42
42
  await pageTwoButton.click();
43
43
  await page.waitForChanges();
@@ -52,8 +52,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
52
52
  const pageOne = page.locator('page-one');
53
53
  const pageTwo = page.locator('page-two');
54
54
  const pageThree = page.locator('page-three');
55
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
56
- const pageThreeButton = page.locator('ion-button:has-text("Go to Page Three")');
55
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
56
+ const pageThreeButton = page.locator('button:has-text("Go to Page Three")');
57
57
  await pageTwoButton.click();
58
58
  await page.waitForChanges();
59
59
  await expect(pageOne).toHaveCount(1);
@@ -15,8 +15,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
15
15
  test('should push pages with nested ion-nav', async ({ page }) => {
16
16
  const pageOne = page.locator('page-one');
17
17
  const pageTwo = page.locator('page-two');
18
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page 2")');
19
- const pageTwoTwoButton = page.locator('ion-button:has-text("Go to Page 2.2")');
18
+ const pageTwoButton = page.locator('button:has-text("Go to Page 2")');
19
+ const pageTwoTwoButton = page.locator('button:has-text("Go to Page 2.2")');
20
20
  await pageTwoButton.click();
21
21
  await page.waitForChanges();
22
22
  const pageTwoOne = page.locator('page-two-one');
@@ -28,7 +28,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
28
28
  await page.waitForChanges();
29
29
  await expect(pageTwoOne).toHaveCount(1);
30
30
  await expect(pageTwoTwo).toBeVisible();
31
- const pageThreeButton = page.locator('ion-button:has-text("Go to Page 3")');
31
+ const pageThreeButton = page.locator('button:has-text("Go to Page 3")');
32
32
  await pageThreeButton.click();
33
33
  await page.waitForChanges();
34
34
  const pageThree = page.locator('page-three');
@@ -38,15 +38,15 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
38
38
  });
39
39
  test.describe('back button', () => {
40
40
  test('should work with nested ion-nav', async ({ page }) => {
41
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page 2")');
42
- const pageTwoTwoButton = page.locator('ion-button:has-text("Go to Page 2.2")');
41
+ const pageTwoButton = page.locator('button:has-text("Go to Page 2")');
42
+ const pageTwoTwoButton = page.locator('button:has-text("Go to Page 2.2")');
43
43
  await pageTwoButton.click();
44
44
  await page.waitForChanges();
45
45
  const pageTwoOne = page.locator('page-two-one');
46
46
  const pageTwoTwo = page.locator('page-two-two');
47
47
  await pageTwoTwoButton.click();
48
48
  await page.waitForChanges();
49
- const pageThreeButton = page.locator('ion-button:has-text("Go to Page 3")');
49
+ const pageThreeButton = page.locator('button:has-text("Go to Page 3")');
50
50
  const pageThreeBackButton = page.locator('page-three ion-back-button');
51
51
  await pageThreeButton.click();
52
52
  await page.waitForChanges();
@@ -21,8 +21,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
21
21
  const pageRoot = page.locator('page-root');
22
22
  const pageOne = page.locator('page-one');
23
23
  const pageTwo = page.locator('page-two');
24
- const pageOneButton = page.locator('ion-button:has-text("Go to Page One")');
25
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
24
+ const pageOneButton = page.locator('button:has-text("Go to Page One")');
25
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
26
26
  await pageOneButton.click();
27
27
  await page.waitForChanges();
28
28
  await expect(pageOne).toBeVisible();
@@ -37,7 +37,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
37
37
  await expect(pageOne).toHaveCount(1);
38
38
  });
39
39
  test('should render the back button', async ({ page }) => {
40
- const pageOneButton = page.locator('ion-button:has-text("Go to Page One")');
40
+ const pageOneButton = page.locator('button:has-text("Go to Page One")');
41
41
  const pageOneBackButton = page.locator('page-one ion-back-button');
42
42
  await pageOneButton.click();
43
43
  await page.waitForChanges();
@@ -47,7 +47,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
47
47
  test('back button should pop to the previous page', async ({ page }) => {
48
48
  const pageRoot = page.locator('page-root');
49
49
  const pageOne = page.locator('page-one');
50
- const pageOneButton = page.locator('ion-button:has-text("Go to Page One")');
50
+ const pageOneButton = page.locator('button:has-text("Go to Page One")');
51
51
  const pageOneBackButton = page.locator('page-one ion-back-button');
52
52
  await pageOneButton.click();
53
53
  await page.waitForChanges();
@@ -63,9 +63,9 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
63
63
  const pageOne = page.locator('page-one');
64
64
  const pageTwo = page.locator('page-two');
65
65
  const pageThree = page.locator('page-three');
66
- const pageOneButton = page.locator('ion-button:has-text("Go to Page One")');
67
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
68
- const pageThreeButton = page.locator('ion-button:has-text("Go to Page Three")');
66
+ const pageOneButton = page.locator('button:has-text("Go to Page One")');
67
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
68
+ const pageThreeButton = page.locator('button:has-text("Go to Page Three")');
69
69
  await pageOneButton.click();
70
70
  await page.waitForChanges();
71
71
  await expect(pageRoot).toHaveCount(1);
@@ -86,7 +86,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
86
86
  </ion-picker>
87
87
  `, config);
88
88
  });
89
- test('tabbing should correctly move focus between columns', async ({ page }) => {
89
+ // TODO(FW-6232): remove this skip when tabbing is working properly
90
+ test.skip('tabbing should correctly move focus between columns', async ({ page }) => {
90
91
  const firstColumn = page.locator('ion-picker-column#first');
91
92
  const secondColumn = page.locator('ion-picker-column#second');
92
93
  // Focus first column
@@ -97,7 +98,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
97
98
  await page.keyboard.press('Tab');
98
99
  await expect(secondColumn).toBeFocused();
99
100
  });
100
- test('tabbing should correctly move focus back', async ({ page }) => {
101
+ // TODO(FW-6232): remove this skip when tabbing is working properly
102
+ test.skip('tabbing should correctly move focus back', async ({ page }) => {
101
103
  const firstColumn = page.locator('ion-picker-column#first');
102
104
  const secondColumn = page.locator('ion-picker-column#second');
103
105
  await secondColumn.evaluate((el) => el.setFocus());
@@ -8,7 +8,8 @@ import { configs, test } from "../../../../utils/test/playwright/index";
8
8
  */
9
9
  configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
10
10
  test.describe(title('picker: keyboard entry'), () => {
11
- test('should scroll to and update the value prop for a single column', async ({ page }) => {
11
+ // TODO(FW-6232): remove this skip when keyboard entry is working properly
12
+ test.skip('should scroll to and update the value prop for a single column', async ({ page }) => {
12
13
  await page.setContent(`
13
14
  <ion-picker>
14
15
  <ion-picker-column></ion-picker-column>
@@ -106,7 +107,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
106
107
  await expect(secondIonChange).toHaveReceivedEventDetail({ value: 24 });
107
108
  await expect(secondColumn).toHaveJSProperty('value', 24);
108
109
  });
109
- test('should select 00', async ({ page }) => {
110
+ // TODO(FW-6232): remove this skip when keyboard entry is working properly
111
+ test.skip('should select 00', async ({ page }) => {
110
112
  await page.setContent(`
111
113
  <ion-picker>
112
114
  <ion-picker-column></ion-picker-column>
@@ -32,7 +32,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
32
32
  await popover.evaluate((popover) => {
33
33
  var _a;
34
34
  popover.remove();
35
- (_a = document.querySelector('ion-button')) === null || _a === void 0 ? void 0 : _a.insertAdjacentElement('afterend', popover);
35
+ (_a = document.querySelector('button')) === null || _a === void 0 ? void 0 : _a.insertAdjacentElement('afterend', popover);
36
36
  });
37
37
  await page.waitForChanges();
38
38
  await button.click();
@@ -32,7 +32,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, config }) => {
32
32
  });
33
33
  test.describe('select: popover', () => {
34
34
  test('it should open a popover select', async ({ page, skip }) => {
35
- // TODO (FW-2979)
35
+ // TODO (ROU-5437)
36
36
  skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.');
37
37
  const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
38
38
  await page.click('#customPopoverSelect');
@@ -6,7 +6,7 @@ import { configs, test } from "../../../../utils/test/playwright/index";
6
6
  configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
7
7
  test.describe(title('select: disabled options'), () => {
8
8
  test('should not focus a disabled option when no value is set', async ({ page, skip }) => {
9
- // TODO (FW-2979)
9
+ // TODO (ROU-5437)
10
10
  skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.');
11
11
  test.info().annotations.push({
12
12
  type: 'issue',
@@ -18,7 +18,7 @@ const checkedOptions = [
18
18
  configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
19
19
  test.describe(title('select-popover: basic'), () => {
20
20
  test.beforeEach(({ browserName }) => {
21
- test.skip(browserName === 'webkit', 'https://ionic-cloud.atlassian.net/browse/FW-2979');
21
+ test.skip(browserName === 'webkit', 'ROU-5437');
22
22
  });
23
23
  test.describe('single selection', () => {
24
24
  let selectPopoverPage;
@@ -44,7 +44,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
44
44
  await expect(selectPopoverPage.popover).not.toBeVisible();
45
45
  });
46
46
  test('pressing Space on a selected option should dismiss the popover', async ({ browserName }) => {
47
- test.skip(browserName === 'firefox', 'Same behavior as https://ionic-cloud.atlassian.net/browse/FW-2979');
47
+ test.skip(browserName === 'firefox', 'Same behavior as ROU-5437');
48
48
  await selectPopoverPage.setup(config, checkedOptions, false);
49
49
  await selectPopoverPage.pressSpaceOnOption('apple');
50
50
  await selectPopoverPage.ionPopoverDidDismiss.next();
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2024-05-10T06:07:50",
2
+ "timestamp": "2024-05-14T06:09:26",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.17.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "8.1.2-nightly.20240510",
3
+ "version": "8.1.2-nightly.20240514",
4
4
  "description": "Base components for Ionic",
5
5
  "keywords": [
6
6
  "ionic",