foldkit 0.99.0 → 0.100.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -35
- package/dist/devTools/overlay.d.ts.map +1 -1
- package/dist/devTools/overlay.js +6 -1
- package/dist/devTools/protocol.d.ts +94 -2
- package/dist/devTools/protocol.d.ts.map +1 -1
- package/dist/devTools/protocol.js +32 -0
- package/dist/devTools/public.d.ts +1 -1
- package/dist/devTools/public.d.ts.map +1 -1
- package/dist/devTools/public.js +1 -1
- package/dist/devTools/schemaSummarize.d.ts +82 -0
- package/dist/devTools/schemaSummarize.d.ts.map +1 -0
- package/dist/devTools/schemaSummarize.js +264 -0
- package/dist/devTools/store.d.ts.map +1 -1
- package/dist/devTools/store.js +50 -49
- package/dist/devTools/webSocketBridge.d.ts +9 -0
- package/dist/devTools/webSocketBridge.d.ts.map +1 -1
- package/dist/devTools/webSocketBridge.js +64 -3
- package/dist/runtime/browserListeners.d.ts +1 -0
- package/dist/runtime/browserListeners.d.ts.map +1 -1
- package/dist/runtime/browserListeners.js +17 -5
- package/dist/test/apps/bubbling.d.ts.map +1 -1
- package/dist/test/apps/bubbling.js +7 -5
- package/dist/test/apps/counter.d.ts.map +1 -1
- package/dist/test/apps/counter.js +8 -6
- package/dist/test/apps/disabledButton.d.ts.map +1 -1
- package/dist/test/apps/disabledButton.js +32 -21
- package/dist/test/apps/fileUpload.d.ts.map +1 -1
- package/dist/test/apps/fileUpload.js +18 -16
- package/dist/test/apps/interactions.d.ts.map +1 -1
- package/dist/test/apps/interactions.js +21 -19
- package/dist/test/apps/keypress.d.ts.map +1 -1
- package/dist/test/apps/keypress.js +12 -10
- package/dist/test/apps/login.d.ts.map +1 -1
- package/dist/test/apps/login.js +38 -36
- package/dist/test/apps/logoutButton.d.ts.map +1 -1
- package/dist/test/apps/logoutButton.js +4 -2
- package/dist/test/apps/mountPanel.d.ts.map +1 -1
- package/dist/test/apps/mountPanel.js +29 -21
- package/dist/test/apps/multiRole.d.ts.map +1 -1
- package/dist/test/apps/multiRole.js +6 -4
- package/dist/test/apps/pointer.d.ts.map +1 -1
- package/dist/test/apps/pointer.js +15 -13
- package/dist/test/apps/resumeUpload.d.ts.map +1 -1
- package/dist/test/apps/resumeUpload.js +20 -15
- package/package.json +1 -1
|
@@ -63,9 +63,11 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
63
63
|
FailedFetchCount: () => [model, []],
|
|
64
64
|
}));
|
|
65
65
|
// VIEW
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
h.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
])
|
|
66
|
+
export const view = (model) => {
|
|
67
|
+
const h = html();
|
|
68
|
+
return h.div([], [
|
|
69
|
+
h.span([h.Role('status')], [`count: ${model.count}`]),
|
|
70
|
+
h.button([h.OnClick(StartedThreeFetches()), h.Role('button')], ['Start three fetches']),
|
|
71
|
+
h.button([h.OnClick(StartedTwoFetchesById()), h.Role('button')], ['Start two fetches by id']),
|
|
72
|
+
]);
|
|
73
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disabledButton.d.ts","sourceRoot":"","sources":["../../../src/test/apps/disabledButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAMrD,eAAO,MAAM,KAAK;;;;;;;;;;;;;EAGhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,gBAAgB;;;;EAE3B,CAAA;AAEF,eAAO,MAAM,OAAO;;;;IAA4D,CAAA;AAChF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY,EAAE,KAG1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAyBxD,CAAA;
|
|
1
|
+
{"version":3,"file":"disabledButton.d.ts","sourceRoot":"","sources":["../../../src/test/apps/disabledButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAMrD,eAAO,MAAM,KAAK;;;;;;;;;;;;;EAGhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,gBAAgB;;;;EAE3B,CAAA;AAEF,eAAO,MAAM,OAAO;;;;IAA4D,CAAA;AAChF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY,EAAE,KAG1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAyBxD,CAAA;AAgBH,sCAAsC;AACtC,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IAUnC,CAAA;AAED,8DAA8D;AAC9D,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,KAAG,IAe7C,CAAA;AAKD,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,KAAG,IAejD,CAAA"}
|
|
@@ -33,28 +33,39 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
33
33
|
},
|
|
34
34
|
}));
|
|
35
35
|
// VIEW
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
h.
|
|
39
|
-
|
|
40
|
-
]
|
|
36
|
+
const submitButton = (isEnabled) => {
|
|
37
|
+
const h = html();
|
|
38
|
+
return h.button([
|
|
39
|
+
h.Class('submit'),
|
|
40
|
+
...(isEnabled ? [h.OnClick(ClickedSubmit())] : [h.Disabled(true)]),
|
|
41
|
+
], ['Submit']);
|
|
42
|
+
};
|
|
41
43
|
/** Plain view — no dialog wrapper. */
|
|
42
|
-
export const view = (model) =>
|
|
43
|
-
h
|
|
44
|
-
|
|
45
|
-
])
|
|
44
|
+
export const view = (model) => {
|
|
45
|
+
const h = html();
|
|
46
|
+
return h.div([], [
|
|
47
|
+
h.button([h.OnClick(ClickedToggle())], ['Toggle']),
|
|
48
|
+
submitButton(model.isEnabled),
|
|
49
|
+
]);
|
|
50
|
+
};
|
|
46
51
|
/** View with submit button inside a dialog's panelContent. */
|
|
47
|
-
export const viewWithDialog = (model) =>
|
|
48
|
-
h
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
export const viewWithDialog = (model) => {
|
|
53
|
+
const h = html();
|
|
54
|
+
return h.div([], [
|
|
55
|
+
h.button([h.OnClick(ClickedToggle())], ['Toggle']),
|
|
56
|
+
Dialog.view({
|
|
57
|
+
model: model.dialog,
|
|
58
|
+
toParentMessage: (dialogMessage) => GotDialogMessage({ message: dialogMessage }),
|
|
59
|
+
panelContent: submitButton(model.isEnabled),
|
|
60
|
+
}),
|
|
61
|
+
]);
|
|
62
|
+
};
|
|
55
63
|
/** View using Dialog.lazy with panelContent passed dynamically. */
|
|
56
64
|
const lazyDialogView = Dialog.lazy({});
|
|
57
|
-
export const viewWithLazyDialog = (model) =>
|
|
58
|
-
h
|
|
59
|
-
|
|
60
|
-
])
|
|
65
|
+
export const viewWithLazyDialog = (model) => {
|
|
66
|
+
const h = html();
|
|
67
|
+
return h.div([], [
|
|
68
|
+
h.button([h.OnClick(ClickedToggle())], ['Toggle']),
|
|
69
|
+
lazyDialogView(model.dialog, (dialogMessage) => GotDialogMessage({ message: dialogMessage }), submitButton(model.isEnabled)),
|
|
70
|
+
]);
|
|
71
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileUpload.d.ts","sourceRoot":"","sources":["../../../src/test/apps/fileUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAKrD,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;CACnC,CAAC,CAAA;AAEF,eAAO,MAAM,YAAY,EAAE,KAA6B,CAAA;AAIxD,eAAO,MAAM,aAAa;;EAA+C,CAAA;AAEzE,eAAO,MAAM,OAAO;;IAA2B,CAAA;AAC/C,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAMrC,CAAA;
|
|
1
|
+
{"version":3,"file":"fileUpload.d.ts","sourceRoot":"","sources":["../../../src/test/apps/fileUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAKrD,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;CACnC,CAAC,CAAA;AAEF,eAAO,MAAM,YAAY,EAAE,KAA6B,CAAA;AAIxD,eAAO,MAAM,aAAa;;EAA+C,CAAA;AAEzE,eAAO,MAAM,OAAO;;IAA2B,CAAA;AAC/C,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAMrC,CAAA;AAIH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IA8BnC,CAAA"}
|
|
@@ -11,19 +11,21 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
11
11
|
ReceivedFiles: ({ files }) => [{ ...model, receivedFiles: files }, []],
|
|
12
12
|
}));
|
|
13
13
|
// VIEW
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
h.
|
|
17
|
-
h.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
h.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
])
|
|
14
|
+
export const view = (model) => {
|
|
15
|
+
const h = html();
|
|
16
|
+
return h.div([], [
|
|
17
|
+
h.input([
|
|
18
|
+
h.Key('file-input'),
|
|
19
|
+
h.AriaLabel('resume'),
|
|
20
|
+
h.Type('file'),
|
|
21
|
+
h.OnFileChange(files => ReceivedFiles({ files })),
|
|
22
|
+
]),
|
|
23
|
+
h.div([
|
|
24
|
+
h.Key('drop-zone'),
|
|
25
|
+
h.AriaLabel('attachments'),
|
|
26
|
+
h.OnDropFiles(files => ReceivedFiles({ files })),
|
|
27
|
+
], ['Drop files here']),
|
|
28
|
+
h.div([h.Key('received-count')], [`count=${String(model.receivedFiles.length)}`]),
|
|
29
|
+
h.div([h.Key('received-names')], [`names=${model.receivedFiles.map(file => file.name).join(',')}`]),
|
|
30
|
+
]);
|
|
31
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../../../src/test/apps/interactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAKrD,eAAO,MAAM,KAAK;;;;;;EAMhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAC3D,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,YAAY,0EAAoB,CAAA;AAC7C,eAAO,MAAM,YAAY,0EAAoB,CAAA;AAC7C,eAAO,MAAM,aAAa;;EAA0C,CAAA;AAEpE,eAAO,MAAM,OAAO;;IAOlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAcrC,CAAA;
|
|
1
|
+
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../../../src/test/apps/interactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAKrD,eAAO,MAAM,KAAK;;;;;;EAMhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAC3D,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,YAAY,0EAAoB,CAAA;AAC7C,eAAO,MAAM,YAAY,0EAAoB,CAAA;AAC7C,eAAO,MAAM,aAAa;;EAA0C,CAAA;AAEpE,eAAO,MAAM,OAAO;;IAOlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAcrC,CAAA;AAIH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IA8BnC,CAAA"}
|
|
@@ -45,22 +45,24 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
45
45
|
ChangedSelect: ({ value }) => [{ ...model, changed: value }, []],
|
|
46
46
|
}));
|
|
47
47
|
// VIEW
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
h.
|
|
51
|
-
h.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
h.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
h.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
])
|
|
48
|
+
export const view = (model) => {
|
|
49
|
+
const h = html();
|
|
50
|
+
return h.div([], [
|
|
51
|
+
h.button([
|
|
52
|
+
h.OnClick(ClickedButton()),
|
|
53
|
+
h.OnDoubleClick(DoubleClickedButton()),
|
|
54
|
+
h.OnMouseEnter(HoveredTarget()),
|
|
55
|
+
h.AriaLabel('action'),
|
|
56
|
+
], [`clicks=${model.clicks} dbl=${model.doubleClicks}`]),
|
|
57
|
+
h.input([
|
|
58
|
+
h.Role('textbox'),
|
|
59
|
+
h.AriaLabel('name'),
|
|
60
|
+
h.OnFocus(FocusedInput()),
|
|
61
|
+
h.OnBlur(BlurredInput()),
|
|
62
|
+
]),
|
|
63
|
+
h.select([h.AriaLabel('fruit'), h.OnChange(value => ChangedSelect({ value }))], [
|
|
64
|
+
h.option([h.Value('apple')], ['Apple']),
|
|
65
|
+
h.option([h.Value('banana')], ['Banana']),
|
|
66
|
+
]),
|
|
67
|
+
]);
|
|
68
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keypress.d.ts","sourceRoot":"","sources":["../../../src/test/apps/keypress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAM/C,eAAO,MAAM,KAAK;;;EAGhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,UAAU;;EAAqC,CAAA;AAC5D,eAAO,MAAM,eAAe;;EAA0C,CAAA;AAEtE,eAAO,MAAM,OAAO;;;;IAAyC,CAAA;AAC7D,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY,EAAE,KAG1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAarC,CAAA;
|
|
1
|
+
{"version":3,"file":"keypress.d.ts","sourceRoot":"","sources":["../../../src/test/apps/keypress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAM/C,eAAO,MAAM,KAAK;;;EAGhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,UAAU;;EAAqC,CAAA;AAC5D,eAAO,MAAM,eAAe;;EAA0C,CAAA;AAEtE,eAAO,MAAM,OAAO;;;;IAAyC,CAAA;AAC7D,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY,EAAE,KAG1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAarC,CAAA;AAIH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IAoBnC,CAAA"}
|
|
@@ -27,13 +27,15 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
27
27
|
],
|
|
28
28
|
}));
|
|
29
29
|
// VIEW
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
h.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
])
|
|
30
|
+
export const view = (model) => {
|
|
31
|
+
const h = html();
|
|
32
|
+
return h.div([
|
|
33
|
+
h.Id('key-app'),
|
|
34
|
+
h.Role('application'),
|
|
35
|
+
h.AriaLabel('Key press area'),
|
|
36
|
+
h.OnKeyDown((key, modifiers) => modifiers.shiftKey ? PressedShiftKey({ key }) : PressedKey({ key })),
|
|
37
|
+
], [
|
|
38
|
+
h.span([h.Class('last-key'), h.AriaLabel('Last key')], [model.lastKey]),
|
|
39
|
+
h.span([h.Class('shifted'), h.AriaLabel('Shift pressed')], [model.isShifted ? 'true' : 'false']),
|
|
40
|
+
]);
|
|
41
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/test/apps/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAKrD,eAAO,MAAM,KAAK;;;;;;EAMhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,YAAY;;EAAyC,CAAA;AAClE,eAAO,MAAM,eAAe;;EAA4C,CAAA;AACxE,eAAO,MAAM,cAAc,4EAAsB,CAAA;AACjD,eAAO,MAAM,qBAAqB;;EAEhC,CAAA;AACF,eAAO,MAAM,kBAAkB;;EAA+C,CAAA;AAC9E,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAE/C,eAAO,MAAM,OAAO;;;;;;;;+EAOlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY;;;iBAIyC,CAAA;AAIlE,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAyBxD,CAAA;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/test/apps/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAKrD,eAAO,MAAM,KAAK;;;;;;EAMhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,YAAY;;EAAyC,CAAA;AAClE,eAAO,MAAM,eAAe;;EAA4C,CAAA;AACxE,eAAO,MAAM,cAAc,4EAAsB,CAAA;AACjD,eAAO,MAAM,qBAAqB;;EAEhC,CAAA;AACF,eAAO,MAAM,kBAAkB;;EAA+C,CAAA;AAC9E,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAE/C,eAAO,MAAM,OAAO;;;;;;;;+EAOlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY;;;iBAIyC,CAAA;AAIlE,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAyBxD,CAAA;AAIH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IAgFnC,CAAA"}
|
package/dist/test/apps/login.js
CHANGED
|
@@ -59,39 +59,41 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
59
59
|
],
|
|
60
60
|
}));
|
|
61
61
|
// VIEW
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
h.Class('
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
h.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
h.
|
|
80
|
-
|
|
81
|
-
h.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
h.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
])
|
|
62
|
+
export const view = (model) => {
|
|
63
|
+
const h = html();
|
|
64
|
+
return h.div([h.Id('app')], [
|
|
65
|
+
M.value(model.status).pipe(M.withReturnType(), M.when('Submitting', () => h.form([h.Class('login-form'), h.Disabled(true)], [h.button([h.Type('submit'), h.Disabled(true)], ['Signing in...'])])), M.when('LoggedIn', () => h.div([
|
|
66
|
+
h.Class('logged-in'),
|
|
67
|
+
h.Role('region'),
|
|
68
|
+
h.AriaLabel('User session'),
|
|
69
|
+
], [
|
|
70
|
+
h.span([h.Class('greeting'), h.Role('status')], [`Welcome, ${model.username}!`]),
|
|
71
|
+
h.button([
|
|
72
|
+
h.OnClick(ClickedLogout()),
|
|
73
|
+
h.Role('button'),
|
|
74
|
+
h.AriaExpanded(false),
|
|
75
|
+
], ['Log out']),
|
|
76
|
+
])), M.when('Error', () => h.div([], [
|
|
77
|
+
h.p([h.Class('error'), h.Role('alert')], [model.error]),
|
|
78
|
+
h.button([h.OnClick(SubmittedLogin()), h.Class('retry')], ['Retry']),
|
|
79
|
+
])), M.when('Idle', () => h.form([h.OnSubmit(SubmittedLogin()), h.Class('login-form')], [
|
|
80
|
+
h.label([h.For('email'), h.Class('sr-only')], ['Email']),
|
|
81
|
+
h.input([
|
|
82
|
+
h.Id('email'),
|
|
83
|
+
h.Type('email'),
|
|
84
|
+
h.Placeholder('Email'),
|
|
85
|
+
h.Value(model.email),
|
|
86
|
+
h.OnInput(value => UpdatedEmail({ value })),
|
|
87
|
+
]),
|
|
88
|
+
h.label([h.For('password'), h.Class('sr-only')], ['Password']),
|
|
89
|
+
h.input([
|
|
90
|
+
h.Id('password'),
|
|
91
|
+
h.Type('password'),
|
|
92
|
+
h.Placeholder('Password'),
|
|
93
|
+
h.Value(model.password),
|
|
94
|
+
h.OnInput(value => UpdatedPassword({ value })),
|
|
95
|
+
]),
|
|
96
|
+
h.button([h.Type('submit'), h.Class('primary'), h.Disabled(false)], ['Sign in']),
|
|
97
|
+
])), M.exhaustive),
|
|
98
|
+
]);
|
|
99
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logoutButton.d.ts","sourceRoot":"","sources":["../../../src/test/apps/logoutButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAM/C,eAAO,MAAM,KAAK;;EAAgC,CAAA;AAClD,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,eAAe,6EAAuB,CAAA;AAEnD,eAAO,MAAM,OAAO,4KAA4C,CAAA;AAChE,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,eAAe,6EAAuB,CAAA;AAEnD,eAAO,MAAM,UAAU,iGAA6B,CAAA;AACpD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C,eAAO,MAAM,YAAY,EAAE,KAA4B,CAAA;AAIvD,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAShE,CAAA;
|
|
1
|
+
{"version":3,"file":"logoutButton.d.ts","sourceRoot":"","sources":["../../../src/test/apps/logoutButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAM/C,eAAO,MAAM,KAAK;;EAAgC,CAAA;AAClD,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,eAAe,6EAAuB,CAAA;AAEnD,eAAO,MAAM,OAAO,4KAA4C,CAAA;AAChE,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,eAAe,6EAAuB,CAAA;AAEnD,eAAO,MAAM,UAAU,iGAA6B,CAAA;AACpD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C,eAAO,MAAM,YAAY,EAAE,KAA4B,CAAA;AAIvD,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAShE,CAAA;AAIH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IAOnC,CAAA"}
|
|
@@ -18,5 +18,7 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
18
18
|
CompletedAction: () => [model, [], Option.none()],
|
|
19
19
|
}));
|
|
20
20
|
// VIEW
|
|
21
|
-
const
|
|
22
|
-
|
|
21
|
+
export const view = (model) => {
|
|
22
|
+
const h = html();
|
|
23
|
+
return h.div([], [h.button([h.OnClick(ClickedLogout()), h.Role('button')], [model.label])]);
|
|
24
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mountPanel.d.ts","sourceRoot":"","sources":["../../../src/test/apps/mountPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAGhE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAI7C,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,aAAa;;EAA0C,CAAA;AACpE,eAAO,MAAM,oBAAoB,kFAA4B,CAAA;AAC7D,eAAO,MAAM,kBAAkB;;EAAgD,CAAA;AAC/E,eAAO,MAAM,gBAAgB,8EAAwB,CAAA;AACrD,eAAO,MAAM,UAAU;;EAAwC,CAAA;AAE/D,eAAO,MAAM,OAAO;;;;;;IAOlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAWzC,eAAO,MAAM,YAAY;;;;;;EAI6B,CAAA;AAEtD,eAAO,MAAM,WAAW;;EAGuB,CAAA;AAE/C,eAAO,MAAM,UAAU;;;;;EAatB,CAAA;AAID,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAcrC,CAAA;
|
|
1
|
+
{"version":3,"file":"mountPanel.d.ts","sourceRoot":"","sources":["../../../src/test/apps/mountPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAGhE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAI7C,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,aAAa;;EAA0C,CAAA;AACpE,eAAO,MAAM,oBAAoB,kFAA4B,CAAA;AAC7D,eAAO,MAAM,kBAAkB;;EAAgD,CAAA;AAC/E,eAAO,MAAM,gBAAgB,8EAAwB,CAAA;AACrD,eAAO,MAAM,UAAU;;EAAwC,CAAA;AAE/D,eAAO,MAAM,OAAO;;;;;;IAOlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAWzC,eAAO,MAAM,YAAY;;;;;;EAI6B,CAAA;AAEtD,eAAO,MAAM,WAAW;;EAGuB,CAAA;AAE/C,eAAO,MAAM,UAAU;;;;;EAatB,CAAA;AAID,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAcrC,CAAA;AAIH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IA8BnC,CAAA;AAED;;4BAE4B;AAC5B,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,KAAG,IAc3C,CAAA;AAED;;;2DAG2D;AAC3D,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,IAO/C,CAAA"}
|
|
@@ -57,32 +57,40 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
57
57
|
ScrolledTo: () => [model, []],
|
|
58
58
|
}));
|
|
59
59
|
// VIEW
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
h.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
h.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
60
|
+
export const view = (model) => {
|
|
61
|
+
const h = html();
|
|
62
|
+
return h.div([h.Class('panel-test')], [
|
|
63
|
+
h.button([h.Key('toggle'), h.OnClick(ClickedToggle()), h.OnMount(FocusButton())], [model.isOpen ? 'Close' : 'Open']),
|
|
64
|
+
...(model.isOpen
|
|
65
|
+
? [
|
|
66
|
+
h.div([h.Key('panel'), h.OnMount(MeasurePanel())], [
|
|
67
|
+
h.span([], [
|
|
68
|
+
Option.match(model.measuredWidth, {
|
|
69
|
+
onNone: () => 'unmeasured',
|
|
70
|
+
onSome: width => `width: ${width}`,
|
|
71
|
+
}),
|
|
72
|
+
]),
|
|
71
73
|
]),
|
|
72
|
-
]
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
]
|
|
75
|
+
: []),
|
|
76
|
+
]);
|
|
77
|
+
};
|
|
76
78
|
/** A view that always renders both the toggle button and the panel, exposing
|
|
77
79
|
* two MeasurePanel mounts simultaneously so we can exercise the (name,
|
|
78
80
|
* occurrence) tracking. */
|
|
79
|
-
export const twoPanelView = (model) =>
|
|
80
|
-
|
|
81
|
-
h.div([h.
|
|
82
|
-
|
|
83
|
-
])
|
|
81
|
+
export const twoPanelView = (model) => {
|
|
82
|
+
const h = html();
|
|
83
|
+
return h.div([h.Class('two-panels')], [
|
|
84
|
+
h.div([h.Key('panel-a'), h.OnMount(MeasurePanel())], [h.span([], ['A'])]),
|
|
85
|
+
h.div([h.Key('panel-b'), h.OnMount(MeasurePanel())], [h.span([], ['B'])]),
|
|
86
|
+
h.button([h.Key('inc'), h.OnClick(ClickedIncrement())], [`count: ${model.count}`]),
|
|
87
|
+
]);
|
|
88
|
+
};
|
|
84
89
|
/** A view that renders an arg-bearing Mount so Scene tests can exercise
|
|
85
90
|
* Instance-based mount matching (matcher's args structurally equal the
|
|
86
91
|
* pending Mount's args). The chosen `offset` flows through `ScrollList`'s
|
|
87
92
|
* args and is observable on the rendered Mount marker. */
|
|
88
|
-
export const scrollListView = (offset) =>
|
|
93
|
+
export const scrollListView = (offset) => {
|
|
94
|
+
const h = html();
|
|
95
|
+
return h.div([h.Class('scroll-list')], [h.div([h.Key('list'), h.OnMount(ScrollList({ offset }))], [])]);
|
|
96
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiRole.d.ts","sourceRoot":"","sources":["../../../src/test/apps/multiRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAKrD,eAAO,MAAM,KAAK;;EAAiC,CAAA;AACnD,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,eAAe,6EAAuB,CAAA;AAEnD,eAAO,MAAM,OAAO,iGAA6B,CAAA;AACjD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY,EAAE,KAAqB,CAAA;AAIhD,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAMrC,CAAA;
|
|
1
|
+
{"version":3,"file":"multiRole.d.ts","sourceRoot":"","sources":["../../../src/test/apps/multiRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAKrD,eAAO,MAAM,KAAK;;EAAiC,CAAA;AACnD,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,eAAe,6EAAuB,CAAA;AAEnD,eAAO,MAAM,OAAO,iGAA6B,CAAA;AACjD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY,EAAE,KAAqB,CAAA;AAIhD,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAMrC,CAAA;AAIH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IAYnC,CAAA"}
|
|
@@ -13,7 +13,9 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
13
13
|
ClickedFallback: () => [{ ...model, clicks: model.clicks + 1 }, []],
|
|
14
14
|
}));
|
|
15
15
|
// VIEW
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
h.div([
|
|
19
|
-
])
|
|
16
|
+
export const view = (model) => {
|
|
17
|
+
const h = html();
|
|
18
|
+
return h.div([], [
|
|
19
|
+
h.div([h.Role('doc-subtitle heading'), h.OnClick(ClickedFallback())], [`Fallback element clicks=${model.clicks}`]),
|
|
20
|
+
]);
|
|
21
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../../src/test/apps/pointer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAKrD,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAOrC,QAAA,MAAM,OAAO;;;;IAAmD,CAAA;AAChE,KAAK,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIlC,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAqBrC,CAAA;
|
|
1
|
+
{"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../../src/test/apps/pointer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAKrD,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAOrC,QAAA,MAAM,OAAO;;;;IAAmD,CAAA;AAChE,KAAK,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIlC,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAqBrC,CAAA;AAIH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IA8BnC,CAAA"}
|
|
@@ -37,16 +37,18 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
37
37
|
],
|
|
38
38
|
}));
|
|
39
39
|
// VIEW
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
h.
|
|
43
|
-
h.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
h.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
])
|
|
40
|
+
export const view = (model) => {
|
|
41
|
+
const h = html();
|
|
42
|
+
return h.div([], [
|
|
43
|
+
h.button([
|
|
44
|
+
h.AriaLabel('pointer target'),
|
|
45
|
+
h.OnPointerDown(pointerType => Option.some(PressedPointerDown({ pointerType }))),
|
|
46
|
+
h.OnPointerUp((_screenX, _screenY, pointerType, _timeStamp) => Option.some(ReleasedPointerUp({ pointerType }))),
|
|
47
|
+
], [`down=${model.pointerDownCount} up=${model.pointerUpCount}`]),
|
|
48
|
+
h.div([
|
|
49
|
+
h.AriaLabel('nested target'),
|
|
50
|
+
h.OnPointerDown(pointerType => Option.some(PressedPointerDown({ pointerType }))),
|
|
51
|
+
], [h.span([], [`type=${model.lastPointerType}`])]),
|
|
52
|
+
h.span([h.AriaLabel('no handler')], ['orphan']),
|
|
53
|
+
]);
|
|
54
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resumeUpload.d.ts","sourceRoot":"","sources":["../../../src/test/apps/resumeUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAsB,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEvE,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAMrD,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAC3D,eAAO,MAAM,cAAc;;EAEzB,CAAA;AACF,eAAO,MAAM,qBAAqB,mFAA6B,CAAA;AAC/D,eAAO,MAAM,oBAAoB;;EAE/B,CAAA;AACF,eAAO,MAAM,iBAAiB,+EAAyB,CAAA;AACvD,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAE3D,eAAO,MAAM,OAAO;;;;oKAOlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY;;;;;iBAaxB,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;;;;iBAU7B,CAAA;AAID,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAA;AAID,KAAK,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAE7E,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,SAAS,OAAO,KAAG,YAmCrD,CAAA;
|
|
1
|
+
{"version":3,"file":"resumeUpload.d.ts","sourceRoot":"","sources":["../../../src/test/apps/resumeUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAsB,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEvE,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,qBAAqB,CAAA;AAMrD,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAC3D,eAAO,MAAM,cAAc;;EAEzB,CAAA;AACF,eAAO,MAAM,qBAAqB,mFAA6B,CAAA;AAC/D,eAAO,MAAM,oBAAoB;;EAE/B,CAAA;AACF,eAAO,MAAM,iBAAiB,+EAAyB,CAAA;AACvD,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAE3D,eAAO,MAAM,OAAO;;;;oKAOlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,YAAY;;;;;iBAaxB,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;;;;iBAU7B,CAAA;AAID,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAA;AAID,KAAK,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAE7E,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,SAAS,OAAO,KAAG,YAmCrD,CAAA;AAwBH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IAqBnC,CAAA"}
|
|
@@ -73,18 +73,23 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
73
73
|
],
|
|
74
74
|
}));
|
|
75
75
|
// VIEW
|
|
76
|
-
const
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
h.button([h.OnClick(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
76
|
+
const previewView = (model) => {
|
|
77
|
+
const h = html();
|
|
78
|
+
return Option.match(model.maybePreviewDataUrl, {
|
|
79
|
+
onSome: dataUrl => h.img([h.Src(dataUrl), h.Alt('Resume preview')]),
|
|
80
|
+
onNone: () => M.value(model.readStatus).pipe(M.withReturnType(), M.when('Reading', () => h.keyed('p')('reading', [h.Role('status')], ['Reading preview...'])), M.when('Failed', () => h.keyed('p')('failed', [h.Role('alert')], ['Could not read preview'])), M.when('Idle', () => h.empty), M.exhaustive),
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
export const view = (model) => {
|
|
84
|
+
const h = html();
|
|
85
|
+
return h.div([h.Class('resume-upload')], [
|
|
86
|
+
Option.match(model.maybeResume, {
|
|
87
|
+
onNone: () => h.button([h.OnClick(ClickedChooseResume())], ['Choose resume']),
|
|
88
|
+
onSome: file => h.section([h.AriaLabel('Selected resume')], [
|
|
89
|
+
h.p([h.Class('resume-name')], [File.name(file)]),
|
|
90
|
+
previewView(model),
|
|
91
|
+
h.button([h.OnClick(ClickedRemoveResume())], ['Remove']),
|
|
92
|
+
]),
|
|
93
|
+
}),
|
|
94
|
+
]);
|
|
95
|
+
};
|