@tempoxyz/id 0.0.0-pr-511.sha-77f5d6c → 0.0.0-pr-513.sha-eae3598
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/dist/internal/sheet.d.ts +2 -6
- package/dist/internal/sheet.d.ts.map +1 -1
- package/dist/internal/sheet.js +152 -206
- package/dist/internal/sheet.js.map +1 -1
- package/dist/internal/sheet.machine.d.ts +293 -0
- package/dist/internal/sheet.machine.d.ts.map +1 -0
- package/dist/internal/sheet.machine.js +318 -0
- package/dist/internal/sheet.machine.js.map +1 -0
- package/package.json +1 -1
- package/src/internal/sheet.machine.ts +480 -0
- package/src/internal/sheet.ts +161 -265
package/dist/internal/sheet.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as SheetMachine from './sheet.machine.js';
|
|
1
2
|
/**
|
|
2
3
|
* Creates the hidden dialog, and loads the frame of `options.url` in it. `show` posts the request to
|
|
3
4
|
* the frame once its page loads, and the dialog shows once the page shows the request, or once the
|
|
@@ -10,12 +11,7 @@ export declare namespace create {
|
|
|
10
11
|
url: string;
|
|
11
12
|
};
|
|
12
13
|
/** Where the dialog routes the user's actions. */
|
|
13
|
-
type Handlers =
|
|
14
|
-
/** Receives the callback URL that the frame posts. */
|
|
15
|
-
onCallback: (url: string) => void;
|
|
16
|
-
/** Runs when the user closes the dialog. */
|
|
17
|
-
onClose: () => void;
|
|
18
|
-
};
|
|
14
|
+
type Handlers = SheetMachine.Handlers;
|
|
19
15
|
type ReturnType = {
|
|
20
16
|
/** Closes the dialog, after its exit, and removes it with its frame and any popup it opened. */
|
|
21
17
|
close: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../src/internal/sheet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../src/internal/sheet.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAkJlD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CA8MjE;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,OAAO,GAAG;QACb,+EAA+E;QAC/E,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IAED,kDAAkD;IAClD,KAAK,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;IAErC,KAAK,UAAU,GAAG;QAChB,gGAAgG;QAChG,KAAK,EAAE,MAAM,IAAI,CAAA;QACjB;;;WAGG;QACH,SAAS,EAAE,MAAM,OAAO,CAAA;QACxB;;;;WAIG;QACH,IAAI,EAAE,MAAM,OAAO,CAAA;QACnB;;;;WAIG;QACH,QAAQ,EAAE,MAAM,IAAI,CAAA;QACpB;;;WAGG;QACH,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAA;QACrC;;;WAGG;QACH,OAAO,EAAE,MAAM,OAAO,GAAG,SAAS,CAAA;KACnC,CAAA;IAED,UAAU,IAAI,CAAC;QACb,KAAK,OAAO,GAAG,QAAQ,GAAG;YACxB,gFAAgF;YAChF,QAAQ,EAAE,MAAM,CAAA;YAChB,6DAA6D;YAC7D,OAAO,EAAE,MAAM,CAAA;YACf,8FAA8F;YAC9F,OAAO,EAAE,MAAM,CAAA;SAChB,CAAA;KACF;CACF"}
|
package/dist/internal/sheet.js
CHANGED
|
@@ -4,21 +4,20 @@
|
|
|
4
4
|
* hidden, before the sign-in has a request. `show` posts the request to the frame, and the dialog
|
|
5
5
|
* shows once the page shows it. `hide` keeps the frame loaded, and the next `show` posts its request
|
|
6
6
|
* to the same frame. When the frame cannot load, or the sign-in needs a page that the frame cannot
|
|
7
|
-
* show, the dialog offers a popup, which opens from the user's click.
|
|
7
|
+
* show, the dialog offers a popup, which opens from the user's click. An actor of `SheetMachine`
|
|
8
|
+
* holds the lifecycle, and this module provides its DOM work, its messages, and its popup.
|
|
8
9
|
* @module
|
|
9
10
|
*/
|
|
10
11
|
/* istanbul ignore file -- The dialog, its frame, and the popup window exist only in a browser. */
|
|
12
|
+
import { assertEvent, createActor, fromCallback } from 'xstate';
|
|
11
13
|
import * as Popup from './popup.js';
|
|
12
|
-
|
|
13
|
-
const loadDelay = 3_000;
|
|
14
|
+
import * as SheetMachine from './sheet.machine.js';
|
|
14
15
|
/** The stylesheets that {@link adopt} constructed, which a document adopts once. */
|
|
15
16
|
const adopted = new WeakSet();
|
|
16
17
|
/** The attribute that marks the dialog, which the styles select. */
|
|
17
18
|
const attribute = 'data-tempo-id-dialog';
|
|
18
19
|
/** The curve of the dialog's entrance and exit, which eases out like a native sheet. */
|
|
19
20
|
const curve = 'cubic-bezier(0.32, 0.72, 0, 1)';
|
|
20
|
-
/** Milliseconds of the dialog's exit, which `close` waits for before it removes the dialog. */
|
|
21
|
-
const exit = 240;
|
|
22
21
|
/**
|
|
23
22
|
* The dialog's styles: a card of 380 pixels, or a bottom sheet below 480 pixels of width. The frame
|
|
24
23
|
* draws the sign-in, so the dialog only places and sizes it. A closed dialog keeps its size off
|
|
@@ -120,17 +119,17 @@ dialog[${attribute}] [data-panel] button:not([data-primary]) {
|
|
|
120
119
|
animation: tempo-id-fade-in 320ms ${curve};
|
|
121
120
|
}
|
|
122
121
|
dialog[${attribute}][data-closing] {
|
|
123
|
-
animation: tempo-id-card-out ${exit}ms ${curve} forwards;
|
|
122
|
+
animation: tempo-id-card-out ${SheetMachine.exit}ms ${curve} forwards;
|
|
124
123
|
}
|
|
125
124
|
dialog[${attribute}][data-closing]::backdrop {
|
|
126
|
-
animation: tempo-id-fade-out ${exit}ms ${curve} forwards;
|
|
125
|
+
animation: tempo-id-fade-out ${SheetMachine.exit}ms ${curve} forwards;
|
|
127
126
|
}
|
|
128
127
|
@media (max-width: 480px) {
|
|
129
128
|
dialog[${attribute}][open] {
|
|
130
129
|
animation: tempo-id-sheet-in 500ms ${curve};
|
|
131
130
|
}
|
|
132
131
|
dialog[${attribute}][data-closing] {
|
|
133
|
-
animation: tempo-id-sheet-out ${exit}ms ${curve} forwards;
|
|
132
|
+
animation: tempo-id-sheet-out ${SheetMachine.exit}ms ${curve} forwards;
|
|
134
133
|
}
|
|
135
134
|
}
|
|
136
135
|
}
|
|
@@ -175,64 +174,136 @@ export function create(options) {
|
|
|
175
174
|
frame.setAttribute('sandbox', 'allow-forms allow-same-origin allow-scripts');
|
|
176
175
|
frame.setAttribute('title', 'Sign in with Tempo');
|
|
177
176
|
frame.style.height = '376px';
|
|
178
|
-
// The sign-in that the dialog shows, from `show` until `hide` or `close`.
|
|
179
|
-
let current;
|
|
180
|
-
// Whether the dialog offers a popup in place of the frame, which then takes no other request.
|
|
181
|
-
let failed = false;
|
|
182
|
-
let hiding;
|
|
183
|
-
let loaded = false;
|
|
184
|
-
let popup = null;
|
|
185
|
-
let request;
|
|
186
|
-
let settled = false;
|
|
187
|
-
let trusted;
|
|
188
|
-
// Stops taking the popup's callback, and checking whether the user closed it.
|
|
189
|
-
let unwatch;
|
|
190
|
-
const timers = new Set();
|
|
191
|
-
const later = (fn, delay) => {
|
|
192
|
-
timers.add(setTimeout(fn, delay));
|
|
193
|
-
};
|
|
194
177
|
const listener = (event) => {
|
|
195
178
|
// Only this frame's page, at Tempo ID's origin, sends the sign-in's messages.
|
|
196
179
|
if (event.origin !== origin || event.source !== frame.contentWindow)
|
|
197
180
|
return;
|
|
198
181
|
const message = parse(event.data);
|
|
199
|
-
if (
|
|
200
|
-
|
|
201
|
-
if (message.type === 'tempo-id:embed.loaded') {
|
|
202
|
-
loaded = true;
|
|
203
|
-
trusted = message.trusted;
|
|
204
|
-
send();
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
if (message.type === 'tempo-id:embed.resize') {
|
|
208
|
-
frame.style.height = `${message.height}px`;
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
// A message about a request names its ID, so one about an earlier sign-in in the same frame
|
|
212
|
-
// acts on nothing. A popup without an ID concerns the frame, which takes no request.
|
|
213
|
-
if (message.id !== undefined && message.id !== current?.id)
|
|
214
|
-
return;
|
|
215
|
-
if (message.type === 'tempo-id:embed.ready')
|
|
216
|
-
settle();
|
|
217
|
-
else if (message.type === 'tempo-id:embed.callback')
|
|
218
|
-
current?.handlers.onCallback(message.url);
|
|
219
|
-
else if (message.type === 'tempo-id:embed.close')
|
|
220
|
-
current?.handlers.onClose();
|
|
221
|
-
else
|
|
222
|
-
fallback('popup');
|
|
182
|
+
if (message)
|
|
183
|
+
actor.send(message);
|
|
223
184
|
};
|
|
185
|
+
// The offer of a popup, which `offer` fills in place of the frame.
|
|
186
|
+
const panel = document.createElement('div');
|
|
187
|
+
panel.setAttribute('data-panel', '');
|
|
188
|
+
const text = document.createElement('p');
|
|
189
|
+
const primary = document.createElement('button');
|
|
190
|
+
primary.setAttribute('data-primary', '');
|
|
191
|
+
primary.type = 'button';
|
|
192
|
+
primary.textContent = 'Continue';
|
|
193
|
+
const cancel = document.createElement('button');
|
|
194
|
+
cancel.type = 'button';
|
|
195
|
+
cancel.textContent = 'Cancel';
|
|
196
|
+
panel.appendChild(text);
|
|
197
|
+
panel.appendChild(primary);
|
|
198
|
+
panel.appendChild(cancel);
|
|
199
|
+
const actor = createActor(SheetMachine.machine.provide({
|
|
200
|
+
actions: {
|
|
201
|
+
animate: () => {
|
|
202
|
+
// The exit plays before the dialog leaves the top layer, and the frame takes no input in
|
|
203
|
+
// it, since the sign-in already ended.
|
|
204
|
+
dialog.inert = true;
|
|
205
|
+
dialog.setAttribute('data-closing', '');
|
|
206
|
+
},
|
|
207
|
+
blocked: () => {
|
|
208
|
+
text.textContent =
|
|
209
|
+
'The browser blocked the window. Allow pop-ups for this site, and select Continue again.';
|
|
210
|
+
},
|
|
211
|
+
conceal: () => {
|
|
212
|
+
dialog.close();
|
|
213
|
+
dialog.removeAttribute('data-closing');
|
|
214
|
+
dialog.setAttribute('aria-hidden', 'true');
|
|
215
|
+
dialog.inert = true;
|
|
216
|
+
},
|
|
217
|
+
end: ({ context }) => {
|
|
218
|
+
// The frame stays loaded, so it ends the request's sign-in, and an action that waits for
|
|
219
|
+
// the request's check runs nothing.
|
|
220
|
+
if (!context.current)
|
|
221
|
+
return;
|
|
222
|
+
frame.contentWindow?.postMessage({ id: context.current.id, type: 'tempo-id:embed.end' }, origin);
|
|
223
|
+
},
|
|
224
|
+
offer: ({ event }) => {
|
|
225
|
+
assertEvent(event, 'fallback');
|
|
226
|
+
frame.remove();
|
|
227
|
+
text.textContent =
|
|
228
|
+
event.reason === 'popup'
|
|
229
|
+
? 'Continue in a new window to finish signing in.'
|
|
230
|
+
: 'Sign in with Tempo in a new window.';
|
|
231
|
+
dialog.appendChild(panel);
|
|
232
|
+
},
|
|
233
|
+
onCallback: ({ context, event }) => {
|
|
234
|
+
assertEvent(event, ['embed.callback', 'popup.callback']);
|
|
235
|
+
context.current?.handlers.onCallback(event.url);
|
|
236
|
+
},
|
|
237
|
+
onClose: ({ context }) => context.current?.handlers.onClose(),
|
|
238
|
+
opened: () => {
|
|
239
|
+
text.textContent = 'Continue in the new window.';
|
|
240
|
+
primary.remove();
|
|
241
|
+
},
|
|
242
|
+
post: ({ context }) => {
|
|
243
|
+
if (!context.current || context.request === undefined)
|
|
244
|
+
return;
|
|
245
|
+
// Only Tempo ID's page receives the request, since the target is its exact origin.
|
|
246
|
+
frame.contentWindow?.postMessage({
|
|
247
|
+
id: context.current.id,
|
|
248
|
+
request: context.request,
|
|
249
|
+
type: 'tempo-id:embed.request',
|
|
250
|
+
}, origin);
|
|
251
|
+
},
|
|
252
|
+
remove: () => {
|
|
253
|
+
dialog.close();
|
|
254
|
+
dialog.remove();
|
|
255
|
+
},
|
|
256
|
+
resize: ({ event }) => {
|
|
257
|
+
assertEvent(event, 'embed.resize');
|
|
258
|
+
frame.style.height = `${event.height}px`;
|
|
259
|
+
},
|
|
260
|
+
reveal: () => {
|
|
261
|
+
if (dialog.open)
|
|
262
|
+
return;
|
|
263
|
+
dialog.removeAttribute('aria-hidden');
|
|
264
|
+
dialog.inert = false;
|
|
265
|
+
dialog.showModal();
|
|
266
|
+
},
|
|
267
|
+
unlisten: () => window.removeEventListener('message', listener),
|
|
268
|
+
},
|
|
269
|
+
actors: {
|
|
270
|
+
popup: fromCallback((options) => {
|
|
271
|
+
const { input, receive, sendBack } = options;
|
|
272
|
+
// A popup blocker accepts `window.open` only within the click, which sends the event
|
|
273
|
+
// that starts this actor.
|
|
274
|
+
const popup = Popup.openPopup(input.url);
|
|
275
|
+
if (!popup) {
|
|
276
|
+
sendBack({ type: 'popup.blocked' });
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
sendBack({ type: 'popup.opened' });
|
|
280
|
+
// The popup's page posts the callback here, and a user who closes the popup closes the
|
|
281
|
+
// sign-in.
|
|
282
|
+
const unwatch = Popup.watchPopup(popup, {
|
|
283
|
+
onCallback: (url) => sendBack({ type: 'popup.callback', url }),
|
|
284
|
+
onClose: () => sendBack({ type: 'popup.close' }),
|
|
285
|
+
origin,
|
|
286
|
+
});
|
|
287
|
+
receive(() => unwatch());
|
|
288
|
+
return () => {
|
|
289
|
+
unwatch();
|
|
290
|
+
popup.close();
|
|
291
|
+
};
|
|
292
|
+
}),
|
|
293
|
+
},
|
|
294
|
+
})).start();
|
|
224
295
|
window.addEventListener('message', listener);
|
|
225
296
|
dialog.addEventListener('cancel', (event) => {
|
|
226
297
|
event.preventDefault();
|
|
227
|
-
|
|
298
|
+
actor.send({ type: 'dismiss' });
|
|
228
299
|
});
|
|
229
300
|
// A click on the backdrop targets the dialog itself, outside its content.
|
|
230
301
|
dialog.addEventListener('click', (event) => {
|
|
231
302
|
if (event.target === dialog)
|
|
232
|
-
|
|
303
|
+
actor.send({ type: 'dismiss' });
|
|
233
304
|
});
|
|
234
|
-
|
|
235
|
-
|
|
305
|
+
cancel.addEventListener('click', () => actor.send({ type: 'dismiss' }));
|
|
306
|
+
primary.addEventListener('click', () => actor.send({ type: 'popup.open' }));
|
|
236
307
|
frame.addEventListener('load', () => {
|
|
237
308
|
// A `load` of the frame's first document, `about:blank`, does not count. It is the only document
|
|
238
309
|
// that this page can read, since Tempo ID's page and the browser's refusal are on another origin.
|
|
@@ -244,169 +315,40 @@ export function create(options) {
|
|
|
244
315
|
return false;
|
|
245
316
|
}
|
|
246
317
|
})();
|
|
247
|
-
if (blank)
|
|
248
|
-
|
|
249
|
-
later(() => {
|
|
250
|
-
if (!loaded && !failed)
|
|
251
|
-
fallback('unavailable');
|
|
252
|
-
}, loadDelay);
|
|
318
|
+
if (!blank)
|
|
319
|
+
actor.send({ type: 'frame.load' });
|
|
253
320
|
});
|
|
254
|
-
/** Posts the request to the page, once `show` has one and the page loaded. */
|
|
255
|
-
function send() {
|
|
256
|
-
if (!loaded || !current || !request)
|
|
257
|
-
return;
|
|
258
|
-
// Only Tempo ID's page receives the request, since the target is its exact origin.
|
|
259
|
-
frame.contentWindow?.postMessage({ id: current.id, request, type: 'tempo-id:embed.request' }, origin);
|
|
260
|
-
request = undefined;
|
|
261
|
-
}
|
|
262
|
-
/** Marks the request ready or the frame failed, and shows the dialog during a sign-in. */
|
|
263
|
-
function settle() {
|
|
264
|
-
settled = true;
|
|
265
|
-
if (current)
|
|
266
|
-
reveal();
|
|
267
|
-
}
|
|
268
|
-
/** Shows the dialog, and admits it to the accessibility tree and to focus. */
|
|
269
|
-
function reveal() {
|
|
270
|
-
if (dialog.open)
|
|
271
|
-
return;
|
|
272
|
-
dialog.removeAttribute('aria-hidden');
|
|
273
|
-
dialog.inert = false;
|
|
274
|
-
dialog.showModal();
|
|
275
|
-
}
|
|
276
|
-
/** Takes the dialog out of the top layer, the accessibility tree, and focus, with its frame. */
|
|
277
|
-
function conceal() {
|
|
278
|
-
dialog.close();
|
|
279
|
-
dialog.removeAttribute('data-closing');
|
|
280
|
-
dialog.setAttribute('aria-hidden', 'true');
|
|
281
|
-
dialog.inert = true;
|
|
282
|
-
}
|
|
283
|
-
/** Replaces the frame with the offer of a popup, which the user's click opens. */
|
|
284
|
-
function fallback(reason) {
|
|
285
|
-
failed = true;
|
|
286
|
-
frame.remove();
|
|
287
|
-
const panel = document.createElement('div');
|
|
288
|
-
panel.setAttribute('data-panel', '');
|
|
289
|
-
const text = document.createElement('p');
|
|
290
|
-
text.textContent =
|
|
291
|
-
reason === 'popup'
|
|
292
|
-
? 'Continue in a new window to finish signing in.'
|
|
293
|
-
: 'Sign in with Tempo in a new window.';
|
|
294
|
-
const primary = document.createElement('button');
|
|
295
|
-
primary.setAttribute('data-primary', '');
|
|
296
|
-
primary.type = 'button';
|
|
297
|
-
primary.textContent = 'Continue';
|
|
298
|
-
const cancel = document.createElement('button');
|
|
299
|
-
cancel.type = 'button';
|
|
300
|
-
cancel.textContent = 'Cancel';
|
|
301
|
-
cancel.addEventListener('click', () => current?.handlers.onClose());
|
|
302
|
-
primary.addEventListener('click', () => {
|
|
303
|
-
// `show` sets the URL before the dialog shows the offer.
|
|
304
|
-
if (!current)
|
|
305
|
-
return;
|
|
306
|
-
// A popup blocker accepts `window.open` only within the click.
|
|
307
|
-
popup = Popup.openPopup(current.popupUrl);
|
|
308
|
-
if (!popup) {
|
|
309
|
-
text.textContent =
|
|
310
|
-
'The browser blocked the window. Allow pop-ups for this site, and select Continue again.';
|
|
311
|
-
return;
|
|
312
|
-
}
|
|
313
|
-
text.textContent = 'Continue in the new window.';
|
|
314
|
-
primary.remove();
|
|
315
|
-
// The popup's page posts the callback here, and a user who closes the popup closes the sign-in.
|
|
316
|
-
unwatch = Popup.watchPopup(popup, {
|
|
317
|
-
onCallback: (url) => current?.handlers.onCallback(url),
|
|
318
|
-
onClose: () => current?.handlers.onClose(),
|
|
319
|
-
origin,
|
|
320
|
-
});
|
|
321
|
-
});
|
|
322
|
-
panel.appendChild(text);
|
|
323
|
-
panel.appendChild(primary);
|
|
324
|
-
panel.appendChild(cancel);
|
|
325
|
-
dialog.appendChild(panel);
|
|
326
|
-
settle();
|
|
327
|
-
}
|
|
328
321
|
frame.src = url;
|
|
329
322
|
dialog.appendChild(frame);
|
|
330
323
|
document.body.appendChild(dialog);
|
|
324
|
+
/** Returns whether the dialog is open and plays its exit, which reduced motion turns off. */
|
|
325
|
+
const animate = () => dialog.open && motion();
|
|
331
326
|
return {
|
|
332
327
|
close() {
|
|
333
|
-
|
|
334
|
-
clearTimeout(timer);
|
|
335
|
-
clearTimeout(hiding);
|
|
336
|
-
current = undefined;
|
|
337
|
-
window.removeEventListener('message', listener);
|
|
338
|
-
unwatch?.();
|
|
339
|
-
popup?.close();
|
|
340
|
-
const remove = () => {
|
|
341
|
-
dialog.close();
|
|
342
|
-
dialog.remove();
|
|
343
|
-
};
|
|
344
|
-
if (!dialog.open || !motion())
|
|
345
|
-
return remove();
|
|
346
|
-
// The exit plays before the dialog leaves the top layer, and the frame takes no input in it,
|
|
347
|
-
// since the sign-in already ended.
|
|
348
|
-
dialog.inert = true;
|
|
349
|
-
dialog.setAttribute('data-closing', '');
|
|
350
|
-
setTimeout(remove, exit);
|
|
328
|
+
actor.send({ animate: animate(), type: 'close' });
|
|
351
329
|
},
|
|
352
330
|
connected: () => dialog.isConnected,
|
|
353
331
|
hide() {
|
|
354
|
-
if (failed)
|
|
332
|
+
if (SheetMachine.failed(actor.getSnapshot()))
|
|
355
333
|
return false;
|
|
356
|
-
|
|
357
|
-
clearTimeout(timer);
|
|
358
|
-
timers.clear();
|
|
359
|
-
// The frame stays loaded, so it ends the request's sign-in, and an action that waits for the
|
|
360
|
-
// request's check runs nothing.
|
|
361
|
-
if (loaded && current)
|
|
362
|
-
frame.contentWindow?.postMessage({ id: current.id, type: 'tempo-id:embed.end' }, origin);
|
|
363
|
-
current = undefined;
|
|
364
|
-
request = undefined;
|
|
365
|
-
settled = false;
|
|
366
|
-
if (!dialog.open || !motion()) {
|
|
367
|
-
conceal();
|
|
368
|
-
return true;
|
|
369
|
-
}
|
|
370
|
-
// The exit plays before the dialog leaves the top layer, and the frame takes no input in it,
|
|
371
|
-
// since the sign-in already ended.
|
|
372
|
-
dialog.inert = true;
|
|
373
|
-
dialog.setAttribute('data-closing', '');
|
|
374
|
-
hiding = setTimeout(() => {
|
|
375
|
-
hiding = undefined;
|
|
376
|
-
conceal();
|
|
377
|
-
}, exit);
|
|
334
|
+
actor.send({ animate: animate(), type: 'hide' });
|
|
378
335
|
return true;
|
|
379
336
|
},
|
|
380
337
|
received() {
|
|
381
|
-
|
|
382
|
-
unwatch = undefined;
|
|
338
|
+
actor.send({ type: 'received' });
|
|
383
339
|
},
|
|
384
340
|
show(value) {
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
hiding = undefined;
|
|
390
|
-
conceal();
|
|
391
|
-
}
|
|
392
|
-
const id = crypto.randomUUID();
|
|
393
|
-
current = {
|
|
394
|
-
handlers: { onCallback: value.onCallback, onClose: value.onClose },
|
|
395
|
-
id,
|
|
341
|
+
actor.send({
|
|
342
|
+
id: crypto.randomUUID(),
|
|
343
|
+
onCallback: value.onCallback,
|
|
344
|
+
onClose: value.onClose,
|
|
396
345
|
popupUrl: value.popupUrl,
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
send();
|
|
402
|
-
later(() => {
|
|
403
|
-
if (!settled && current?.id === id)
|
|
404
|
-
fallback('unavailable');
|
|
405
|
-
}, value.timeout);
|
|
406
|
-
if (settled)
|
|
407
|
-
reveal();
|
|
346
|
+
request: value.request,
|
|
347
|
+
timeout: value.timeout,
|
|
348
|
+
type: 'show',
|
|
349
|
+
});
|
|
408
350
|
},
|
|
409
|
-
trusted: () => trusted,
|
|
351
|
+
trusted: () => SheetMachine.trusted(actor.getSnapshot()),
|
|
410
352
|
};
|
|
411
353
|
}
|
|
412
354
|
/**
|
|
@@ -432,27 +374,31 @@ function adopt() {
|
|
|
432
374
|
style.textContent = css;
|
|
433
375
|
document.head.appendChild(style);
|
|
434
376
|
}
|
|
435
|
-
/**
|
|
377
|
+
/**
|
|
378
|
+
* Returns `data` as a message from the page, with the `tempo-id:` prefix removed from its type, or
|
|
379
|
+
* `undefined` for any other value.
|
|
380
|
+
*/
|
|
436
381
|
function parse(data) {
|
|
437
382
|
if (typeof data !== 'object' || data === null || !('type' in data))
|
|
438
383
|
return undefined;
|
|
439
384
|
const value = data;
|
|
440
385
|
const id = typeof value.id === 'string' ? value.id : undefined;
|
|
441
386
|
if (value.type === 'tempo-id:embed.loaded')
|
|
442
|
-
return { trusted: value.trusted === true, type:
|
|
387
|
+
return { trusted: value.trusted === true, type: 'embed.loaded' };
|
|
443
388
|
if (value.type === 'tempo-id:embed.resize' &&
|
|
444
389
|
typeof value.height === 'number')
|
|
445
|
-
return { height: value.height, type:
|
|
390
|
+
return { height: value.height, type: 'embed.resize' };
|
|
446
391
|
if (value.type === 'tempo-id:embed.popup')
|
|
447
|
-
return { id, type:
|
|
392
|
+
return { id, type: 'embed.popup' };
|
|
448
393
|
// Every other message concerns a request, so it names one.
|
|
449
394
|
if (id === undefined)
|
|
450
395
|
return undefined;
|
|
451
|
-
if (value.type === 'tempo-id:embed.close'
|
|
452
|
-
|
|
453
|
-
|
|
396
|
+
if (value.type === 'tempo-id:embed.close')
|
|
397
|
+
return { id, type: 'embed.close' };
|
|
398
|
+
if (value.type === 'tempo-id:embed.ready')
|
|
399
|
+
return { id, type: 'embed.ready' };
|
|
454
400
|
if (value.type === 'tempo-id:embed.callback' && typeof value.url === 'string')
|
|
455
|
-
return { id, type:
|
|
401
|
+
return { id, type: 'embed.callback', url: value.url };
|
|
456
402
|
return undefined;
|
|
457
403
|
}
|
|
458
404
|
/** Returns whether the dialog plays its entrance and exit, which reduced motion turns off. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../src/internal/sheet.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,kGAAkG;AAClG,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AA2CnC,sFAAsF;AACtF,MAAM,SAAS,GAAG,KAAK,CAAA;AAEvB,oFAAoF;AACpF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAiB,CAAA;AAE5C,oEAAoE;AACpE,MAAM,SAAS,GAAG,sBAAsB,CAAA;AAExC,wFAAwF;AACxF,MAAM,KAAK,GAAG,gCAAgC,CAAA;AAE9C,+FAA+F;AAC/F,MAAM,IAAI,GAAG,GAAG,CAAA;AAEhB;;;;;;;GAOG;AACH,MAAM,GAAG,GAAG;SACH,SAAS;;;;;;;;;;;;;;;SAeT,SAAS;;;;;;;SAOT,SAAS;;;SAGT,SAAS;;;;;;;SAOT,SAAS;;;;;;;;SAQT,SAAS;;;SAGT,SAAS;;;;;;;;SAQT,SAAS;;;;SAIT,SAAS;;;;;WAKP,SAAS;;;;;;;;;;WAUT,SAAS;;;;WAIT,SAAS;;;;;aAKP,SAAS;;;;;;WAMX,SAAS;wCACoB,KAAK;;WAElC,SAAS;wCACoB,KAAK;;WAElC,SAAS;mCACe,IAAI,MAAM,KAAK;;WAEvC,SAAS;mCACe,IAAI,MAAM,KAAK;;;aAGrC,SAAS;2CACqB,KAAK;;aAEnC,SAAS;sCACgB,IAAI,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;CAsBpD,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,OAAuB;IAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;IACvB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IAElC,KAAK,EAAE,CAAA;IAEP,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAClC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAA;IACvD,iGAAiG;IACjG,SAAS;IACT,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;IAEnB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC9C,+FAA+F;IAC/F,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,6BAA6B,MAAM,EAAE,CAAC,CAAA;IAClE,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,6CAA6C,CAAC,CAAA;IAC5E,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;IACjD,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAA;IAE5B,0EAA0E;IAC1E,IAAI,OASS,CAAA;IACb,8FAA8F;IAC9F,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,MAAiD,CAAA;IACrD,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,KAAK,GAAkB,IAAI,CAAA;IAC/B,IAAI,OAA2B,CAAA;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,OAA4B,CAAA;IAChC,8EAA8E;IAC9E,IAAI,OAAiC,CAAA;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiC,CAAA;IACvD,MAAM,KAAK,GAAG,CAAC,EAAc,EAAE,KAAa,EAAE,EAAE;QAC9C,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,CAAC,KAAmB,EAAE,EAAE;QACvC,8EAA8E;QAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa;YAAE,OAAM;QAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,OAAO,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC7C,MAAM,GAAG,IAAI,CAAA;YACb,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;YACzB,IAAI,EAAE,CAAA;YACN,OAAM;QACR,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC7C,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,CAAA;YAC1C,OAAM;QACR,CAAC;QAED,4FAA4F;QAC5F,qFAAqF;QACrF,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE;YAAE,OAAM;QAClE,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB;YAAE,MAAM,EAAE,CAAA;aAChD,IAAI,OAAO,CAAC,IAAI,KAAK,yBAAyB;YACjD,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;aACtC,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB;YAC9C,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;;YACxB,QAAQ,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC,CAAA;IACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAE5C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;IAC7B,CAAC,CAAC,CAAA;IACF,0EAA0E;IAC1E,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,8FAA8F;IAC9F,2EAA2E;IAC3E,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;QAClC,iGAAiG;QACjG,kGAAkG;QAClG,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC;gBACH,OAAO,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAA;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QACJ,IAAI,KAAK;YAAE,OAAM;QACjB,KAAK,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;gBAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;QACjD,CAAC,EAAE,SAAS,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,SAAS,IAAI;QACX,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;YAAE,OAAM;QAC3C,mFAAmF;QACnF,KAAK,CAAC,aAAa,EAAE,WAAW,CAC9B,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAC3D,MAAM,CACP,CAAA;QACD,OAAO,GAAG,SAAS,CAAA;IACrB,CAAC;IAED,0FAA0F;IAC1F,SAAS,MAAM;QACb,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,OAAO;YAAE,MAAM,EAAE,CAAA;IACvB,CAAC;IAED,8EAA8E;IAC9E,SAAS,MAAM;QACb,IAAI,MAAM,CAAC,IAAI;YAAE,OAAM;QACvB,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;QACrC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;QACpB,MAAM,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAED,gGAAgG;IAChG,SAAS,OAAO;QACd,MAAM,CAAC,KAAK,EAAE,CAAA;QACd,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;QACtC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QAC1C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,kFAAkF;IAClF,SAAS,QAAQ,CAAC,MAA+B;QAC/C,MAAM,GAAG,IAAI,CAAA;QACb,KAAK,CAAC,MAAM,EAAE,CAAA;QACd,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC3C,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,CAAC,WAAW;YACd,MAAM,KAAK,OAAO;gBAChB,CAAC,CAAC,gDAAgD;gBAClD,CAAC,CAAC,qCAAqC,CAAA;QAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAChD,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QACxC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAA;QACvB,OAAO,CAAC,WAAW,GAAG,UAAU,CAAA;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC/C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;QACtB,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;QAC7B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QACnE,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACrC,yDAAyD;YACzD,IAAI,CAAC,OAAO;gBAAE,OAAM;YACpB,+DAA+D;YAC/D,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACzC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,WAAW;oBACd,yFAAyF,CAAA;gBAC3F,OAAM;YACR,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,6BAA6B,CAAA;YAChD,OAAO,CAAC,MAAM,EAAE,CAAA;YAChB,gGAAgG;YAChG,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;gBAChC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;gBACtD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;gBAC1C,MAAM;aACP,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACvB,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC1B,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACzB,MAAM,EAAE,CAAA;IACV,CAAC;IAED,KAAK,CAAC,GAAG,GAAG,GAAG,CAAA;IACf,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAEjC,OAAO;QACL,KAAK;YACH,KAAK,MAAM,KAAK,IAAI,MAAM;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAC/C,YAAY,CAAC,MAAM,CAAC,CAAA;YACpB,OAAO,GAAG,SAAS,CAAA;YACnB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YAC/C,OAAO,EAAE,EAAE,CAAA;YACX,KAAK,EAAE,KAAK,EAAE,CAAA;YACd,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,MAAM,CAAC,KAAK,EAAE,CAAA;gBACd,MAAM,CAAC,MAAM,EAAE,CAAA;YACjB,CAAC,CAAA;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO,MAAM,EAAE,CAAA;YAC9C,6FAA6F;YAC7F,mCAAmC;YACnC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;YACnB,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;YACvC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC1B,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW;QACnC,IAAI;YACF,IAAI,MAAM;gBAAE,OAAO,KAAK,CAAA;YACxB,KAAK,MAAM,KAAK,IAAI,MAAM;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,6FAA6F;YAC7F,gCAAgC;YAChC,IAAI,MAAM,IAAI,OAAO;gBACnB,KAAK,CAAC,aAAa,EAAE,WAAW,CAC9B,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAC9C,MAAM,CACP,CAAA;YACH,OAAO,GAAG,SAAS,CAAA;YACnB,OAAO,GAAG,SAAS,CAAA;YACnB,OAAO,GAAG,KAAK,CAAA;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9B,OAAO,EAAE,CAAA;gBACT,OAAO,IAAI,CAAA;YACb,CAAC;YACD,6FAA6F;YAC7F,mCAAmC;YACnC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;YACnB,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;YACvC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBACvB,MAAM,GAAG,SAAS,CAAA;gBAClB,OAAO,EAAE,CAAA;YACX,CAAC,EAAE,IAAI,CAAC,CAAA;YACR,OAAO,IAAI,CAAA;QACb,CAAC;QACD,QAAQ;YACN,OAAO,EAAE,EAAE,CAAA;YACX,OAAO,GAAG,SAAS,CAAA;QACrB,CAAC;QACD,IAAI,CAAC,KAAK;YACR,+FAA+F;YAC/F,yBAAyB;YACzB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,YAAY,CAAC,MAAM,CAAC,CAAA;gBACpB,MAAM,GAAG,SAAS,CAAA;gBAClB,OAAO,EAAE,CAAA;YACX,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;YAC9B,OAAO,GAAG;gBACR,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;gBAClE,EAAE;gBACF,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAA;YACD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;YACvB,8FAA8F;YAC9F,OAAO,GAAG,MAAM,CAAA;YAChB,IAAI,EAAE,CAAA;YACN,KAAK,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE;oBAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;YAC7D,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YACjB,IAAI,OAAO;gBAAE,MAAM,EAAE,CAAA;QACvB,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;KACvB,CAAA;AACH,CAAC;AA4DD;;;;GAIG;AACH,SAAS,KAAK;IACZ,IACE,oBAAoB,IAAI,QAAQ;QAChC,aAAa,IAAI,aAAa,CAAC,SAAS,EACxC,CAAC;QACD,IAAI,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,OAAM;QAC3E,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAA;QACjC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClB,QAAQ,CAAC,kBAAkB,GAAG,CAAC,GAAG,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;QACrE,OAAM;IACR,CAAC;IAED,IAAI,QAAQ,CAAC,aAAa,CAAC,SAAS,SAAS,GAAG,CAAC;QAAE,OAAM;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC7C,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IACjC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAA;IACvB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC;AAED,qFAAqF;AACrF,SAAS,KAAK,CAAC,IAAa;IAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;QAChE,OAAO,SAAS,CAAA;IAClB,MAAM,KAAK,GAAG,IAA+B,CAAA;IAC7C,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB;QACxC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;IAC9D,IACE,KAAK,CAAC,IAAI,KAAK,uBAAuB;QACtC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAEhC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;IACnD,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;IAC1E,2DAA2D;IAC3D,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACtC,IACE,KAAK,CAAC,IAAI,KAAK,sBAAsB;QACrC,KAAK,CAAC,IAAI,KAAK,sBAAsB;QAErC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;IACjC,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC3E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IACjD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,8FAA8F;AAC9F,SAAS,MAAM;IACb,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAA;AACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../src/internal/sheet.ts"],"names":[],"mappings":"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"}
|