semmet-angular 0.25.0 → 0.27.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 (176) hide show
  1. package/package.json +1 -1
  2. package/src/accordion/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +40 -0
  3. package/src/accordion/index.js +1 -1
  4. package/src/accordion/index.js.map +1 -1
  5. package/src/accordion/index.ts +1 -1
  6. package/src/alert/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +22 -0
  7. package/src/alert/index.js +1 -1
  8. package/src/alert/index.js.map +1 -1
  9. package/src/alert/index.ts +1 -1
  10. package/src/alert-dialog/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +29 -0
  11. package/src/alert-dialog/index.js +1 -1
  12. package/src/alert-dialog/index.js.map +1 -1
  13. package/src/alert-dialog/index.ts +1 -1
  14. package/src/badge/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +13 -0
  15. package/src/badge/index.js +1 -1
  16. package/src/badge/index.js.map +1 -1
  17. package/src/badge/index.ts +1 -1
  18. package/src/breadcrumb/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +13 -0
  19. package/src/breadcrumb/index.js +1 -1
  20. package/src/breadcrumb/index.js.map +1 -1
  21. package/src/breadcrumb/index.ts +1 -1
  22. package/src/button/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +25 -0
  23. package/src/button/index.js +1 -1
  24. package/src/button/index.js.map +1 -1
  25. package/src/button/index.ts +1 -1
  26. package/src/button-group/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +29 -0
  27. package/src/button-group/index.js +1 -1
  28. package/src/button-group/index.js.map +1 -1
  29. package/src/button-group/index.ts +1 -1
  30. package/src/card/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +16 -0
  31. package/src/card/index.js +1 -1
  32. package/src/card/index.js.map +1 -1
  33. package/src/card/index.ts +1 -1
  34. package/src/carousel/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +30 -0
  35. package/src/carousel/index.js +1 -1
  36. package/src/carousel/index.js.map +1 -1
  37. package/src/carousel/index.ts +1 -1
  38. package/src/checkbox/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +23 -0
  39. package/src/checkbox/index.js +1 -1
  40. package/src/checkbox/index.js.map +1 -1
  41. package/src/checkbox/index.ts +1 -1
  42. package/src/close-button/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +19 -0
  43. package/src/close-button/index.js +1 -1
  44. package/src/close-button/index.js.map +1 -1
  45. package/src/close-button/index.ts +1 -1
  46. package/src/combobox/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +27 -0
  47. package/src/combobox/index.js +1 -1
  48. package/src/combobox/index.js.map +1 -1
  49. package/src/combobox/index.ts +1 -1
  50. package/src/dialog/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +29 -0
  51. package/src/dialog/index.js +1 -1
  52. package/src/dialog/index.js.map +1 -1
  53. package/src/dialog/index.ts +1 -1
  54. package/src/disclosure/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +28 -0
  55. package/src/disclosure/index.js +1 -1
  56. package/src/disclosure/index.js.map +1 -1
  57. package/src/disclosure/index.ts +1 -1
  58. package/src/form/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +21 -0
  59. package/src/form/index.js +1 -1
  60. package/src/form/index.js.map +1 -1
  61. package/src/form/index.ts +1 -1
  62. package/src/input/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +22 -0
  63. package/src/input/index.js +1 -1
  64. package/src/input/index.js.map +1 -1
  65. package/src/input/index.ts +1 -1
  66. package/src/input-group/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +16 -0
  67. package/src/input-group/index.js +1 -1
  68. package/src/input-group/index.js.map +1 -1
  69. package/src/input-group/index.ts +1 -1
  70. package/src/landmarks/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +15 -0
  71. package/src/landmarks/index.js +1 -1
  72. package/src/landmarks/index.js.map +1 -1
  73. package/src/landmarks/index.ts +1 -1
  74. package/src/list-group/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +26 -0
  75. package/src/list-group/index.js +1 -1
  76. package/src/list-group/index.js.map +1 -1
  77. package/src/list-group/index.ts +1 -1
  78. package/src/listbox/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +31 -0
  79. package/src/listbox/index.js +1 -1
  80. package/src/listbox/index.js.map +1 -1
  81. package/src/listbox/index.ts +1 -1
  82. package/src/menu-button/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +30 -0
  83. package/src/menu-button/index.js +1 -1
  84. package/src/menu-button/index.js.map +1 -1
  85. package/src/menu-button/index.ts +1 -1
  86. package/src/meter/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +16 -0
  87. package/src/meter/index.js +1 -1
  88. package/src/meter/index.js.map +1 -1
  89. package/src/meter/index.ts +1 -1
  90. package/src/navbar/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +27 -0
  91. package/src/navbar/index.js +1 -1
  92. package/src/navbar/index.js.map +1 -1
  93. package/src/navbar/index.ts +1 -1
  94. package/src/navigation-menu/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +28 -0
  95. package/src/navigation-menu/index.js +1 -1
  96. package/src/navigation-menu/index.js.map +1 -1
  97. package/src/navigation-menu/index.ts +1 -1
  98. package/src/ng-add/index.js +22 -0
  99. package/src/ng-add/index.js.map +1 -1
  100. package/src/ng-add/index.ts +28 -0
  101. package/src/offcanvas/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +28 -0
  102. package/src/offcanvas/index.js +1 -1
  103. package/src/offcanvas/index.js.map +1 -1
  104. package/src/offcanvas/index.ts +1 -1
  105. package/src/pagination/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +22 -0
  106. package/src/pagination/index.js +1 -1
  107. package/src/pagination/index.js.map +1 -1
  108. package/src/pagination/index.ts +1 -1
  109. package/src/popover/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +28 -0
  110. package/src/popover/index.js +1 -1
  111. package/src/popover/index.js.map +1 -1
  112. package/src/popover/index.ts +1 -1
  113. package/src/progress-bar/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +16 -0
  114. package/src/progress-bar/index.js +1 -1
  115. package/src/progress-bar/index.js.map +1 -1
  116. package/src/progress-bar/index.ts +1 -1
  117. package/src/radio-group/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +30 -0
  118. package/src/radio-group/index.js +1 -1
  119. package/src/radio-group/index.js.map +1 -1
  120. package/src/radio-group/index.ts +1 -1
  121. package/src/select/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +26 -0
  122. package/src/select/index.js +1 -1
  123. package/src/select/index.js.map +1 -1
  124. package/src/select/index.ts +1 -1
  125. package/src/skeleton/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +16 -0
  126. package/src/skeleton/index.js +1 -1
  127. package/src/skeleton/index.js.map +1 -1
  128. package/src/skeleton/index.ts +1 -1
  129. package/src/skip-link/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +13 -0
  130. package/src/skip-link/index.js +1 -1
  131. package/src/skip-link/index.js.map +1 -1
  132. package/src/skip-link/index.ts +1 -1
  133. package/src/slider/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +23 -0
  134. package/src/slider/index.js +1 -1
  135. package/src/slider/index.js.map +1 -1
  136. package/src/slider/index.ts +1 -1
  137. package/src/spinbutton/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +23 -0
  138. package/src/spinbutton/index.js +1 -1
  139. package/src/spinbutton/index.js.map +1 -1
  140. package/src/spinbutton/index.ts +1 -1
  141. package/src/spinner/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +17 -0
  142. package/src/spinner/index.js +1 -1
  143. package/src/spinner/index.js.map +1 -1
  144. package/src/spinner/index.ts +1 -1
  145. package/src/switch/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +20 -0
  146. package/src/switch/index.js +1 -1
  147. package/src/switch/index.js.map +1 -1
  148. package/src/switch/index.ts +1 -1
  149. package/src/table/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +15 -0
  150. package/src/table/index.js +1 -1
  151. package/src/table/index.js.map +1 -1
  152. package/src/table/index.ts +1 -1
  153. package/src/tabs/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +34 -0
  154. package/src/tabs/index.js +1 -1
  155. package/src/tabs/index.js.map +1 -1
  156. package/src/tabs/index.ts +1 -1
  157. package/src/textarea/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +22 -0
  158. package/src/textarea/index.js +1 -1
  159. package/src/textarea/index.js.map +1 -1
  160. package/src/textarea/index.ts +1 -1
  161. package/src/toast/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +29 -0
  162. package/src/toast/index.js +1 -1
  163. package/src/toast/index.js.map +1 -1
  164. package/src/toast/index.ts +1 -1
  165. package/src/toolbar/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +30 -0
  166. package/src/toolbar/index.js +1 -1
  167. package/src/toolbar/index.js.map +1 -1
  168. package/src/toolbar/index.ts +1 -1
  169. package/src/tooltip/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +25 -0
  170. package/src/tooltip/index.js +1 -1
  171. package/src/tooltip/index.js.map +1 -1
  172. package/src/tooltip/index.ts +1 -1
  173. package/src/tree-view/files/__name@dasherize__/__name@dasherize__.e2e-spec.ts.template +28 -0
  174. package/src/tree-view/index.js +1 -1
  175. package/src/tree-view/index.js.map +1 -1
  176. package/src/tree-view/index.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,SAAS,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,SAAS,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const offcanvas = createAriaComponentSchematic({ includeSharedUnitTest: false });
