@spectrum-web-components/dialog 0.9.1 → 0.10.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spectrum-web-components/dialog",
3
- "version": "0.9.1",
3
+ "version": "0.10.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -46,26 +46,26 @@
46
46
  "lit-html"
47
47
  ],
48
48
  "dependencies": {
49
- "@spectrum-web-components/action-button": "^0.7.4",
50
- "@spectrum-web-components/base": "^0.5.2",
51
- "@spectrum-web-components/button": "^0.16.4",
52
- "@spectrum-web-components/button-group": "^0.8.3",
53
- "@spectrum-web-components/divider": "^0.4.3",
54
- "@spectrum-web-components/icon": "^0.11.3",
55
- "@spectrum-web-components/icons-ui": "^0.8.3",
56
- "@spectrum-web-components/icons-workflow": "^0.8.3",
57
- "@spectrum-web-components/modal": "^0.6.1",
58
- "@spectrum-web-components/shared": "^0.13.4",
59
- "@spectrum-web-components/underlay": "^0.8.3",
49
+ "@spectrum-web-components/action-button": "^0.8.1",
50
+ "@spectrum-web-components/base": "^0.5.4",
51
+ "@spectrum-web-components/button": "^0.17.1",
52
+ "@spectrum-web-components/button-group": "^0.8.5",
53
+ "@spectrum-web-components/divider": "^0.4.5",
54
+ "@spectrum-web-components/icon": "^0.11.5",
55
+ "@spectrum-web-components/icons-ui": "^0.8.5",
56
+ "@spectrum-web-components/icons-workflow": "^0.8.5",
57
+ "@spectrum-web-components/modal": "^0.6.3",
58
+ "@spectrum-web-components/shared": "^0.13.6",
59
+ "@spectrum-web-components/underlay": "^0.8.5",
60
60
  "tslib": "^2.0.0"
61
61
  },
62
62
  "devDependencies": {
63
- "@spectrum-css/dialog": "^5.0.0"
63
+ "@spectrum-css/dialog": "^6.0.3"
64
64
  },
65
65
  "types": "./src/index.d.ts",
66
66
  "customElements": "custom-elements.json",
67
67
  "sideEffects": [
68
68
  "./sp-*.js"
69
69
  ],
70
- "gitHead": "bb5308b9be01cc7c5bbab289312042256bdcc740"
70
+ "gitHead": "caf12727e7f91dcf961e1fadacc727eea9ece27b"
71
71
  }
