@spectrum-web-components/dialog 0.31.1-react.3 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,25 +4,52 @@
4
4
  "modules": [
5
5
  {
6
6
  "kind": "javascript-module",
7
- "path": "sp-dialog-base.ts",
7
+ "path": "sp-dialog-base.js",
8
8
  "declarations": [],
9
- "exports": []
9
+ "exports": [
10
+ {
11
+ "kind": "custom-element-definition",
12
+ "name": "sp-dialog-base",
13
+ "declaration": {
14
+ "name": "DialogBase",
15
+ "module": "/src/DialogBase.js"
16
+ }
17
+ }
18
+ ]
10
19
  },
11
20
  {
12
21
  "kind": "javascript-module",
13
- "path": "sp-dialog-wrapper.ts",
22
+ "path": "sp-dialog-wrapper.js",
14
23
  "declarations": [],
15
- "exports": []
24
+ "exports": [
25
+ {
26
+ "kind": "custom-element-definition",
27
+ "name": "sp-dialog-wrapper",
28
+ "declaration": {
29
+ "name": "DialogWrapper",
30
+ "module": "/src/DialogWrapper.js"
31
+ }
32
+ }
33
+ ]
16
34
  },
17
35
  {
18
36
  "kind": "javascript-module",
19
- "path": "sp-dialog.ts",
37
+ "path": "sp-dialog.js",
20
38
  "declarations": [],
21
- "exports": []
39
+ "exports": [
40
+ {
41
+ "kind": "custom-element-definition",
42
+ "name": "sp-dialog",
43
+ "declaration": {
44
+ "name": "Dialog",
45
+ "module": "/src/Dialog.js"
46
+ }
47
+ }
48
+ ]
22
49
  },
23
50
  {
24
51
  "kind": "javascript-module",
25
- "path": "src/Dialog.ts",
52
+ "path": "src/Dialog.js",
26
53
  "declarations": [
27
54
  {
28
55
  "kind": "class",
@@ -94,7 +121,8 @@
94
121
  "type": {
95
122
  "text": "boolean"
96
123
  },
97
- "privacy": "protected"
124
+ "privacy": "protected",
125
+ "readonly": true
98
126
  },
99
127
  {
100
128
  "kind": "field",
@@ -102,7 +130,8 @@
102
130
  "type": {
103
131
  "text": "boolean"
104
132
  },
105
- "privacy": "protected"
133
+ "privacy": "protected",
134
+ "readonly": true
106
135
  },
107
136
  {
108
137
  "kind": "field",
@@ -110,7 +139,8 @@
110
139
  "type": {
111
140
  "text": "boolean"
112
141
  },
113
- "privacy": "protected"
142
+ "privacy": "protected",
143
+ "readonly": true
114
144
  },
115
145
  {
116
146
  "kind": "field",
@@ -365,14 +395,14 @@
365
395
  "name": "Dialog",
366
396
  "declaration": {
367
397
  "name": "Dialog",
368
- "module": "src/Dialog.ts"
398
+ "module": "src/Dialog.js"
369
399
  }
370
400
  }
371
401
  ]
372
402
  },
373
403
  {
374
404
  "kind": "javascript-module",
375
- "path": "src/DialogBase.ts",
405
+ "path": "src/DialogBase.js",
376
406
  "declarations": [
377
407
  {
378
408
  "kind": "class",
@@ -454,7 +484,8 @@
454
484
  "type": {
455
485
  "text": "Dialog"
456
486
  },
457
- "privacy": "protected"
487
+ "privacy": "protected",
488
+ "readonly": true
458
489
  },
459
490
  {
460
491
  "kind": "method",
@@ -654,14 +685,14 @@
654
685
  "name": "DialogBase",
655
686
  "declaration": {
656
687
  "name": "DialogBase",
657
- "module": "src/DialogBase.ts"
688
+ "module": "src/DialogBase.js"
658
689
  }
659
690
  }
660
691
  ]
661
692
  },
662
693
  {
663
694
  "kind": "javascript-module",
664
- "path": "src/DialogWrapper.ts",
695
+ "path": "src/DialogWrapper.js",
665
696
  "declarations": [
666
697
  {
667
698
  "kind": "class",
@@ -792,9 +823,10 @@
792
823
  "text": "Dialog"
793
824
  },
794
825
  "privacy": "protected",
826
+ "readonly": true,
795
827
  "inheritedFrom": {
796
828
  "name": "DialogBase",
797
- "module": "src/DialogBase.ts"
829
+ "module": "src/DialogBase.js"
798
830
  }
799
831
  },
800
832
  {
@@ -838,7 +870,7 @@
838
870
  },
839
871
  "inheritedFrom": {
840
872
  "name": "DialogBase",
841
- "module": "src/DialogBase.ts"
873
+ "module": "src/DialogBase.js"
842
874
  }
843
875
  },
844
876
  {
@@ -853,7 +885,7 @@
853
885
  "reflects": true,
854
886
  "inheritedFrom": {
855
887
  "name": "DialogBase",
856
- "module": "src/DialogBase.ts"
888
+ "module": "src/DialogBase.js"
857
889
  }
858
890
  },
859
891
  {
@@ -868,7 +900,7 @@
868
900
  "reflects": true,
869
901
  "inheritedFrom": {
870
902
  "name": "DialogBase",
871
- "module": "src/DialogBase.ts"
903
+ "module": "src/DialogBase.js"
872
904
  }
873
905
  },
874
906
  {
@@ -882,7 +914,7 @@
882
914
  "reflects": true,
883
915
  "inheritedFrom": {
884
916
  "name": "DialogBase",
885
- "module": "src/DialogBase.ts"
917
+ "module": "src/DialogBase.js"
886
918
  }
887
919
  },
888
920
  {
@@ -897,7 +929,7 @@
897
929
  "attribute": "responsive",
898
930
  "inheritedFrom": {
899
931
  "name": "DialogBase",
900
- "module": "src/DialogBase.ts"
932
+ "module": "src/DialogBase.js"
901
933
  }
902
934
  },
903
935
  {
@@ -906,7 +938,7 @@
906
938
  "privacy": "private",
907
939
  "inheritedFrom": {
908
940
  "name": "DialogBase",
909
- "module": "src/DialogBase.ts"
941
+ "module": "src/DialogBase.js"
910
942
  }
911
943
  },
912
944
  {
@@ -915,7 +947,7 @@
915
947
  "privacy": "private",
916
948
  "inheritedFrom": {
917
949
  "name": "DialogBase",
918
- "module": "src/DialogBase.ts"
950
+ "module": "src/DialogBase.js"
919
951
  }
920
952
  },
921
953
  {
@@ -929,7 +961,7 @@
929
961
  "attribute": "underlay",
930
962
  "inheritedFrom": {
931
963
  "name": "DialogBase",
932
- "module": "src/DialogBase.ts"
964
+ "module": "src/DialogBase.js"
933
965
  }
934
966
  },
935
967
  {
@@ -943,7 +975,7 @@
943
975
  },
944
976
  "inheritedFrom": {
945
977
  "name": "DialogBase",
946
- "module": "src/DialogBase.ts"
978
+ "module": "src/DialogBase.js"
947
979
  }
948
980
  },