3
+ export const offcanvas = createAriaComponentSchematic({ includeSharedUnitTest: false, includeSharedE2eTest: false });
@@ -0,0 +1,22 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('moves mounted pagination current page with next and previous controls', async ({ page }) => {
5
+ await page.goto('/');
6
+
7
+ const component = page.locator('<%= selector %>').first();
8
+ test.skip(
9
+ (await component.count()) === 0,
10
+ 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.'
11
+ );
12
+
13
+ const current = component.locator('[aria-current="page"]').first();
14
+ await expect(current).toBeVisible();
15
+
16
+ await component.getByRole('button', { name: /next/i }).click();
17
+ await expect(component.locator('[aria-current="page"]').first()).not.toHaveText(await current.textContent() ?? '');
18
+
19
+ await component.getByRole('button', { name: /previous/i }).click();
20
+ await expect(current).toHaveAttribute('aria-current', 'page');
21
+ });
22
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pagination = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.pagination = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false });
5
+ exports.pagination = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false, includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,UAAU,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,UAAU,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const pagination = createAriaComponentSchematic({ includeSharedUnitTest: false });
3
+ export const pagination = createAriaComponentSchematic({ includeSharedUnitTest: false, includeSharedE2eTest: false });
@@ -0,0 +1,28 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('opens mounted popover dialog and closes it with Escape', async ({ page }) => {
5
+ await page.goto('/');
6
+
7
+ const component = page.locator('<%= selector %>').first();
8
+ test.skip(
9
+ (await component.count()) === 0,
10
+ 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.'
11
+ );
12
+
13
+ const trigger = component.locator('[aria-haspopup="dialog"]').first();
14
+ await expect(trigger).toBeVisible();
15
+ await expect(trigger).toHaveAttribute('aria-expanded', 'false');
16
+
17
+ await trigger.click();
18
+ await expect(trigger).toHaveAttribute('aria-expanded', 'true');
19
+
20
+ const popover = component.getByRole('dialog').first();
21
+ await expect(popover).toBeVisible();
22
+ await expect(popover).toHaveAttribute('aria-labelledby', /.+/);
23
+
24
+ await popover.press('Escape');
25
+ await expect(trigger).toHaveAttribute('aria-expanded', 'false');
26
+ await expect(popover).toBeHidden();
27
+ });
28
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.popover = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.popover = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false });
5
+ exports.popover = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false, includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,OAAO,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,OAAO,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const popover = createAriaComponentSchematic({ includeSharedUnitTest: false });
3
+ export const popover = createAriaComponentSchematic({ includeSharedUnitTest: false, includeSharedE2eTest: false });
@@ -0,0 +1,16 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('advances mounted native progress value', async ({ page }) => {
5
+ await page.goto('/');
6
+ const component = page.locator('<%= selector %>').first();
7
+ test.skip((await component.count()) === 0, 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.');
8
+
9
+ const progress = component.locator('progress').first();
10
+ await expect(progress).toBeVisible();
11
+ await expect(progress).toHaveAttribute('max', '100');
12
+ const initialValue = await progress.getAttribute('value');
13
+ await component.getByRole('button').click();
14
+ await expect(progress).not.toHaveAttribute('value', initialValue ?? '');
15
+ });
16
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.progressBar = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.progressBar = (0, generate_component_1.createAriaComponentSchematic)();
5
+ exports.progressBar = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,WAAW,GAAG,IAAA,iDAA4B,GAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,WAAW,GAAG,IAAA,iDAA4B,EAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const progressBar = createAriaComponentSchematic();
3
+ export const progressBar = createAriaComponentSchematic({ includeSharedE2eTest: false });
@@ -0,0 +1,30 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('selects mounted radio options with click and keyboard', async ({ page }) => {
5
+ await page.goto('/');
6
+
7
+ const component = page.locator('<%= selector %>').first();
8
+ test.skip(
9
+ (await component.count()) === 0,
10
+ 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.'
11
+ );
12
+
13
+ const radios = component.getByRole('radio');
14
+ test.skip(
15
+ (await radios.count()) < 2,
16
+ 'Mount at least two radio options to enable the generated radio-group interaction e2e test.'
17
+ );
18
+
19
+ const first = radios.nth(0);
20
+ const second = radios.nth(1);
21
+
22
+ await expect(first).toHaveAttribute('aria-checked', 'true');
23
+ await second.click();
24
+ await expect(second).toHaveAttribute('aria-checked', 'true');
25
+ await expect(first).toHaveAttribute('aria-checked', 'false');
26
+
27
+ await second.press('ArrowLeft');
28
+ await expect(first).toHaveAttribute('aria-checked', 'true');
29
+ });
30
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.radioGroup = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.radioGroup = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false });
5
+ exports.radioGroup = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false, includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,UAAU,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,UAAU,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const radioGroup = createAriaComponentSchematic({ includeSharedUnitTest: false });
3
+ export const radioGroup = createAriaComponentSchematic({ includeSharedUnitTest: false, includeSharedE2eTest: false });
@@ -0,0 +1,26 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('changes mounted native select value', async ({ page }) => {
5
+ await page.goto('/');
6
+
7
+ const component = page.locator('<%= selector %>').first();
8
+ test.skip(
9
+ (await component.count()) === 0,
10
+ 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.'
11
+ );
12
+
13
+ const select = component.locator('select').first();
14
+ await expect(select).toBeVisible();
15
+
16
+ const options = select.locator('option:not([disabled])');
17
+ test.skip(
18
+ (await options.count()) < 2,
19
+ 'Mount at least two enabled select options to enable this generated select interaction e2e test.'
20
+ );
21
+
22
+ const nextValue = await options.nth(1).getAttribute('value');
23
+ await select.selectOption(nextValue ?? '');
24
+ await expect(select).toHaveValue(nextValue ?? '');
25
+ });
26
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.select = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.select = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false });
5
+ exports.select = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false, includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,MAAM,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,MAAM,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const select = createAriaComponentSchematic({ includeSharedUnitTest: false });
3
+ export const select = createAriaComponentSchematic({ includeSharedUnitTest: false, includeSharedE2eTest: false });
@@ -0,0 +1,16 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('renders mounted skeleton loading placeholder accessibly', async ({ page }) => {
5
+ await page.goto('/');
6
+ const component = page.locator('<%= selector %>').first();
7
+ test.skip((await component.count()) === 0, 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.');
8
+
9
+ const skeleton = component.locator('span').first();
10
+ await expect(skeleton).toBeVisible();
11
+ const role = await skeleton.getAttribute('role');
12
+ if (role !== null) {
13
+ await expect(skeleton).toHaveAttribute('role', /status|progressbar/);
14
+ }
15
+ });
16
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.skeleton = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.skeleton = (0, generate_component_1.createAriaComponentSchematic)();
5
+ exports.skeleton = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,QAAQ,GAAG,IAAA,iDAA4B,GAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,QAAQ,GAAG,IAAA,iDAA4B,EAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const skeleton = createAriaComponentSchematic();
3
+ export const skeleton = createAriaComponentSchematic({ includeSharedE2eTest: false });
@@ -0,0 +1,13 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('renders mounted skip link pointing to main content', async ({ page }) => {
5
+ await page.goto('/');
6
+ const component = page.locator('<%= selector %>').first();
7
+ test.skip((await component.count()) === 0, 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.');
8
+
9
+ const link = component.getByRole('link', { name: /skip to main content/i });
10
+ await expect(link).toBeVisible();
11
+ await expect(link).toHaveAttribute('href', /#main-content$/);
12
+ });
13
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.skipLink = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.skipLink = (0, generate_component_1.createAriaComponentSchematic)();
5
+ exports.skipLink = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,QAAQ,GAAG,IAAA,iDAA4B,GAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,QAAQ,GAAG,IAAA,iDAA4B,EAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const skipLink = createAriaComponentSchematic();
3
+ export const skipLink = createAriaComponentSchematic({ includeSharedE2eTest: false });
@@ -0,0 +1,23 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('updates mounted slider value with keyboard', async ({ page }) => {
5
+ await page.goto('/');
6
+
7
+ const component = page.locator('<%= selector %>').first();
8
+ test.skip(
9
+ (await component.count()) === 0,
10
+ 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.'
11
+ );
12
+
13
+ const slider = component.getByRole('slider').first();
14
+ await expect(slider).toBeVisible();
15
+ await expect(slider).toHaveAttribute('aria-valuenow', '50');
16
+
17
+ await slider.press('ArrowRight');
18
+ await expect(slider).toHaveAttribute('aria-valuenow', '51');
19
+
20
+ await slider.press('Home');
21
+ await expect(slider).toHaveAttribute('aria-valuenow', '0');
22
+ });
23
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.slider = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.slider = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false });
5
+ exports.slider = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false, includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,MAAM,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,MAAM,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const slider = createAriaComponentSchematic({ includeSharedUnitTest: false });
3
+ export const slider = createAriaComponentSchematic({ includeSharedUnitTest: false, includeSharedE2eTest: false });
@@ -0,0 +1,23 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('updates mounted spinbutton from buttons and keyboard', async ({ page }) => {
5
+ await page.goto('/');
6
+
7
+ const component = page.locator('<%= selector %>').first();
8
+ test.skip(
9
+ (await component.count()) === 0,
10
+ 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.'
11
+ );
12
+
13
+ const spinbutton = component.getByRole('spinbutton').first();
14
+ await expect(spinbutton).toBeVisible();
15
+ await expect(spinbutton).toHaveValue('1');
16
+
17
+ await component.getByRole('button', { name: /increase/i }).click();
18
+ await expect(spinbutton).toHaveValue('2');
19
+
20
+ await spinbutton.press('ArrowDown');
21
+ await expect(spinbutton).toHaveValue('1');
22
+ });
23
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.spinbutton = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.spinbutton = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false });
5
+ exports.spinbutton = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false, includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,UAAU,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,UAAU,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const spinbutton = createAriaComponentSchematic({ includeSharedUnitTest: false });
3
+ export const spinbutton = createAriaComponentSchematic({ includeSharedUnitTest: false, includeSharedE2eTest: false });
@@ -0,0 +1,17 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('renders mounted spinner status without exposing decorative visual', async ({ page }) => {
5
+ await page.goto('/');
6
+ const component = page.locator('<%= selector %>').first();
7
+ test.skip((await component.count()) === 0, 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.');
8
+
9
+ const spinner = component.locator('span').first();
10
+ await expect(spinner).toBeVisible();
11
+ const role = await spinner.getAttribute('role');
12
+ if (role !== null) {
13
+ await expect(spinner).toHaveAttribute('role', 'status');
14
+ }
15
+ await expect(component.locator('.semmet-spinner__visual')).toHaveAttribute('aria-hidden', 'true');
16
+ });
17
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.spinner = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.spinner = (0, generate_component_1.createAriaComponentSchematic)();
5
+ exports.spinner = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,OAAO,GAAG,IAAA,iDAA4B,GAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,OAAO,GAAG,IAAA,iDAA4B,EAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const spinner = createAriaComponentSchematic();
3
+ export const spinner = createAriaComponentSchematic({ includeSharedE2eTest: false });
@@ -0,0 +1,20 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('toggles mounted switch checked state', async ({ page }) => {
5
+ await page.goto('/');
6
+
7
+ const component = page.locator('<%= selector %>').first();
8
+ test.skip(
9
+ (await component.count()) === 0,
10
+ 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.'
11
+ );
12
+
13
+ const control = component.getByRole('switch').first();
14
+ await expect(control).toBeVisible();
15
+ await expect(control).toHaveAttribute('aria-checked', 'false');
16
+
17
+ await control.click();
18
+ await expect(control).toHaveAttribute('aria-checked', 'true');
19
+ });
20
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.switchSchematic = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.switchSchematic = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false });
5
+ exports.switchSchematic = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false, includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,eAAe,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,eAAe,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const switchSchematic = createAriaComponentSchematic({ includeSharedUnitTest: false });
3
+ export const switchSchematic = createAriaComponentSchematic({ includeSharedUnitTest: false, includeSharedE2eTest: false });
@@ -0,0 +1,15 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('renders mounted table with caption and scoped headers', async ({ page }) => {
5
+ await page.goto('/');
6
+ const component = page.locator('<%= selector %>').first();
7
+ test.skip((await component.count()) === 0, 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.');
8
+
9
+ const table = component.locator('table').first();
10
+ await expect(table).toBeVisible();
11
+ await expect(table.locator('caption')).toBeVisible();
12
+ await expect(table.locator('th[scope="col"]')).toHaveCount(2);
13
+ await expect(table.locator('tbody tr')).not.toHaveCount(0);
14
+ });
15
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.table = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.table = (0, generate_component_1.createAriaComponentSchematic)();
5
+ exports.table = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,KAAK,GAAG,IAAA,iDAA4B,GAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,KAAK,GAAG,IAAA,iDAA4B,EAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const table = createAriaComponentSchematic();
3
+ export const table = createAriaComponentSchematic({ includeSharedE2eTest: false });
@@ -0,0 +1,34 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('switches mounted tabs through click and keyboard navigation', async ({ page }) => {
5
+ await page.goto('/');
6
+
7
+ const component = page.locator('<%= selector %>').first();
8
+ test.skip(
9
+ (await component.count()) === 0,
10
+ 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.'
11
+ );
12
+
13
+ await expect(component).toBeVisible();
14
+
15
+ const tabs = component.getByRole('tab');
16
+ test.skip(
17
+ (await tabs.count()) < 2,
18
+ 'Mount at least two tabs to enable the generated tabs interaction e2e test.'
19
+ );
20
+
21
+ const firstTab = tabs.nth(0);
22
+ const secondTab = tabs.nth(1);
23
+
24
+ await expect(firstTab).toHaveAttribute('aria-selected', 'true');
25
+ await secondTab.click();
26
+ await expect(secondTab).toHaveAttribute('aria-selected', 'true');
27
+
28
+ const panelId = await secondTab.getAttribute('aria-controls');
29
+ await expect(page.locator(`#${panelId}`)).toBeVisible();
30
+
31
+ await secondTab.press('Home');
32
+ await expect(firstTab).toBeFocused();
33
+ });
34
+ });
package/src/tabs/index.js CHANGED
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tabs = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.tabs = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false });
5
+ exports.tabs = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false, includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,IAAI,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,IAAI,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
package/src/tabs/index.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const tabs = createAriaComponentSchematic({ includeSharedUnitTest: false });
3
+ export const tabs = createAriaComponentSchematic({ includeSharedUnitTest: false, includeSharedE2eTest: false });
@@ -0,0 +1,22 @@
1
+ import { expect, test } from '@playwright/test';
2
+
3
+ test.describe('<%= classify(name) %>', () => {
4
+ test('accepts typed text through the mounted native textarea', async ({ page }) => {
5
+ await page.goto('/');
6
+
7
+ const component = page.locator('<%= selector %>').first();
8
+ test.skip(
9
+ (await component.count()) === 0,
10
+ 'Mount <<%= selector %> /> in a route or host component to enable this generated e2e test.'
11
+ );
12
+
13
+ const textarea = component.locator('textarea').first();
14
+ await expect(textarea).toBeVisible();
15
+
16
+ const id = await textarea.getAttribute('id');
17
+ await expect(component.locator(`label[for="${id}"]`)).toBeVisible();
18
+
19
+ await textarea.fill('Accessible UI delivery with Semmet Angular.');
20
+ await expect(textarea).toHaveValue('Accessible UI delivery with Semmet Angular.');
21
+ });
22
+ });
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.textarea = void 0;
4
4
  const generate_component_1 = require("../utils/generate-component");
5
- exports.textarea = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false });
5
+ exports.textarea = (0, generate_component_1.createAriaComponentSchematic)({ includeSharedUnitTest: false, includeSharedE2eTest: false });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,QAAQ,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,oEAA2E;AAE9D,QAAA,QAAQ,GAAG,IAAA,iDAA4B,EAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { createAriaComponentSchematic } from '../utils/generate-component';
2
2
 
3
- export const textarea = createAriaComponentSchematic({ includeSharedUnitTest: false });
3
+ export const textarea = createAriaComponentSchematic({ includeSharedUnitTest: false, includeSharedE2eTest: false });