@internetarchive/modal-manager 2.0.4-alpha-webdev7960.0 → 2.0.4-alpha-webdev7960.1

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 (42) hide show
  1. package/dist/index.js.map +1 -1
  2. package/dist/src/assets/arrow-left-icon.js +12 -12
  3. package/dist/src/assets/arrow-left-icon.js.map +1 -1
  4. package/dist/src/assets/ia-logo-icon.js +27 -27
  5. package/dist/src/assets/ia-logo-icon.js.map +1 -1
  6. package/dist/src/modal-config.js.map +1 -1
  7. package/dist/src/modal-manager-host-bridge-interface.js.map +1 -1
  8. package/dist/src/modal-manager-host-bridge.js.map +1 -1
  9. package/dist/src/modal-manager-interface.js.map +1 -1
  10. package/dist/src/modal-manager-mode.js.map +1 -1
  11. package/dist/src/modal-manager.d.ts +1 -1
  12. package/dist/src/modal-manager.js +41 -39
  13. package/dist/src/modal-manager.js.map +1 -1
  14. package/dist/src/modal-template.js +220 -220
  15. package/dist/src/modal-template.js.map +1 -1
  16. package/dist/src/shoelace/active-elements.js.map +1 -1
  17. package/dist/src/shoelace/modal.js.map +1 -1
  18. package/dist/src/shoelace/tabbable.js.map +1 -1
  19. package/dist/test/modal-config.test.js.map +1 -1
  20. package/dist/test/modal-manager.test.js +75 -40
  21. package/dist/test/modal-manager.test.js.map +1 -1
  22. package/dist/test/modal-template.test.js +22 -22
  23. package/dist/test/modal-template.test.js.map +1 -1
  24. package/dist/vite.config.js.map +1 -1
  25. package/index.ts +7 -7
  26. package/package.json +1 -1
  27. package/src/assets/arrow-left-icon.ts +15 -15
  28. package/src/assets/ia-logo-icon.ts +30 -30
  29. package/src/modal-config.ts +133 -133
  30. package/src/modal-manager-host-bridge-interface.ts +13 -13
  31. package/src/modal-manager-host-bridge.ts +82 -82
  32. package/src/modal-manager-interface.ts +30 -30
  33. package/src/modal-manager-mode.ts +10 -10
  34. package/src/modal-manager.ts +305 -303
  35. package/src/modal-template.ts +343 -343
  36. package/src/shoelace/active-elements.ts +33 -33
  37. package/src/shoelace/modal.ts +166 -166
  38. package/src/shoelace/tabbable.ts +223 -223
  39. package/test/modal-config.test.ts +77 -77
  40. package/test/modal-manager.test.ts +393 -347
  41. package/test/modal-template.test.ts +206 -206
  42. package/vite.config.ts +23 -23
