q2-tecton-elements 1.45.1 → 1.45.2

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 (120) hide show
  1. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  2. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  3. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
  4. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  5. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  6. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  7. package/dist/collection/components/q2-message/q2-message.css +3 -3
  8. package/dist/collection/components/q2-stepper/q2-stepper.css +4 -2
  9. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +5 -16
  10. package/dist/components/q2-message2.js +1 -1
  11. package/dist/components/q2-message2.js.map +1 -1
  12. package/dist/components/q2-stepper-vertical.js +1 -1
  13. package/dist/components/q2-stepper-vertical.js.map +1 -1
  14. package/dist/components/q2-stepper.js +1 -1
  15. package/dist/components/q2-stepper.js.map +1 -1
  16. package/dist/esm/q2-message.entry.js +1 -1
  17. package/dist/esm/q2-message.entry.js.map +1 -1
  18. package/dist/esm/q2-stepper-vertical.entry.js +1 -1
  19. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  20. package/dist/esm/q2-stepper.entry.js +1 -1
  21. package/dist/esm/q2-stepper.entry.js.map +1 -1
  22. package/dist/q2-tecton-elements/p-445990a8.entry.js +2 -0
  23. package/dist/q2-tecton-elements/p-445990a8.entry.js.map +1 -0
  24. package/dist/q2-tecton-elements/p-a977e723.entry.js +2 -0
  25. package/dist/q2-tecton-elements/p-a977e723.entry.js.map +1 -0
  26. package/dist/q2-tecton-elements/p-c016bd18.entry.js +2 -0
  27. package/dist/q2-tecton-elements/p-c016bd18.entry.js.map +1 -0
  28. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  29. package/dist/test/elements/q2-action-sheet-test.e2e.js +5 -1
  30. package/dist/test/elements/q2-action-sheet-test.e2e.js.map +1 -1
  31. package/dist/test/elements/q2-avatar-test.e2e.js +2 -3
  32. package/dist/test/elements/q2-avatar-test.e2e.js.map +1 -1
  33. package/dist/test/elements/q2-badge-test.e2e.js +5 -1
  34. package/dist/test/elements/q2-badge-test.e2e.js.map +1 -1
  35. package/dist/test/elements/q2-btn-test.e2e.js +5 -1
  36. package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
  37. package/dist/test/elements/q2-calendar-test.e2e.js +5 -1
  38. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  39. package/dist/test/elements/q2-card-test.e2e.js +5 -1
  40. package/dist/test/elements/q2-card-test.e2e.js.map +1 -1
  41. package/dist/test/elements/q2-chart-area-test.e2e.js +5 -1
  42. package/dist/test/elements/q2-chart-area-test.e2e.js.map +1 -1
  43. package/dist/test/elements/q2-chart-bar-test.e2e.js +5 -1
  44. package/dist/test/elements/q2-chart-bar-test.e2e.js.map +1 -1
  45. package/dist/test/elements/q2-chart-donut-test.e2e.js +5 -1
  46. package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
  47. package/dist/test/elements/q2-checkbox-group-test.e2e.js +5 -1
  48. package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +1 -1
  49. package/dist/test/elements/q2-checkbox-test.e2e.js +5 -1
  50. package/dist/test/elements/q2-checkbox-test.e2e.js.map +1 -1
  51. package/dist/test/elements/q2-currency-test.e2e.js +5 -1
  52. package/dist/test/elements/q2-currency-test.e2e.js.map +1 -1
  53. package/dist/test/elements/q2-data-table-test.e2e.js +5 -1
  54. package/dist/test/elements/q2-data-table-test.e2e.js.map +1 -1
  55. package/dist/test/elements/q2-dropdown-item-test.e2e.js +5 -1
  56. package/dist/test/elements/q2-dropdown-item-test.e2e.js.map +1 -1
  57. package/dist/test/elements/q2-dropdown-test.e2e.js +5 -1
  58. package/dist/test/elements/q2-dropdown-test.e2e.js.map +1 -1
  59. package/dist/test/elements/q2-editable-field-test.e2e.js +5 -1
  60. package/dist/test/elements/q2-editable-field-test.e2e.js.map +1 -1
  61. package/dist/test/elements/q2-icon-test.e2e.js +5 -1
  62. package/dist/test/elements/q2-icon-test.e2e.js.map +1 -1
  63. package/dist/test/elements/q2-input-test.e2e.js +5 -1
  64. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  65. package/dist/test/elements/q2-loading-test.e2e.js +5 -1
  66. package/dist/test/elements/q2-loading-test.e2e.js.map +1 -1
  67. package/dist/test/elements/q2-loc-test.e2e.js +5 -1
  68. package/dist/test/elements/q2-loc-test.e2e.js.map +1 -1
  69. package/dist/test/elements/q2-message-test.e2e.js +5 -1
  70. package/dist/test/elements/q2-message-test.e2e.js.map +1 -1
  71. package/dist/test/elements/q2-optgroup-test.e2e.js +5 -1
  72. package/dist/test/elements/q2-optgroup-test.e2e.js.map +1 -1
  73. package/dist/test/elements/q2-option-list-test.e2e.js +5 -1
  74. package/dist/test/elements/q2-option-list-test.e2e.js.map +1 -1
  75. package/dist/test/elements/q2-option-test.e2e.js +5 -1
  76. package/dist/test/elements/q2-option-test.e2e.js.map +1 -1
  77. package/dist/test/elements/q2-pagination-test.e2e.js +5 -1
  78. package/dist/test/elements/q2-pagination-test.e2e.js.map +1 -1
  79. package/dist/test/elements/q2-pill-test.e2e.js +2 -3
  80. package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
  81. package/dist/test/elements/q2-popover-test.e2e.js +6 -2
  82. package/dist/test/elements/q2-popover-test.e2e.js.map +1 -1
  83. package/dist/test/elements/q2-radio-group-test.e2e.js +5 -1
  84. package/dist/test/elements/q2-radio-group-test.e2e.js.map +1 -1
  85. package/dist/test/elements/q2-radio-test.e2e.js +5 -1
  86. package/dist/test/elements/q2-radio-test.e2e.js.map +1 -1
  87. package/dist/test/elements/q2-relative-time-test.e2e.js +8 -4
  88. package/dist/test/elements/q2-relative-time-test.e2e.js.map +1 -1
  89. package/dist/test/elements/q2-section-test.e2e.js +5 -1
  90. package/dist/test/elements/q2-section-test.e2e.js.map +1 -1
  91. package/dist/test/elements/q2-select-test.e2e.js +5 -1
  92. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  93. package/dist/test/elements/q2-stepper-pane-test.e2e.js +5 -1
  94. package/dist/test/elements/q2-stepper-pane-test.e2e.js.map +1 -1
  95. package/dist/test/elements/q2-stepper-test.e2e.js +5 -1
  96. package/dist/test/elements/q2-stepper-test.e2e.js.map +1 -1
  97. package/dist/test/elements/q2-stepper-vertical-test.e2e.js +5 -1
  98. package/dist/test/elements/q2-stepper-vertical-test.e2e.js.map +1 -1
  99. package/dist/test/elements/q2-tab-container-test.e2e.js +5 -1
  100. package/dist/test/elements/q2-tab-container-test.e2e.js.map +1 -1
  101. package/dist/test/elements/q2-tab-pane-test.e2e.js +5 -1
  102. package/dist/test/elements/q2-tab-pane-test.e2e.js.map +1 -1
  103. package/dist/test/elements/q2-tag-test.e2e.js +2 -3
  104. package/dist/test/elements/q2-tag-test.e2e.js.map +1 -1
  105. package/dist/test/elements/q2-textarea-test.e2e.js +5 -1
  106. package/dist/test/elements/q2-textarea-test.e2e.js.map +1 -1
  107. package/dist/test/elements/q2-tooltip-test.e2e.js +5 -1
  108. package/dist/test/elements/q2-tooltip-test.e2e.js.map +1 -1
  109. package/dist/test/elements/tecton-tab-pane-test.e2e.js +5 -1
  110. package/dist/test/elements/tecton-tab-pane-test.e2e.js.map +1 -1
  111. package/dist/test/helpers.js +1 -1
  112. package/dist/test/helpers.js.map +1 -1
  113. package/dist/types/workspace/workspace/tecton-production_release_1.45.x/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +1 -1
  114. package/package.json +3 -3
  115. package/dist/q2-tecton-elements/p-4f7e2c8a.entry.js +0 -2
  116. package/dist/q2-tecton-elements/p-4f7e2c8a.entry.js.map +0 -1
  117. package/dist/q2-tecton-elements/p-bf125cdf.entry.js +0 -2
  118. package/dist/q2-tecton-elements/p-bf125cdf.entry.js.map +0 -1
  119. package/dist/q2-tecton-elements/p-f418967b.entry.js +0 -2
  120. package/dist/q2-tecton-elements/p-f418967b.entry.js.map +0 -1