@@ -181,6 +181,7 @@ export class DialogWrapper extends FocusVisiblePolyfillMixin(SpectrumElement) {
181
181
  ? html `
182
182
  <sp-button
183
183
  variant="primary"
184
+ treatment="outline"
184
185
  slot="button"
185
186
  @click=${this.clickSecondary}
186
187
  >
@@ -192,6 +193,7 @@ export class DialogWrapper extends FocusVisiblePolyfillMixin(SpectrumElement) {
192
193
  ? html `
193
194
  <sp-button
194
195
  variant="secondary"
196
+ treatment="outline"
195
197
  slot="button"
196
198
  @click=${this.clickCancel}
197
199
  >
@@ -202,7 +204,7 @@ export class DialogWrapper extends FocusVisiblePolyfillMixin(SpectrumElement) {
202
204
  ${this.confirmLabel
203
205
  ? html `
204
206
  <sp-button
205
- variant="cta"
207
+ variant="accent"
206
208
  slot="button"
207
209
  @click=${this.clickConfirm}
208
210
  >
@@ -1 +1 @@
1
- {"version":3,"file":"DialogWrapper.js","sourceRoot":"","sources":["DialogWrapper.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n CSSResultArray,\n html,\n PropertyValues,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n property,\n query,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\n\nimport '@spectrum-web-components/underlay/sp-underlay.js';\nimport '@spectrum-web-components/button/sp-button.js';\n\nimport '../sp-dialog.js';\nimport modalWrapperStyles from '@spectrum-web-components/modal/src/modal-wrapper.css.js';\nimport modalStyles from '@spectrum-web-components/modal/src/modal.css.js';\nimport { Dialog } from './Dialog.js';\nimport { FocusVisiblePolyfillMixin } from '@spectrum-web-components/shared';\nimport { firstFocusableIn } from '@spectrum-web-components/shared/src/first-focusable-in.js';\n\n/**\n * @element sp-dialog-wrapper\n *\n * @slot - content for the dialog\n * @fires secondary - Announces that the \"secondary\" button has been clicked.\n * @fires cancel - Announces that the \"cancel\" button has been clicked.\n * @fires confirm - Announces that the \"confirm\" button has been clicked.\n * @fires close - Announces that the dialog has been closed.\n */\nexport class DialogWrapper extends FocusVisiblePolyfillMixin(SpectrumElement) {\n public static get styles(): CSSResultArray {\n return [modalWrapperStyles, modalStyles];\n }\n\n @property({ type: Boolean, reflect: true })\n public error = false;\n\n @property({ attribute: 'cancel-label' })\n public cancelLabel = '';\n\n @property({ attribute: 'confirm-label' })\n public confirmLabel = '';\n\n @property({ type: Boolean, reflect: true })\n public dismissable = false;\n\n @property()\n public footer = '';\n\n @property()\n public hero = '';\n\n @property({ attribute: 'hero-label' })\n public heroLabel = '';\n\n @property({ type: Boolean, reflect: true, attribute: 'no-divider' })\n public noDivider = false;\n\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n @property({ type: String, reflect: true })\n public mode?: 'fullscreen' | 'fullscreenTakeover';\n\n @property({ type: String, reflect: true })\n public size?: 's' | 'm' | 'l';\n\n @property({ attribute: 'secondary-label' })\n public secondaryLabel = '';\n\n @property()\n public headline = '';\n\n @property({ type: Boolean })\n public responsive = false;\n\n private transitionPromise = Promise.resolve();\n\n private resolveTransitionPromise!: () => void;\n\n @property({ type: Boolean })\n public underlay = false;\n\n @query('sp-dialog')\n private dialog!: Dialog;\n\n public focus(): void {\n if (this.shadowRoot) {\n const firstFocusable = firstFocusableIn(this.dialog);\n if (firstFocusable) {\n if (firstFocusable.updateComplete) {\n firstFocusable.updateComplete.then(() =>\n firstFocusable.focus()\n );\n /* c8 ignore next 3 */\n } else {\n firstFocusable.focus();\n }\n this.removeAttribute('tabindex');\n } else {\n this.dialog.focus();\n }\n /* c8 ignore next 3 */\n } else {\n super.focus();\n }\n }\n\n public overlayWillCloseCallback(): boolean {\n if (!this.open) return false;\n this.close();\n return true;\n }\n\n private dismiss(): void {\n if (!this.dismissable) {\n return;\n }\n this.close();\n }\n\n private clickSecondary(): void {\n this.dispatchEvent(\n new Event('secondary', {\n bubbles: true,\n })\n );\n }\n\n private clickCancel(): void {\n this.dispatchEvent(\n new Event('cancel', {\n bubbles: true,\n })\n );\n }\n\n private clickConfirm(): void {\n this.dispatchEvent(\n new Event('confirm', {\n bubbles: true,\n })\n );\n }\n\n protected handleClose(event: Event): void {\n event.stopPropagation();\n this.close();\n }\n\n public close(): void {\n this.open = false;\n }\n\n private dispatchClosed(): void {\n this.dispatchEvent(\n new Event('close', {\n bubbles: true,\n })\n );\n }\n\n protected handleUnderlayTransitionend(): void {\n if (!this.open) {\n this.dispatchClosed();\n this.resolveTransitionPromise();\n }\n }\n\n protected handleModalTransitionend(): void {\n if (this.open || !this.underlay) {\n this.resolveTransitionPromise();\n if (!this.open) {\n this.dispatchClosed();\n }\n }\n }\n\n protected update(changes: PropertyValues<this>): void {\n if (changes.has('open') && changes.get('open') !== undefined) {\n this.transitionPromise = new Promise(\n (res) => (this.resolveTransitionPromise = res)\n );\n }\n super.update(changes);\n }\n\n protected render(): TemplateResult {\n return html`\n ${this.underlay\n ? html`\n <sp-underlay\n ?open=${this.open}\n @click=${this.dismiss}\n @transitionend=${this.handleUnderlayTransitionend}\n ></sp-underlay>\n `\n : html``}\n <div\n class=\"modal ${this.mode}\"\n @transitionend=${this.handleModalTransitionend}\n >\n <sp-dialog\n ?dismissable=${this.dismissable}\n ?no-divider=${this.noDivider}\n ?error=${this.error}\n mode=${ifDefined(this.mode ? this.mode : undefined)}\n size=${ifDefined(this.size ? this.size : undefined)}\n @close=${this.handleClose}\n >\n ${this.hero\n ? html`\n <img\n src=\"${this.hero}\"\n slot=\"hero\"\n aria-hidden=${ifDefined(\n this.heroLabel ? undefined : 'true'\n )}\n alt=${ifDefined(\n this.heroLabel\n ? this.heroLabel\n : undefined\n )}\n />\n `\n : html``}\n ${this.headline\n ? html`\n <h2 slot=\"heading\">${this.headline}</h2>\n `\n : html``}\n <slot></slot>\n ${this.footer\n ? html`\n <div slot=\"footer\">${this.footer}</div>\n `\n : html``}\n ${this.secondaryLabel\n ? html`\n <sp-button\n variant=\"primary\"\n slot=\"button\"\n @click=${this.clickSecondary}\n >\n ${this.secondaryLabel}\n </sp-button>\n `\n : html``}\n ${this.cancelLabel\n ? html`\n <sp-button\n variant=\"secondary\"\n slot=\"button\"\n @click=${this.clickCancel}\n >\n ${this.cancelLabel}\n </sp-button>\n `\n : html``}\n ${this.confirmLabel\n ? html`\n <sp-button\n variant=\"cta\"\n slot=\"button\"\n @click=${this.clickConfirm}\n >\n ${this.confirmLabel}\n </sp-button>\n `\n : html``}\n </sp-dialog>\n </div>\n `;\n }\n\n protected updated(changes: PropertyValues<this>): void {\n if (changes.has('open')) {\n if (this.open) {\n this.dialog.updateComplete.then(() => {\n this.dialog.shouldManageTabOrderForScrolling();\n });\n } else {\n this.tabIndex = 0;\n }\n }\n }\n\n /**\n * Bind the open/close transition into the update complete lifecycle so\n * that the overlay system can wait for it to be \"visibly ready\" before\n * attempting to throw focus into the content contained herein. Not\n * waiting for this can cause small amounts of page scroll to happen\n * while opening the Tray when focusable content is included: e.g. Menu\n * elements whose selected Menu Item is not the first Menu Item.\n */\n protected async getUpdateComplete(): Promise<boolean> {\n const complete = (await super.getUpdateComplete()) as boolean;\n await this.transitionPromise;\n return complete;\n }\n}\n"]}
1
+ {"version":3,"file":"DialogWrapper.js","sourceRoot":"","sources":["DialogWrapper.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n CSSResultArray,\n html,\n PropertyValues,\n SpectrumElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n property,\n query,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\n\nimport '@spectrum-web-components/underlay/sp-underlay.js';\nimport '@spectrum-web-components/button/sp-button.js';\n\nimport '../sp-dialog.js';\nimport modalWrapperStyles from '@spectrum-web-components/modal/src/modal-wrapper.css.js';\nimport modalStyles from '@spectrum-web-components/modal/src/modal.css.js';\nimport { Dialog } from './Dialog.js';\nimport { FocusVisiblePolyfillMixin } from '@spectrum-web-components/shared';\nimport { firstFocusableIn } from '@spectrum-web-components/shared/src/first-focusable-in.js';\n\n/**\n * @element sp-dialog-wrapper\n *\n * @slot - content for the dialog\n * @fires secondary - Announces that the \"secondary\" button has been clicked.\n * @fires cancel - Announces that the \"cancel\" button has been clicked.\n * @fires confirm - Announces that the \"confirm\" button has been clicked.\n * @fires close - Announces that the dialog has been closed.\n */\nexport class DialogWrapper extends FocusVisiblePolyfillMixin(SpectrumElement) {\n public static get styles(): CSSResultArray {\n return [modalWrapperStyles, modalStyles];\n }\n\n @property({ type: Boolean, reflect: true })\n public error = false;\n\n @property({ attribute: 'cancel-label' })\n public cancelLabel = '';\n\n @property({ attribute: 'confirm-label' })\n public confirmLabel = '';\n\n @property({ type: Boolean, reflect: true })\n public dismissable = false;\n\n @property()\n public footer = '';\n\n @property()\n public hero = '';\n\n @property({ attribute: 'hero-label' })\n public heroLabel = '';\n\n @property({ type: Boolean, reflect: true, attribute: 'no-divider' })\n public noDivider = false;\n\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n @property({ type: String, reflect: true })\n public mode?: 'fullscreen' | 'fullscreenTakeover';\n\n @property({ type: String, reflect: true })\n public size?: 's' | 'm' | 'l';\n\n @property({ attribute: 'secondary-label' })\n public secondaryLabel = '';\n\n @property()\n public headline = '';\n\n @property({ type: Boolean })\n public responsive = false;\n\n private transitionPromise = Promise.resolve();\n\n private resolveTransitionPromise!: () => void;\n\n @property({ type: Boolean })\n public underlay = false;\n\n @query('sp-dialog')\n private dialog!: Dialog;\n\n public focus(): void {\n if (this.shadowRoot) {\n const firstFocusable = firstFocusableIn(this.dialog);\n if (firstFocusable) {\n if (firstFocusable.updateComplete) {\n firstFocusable.updateComplete.then(() =>\n firstFocusable.focus()\n );\n /* c8 ignore next 3 */\n } else {\n firstFocusable.focus();\n }\n this.removeAttribute('tabindex');\n } else {\n this.dialog.focus();\n }\n /* c8 ignore next 3 */\n } else {\n super.focus();\n }\n }\n\n public overlayWillCloseCallback(): boolean {\n if (!this.open) return false;\n this.close();\n return true;\n }\n\n private dismiss(): void {\n if (!this.dismissable) {\n return;\n }\n this.close();\n }\n\n private clickSecondary(): void {\n this.dispatchEvent(\n new Event('secondary', {\n bubbles: true,\n })\n );\n }\n\n private clickCancel(): void {\n this.dispatchEvent(\n new Event('cancel', {\n bubbles: true,\n })\n );\n }\n\n private clickConfirm(): void {\n this.dispatchEvent(\n new Event('confirm', {\n bubbles: true,\n })\n );\n }\n\n protected handleClose(event: Event): void {\n event.stopPropagation();\n this.close();\n }\n\n public close(): void {\n this.open = false;\n }\n\n private dispatchClosed(): void {\n this.dispatchEvent(\n new Event('close', {\n bubbles: true,\n })\n );\n }\n\n protected handleUnderlayTransitionend(): void {\n if (!this.open) {\n this.dispatchClosed();\n this.resolveTransitionPromise();\n }\n }\n\n protected handleModalTransitionend(): void {\n if (this.open || !this.underlay) {\n this.resolveTransitionPromise();\n if (!this.open) {\n this.dispatchClosed();\n }\n }\n }\n\n protected update(changes: PropertyValues<this>): void {\n if (changes.has('open') && changes.get('open') !== undefined) {\n this.transitionPromise = new Promise(\n (res) => (this.resolveTransitionPromise = res)\n );\n }\n super.update(changes);\n }\n\n protected render(): TemplateResult {\n return html`\n ${this.underlay\n ? html`\n <sp-underlay\n ?open=${this.open}\n @click=${this.dismiss}\n @transitionend=${this.handleUnderlayTransitionend}\n ></sp-underlay>\n `\n : html``}\n <div\n class=\"modal ${this.mode}\"\n @transitionend=${this.handleModalTransitionend}\n >\n <sp-dialog\n ?dismissable=${this.dismissable}\n ?no-divider=${this.noDivider}\n ?error=${this.error}\n mode=${ifDefined(this.mode ? this.mode : undefined)}\n size=${ifDefined(this.size ? this.size : undefined)}\n @close=${this.handleClose}\n >\n ${this.hero\n ? html`\n <img\n src=\"${this.hero}\"\n slot=\"hero\"\n aria-hidden=${ifDefined(\n this.heroLabel ? undefined : 'true'\n )}\n alt=${ifDefined(\n this.heroLabel\n ? this.heroLabel\n : undefined\n )}\n />\n `\n : html``}\n ${this.headline\n ? html`\n <h2 slot=\"heading\">${this.headline}</h2>\n `\n : html``}\n <slot></slot>\n ${this.footer\n ? html`\n <div slot=\"footer\">${this.footer}</div>\n `\n : html``}\n ${this.secondaryLabel\n ? html`\n <sp-button\n variant=\"primary\"\n treatment=\"outline\"\n slot=\"button\"\n @click=${this.clickSecondary}\n >\n ${this.secondaryLabel}\n </sp-button>\n `\n : html``}\n ${this.cancelLabel\n ? html`\n <sp-button\n variant=\"secondary\"\n treatment=\"outline\"\n slot=\"button\"\n @click=${this.clickCancel}\n >\n ${this.cancelLabel}\n </sp-button>\n `\n : html``}\n ${this.confirmLabel\n ? html`\n <sp-button\n variant=\"accent\"\n slot=\"button\"\n @click=${this.clickConfirm}\n >\n ${this.confirmLabel}\n </sp-button>\n `\n : html``}\n </sp-dialog>\n </div>\n `;\n }\n\n protected updated(changes: PropertyValues<this>): void {\n if (changes.has('open')) {\n if (this.open) {\n this.dialog.updateComplete.then(() => {\n this.dialog.shouldManageTabOrderForScrolling();\n });\n } else {\n this.tabIndex = 0;\n }\n }\n }\n\n /**\n * Bind the open/close transition into the update complete lifecycle so\n * that the overlay system can wait for it to be \"visibly ready\" before\n * attempting to throw focus into the content contained herein. Not\n * waiting for this can cause small amounts of page scroll to happen\n * while opening the Tray when focusable content is included: e.g. Menu\n * elements whose selected Menu Item is not the first Menu Item.\n */\n protected async getUpdateComplete(): Promise<boolean> {\n const complete = (await super.getUpdateComplete()) as boolean;\n await this.transitionPromise;\n return complete;\n }\n}\n"]}
@@ -199,6 +199,38 @@ export const form = (args = {}, context = {}) => {
199
199
  </overlay-trigger>
200
200
  `;
201
201
  };
202
+ function nextFrame() {
203
+ return new Promise((res) => requestAnimationFrame(() => res()));
204
+ }
205
+ class OverlayTriggerReady extends HTMLElement {
206
+ constructor() {
207
+ super();
208
+ this.handleTriggerOpened = async () => {
209
+ await nextFrame();
210
+ this.ready(true);
211
+ };
212
+ this.readyPromise = Promise.resolve(false);
213
+ this.readyPromise = new Promise((res) => {
214
+ this.ready = res;
215
+ this.setup();
216
+ });
217
+ }
218
+ async setup() {
219
+ await nextFrame();
220
+ const overlay = document.querySelector(`overlay-trigger`);
221
+ overlay.addEventListener('sp-opened', this.handleTriggerOpened);
222
+ }
223
+ get updateComplete() {
224
+ return this.readyPromise;
225
+ }
226
+ }
227
+ customElements.define('overlay-trigger-ready', OverlayTriggerReady);
228
+ const overlayTriggerDecorator = (story) => {
229
+ return html `
230
+ ${story()}
231
+ <overlay-trigger-ready></overlay-trigger-ready>
232
+ `;
233
+ };
202
234
  export const longContent = (args = {}, context = {}) => {
203
235
  const open = context.viewMode === 'docs' ? undefined : 'click';
204
236
  return html `
@@ -315,6 +347,7 @@ export const longContent = (args = {}, context = {}) => {
315
347
  </overlay-trigger>
316
348
  `;
317
349
  };
350
+ longContent.decorators = [overlayTriggerDecorator];
318
351
  export const wrapperDismissableUnderlayError = (args = {}, context = {}) => {
319
352
  const open = context.viewMode === 'docs' ? false : true;
320
353
  return html `
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-wrapper.stories.js","sourceRoot":"","sources":["dialog-wrapper.stories.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport { html, TemplateResult } from '@spectrum-web-components/base';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\n\nimport '@spectrum-web-components/button/sp-button.js';\nimport '@spectrum-web-components/field-label/sp-field-label.js';\nimport '@spectrum-web-components/help-text/sp-help-text.js';\nimport '@spectrum-web-components/textfield/sp-textfield.js';\nimport '@spectrum-web-components/overlay/overlay-trigger.js';\n\nimport '../sp-dialog-wrapper.js';\nimport { landscape } from './images.js';\n\nexport default {\n title: 'Dialog Wrapped',\n component: 'sp-dialog-wrapper',\n argTypes: {\n onClose: { action: 'close' },\n onConfirm: { action: 'confirm' },\n onSecondary: { action: 'secondary' },\n onCancel: { action: 'cancel' },\n },\n};\n\ntype StoryArgs = {\n onClose?: (event: Event) => void;\n onConfirm?: (event: Event) => void;\n onSecondary?: (event: Event) => void;\n onCancel?: (event: Event) => void;\n};\n\nconst handleClose =\n ({ onClose }: StoryArgs) =>\n (event: Event) => {\n if (onClose) onClose(event);\n };\n\nconst handleConfirm =\n ({ onConfirm }: StoryArgs) =>\n (event: Event) => {\n if (onConfirm) onConfirm(event);\n };\n\nconst handleSecondary =\n ({ onSecondary }: StoryArgs) =>\n (event: Event) => {\n if (onSecondary) onSecondary(event);\n };\n\nconst handleCancel =\n ({ onCancel }: StoryArgs) =>\n (event: Event) => {\n if (onCancel) onCancel(event);\n };\n\nexport const wrapperLabeledHero = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n hero=${landscape}\n hero-label=\"Hero Image Alt Text\"\n dismissable\n headline=\"Wrapped Dialog w/ Hero Image\"\n @close=${handleClose(args)}\n size=\"s\"\n >\n Content of the dialog\n </sp-dialog-wrapper>\n <sp-button\n onClick=\"\n this.previousElementSibling.open = !this.previousElementSibling.open;\n if (this.previousElementSibling.open) {\n this.previousElementSibling.focus();\n }\n \"\n variant=\"primary\"\n >\n Toggle Dialog\n </sp-button>\n `;\n};\n\nexport const wrapperDismissable = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n hero=${landscape}\n dismissable\n headline=\"Wrapped Dialog w/ Hero Image\"\n @close=${handleClose(args)}\n size=\"s\"\n >\n Content of the dialog\n </sp-dialog-wrapper>\n <sp-button\n onClick=\"\n this.previousElementSibling.open = !this.previousElementSibling.open;\n if (this.previousElementSibling.open) {\n this.previousElementSibling.focus();\n }\n \"\n variant=\"primary\"\n >\n Toggle Dialog\n </sp-button>\n `;\n};\n\nexport const wrapperDismissableUnderlay = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n hero=${landscape}\n dismissable\n headline=\"Wrapped Dialog w/ Hero Image\"\n underlay\n @close=${handleClose(args)}\n size=\"s\"\n >\n Content of the dialog\n </sp-dialog-wrapper>\n <sp-button\n onClick=\"\n this.previousElementSibling.open = !this.previousElementSibling.open;\n if (this.previousElementSibling.open) {\n this.previousElementSibling.focus();\n }\n \"\n variant=\"primary\"\n >\n Toggle Dialog\n </sp-button>\n `;\n};\n\nexport const form = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? undefined : 'click';\n return html`\n <overlay-trigger\n type=\"modal\"\n placement=\"none\"\n @close=${handleClose(args)}\n open=${ifDefined(open)}\n >\n <sp-button slot=\"trigger\" variant=\"primary\">\n Toggle Dialog\n </sp-button>\n <sp-dialog-wrapper\n id=\"form-fields\"\n slot=\"click-content\"\n headline=\"Add Delivery Address\"\n underlay\n size=\"m\"\n confirm-label=\"Verify Address\"\n secondary-label=\"Add\"\n cancel-label=\"Cancel\"\n @close=${handleClose(args)}\n @confirm=${({ target }: Event & { target: HTMLElement }) => {\n target.dispatchEvent(\n new Event('close', { bubbles: true, composed: true })\n );\n handleConfirm(args);\n }}\n @secondary=${({ target }: Event & { target: HTMLElement }) => {\n target.dispatchEvent(\n new Event('close', { bubbles: true, composed: true })\n );\n handleSecondary(args);\n }}\n @cancel=${({ target }: Event & { target: HTMLElement }) => {\n target.dispatchEvent(\n new Event('close', { bubbles: true, composed: true })\n );\n handleCancel(args);\n }}\n >\n <style>\n #form-fields div {\n display: grid;\n gap: var(--spectrum-global-dimension-size-150);\n grid-template-columns: auto auto;\n\n --spectrum-fieldlabel-m-side-padding-right: 0;\n }\n </style>\n <div>\n <sp-field-label side-aligned=\"end\" for=\"street\">\n Street:\n </sp-field-label>\n <sp-textfield id=\"street\" autofocus></sp-textfield>\n <sp-field-label side-aligned=\"end\" for=\"city\">\n City:\n </sp-field-label>\n <sp-textfield id=\"city\"></sp-textfield>\n <sp-field-label side-aligned=\"end\" for=\"state\">\n State:\n </sp-field-label>\n <sp-textfield id=\"state\"></sp-textfield>\n <sp-field-label side-aligned=\"end\" for=\"zip\">\n Zip:\n </sp-field-label>\n <sp-textfield id=\"zip\"></sp-textfield>\n <sp-field-label side-aligned=\"end\" for=\"instructions\">\n Special instructions:\n </sp-field-label>\n <sp-textfield id=\"instructions\" multiline>\n <sp-help-text slot=\"help-text\">\n For example, gate code or other information to help\n the driver find you\n </sp-help-text>\n </sp-textfield>\n </div>\n </sp-dialog-wrapper>\n </overlay-trigger>\n `;\n};\n\nexport const longContent = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? undefined : 'click';\n return html`\n <overlay-trigger\n type=\"modal\"\n placement=\"none\"\n @close=${handleClose(args)}\n open=${ifDefined(open)}\n >\n <sp-button slot=\"trigger\" variant=\"primary\">\n Toggle Dialog\n </sp-button>\n <sp-dialog-wrapper\n slot=\"click-content\"\n headline=\"Dialog title\"\n dismissable\n underlay\n size=\"s\"\n >\n <p>\n Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\n Sed ac dolor sit amet purus malesuada congue. Donec quis\n nibh at felis congue commodo. Ut enim ad minima veniam, quis\n nostrum exercitationem ullam corporis suscipit laboriosam,\n nisi ut aliquid ex ea commodi consequatur? Sed ac dolor sit\n amet purus malesuada congue. Nam libero tempore, cum soluta\n nobis est eligendi optio cumque nihil impedit quo minus id\n quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Nullam sit amet\n magna in magna gravida vehicula. Itaque earum rerum hic\n tenetur a sapiente delectus, ut aut reiciendis voluptatibus\n maiores alias consequatur aut perferendis doloribus\n asperiores repellat. Neque porro quisquam est, qui dolorem\n ipsum quia dolor sit amet, consectetur, adipisci velit, sed\n quia non numquam eius modi tempora incidunt ut labore et\n dolore magnam aliquam quaerat voluptatem. Phasellus faucibus\n molestie nisl. Vestibulum fermentum tortor id mi. Integer\n rutrum, orci vestibulum ullamcorper ultricies, lacus quam\n ultricies odio, vitae placerat pede sem sit amet enim.\n Maecenas sollicitudin. Nullam rhoncus aliquam metus.\n </p>\n <p>\n Curabitur ligula sapien, pulvinar a vestibulum quis,\n facilisis vel sapien. Fusce nibh. Proin pede metus,\n vulputate nec, fermentum fringilla, vehicula vitae, justo.\n Aenean placerat. Aliquam erat volutpat. Et harum quidem\n rerum facilis est et expedita distinctio. Fusce nibh.\n Temporibus autem quibusdam et aut officiis debitis aut rerum\n necessitatibus saepe eveniet ut et voluptates repudiandae\n sint et molestiae non recusandae. Vestibulum erat nulla,\n ullamcorper nec, rutrum non, nonummy ac, erat. Etiam posuere\n lacus quis dolor. Mauris elementum mauris vitae tortor.\n Nulla turpis magna, cursus sit amet, suscipit a, interdum\n id, felis. Nam libero tempore, cum soluta nobis est eligendi\n optio cumque nihil impedit quo minus id quod maxime placeat\n facere possimus, omnis voluptas assumenda est, omnis dolor\n repellendus. Nulla accumsan, elit sit amet varius semper,\n nulla mauris mollis quam, tempor suscipit diam nulla vel\n leo. Pellentesque sapien.\n </p>\n <p>\n Curabitur vitae diam non enim vestibulum interdum. Sed elit\n dui, pellentesque a, faucibus vel, interdum nec, diam.\n Praesent vitae arcu tempor neque lacinia pretium. Ut tempus\n purus at lorem. Phasellus rhoncus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus\n saepe eveniet ut et voluptates repudiandae sint et molestiae\n non recusandae. Duis ante orci, molestie vitae vehicula\n venenatis, tincidunt ac pede. Integer vulputate sem a nibh\n rutrum consequat. Aenean placerat. Cum sociis natoque\n penatibus et magnis dis parturient montes, nascetur\n ridiculus mus. Sed vel lectus. Donec odio tempus molestie,\n porttitor ut, iaculis quis, sem. Class aptent taciti\n sociosqu ad litora torquent per conubia nostra, per inceptos\n hymenaeos. Integer in sapien. Nullam dapibus fermentum\n ipsum.\n </p>\n <p>\n Integer vulputate sem a nibh rutrum consequat. Class aptent\n taciti sociosqu ad litora torquent per conubia nostra, per\n inceptos hymenaeos. Duis bibendum, lectus ut viverra\n rhoncus, dolor nunc faucibus libero, eget facilisis enim\n ipsum id lacus. Aliquam erat volutpat. Aenean id metus id\n velit ullamcorper pulvinar. Morbi scelerisque luctus velit.\n Aliquam erat volutpat. Temporibus autem quibusdam et aut\n officiis debitis aut rerum necessitatibus saepe eveniet ut\n et voluptates repudiandae sint et molestiae non recusandae.\n Fusce dui leo, imperdiet in, aliquam sit amet, feugiat eu,\n orci. Suspendisse sagittis ultrices augue. Nullam justo\n enim, consectetuer nec, ullamcorper ac, vestibulum in, elit.\n Praesent vitae arcu tempor neque lacinia pretium. Nullam\n faucibus mi quis velit. Maecenas aliquet accumsan leo. Morbi\n scelerisque luctus velit. Aliquam ornare wisi eu metus.\n </p>\n <p>\n Sed elit dui, pellentesque a, faucibus vel, interdum nec,\n diam. Praesent vitae arcu tempor neque lacinia pretium.\n Etiam dictum tincidunt diam. Et harum quidem rerum facilis\n est et expedita distinctio. Duis ante orci, molestie vitae\n vehicula venenatis, tincidunt ac pede. Integer lacinia.\n Excepteur sint occaecat cupidatat non proident, sunt in\n culpa qui officia deserunt mollit anim id est laborum.\n Mauris tincidunt sem sed arcu. Praesent in mauris eu tortor\n porttitor accumsan. Aenean id metus id velit ullamcorper\n pulvinar. Donec iaculis gravida nulla. Duis bibendum, lectus\n ut viverra rhoncus, dolor nunc faucibus libero, eget\n facilisis enim ipsum id lacus. Nulla quis diam. Quisque\n porta. Integer rutrum, orci vestibulum ullamcorper\n ultricies, lacus quam ultricies odio, vitae placerat pede\n sem sit amet enim. Nam sed tellus id magna elementum\n tincidunt. In enim a arcu imperdiet malesuada.\n </p>\n </sp-dialog-wrapper>\n </overlay-trigger>\n `;\n};\n\nexport const wrapperDismissableUnderlayError = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <div>\n <sp-button\n onClick=\"\n this.previousElementSibling.open = !this.previousElementSibling.open;\n if (this.previousElementSibling.open) {\n this.previousElementSibling.focus();\n }\n \"\n variant=\"primary\"\n >\n Toggle Dialog\n </sp-button>\n <sp-dialog-wrapper\n ?open=${open}\n hero=${landscape}\n dismissable\n error\n headline=\"Wrapped Dialog w/ Hero Image\"\n underlay\n @close=${handleClose(args)}\n size=\"s\"\n >\n Content of the dialog\n </sp-dialog-wrapper>\n </div>\n `;\n};\n\nexport const wrapperButtons = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n size=\"l\"\n headline=\"Wrapped Dialog w/ Buttons\"\n confirm-label=\"Keep Both\"\n secondary-label=\"Replace\"\n cancel-label=\"Cancel\"\n footer=\"Content for footer\"\n @close=${handleClose(args)}\n @confirm=${handleConfirm(args)}\n @secondary=${handleSecondary(args)}\n @cancel=${handleCancel(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n\nexport const wrapperButtonsUnderlay = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n underlay\n size=\"l\"\n headline=\"Wrapped Dialog w/ Buttons\"\n confirm-label=\"Keep Both\"\n secondary-label=\"Replace\"\n cancel-label=\"Cancel\"\n footer=\"Content for footer\"\n @close=${handleClose(args)}\n @confirm=${handleConfirm(args)}\n @secondary=${handleSecondary(args)}\n @cancel=${handleCancel(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n\nexport const wrapperFullscreen = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n headline=\"Wrapped Dialog - Fullscreen\"\n mode=\"fullscreen\"\n confirm-label=\"Keep Both\"\n secondary-label=\"Replace\"\n cancel-label=\"Cancel\"\n @close=${handleClose(args)}\n @confirm=${handleConfirm(args)}\n @secondary=${handleSecondary(args)}\n @cancel=${handleCancel(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n"]}
1
+ {"version":3,"file":"dialog-wrapper.stories.js","sourceRoot":"","sources":["dialog-wrapper.stories.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport { html, TemplateResult } from '@spectrum-web-components/base';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\n\nimport '@spectrum-web-components/button/sp-button.js';\nimport '@spectrum-web-components/field-label/sp-field-label.js';\nimport '@spectrum-web-components/help-text/sp-help-text.js';\nimport '@spectrum-web-components/textfield/sp-textfield.js';\nimport '@spectrum-web-components/overlay/overlay-trigger.js';\n\nimport '../sp-dialog-wrapper.js';\nimport { landscape } from './images.js';\n\nexport default {\n title: 'Dialog Wrapped',\n component: 'sp-dialog-wrapper',\n argTypes: {\n onClose: { action: 'close' },\n onConfirm: { action: 'confirm' },\n onSecondary: { action: 'secondary' },\n onCancel: { action: 'cancel' },\n },\n};\n\ntype StoryArgs = {\n onClose?: (event: Event) => void;\n onConfirm?: (event: Event) => void;\n onSecondary?: (event: Event) => void;\n onCancel?: (event: Event) => void;\n};\n\nconst handleClose =\n ({ onClose }: StoryArgs) =>\n (event: Event) => {\n if (onClose) onClose(event);\n };\n\nconst handleConfirm =\n ({ onConfirm }: StoryArgs) =>\n (event: Event) => {\n if (onConfirm) onConfirm(event);\n };\n\nconst handleSecondary =\n ({ onSecondary }: StoryArgs) =>\n (event: Event) => {\n if (onSecondary) onSecondary(event);\n };\n\nconst handleCancel =\n ({ onCancel }: StoryArgs) =>\n (event: Event) => {\n if (onCancel) onCancel(event);\n };\n\nexport const wrapperLabeledHero = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n hero=${landscape}\n hero-label=\"Hero Image Alt Text\"\n dismissable\n headline=\"Wrapped Dialog w/ Hero Image\"\n @close=${handleClose(args)}\n size=\"s\"\n >\n Content of the dialog\n </sp-dialog-wrapper>\n <sp-button\n onClick=\"\n this.previousElementSibling.open = !this.previousElementSibling.open;\n if (this.previousElementSibling.open) {\n this.previousElementSibling.focus();\n }\n \"\n variant=\"primary\"\n >\n Toggle Dialog\n </sp-button>\n `;\n};\n\nexport const wrapperDismissable = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n hero=${landscape}\n dismissable\n headline=\"Wrapped Dialog w/ Hero Image\"\n @close=${handleClose(args)}\n size=\"s\"\n >\n Content of the dialog\n </sp-dialog-wrapper>\n <sp-button\n onClick=\"\n this.previousElementSibling.open = !this.previousElementSibling.open;\n if (this.previousElementSibling.open) {\n this.previousElementSibling.focus();\n }\n \"\n variant=\"primary\"\n >\n Toggle Dialog\n </sp-button>\n `;\n};\n\nexport const wrapperDismissableUnderlay = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n hero=${landscape}\n dismissable\n headline=\"Wrapped Dialog w/ Hero Image\"\n underlay\n @close=${handleClose(args)}\n size=\"s\"\n >\n Content of the dialog\n </sp-dialog-wrapper>\n <sp-button\n onClick=\"\n this.previousElementSibling.open = !this.previousElementSibling.open;\n if (this.previousElementSibling.open) {\n this.previousElementSibling.focus();\n }\n \"\n variant=\"primary\"\n >\n Toggle Dialog\n </sp-button>\n `;\n};\n\nexport const form = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? undefined : 'click';\n return html`\n <overlay-trigger\n type=\"modal\"\n placement=\"none\"\n @close=${handleClose(args)}\n open=${ifDefined(open)}\n >\n <sp-button slot=\"trigger\" variant=\"primary\">\n Toggle Dialog\n </sp-button>\n <sp-dialog-wrapper\n id=\"form-fields\"\n slot=\"click-content\"\n headline=\"Add Delivery Address\"\n underlay\n size=\"m\"\n confirm-label=\"Verify Address\"\n secondary-label=\"Add\"\n cancel-label=\"Cancel\"\n @close=${handleClose(args)}\n @confirm=${({ target }: Event & { target: HTMLElement }) => {\n target.dispatchEvent(\n new Event('close', { bubbles: true, composed: true })\n );\n handleConfirm(args);\n }}\n @secondary=${({ target }: Event & { target: HTMLElement }) => {\n target.dispatchEvent(\n new Event('close', { bubbles: true, composed: true })\n );\n handleSecondary(args);\n }}\n @cancel=${({ target }: Event & { target: HTMLElement }) => {\n target.dispatchEvent(\n new Event('close', { bubbles: true, composed: true })\n );\n handleCancel(args);\n }}\n >\n <style>\n #form-fields div {\n display: grid;\n gap: var(--spectrum-global-dimension-size-150);\n grid-template-columns: auto auto;\n\n --spectrum-fieldlabel-m-side-padding-right: 0;\n }\n </style>\n <div>\n <sp-field-label side-aligned=\"end\" for=\"street\">\n Street:\n </sp-field-label>\n <sp-textfield id=\"street\" autofocus></sp-textfield>\n <sp-field-label side-aligned=\"end\" for=\"city\">\n City:\n </sp-field-label>\n <sp-textfield id=\"city\"></sp-textfield>\n <sp-field-label side-aligned=\"end\" for=\"state\">\n State:\n </sp-field-label>\n <sp-textfield id=\"state\"></sp-textfield>\n <sp-field-label side-aligned=\"end\" for=\"zip\">\n Zip:\n </sp-field-label>\n <sp-textfield id=\"zip\"></sp-textfield>\n <sp-field-label side-aligned=\"end\" for=\"instructions\">\n Special instructions:\n </sp-field-label>\n <sp-textfield id=\"instructions\" multiline>\n <sp-help-text slot=\"help-text\">\n For example, gate code or other information to help\n the driver find you\n </sp-help-text>\n </sp-textfield>\n </div>\n </sp-dialog-wrapper>\n </overlay-trigger>\n `;\n};\n\nfunction nextFrame(): Promise<void> {\n return new Promise((res) => requestAnimationFrame(() => res()));\n}\n\nclass OverlayTriggerReady extends HTMLElement {\n ready!: (value: boolean | PromiseLike<boolean>) => void;\n\n constructor() {\n super();\n this.readyPromise = new Promise((res) => {\n this.ready = res;\n this.setup();\n });\n }\n\n async setup(): Promise<void> {\n await nextFrame();\n\n const overlay = document.querySelector(\n `overlay-trigger`\n ) as HTMLElement;\n overlay.addEventListener('sp-opened', this.handleTriggerOpened);\n }\n\n handleTriggerOpened = async (): Promise<void> => {\n await nextFrame();\n\n this.ready(true);\n };\n\n private readyPromise: Promise<boolean> = Promise.resolve(false);\n\n get updateComplete(): Promise<boolean> {\n return this.readyPromise;\n }\n}\n\ncustomElements.define('overlay-trigger-ready', OverlayTriggerReady);\n\nconst overlayTriggerDecorator = (\n story: () => TemplateResult\n): TemplateResult => {\n return html`\n ${story()}\n <overlay-trigger-ready></overlay-trigger-ready>\n `;\n};\n\nexport const longContent = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? undefined : 'click';\n return html`\n <overlay-trigger\n type=\"modal\"\n placement=\"none\"\n @close=${handleClose(args)}\n open=${ifDefined(open)}\n >\n <sp-button slot=\"trigger\" variant=\"primary\">\n Toggle Dialog\n </sp-button>\n <sp-dialog-wrapper\n slot=\"click-content\"\n headline=\"Dialog title\"\n dismissable\n underlay\n size=\"s\"\n >\n <p>\n Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\n Sed ac dolor sit amet purus malesuada congue. Donec quis\n nibh at felis congue commodo. Ut enim ad minima veniam, quis\n nostrum exercitationem ullam corporis suscipit laboriosam,\n nisi ut aliquid ex ea commodi consequatur? Sed ac dolor sit\n amet purus malesuada congue. Nam libero tempore, cum soluta\n nobis est eligendi optio cumque nihil impedit quo minus id\n quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Nullam sit amet\n magna in magna gravida vehicula. Itaque earum rerum hic\n tenetur a sapiente delectus, ut aut reiciendis voluptatibus\n maiores alias consequatur aut perferendis doloribus\n asperiores repellat. Neque porro quisquam est, qui dolorem\n ipsum quia dolor sit amet, consectetur, adipisci velit, sed\n quia non numquam eius modi tempora incidunt ut labore et\n dolore magnam aliquam quaerat voluptatem. Phasellus faucibus\n molestie nisl. Vestibulum fermentum tortor id mi. Integer\n rutrum, orci vestibulum ullamcorper ultricies, lacus quam\n ultricies odio, vitae placerat pede sem sit amet enim.\n Maecenas sollicitudin. Nullam rhoncus aliquam metus.\n </p>\n <p>\n Curabitur ligula sapien, pulvinar a vestibulum quis,\n facilisis vel sapien. Fusce nibh. Proin pede metus,\n vulputate nec, fermentum fringilla, vehicula vitae, justo.\n Aenean placerat. Aliquam erat volutpat. Et harum quidem\n rerum facilis est et expedita distinctio. Fusce nibh.\n Temporibus autem quibusdam et aut officiis debitis aut rerum\n necessitatibus saepe eveniet ut et voluptates repudiandae\n sint et molestiae non recusandae. Vestibulum erat nulla,\n ullamcorper nec, rutrum non, nonummy ac, erat. Etiam posuere\n lacus quis dolor. Mauris elementum mauris vitae tortor.\n Nulla turpis magna, cursus sit amet, suscipit a, interdum\n id, felis. Nam libero tempore, cum soluta nobis est eligendi\n optio cumque nihil impedit quo minus id quod maxime placeat\n facere possimus, omnis voluptas assumenda est, omnis dolor\n repellendus. Nulla accumsan, elit sit amet varius semper,\n nulla mauris mollis quam, tempor suscipit diam nulla vel\n leo. Pellentesque sapien.\n </p>\n <p>\n Curabitur vitae diam non enim vestibulum interdum. Sed elit\n dui, pellentesque a, faucibus vel, interdum nec, diam.\n Praesent vitae arcu tempor neque lacinia pretium. Ut tempus\n purus at lorem. Phasellus rhoncus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus\n saepe eveniet ut et voluptates repudiandae sint et molestiae\n non recusandae. Duis ante orci, molestie vitae vehicula\n venenatis, tincidunt ac pede. Integer vulputate sem a nibh\n rutrum consequat. Aenean placerat. Cum sociis natoque\n penatibus et magnis dis parturient montes, nascetur\n ridiculus mus. Sed vel lectus. Donec odio tempus molestie,\n porttitor ut, iaculis quis, sem. Class aptent taciti\n sociosqu ad litora torquent per conubia nostra, per inceptos\n hymenaeos. Integer in sapien. Nullam dapibus fermentum\n ipsum.\n </p>\n <p>\n Integer vulputate sem a nibh rutrum consequat. Class aptent\n taciti sociosqu ad litora torquent per conubia nostra, per\n inceptos hymenaeos. Duis bibendum, lectus ut viverra\n rhoncus, dolor nunc faucibus libero, eget facilisis enim\n ipsum id lacus. Aliquam erat volutpat. Aenean id metus id\n velit ullamcorper pulvinar. Morbi scelerisque luctus velit.\n Aliquam erat volutpat. Temporibus autem quibusdam et aut\n officiis debitis aut rerum necessitatibus saepe eveniet ut\n et voluptates repudiandae sint et molestiae non recusandae.\n Fusce dui leo, imperdiet in, aliquam sit amet, feugiat eu,\n orci. Suspendisse sagittis ultrices augue. Nullam justo\n enim, consectetuer nec, ullamcorper ac, vestibulum in, elit.\n Praesent vitae arcu tempor neque lacinia pretium. Nullam\n faucibus mi quis velit. Maecenas aliquet accumsan leo. Morbi\n scelerisque luctus velit. Aliquam ornare wisi eu metus.\n </p>\n <p>\n Sed elit dui, pellentesque a, faucibus vel, interdum nec,\n diam. Praesent vitae arcu tempor neque lacinia pretium.\n Etiam dictum tincidunt diam. Et harum quidem rerum facilis\n est et expedita distinctio. Duis ante orci, molestie vitae\n vehicula venenatis, tincidunt ac pede. Integer lacinia.\n Excepteur sint occaecat cupidatat non proident, sunt in\n culpa qui officia deserunt mollit anim id est laborum.\n Mauris tincidunt sem sed arcu. Praesent in mauris eu tortor\n porttitor accumsan. Aenean id metus id velit ullamcorper\n pulvinar. Donec iaculis gravida nulla. Duis bibendum, lectus\n ut viverra rhoncus, dolor nunc faucibus libero, eget\n facilisis enim ipsum id lacus. Nulla quis diam. Quisque\n porta. Integer rutrum, orci vestibulum ullamcorper\n ultricies, lacus quam ultricies odio, vitae placerat pede\n sem sit amet enim. Nam sed tellus id magna elementum\n tincidunt. In enim a arcu imperdiet malesuada.\n </p>\n </sp-dialog-wrapper>\n </overlay-trigger>\n `;\n};\n\nlongContent.decorators = [overlayTriggerDecorator];\n\nexport const wrapperDismissableUnderlayError = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <div>\n <sp-button\n onClick=\"\n this.previousElementSibling.open = !this.previousElementSibling.open;\n if (this.previousElementSibling.open) {\n this.previousElementSibling.focus();\n }\n \"\n variant=\"primary\"\n >\n Toggle Dialog\n </sp-button>\n <sp-dialog-wrapper\n ?open=${open}\n hero=${landscape}\n dismissable\n error\n headline=\"Wrapped Dialog w/ Hero Image\"\n underlay\n @close=${handleClose(args)}\n size=\"s\"\n >\n Content of the dialog\n </sp-dialog-wrapper>\n </div>\n `;\n};\n\nexport const wrapperButtons = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n size=\"l\"\n headline=\"Wrapped Dialog w/ Buttons\"\n confirm-label=\"Keep Both\"\n secondary-label=\"Replace\"\n cancel-label=\"Cancel\"\n footer=\"Content for footer\"\n @close=${handleClose(args)}\n @confirm=${handleConfirm(args)}\n @secondary=${handleSecondary(args)}\n @cancel=${handleCancel(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n\nexport const wrapperButtonsUnderlay = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n underlay\n size=\"l\"\n headline=\"Wrapped Dialog w/ Buttons\"\n confirm-label=\"Keep Both\"\n secondary-label=\"Replace\"\n cancel-label=\"Cancel\"\n footer=\"Content for footer\"\n @close=${handleClose(args)}\n @confirm=${handleConfirm(args)}\n @secondary=${handleSecondary(args)}\n @cancel=${handleCancel(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n\nexport const wrapperFullscreen = (\n args: StoryArgs = {},\n context: { viewMode?: string } = {}\n): TemplateResult => {\n const open = context.viewMode === 'docs' ? false : true;\n return html`\n <sp-dialog-wrapper\n ?open=${open}\n headline=\"Wrapped Dialog - Fullscreen\"\n mode=\"fullscreen\"\n confirm-label=\"Keep Both\"\n secondary-label=\"Replace\"\n cancel-label=\"Cancel\"\n @close=${handleClose(args)}\n @confirm=${handleConfirm(args)}\n @secondary=${handleSecondary(args)}\n @cancel=${handleCancel(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n"]}
@@ -132,8 +132,10 @@ export const alertConfirmation = () => {
132
132
  <h2 slot="heading">Enable Smart Filters?</h2>
133
133
  Smart filters are nondestructive and will preserve your original
134
134
  images.
135
- <sp-button variant="secondary" slot="button">Cancel</sp-button>
136
- <sp-button variant="cta" slot="button">Enable</sp-button>
135
+ <sp-button variant="secondary" treatment="outline" slot="button">
136
+ Cancel
137
+ </sp-button>
138
+ <sp-button variant="accent" slot="button">Enable</sp-button>
137
139
  </sp-dialog>
138
140
  `;
139
141
  };
@@ -143,8 +145,12 @@ export const alertInformation = () => {
143
145
  <h2 slot="heading">Enable Smart Filters?</h2>
144
146
  Smart filters are nondestructive and will preserve your original
145
147
  images.
146
- <sp-button variant="secondary" slot="button">Cancel</sp-button>
147
- <sp-button variant="primary" slot="button">Enable</sp-button>
148
+ <sp-button variant="secondary" treatment="outline" slot="button">
149
+ Cancel
150
+ </sp-button>
151
+ <sp-button variant="primary" treatment="outline" slot="button">
152
+ Enable
153
+ </sp-button>
148
154
  </sp-dialog>
149
155
  `;
150
156
  };
@@ -154,7 +160,9 @@ export const alertDestructive = () => {
154
160
  <h2 slot="heading">Enable Smart Filters?</h2>
155
161
  Smart filters are nondestructive and will preserve your original
156
162
  images.
157
- <sp-button variant="secondary" slot="button">Cancel</sp-button>
163
+ <sp-button variant="secondary" treatment="outline" slot="button">
164
+ Cancel
165
+ </sp-button>
158
166
  <sp-button variant="negative" slot="button">Enable</sp-button>
159
167
  </sp-dialog>
160
168
  `;
@@ -165,8 +173,12 @@ export const alertError = () => {
165
173
  <h2 slot="heading">Enable Smart Filters?</h2>
166
174
  Smart filters are nondestructive and will preserve your original
167
175
  images.
168
- <sp-button variant="secondary" slot="button">Cancel</sp-button>
169
- <sp-button variant="primary" slot="button">Enable</sp-button>
176
+ <sp-button variant="secondary" treatment="outline" slot="button">
177
+ Cancel
178
+ </sp-button>
179
+ <sp-button variant="primary" treatment="outline" slot="button">
180
+ Enable
181
+ </sp-button>
170
182
  </sp-dialog>
171
183
  `;
172
184
  };
@@ -176,8 +188,12 @@ export const alertErrorWithLongTitle = () => {
176
188
  <h2 slot="heading">Unable to Share Project to Behance Community</h2>
177
189
  Smart filters are nondestructive and will preserve your original
178
190
  images.
179
- <sp-button variant="secondary" slot="button">Cancel</sp-button>
180
- <sp-button variant="primary" slot="button">Enable</sp-button>
191
+ <sp-button variant="secondary" treatment="outline" slot="button">
192
+ Cancel
193
+ </sp-button>
194
+ <sp-button variant="primary" treatment="outline" slot="button">
195
+ Enable
196
+ </sp-button>
181
197
  </sp-dialog>
182
198
  `;
183
199
  };
@@ -314,8 +330,10 @@ export const fullscreen = () => {
314
330
  <div slot="footer">
315
331
  Anything in the footer is sticky and aligned right.
316
332
  </div>
317
- <sp-button variant="secondary" slot="button">Cancel</sp-button>
318
- <sp-button variant="cta" slot="button">Enable</sp-button>
333
+ <sp-button variant="secondary" treatment="outline" slot="button">
334
+ Cancel
335
+ </sp-button>
336
+ <sp-button variant="accent" slot="button">Enable</sp-button>
319
337
  </sp-dialog>
320
338
  `;
321
339
  };
@@ -452,8 +470,10 @@ export const fullscreenTakeover = () => {
452
470
  <div slot="footer">
453
471
  Anything in the footer is sticky and aligned right.
454
472
  </div>
455
- <sp-button variant="secondary" slot="button">Cancel</sp-button>
456
- <sp-button variant="cta" slot="button">Enable</sp-button>
473
+ <sp-button variant="secondary" treatment="outline" slot="button">
474
+ Cancel
475
+ </sp-button>
476
+ <sp-button variant="accent" slot="button">Enable</sp-button>
457
477
  </sp-dialog>
458
478
  `;
459
479
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.stories.js","sourceRoot":"","sources":["dialog.stories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAAE,IAAI,EAAkB,MAAM,+BAA+B,CAAC;AAErE,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,8CAA8C,CAAC;AAEtD,eAAe;IACX,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,WAAW;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAmB,EAAE;IACtC,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;KAeV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAmB,EAAE;IACvC,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;KAeV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAmB,EAAE;IACtC,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;KAeV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAmB,EAAE;IAC5C,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;KAeV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAmB,EAAE;IAC1C,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;KAeV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAmB,EAAE;IACrC,OAAO,IAAI,CAAA;;4DAE6C,SAAS;;;;;;;;;;;;;;KAchE,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAmB,EAAE;IAClD,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAmB,EAAE;IACjD,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAmB,EAAE;IACjD,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAmB,EAAE;IAC3C,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAmB,EAAE;IACxD,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAmB,EAAE;IAC3C,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuIV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAmB,EAAE;IACnD,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuIV,CAAC;AACN,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport { html, TemplateResult } from '@spectrum-web-components/base';\n\nimport '../sp-dialog.js';\nimport { landscape } from './images.js';\nimport '@spectrum-web-components/button/sp-button.js';\n\nexport default {\n title: 'Dialog',\n component: 'sp-dialog',\n};\n\nexport const small = (): TemplateResult => {\n return html`\n <sp-dialog size=\"s\">\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const medium = (): TemplateResult => {\n return html`\n <sp-dialog size=\"m\">\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const large = (): TemplateResult => {\n return html`\n <sp-dialog size=\"l\">\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const dismissable = (): TemplateResult => {\n return html`\n <sp-dialog size=\"m\" dismissable>\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const noDivider = (): TemplateResult => {\n return html`\n <sp-dialog size=\"m\" dismissable no-divider>\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const hero = (): TemplateResult => {\n return html`\n <sp-dialog size=\"m\" dismissable no-divider>\n <div slot=\"hero\" style=\"background-image: url(${landscape})\"></div>\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const alertConfirmation = (): TemplateResult => {\n return html`\n <sp-dialog size=\"alert\">\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n Smart filters are nondestructive and will preserve your original\n images.\n <sp-button variant=\"secondary\" slot=\"button\">Cancel</sp-button>\n <sp-button variant=\"cta\" slot=\"button\">Enable</sp-button>\n </sp-dialog>\n `;\n};\n\nexport const alertInformation = (): TemplateResult => {\n return html`\n <sp-dialog size=\"alert\">\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n Smart filters are nondestructive and will preserve your original\n images.\n <sp-button variant=\"secondary\" slot=\"button\">Cancel</sp-button>\n <sp-button variant=\"primary\" slot=\"button\">Enable</sp-button>\n </sp-dialog>\n `;\n};\n\nexport const alertDestructive = (): TemplateResult => {\n return html`\n <sp-dialog size=\"alert\">\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n Smart filters are nondestructive and will preserve your original\n images.\n <sp-button variant=\"secondary\" slot=\"button\">Cancel</sp-button>\n <sp-button variant=\"negative\" slot=\"button\">Enable</sp-button>\n </sp-dialog>\n `;\n};\n\nexport const alertError = (): TemplateResult => {\n return html`\n <sp-dialog size=\"alert\" error>\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n Smart filters are nondestructive and will preserve your original\n images.\n <sp-button variant=\"secondary\" slot=\"button\">Cancel</sp-button>\n <sp-button variant=\"primary\" slot=\"button\">Enable</sp-button>\n </sp-dialog>\n `;\n};\n\nexport const alertErrorWithLongTitle = (): TemplateResult => {\n return html`\n <sp-dialog size=\"alert\" error>\n <h2 slot=\"heading\">Unable to Share Project to Behance Community</h2>\n Smart filters are nondestructive and will preserve your original\n images.\n <sp-button variant=\"secondary\" slot=\"button\">Cancel</sp-button>\n <sp-button variant=\"primary\" slot=\"button\">Enable</sp-button>\n </sp-dialog>\n `;\n};\n\nexport const fullscreen = (): TemplateResult => {\n return html`\n <sp-dialog mode=\"fullscreen\" dismissable>\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <div slot=\"footer\">\n Anything in the footer is sticky and aligned right.\n </div>\n <sp-button variant=\"secondary\" slot=\"button\">Cancel</sp-button>\n <sp-button variant=\"cta\" slot=\"button\">Enable</sp-button>\n </sp-dialog>\n `;\n};\n\nexport const fullscreenTakeover = (): TemplateResult => {\n return html`\n <sp-dialog mode=\"fullscreenTakeover\">\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <div slot=\"footer\">\n Anything in the footer is sticky and aligned right.\n </div>\n <sp-button variant=\"secondary\" slot=\"button\">Cancel</sp-button>\n <sp-button variant=\"cta\" slot=\"button\">Enable</sp-button>\n </sp-dialog>\n `;\n};\n"]}
1
+ {"version":3,"file":"dialog.stories.js","sourceRoot":"","sources":["dialog.stories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAAE,IAAI,EAAkB,MAAM,+BAA+B,CAAC;AAErE,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,8CAA8C,CAAC;AAEtD,eAAe;IACX,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,WAAW;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAmB,EAAE;IACtC,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;KAeV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAmB,EAAE;IACvC,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;KAeV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAmB,EAAE;IACtC,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;KAeV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAmB,EAAE;IAC5C,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;KAeV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAmB,EAAE;IAC1C,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;KAeV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAmB,EAAE;IACrC,OAAO,IAAI,CAAA;;4DAE6C,SAAS;;;;;;;;;;;;;;KAchE,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAmB,EAAE;IAClD,OAAO,IAAI,CAAA;;;;;;;;;;KAUV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAmB,EAAE;IACjD,OAAO,IAAI,CAAA;;;;;;;;;;;;KAYV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAmB,EAAE;IACjD,OAAO,IAAI,CAAA;;;;;;;;;;KAUV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAmB,EAAE;IAC3C,OAAO,IAAI,CAAA;;;;;;;;;;;;KAYV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAmB,EAAE;IACxD,OAAO,IAAI,CAAA;;;;;;;;;;;;KAYV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAmB,EAAE;IAC3C,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyIV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAmB,EAAE;IACnD,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyIV,CAAC;AACN,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport { html, TemplateResult } from '@spectrum-web-components/base';\n\nimport '../sp-dialog.js';\nimport { landscape } from './images.js';\nimport '@spectrum-web-components/button/sp-button.js';\n\nexport default {\n title: 'Dialog',\n component: 'sp-dialog',\n};\n\nexport const small = (): TemplateResult => {\n return html`\n <sp-dialog size=\"s\">\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const medium = (): TemplateResult => {\n return html`\n <sp-dialog size=\"m\">\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const large = (): TemplateResult => {\n return html`\n <sp-dialog size=\"l\">\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const dismissable = (): TemplateResult => {\n return html`\n <sp-dialog size=\"m\" dismissable>\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const noDivider = (): TemplateResult => {\n return html`\n <sp-dialog size=\"m\" dismissable no-divider>\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const hero = (): TemplateResult => {\n return html`\n <sp-dialog size=\"m\" dismissable no-divider>\n <div slot=\"hero\" style=\"background-image: url(${landscape})\"></div>\n <h2 slot=\"heading\">Disclaimer</h2>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Auctor\n augue mauris augue neque gravida. Libero volutpat sed ornare arcu.\n Quisque egestas diam in arcu cursus euismod quis viverra. Posuere ac\n ut consequat semper viverra nam libero justo laoreet. Enim ut tellus\n elementum sagittis vitae et leo duis ut. Neque laoreet suspendisse\n interdum consectetur libero id faucibus nisl. Diam volutpat commodo\n sed egestas egestas. Dolor magna eget est lorem ipsum dolor. Vitae\n suscipit tellus mauris a diam maecenas sed. Turpis in eu mi bibendum\n neque egestas congue. Rhoncus est pellentesque elit ullamcorper\n dignissim cras lobortis.\n </sp-dialog>\n `;\n};\n\nexport const alertConfirmation = (): TemplateResult => {\n return html`\n <sp-dialog size=\"alert\">\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n Smart filters are nondestructive and will preserve your original\n images.\n <sp-button variant=\"secondary\" treatment=\"outline\" slot=\"button\">\n Cancel\n </sp-button>\n <sp-button variant=\"accent\" slot=\"button\">Enable</sp-button>\n </sp-dialog>\n `;\n};\n\nexport const alertInformation = (): TemplateResult => {\n return html`\n <sp-dialog size=\"alert\">\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n Smart filters are nondestructive and will preserve your original\n images.\n <sp-button variant=\"secondary\" treatment=\"outline\" slot=\"button\">\n Cancel\n </sp-button>\n <sp-button variant=\"primary\" treatment=\"outline\" slot=\"button\">\n Enable\n </sp-button>\n </sp-dialog>\n `;\n};\n\nexport const alertDestructive = (): TemplateResult => {\n return html`\n <sp-dialog size=\"alert\">\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n Smart filters are nondestructive and will preserve your original\n images.\n <sp-button variant=\"secondary\" treatment=\"outline\" slot=\"button\">\n Cancel\n </sp-button>\n <sp-button variant=\"negative\" slot=\"button\">Enable</sp-button>\n </sp-dialog>\n `;\n};\n\nexport const alertError = (): TemplateResult => {\n return html`\n <sp-dialog size=\"alert\" error>\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n Smart filters are nondestructive and will preserve your original\n images.\n <sp-button variant=\"secondary\" treatment=\"outline\" slot=\"button\">\n Cancel\n </sp-button>\n <sp-button variant=\"primary\" treatment=\"outline\" slot=\"button\">\n Enable\n </sp-button>\n </sp-dialog>\n `;\n};\n\nexport const alertErrorWithLongTitle = (): TemplateResult => {\n return html`\n <sp-dialog size=\"alert\" error>\n <h2 slot=\"heading\">Unable to Share Project to Behance Community</h2>\n Smart filters are nondestructive and will preserve your original\n images.\n <sp-button variant=\"secondary\" treatment=\"outline\" slot=\"button\">\n Cancel\n </sp-button>\n <sp-button variant=\"primary\" treatment=\"outline\" slot=\"button\">\n Enable\n </sp-button>\n </sp-dialog>\n `;\n};\n\nexport const fullscreen = (): TemplateResult => {\n return html`\n <sp-dialog mode=\"fullscreen\" dismissable>\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <div slot=\"footer\">\n Anything in the footer is sticky and aligned right.\n </div>\n <sp-button variant=\"secondary\" treatment=\"outline\" slot=\"button\">\n Cancel\n </sp-button>\n <sp-button variant=\"accent\" slot=\"button\">Enable</sp-button>\n </sp-dialog>\n `;\n};\n\nexport const fullscreenTakeover = (): TemplateResult => {\n return html`\n <sp-dialog mode=\"fullscreenTakeover\">\n <h2 slot=\"heading\">Enable Smart Filters?</h2>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <p>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n enim ad minim veniam, quis nostrud exercitation ullamco laboris\n nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n sunt in culpa qui officia deserunt mollit anim id est laborum.\n </p>\n <p>\n Sed ut perspiciatis unde omnis iste natus error sit voluptatem\n accusantium doloremque laudantium, totam rem aperiam, eaque ipsa\n quae ab illo inventore veritatis et quasi architecto beatae\n vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia\n voluptas sit aspernatur aut odit aut fugit, sed quia\n consequuntur magni dolores eos qui ratione voluptatem sequi\n nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor\n sit amet, consectetur, adipisci velit, sed quia non numquam eius\n modi tempora incidunt ut labore et dolore magnam aliquam quaerat\n voluptatem. Ut enim ad minima veniam, quis nostrum\n exercitationem ullam corporis suscipit laboriosam, nisi ut\n aliquid ex ea commodi consequatur? Quis autem vel eum iure\n reprehenderit qui in ea voluptate velit esse quam nihil\n molestiae consequatur, vel illum qui dolorem eum fugiat quo\n voluptas nulla pariatur?\n </p>\n <p>\n At vero eos et accusamus et iusto odio dignissimos ducimus qui\n blanditiis praesentium voluptatum deleniti atque corrupti quos\n dolores et quas molestias excepturi sint occaecati cupiditate\n non provident, similique sunt in culpa qui officia deserunt\n mollitia animi, id est laborum et dolorum fuga. Et harum quidem\n rerum facilis est et expedita distinctio. Nam libero tempore,\n cum soluta nobis est eligendi optio cumque nihil impedit quo\n minus id quod maxime placeat facere possimus, omnis voluptas\n assumenda est, omnis dolor repellendus. Temporibus autem\n quibusdam et aut officiis debitis aut rerum necessitatibus saepe\n eveniet ut et voluptates repudiandae sint et molestiae non\n recusandae. Itaque earum rerum hic tenetur a sapiente delectus,\n ut aut reiciendis voluptatibus maiores alias consequatur aut\n perferendis doloribus asperiores repellat.\n </p>\n <div slot=\"footer\">\n Anything in the footer is sticky and aligned right.\n </div>\n <sp-button variant=\"secondary\" treatment=\"outline\" slot=\"button\">\n Cancel\n </sp-button>\n <sp-button variant=\"accent\" slot=\"button\">Enable</sp-button>\n </sp-dialog>\n `;\n};\n"]}