949
981
  {
@@ -956,7 +988,7 @@
956
988
  "default": "false",
957
989
  "inheritedFrom": {
958
990
  "name": "DialogBase",
959
- "module": "src/DialogBase.ts"
991
+ "module": "src/DialogBase.js"
960
992
  }
961
993
  },
962
994
  {
@@ -970,7 +1002,7 @@
970
1002
  },
971
1003
  "inheritedFrom": {
972
1004
  "name": "DialogBase",
973
- "module": "src/DialogBase.ts"
1005
+ "module": "src/DialogBase.js"
974
1006
  }
975
1007
  },
976
1008
  {
@@ -984,7 +1016,7 @@
984
1016
  },
985
1017
  "inheritedFrom": {
986
1018
  "name": "DialogBase",
987
- "module": "src/DialogBase.ts"
1019
+ "module": "src/DialogBase.js"
988
1020
  }
989
1021
  },
990
1022
  {
@@ -1006,7 +1038,7 @@
1006
1038
  ],
1007
1039
  "inheritedFrom": {
1008
1040
  "name": "DialogBase",
1009
- "module": "src/DialogBase.ts"
1041
+ "module": "src/DialogBase.js"
1010
1042
  }
1011
1043
  },
1012
1044
  {
@@ -1020,7 +1052,7 @@
1020
1052
  },
1021
1053
  "inheritedFrom": {
1022
1054
  "name": "DialogBase",
1023
- "module": "src/DialogBase.ts"
1055
+ "module": "src/DialogBase.js"
1024
1056
  }
1025
1057
  },
1026
1058
  {
@@ -1034,7 +1066,7 @@
1034
1066
  },
1035
1067
  "inheritedFrom": {
1036
1068
  "name": "DialogBase",
1037
- "module": "src/DialogBase.ts"
1069
+ "module": "src/DialogBase.js"
1038
1070
  }
1039
1071
  },
1040
1072
  {
@@ -1056,7 +1088,7 @@
1056
1088
  ],
1057
1089
  "inheritedFrom": {
1058
1090
  "name": "DialogBase",
1059
- "module": "src/DialogBase.ts"
1091
+ "module": "src/DialogBase.js"
1060
1092
  }
1061
1093
  },
1062
1094
  {
@@ -1070,7 +1102,7 @@
1070
1102
  },
1071
1103
  "inheritedFrom": {
1072
1104
  "name": "DialogBase",
1073
- "module": "src/DialogBase.ts"
1105
+ "module": "src/DialogBase.js"
1074
1106
  }
1075
1107
  },
1076
1108
  {
@@ -1085,7 +1117,7 @@
1085
1117
  "description": "Bind the open/close transition into the update complete lifecycle so\nthat the overlay system can wait for it to be \"visibly ready\" before\nattempting to throw focus into the content contained herein. Not\nwaiting for this can cause small amounts of page scroll to happen\nwhile opening the Tray when focusable content is included: e.g. Menu\nelements whose selected Menu Item is not the first Menu Item.",
1086
1118
  "inheritedFrom": {
1087
1119
  "name": "DialogBase",
1088
- "module": "src/DialogBase.ts"
1120
+ "module": "src/DialogBase.js"
1089
1121
  }
1090
1122
  }
1091
1123
  ],
@@ -1285,7 +1317,7 @@
1285
1317
  "name": "DialogWrapper",
1286
1318
  "declaration": {
1287
1319
  "name": "DialogWrapper",
1288
- "module": "src/DialogWrapper.ts"
1320
+ "module": "src/DialogWrapper.js"
1289
1321
  }
1290
1322
  }
1291
1323
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spectrum-web-components/dialog",
3
- "version": "0.31.1-react.3+886f51591",
3
+ "version": "0.32.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -73,17 +73,17 @@
73
73
  "lit-html"
74
74
  ],
75
75
  "dependencies": {
76
- "@spectrum-web-components/base": "^0.31.1-react.3+886f51591",
77
- "@spectrum-web-components/button": "^0.31.1-react.3+886f51591",
78
- "@spectrum-web-components/button-group": "^0.31.1-react.3+886f51591",
79
- "@spectrum-web-components/divider": "^0.31.1-react.3+886f51591",
80
- "@spectrum-web-components/icons-workflow": "^0.31.1-react.3+886f51591",
81
- "@spectrum-web-components/modal": "^0.31.1-react.3+886f51591",
82
- "@spectrum-web-components/shared": "^0.31.1-react.3+886f51591",
83
- "@spectrum-web-components/underlay": "^0.31.1-react.3+886f51591"
76
+ "@spectrum-web-components/base": "^0.32.0",
77
+ "@spectrum-web-components/button": "^0.32.0",
78
+ "@spectrum-web-components/button-group": "^0.32.0",
79
+ "@spectrum-web-components/divider": "^0.32.0",
80
+ "@spectrum-web-components/icons-workflow": "^0.32.0",
81
+ "@spectrum-web-components/modal": "^0.32.0",
82
+ "@spectrum-web-components/shared": "^0.32.0",
83
+ "@spectrum-web-components/underlay": "^0.32.0"
84
84
  },
85
85
  "devDependencies": {
86
- "@spectrum-css/dialog": "^6.0.40"
86
+ "@spectrum-css/dialog": "^6.0.48"
87
87
  },
88
88
  "types": "./src/index.d.ts",
89
89
  "customElements": "custom-elements.json",
@@ -91,5 +91,5 @@
91
91
  "./sp-*.js",
92
92
  "./**/*.dev.js"
93
93
  ],
94
- "gitHead": "886f515919ca0e8a1cec52a00babb1d4a195ae01"
94
+ "gitHead": "c5f67662ac54d0e37debaf7cbd7c2df60e8b294e"
95
95
  }
@@ -1,7 +1,7 @@
1
1
  import { CSSResultArray, PropertyValues, SpectrumElement, TemplateResult } from '@spectrum-web-components/base';
2
2
  import '@spectrum-web-components/underlay/sp-underlay.js';
3
3
  import '@spectrum-web-components/button/sp-button.js';
4
- import '../sp-dialog.js';
4
+ import '@spectrum-web-components/dialog/sp-dialog.js';
5
5
  import { Dialog } from './Dialog.js';
6
6
  declare const DialogBase_base: typeof SpectrumElement;