@@ -1 +1 @@
1
- {"version":3,"file":"modal-template.test.js","sourceRoot":"","sources":["../../test/modal-template.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { fixture, expect, oneEvent } from '@open-wc/testing';\r\nimport { html } from 'lit';\r\nimport '../src/modal-template';\r\nimport { ModalConfig } from '../src/modal-config';\r\n\r\ndescribe('Modal Template', () => {\r\n it('has correct default configuration', async () => {\r\n const el = await fixture(html` <modal-template></modal-template> `);\r\n\r\n const processingLogo = el.shadowRoot?.querySelector('.processing-logo');\r\n const headline = el.shadowRoot?.querySelector('.headline');\r\n const message = el.shadowRoot?.querySelector('.message');\r\n const title = el.shadowRoot?.querySelector('h1.title') as HTMLElement;\r\n\r\n expect(headline).to.not.exist;\r\n expect(message).to.not.exist;\r\n expect(title).to.not.exist;\r\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n expect('hidden' in processingLogo!.classList);\r\n });\r\n\r\n it('does not show the title if one not provided', async () => {\r\n const config = new ModalConfig();\r\n config.title = undefined;\r\n\r\n const el = await fixture(html`\r\n <modal-template .config=${config}></modal-template>\r\n `);\r\n\r\n const title = el.shadowRoot?.querySelector('h1.title');\r\n expect(title).to.not.exist;\r\n });\r\n\r\n it('emits closeButtonPressed event when close button is pressed', async () => {\r\n const el = await fixture(html` <modal-template></modal-template> `);\r\n\r\n const closeButton = el.shadowRoot?.querySelector('.close-button');\r\n const clickEvent = new MouseEvent('click');\r\n\r\n setTimeout(() => {\r\n closeButton?.dispatchEvent(clickEvent);\r\n });\r\n const response = await oneEvent(el, 'closeButtonPressed', false);\r\n expect(response).to.exist;\r\n });\r\n\r\n it('emits closeButtonPressed event when close button gets spacebar pressed', async () => {\r\n const el = await fixture(html` <modal-template></modal-template> `);\r\n\r\n const closeButton = el.shadowRoot?.querySelector('.close-button');\r\n const clickEvent = new KeyboardEvent('keydown', { key: ' ' });\r\n\r\n setTimeout(() => {\r\n closeButton?.dispatchEvent(clickEvent);\r\n });\r\n const response = await oneEvent(el, 'closeButtonPressed', false);\r\n expect(response).to.exist;\r\n });\r\n\r\n it('emits leftNavButtonPressed event when left nav button is pressed', async () => {\r\n const config = new ModalConfig();\r\n config.showLeftNavButton = true;\r\n const el = await fixture(html`\r\n <modal-template .config=${config}></modal-template>\r\n `);\r\n\r\n const leftNavButton = el.shadowRoot?.querySelector('.back-button');\r\n const clickEvent = new MouseEvent('click');\r\n\r\n setTimeout(() => {\r\n leftNavButton?.dispatchEvent(clickEvent);\r\n });\r\n const response = await oneEvent(el, 'leftNavButtonPressed', false);\r\n expect(response).to.exist;\r\n });\r\n\r\n it('emits leftNavButtonPressed event when left nav button gets spacebar pressed', async () => {\r\n const config = new ModalConfig();\r\n config.showLeftNavButton = true;\r\n const el = await fixture(html`\r\n <modal-template .config=${config}></modal-template>\r\n `);\r\n\r\n const leftNavButton = el.shadowRoot?.querySelector('.back-button');\r\n const clickEvent = new KeyboardEvent('keydown', { key: ' ' });\r\n\r\n setTimeout(() => {\r\n leftNavButton?.dispatchEvent(clickEvent);\r\n });\r\n const response = await oneEvent(el, 'leftNavButtonPressed', false);\r\n expect(response).to.exist;\r\n });\r\n\r\n it('shows the processing indicator if configured to', async () => {\r\n const config = new ModalConfig();\r\n config.showProcessingIndicator = true;\r\n\r\n const el = await fixture(html`\r\n <modal-template .config=${config}></modal-template>\r\n `);\r\n\r\n const processingLogo = el.shadowRoot?.querySelector('.processing-logo');\r\n const classList = processingLogo?.classList ?? [];\r\n expect('hidden' in classList).to.equal(false);\r\n });\r\n\r\n it('shows the left nav button if configured to', async () => {\r\n const config = new ModalConfig();\r\n config.showLeftNavButton = true;\r\n const el = await fixture(html`\r\n <modal-template .config=${config}></modal-template>\r\n `);\r\n\r\n const leftNavButton = el.shadowRoot?.querySelector('.back-button');\r\n expect(leftNavButton).to.exist;\r\n });\r\n\r\n it('hides the left nav button if configured to', async () => {\r\n const config = new ModalConfig();\r\n config.showCloseButton = false;\r\n const el = await fixture(html`\r\n <modal-template .config=${config}></modal-template>\r\n `);\r\n\r\n const closeButton = el.shadowRoot?.querySelector('.close-button');\r\n expect(closeButton).to.not.exist;\r\n });\r\n\r\n it('uses custom text for the left nav button if configured to', async () => {\r\n const config = new ModalConfig();\r\n config.showLeftNavButton = true;\r\n config.leftNavButtonText = 'Previous';\r\n const el = await fixture(html`\r\n <modal-template .config=${config}></modal-template>\r\n `);\r\n\r\n const leftNavButton = el.shadowRoot?.querySelector('.back-button');\r\n\r\n expect(leftNavButton).to.exist;\r\n expect(leftNavButton?.innerHTML).to.contain('Previous');\r\n });\r\n\r\n it('does not use any text for the left nav button if not configured to', async () => {\r\n const config = new ModalConfig();\r\n config.showLeftNavButton = true;\r\n\r\n const el = await fixture(html`\r\n <modal-template .config=${config}></modal-template>\r\n `);\r\n\r\n const leftNavButton = el.shadowRoot?.querySelector('.back-button');\r\n expect(leftNavButton?.innerHTML).not.to.contain('Previous');\r\n });\r\n\r\n it('shows the close button if configured to', async () => {\r\n const config = new ModalConfig();\r\n config.showCloseButton = true;\r\n const el = await fixture(html`\r\n <modal-template .config=${config}></modal-template>\r\n `);\r\n\r\n const closeButton = el.shadowRoot?.querySelector('.close-button');\r\n expect(closeButton).to.exist;\r\n });\r\n\r\n it('hides the close button if configured to', async () => {\r\n const config = new ModalConfig();\r\n config.showCloseButton = false;\r\n const el = await fixture(html`\r\n <modal-template .config=${config}></modal-template>\r\n `);\r\n\r\n const closeButton = el.shadowRoot?.querySelector('.close-button');\r\n expect(closeButton).to.not.exist;\r\n });\r\n\r\n it('shows the properties from the config', async () => {\r\n const config = new ModalConfig();\r\n config.title = html`Boop`;\r\n config.subtitle = html`Bop`;\r\n config.headline = html`Foo`;\r\n config.message = html`Bar`;\r\n\r\n const el = await fixture(html`\r\n <modal-template .config=${config}></modal-template>\r\n `);\r\n\r\n const title = el.shadowRoot?.querySelector('h1');\r\n const subtitle = el.shadowRoot?.querySelector('h2');\r\n\r\n const headline = el.shadowRoot?.querySelector('.headline');\r\n const message = el.shadowRoot?.querySelector('.message');\r\n\r\n expect(title).to.exist;\r\n expect(title?.innerText).to.equal('Boop');\r\n\r\n expect(subtitle).to.exist;\r\n expect(subtitle?.innerText).to.equal('Bop');\r\n\r\n expect(headline).to.exist;\r\n expect(headline?.textContent).to.equal('Foo');\r\n\r\n expect(message).to.exist;\r\n expect(message?.textContent).to.equal('Bar');\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"modal-template.test.js","sourceRoot":"","sources":["../../test/modal-template.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { fixture, expect, oneEvent } from '@open-wc/testing';\nimport { html } from 'lit';\nimport '../src/modal-template';\nimport { ModalConfig } from '../src/modal-config';\n\ndescribe('Modal Template', () => {\n it('has correct default configuration', async () => {\n const el = await fixture(html` <modal-template></modal-template> `);\n\n const processingLogo = el.shadowRoot?.querySelector('.processing-logo');\n const headline = el.shadowRoot?.querySelector('.headline');\n const message = el.shadowRoot?.querySelector('.message');\n const title = el.shadowRoot?.querySelector('h1.title') as HTMLElement;\n\n expect(headline).to.not.exist;\n expect(message).to.not.exist;\n expect(title).to.not.exist;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n expect('hidden' in processingLogo!.classList);\n });\n\n it('does not show the title if one not provided', async () => {\n const config = new ModalConfig();\n config.title = undefined;\n\n const el = await fixture(html`\n <modal-template .config=${config}></modal-template>\n `);\n\n const title = el.shadowRoot?.querySelector('h1.title');\n expect(title).to.not.exist;\n });\n\n it('emits closeButtonPressed event when close button is pressed', async () => {\n const el = await fixture(html` <modal-template></modal-template> `);\n\n const closeButton = el.shadowRoot?.querySelector('.close-button');\n const clickEvent = new MouseEvent('click');\n\n setTimeout(() => {\n closeButton?.dispatchEvent(clickEvent);\n });\n const response = await oneEvent(el, 'closeButtonPressed', false);\n expect(response).to.exist;\n });\n\n it('emits closeButtonPressed event when close button gets spacebar pressed', async () => {\n const el = await fixture(html` <modal-template></modal-template> `);\n\n const closeButton = el.shadowRoot?.querySelector('.close-button');\n const clickEvent = new KeyboardEvent('keydown', { key: ' ' });\n\n setTimeout(() => {\n closeButton?.dispatchEvent(clickEvent);\n });\n const response = await oneEvent(el, 'closeButtonPressed', false);\n expect(response).to.exist;\n });\n\n it('emits leftNavButtonPressed event when left nav button is pressed', async () => {\n const config = new ModalConfig();\n config.showLeftNavButton = true;\n const el = await fixture(html`\n <modal-template .config=${config}></modal-template>\n `);\n\n const leftNavButton = el.shadowRoot?.querySelector('.back-button');\n const clickEvent = new MouseEvent('click');\n\n setTimeout(() => {\n leftNavButton?.dispatchEvent(clickEvent);\n });\n const response = await oneEvent(el, 'leftNavButtonPressed', false);\n expect(response).to.exist;\n });\n\n it('emits leftNavButtonPressed event when left nav button gets spacebar pressed', async () => {\n const config = new ModalConfig();\n config.showLeftNavButton = true;\n const el = await fixture(html`\n <modal-template .config=${config}></modal-template>\n `);\n\n const leftNavButton = el.shadowRoot?.querySelector('.back-button');\n const clickEvent = new KeyboardEvent('keydown', { key: ' ' });\n\n setTimeout(() => {\n leftNavButton?.dispatchEvent(clickEvent);\n });\n const response = await oneEvent(el, 'leftNavButtonPressed', false);\n expect(response).to.exist;\n });\n\n it('shows the processing indicator if configured to', async () => {\n const config = new ModalConfig();\n config.showProcessingIndicator = true;\n\n const el = await fixture(html`\n <modal-template .config=${config}></modal-template>\n `);\n\n const processingLogo = el.shadowRoot?.querySelector('.processing-logo');\n const classList = processingLogo?.classList ?? [];\n expect('hidden' in classList).to.equal(false);\n });\n\n it('shows the left nav button if configured to', async () => {\n const config = new ModalConfig();\n config.showLeftNavButton = true;\n const el = await fixture(html`\n <modal-template .config=${config}></modal-template>\n `);\n\n const leftNavButton = el.shadowRoot?.querySelector('.back-button');\n expect(leftNavButton).to.exist;\n });\n\n it('hides the left nav button if configured to', async () => {\n const config = new ModalConfig();\n config.showCloseButton = false;\n const el = await fixture(html`\n <modal-template .config=${config}></modal-template>\n `);\n\n const closeButton = el.shadowRoot?.querySelector('.close-button');\n expect(closeButton).to.not.exist;\n });\n\n it('uses custom text for the left nav button if configured to', async () => {\n const config = new ModalConfig();\n config.showLeftNavButton = true;\n config.leftNavButtonText = 'Previous';\n const el = await fixture(html`\n <modal-template .config=${config}></modal-template>\n `);\n\n const leftNavButton = el.shadowRoot?.querySelector('.back-button');\n\n expect(leftNavButton).to.exist;\n expect(leftNavButton?.innerHTML).to.contain('Previous');\n });\n\n it('does not use any text for the left nav button if not configured to', async () => {\n const config = new ModalConfig();\n config.showLeftNavButton = true;\n\n const el = await fixture(html`\n <modal-template .config=${config}></modal-template>\n `);\n\n const leftNavButton = el.shadowRoot?.querySelector('.back-button');\n expect(leftNavButton?.innerHTML).not.to.contain('Previous');\n });\n\n it('shows the close button if configured to', async () => {\n const config = new ModalConfig();\n config.showCloseButton = true;\n const el = await fixture(html`\n <modal-template .config=${config}></modal-template>\n `);\n\n const closeButton = el.shadowRoot?.querySelector('.close-button');\n expect(closeButton).to.exist;\n });\n\n it('hides the close button if configured to', async () => {\n const config = new ModalConfig();\n config.showCloseButton = false;\n const el = await fixture(html`\n <modal-template .config=${config}></modal-template>\n `);\n\n const closeButton = el.shadowRoot?.querySelector('.close-button');\n expect(closeButton).to.not.exist;\n });\n\n it('shows the properties from the config', async () => {\n const config = new ModalConfig();\n config.title = html`Boop`;\n config.subtitle = html`Bop`;\n config.headline = html`Foo`;\n config.message = html`Bar`;\n\n const el = await fixture(html`\n <modal-template .config=${config}></modal-template>\n `);\n\n const title = el.shadowRoot?.querySelector('h1');\n const subtitle = el.shadowRoot?.querySelector('h2');\n\n const headline = el.shadowRoot?.querySelector('.headline');\n const message = el.shadowRoot?.querySelector('.message');\n\n expect(title).to.exist;\n expect(title?.innerText).to.equal('Boop');\n\n expect(subtitle).to.exist;\n expect(subtitle?.innerText).to.equal('Bop');\n\n expect(headline).to.exist;\n expect(headline?.textContent).to.equal('Foo');\n\n expect(message).to.exist;\n expect(message?.textContent).to.equal('Bar');\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vite.config.js","sourceRoot":"","sources":["../vite.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,6BAA6B;AAC7B,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE,EAAE;IACR,aAAa,EAAE,CAAC,UAAU,CAAC;IAC3B,KAAK,EAAE;QACL,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC;aACvC;SACF;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;KACX;CACF,CAAC,CAAC","sourcesContent":["import { defineConfig } from 'vite';\r\nimport { resolve } from 'path';\r\n\r\n// https://vitejs.dev/config/\r\nexport default defineConfig({\r\n base: '',\r\n assetsInclude: ['**/*.jpg'],\r\n build: {\r\n outDir: 'ghpages',\r\n manifest: true,\r\n rollupOptions: {\r\n input: {\r\n main: resolve(__dirname, 'index.html'),\r\n },\r\n },\r\n },\r\n server: {\r\n host: true,\r\n port: 8080,\r\n open: true,\r\n cors: true,\r\n },\r\n});\r\n"]}
1
+ {"version":3,"file":"vite.config.js","sourceRoot":"","sources":["../vite.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,6BAA6B;AAC7B,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE,EAAE;IACR,aAAa,EAAE,CAAC,UAAU,CAAC;IAC3B,KAAK,EAAE;QACL,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC;aACvC;SACF;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;KACX;CACF,CAAC,CAAC","sourcesContent":["import { defineConfig } from 'vite';\nimport { resolve } from 'path';\n\n// https://vitejs.dev/config/\nexport default defineConfig({\n base: '',\n assetsInclude: ['**/*.jpg'],\n build: {\n outDir: 'ghpages',\n manifest: true,\n rollupOptions: {\n input: {\n main: resolve(__dirname, 'index.html'),\n },\n },\n },\n server: {\n host: true,\n port: 8080,\n open: true,\n cors: true,\n },\n});\n"]}
package/index.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { ModalConfig } from './src/modal-config';
2
- export { ModalManager } from './src/modal-manager';
3
- export { ModalManagerMode } from './src/modal-manager-mode';
4
- export { ModalManagerInterface } from './src/modal-manager-interface';
5
- export { ModalManagerHostBridge } from './src/modal-manager-host-bridge';
6
- export { ModalManagerHostBridgeInterface } from './src/modal-manager-host-bridge-interface';
7
- export { ModalTemplate } from './src/modal-template';
1
+ export { ModalConfig } from './src/modal-config';
2
+ export { ModalManager } from './src/modal-manager';
3
+ export { ModalManagerMode } from './src/modal-manager-mode';
4
+ export { ModalManagerInterface } from './src/modal-manager-interface';
5
+ export { ModalManagerHostBridge } from './src/modal-manager-host-bridge';
6
+ export { ModalManagerHostBridgeInterface } from './src/modal-manager-host-bridge-interface';
7
+ export { ModalTemplate } from './src/modal-template';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@internetarchive/modal-manager",
3
- "version": "2.0.4-alpha-webdev7960.0",
3
+ "version": "2.0.4-alpha-webdev7960.1",
4
4
  "description": "A Modal Manager Web Component",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,15 +1,15 @@
1
- import { html } from 'lit';
2
-
3
- export default html`
4
- <svg
5
- viewBox="0 0 100 100"
6
- xmlns="http://www.w3.org/2000/svg"
7
- fill="#fff"
8
- title="Left arrow icon"
9
- alt="Left arrow icon"
10
- >
11
- <path
12
- d="m20.1116715 50.0035012-.1116715-.1085359 43.1159942-46.61088155c2.401537-2.18938917 4.6902018-3.28408375 6.8659943-3.28408375s4.1642651.63837733 5.9654178 1.91513199c1.8011528 1.27675467 3.1520173 2.97248092 4.0525937 5.08717877l-39.4020173 42.99768924 39.4020173 42.9976892c-.9005764 2.1146979-2.2514409 3.8104241-4.0525937 5.0871788-1.8011527 1.2767547-3.7896253 1.915132-5.9654178 1.915132-2.1013449 0-4.3900096-1.0573489-6.8659943-3.1720468l-43.1159942-46.7194174z"
13
- />
14
- </svg>
15
- `;
1
+ import { html } from 'lit';
2
+
3
+ export default html`
4
+ <svg
5
+ viewBox="0 0 100 100"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ fill="#fff"
8
+ title="Left arrow icon"
9
+ alt="Left arrow icon"
10
+ >
11
+ <path
12
+ d="m20.1116715 50.0035012-.1116715-.1085359 43.1159942-46.61088155c2.401537-2.18938917 4.6902018-3.28408375 6.8659943-3.28408375s4.1642651.63837733 5.9654178 1.91513199c1.8011528 1.27675467 3.1520173 2.97248092 4.0525937 5.08717877l-39.4020173 42.99768924 39.4020173 42.9976892c-.9005764 2.1146979-2.2514409 3.8104241-4.0525937 5.0871788-1.8011527 1.2767547-3.7896253 1.915132-5.9654178 1.915132-2.1013449 0-4.3900096-1.0573489-6.8659943-3.1720468l-43.1159942-46.7194174z"
13
+ />
14
+ </svg>
15
+ `;
@@ -1,30 +1,30 @@
1
- import { html } from 'lit';
2
-
3
- export default html`
4
- <svg
5
- class="ia-logo"
6
- viewBox="0 0 27 30"
7
- xmlns="http://www.w3.org/2000/svg"
8
- aria-labelledby="logoTitleID logoDescID"
9
- >
10
- <title id="logoTitleID">Internet Archive logo</title>
11
- <desc id="logoDescID">
12
- A line drawing of the Internet Archive headquarters building façade.
13
- </desc>
14
- <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
15
- <mask id="mask-2" class="fill-color">
16
- <path
17
- d="M26.6666667,28.6046512 L26.6666667,30 L0,30 L0.000283687943,28.6046512 L26.6666667,28.6046512 Z M25.6140351,26.5116279 L25.6140351,28.255814 L1.05263158,28.255814 L1.05263158,26.5116279 L25.6140351,26.5116279 Z M3.62469203,7.6744186 L3.91746909,7.82153285 L4.0639977,10.1739544 L4.21052632,13.9963932 L4.21052632,17.6725617 L4.0639977,22.255044 L4.03962296,25.3421929 L3.62469203,25.4651163 L2.16024641,25.4651163 L1.72094074,25.3421929 L1.55031755,22.255044 L1.40350877,17.6970339 L1.40350877,14.0211467 L1.55031755,10.1739544 L1.68423854,7.80887484 L1.98962322,7.6744186 L3.62469203,7.6744186 Z M24.6774869,7.6744186 L24.9706026,7.82153285 L25.1168803,10.1739544 L25.2631579,13.9963932 L25.2631579,17.6725617 L25.1168803,22.255044 L25.0927809,25.3421929 L24.6774869,25.4651163 L23.2130291,25.4651163 L22.7736357,25.3421929 L22.602418,22.255044 L22.4561404,17.6970339 L22.4561404,14.0211467 L22.602418,10.1739544 L22.7369262,7.80887484 L23.0420916,7.6744186 L24.6774869,7.6744186 Z M9.94042303,7.6744186 L10.2332293,7.82153285 L10.3797725,10.1739544 L10.5263158,13.9963932 L10.5263158,17.6725617 L10.3797725,22.255044 L10.3556756,25.3421929 L9.94042303,25.4651163 L8.47583122,25.4651163 L8.0362015,25.3421929 L7.86556129,22.255044 L7.71929825,17.6970339 L7.71929825,14.0211467 L7.86556129,10.1739544 L8.00005604,7.80887484 L8.30491081,7.6744186 L9.94042303,7.6744186 Z M18.0105985,7.6744186 L18.3034047,7.82153285 L18.449948,10.1739544 L18.5964912,13.9963932 L18.5964912,17.6725617 L18.449948,22.255044 L18.425851,25.3421929 L18.0105985,25.4651163 L16.5460067,25.4651163 L16.1066571,25.3421929 L15.9357367,22.255044 L15.7894737,17.6970339 L15.7894737,14.0211467 L15.9357367,10.1739544 L16.0702315,7.80887484 L16.3753664,7.6744186 L18.0105985,7.6744186 Z M25.6140351,4.53488372 L25.6140351,6.97674419 L1.05263158,6.97674419 L1.05263158,4.53488372 L25.6140351,4.53488372 Z M13.0806755,0 L25.9649123,2.93331338 L25.4484139,3.8372093 L0.771925248,3.8372093 L0,3.1041615 L13.0806755,0 Z"
18
- id="path-1"
19
- ></path>
20
- </mask>
21
- <use class="fill-color" xlink:href="#path-1"></use>
22
- <g mask="url(#mask-2)" class="fill-color">
23
- <path
24
- d="M0,0 L26.6666667,0 L26.6666667,30 L0,30 L0,0 Z"
25
- id="swatch"
26
- ></path>
27
- </g>
28
- </g>
29
- </svg>
30
- `;
1
+ import { html } from 'lit';
2
+
3
+ export default html`
4
+ <svg
5
+ class="ia-logo"
6
+ viewBox="0 0 27 30"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ aria-labelledby="logoTitleID logoDescID"
9
+ >
10
+ <title id="logoTitleID">Internet Archive logo</title>
11
+ <desc id="logoDescID">
12
+ A line drawing of the Internet Archive headquarters building façade.
13
+ </desc>
14
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
15
+ <mask id="mask-2" class="fill-color">
16
+ <path
17
+ d="M26.6666667,28.6046512 L26.6666667,30 L0,30 L0.000283687943,28.6046512 L26.6666667,28.6046512 Z M25.6140351,26.5116279 L25.6140351,28.255814 L1.05263158,28.255814 L1.05263158,26.5116279 L25.6140351,26.5116279 Z M3.62469203,7.6744186 L3.91746909,7.82153285 L4.0639977,10.1739544 L4.21052632,13.9963932 L4.21052632,17.6725617 L4.0639977,22.255044 L4.03962296,25.3421929 L3.62469203,25.4651163 L2.16024641,25.4651163 L1.72094074,25.3421929 L1.55031755,22.255044 L1.40350877,17.6970339 L1.40350877,14.0211467 L1.55031755,10.1739544 L1.68423854,7.80887484 L1.98962322,7.6744186 L3.62469203,7.6744186 Z M24.6774869,7.6744186 L24.9706026,7.82153285 L25.1168803,10.1739544 L25.2631579,13.9963932 L25.2631579,17.6725617 L25.1168803,22.255044 L25.0927809,25.3421929 L24.6774869,25.4651163 L23.2130291,25.4651163 L22.7736357,25.3421929 L22.602418,22.255044 L22.4561404,17.6970339 L22.4561404,14.0211467 L22.602418,10.1739544 L22.7369262,7.80887484 L23.0420916,7.6744186 L24.6774869,7.6744186 Z M9.94042303,7.6744186 L10.2332293,7.82153285 L10.3797725,10.1739544 L10.5263158,13.9963932 L10.5263158,17.6725617 L10.3797725,22.255044 L10.3556756,25.3421929 L9.94042303,25.4651163 L8.47583122,25.4651163 L8.0362015,25.3421929 L7.86556129,22.255044 L7.71929825,17.6970339 L7.71929825,14.0211467 L7.86556129,10.1739544 L8.00005604,7.80887484 L8.30491081,7.6744186 L9.94042303,7.6744186 Z M18.0105985,7.6744186 L18.3034047,7.82153285 L18.449948,10.1739544 L18.5964912,13.9963932 L18.5964912,17.6725617 L18.449948,22.255044 L18.425851,25.3421929 L18.0105985,25.4651163 L16.5460067,25.4651163 L16.1066571,25.3421929 L15.9357367,22.255044 L15.7894737,17.6970339 L15.7894737,14.0211467 L15.9357367,10.1739544 L16.0702315,7.80887484 L16.3753664,7.6744186 L18.0105985,7.6744186 Z M25.6140351,4.53488372 L25.6140351,6.97674419 L1.05263158,6.97674419 L1.05263158,4.53488372 L25.6140351,4.53488372 Z M13.0806755,0 L25.9649123,2.93331338 L25.4484139,3.8372093 L0.771925248,3.8372093 L0,3.1041615 L13.0806755,0 Z"
18
+ id="path-1"
19
+ ></path>
20
+ </mask>
21
+ <use class="fill-color" xlink:href="#path-1"></use>
22
+ <g mask="url(#mask-2)" class="fill-color">
23
+ <path
24
+ d="M0,0 L26.6666667,0 L26.6666667,30 L0,30 L0,0 Z"
25
+ id="swatch"
26
+ ></path>
27
+ </g>
28
+ </g>
29
+ </svg>
30
+ `;
@@ -1,133 +1,133 @@
1
- import { TemplateResult } from 'lit';
2
-
3
- /**
4
- * Configuration to show a modal
5
- *
6
- * @export
7
- * @class ModalConfig
8
- */
9
- export class ModalConfig {
10
- /**
11
- * The title that shows in the header
12
- *
13
- * @type {(TemplateResult | undefined)}
14
- * @memberof ModalConfig
15
- */
16
- title?: TemplateResult;
17
-
18
- /**
19
- * The subtitle shown in the header under the title
20
- *
21
- * @type {(TemplateResult | undefined)}
22
- * @memberof ModalConfig
23
- */
24
- subtitle?: TemplateResult;
25
-
26
- /**
27
- * The headline shown at the top of the content section
28
- *
29
- * @type {(TemplateResult | undefined)}
30
- * @memberof ModalConfig
31
- */
32
- headline?: TemplateResult;
33
-
34
- /**
35
- * The text shown below the headline in the content section
36
- *
37
- * @type {(TemplateResult | undefined)}
38
- * @memberof ModalConfig
39
- */
40
- message?: TemplateResult;
41
-
42
- /**
43
- * The background color of the header
44
- *
45
- * @memberof ModalConfig
46
- */
47
- headerColor: string;
48
-
49
- /**
50
- * The background color of the body
51
- *
52
- * @memberof ModalConfig
53
- */
54
- bodyColor: string;
55
-
56
- /**
57
- * Show or hide the processing indicator
58
- *
59
- * @memberof ModalConfig
60
- */
61
- showProcessingIndicator: boolean;
62
-
63
- /**
64
- * Set the processing image mode, currently `processing` or `complete`
65
- *
66
- * @memberof ModalConfig
67
- */
68
- processingImageMode: 'processing' | 'complete';
69
-
70
- /**
71
- * Show the close button
72
- *
73
- * @memberof ModalConfig
74
- */
75
- showCloseButton: boolean;
76
-
77
- /**
78
- * Show the left nav button
79
- *
80
- * @memberof ModalConfig
81
- */
82
- showLeftNavButton: boolean;
83
-
84
- /**
85
- * Left nav button text
86
- */
87
- leftNavButtonText: string;
88
-
89
- /**
90
- * Show the close button
91
- *
92
- * @memberof ModalConfig
93
- */
94
- showHeaderLogo: boolean;
95
-
96
- /**
97
- * Close the modal if the user taps on the background
98
- *
99
- * @memberof ModalConfig
100
- */
101
- closeOnBackdropClick: boolean;
102
-
103
- constructor(options?: {
104
- title?: TemplateResult;
105
- subtitle?: TemplateResult;
106
- headline?: TemplateResult;
107
- message?: TemplateResult;
108
- headerColor?: string;
109
- bodyColor?: string;
110
- showProcessingIndicator?: boolean;
111
- processingImageMode?: 'processing' | 'complete';
112
- showCloseButton?: boolean;
113
- showLeftNavButton?: boolean;
114
- leftNavButtonText?: string;
115
- showHeaderLogo?: boolean;
116
- closeOnBackdropClick?: boolean;
117
- }) {
118
- this.title = options?.title;
119
- this.subtitle = options?.subtitle;
120
- this.headline = options?.headline;
121
- this.message = options?.message;
122
-
123
- this.headerColor = options?.headerColor ?? '#55A183';
124
- this.bodyColor = options?.bodyColor ?? '#fbfbfd';
125
- this.showProcessingIndicator = options?.showProcessingIndicator ?? false;
126
- this.processingImageMode = options?.processingImageMode ?? 'complete';
127
- this.showCloseButton = options?.showCloseButton ?? true;
128
- this.showLeftNavButton = options?.showLeftNavButton ?? false;
129
- this.leftNavButtonText = options?.leftNavButtonText ?? '';
130
- this.showHeaderLogo = options?.showHeaderLogo ?? true;
131
- this.closeOnBackdropClick = options?.closeOnBackdropClick ?? true;
132
- }
133
- }
1
+ import { TemplateResult } from 'lit';
2
+
3
+ /**
4
+ * Configuration to show a modal
5
+ *
6
+ * @export
7
+ * @class ModalConfig
8
+ */
9
+ export class ModalConfig {
10
+ /**
11
+ * The title that shows in the header
12
+ *
13
+ * @type {(TemplateResult | undefined)}
14
+ * @memberof ModalConfig
15
+ */
16
+ title?: TemplateResult;
17
+
18
+ /**
19
+ * The subtitle shown in the header under the title
20
+ *
21
+ * @type {(TemplateResult | undefined)}
22
+ * @memberof ModalConfig
23
+ */
24
+ subtitle?: TemplateResult;
25
+
26
+ /**
27
+ * The headline shown at the top of the content section
28
+ *
29
+ * @type {(TemplateResult | undefined)}
30
+ * @memberof ModalConfig
31
+ */
32
+ headline?: TemplateResult;
33
+
34
+ /**
35
+ * The text shown below the headline in the content section
36
+ *
37
+ * @type {(TemplateResult | undefined)}
38
+ * @memberof ModalConfig
39
+ */
40
+ message?: TemplateResult;
41
+
42
+ /**
43
+ * The background color of the header
44
+ *
45
+ * @memberof ModalConfig
46
+ */
47
+ headerColor: string;
48
+
49
+ /**
50
+ * The background color of the body
51
+ *
52
+ * @memberof ModalConfig
53
+ */
54
+ bodyColor: string;
55
+
56
+ /**
57
+ * Show or hide the processing indicator
58
+ *
59
+ * @memberof ModalConfig
60
+ */
61
+ showProcessingIndicator: boolean;
62
+
63
+ /**
64
+ * Set the processing image mode, currently `processing` or `complete`
65
+ *
66
+ * @memberof ModalConfig
67
+ */
68
+ processingImageMode: 'processing' | 'complete';
69
+
70
+ /**
71
+ * Show the close button
72
+ *
73
+ * @memberof ModalConfig
74
+ */
75
+ showCloseButton: boolean;
76
+
77
+ /**
78
+ * Show the left nav button
79
+ *
80
+ * @memberof ModalConfig
81
+ */
82
+ showLeftNavButton: boolean;
83
+
84
+ /**
85
+ * Left nav button text
86
+ */
87
+ leftNavButtonText: string;
88
+
89
+ /**
90
+ * Show the close button
91
+ *
92
+ * @memberof ModalConfig
93
+ */
94
+ showHeaderLogo: boolean;
95
+
96
+ /**
97
+ * Close the modal if the user taps on the background
98
+ *
99
+ * @memberof ModalConfig
100
+ */
101
+ closeOnBackdropClick: boolean;
102
+
103
+ constructor(options?: {
104
+ title?: TemplateResult;
105
+ subtitle?: TemplateResult;
106
+ headline?: TemplateResult;
107
+ message?: TemplateResult;
108
+ headerColor?: string;
109
+ bodyColor?: string;
110
+ showProcessingIndicator?: boolean;
111
+ processingImageMode?: 'processing' | 'complete';
112
+ showCloseButton?: boolean;
113
+ showLeftNavButton?: boolean;
114
+ leftNavButtonText?: string;
115
+ showHeaderLogo?: boolean;
116
+ closeOnBackdropClick?: boolean;
117
+ }) {
118
+ this.title = options?.title;
119
+ this.subtitle = options?.subtitle;
120
+ this.headline = options?.headline;
121
+ this.message = options?.message;
122
+
123
+ this.headerColor = options?.headerColor ?? '#55A183';
124
+ this.bodyColor = options?.bodyColor ?? '#fbfbfd';
125
+ this.showProcessingIndicator = options?.showProcessingIndicator ?? false;
126
+ this.processingImageMode = options?.processingImageMode ?? 'complete';
127
+ this.showCloseButton = options?.showCloseButton ?? true;
128
+ this.showLeftNavButton = options?.showLeftNavButton ?? false;
129
+ this.leftNavButtonText = options?.leftNavButtonText ?? '';
130
+ this.showHeaderLogo = options?.showHeaderLogo ?? true;
131
+ this.closeOnBackdropClick = options?.closeOnBackdropClick ?? true;
132
+ }
133
+ }
@@ -1,13 +1,13 @@
1
- import { ModalManagerMode } from './modal-manager-mode';
2
-
3
- /**
4
- * The ModalManagerHostBridgeInterface is a delegate interface for
5
- * the host to implement environment-specific changes when the modal
6
- * is open or closed.
7
- *
8
- * A default implementation is provided, but can be overridden if
9
- * it does not work for the environment.
10
- */
11
- export interface ModalManagerHostBridgeInterface {
12
- handleModeChange(mode: ModalManagerMode): void;
13
- }
1
+ import { ModalManagerMode } from './modal-manager-mode';
2
+
3
+ /**
4
+ * The ModalManagerHostBridgeInterface is a delegate interface for
5
+ * the host to implement environment-specific changes when the modal
6
+ * is open or closed.
7
+ *
8
+ * A default implementation is provided, but can be overridden if
9
+ * it does not work for the environment.
10
+ */
11
+ export interface ModalManagerHostBridgeInterface {
12
+ handleModeChange(mode: ModalManagerMode): void;
13
+ }