@social.io/catalog 1.3.0 → 2.0.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.
- package/.smartconfig.json +51 -0
- package/dist_bundle/bundle.js +5450 -3267
- package/dist_ts_web/00_commitinfo_data.js +3 -3
- package/dist_ts_web/elements/index.d.ts +20 -3
- package/dist_ts_web/elements/index.js +27 -7
- package/dist_ts_web/elements/sio-ai-card.d.ts +39 -0
- package/dist_ts_web/elements/sio-ai-card.js +229 -0
- package/dist_ts_web/elements/sio-avatar.d.ts +46 -0
- package/dist_ts_web/elements/sio-avatar.js +379 -0
- package/dist_ts_web/elements/sio-bucket-header.d.ts +36 -0
- package/dist_ts_web/elements/sio-bucket-header.js +197 -0
- package/dist_ts_web/elements/sio-button.d.ts +7 -3
- package/dist_ts_web/elements/sio-button.js +253 -152
- package/dist_ts_web/elements/sio-channel-rail.d.ts +37 -0
- package/dist_ts_web/elements/sio-channel-rail.js +275 -0
- package/dist_ts_web/elements/sio-chip.d.ts +25 -0
- package/dist_ts_web/elements/sio-chip.js +188 -0
- package/dist_ts_web/elements/sio-cmdk.d.ts +59 -0
- package/dist_ts_web/elements/sio-cmdk.js +471 -0
- package/dist_ts_web/elements/sio-combox.d.ts +55 -1
- package/dist_ts_web/elements/sio-combox.js +458 -261
- package/dist_ts_web/elements/sio-composer.d.ts +48 -0
- package/dist_ts_web/elements/sio-composer.js +357 -0
- package/dist_ts_web/elements/sio-conversation-selector.d.ts +41 -1
- package/dist_ts_web/elements/sio-conversation-selector.js +426 -238
- package/dist_ts_web/elements/sio-conversation-view.d.ts +34 -6
- package/dist_ts_web/elements/sio-conversation-view.js +738 -564
- package/dist_ts_web/elements/sio-dropdown-menu.d.ts +6 -6
- package/dist_ts_web/elements/sio-dropdown-menu.js +223 -169
- package/dist_ts_web/elements/sio-fab.d.ts +23 -5
- package/dist_ts_web/elements/sio-fab.js +259 -235
- package/dist_ts_web/elements/sio-glass-toolbar.d.ts +22 -0
- package/dist_ts_web/elements/sio-glass-toolbar.js +178 -0
- package/dist_ts_web/elements/sio-icon.d.ts +1 -0
- package/dist_ts_web/elements/sio-icon.js +254 -94
- package/dist_ts_web/elements/sio-image-lightbox.d.ts +3 -4
- package/dist_ts_web/elements/sio-image-lightbox.js +282 -191
- package/dist_ts_web/elements/sio-inset-list.d.ts +28 -0
- package/dist_ts_web/elements/sio-inset-list.js +191 -0
- package/dist_ts_web/elements/sio-kbd.d.ts +16 -0
- package/dist_ts_web/elements/sio-kbd.js +117 -0
- package/dist_ts_web/elements/sio-list-row.d.ts +55 -0
- package/dist_ts_web/elements/sio-list-row.js +462 -0
- package/dist_ts_web/elements/sio-message-input.d.ts +25 -4
- package/dist_ts_web/elements/sio-message-input.js +231 -226
- package/dist_ts_web/elements/sio-paper-thumb.d.ts +24 -0
- package/dist_ts_web/elements/sio-paper-thumb.js +293 -0
- package/dist_ts_web/elements/sio-pdf-viewer.d.ts +2 -0
- package/dist_ts_web/elements/sio-pdf-viewer.js +344 -244
- package/dist_ts_web/elements/sio-segmented.d.ts +32 -0
- package/dist_ts_web/elements/sio-segmented.js +217 -0
- package/dist_ts_web/elements/sio-step-timeline.d.ts +28 -0
- package/dist_ts_web/elements/sio-step-timeline.js +222 -0
- package/dist_ts_web/elements/sio-tab-bar.d.ts +36 -0
- package/dist_ts_web/elements/sio-tab-bar.js +232 -0
- package/dist_ts_web/elements/sio-unread-badge.d.ts +25 -0
- package/dist_ts_web/elements/sio-unread-badge.js +203 -0
- package/dist_ts_web/elements/sio-waveform.d.ts +34 -0
- package/dist_ts_web/elements/sio-waveform.js +304 -0
- package/dist_ts_web/elements/tokens.d.ts +70 -0
- package/dist_ts_web/elements/tokens.js +277 -0
- package/dist_ts_web/pages/firstpage.d.ts +5 -0
- package/dist_ts_web/pages/firstpage.js +21 -2
- package/dist_ts_web/pages/mainpage.d.ts +6 -0
- package/dist_ts_web/pages/mainpage.js +111 -39
- package/{license → license.md} +3 -1
- package/package.json +23 -29
- package/readme.hints.md +81 -0
- package/readme.md +85 -151
- package/ts_web/00_commitinfo_data.ts +2 -2
- package/ts_web/elements/index.ts +30 -7
- package/ts_web/elements/sio-ai-card.ts +175 -0
- package/ts_web/elements/sio-avatar.ts +295 -0
- package/ts_web/elements/sio-bucket-header.ts +157 -0
- package/ts_web/elements/sio-button.ts +149 -127
- package/ts_web/elements/sio-channel-rail.ts +243 -0
- package/ts_web/elements/sio-chip.ts +134 -0
- package/ts_web/elements/sio-cmdk.ts +461 -0
- package/ts_web/elements/sio-combox.ts +327 -204
- package/ts_web/elements/sio-composer.ts +306 -0
- package/ts_web/elements/sio-conversation-selector.ts +350 -228
- package/ts_web/elements/sio-conversation-view.ts +573 -457
- package/ts_web/elements/sio-dropdown-menu.ts +112 -130
- package/ts_web/elements/sio-fab.ts +192 -227
- package/ts_web/elements/sio-glass-toolbar.ts +140 -0
- package/ts_web/elements/sio-icon.ts +147 -25
- package/ts_web/elements/sio-image-lightbox.ts +62 -64
- package/ts_web/elements/sio-inset-list.ts +140 -0
- package/ts_web/elements/sio-kbd.ts +80 -0
- package/ts_web/elements/sio-list-row.ts +393 -0
- package/ts_web/elements/sio-message-input.ts +142 -221
- package/ts_web/elements/sio-paper-thumb.ts +244 -0
- package/ts_web/elements/sio-pdf-viewer.ts +58 -60
- package/ts_web/elements/sio-segmented.ts +183 -0
- package/ts_web/elements/sio-step-timeline.ts +179 -0
- package/ts_web/elements/sio-tab-bar.ts +195 -0
- package/ts_web/elements/sio-unread-badge.ts +147 -0
- package/ts_web/elements/sio-waveform.ts +239 -0
- package/ts_web/elements/tokens.ts +297 -0
- package/ts_web/pages/firstpage.ts +20 -1
- package/ts_web/pages/mainpage.ts +111 -39
- package/dist_bundle/bundle.js.map +0 -7
- package/dist_ts_web/elements/00colors.d.ts +0 -108
- package/dist_ts_web/elements/00colors.js +0 -137
- package/dist_ts_web/elements/00fonts.d.ts +0 -60
- package/dist_ts_web/elements/00fonts.js +0 -129
- package/dist_ts_web/elements/00tokens.d.ts +0 -123
- package/dist_ts_web/elements/00tokens.js +0 -176
- package/dist_ts_web/elements/sio-conversation-list.d.ts +0 -20
- package/dist_ts_web/elements/sio-conversation-list.js +0 -495
- package/dist_ts_web/elements/sio-recorder.d.ts +0 -60
- package/dist_ts_web/elements/sio-recorder.js +0 -173
- package/dist_ts_web/elements/sio-subwidget-conversations.d.ts +0 -16
- package/dist_ts_web/elements/sio-subwidget-conversations.js +0 -350
- package/dist_ts_web/elements/sio-subwidget-onboardme.d.ts +0 -7
- package/dist_ts_web/elements/sio-subwidget-onboardme.js +0 -243
- package/dist_watch/bundle.js +0 -81694
- package/dist_watch/bundle.js.map +0 -7
- package/dist_watch/index.html +0 -25
- package/npmextra.json +0 -19
- package/ts_web/elements/00colors.ts +0 -164
- package/ts_web/elements/00fonts.ts +0 -145
- package/ts_web/elements/00tokens.ts +0 -197
- package/ts_web/elements/sio-recorder.ts +0 -213
|
@@ -3,17 +3,14 @@ import {
|
|
|
3
3
|
property,
|
|
4
4
|
html,
|
|
5
5
|
customElement,
|
|
6
|
-
type TemplateResult,
|
|
7
|
-
cssManager,
|
|
8
6
|
css,
|
|
9
|
-
unsafeCSS,
|
|
10
7
|
state,
|
|
8
|
+
type TemplateResult,
|
|
11
9
|
} from '@design.estate/dees-element';
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import { fontFamilies } from './00fonts.js';
|
|
11
|
+
import { sioElementStyles } from './tokens.js';
|
|
12
|
+
import './sio-icon.js';
|
|
13
|
+
import './sio-button.js';
|
|
17
14
|
|
|
18
15
|
export interface IDropdownMenuItem {
|
|
19
16
|
id: string;
|
|
@@ -33,16 +30,26 @@ declare global {
|
|
|
33
30
|
@customElement('sio-dropdown-menu')
|
|
34
31
|
export class SioDropdownMenu extends DeesElement {
|
|
35
32
|
public static demo = () => html`
|
|
36
|
-
<div
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
{
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
33
|
+
<div
|
|
34
|
+
style="position: relative; height: 320px; display: flex; justify-content: center; padding-top: 40px; background: var(--sio-bg); border-radius: 14px;"
|
|
35
|
+
>
|
|
36
|
+
<sio-dropdown-menu
|
|
37
|
+
.items=${[
|
|
38
|
+
{ id: 'reply', label: 'Reply', icon: 'reply' },
|
|
39
|
+
{ id: 'forward', label: 'Forward', icon: 'forward' },
|
|
40
|
+
{ id: 'divider1', label: '', divider: true },
|
|
41
|
+
{ id: 'later', label: 'Move to Later', icon: 'clock' },
|
|
42
|
+
{ id: 'done', label: 'Mark as Done', icon: 'check' },
|
|
43
|
+
{ id: 'pin', label: 'Pin conversation', icon: 'pin' },
|
|
44
|
+
{ id: 'mute', label: 'Mute notifications', icon: 'bell-off', disabled: true },
|
|
45
|
+
{ id: 'divider2', label: '', divider: true },
|
|
46
|
+
{ id: 'block', label: 'Block sender', icon: 'user-x', destructive: true },
|
|
47
|
+
{ id: 'delete', label: 'Delete thread', icon: 'trash-2', destructive: true },
|
|
48
|
+
] satisfies IDropdownMenuItem[]}
|
|
49
|
+
>
|
|
50
|
+
<sio-button type="outline" size="sm">
|
|
51
|
+
<sio-icon icon="ellipsis" size="15"></sio-icon>
|
|
52
|
+
Thread actions
|
|
46
53
|
</sio-button>
|
|
47
54
|
</sio-dropdown-menu>
|
|
48
55
|
</div>
|
|
@@ -57,17 +64,16 @@ export class SioDropdownMenu extends DeesElement {
|
|
|
57
64
|
@state()
|
|
58
65
|
private accessor isOpen: boolean = false;
|
|
59
66
|
|
|
60
|
-
private documentClickHandler
|
|
61
|
-
private
|
|
62
|
-
private resizeHandler: () => void;
|
|
67
|
+
private documentClickHandler?: (e: MouseEvent) => void;
|
|
68
|
+
private resizeHandler?: () => void;
|
|
63
69
|
|
|
64
70
|
public static styles = [
|
|
65
|
-
|
|
71
|
+
...sioElementStyles,
|
|
66
72
|
css`
|
|
67
73
|
:host {
|
|
68
74
|
position: relative;
|
|
69
75
|
display: inline-block;
|
|
70
|
-
font-family:
|
|
76
|
+
font-family: var(--sio-font-sf);
|
|
71
77
|
}
|
|
72
78
|
|
|
73
79
|
.trigger {
|
|
@@ -76,19 +82,23 @@ export class SioDropdownMenu extends DeesElement {
|
|
|
76
82
|
|
|
77
83
|
.dropdown {
|
|
78
84
|
position: absolute;
|
|
79
|
-
top: calc(100% +
|
|
85
|
+
top: calc(100% + 8px);
|
|
80
86
|
right: 0;
|
|
81
|
-
min-width:
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
border-radius:
|
|
85
|
-
|
|
86
|
-
|
|
87
|
+
min-width: 210px;
|
|
88
|
+
padding: 5px;
|
|
89
|
+
background: var(--sio-surface);
|
|
90
|
+
border-radius: var(--sio-radius-md);
|
|
91
|
+
/* hairline ring + soft depth, per the v7 floating-surface recipe */
|
|
92
|
+
box-shadow:
|
|
93
|
+
0 18px 50px rgba(0, 0, 0, 0.22),
|
|
94
|
+
0 0 0 var(--sio-hairline) var(--sio-separator);
|
|
87
95
|
z-index: 100000;
|
|
88
96
|
opacity: 0;
|
|
89
|
-
transform: translateY(-
|
|
97
|
+
transform: translateY(-8px) scale(0.96);
|
|
90
98
|
pointer-events: none;
|
|
91
|
-
transition:
|
|
99
|
+
transition:
|
|
100
|
+
opacity 160ms ease,
|
|
101
|
+
transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
92
102
|
transform-origin: top right;
|
|
93
103
|
}
|
|
94
104
|
|
|
@@ -107,48 +117,52 @@ export class SioDropdownMenu extends DeesElement {
|
|
|
107
117
|
.menu-item {
|
|
108
118
|
display: flex;
|
|
109
119
|
align-items: center;
|
|
110
|
-
gap:
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
line-height: 1.5;
|
|
114
|
-
color: ${bdTheme('foreground')};
|
|
115
|
-
cursor: pointer;
|
|
116
|
-
transition: ${unsafeCSS(transitions.all)};
|
|
117
|
-
user-select: none;
|
|
120
|
+
gap: 10px;
|
|
121
|
+
width: 100%;
|
|
122
|
+
padding: 8px 10px;
|
|
118
123
|
border: none;
|
|
124
|
+
border-radius: var(--sio-radius-sm);
|
|
119
125
|
background: none;
|
|
120
|
-
|
|
126
|
+
font-family: var(--sio-font-sf);
|
|
127
|
+
font-size: 13px;
|
|
128
|
+
font-weight: 500;
|
|
129
|
+
letter-spacing: -0.08px;
|
|
130
|
+
line-height: 18px;
|
|
121
131
|
text-align: left;
|
|
132
|
+
color: var(--sio-label);
|
|
133
|
+
cursor: pointer;
|
|
134
|
+
transition: background 80ms ease;
|
|
135
|
+
user-select: none;
|
|
122
136
|
}
|
|
123
137
|
|
|
124
138
|
.menu-item:hover:not(.disabled) {
|
|
125
|
-
background:
|
|
139
|
+
background: var(--sio-surface-2);
|
|
126
140
|
}
|
|
127
141
|
|
|
128
142
|
.menu-item:active:not(.disabled) {
|
|
129
|
-
|
|
143
|
+
background: color-mix(in oklab, var(--sio-label) 10%, transparent);
|
|
130
144
|
}
|
|
131
145
|
|
|
132
146
|
.menu-item.disabled {
|
|
133
|
-
opacity: 0.
|
|
134
|
-
cursor:
|
|
147
|
+
opacity: 0.4;
|
|
148
|
+
cursor: default;
|
|
135
149
|
}
|
|
136
150
|
|
|
137
151
|
.menu-item.destructive {
|
|
138
|
-
color:
|
|
152
|
+
color: var(--sio-red);
|
|
139
153
|
}
|
|
140
154
|
|
|
141
155
|
.menu-item.destructive:hover:not(.disabled) {
|
|
142
|
-
background:
|
|
156
|
+
background: color-mix(in oklab, var(--sio-red) 10%, transparent);
|
|
143
157
|
}
|
|
144
158
|
|
|
145
159
|
.menu-icon {
|
|
146
160
|
flex-shrink: 0;
|
|
147
|
-
color:
|
|
161
|
+
color: var(--sio-label-3);
|
|
148
162
|
}
|
|
149
163
|
|
|
150
164
|
.menu-item.destructive .menu-icon {
|
|
151
|
-
color:
|
|
165
|
+
color: var(--sio-red);
|
|
152
166
|
}
|
|
153
167
|
|
|
154
168
|
.menu-label {
|
|
@@ -156,30 +170,9 @@ export class SioDropdownMenu extends DeesElement {
|
|
|
156
170
|
}
|
|
157
171
|
|
|
158
172
|
.divider {
|
|
159
|
-
height:
|
|
160
|
-
background:
|
|
161
|
-
margin:
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/* Mobile adjustments */
|
|
165
|
-
@media (max-width: 600px) {
|
|
166
|
-
.dropdown {
|
|
167
|
-
position: fixed;
|
|
168
|
-
top: auto !important;
|
|
169
|
-
left: ${unsafeCSS(spacing["4"])} !important;
|
|
170
|
-
right: ${unsafeCSS(spacing["4"])};
|
|
171
|
-
bottom: ${unsafeCSS(spacing["4"])};
|
|
172
|
-
width: auto;
|
|
173
|
-
transform-origin: bottom center;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
.dropdown.open {
|
|
177
|
-
transform: translateY(0) scale(1);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
.dropdown:not(.open) {
|
|
181
|
-
transform: translateY(10px) scale(0.95);
|
|
182
|
-
}
|
|
173
|
+
height: var(--sio-hairline);
|
|
174
|
+
background: var(--sio-separator);
|
|
175
|
+
margin: 4px 6px;
|
|
183
176
|
}
|
|
184
177
|
`,
|
|
185
178
|
];
|
|
@@ -190,109 +183,98 @@ export class SioDropdownMenu extends DeesElement {
|
|
|
190
183
|
<slot></slot>
|
|
191
184
|
</div>
|
|
192
185
|
<div class="dropdown ${this.isOpen ? 'open' : ''} align-${this.align}">
|
|
193
|
-
${this.items.map(item =>
|
|
194
|
-
item.divider
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
186
|
+
${this.items.map((item) =>
|
|
187
|
+
item.divider
|
|
188
|
+
? html`<div class="divider"></div>`
|
|
189
|
+
: html`
|
|
190
|
+
<button
|
|
191
|
+
class="menu-item ${item.destructive ? 'destructive' : ''} ${item.disabled
|
|
192
|
+
? 'disabled'
|
|
193
|
+
: ''}"
|
|
194
|
+
@click=${() => this.handleItemClick(item)}
|
|
195
|
+
?disabled=${item.disabled}
|
|
196
|
+
>
|
|
197
|
+
${item.icon
|
|
198
|
+
? html`<sio-icon class="menu-icon" icon="${item.icon}" size="15"></sio-icon>`
|
|
199
|
+
: ''}
|
|
200
|
+
<span class="menu-label">${item.label}</span>
|
|
201
|
+
</button>
|
|
202
|
+
`,
|
|
208
203
|
)}
|
|
209
204
|
</div>
|
|
210
205
|
`;
|
|
211
206
|
}
|
|
212
207
|
|
|
213
208
|
private toggleDropdown = (e: Event) => {
|
|
214
|
-
console.log('[Dropdown] Toggle called, current state:', this.isOpen);
|
|
215
209
|
e.preventDefault();
|
|
216
210
|
e.stopPropagation();
|
|
217
|
-
|
|
211
|
+
|
|
218
212
|
this.isOpen = !this.isOpen;
|
|
219
|
-
|
|
220
|
-
|
|
213
|
+
|
|
221
214
|
if (this.isOpen) {
|
|
222
|
-
this.
|
|
215
|
+
this.addDocumentListeners();
|
|
223
216
|
} else {
|
|
224
|
-
this.
|
|
217
|
+
this.removeDocumentListeners();
|
|
225
218
|
}
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
private updateDropdownPosition() {
|
|
229
|
-
// For absolute positioning, we don't need to calculate position dynamically
|
|
230
|
-
// The CSS handles it with top: calc(100% + 10px) and right: 0
|
|
231
|
-
console.log('[Dropdown] Position is handled by CSS (absolute positioning)');
|
|
232
|
-
}
|
|
219
|
+
};
|
|
233
220
|
|
|
234
221
|
private handleItemClick(item: IDropdownMenuItem) {
|
|
235
222
|
if (item.disabled || item.divider) return;
|
|
236
|
-
|
|
223
|
+
|
|
237
224
|
this.isOpen = false;
|
|
238
|
-
this.
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
225
|
+
this.removeDocumentListeners();
|
|
226
|
+
|
|
227
|
+
this.dispatchEvent(
|
|
228
|
+
new CustomEvent('item-selected', {
|
|
229
|
+
detail: { item },
|
|
230
|
+
bubbles: true,
|
|
231
|
+
composed: true,
|
|
232
|
+
}),
|
|
233
|
+
);
|
|
246
234
|
}
|
|
247
235
|
|
|
248
|
-
private
|
|
249
|
-
// Close
|
|
236
|
+
private addDocumentListeners() {
|
|
237
|
+
// Close when clicking outside the component.
|
|
250
238
|
this.documentClickHandler = (e: MouseEvent) => {
|
|
251
239
|
const path = e.composedPath();
|
|
252
240
|
if (!path.includes(this)) {
|
|
253
|
-
this.
|
|
254
|
-
this.removeDocumentListener();
|
|
241
|
+
this.close();
|
|
255
242
|
}
|
|
256
243
|
};
|
|
257
|
-
|
|
258
|
-
//
|
|
259
|
-
this.scrollHandler = () => this.updateDropdownPosition();
|
|
244
|
+
|
|
245
|
+
// Close on small viewports to avoid stale absolute positioning.
|
|
260
246
|
this.resizeHandler = () => {
|
|
261
|
-
this.updateDropdownPosition();
|
|
262
247
|
if (window.innerWidth <= 600) {
|
|
263
|
-
|
|
264
|
-
this.isOpen = false;
|
|
265
|
-
this.removeDocumentListener();
|
|
248
|
+
this.close();
|
|
266
249
|
}
|
|
267
250
|
};
|
|
268
|
-
|
|
269
|
-
// Delay to avoid
|
|
251
|
+
|
|
252
|
+
// Delay to avoid the opening click closing the menu again.
|
|
270
253
|
setTimeout(() => {
|
|
254
|
+
if (!this.documentClickHandler || !this.resizeHandler) return;
|
|
271
255
|
document.addEventListener('click', this.documentClickHandler);
|
|
272
|
-
window.addEventListener('scroll', this.scrollHandler, true);
|
|
273
256
|
window.addEventListener('resize', this.resizeHandler);
|
|
274
257
|
}, 0);
|
|
275
258
|
}
|
|
276
259
|
|
|
277
|
-
private
|
|
260
|
+
private removeDocumentListeners() {
|
|
278
261
|
if (this.documentClickHandler) {
|
|
279
262
|
document.removeEventListener('click', this.documentClickHandler);
|
|
280
|
-
|
|
281
|
-
if (this.scrollHandler) {
|
|
282
|
-
window.removeEventListener('scroll', this.scrollHandler, true);
|
|
263
|
+
this.documentClickHandler = undefined;
|
|
283
264
|
}
|
|
284
265
|
if (this.resizeHandler) {
|
|
285
266
|
window.removeEventListener('resize', this.resizeHandler);
|
|
267
|
+
this.resizeHandler = undefined;
|
|
286
268
|
}
|
|
287
269
|
}
|
|
288
270
|
|
|
289
271
|
public async disconnectedCallback() {
|
|
290
272
|
await super.disconnectedCallback();
|
|
291
|
-
this.
|
|
273
|
+
this.removeDocumentListeners();
|
|
292
274
|
}
|
|
293
275
|
|
|
294
276
|
public close() {
|
|
295
277
|
this.isOpen = false;
|
|
296
|
-
this.
|
|
278
|
+
this.removeDocumentListeners();
|
|
297
279
|
}
|
|
298
|
-
}
|
|
280
|
+
}
|