@@ -1,5 +1,9 @@
1
- import { setup } from "../helpers";
1
+ import { getListOfStyleCompilationIssues, setup } from "../helpers";
2
2
  describe('q2-stepper-pane', () => {
3
+ it('properly compiles CSS vars and functions', async () => {
4
+ const page = await setup({ html: '<q2-stepper-pane></q2-stepper-pane>' });
5
+ expect(await getListOfStyleCompilationIssues(page, 'q2-stepper-pane')).toHaveLength(0);
6
+ });
3
7
  describe('id', () => {
4
8
  describe('when not provided', () => {
5
9
  it('is automatically generated', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"q2-stepper-pane-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-stepper-pane-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { setup } from '../helpers';\n\ndescribe('q2-stepper-pane', () => {\n describe('id', () => {\n describe('when not provided', () => {\n it('is automatically generated', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPane = await page.find('q2-stepper-pane');\n\n expect(stepperPane.id).toContain('step-');\n });\n });\n\n describe('when provided', () => {\n it('is not replaced with a generated value', async () => {\n const page = await setup({\n html: `<q2-stepper-pane id=\"my-pane\">Pane 1</q2-stepper-pane>`,\n });\n const stepperPane = await page.find('q2-stepper-pane');\n\n expect(stepperPane.id).toEqual('my-pane');\n });\n });\n });\n\n describe('@Props', () => {\n describe('label', () => {\n describe('when not provided', () => {\n it('is not added to the container', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).not.toHaveAttribute('aria-label');\n });\n });\n\n describe('when provided', () => {\n it('is added to the container', async () => {\n const page = await setup({\n html: `<q2-stepper-pane label=\"My Label\">Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toEqualAttribute('aria-label', 'My Label');\n });\n });\n });\n\n describe('isActive', () => {\n describe('when false', () => {\n it('marks the container as hidden', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n\n describe('when true', () => {\n it('does not mark the container as hidden', async () => {\n const page = await setup({\n html: `<q2-stepper-pane is-active>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).not.toHaveAttribute('hidden');\n });\n });\n });\n\n describe('showWithChildren', () => {\n let page: E2EPage;\n let stepperPaneContainer: E2EElement;\n\n describe('when false', () => {\n it('marks the container as hidden', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane is-active>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n\n describe('when true', () => {\n it('does not mark the container as hidden with an active child', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane show-with-children>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane is-active>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n await page.waitForChanges();\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n expect(stepperPaneContainer).not.toHaveAttribute('hidden');\n });\n\n it('marks container as hidden when there are no active children', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane show-with-children>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n });\n });\n\n describe('@Events', () => {\n let page: E2EPage;\n let stepperPane: E2EElement;\n const hostElementStub = {\n 's-p': [],\n };\n\n beforeEach(async () => {\n page = await setup({\n html: `<q2-stepper-pane id=\"test\">Pane 1</q2-stepper-pane>`,\n });\n stepperPane = await page.find('q2-stepper-pane');\n });\n\n describe('statusChange', () => {\n it('emits when the status property is updated', async () => {\n const statusChangeSpy = await stepperPane.spyOnEvent('statusChange');\n\n await stepperPane.setProperty('status', 'complete');\n await page.waitForChanges();\n\n expect(statusChangeSpy).toHaveReceivedEventDetail({\n id: 'test',\n isActive: false,\n status: 'complete',\n host: hostElementStub,\n });\n });\n });\n\n describe('activeChange', () => {\n it('emits when the isActive property is updated', async () => {\n const activeChangeSpy = await stepperPane.spyOnEvent('activeChange');\n\n await stepperPane.setProperty('isActive', true);\n await page.waitForChanges();\n\n expect(activeChangeSpy).toHaveReceivedEventDetail({\n id: 'test',\n isActive: true,\n status: '',\n host: hostElementStub,\n });\n });\n });\n\n describe('contentChange', () => {\n it('emits when label property is updated', async () => {\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await stepperPane.setProperty('label', 'Hello world');\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when description property is updated', async () => {\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await stepperPane.setProperty('description', 'Hello world');\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n describe('label slot', () => {\n it('emits when the content of the label slot is updated', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"label\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").innerHTML = 'Hello Mars';\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the label slot is added', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n const labelSlot = document.createElement('div');\n labelSlot.setAttribute('slot', 'label');\n labelSlot.innerHTML = 'Hello world';\n document.querySelector('q2-stepper-pane').appendChild(labelSlot);\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the label slot is removed', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"label\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").remove();\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n });\n\n describe('description slot', () => {\n it('emits when the content of the description slot is updated', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"description\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").innerHTML = 'Hello Mars';\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the description slot is added', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n const labelSlot = document.createElement('div');\n labelSlot.setAttribute('slot', 'description');\n labelSlot.innerHTML = 'Hello world';\n document.querySelector('q2-stepper-pane').appendChild(labelSlot);\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the description slot is removed', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"description\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").remove();\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n });\n });\n });\n});\n"]}
1
+ {"version":3,"file":"q2-stepper-pane-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-stepper-pane-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { getListOfStyleCompilationIssues, setup } from '../helpers';\n\ndescribe('q2-stepper-pane', () => {\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-stepper-pane></q2-stepper-pane>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-stepper-pane')).toHaveLength(0);\n });\n\n describe('id', () => {\n describe('when not provided', () => {\n it('is automatically generated', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPane = await page.find('q2-stepper-pane');\n\n expect(stepperPane.id).toContain('step-');\n });\n });\n\n describe('when provided', () => {\n it('is not replaced with a generated value', async () => {\n const page = await setup({\n html: `<q2-stepper-pane id=\"my-pane\">Pane 1</q2-stepper-pane>`,\n });\n const stepperPane = await page.find('q2-stepper-pane');\n\n expect(stepperPane.id).toEqual('my-pane');\n });\n });\n });\n\n describe('@Props', () => {\n describe('label', () => {\n describe('when not provided', () => {\n it('is not added to the container', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).not.toHaveAttribute('aria-label');\n });\n });\n\n describe('when provided', () => {\n it('is added to the container', async () => {\n const page = await setup({\n html: `<q2-stepper-pane label=\"My Label\">Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toEqualAttribute('aria-label', 'My Label');\n });\n });\n });\n\n describe('isActive', () => {\n describe('when false', () => {\n it('marks the container as hidden', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n\n describe('when true', () => {\n it('does not mark the container as hidden', async () => {\n const page = await setup({\n html: `<q2-stepper-pane is-active>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).not.toHaveAttribute('hidden');\n });\n });\n });\n\n describe('showWithChildren', () => {\n let page: E2EPage;\n let stepperPaneContainer: E2EElement;\n\n describe('when false', () => {\n it('marks the container as hidden', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane is-active>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n\n describe('when true', () => {\n it('does not mark the container as hidden with an active child', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane show-with-children>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane is-active>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n await page.waitForChanges();\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n expect(stepperPaneContainer).not.toHaveAttribute('hidden');\n });\n\n it('marks container as hidden when there are no active children', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane show-with-children>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n });\n });\n\n describe('@Events', () => {\n let page: E2EPage;\n let stepperPane: E2EElement;\n const hostElementStub = {\n 's-p': [],\n };\n\n beforeEach(async () => {\n page = await setup({\n html: `<q2-stepper-pane id=\"test\">Pane 1</q2-stepper-pane>`,\n });\n stepperPane = await page.find('q2-stepper-pane');\n });\n\n describe('statusChange', () => {\n it('emits when the status property is updated', async () => {\n const statusChangeSpy = await stepperPane.spyOnEvent('statusChange');\n\n await stepperPane.setProperty('status', 'complete');\n await page.waitForChanges();\n\n expect(statusChangeSpy).toHaveReceivedEventDetail({\n id: 'test',\n isActive: false,\n status: 'complete',\n host: hostElementStub,\n });\n });\n });\n\n describe('activeChange', () => {\n it('emits when the isActive property is updated', async () => {\n const activeChangeSpy = await stepperPane.spyOnEvent('activeChange');\n\n await stepperPane.setProperty('isActive', true);\n await page.waitForChanges();\n\n expect(activeChangeSpy).toHaveReceivedEventDetail({\n id: 'test',\n isActive: true,\n status: '',\n host: hostElementStub,\n });\n });\n });\n\n describe('contentChange', () => {\n it('emits when label property is updated', async () => {\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await stepperPane.setProperty('label', 'Hello world');\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when description property is updated', async () => {\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await stepperPane.setProperty('description', 'Hello world');\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n describe('label slot', () => {\n it('emits when the content of the label slot is updated', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"label\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").innerHTML = 'Hello Mars';\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the label slot is added', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n const labelSlot = document.createElement('div');\n labelSlot.setAttribute('slot', 'label');\n labelSlot.innerHTML = 'Hello world';\n document.querySelector('q2-stepper-pane').appendChild(labelSlot);\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the label slot is removed', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"label\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").remove();\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n });\n\n describe('description slot', () => {\n it('emits when the content of the description slot is updated', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"description\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").innerHTML = 'Hello Mars';\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the description slot is added', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n const labelSlot = document.createElement('div');\n labelSlot.setAttribute('slot', 'description');\n labelSlot.innerHTML = 'Hello world';\n document.querySelector('q2-stepper-pane').appendChild(labelSlot);\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the description slot is removed', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"description\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").remove();\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n });\n });\n });\n});\n"]}
@@ -1,4 +1,4 @@
1
- import { setup } from "../helpers";
1
+ import { getListOfStyleCompilationIssues, setup } from "../helpers";
2
2
  describe('q2-stepper', () => {
3
3
  const renderStepper = (numberOfSteps, currentStep, lastEnabledStep) => {
4
4
  return `<q2-stepper ${currentStep ? `current-step="${currentStep}"` : ''} ${lastEnabledStep ? `last-enabled-step="${lastEnabledStep}"` : ''}>
@@ -22,6 +22,10 @@ describe('q2-stepper', () => {
22
22
  expect(stepBtn).not.toHaveAttribute('aria-disabled');
23
23
  }
24
24
  };
25
+ it('properly compiles CSS vars and functions', async () => {
26
+ const page = await setup({ html: '<q2-stepper></q2-stepper>' });
27
+ expect(await getListOfStyleCompilationIssues(page, 'q2-stepper')).toHaveLength(0);
28
+ });
25
29
  describe('@Props', () => {
26
30
  describe('stepCount', () => {
27
31
  it('auto-populates the stepCount property', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"q2-stepper-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-stepper-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { setup } from '../helpers';\n\ndescribe('q2-stepper', () => {\n const renderStepper = (numberOfSteps: number, currentStep?: number, lastEnabledStep?: number) => {\n return `<q2-stepper ${currentStep ? `current-step=\"${currentStep}\"` : ''} ${\n lastEnabledStep ? `last-enabled-step=\"${lastEnabledStep}\"` : ''\n }>\n ${[...Array(numberOfSteps).keys()].map(\n index => `<q2-stepper-pane>Pane ${index + 1}</q2-stepper-pane>`\n )}\n </q2-stepper>`;\n };\n\n const checkStepStatus = (stepBtn: E2EElement, options?: { selected?: boolean; disabled?: boolean }) => {\n const { selected, disabled } = { ...{ selected: false, disabled: false }, ...options };\n\n if (selected) {\n expect(stepBtn).toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '0');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '-1');\n }\n\n if (disabled) {\n expect(stepBtn).toHaveAttribute('aria-disabled');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-disabled');\n }\n };\n\n describe('@Props', () => {\n describe('stepCount', () => {\n it('auto-populates the stepCount property', async () => {\n const page = await setup({\n html: renderStepper(10),\n });\n const stepper = await page.find('q2-stepper');\n\n expect(stepper).not.toHaveAttribute('step-count');\n expect(await stepper.getProperty('stepCount')).toEqual(10);\n });\n });\n\n describe('currentStep', () => {\n describe('when not provided', () => {\n it('marks the first step as active', async () => {\n const page = await setup({\n html: renderStepper(3),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n const stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '1');\n checkStepStatus(stepBtns[0], { selected: true, disabled: false });\n checkStepStatus(stepBtns[1], { disabled: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).toHaveAttribute('is-active');\n expect(stepperPanes[1]).not.toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n\n describe('when provided', () => {\n it('marks the specified step as active', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n const stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '2');\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).not.toHaveAttribute('is-active');\n expect(stepperPanes[1]).toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n });\n\n describe('lastEnabledStep', () => {\n describe('when not provided', () => {\n it('defaults the value to currentStep', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true, disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when provided', () => {\n it('sets all step buttons up to the specified value as enabled', async () => {\n const page = await setup({\n html: renderStepper(3, 1, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when updated', () => {\n it('defaults the value to currentStep', async () => {\n const page = await setup({\n html: renderStepper(3, 1, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n\n await stepper.setProperty('lastEnabledStep', 3);\n await page.waitForChanges();\n\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1]);\n checkStepStatus(stepBtns[2]);\n });\n });\n });\n });\n\n describe('displaying step buttons', () => {\n describe('when label is updated', () => {\n it('updates the label in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toBeNull();\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('label', 'My Updated Label');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Updated Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description is updated', () => {\n it('updates the description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('description', 'My Updated Description');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Updated Description');\n });\n });\n\n describe('when label and description are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n const stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Description');\n });\n });\n\n describe('when only label is provided by a q2-stepper-pane', () => {\n it('displays label in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description is provided by a q2-stepper-pane', () => {\n it('does not display any text for the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n\n describe('when status is provided by a q2-stepper-pane', () => {\n it('display success q2-icon in the step button for status=\"complete\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"complete\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"success-filled\"]')).toBeTruthy();\n });\n\n it('display warning q2-icon in the step button for status=\"error\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"error\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"warning-filled\"]')).toBeTruthy();\n });\n\n it('display no q2-icon in the step button for status=\"locked\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"locked\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon')).toBeFalsy();\n });\n });\n\n describe('when label slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").innerHTML = 'My updated slotted label';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My updated slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\" description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").innerHTML = 'My updated slotted description';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText(\n 'My updated slotted description'\n );\n });\n });\n\n describe('when label slot and description slot are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n const stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My slotted description');\n });\n });\n\n describe('when label slot is provided by q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description slot is provided by a q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n });\n\n describe('focus', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n });\n\n const focusedStepText = async (page: E2EPage) => {\n return page.$eval('q2-stepper', el => el.shadowRoot.activeElement?.textContent);\n };\n\n it('focuses inner button when focus event is dispatched', async function (): Promise<void> {\n await stepper.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n\n it('focuses inner button when element.focus() is called', async function (): Promise<void> {\n await stepper.focus();\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n });\n\n describe('events', () => {\n describe('onchange', () => {\n describe('when not provided', () => {\n it('automatically updates the currentStep to the selected value', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', '1');\n });\n });\n\n describe('when provided', () => {\n it('does not automatically update the currentStep to the selected value', async () => {\n const page = await setup({\n html: `\n <q2-stepper current-step=\"2\" onchange=\"testOnChange()\">\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n <q2-stepper-pane>Pane 2</q2-stepper-pane>\n <q2-stepper-pane>Pane 3</q2-stepper-pane>\n </q2-stepper>\n <script>function testOnChange() {}</script>\n `,\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n });\n\n describe('selecting steps', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n let stepBtns: E2EElement[];\n let changeSpy: EventSpy;\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n changeSpy = await stepper.spyOnEvent('change');\n });\n\n describe('when selecting a step after the lastEnabledStep', () => {\n it('does not emit an event', async () => {\n await stepBtns[2].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting the currently selected step', () => {\n it('does not emit an event', async () => {\n await stepBtns[1].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting a step before the lastEnabledStep', () => {\n it('does emits an event', async () => {\n await stepBtns[0].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 1,\n currentStep: 2,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n\n it('allows you to select the lastEnabledStep after selecting a different step', async () => {\n stepper.setProperty('currentStep', 1);\n await page.waitForChanges();\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n\n await stepBtns[1].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 2,\n currentStep: 1,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n\n describe('scroll', () => {\n let page: E2EPage;\n let stepContainer: E2EElement;\n let stepList: E2EElement;\n let btnLeft: E2EElement;\n let btnRight: E2EElement;\n\n describe('when the width of the total steps does not exceed the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('does not display the scroll indicator buttons', async () => {\n expect(stepContainer).not.toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toEqual(await stepList.getProperty('clientWidth'));\n expect(btnLeft).toBeNull();\n expect(btnRight).toBeNull();\n });\n });\n\n describe('when the width of the total steps exceeds the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(10),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('displays the scroll indicator buttons', async () => {\n expect(stepContainer).toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toBeGreaterThan(\n await stepList.getProperty('clientWidth')\n );\n expect(btnLeft).toBeTruthy();\n expect(btnRight).toBeTruthy();\n });\n\n it('can scroll via buttons', async () => {\n const scrollAmount = Math.floor((await stepList.getProperty('clientWidth')) / 2);\n const scrollByStub = jest.fn(args => {\n page.evaluate(left => {\n document.querySelector('q2-stepper').shadowRoot.querySelector('ul').scrollLeft = left;\n }, args.left);\n });\n await page.exposeFunction('scrollByStub', scrollByStub);\n await page.$eval('q2-stepper', stepper => {\n stepper.shadowRoot.querySelector('ul').scrollBy = scrollByStub;\n });\n\n expect(scrollByStub).toHaveBeenCalledTimes(0);\n expect(btnLeft).toHaveAttribute('hidden');\n expect(btnRight).not.toHaveAttribute('hidden');\n\n await btnRight.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: scrollAmount,\n });\n\n scrollByStub.mockReset();\n\n expect(btnRight).toHaveAttribute('hidden');\n expect(btnLeft).not.toHaveAttribute('hidden');\n\n await btnLeft.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: -scrollAmount,\n });\n });\n });\n });\n\n describe('keyboard', () => {\n let page: E2EPage;\n let stepBtns: E2EElement[];\n\n const isStepFocused = async (page: E2EPage, stepNumber: number) =>\n page.evaluate(\n stepNumber =>\n document.querySelector('q2-stepper').shadowRoot.activeElement ===\n document\n .querySelector('q2-stepper')\n .shadowRoot.querySelector(`li:nth-child(${stepNumber}) .step-btn`),\n stepNumber\n );\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n });\n\n describe('when arrow keys are pressed', () => {\n it('moves focus along the list of step buttons', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowLeft');\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 3)).toBe(true);\n });\n });\n\n describe('when Home is pressed', () => {\n it('focuses the first step button', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('Home');\n expect(await isStepFocused(page, 1)).toBe(true);\n });\n });\n\n describe('when End is pressed', () => {\n it('focuses the last enabled step button', async () => {\n await stepBtns[0].focus();\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('End');\n expect(await isStepFocused(page, 2)).toBe(true);\n });\n });\n });\n});\n"]}
1
+ {"version":3,"file":"q2-stepper-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-stepper-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { getListOfStyleCompilationIssues, setup } from '../helpers';\n\ndescribe('q2-stepper', () => {\n const renderStepper = (numberOfSteps: number, currentStep?: number, lastEnabledStep?: number) => {\n return `<q2-stepper ${currentStep ? `current-step=\"${currentStep}\"` : ''} ${\n lastEnabledStep ? `last-enabled-step=\"${lastEnabledStep}\"` : ''\n }>\n ${[...Array(numberOfSteps).keys()].map(\n index => `<q2-stepper-pane>Pane ${index + 1}</q2-stepper-pane>`\n )}\n </q2-stepper>`;\n };\n\n const checkStepStatus = (stepBtn: E2EElement, options?: { selected?: boolean; disabled?: boolean }) => {\n const { selected, disabled } = { ...{ selected: false, disabled: false }, ...options };\n\n if (selected) {\n expect(stepBtn).toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '0');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '-1');\n }\n\n if (disabled) {\n expect(stepBtn).toHaveAttribute('aria-disabled');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-disabled');\n }\n };\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-stepper></q2-stepper>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-stepper')).toHaveLength(0);\n });\n\n describe('@Props', () => {\n describe('stepCount', () => {\n it('auto-populates the stepCount property', async () => {\n const page = await setup({\n html: renderStepper(10),\n });\n const stepper = await page.find('q2-stepper');\n\n expect(stepper).not.toHaveAttribute('step-count');\n expect(await stepper.getProperty('stepCount')).toEqual(10);\n });\n });\n\n describe('currentStep', () => {\n describe('when not provided', () => {\n it('marks the first step as active', async () => {\n const page = await setup({\n html: renderStepper(3),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n const stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '1');\n checkStepStatus(stepBtns[0], { selected: true, disabled: false });\n checkStepStatus(stepBtns[1], { disabled: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).toHaveAttribute('is-active');\n expect(stepperPanes[1]).not.toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n\n describe('when provided', () => {\n it('marks the specified step as active', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n const stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '2');\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).not.toHaveAttribute('is-active');\n expect(stepperPanes[1]).toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n });\n\n describe('lastEnabledStep', () => {\n describe('when not provided', () => {\n it('defaults the value to currentStep', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true, disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when provided', () => {\n it('sets all step buttons up to the specified value as enabled', async () => {\n const page = await setup({\n html: renderStepper(3, 1, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when updated', () => {\n it('defaults the value to currentStep', async () => {\n const page = await setup({\n html: renderStepper(3, 1, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n\n await stepper.setProperty('lastEnabledStep', 3);\n await page.waitForChanges();\n\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1]);\n checkStepStatus(stepBtns[2]);\n });\n });\n });\n });\n\n describe('displaying step buttons', () => {\n describe('when label is updated', () => {\n it('updates the label in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toBeNull();\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('label', 'My Updated Label');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Updated Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description is updated', () => {\n it('updates the description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('description', 'My Updated Description');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Updated Description');\n });\n });\n\n describe('when label and description are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n const stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Description');\n });\n });\n\n describe('when only label is provided by a q2-stepper-pane', () => {\n it('displays label in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description is provided by a q2-stepper-pane', () => {\n it('does not display any text for the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n\n describe('when status is provided by a q2-stepper-pane', () => {\n it('display success q2-icon in the step button for status=\"complete\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"complete\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"success-filled\"]')).toBeTruthy();\n });\n\n it('display warning q2-icon in the step button for status=\"error\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"error\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"warning-filled\"]')).toBeTruthy();\n });\n\n it('display no q2-icon in the step button for status=\"locked\"', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"locked\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon')).toBeFalsy();\n });\n });\n\n describe('when label slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").innerHTML = 'My updated slotted label';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My updated slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\" description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").innerHTML = 'My updated slotted description';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText(\n 'My updated slotted description'\n );\n });\n });\n\n describe('when label slot and description slot are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n const stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My slotted description');\n });\n });\n\n describe('when label slot is provided by q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description slot is provided by a q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n const page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n const stepperPane = await page.find('q2-stepper-pane');\n const stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-controls', stepperPaneId);\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n });\n\n describe('focus', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n });\n\n const focusedStepText = async (page: E2EPage) => {\n return page.$eval('q2-stepper', el => el.shadowRoot.activeElement?.textContent);\n };\n\n it('focuses inner button when focus event is dispatched', async function (): Promise<void> {\n await stepper.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n\n it('focuses inner button when element.focus() is called', async function (): Promise<void> {\n await stepper.focus();\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n });\n\n describe('events', () => {\n describe('onchange', () => {\n describe('when not provided', () => {\n it('automatically updates the currentStep to the selected value', async () => {\n const page = await setup({\n html: renderStepper(3, 2),\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', '1');\n });\n });\n\n describe('when provided', () => {\n it('does not automatically update the currentStep to the selected value', async () => {\n const page = await setup({\n html: `\n <q2-stepper current-step=\"2\" onchange=\"testOnChange()\">\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n <q2-stepper-pane>Pane 2</q2-stepper-pane>\n <q2-stepper-pane>Pane 3</q2-stepper-pane>\n </q2-stepper>\n <script>function testOnChange() {}</script>\n `,\n });\n const stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n });\n\n describe('selecting steps', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n let stepBtns: E2EElement[];\n let changeSpy: EventSpy;\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n changeSpy = await stepper.spyOnEvent('change');\n });\n\n describe('when selecting a step after the lastEnabledStep', () => {\n it('does not emit an event', async () => {\n await stepBtns[2].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting the currently selected step', () => {\n it('does not emit an event', async () => {\n await stepBtns[1].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting a step before the lastEnabledStep', () => {\n it('does emits an event', async () => {\n await stepBtns[0].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 1,\n currentStep: 2,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n\n it('allows you to select the lastEnabledStep after selecting a different step', async () => {\n stepper.setProperty('currentStep', 1);\n await page.waitForChanges();\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n\n await stepBtns[1].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 2,\n currentStep: 1,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n\n describe('scroll', () => {\n let page: E2EPage;\n let stepContainer: E2EElement;\n let stepList: E2EElement;\n let btnLeft: E2EElement;\n let btnRight: E2EElement;\n\n describe('when the width of the total steps does not exceed the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('does not display the scroll indicator buttons', async () => {\n expect(stepContainer).not.toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toEqual(await stepList.getProperty('clientWidth'));\n expect(btnLeft).toBeNull();\n expect(btnRight).toBeNull();\n });\n });\n\n describe('when the width of the total steps exceeds the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(10),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('displays the scroll indicator buttons', async () => {\n expect(stepContainer).toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toBeGreaterThan(\n await stepList.getProperty('clientWidth')\n );\n expect(btnLeft).toBeTruthy();\n expect(btnRight).toBeTruthy();\n });\n\n it('can scroll via buttons', async () => {\n const scrollAmount = Math.floor((await stepList.getProperty('clientWidth')) / 2);\n const scrollByStub = jest.fn(args => {\n page.evaluate(left => {\n document.querySelector('q2-stepper').shadowRoot.querySelector('ul').scrollLeft = left;\n }, args.left);\n });\n await page.exposeFunction('scrollByStub', scrollByStub);\n await page.$eval('q2-stepper', stepper => {\n stepper.shadowRoot.querySelector('ul').scrollBy = scrollByStub;\n });\n\n expect(scrollByStub).toHaveBeenCalledTimes(0);\n expect(btnLeft).toHaveAttribute('hidden');\n expect(btnRight).not.toHaveAttribute('hidden');\n\n await btnRight.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: scrollAmount,\n });\n\n scrollByStub.mockReset();\n\n expect(btnRight).toHaveAttribute('hidden');\n expect(btnLeft).not.toHaveAttribute('hidden');\n\n await btnLeft.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: -scrollAmount,\n });\n });\n });\n });\n\n describe('keyboard', () => {\n let page: E2EPage;\n let stepBtns: E2EElement[];\n\n const isStepFocused = async (page: E2EPage, stepNumber: number) =>\n page.evaluate(\n stepNumber =>\n document.querySelector('q2-stepper').shadowRoot.activeElement ===\n document\n .querySelector('q2-stepper')\n .shadowRoot.querySelector(`li:nth-child(${stepNumber}) .step-btn`),\n stepNumber\n );\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n });\n\n describe('when arrow keys are pressed', () => {\n it('moves focus along the list of step buttons', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowLeft');\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 3)).toBe(true);\n });\n });\n\n describe('when Home is pressed', () => {\n it('focuses the first step button', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('Home');\n expect(await isStepFocused(page, 1)).toBe(true);\n });\n });\n\n describe('when End is pressed', () => {\n it('focuses the last enabled step button', async () => {\n await stepBtns[0].focus();\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('End');\n expect(await isStepFocused(page, 2)).toBe(true);\n });\n });\n });\n});\n"]}
@@ -1,4 +1,4 @@
1
- import { setup } from "../helpers";
1
+ import { getListOfStyleCompilationIssues, setup } from "../helpers";
2
2
  describe('q2-stepper-vertical', () => {
3
3
  let page;
4
4
  let stepper;
@@ -26,6 +26,10 @@ describe('q2-stepper-vertical', () => {
26
26
  });
27
27
  }
28
28
  };
29
+ it('properly compiles CSS vars and functions', async () => {
30
+ const page = await setup({ html: '<q2-stepper-vertical></q2-stepper-vertical>' });
31
+ expect(await getListOfStyleCompilationIssues(page, 'q2-stepper-vertical')).toHaveLength(0);
32
+ });
29
33
  describe('@Props', () => {
30
34
  beforeEach(async () => {
31
35
  page = await setup({