7
7
  /**
@@ -17,7 +17,7 @@ import {
17
17
  import { property } from "@spectrum-web-components/base/src/decorators.js";
18
18
  import "@spectrum-web-components/underlay/sp-underlay.js";
19
19
  import "@spectrum-web-components/button/sp-button.js";
20
- import "../sp-dialog.dev.js";
20
+ import "@spectrum-web-components/dialog/sp-dialog.js";
21
21
  import modalWrapperStyles from "@spectrum-web-components/modal/src/modal-wrapper.css.js";
22
22
  import modalStyles from "@spectrum-web-components/modal/src/modal.css.js";
23
23
  import { FocusVisiblePolyfillMixin } from "@spectrum-web-components/shared";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["DialogBase.ts"],
4
- "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 { property } from '@spectrum-web-components/base/src/decorators.js';\n\nimport '@spectrum-web-components/underlay/sp-underlay.js';\nimport '@spectrum-web-components/button/sp-button.js';\n\nimport '../sp-dialog.dev.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.dev.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-base\n *\n * @slot - A Dialog element to display.\n * @fires close - Announces that the dialog has been closed.\n */\nexport class DialogBase extends FocusVisiblePolyfillMixin(SpectrumElement) {\n public static override get styles(): CSSResultArray {\n return [modalWrapperStyles, modalStyles];\n }\n\n @property({ type: Boolean, reflect: true })\n public dismissable = 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 /**\n * When set to true, fills screens smaller than 350px high and 400px wide with the full dialog.\n */\n @property({ type: Boolean })\n public responsive = false;\n\n private transitionPromise = Promise.resolve();\n\n private resolveTransitionPromise = (): void => {\n return;\n };\n\n @property({ type: Boolean })\n public underlay = false;\n\n protected get dialog(): Dialog {\n const dialog = (\n this.shadowRoot.querySelector('slot') as HTMLSlotElement\n ).assignedElements()[0] as Dialog;\n if (window.__swc.DEBUG) {\n if (!dialog) {\n window.__swc.warn(\n this,\n `<${this.localName}> expects to be provided dialog content via its default slot.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/dialog-base/#dialog'\n );\n }\n }\n return dialog || this;\n }\n\n public override async focus(): Promise<void> {\n if (this.shadowRoot) {\n const firstFocusable = firstFocusableIn(this.dialog);\n if (firstFocusable) {\n if ((firstFocusable as SpectrumElement).updateComplete) {\n await firstFocusable.updateComplete;\n }\n firstFocusable.focus();\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 private animating = false;\n\n public overlayWillCloseCallback(): boolean {\n if (!this.open) return this.animating;\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 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(event: TransitionEvent): void {\n if (!this.open && event.propertyName === 'visibility') {\n this.resolveTransitionPromise();\n this.dispatchClosed();\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 override update(changes: PropertyValues<this>): void {\n if (changes.has('open') && changes.get('open') !== undefined) {\n this.animating = true;\n this.transitionPromise = new Promise((res) => {\n this.resolveTransitionPromise = () => {\n this.animating = false;\n res();\n };\n });\n }\n super.update(changes);\n }\n\n protected renderDialog(): TemplateResult {\n return html`\n <slot></slot>\n `;\n }\n\n protected override 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 @close=${this.handleClose}\n >\n ${this.renderDialog()}\n </div>\n `;\n }\n\n protected override updated(changes: PropertyValues<this>): void {\n if (changes.has('open')) {\n if (this.open) {\n if (\n 'updateComplete' in this.dialog &&\n 'shouldManageTabOrderForScrolling' in this.dialog\n ) {\n this.dialog.updateComplete.then(() => {\n this.dialog.shouldManageTabOrderForScrolling();\n });\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 override async getUpdateComplete(): Promise<boolean> {\n const complete = (await super.getUpdateComplete()) as boolean;\n await this.transitionPromise;\n return complete;\n }\n}\n"],
5
- "mappings": "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",
4
+ "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 { property } from '@spectrum-web-components/base/src/decorators.js';\n\nimport '@spectrum-web-components/underlay/sp-underlay.js';\nimport '@spectrum-web-components/button/sp-button.js';\n\n// Leveraged in build systems that use aliasing to prevent multiple registrations: https://github.com/adobe/spectrum-web-components/pull/3225\nimport '@spectrum-web-components/dialog/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.dev.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-base\n *\n * @slot - A Dialog element to display.\n * @fires close - Announces that the dialog has been closed.\n */\nexport class DialogBase extends FocusVisiblePolyfillMixin(SpectrumElement) {\n public static override get styles(): CSSResultArray {\n return [modalWrapperStyles, modalStyles];\n }\n\n @property({ type: Boolean, reflect: true })\n public dismissable = 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 /**\n * When set to true, fills screens smaller than 350px high and 400px wide with the full dialog.\n */\n @property({ type: Boolean })\n public responsive = false;\n\n private transitionPromise = Promise.resolve();\n\n private resolveTransitionPromise = (): void => {\n return;\n };\n\n @property({ type: Boolean })\n public underlay = false;\n\n protected get dialog(): Dialog {\n const dialog = (\n this.shadowRoot.querySelector('slot') as HTMLSlotElement\n ).assignedElements()[0] as Dialog;\n if (window.__swc.DEBUG) {\n if (!dialog) {\n window.__swc.warn(\n this,\n `<${this.localName}> expects to be provided dialog content via its default slot.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/dialog-base/#dialog'\n );\n }\n }\n return dialog || this;\n }\n\n public override async focus(): Promise<void> {\n if (this.shadowRoot) {\n const firstFocusable = firstFocusableIn(this.dialog);\n if (firstFocusable) {\n if ((firstFocusable as SpectrumElement).updateComplete) {\n await firstFocusable.updateComplete;\n }\n firstFocusable.focus();\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 private animating = false;\n\n public overlayWillCloseCallback(): boolean {\n if (!this.open) return this.animating;\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 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(event: TransitionEvent): void {\n if (!this.open && event.propertyName === 'visibility') {\n this.resolveTransitionPromise();\n this.dispatchClosed();\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 override update(changes: PropertyValues<this>): void {\n if (changes.has('open') && changes.get('open') !== undefined) {\n this.animating = true;\n this.transitionPromise = new Promise((res) => {\n this.resolveTransitionPromise = () => {\n this.animating = false;\n res();\n };\n });\n }\n super.update(changes);\n }\n\n protected renderDialog(): TemplateResult {\n return html`\n <slot></slot>\n `;\n }\n\n protected override 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 @close=${this.handleClose}\n >\n ${this.renderDialog()}\n </div>\n `;\n }\n\n protected override updated(changes: PropertyValues<this>): void {\n if (changes.has('open')) {\n if (this.open) {\n if (\n 'updateComplete' in this.dialog &&\n 'shouldManageTabOrderForScrolling' in this.dialog\n ) {\n this.dialog.updateComplete.then(() => {\n this.dialog.shouldManageTabOrderForScrolling();\n });\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 override async getUpdateComplete(): Promise<boolean> {\n const complete = (await super.getUpdateComplete()) as boolean;\n await this.transitionPromise;\n return complete;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;AAYA;AAAA,EAEI;AAAA,EAEA;AAAA,OAEG;AACP,SAAS,gBAAgB;AAEzB,OAAO;AACP,OAAO;AAGP,OAAO;AACP,OAAO,wBAAwB;AAC/B,OAAO,iBAAiB;AAExB,SAAS,iCAAiC;AAC1C,SAAS,wBAAwB;AAQ1B,aAAM,mBAAmB,0BAA0B,eAAe,EAAE;AAAA,EAApE;AAAA;AAMH,SAAO,cAAc;AAGrB,SAAO,OAAO;AASd,SAAO,aAAa;AAEpB,SAAQ,oBAAoB,QAAQ,QAAQ;AAE5C,SAAQ,2BAA2B,MAAY;AAC3C;AAAA,IACJ;AAGA,SAAO,WAAW;AAoClB,SAAQ,YAAY;AAAA;AAAA,EA9DpB,WAA2B,SAAyB;AAChD,WAAO,CAAC,oBAAoB,WAAW;AAAA,EAC3C;AAAA,EA0BA,IAAc,SAAiB;AAC3B,UAAM,SACF,KAAK,WAAW,cAAc,MAAM,EACtC,iBAAiB,EAAE,CAAC;AACtB,QAAI,MAAoB;AACpB,UAAI,CAAC,QAAQ;AACT,eAAO,MAAM;AAAA,UACT;AAAA,UACA,IAAI,KAAK;AAAA,UACT;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AACA,WAAO,UAAU;AAAA,EACrB;AAAA,EAEA,MAAsB,QAAuB;AACzC,QAAI,KAAK,YAAY;AACjB,YAAM,iBAAiB,iBAAiB,KAAK,MAAM;AACnD,UAAI,gBAAgB;AAChB,YAAK,eAAmC,gBAAgB;AACpD,gBAAM,eAAe;AAAA,QACzB;AACA,uBAAe,MAAM;AACrB,aAAK,gBAAgB,UAAU;AAAA,MACnC,OAAO;AACH,aAAK,OAAO,MAAM;AAAA,MACtB;AAAA,IAEJ,OAAO;AACH,YAAM,MAAM;AAAA,IAChB;AAAA,EACJ;AAAA,EAIO,2BAAoC;AACvC,QAAI,CAAC,KAAK;AAAM,aAAO,KAAK;AAC5B,SAAK,MAAM;AACX,WAAO;AAAA,EACX;AAAA,EAEQ,UAAgB;AACpB,QAAI,CAAC,KAAK,aAAa;AACnB;AAAA,IACJ;AACA,SAAK,MAAM;AAAA,EACf;AAAA,EAEU,YAAY,OAAoB;AACtC,UAAM,gBAAgB;AACtB,SAAK,MAAM;AAAA,EACf;AAAA,EAEO,QAAc;AACjB,SAAK,OAAO;AAAA,EAChB;AAAA,EAEQ,iBAAuB;AAC3B,SAAK;AAAA,MACD,IAAI,MAAM,SAAS;AAAA,QACf,SAAS;AAAA,MACb,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAEU,4BAA4B,OAA8B;AAChE,QAAI,CAAC,KAAK,QAAQ,MAAM,iBAAiB,cAAc;AACnD,WAAK,yBAAyB;AAC9B,WAAK,eAAe;AAAA,IACxB;AAAA,EACJ;AAAA,EAEU,2BAAiC;AACvC,QAAI,KAAK,QAAQ,CAAC,KAAK,UAAU;AAC7B,WAAK,yBAAyB;AAC9B,UAAI,CAAC,KAAK,MAAM;AACZ,aAAK,eAAe;AAAA,MACxB;AAAA,IACJ;AAAA,EACJ;AAAA,EAEmB,OAAO,SAAqC;AAC3D,QAAI,QAAQ,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,MAAM,QAAW;AAC1D,WAAK,YAAY;AACjB,WAAK,oBAAoB,IAAI,QAAQ,CAAC,QAAQ;AAC1C,aAAK,2BAA2B,MAAM;AAClC,eAAK,YAAY;AACjB,cAAI;AAAA,QACR;AAAA,MACJ,CAAC;AAAA,IACL;AACA,UAAM,OAAO,OAAO;AAAA,EACxB;AAAA,EAEU,eAA+B;AACrC,WAAO;AAAA;AAAA;AAAA,EAGX;AAAA,EAEmB,SAAyB;AACxC,WAAO;AAAA,cACD,KAAK,WACD;AAAA;AAAA,kCAEgB,KAAK;AAAA,mCACJ,KAAK;AAAA,2CACG,KAAK;AAAA;AAAA,sBAG9B;AAAA;AAAA,+BAEa,KAAK;AAAA,iCACH,KAAK;AAAA,yBACb,KAAK;AAAA;AAAA,kBAEZ,KAAK,aAAa;AAAA;AAAA;AAAA,EAGhC;AAAA,EAEmB,QAAQ,SAAqC;AAC5D,QAAI,QAAQ,IAAI,MAAM,GAAG;AACrB,UAAI,KAAK,MAAM;AACX,YACI,oBAAoB,KAAK,UACzB,sCAAsC,KAAK,QAC7C;AACE,eAAK,OAAO,eAAe,KAAK,MAAM;AAClC,iBAAK,OAAO,iCAAiC;AAAA,UACjD,CAAC;AAAA,QACL;AAAA,MACJ,OAAO;AACH,aAAK,WAAW;AAAA,MACpB;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAyB,oBAAsC;AAC3D,UAAM,WAAY,MAAM,MAAM,kBAAkB;AAChD,UAAM,KAAK;AACX,WAAO;AAAA,EACX;AACJ;AA/KW;AAAA,EADN,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GALjC,WAMF;AAGA;AAAA,EADN,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GARjC,WASF;AAGA;AAAA,EADN,SAAS,EAAE,MAAM,QAAQ,SAAS,KAAK,CAAC;AAAA,GAXhC,WAYF;AAMA;AAAA,EADN,SAAS,EAAE,MAAM,QAAQ,CAAC;AAAA,GAjBlB,WAkBF;AASA;AAAA,EADN,SAAS,EAAE,MAAM,QAAQ,CAAC;AAAA,GA1BlB,WA2BF;",
6
6
  "names": []
7
7
  }
package/src/DialogBase.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var o=(a,s,e,i)=>{for(var t=i>1?void 0:i?u(s,e):s,n=a.length-1,d;n>=0;n--)(d=a[n])&&(t=(i?d(s,e,t):d(t))||t);return i&&t&&p(s,e,t),t};import{html as l,SpectrumElement as c}from"@spectrum-web-components/base";import{property as r}from"@spectrum-web-components/base/src/decorators.js";import"@spectrum-web-components/underlay/sp-underlay.js";import"@spectrum-web-components/button/sp-button.js";import"../sp-dialog.js";import m from"@spectrum-web-components/modal/src/modal-wrapper.css.js";import h from"@spectrum-web-components/modal/src/modal.css.js";import{FocusVisiblePolyfillMixin as f}from"@spectrum-web-components/shared";import{firstFocusableIn as v}from"@spectrum-web-components/shared/src/first-focusable-in.js";export class DialogBase extends f(c){constructor(){super(...arguments);this.dismissable=!1;this.open=!1;this.responsive=!1;this.transitionPromise=Promise.resolve();this.resolveTransitionPromise=()=>{};this.underlay=!1;this.animating=!1}static get styles(){return[m,h]}get dialog(){return this.shadowRoot.querySelector("slot").assignedElements()[0]||this}async focus(){if(this.shadowRoot){const e=v(this.dialog);e?(e.updateComplete&&await e.updateComplete,e.focus(),this.removeAttribute("tabindex")):this.dialog.focus()}else super.focus()}overlayWillCloseCallback(){return this.open?(this.close(),!0):this.animating}dismiss(){this.dismissable&&this.close()}handleClose(e){e.stopPropagation(),this.close()}close(){this.open=!1}dispatchClosed(){this.dispatchEvent(new Event("close",{bubbles:!0}))}handleUnderlayTransitionend(e){!this.open&&e.propertyName==="visibility"&&(this.resolveTransitionPromise(),this.dispatchClosed())}handleModalTransitionend(){(this.open||!this.underlay)&&(this.resolveTransitionPromise(),this.open||this.dispatchClosed())}update(e){e.has("open")&&e.get("open")!==void 0&&(this.animating=!0,this.transitionPromise=new Promise(i=>{this.resolveTransitionPromise=()=>{this.animating=!1,i()}})),super.update(e)}renderDialog(){return l`
1
+ "use strict";var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var o=(a,s,e,i)=>{for(var t=i>1?void 0:i?u(s,e):s,n=a.length-1,d;n>=0;n--)(d=a[n])&&(t=(i?d(s,e,t):d(t))||t);return i&&t&&p(s,e,t),t};import{html as l,SpectrumElement as c}from"@spectrum-web-components/base";import{property as r}from"@spectrum-web-components/base/src/decorators.js";import"@spectrum-web-components/underlay/sp-underlay.js";import"@spectrum-web-components/button/sp-button.js";import"@spectrum-web-components/dialog/sp-dialog.js";import m from"@spectrum-web-components/modal/src/modal-wrapper.css.js";import h from"@spectrum-web-components/modal/src/modal.css.js";import{FocusVisiblePolyfillMixin as f}from"@spectrum-web-components/shared";import{firstFocusableIn as v}from"@spectrum-web-components/shared/src/first-focusable-in.js";export class DialogBase extends f(c){constructor(){super(...arguments);this.dismissable=!1;this.open=!1;this.responsive=!1;this.transitionPromise=Promise.resolve();this.resolveTransitionPromise=()=>{};this.underlay=!1;this.animating=!1}static get styles(){return[m,h]}get dialog(){return this.shadowRoot.querySelector("slot").assignedElements()[0]||this}async focus(){if(this.shadowRoot){const e=v(this.dialog);e?(e.updateComplete&&await e.updateComplete,e.focus(),this.removeAttribute("tabindex")):this.dialog.focus()}else super.focus()}overlayWillCloseCallback(){return this.open?(this.close(),!0):this.animating}dismiss(){this.dismissable&&this.close()}handleClose(e){e.stopPropagation(),this.close()}close(){this.open=!1}dispatchClosed(){this.dispatchEvent(new Event("close",{bubbles:!0}))}handleUnderlayTransitionend(e){!this.open&&e.propertyName==="visibility"&&(this.resolveTransitionPromise(),this.dispatchClosed())}handleModalTransitionend(){(this.open||!this.underlay)&&(this.resolveTransitionPromise(),this.open||this.dispatchClosed())}update(e){e.has("open")&&e.get("open")!==void 0&&(this.animating=!0,this.transitionPromise=new Promise(i=>{this.resolveTransitionPromise=()=>{this.animating=!1,i()}})),super.update(e)}renderDialog(){return l`
2
2
  <slot></slot>
3
3
  `}render(){return l`
4
4
  ${this.underlay?l`
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["DialogBase.ts"],
4
- "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 { property } from '@spectrum-web-components/base/src/decorators.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-base\n *\n * @slot - A Dialog element to display.\n * @fires close - Announces that the dialog has been closed.\n */\nexport class DialogBase extends FocusVisiblePolyfillMixin(SpectrumElement) {\n public static override get styles(): CSSResultArray {\n return [modalWrapperStyles, modalStyles];\n }\n\n @property({ type: Boolean, reflect: true })\n public dismissable = 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 /**\n * When set to true, fills screens smaller than 350px high and 400px wide with the full dialog.\n */\n @property({ type: Boolean })\n public responsive = false;\n\n private transitionPromise = Promise.resolve();\n\n private resolveTransitionPromise = (): void => {\n return;\n };\n\n @property({ type: Boolean })\n public underlay = false;\n\n protected get dialog(): Dialog {\n const dialog = (\n this.shadowRoot.querySelector('slot') as HTMLSlotElement\n ).assignedElements()[0] as Dialog;\n if (window.__swc.DEBUG) {\n if (!dialog) {\n window.__swc.warn(\n this,\n `<${this.localName}> expects to be provided dialog content via its default slot.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/dialog-base/#dialog'\n );\n }\n }\n return dialog || this;\n }\n\n public override async focus(): Promise<void> {\n if (this.shadowRoot) {\n const firstFocusable = firstFocusableIn(this.dialog);\n if (firstFocusable) {\n if ((firstFocusable as SpectrumElement).updateComplete) {\n await firstFocusable.updateComplete;\n }\n firstFocusable.focus();\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 private animating = false;\n\n public overlayWillCloseCallback(): boolean {\n if (!this.open) return this.animating;\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 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(event: TransitionEvent): void {\n if (!this.open && event.propertyName === 'visibility') {\n this.resolveTransitionPromise();\n this.dispatchClosed();\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 override update(changes: PropertyValues<this>): void {\n if (changes.has('open') && changes.get('open') !== undefined) {\n this.animating = true;\n this.transitionPromise = new Promise((res) => {\n this.resolveTransitionPromise = () => {\n this.animating = false;\n res();\n };\n });\n }\n super.update(changes);\n }\n\n protected renderDialog(): TemplateResult {\n return html`\n <slot></slot>\n `;\n }\n\n protected override 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 @close=${this.handleClose}\n >\n ${this.renderDialog()}\n </div>\n `;\n }\n\n protected override updated(changes: PropertyValues<this>): void {\n if (changes.has('open')) {\n if (this.open) {\n if (\n 'updateComplete' in this.dialog &&\n 'shouldManageTabOrderForScrolling' in this.dialog\n ) {\n this.dialog.updateComplete.then(() => {\n this.dialog.shouldManageTabOrderForScrolling();\n });\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 override async getUpdateComplete(): Promise<boolean> {\n const complete = (await super.getUpdateComplete()) as boolean;\n await this.transitionPromise;\n return complete;\n }\n}\n"],
5
- "mappings": "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",
4
+ "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 { property } from '@spectrum-web-components/base/src/decorators.js';\n\nimport '@spectrum-web-components/underlay/sp-underlay.js';\nimport '@spectrum-web-components/button/sp-button.js';\n\n// Leveraged in build systems that use aliasing to prevent multiple registrations: https://github.com/adobe/spectrum-web-components/pull/3225\nimport '@spectrum-web-components/dialog/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-base\n *\n * @slot - A Dialog element to display.\n * @fires close - Announces that the dialog has been closed.\n */\nexport class DialogBase extends FocusVisiblePolyfillMixin(SpectrumElement) {\n public static override get styles(): CSSResultArray {\n return [modalWrapperStyles, modalStyles];\n }\n\n @property({ type: Boolean, reflect: true })\n public dismissable = 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 /**\n * When set to true, fills screens smaller than 350px high and 400px wide with the full dialog.\n */\n @property({ type: Boolean })\n public responsive = false;\n\n private transitionPromise = Promise.resolve();\n\n private resolveTransitionPromise = (): void => {\n return;\n };\n\n @property({ type: Boolean })\n public underlay = false;\n\n protected get dialog(): Dialog {\n const dialog = (\n this.shadowRoot.querySelector('slot') as HTMLSlotElement\n ).assignedElements()[0] as Dialog;\n if (window.__swc.DEBUG) {\n if (!dialog) {\n window.__swc.warn(\n this,\n `<${this.localName}> expects to be provided dialog content via its default slot.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/dialog-base/#dialog'\n );\n }\n }\n return dialog || this;\n }\n\n public override async focus(): Promise<void> {\n if (this.shadowRoot) {\n const firstFocusable = firstFocusableIn(this.dialog);\n if (firstFocusable) {\n if ((firstFocusable as SpectrumElement).updateComplete) {\n await firstFocusable.updateComplete;\n }\n firstFocusable.focus();\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 private animating = false;\n\n public overlayWillCloseCallback(): boolean {\n if (!this.open) return this.animating;\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 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(event: TransitionEvent): void {\n if (!this.open && event.propertyName === 'visibility') {\n this.resolveTransitionPromise();\n this.dispatchClosed();\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 override update(changes: PropertyValues<this>): void {\n if (changes.has('open') && changes.get('open') !== undefined) {\n this.animating = true;\n this.transitionPromise = new Promise((res) => {\n this.resolveTransitionPromise = () => {\n this.animating = false;\n res();\n };\n });\n }\n super.update(changes);\n }\n\n protected renderDialog(): TemplateResult {\n return html`\n <slot></slot>\n `;\n }\n\n protected override 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 @close=${this.handleClose}\n >\n ${this.renderDialog()}\n </div>\n `;\n }\n\n protected override updated(changes: PropertyValues<this>): void {\n if (changes.has('open')) {\n if (this.open) {\n if (\n 'updateComplete' in this.dialog &&\n 'shouldManageTabOrderForScrolling' in this.dialog\n ) {\n this.dialog.updateComplete.then(() => {\n this.dialog.shouldManageTabOrderForScrolling();\n });\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 override async getUpdateComplete(): Promise<boolean> {\n const complete = (await super.getUpdateComplete()) as boolean;\n await this.transitionPromise;\n return complete;\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["html", "SpectrumElement", "property", "modalWrapperStyles", "modalStyles", "FocusVisiblePolyfillMixin", "firstFocusableIn", "firstFocusable", "event", "changes", "res", "complete", "__decorateClass"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import { CSSResultArray, TemplateResult } from '@spectrum-web-components/base';
2
2
  import '@spectrum-web-components/underlay/sp-underlay.js';
3
3
  import '@spectrum-web-components/button/sp-button.js';
4
- import '../sp-dialog.js';
4
+ import '@spectrum-web-components/dialog/sp-dialog.js';
5
5
  import { DialogBase } from './DialogBase.js';
6
6
  import { Dialog } from './Dialog.js';
7
7
  /**
@@ -17,7 +17,7 @@ import { property } from "@spectrum-web-components/base/src/decorators.js";
17
17
  import { ifDefined } from "@spectrum-web-components/base/src/directives.js";
18
18
  import "@spectrum-web-components/underlay/sp-underlay.js";
19
19
  import "@spectrum-web-components/button/sp-button.js";
20
- import "../sp-dialog.dev.js";
20
+ import "@spectrum-web-components/dialog/sp-dialog.js";
21
21
  import { DialogBase } from "./DialogBase.dev.js";
22
22
  export class DialogWrapper extends DialogBase {
23
23
  constructor() {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["DialogWrapper.ts"],
4
- "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 TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } 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.dev.js'\nimport { DialogBase } from './DialogBase.dev.js'\nimport { Dialog } from './Dialog.dev.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 DialogBase {\n public static override get styles(): CSSResultArray {\n return [...super.styles];\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()\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: 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: String, attribute: 'headline-visibility' })\n public headlineVisibility: 'none' | undefined;\n\n protected override get dialog(): Dialog {\n return this.shadowRoot.querySelector('sp-dialog') as Dialog;\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 override renderDialog(): TemplateResult {\n const hideDivider =\n this.noDivider ||\n !this.headline ||\n this.headlineVisibility === 'none';\n\n if (window.__swc.DEBUG) {\n if (!this.headline) {\n window.__swc.warn(\n this,\n `<${this.localName}> elements will not be accessible to screen readers without a \"headline\" attribute or property.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/dialog-wrapper/#accessibility',\n {\n type: 'accessibility',\n }\n );\n }\n }\n\n return html`\n <sp-dialog\n ?dismissable=${this.dismissable}\n ?no-divider=${hideDivider}\n ?error=${this.error}\n mode=${ifDefined(this.mode)}\n size=${ifDefined(this.size)}\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 ? this.heroLabel : undefined\n )}\n />\n `\n : html``}\n ${this.headline\n ? html`\n <h2\n slot=\"heading\"\n ?hidden=${this.headlineVisibility === 'none'}\n >\n ${this.headline}\n </h2>\n `\n : html``}\n <slot></slot>\n ${this.footer\n ? html`\n <div slot=\"footer\">${this.footer}</div>\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.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.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 `;\n }\n}\n"],
5
- "mappings": "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",
4
+ "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 TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } 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\n// Leveraged in build systems that use aliasing to prevent multiple registrations: https://github.com/adobe/spectrum-web-components/pull/3225\nimport '@spectrum-web-components/dialog/sp-dialog.js'\nimport { DialogBase } from './DialogBase.dev.js'\nimport { Dialog } from './Dialog.dev.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 DialogBase {\n public static override get styles(): CSSResultArray {\n return [...super.styles];\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()\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: 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: String, attribute: 'headline-visibility' })\n public headlineVisibility: 'none' | undefined;\n\n protected override get dialog(): Dialog {\n return this.shadowRoot.querySelector('sp-dialog') as Dialog;\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 override renderDialog(): TemplateResult {\n const hideDivider =\n this.noDivider ||\n !this.headline ||\n this.headlineVisibility === 'none';\n\n if (window.__swc.DEBUG) {\n if (!this.headline) {\n window.__swc.warn(\n this,\n `<${this.localName}> elements will not be accessible to screen readers without a \"headline\" attribute or property.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/dialog-wrapper/#accessibility',\n {\n type: 'accessibility',\n }\n );\n }\n }\n\n return html`\n <sp-dialog\n ?dismissable=${this.dismissable}\n ?no-divider=${hideDivider}\n ?error=${this.error}\n mode=${ifDefined(this.mode)}\n size=${ifDefined(this.size)}\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 ? this.heroLabel : undefined\n )}\n />\n `\n : html``}\n ${this.headline\n ? html`\n <h2\n slot=\"heading\"\n ?hidden=${this.headlineVisibility === 'none'}\n >\n ${this.headline}\n </h2>\n `\n : html``}\n <slot></slot>\n ${this.footer\n ? html`\n <div slot=\"footer\">${this.footer}</div>\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.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.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 `;\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- "use strict";var b=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var t=(c,o,l,r)=>{for(var s=r>1?void 0:r?h(o,l):o,a=c.length-1,d;a>=0;a--)(d=c[a])&&(s=(r?d(o,l,s):d(s))||s);return r&&s&&b(o,l,s),s};import{html as e}from"@spectrum-web-components/base";import{property as i}from"@spectrum-web-components/base/src/decorators.js";import{ifDefined as n}from"@spectrum-web-components/base/src/directives.js";import"@spectrum-web-components/underlay/sp-underlay.js";import"@spectrum-web-components/button/sp-button.js";import"../sp-dialog.js";import{DialogBase as u}from"./DialogBase.js";export class DialogWrapper extends u{constructor(){super(...arguments);this.error=!1;this.cancelLabel="";this.confirmLabel="";this.footer="";this.hero="";this.heroLabel="";this.noDivider=!1;this.secondaryLabel="";this.headline=""}static get styles(){return[...super.styles]}get dialog(){return this.shadowRoot.querySelector("sp-dialog")}clickSecondary(){this.dispatchEvent(new Event("secondary",{bubbles:!0}))}clickCancel(){this.dispatchEvent(new Event("cancel",{bubbles:!0}))}clickConfirm(){this.dispatchEvent(new Event("confirm",{bubbles:!0}))}renderDialog(){const l=this.noDivider||!this.headline||this.headlineVisibility==="none";return e`
1
+ "use strict";var b=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var t=(c,o,l,r)=>{for(var s=r>1?void 0:r?h(o,l):o,a=c.length-1,d;a>=0;a--)(d=c[a])&&(s=(r?d(o,l,s):d(s))||s);return r&&s&&b(o,l,s),s};import{html as e}from"@spectrum-web-components/base";import{property as i}from"@spectrum-web-components/base/src/decorators.js";import{ifDefined as n}from"@spectrum-web-components/base/src/directives.js";import"@spectrum-web-components/underlay/sp-underlay.js";import"@spectrum-web-components/button/sp-button.js";import"@spectrum-web-components/dialog/sp-dialog.js";import{DialogBase as u}from"./DialogBase.js";export class DialogWrapper extends u{constructor(){super(...arguments);this.error=!1;this.cancelLabel="";this.confirmLabel="";this.footer="";this.hero="";this.heroLabel="";this.noDivider=!1;this.secondaryLabel="";this.headline=""}static get styles(){return[...super.styles]}get dialog(){return this.shadowRoot.querySelector("sp-dialog")}clickSecondary(){this.dispatchEvent(new Event("secondary",{bubbles:!0}))}clickCancel(){this.dispatchEvent(new Event("cancel",{bubbles:!0}))}clickConfirm(){this.dispatchEvent(new Event("confirm",{bubbles:!0}))}renderDialog(){const l=this.noDivider||!this.headline||this.headlineVisibility==="none";return e`
2
2
  <sp-dialog
3
3
  ?dismissable=${this.dismissable}
4
4
  ?no-divider=${l}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["DialogWrapper.ts"],
4
- "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 TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } 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 { DialogBase } from './DialogBase.js';\nimport { Dialog } from './Dialog.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 DialogBase {\n public static override get styles(): CSSResultArray {\n return [...super.styles];\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()\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: 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: String, attribute: 'headline-visibility' })\n public headlineVisibility: 'none' | undefined;\n\n protected override get dialog(): Dialog {\n return this.shadowRoot.querySelector('sp-dialog') as Dialog;\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 override renderDialog(): TemplateResult {\n const hideDivider =\n this.noDivider ||\n !this.headline ||\n this.headlineVisibility === 'none';\n\n if (window.__swc.DEBUG) {\n if (!this.headline) {\n window.__swc.warn(\n this,\n `<${this.localName}> elements will not be accessible to screen readers without a \"headline\" attribute or property.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/dialog-wrapper/#accessibility',\n {\n type: 'accessibility',\n }\n );\n }\n }\n\n return html`\n <sp-dialog\n ?dismissable=${this.dismissable}\n ?no-divider=${hideDivider}\n ?error=${this.error}\n mode=${ifDefined(this.mode)}\n size=${ifDefined(this.size)}\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 ? this.heroLabel : undefined\n )}\n />\n `\n : html``}\n ${this.headline\n ? html`\n <h2\n slot=\"heading\"\n ?hidden=${this.headlineVisibility === 'none'}\n >\n ${this.headline}\n </h2>\n `\n : html``}\n <slot></slot>\n ${this.footer\n ? html`\n <div slot=\"footer\">${this.footer}</div>\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.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.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 `;\n }\n}\n"],
5
- "mappings": "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",
4
+ "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 TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } 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\n// Leveraged in build systems that use aliasing to prevent multiple registrations: https://github.com/adobe/spectrum-web-components/pull/3225\nimport '@spectrum-web-components/dialog/sp-dialog.js'\nimport { DialogBase } from './DialogBase.js';\nimport { Dialog } from './Dialog.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 DialogBase {\n public static override get styles(): CSSResultArray {\n return [...super.styles];\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()\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: 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: String, attribute: 'headline-visibility' })\n public headlineVisibility: 'none' | undefined;\n\n protected override get dialog(): Dialog {\n return this.shadowRoot.querySelector('sp-dialog') as Dialog;\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 override renderDialog(): TemplateResult {\n const hideDivider =\n this.noDivider ||\n !this.headline ||\n this.headlineVisibility === 'none';\n\n if (window.__swc.DEBUG) {\n if (!this.headline) {\n window.__swc.warn(\n this,\n `<${this.localName}> elements will not be accessible to screen readers without a \"headline\" attribute or property.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/dialog-wrapper/#accessibility',\n {\n type: 'accessibility',\n }\n );\n }\n }\n\n return html`\n <sp-dialog\n ?dismissable=${this.dismissable}\n ?no-divider=${hideDivider}\n ?error=${this.error}\n mode=${ifDefined(this.mode)}\n size=${ifDefined(this.size)}\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 ? this.heroLabel : undefined\n )}\n />\n `\n : html``}\n ${this.headline\n ? html`\n <h2\n slot=\"heading\"\n ?hidden=${this.headlineVisibility === 'none'}\n >\n ${this.headline}\n </h2>\n `\n : html``}\n <slot></slot>\n ${this.footer\n ? html`\n <div slot=\"footer\">${this.footer}</div>\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.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.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 `;\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["html", "property", "ifDefined", "DialogBase", "hideDivider", "__decorateClass"]
7
7
  }
@@ -39,6 +39,13 @@ const handleCancel = ({ onCancel }) => (event) => {
39
39
  export const wrapperLabeledHero = (args = {}, context = {}) => {
40
40
  const open = context.viewMode === "docs" ? false : true;
41
41
  return html`
42
+ <style>
43
+ sp-story-decorator {
44
+ inset: 0;
45
+ position: absolute;
46
+ overflow: hidden;
47
+ }
48
+ </style>
42
49
  <sp-dialog-wrapper
43
50
  ?open=${open}
44
51
  hero=${landscape}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["dialog-wrapper.stories.ts"],
4
- "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/tooltip/sp-tooltip.js';\nimport '@spectrum-web-components/overlay/overlay-trigger.js';\n\nimport '@spectrum-web-components/dialog/sp-dialog-wrapper.js';\nimport { landscape } from './images.js';\nimport { overlayTriggerDecorator } from './index.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 row-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\nform.decorators = [overlayTriggerDecorator];\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-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 <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 </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\nexport const wrapperWithHeadline = (\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=\"Headline for dialog\"\n @close=${handleClose(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n\nexport const wrapperWithHeadlineNoDivider = (\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=\"Headline for dialog\"\n no-divider=${true}\n @close=${handleClose(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n\nexport const wrapperHeadlineVisibilityNone = (\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 headline=\"Accessible headline\"\n .headlineVisibility=${'none'}\n ?open=${open}\n @close=${handleClose(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n\nexport const tooltips = (\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 ${[1, 2, 3, 4].map(\n (index) => html`\n <overlay-trigger>\n <sp-button slot=\"trigger\">\n Button with Tooltip ${index}\n </sp-button>\n <sp-tooltip slot=\"hover-content\">\n Tooltip ${index}\n </sp-tooltip>\n </overlay-trigger>\n `\n )}\n </sp-dialog-wrapper>\n </overlay-trigger>\n `;\n};\n\ntooltips.decorators = [overlayTriggerDecorator];\n"],
5
- "mappings": "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",
4
+ "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/tooltip/sp-tooltip.js';\nimport '@spectrum-web-components/overlay/overlay-trigger.js';\n\nimport '@spectrum-web-components/dialog/sp-dialog-wrapper.js';\nimport { landscape } from './images.js';\nimport { overlayTriggerDecorator } from './index.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 <style>\n sp-story-decorator {\n inset: 0;\n position: absolute;\n overflow: hidden;\n }\n </style>\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 row-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\nform.decorators = [overlayTriggerDecorator];\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-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 <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 </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\nexport const wrapperWithHeadline = (\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=\"Headline for dialog\"\n @close=${handleClose(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n\nexport const wrapperWithHeadlineNoDivider = (\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=\"Headline for dialog\"\n no-divider=${true}\n @close=${handleClose(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n\nexport const wrapperHeadlineVisibilityNone = (\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 headline=\"Accessible headline\"\n .headlineVisibility=${'none'}\n ?open=${open}\n @close=${handleClose(args)}\n >\n Content of the dialog\n </sp-dialog-wrapper>\n `;\n};\n\nexport const tooltips = (\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 ${[1, 2, 3, 4].map(\n (index) => html`\n <overlay-trigger>\n <sp-button slot=\"trigger\">\n Button with Tooltip ${index}\n </sp-button>\n <sp-tooltip slot=\"hover-content\">\n Tooltip ${index}\n </sp-tooltip>\n </overlay-trigger>\n `\n )}\n </sp-dialog-wrapper>\n </overlay-trigger>\n `;\n};\n\ntooltips.decorators = [overlayTriggerDecorator];\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/stories/index.js CHANGED
@@ -17,9 +17,10 @@ class OverlayTriggerReady extends HTMLElement {
17
17
  });
18
18
  }
19
19
  async setup() {
20
+ await nextFrame();
20
21
  await nextFrame();
21
22
  const overlay = document.querySelector(
22
- `overlay-trigger`
23
+ `overlay-trigger[open]`
23
24
  );
24
25
  overlay.addEventListener("sp-opened", this.handleTriggerOpened);
25
26
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.ts"],
4
- "sourcesContent": ["/*\nCopyright 2022 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\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\nexport const overlayTriggerDecorator = (\n story: () => TemplateResult\n): TemplateResult => {\n return html`\n ${story()}\n <overlay-trigger-ready></overlay-trigger-ready>\n `;\n};\n"],
5
- "mappings": ";AAYA,SAAS,YAA4B;AAErC,SAAS,YAA2B;AAChC,SAAO,IAAI,QAAQ,CAAC,QAAQ,sBAAsB,MAAM,IAAI,CAAC,CAAC;AAClE;AAEA,MAAM,4BAA4B,YAAY;AAAA,EAG1C,cAAc;AACV,UAAM;AAgBV,+BAAsB,YAA2B;AAC7C,YAAM,UAAU;AAEhB,WAAK,MAAM,IAAI;AAAA,IACnB;AAEA,SAAQ,eAAiC,QAAQ,QAAQ,KAAK;AArB1D,SAAK,eAAe,IAAI,QAAQ,CAAC,QAAQ;AACrC,WAAK,QAAQ;AACb,WAAK,MAAM;AAAA,IACf,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,QAAuB;AACzB,UAAM,UAAU;AAEhB,UAAM,UAAU,SAAS;AAAA,MACrB;AAAA,IACJ;AACA,YAAQ,iBAAiB,aAAa,KAAK,mBAAmB;AAAA,EAClE;AAAA,EAUA,IAAI,iBAAmC;AACnC,WAAO,KAAK;AAAA,EAChB;AACJ;AAEA,eAAe,OAAO,yBAAyB,mBAAmB;AAE3D,aAAM,0BAA0B,CACnC,UACiB;AACjB,SAAO;AAAA,UACD,MAAM;AAAA;AAAA;AAGhB;",
4
+ "sourcesContent": ["/*\nCopyright 2022 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\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 await nextFrame();\n\n const overlay = document.querySelector(\n `overlay-trigger[open]`\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\nexport const overlayTriggerDecorator = (\n story: () => TemplateResult\n): TemplateResult => {\n return html`\n ${story()}\n <overlay-trigger-ready></overlay-trigger-ready>\n `;\n};\n"],
5
+ "mappings": ";AAYA,SAAS,YAA4B;AAErC,SAAS,YAA2B;AAChC,SAAO,IAAI,QAAQ,CAAC,QAAQ,sBAAsB,MAAM,IAAI,CAAC,CAAC;AAClE;AAEA,MAAM,4BAA4B,YAAY;AAAA,EAG1C,cAAc;AACV,UAAM;AAiBV,+BAAsB,YAA2B;AAC7C,YAAM,UAAU;AAEhB,WAAK,MAAM,IAAI;AAAA,IACnB;AAEA,SAAQ,eAAiC,QAAQ,QAAQ,KAAK;AAtB1D,SAAK,eAAe,IAAI,QAAQ,CAAC,QAAQ;AACrC,WAAK,QAAQ;AACb,WAAK,MAAM;AAAA,IACf,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,QAAuB;AACzB,UAAM,UAAU;AAChB,UAAM,UAAU;AAEhB,UAAM,UAAU,SAAS;AAAA,MACrB;AAAA,IACJ;AACA,YAAQ,iBAAiB,aAAa,KAAK,mBAAmB;AAAA,EAClE;AAAA,EAUA,IAAI,iBAAmC;AACnC,WAAO,KAAK;AAAA,EAChB;AACJ;AAEA,eAAe,OAAO,yBAAyB,mBAAmB;AAE3D,aAAM,0BAA0B,CACnC,UACiB;AACjB,SAAO;AAAA,UACD,MAAM;AAAA;AAAA;AAGhB;",
6
6
  "names": []
7
7
  }