@api-client/ui 0.5.39 → 0.5.40
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/build/tsconfig.tsbuildinfo +1 -0
- package/package.json +1 -1
- package/.aiexclude +0 -3
- package/.cursor/rules/html-and-css-best-practices.mdc +0 -63
- package/.cursor/rules/lit-best-practices.mdc +0 -89
- package/.editorconfig +0 -29
- package/.github/CONTRIBUTING.md +0 -24
- package/.github/instructions/html-and-css-best-practices.instructions.md +0 -70
- package/.github/instructions/lit-best-practices.instructions.md +0 -90
- package/.github/release.yml +0 -14
- package/.github/stale.yml +0 -23
- package/.github/workflows/auto-release.yml +0 -182
- package/.github/workflows/release.yml +0 -82
- package/.prettierrc.js +0 -14
- package/.vscode/settings.json +0 -18
- package/RELEASE.md +0 -163
- package/RELEASE_SETUP.md +0 -235
- package/build/src/demo/DemoPage.d.ts +0 -81
- package/build/src/demo/DemoPage.d.ts.map +0 -1
- package/build/src/demo/DemoPage.js +0 -175
- package/build/src/demo/DemoPage.js.map +0 -1
- package/build/src/demo/DemoStyles.d.ts +0 -3
- package/build/src/demo/DemoStyles.d.ts.map +0 -1
- package/build/src/demo/DemoStyles.js +0 -60
- package/build/src/demo/DemoStyles.js.map +0 -1
- package/build/test/elements/navigation/Navigation.test.d.ts +0 -3
- package/build/test/elements/navigation/Navigation.test.d.ts.map +0 -1
- package/build/test/elements/navigation/Navigation.test.js +0 -113
- package/build/test/elements/navigation/Navigation.test.js.map +0 -1
- package/commitlint.config.cjs +0 -2
- package/demo/elements/authorization/AuthPlugin.js +0 -57
- package/demo/elements/authorization/AuthProxy.js +0 -215
- package/demo/elements/authorization/api-key.html +0 -27
- package/demo/elements/authorization/api-key.ts +0 -44
- package/demo/elements/authorization/basic.html +0 -27
- package/demo/elements/authorization/basic.ts +0 -43
- package/demo/elements/authorization/bearer.html +0 -27
- package/demo/elements/authorization/bearer.ts +0 -43
- package/demo/elements/authorization/env.js +0 -8
- package/demo/elements/authorization/index.html +0 -44
- package/demo/elements/authorization/ntlm.html +0 -27
- package/demo/elements/authorization/ntlm.ts +0 -43
- package/demo/elements/authorization/oauth-authorize.html +0 -75
- package/demo/elements/authorization/oauth-authorize.ts +0 -40
- package/demo/elements/authorization/oauth-error.html +0 -18
- package/demo/elements/authorization/oauth-error.ts +0 -10
- package/demo/elements/authorization/oauth-popup.html +0 -36
- package/demo/elements/authorization/oauth2.html +0 -27
- package/demo/elements/authorization/oauth2.ts +0 -100
- package/demo/elements/authorization/oidc.html +0 -27
- package/demo/elements/authorization/oidc.ts +0 -139
- package/demo/elements/authorization/private.crt +0 -31
- package/demo/elements/authorization/private.csr +0 -28
- package/demo/elements/authorization/private.key +0 -51
- package/demo/elements/authorization/private.pem +0 -31
- package/demo/elements/authorization/redirect.html +0 -20
- package/demo/elements/authorization/ssl-commands.sh +0 -30
- package/demo/elements/authorization/ssl.conf +0 -24
- package/demo/elements/autocomplete/index.html +0 -64
- package/demo/elements/autocomplete/index.ts +0 -171
- package/demo/elements/code-editor/CodeEditorDemo.ts +0 -173
- package/demo/elements/code-editor/index.html +0 -19
- package/demo/elements/context-menu/DemoIcons.ts +0 -21
- package/demo/elements/context-menu/basic.html +0 -25
- package/demo/elements/context-menu/basic.ts +0 -119
- package/demo/elements/context-menu/custom-data.html +0 -25
- package/demo/elements/context-menu/custom-data.ts +0 -62
- package/demo/elements/context-menu/demo.css +0 -28
- package/demo/elements/context-menu/enabled-state.html +0 -25
- package/demo/elements/context-menu/enabled-state.ts +0 -73
- package/demo/elements/context-menu/icons.html +0 -25
- package/demo/elements/context-menu/icons.ts +0 -64
- package/demo/elements/context-menu/index.html +0 -43
- package/demo/elements/context-menu/nested.html +0 -25
- package/demo/elements/context-menu/nestedt.ts +0 -152
- package/demo/elements/context-menu/no-execute.html +0 -25
- package/demo/elements/context-menu/no-execute.ts +0 -134
- package/demo/elements/context-menu/radio-menu.html +0 -25
- package/demo/elements/context-menu/radio-menu.ts +0 -83
- package/demo/elements/context-menu/separators.html +0 -25
- package/demo/elements/context-menu/separators.ts +0 -172
- package/demo/elements/currency/index.html +0 -91
- package/demo/elements/currency/index.ts +0 -352
- package/demo/elements/environment/environment-editor.html +0 -20
- package/demo/elements/environment/environment-editor.ts +0 -49
- package/demo/elements/environment/index.html +0 -33
- package/demo/elements/environment/server-editor.html +0 -20
- package/demo/elements/environment/server-editor.ts +0 -67
- package/demo/elements/environment/variables-editor.html +0 -20
- package/demo/elements/environment/variables-editor.ts +0 -94
- package/demo/elements/har/har-viewer.html +0 -20
- package/demo/elements/har/har-viewer.ts +0 -76
- package/demo/elements/har/har1.har +0 -3044
- package/demo/elements/har/har2.json +0 -439
- package/demo/elements/har/index.html +0 -26
- package/demo/elements/highlight/example.md +0 -27
- package/demo/elements/highlight/index.html +0 -31
- package/demo/elements/highlight/marked-highlight.html +0 -132
- package/demo/elements/highlight/marked-highlight.ts +0 -22
- package/demo/elements/highlight/prism-highlight.html +0 -62
- package/demo/elements/highlight/prism-highlight.ts +0 -17
- package/demo/elements/http/body-editor.html +0 -17
- package/demo/elements/http/body-editor.ts +0 -115
- package/demo/elements/http/headers.html +0 -17
- package/demo/elements/http/headers.ts +0 -59
- package/demo/elements/http/http-assertions.html +0 -20
- package/demo/elements/http/http-assertions.ts +0 -89
- package/demo/elements/http/http-flows.html +0 -23
- package/demo/elements/http/http-flows.ts +0 -89
- package/demo/elements/http/index.html +0 -45
- package/demo/elements/http/request-editor.html +0 -26
- package/demo/elements/http/request-editor.ts +0 -197
- package/demo/elements/http/request-log.html +0 -16
- package/demo/elements/http/request-log.ts +0 -136
- package/demo/elements/http/url-editing.html +0 -17
- package/demo/elements/http/url-editing.ts +0 -112
- package/demo/elements/icons/index.html +0 -81
- package/demo/elements/icons/index.ts +0 -52
- package/demo/elements/index.html +0 -72
- package/demo/elements/mention-textarea/index.html +0 -19
- package/demo/elements/mention-textarea/index.ts +0 -205
- package/demo/elements/navigation/navigation-item.html +0 -49
- package/demo/elements/navigation/navigation-item.ts +0 -131
- package/demo/elements/navigation/navigation.html +0 -20
- package/demo/elements/navigation/navigation.ts +0 -45
- package/demo/elements/project/index.html +0 -29
- package/demo/elements/project/project-run-report.html +0 -20
- package/demo/elements/project/project-run-report.ts +0 -132
- package/demo/elements/project/request-editor.html +0 -23
- package/demo/elements/project/request-editor.ts +0 -232
- package/demo/elements/user/user-avatar.html +0 -17
- package/demo/elements/user/user-avatar.ts +0 -60
- package/demo/env.js +0 -4
- package/demo/index.html +0 -34
- package/demo/layout/index.html +0 -94
- package/demo/layout/index.ts +0 -190
- package/demo/md/DemoStyles.ts +0 -61
- package/demo/md/UiDemoPage.ts +0 -6
- package/demo/md/buttons/button.html +0 -121
- package/demo/md/buttons/button.ts +0 -246
- package/demo/md/buttons/group.html +0 -36
- package/demo/md/buttons/group.ts +0 -171
- package/demo/md/checkbox/index.html +0 -39
- package/demo/md/checkbox/index.ts +0 -220
- package/demo/md/chip/chip.html +0 -70
- package/demo/md/chip/chip.ts +0 -219
- package/demo/md/chip/pawel6c9a.jpg +0 -0
- package/demo/md/collapse/CustomDetail.ts +0 -89
- package/demo/md/collapse/collapse.html +0 -21
- package/demo/md/collapse/collapse.ts +0 -78
- package/demo/md/date-picker/date-picker.ts +0 -336
- package/demo/md/date-picker/index.html +0 -171
- package/demo/md/dialog/confirm-dialog.html +0 -49
- package/demo/md/dialog/confirm-dialog.ts +0 -121
- package/demo/md/dialog/dialog.html +0 -25
- package/demo/md/dialog/dialog.ts +0 -468
- package/demo/md/dropdown-list/index.html +0 -31
- package/demo/md/dropdown-list/index.ts +0 -158
- package/demo/md/icon-button/index.html +0 -122
- package/demo/md/icon-button/index.ts +0 -132
- package/demo/md/index.html +0 -73
- package/demo/md/inputs/input.html +0 -73
- package/demo/md/inputs/input.ts +0 -278
- package/demo/md/inputs/radio.html +0 -39
- package/demo/md/inputs/radio.ts +0 -156
- package/demo/md/inputs/switch.html +0 -45
- package/demo/md/inputs/switch.ts +0 -144
- package/demo/md/list/list.html +0 -65
- package/demo/md/list/list.ts +0 -204
- package/demo/md/listbox/listbox.html +0 -31
- package/demo/md/listbox/listbox.ts +0 -27
- package/demo/md/menu/index.html +0 -19
- package/demo/md/menu/index.ts +0 -514
- package/demo/md/notification/snack.html +0 -21
- package/demo/md/notification/snack.ts +0 -70
- package/demo/md/progress/progress.html +0 -46
- package/demo/md/progress/progress.ts +0 -161
- package/demo/md/segmented-button/index.html +0 -21
- package/demo/md/segmented-button/index.ts +0 -55
- package/demo/md/select/index.html +0 -16
- package/demo/md/select/index.ts +0 -217
- package/demo/md/tabs/tabs.html +0 -40
- package/demo/md/tabs/tabs.ts +0 -214
- package/demo/oauth-popup.html +0 -36
- package/demo/page.css +0 -8
- package/demo/resources/calendar-month.png +0 -0
- package/demo/resources/favorite.png +0 -0
- package/demo/resources/fingerprint.png +0 -0
- package/demo/resources/home-work.png +0 -0
- package/demo/resources/mood.png +0 -0
- package/demo/resources/print.png +0 -0
- package/demo/resources/stars.png +0 -0
- package/demo/resources/theaters.png +0 -0
- package/demo/tsconfig.json +0 -4
- package/eslint.config.js +0 -97
- package/scripts/copy-assets.js +0 -21
- package/scripts/release.js +0 -66
- package/src/demo/DemoPage.ts +0 -169
- package/src/demo/DemoStyles.ts +0 -60
- package/test/README.md +0 -375
- package/test/contextual-menu/ContextMenu.test.ts +0 -760
- package/test/contextual-menu/ContextMenuElement.test.ts +0 -569
- package/test/core/activity.spec.ts +0 -413
- package/test/core/activity_manager.spec.ts +0 -544
- package/test/core/application.spec.ts +0 -218
- package/test/core/fragment.spec.ts +0 -565
- package/test/core/fragment_manager.spec.ts +0 -404
- package/test/core/live_data.spec.ts +0 -558
- package/test/core/renderer.spec.ts +0 -113
- package/test/dom-assertions.test.ts +0 -182
- package/test/elements/MonacoSetup.ts +0 -65
- package/test/elements/authorization/basic-method.test.ts +0 -177
- package/test/elements/authorization/bearer-method.test.ts +0 -143
- package/test/elements/authorization/ntlm-method.test.ts +0 -219
- package/test/elements/authorization/oauth2-client-credentials-method.test.ts +0 -334
- package/test/elements/authorization/oauth2-code-method.test.ts +0 -320
- package/test/elements/authorization/oauth2-custom-grant-method.test.ts +0 -255
- package/test/elements/authorization/oauth2-device-code-method.test.ts +0 -371
- package/test/elements/authorization/oauth2-implicit-method.test.ts +0 -407
- package/test/elements/authorization/oauth2-jwt-method.test.ts +0 -217
- package/test/elements/authorization/oauth2-password-method.test.ts +0 -275
- package/test/elements/authorization/openid-method.test.ts +0 -591
- package/test/elements/autocomplete/autocomplete-input.spec.ts +0 -646
- package/test/elements/code-editor/code-editor.accessibility.test.ts +0 -298
- package/test/elements/code-editor/code-editor.test.ts +0 -574
- package/test/elements/currency/CurrencyPicker.accessibility.test.ts +0 -328
- package/test/elements/currency/CurrencyPicker.core.test.ts +0 -318
- package/test/elements/currency/CurrencyPicker.integration.test.ts +0 -482
- package/test/elements/currency/CurrencyPicker.test.ts +0 -486
- package/test/elements/data-table/DataTable.browser.test.ts +0 -649
- package/test/elements/har/HarUtils.test.ts +0 -45
- package/test/elements/har/HarViewerElement.test.ts +0 -687
- package/test/elements/har/test-data/har1.har +0 -3044
- package/test/elements/highlight/MarkedHighlightElement.test.ts +0 -452
- package/test/elements/highlight/PrismHighlightElement.test.ts +0 -79
- package/test/elements/highlight/PrismHighlighter.test.ts +0 -94
- package/test/elements/highlight/remoteSanitization.md +0 -1
- package/test/elements/highlight/test.md +0 -3
- package/test/elements/highlight/test1.md +0 -3
- package/test/elements/highlight/test2.md +0 -1
- package/test/elements/http/BodyFormdataEditorElement.test.ts +0 -482
- package/test/elements/http/BodyMultipartEditorElement.test.ts +0 -658
- package/test/elements/http/BodyRawEditorElement.test.ts +0 -90
- package/test/elements/http/CertificateAdd.test.ts +0 -457
- package/test/elements/http/HttpAssertions.test.ts +0 -994
- package/test/elements/http/HttpFlows.test.ts +0 -502
- package/test/elements/http/UrlEncodeUtils.test.ts +0 -202
- package/test/elements/layout/SplitItem.test.ts +0 -440
- package/test/elements/layout/SplitLayoutManager.test.ts +0 -1501
- package/test/elements/layout/SplitPanel.test.ts +0 -1109
- package/test/elements/mention-textarea/MentionTextArea.basic.test.ts +0 -114
- package/test/elements/mention-textarea/MentionTextArea.test.ts +0 -613
- package/test/elements/navigation/Navigation.test.ts +0 -120
- package/test/env.ts +0 -15
- package/test/events/EventTypes.test.ts +0 -363
- package/test/events/EventsTestHelpers.ts +0 -16
- package/test/helpers/TestUtils.ts +0 -243
- package/test/helpers/UiMock.ts +0 -185
- package/test/lib/Dom.test.ts +0 -231
- package/test/md/button/UiButton.test.ts +0 -347
- package/test/md/button/UiIconButton.test.ts +0 -155
- package/test/md/chip/UiChip.test.ts +0 -219
- package/test/md/collapse/UiCollapse.test.ts +0 -250
- package/test/md/collapse/flex-layout.test.ts +0 -105
- package/test/md/date-time/DateTime.test.ts +0 -348
- package/test/md/dialog/UiConfirmDialog.test.ts +0 -131
- package/test/md/dialog/UiDialog.test.ts +0 -759
- package/test/md/menu/Menu.test.ts +0 -855
- package/test/md/menu/MenuIntegration.test.ts +0 -426
- package/test/md/menu/MenuItem.test.ts +0 -652
- package/test/md/menu/SubMenu.test.ts +0 -410
- package/test/md/progress/UiCircularProgressElement.test.ts +0 -481
- package/test/md/progress/UiProgressElement.test.ts +0 -117
- package/test/md/progress/UiRangeElement.test.ts +0 -156
- package/test/md/select/Select.test.ts +0 -925
- package/test/plugins/takeScreenshotPlugin.js +0 -35
- package/test/setup.test.ts +0 -217
- package/test/setup.ts +0 -117
- package/test/tsconfig.json +0 -7
- package/web-dev-server.config.js +0 -21
- package/web-test-runner.config.js +0 -90
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import { CSSResult, html, TemplateResult } from 'lit'
|
|
2
|
-
import { ProjectMock } from '@api-client/core/mocking/ProjectMock.js'
|
|
3
|
-
import { HttpRequest, type IHttpRequest } from '@api-client/core/models/HttpRequest.js'
|
|
4
|
-
import type { IRequestAuthorization } from '@api-client/core/models/RequestAuthorization.js'
|
|
5
|
-
import type { IRequestUiMeta } from '@api-client/core/models/RequestUiMeta.js'
|
|
6
|
-
import { DemoPage } from '../../../src/demo/DemoPage.js'
|
|
7
|
-
import { reactive } from '../../../src/decorators/index.js'
|
|
8
|
-
import surfaceStyles from '../../../src/styles/m3/surface.module.js'
|
|
9
|
-
// import { WebHttpClientStoreBindings } from '../../../src/bindings/web/WebHttpClientStoreBindings.js'
|
|
10
|
-
// import { WebProxyBindings } from '../../../src/bindings/web/WebProxyBindings.js'
|
|
11
|
-
import RequestEditor, { SendDetails } from '../../../src/elements/http/RequestEditor.js'
|
|
12
|
-
// import env from '../../env.js'
|
|
13
|
-
import '../../../src/define/http/http-request-editor.js'
|
|
14
|
-
|
|
15
|
-
const REQUEST_STORE_KEY = 'demo.request-ui.editor.request-data'
|
|
16
|
-
const AUTH_STORE_KEY = 'demo.request-ui.editor.request-auth'
|
|
17
|
-
const UI_STORE_KEY = 'demo.request-ui.editor.request-ui'
|
|
18
|
-
|
|
19
|
-
// const workerUri = new URL('/src/http-client/store/IdbThread.ts', import.meta.url).toString()
|
|
20
|
-
|
|
21
|
-
// const AppInfo: IApplication = { code: 'demo', name: 'Demo', version: '0' }
|
|
22
|
-
|
|
23
|
-
class ComponentDemoPage extends DemoPage {
|
|
24
|
-
static override get styles(): CSSResult[] {
|
|
25
|
-
return [...DemoPage.styles, surfaceStyles]
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
override accessor componentName = 'http-request-editor'
|
|
29
|
-
|
|
30
|
-
mock = new ProjectMock()
|
|
31
|
-
|
|
32
|
-
@reactive() accessor request = new HttpRequest().toJSON()
|
|
33
|
-
|
|
34
|
-
@reactive() accessor auth: IRequestAuthorization[] | undefined
|
|
35
|
-
|
|
36
|
-
@reactive() accessor ui: IRequestUiMeta = {}
|
|
37
|
-
|
|
38
|
-
@reactive() accessor initialized: boolean
|
|
39
|
-
|
|
40
|
-
oauth2RedirectUri = 'https://auth.advancedrestclient.com/arc.html'
|
|
41
|
-
|
|
42
|
-
oauth2AuthorizationUri = `${window.location.protocol}//${window.location.host}${window.location.pathname}oauth-authorize.html`
|
|
43
|
-
|
|
44
|
-
// store = new WebHttpClientStoreBindings(AppInfo, workerUri)
|
|
45
|
-
|
|
46
|
-
// http = new WebProxyBindings(AppInfo, `${env.proxyUri}/open`)
|
|
47
|
-
|
|
48
|
-
constructor() {
|
|
49
|
-
super()
|
|
50
|
-
this.initialized = false
|
|
51
|
-
this.init()
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
async init(): Promise<void> {
|
|
55
|
-
// await this.store.initialize()
|
|
56
|
-
// await this.http.initialize()
|
|
57
|
-
await this.loadMonaco()
|
|
58
|
-
await this.restoreRequest()
|
|
59
|
-
await this.restoreAuth()
|
|
60
|
-
await this.restoreUi()
|
|
61
|
-
this.initialized = true
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
async restoreRequest(): Promise<void> {
|
|
65
|
-
const data = localStorage.getItem(REQUEST_STORE_KEY)
|
|
66
|
-
if (!data) {
|
|
67
|
-
return
|
|
68
|
-
}
|
|
69
|
-
try {
|
|
70
|
-
const tmp = JSON.parse(data)
|
|
71
|
-
if (tmp) {
|
|
72
|
-
const request = tmp as IHttpRequest
|
|
73
|
-
this.request = request
|
|
74
|
-
}
|
|
75
|
-
} catch {
|
|
76
|
-
//
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
async restoreAuth(): Promise<void> {
|
|
81
|
-
const data = localStorage.getItem(AUTH_STORE_KEY)
|
|
82
|
-
if (!data) {
|
|
83
|
-
return
|
|
84
|
-
}
|
|
85
|
-
try {
|
|
86
|
-
const tmp = JSON.parse(data)
|
|
87
|
-
if (Array.isArray(tmp)) {
|
|
88
|
-
this.auth = tmp
|
|
89
|
-
}
|
|
90
|
-
} catch {
|
|
91
|
-
//
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
async restoreUi(): Promise<void> {
|
|
96
|
-
const data = localStorage.getItem(UI_STORE_KEY)
|
|
97
|
-
if (!data) {
|
|
98
|
-
return
|
|
99
|
-
}
|
|
100
|
-
try {
|
|
101
|
-
const tmp = JSON.parse(data)
|
|
102
|
-
if (tmp) {
|
|
103
|
-
this.ui = tmp
|
|
104
|
-
}
|
|
105
|
-
} catch {
|
|
106
|
-
//
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
async handleChange(e: Event): Promise<void> {
|
|
111
|
-
const editor = e.target as RequestEditor
|
|
112
|
-
const request = await editor.serialize()
|
|
113
|
-
this.request = request
|
|
114
|
-
localStorage.setItem(REQUEST_STORE_KEY, JSON.stringify(request))
|
|
115
|
-
console.log('request change', request)
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
handleAuthorizationChange(e: Event): void {
|
|
119
|
-
const editor = e.target as RequestEditor
|
|
120
|
-
this.auth = editor.authorization
|
|
121
|
-
if (editor.authorization) {
|
|
122
|
-
localStorage.setItem(AUTH_STORE_KEY, JSON.stringify(editor.authorization))
|
|
123
|
-
} else {
|
|
124
|
-
localStorage.removeItem(AUTH_STORE_KEY)
|
|
125
|
-
}
|
|
126
|
-
console.log('auth change', editor.authorization)
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
handleUiChange(e: Event): void {
|
|
130
|
-
const editor = e.target as RequestEditor
|
|
131
|
-
if (!editor.ui) {
|
|
132
|
-
return
|
|
133
|
-
}
|
|
134
|
-
this.ui = editor.ui
|
|
135
|
-
if (editor.ui) {
|
|
136
|
-
localStorage.setItem(UI_STORE_KEY, JSON.stringify(editor.ui))
|
|
137
|
-
} else {
|
|
138
|
-
localStorage.removeItem(UI_STORE_KEY)
|
|
139
|
-
}
|
|
140
|
-
console.log('ui change', editor.ui)
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
handleSend(e: CustomEvent<SendDetails>): void {
|
|
144
|
-
this.send(e.detail)
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
async send(sendInfo: SendDetails): Promise<void> {
|
|
148
|
-
console.log(sendInfo)
|
|
149
|
-
throw new Error(`Not implemented`)
|
|
150
|
-
// const { request, assertions, authorization, config } = sendInfo
|
|
151
|
-
// const init: IRequestProxyInit = {
|
|
152
|
-
// kind: HttpRequestKind,
|
|
153
|
-
// request,
|
|
154
|
-
// assertions,
|
|
155
|
-
// authorization,
|
|
156
|
-
// config,
|
|
157
|
-
// }
|
|
158
|
-
// const result = await this.http.coreRequest(init)
|
|
159
|
-
// console.log(result.result.response)
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
contentTemplate(): TemplateResult {
|
|
163
|
-
if (!this.initialized) {
|
|
164
|
-
return html`
|
|
165
|
-
<a href="./">Back</a>
|
|
166
|
-
<div class="screen-loader">
|
|
167
|
-
<p>Loading demo page</p>
|
|
168
|
-
<progress></progress>
|
|
169
|
-
</div>
|
|
170
|
-
`
|
|
171
|
-
}
|
|
172
|
-
const { request, auth, ui } = this
|
|
173
|
-
return html`
|
|
174
|
-
<a href="./">Back</a>
|
|
175
|
-
<section class="demo-section">
|
|
176
|
-
<h2 class="title-large">HTTP request editor</h2>
|
|
177
|
-
|
|
178
|
-
<div class="editor-wrapper surface1">
|
|
179
|
-
<http-request-editor
|
|
180
|
-
.request="${request}"
|
|
181
|
-
.authorization="${auth}"
|
|
182
|
-
.ui="${ui}"
|
|
183
|
-
.oauth2RedirectUri="${this.oauth2RedirectUri}"
|
|
184
|
-
.oauth2AuthorizationUri="${this.oauth2AuthorizationUri}"
|
|
185
|
-
@change="${this.handleChange}"
|
|
186
|
-
@authorizationchange="${this.handleAuthorizationChange}"
|
|
187
|
-
@uichange="${this.handleUiChange}"
|
|
188
|
-
@send="${this.handleSend}"
|
|
189
|
-
></http-request-editor>
|
|
190
|
-
</div>
|
|
191
|
-
</section>
|
|
192
|
-
`
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
const instance = new ComponentDemoPage()
|
|
197
|
-
instance.render()
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en-GB">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
|
|
6
|
-
<title>Request log</title>
|
|
7
|
-
<link href="../../../src/styles/m3/tokens.css" rel="stylesheet" type="text/css" />
|
|
8
|
-
<link href="../../../src/styles/m3/theme.css" rel="stylesheet" type="text/css" />
|
|
9
|
-
<style></style>
|
|
10
|
-
</head>
|
|
11
|
-
<body>
|
|
12
|
-
<div id="app"></div>
|
|
13
|
-
|
|
14
|
-
<script type="module" src="/.tmp/demo/elements/http/request-log.js"></script>
|
|
15
|
-
</body>
|
|
16
|
-
</html>
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { html, TemplateResult } from 'lit'
|
|
2
|
-
import { type IRequestLogInit, ProjectMock } from '@api-client/core/mocking/ProjectMock.js'
|
|
3
|
-
import { RequestLog, type IRequestLog } from '@api-client/core/models/RequestLog.js'
|
|
4
|
-
import type { Response } from '@api-client/core/models/Response.js'
|
|
5
|
-
import { Headers } from '@api-client/core/lib/headers/Headers.js'
|
|
6
|
-
import { DemoPage } from '../../../src/demo/DemoPage.js'
|
|
7
|
-
import '../../../src/define/http/http-request-log.js'
|
|
8
|
-
import { reactive } from '../../../src/decorators/index.js'
|
|
9
|
-
|
|
10
|
-
const ResourceIcons = [
|
|
11
|
-
'favorite.png',
|
|
12
|
-
'fingerprint.png',
|
|
13
|
-
'stars.png',
|
|
14
|
-
'calendar-month.png',
|
|
15
|
-
'theaters.png',
|
|
16
|
-
'home-work.png',
|
|
17
|
-
'print.png',
|
|
18
|
-
'mood.png',
|
|
19
|
-
]
|
|
20
|
-
|
|
21
|
-
class ComponentDemoPage extends DemoPage {
|
|
22
|
-
override accessor componentName = 'Request Log'
|
|
23
|
-
|
|
24
|
-
mock = new ProjectMock()
|
|
25
|
-
|
|
26
|
-
@reactive() accessor httpLog: IRequestLog | undefined
|
|
27
|
-
|
|
28
|
-
constructor() {
|
|
29
|
-
super()
|
|
30
|
-
this.initLog()
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async initLog(): Promise<void> {
|
|
34
|
-
this.httpLog = await this.mock.projectRequest.log({
|
|
35
|
-
response: {
|
|
36
|
-
timings: true,
|
|
37
|
-
},
|
|
38
|
-
redirects: true,
|
|
39
|
-
})
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
protected _generatorClick(e: Event): void {
|
|
43
|
-
const node = e.target as HTMLButtonElement
|
|
44
|
-
const { generator, type } = node.dataset
|
|
45
|
-
if (generator && type) {
|
|
46
|
-
this._runGenerator(generator, type)
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
protected _generatorKeydown(e: KeyboardEvent): void {
|
|
51
|
-
if (e.key !== 'Enter' && e.key !== 'Space') {
|
|
52
|
-
return
|
|
53
|
-
}
|
|
54
|
-
const node = e.target as HTMLButtonElement
|
|
55
|
-
const { generator, type } = node.dataset
|
|
56
|
-
if (generator && type) {
|
|
57
|
-
this._runGenerator(generator, type)
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
protected _runGenerator(generator: string, type: string): void {
|
|
62
|
-
if (generator === 'response') {
|
|
63
|
-
this.generateResponse(type)
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
async generateResponse(type = 'json'): Promise<void> {
|
|
68
|
-
let contentType: string | undefined
|
|
69
|
-
if (type === 'json') {
|
|
70
|
-
contentType = 'application/json'
|
|
71
|
-
} else if (type === 'xml') {
|
|
72
|
-
contentType = 'application/xml'
|
|
73
|
-
} else if (type === 'svg') {
|
|
74
|
-
contentType = 'image/svg+xml'
|
|
75
|
-
} else if (type === 'form-data') {
|
|
76
|
-
contentType = 'multipart/form-data'
|
|
77
|
-
} else if (type === 'urlencoded') {
|
|
78
|
-
contentType = 'application/x-www-form-urlencoded'
|
|
79
|
-
}
|
|
80
|
-
const init: IRequestLogInit = {
|
|
81
|
-
response: {
|
|
82
|
-
statusGroup: 2,
|
|
83
|
-
payload: {
|
|
84
|
-
contentType,
|
|
85
|
-
force: true,
|
|
86
|
-
},
|
|
87
|
-
timings: true,
|
|
88
|
-
},
|
|
89
|
-
}
|
|
90
|
-
if (type === 'redirects') {
|
|
91
|
-
init.redirects = true
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
let log = await this.mock.projectRequest.log(init)
|
|
95
|
-
|
|
96
|
-
if (type === 'png') {
|
|
97
|
-
const icon = this.mock.random.pickOne(ResourceIcons)
|
|
98
|
-
const r = await fetch(`/demo/resources/${icon}`)
|
|
99
|
-
const data = await r.arrayBuffer()
|
|
100
|
-
const instance = new RequestLog(log)
|
|
101
|
-
const response = instance.response as Response
|
|
102
|
-
await response.writePayload(data)
|
|
103
|
-
const headers = new Headers(response.headers)
|
|
104
|
-
headers.set('content-type', 'image/png')
|
|
105
|
-
response.headers = headers.toString()
|
|
106
|
-
log = instance.toJSON()
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
this.httpLog = log
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
contentTemplate(): TemplateResult {
|
|
113
|
-
return html`
|
|
114
|
-
<section class="centered">
|
|
115
|
-
<http-request-log .httpLog="${this.httpLog}"></http-request-log>
|
|
116
|
-
</section>
|
|
117
|
-
`
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
override navigationTemplate(): TemplateResult {
|
|
121
|
-
return html`
|
|
122
|
-
<nav @click="${this._generatorClick}" @keydown="${this._generatorKeydown}">
|
|
123
|
-
<button class="nav-item" data-generator="response" data-type="json">JSON response</button>
|
|
124
|
-
<button class="nav-item" data-generator="response" data-type="xml">XML response</button>
|
|
125
|
-
<button class="nav-item" data-generator="response" data-type="svg">SVG image response</button>
|
|
126
|
-
<button class="nav-item" data-generator="response" data-type="png">PNG image response</button>
|
|
127
|
-
<button class="nav-item" data-generator="response" data-type="form-data">Form Data response</button>
|
|
128
|
-
<button class="nav-item" data-generator="response" data-type="urlencoded">URL encoded response</button>
|
|
129
|
-
<button class="nav-item" data-generator="response" data-type="redirects">Redirects</button>
|
|
130
|
-
</nav>
|
|
131
|
-
`
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
const instance = new ComponentDemoPage()
|
|
136
|
-
instance.render()
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="utf-8">
|
|
6
|
-
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
|
|
7
|
-
<title>HTTP url editing</title>
|
|
8
|
-
<link href="../../../src/styles/m3/tokens.css" rel="stylesheet" type="text/css" />
|
|
9
|
-
<link href="../../../src/styles/m3/theme.css" rel="stylesheet" type="text/css" />
|
|
10
|
-
</head>
|
|
11
|
-
|
|
12
|
-
<body class="demo">
|
|
13
|
-
<div id="app"></div>
|
|
14
|
-
<script type="module" src="/.tmp/demo/elements/http/url-editing.js"></script>
|
|
15
|
-
</body>
|
|
16
|
-
|
|
17
|
-
</html>
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { html, TemplateResult } from 'lit'
|
|
2
|
-
import { ProjectMock } from '@api-client/core/mocking/ProjectMock.js'
|
|
3
|
-
import { DemoPage } from '../../../src/demo/DemoPage.js'
|
|
4
|
-
import { reactive } from '../../../src/decorators/index.js'
|
|
5
|
-
// import { WebHttpClientStoreBindings } from '../../../src/bindings/web/WebHttpClientStoreBindings.js'
|
|
6
|
-
import UrlInput from '../../../src/elements/http/UrlInput.js'
|
|
7
|
-
import { EventTypes } from '../../../src/events/EventTypes.js'
|
|
8
|
-
import '../../../src/define/http/http-url-input.js'
|
|
9
|
-
import '../../../src/define/http/http-url-params-form.js'
|
|
10
|
-
import '../../../src/md/button/ui-button.js'
|
|
11
|
-
import UrlParamsForm from '../../../src/elements/http/UrlParamsForm.js'
|
|
12
|
-
|
|
13
|
-
// const workerUri = new URL('/src/http-client/store/IdbThread.ts', import.meta.url).toString()
|
|
14
|
-
|
|
15
|
-
class ComponentDemoPage extends DemoPage {
|
|
16
|
-
override accessor componentName = 'URL Editing'
|
|
17
|
-
|
|
18
|
-
mock = new ProjectMock()
|
|
19
|
-
|
|
20
|
-
@reactive() accessor initialized = false
|
|
21
|
-
|
|
22
|
-
@reactive() accessor value = '/?q=my query&type=folder'
|
|
23
|
-
|
|
24
|
-
// store = new WebHttpClientStoreBindings({ code: 'demo', name: 'Demo', version: '0' }, workerUri)
|
|
25
|
-
|
|
26
|
-
constructor() {
|
|
27
|
-
super()
|
|
28
|
-
this.init()
|
|
29
|
-
window.addEventListener(EventTypes.Http.Request.State.urlChange, this.handleGlobalUrlChange)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async init(): Promise<void> {
|
|
33
|
-
// await this.store.initialize()
|
|
34
|
-
this.initialized = true
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
protected handleGenerateHistory(): void {
|
|
38
|
-
this.generateHistory()
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
protected handleClearHistory(): void {
|
|
42
|
-
this.clearHistory()
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
async generateHistory(): Promise<void> {
|
|
46
|
-
// const values = this.mock.url.urls(100)
|
|
47
|
-
// await Promise.all(values.map((i) => this.store.urlHistoryAdd(i.key)))
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
async clearHistory(): Promise<void> {
|
|
51
|
-
// await this.store.urlHistoryClear()
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
handleRequestSend(e: Event): void {
|
|
55
|
-
const input = e.target as UrlInput
|
|
56
|
-
console.log('Request send', input.value)
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
handleChange(e: Event): void {
|
|
60
|
-
const input = e.target as UrlInput
|
|
61
|
-
console.log('Change from URL input', input.value)
|
|
62
|
-
this.value = input.value
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
handleGlobalUrlChange(e: Event): void {
|
|
66
|
-
const input = e.target as UrlInput
|
|
67
|
-
console.log('Global URL change', input.value)
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
handleParamsChange(e: Event): void {
|
|
71
|
-
const input = e.target as UrlParamsForm
|
|
72
|
-
console.log('Change from params editor', input.value)
|
|
73
|
-
this.value = input.value
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
contentTemplate(): TemplateResult {
|
|
77
|
-
if (!this.initialized) {
|
|
78
|
-
return html`
|
|
79
|
-
<a href="./">Back</a>
|
|
80
|
-
<div class="screen-loader">
|
|
81
|
-
<p>Loading demo page</p>
|
|
82
|
-
<progress></progress>
|
|
83
|
-
</div>
|
|
84
|
-
`
|
|
85
|
-
}
|
|
86
|
-
return html`
|
|
87
|
-
<a href="./">Back</a>
|
|
88
|
-
<section class="demo-section">
|
|
89
|
-
<h2 class="title-large">Data configuration</h2>
|
|
90
|
-
<div class="demo-row">
|
|
91
|
-
<ui-button color="outlined" @click="${this.handleGenerateHistory}">Generate URL history</ui-button>
|
|
92
|
-
<ui-button color="outlined" @click="${this.handleClearHistory}">Clear URL history</ui-button>
|
|
93
|
-
</div>
|
|
94
|
-
</section>
|
|
95
|
-
<section class="demo-section">
|
|
96
|
-
<h2 class="title-large">HTTP URL input</h2>
|
|
97
|
-
<http-url-input
|
|
98
|
-
.value="${this.value || ''}"
|
|
99
|
-
@requestsend="${this.handleRequestSend}"
|
|
100
|
-
@change="${this.handleChange}"
|
|
101
|
-
></http-url-input>
|
|
102
|
-
</section>
|
|
103
|
-
<section class="demo-section">
|
|
104
|
-
<h2 class="title-large">HTTP parameters form</h2>
|
|
105
|
-
<http-url-params-form .value="${this.value || ''}" @change="${this.handleParamsChange}"></http-url-params-form>
|
|
106
|
-
</section>
|
|
107
|
-
`
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const instance = new ComponentDemoPage()
|
|
112
|
-
instance.render()
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en-GB">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
|
|
6
|
-
<title>Icons</title>
|
|
7
|
-
<link
|
|
8
|
-
href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"
|
|
9
|
-
rel="stylesheet"
|
|
10
|
-
/>
|
|
11
|
-
<link href="../../../src/styles/m3/tokens.css" rel="stylesheet" type="text/css" />
|
|
12
|
-
<link href="../../../src/styles/m3/theme.css" rel="stylesheet" type="text/css" />
|
|
13
|
-
<link href="../../page.css" rel="stylesheet" type="text/css" />
|
|
14
|
-
<style>
|
|
15
|
-
h2 {
|
|
16
|
-
text-transform: capitalize;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.icon {
|
|
20
|
-
transition: all 0.2s;
|
|
21
|
-
-webkit-transition: all 0.2s;
|
|
22
|
-
width: 24px;
|
|
23
|
-
height: 24px;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.icon:hover {
|
|
27
|
-
fill: #f09300;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.set {
|
|
31
|
-
margin: auto;
|
|
32
|
-
padding: 1em 0;
|
|
33
|
-
border-bottom: 1px solid silver;
|
|
34
|
-
display: flex;
|
|
35
|
-
flex-direction: row;
|
|
36
|
-
flex-wrap: wrap;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.set:last-of-type {
|
|
40
|
-
border-bottom: none;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.set:nth-of-type(4n-3) {
|
|
44
|
-
color: #616161;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.set:nth-of-type(4n-2) {
|
|
48
|
-
color: #e91e63;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.set:nth-of-type(4n-1) {
|
|
52
|
-
color: #0f9d58;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.set:nth-of-type(4n) {
|
|
56
|
-
color: #4285f4;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.container {
|
|
60
|
-
min-width: 10em;
|
|
61
|
-
padding: 1em 0.5em;
|
|
62
|
-
text-align: center;
|
|
63
|
-
display: flex;
|
|
64
|
-
flex-direction: column;
|
|
65
|
-
align-items: center;
|
|
66
|
-
flex: 1;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.container> div {
|
|
70
|
-
margin-top: 0.5em;
|
|
71
|
-
color: black;
|
|
72
|
-
font-size: 10px;
|
|
73
|
-
}
|
|
74
|
-
</style>
|
|
75
|
-
</head>
|
|
76
|
-
<body>
|
|
77
|
-
<div id="app"></div>
|
|
78
|
-
|
|
79
|
-
<script type="module" src="/.tmp/demo/elements/icons/index.js"></script>
|
|
80
|
-
</body>
|
|
81
|
-
</html>
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { html, TemplateResult } from 'lit'
|
|
2
|
-
import { DemoPage } from '../../../src/demo/DemoPage.js'
|
|
3
|
-
import '../../../src/md/icons/ui-icon.js'
|
|
4
|
-
import * as icons from '../../../src/md/icons/Icons.js'
|
|
5
|
-
import { IconType } from '../../../src/md/icons/Icons.js'
|
|
6
|
-
|
|
7
|
-
const ignored: string[] = ['iconWrapper']
|
|
8
|
-
const keys = Object.keys(icons) as IconType[]
|
|
9
|
-
|
|
10
|
-
class ComponentDemoPage extends DemoPage {
|
|
11
|
-
override accessor componentName = 'Icons'
|
|
12
|
-
|
|
13
|
-
contentTemplate(): TemplateResult {
|
|
14
|
-
return html`
|
|
15
|
-
<section class="centered large">
|
|
16
|
-
<h2>With "icon" attribute</h2>
|
|
17
|
-
|
|
18
|
-
<div class="set">
|
|
19
|
-
${keys.map((name) => {
|
|
20
|
-
if (ignored.indexOf(name) !== -1) {
|
|
21
|
-
return ''
|
|
22
|
-
}
|
|
23
|
-
return html`
|
|
24
|
-
<span class="container">
|
|
25
|
-
<ui-icon icon="${name}" class="icon"></ui-icon>
|
|
26
|
-
<span>${name}</span>
|
|
27
|
-
</span>
|
|
28
|
-
`
|
|
29
|
-
})}
|
|
30
|
-
</div>
|
|
31
|
-
|
|
32
|
-
<h2>With child node</h2>
|
|
33
|
-
<div class="set">
|
|
34
|
-
${keys.map((name) => {
|
|
35
|
-
if (ignored.indexOf(name) !== -1) {
|
|
36
|
-
return ''
|
|
37
|
-
}
|
|
38
|
-
return html`
|
|
39
|
-
<span class="container">
|
|
40
|
-
<ui-icon class="icon">${icons[name]}</ui-icon>
|
|
41
|
-
<span>${name}</span>
|
|
42
|
-
</span>
|
|
43
|
-
`
|
|
44
|
-
})}
|
|
45
|
-
</div>
|
|
46
|
-
</section>
|
|
47
|
-
`
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const instance = new ComponentDemoPage()
|
|
52
|
-
instance.render()
|
package/demo/elements/index.html
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en-GB">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<title>API Client UI</title>
|
|
6
|
-
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0">
|
|
7
|
-
<link
|
|
8
|
-
href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"
|
|
9
|
-
rel="stylesheet"
|
|
10
|
-
/>
|
|
11
|
-
<link href="../../src/styles/m3/tokens.css" rel="stylesheet" type="text/css" />
|
|
12
|
-
<link href="../../src/styles/m3/theme.css" rel="stylesheet" type="text/css" />
|
|
13
|
-
<link href="../page.css" rel="stylesheet" type="text/css" />
|
|
14
|
-
</head>
|
|
15
|
-
<body>
|
|
16
|
-
<main>
|
|
17
|
-
<h1>The web components library</h1>
|
|
18
|
-
<a href="../">Back</a>
|
|
19
|
-
<nav>
|
|
20
|
-
<dl>
|
|
21
|
-
|
|
22
|
-
<dt><a href="autocomplete/index.html">Autocomplete input</a></dt>
|
|
23
|
-
<dd>Turns an input element into an autocomplete.</dd>
|
|
24
|
-
|
|
25
|
-
<dt><a href="authorization/index.html">Authorization element</a></dt>
|
|
26
|
-
<dd>Elements to define HTTP authorization.</dd>
|
|
27
|
-
|
|
28
|
-
<dt><a href="code-editor/index.html">Code editor</a></dt>
|
|
29
|
-
<dd>An element that render a code editor.</dd>
|
|
30
|
-
|
|
31
|
-
<dt><a href="context-menu/index.html">Context menu</a></dt>
|
|
32
|
-
<dd>An element that render a context menu.</dd>
|
|
33
|
-
|
|
34
|
-
<dt><a href="currency/index.html">Currency picker</a></dt>
|
|
35
|
-
<dd>A component for selecting currencies with chips display.</dd>
|
|
36
|
-
|
|
37
|
-
<dt><a href="environment/index.html">Environment</a></dt>
|
|
38
|
-
<dd>The environment elements library.</dd>
|
|
39
|
-
|
|
40
|
-
<dt><a href="har/index.html">HAR utilities</a></dt>
|
|
41
|
-
<dd>Elements related to processing and visualizing HAR data.</dd>
|
|
42
|
-
|
|
43
|
-
<dt><a href="highlight/index.html">Highlight</a></dt>
|
|
44
|
-
<dd>The syntax highlighting library.</dd>
|
|
45
|
-
|
|
46
|
-
<dt><a href="http/index.html">HTTP</a></dt>
|
|
47
|
-
<dd>The HTTP UI library.</dd>
|
|
48
|
-
|
|
49
|
-
<dt><a href="http-client/index.html">HTTP Client</a></dt>
|
|
50
|
-
<dd>The HTTP Client UI library.</dd>
|
|
51
|
-
|
|
52
|
-
<dt><a href="mention-textarea/index.html">Mention Textarea</a></dt>
|
|
53
|
-
<dd>The mention-textarea component.</dd>
|
|
54
|
-
|
|
55
|
-
<dt><a href="navigation/navigation.html">Navigation Menu</a></dt>
|
|
56
|
-
<dd>The navigation component.</dd>
|
|
57
|
-
<dt><a href="navigation/navigation-item.html">Navigation Item</a></dt>
|
|
58
|
-
<dd>The navigation-item component.</dd>
|
|
59
|
-
|
|
60
|
-
<dt><a href="icons/index.html">Icons</a></dt>
|
|
61
|
-
<dd>The icons library.</dd>
|
|
62
|
-
|
|
63
|
-
<dt><a href="project/index.html">HTTP project</a></dt>
|
|
64
|
-
<dd>Elements related to HTTP project.</dd>
|
|
65
|
-
|
|
66
|
-
<dt><a href="user/user-avatar.html">User avatar</a></dt>
|
|
67
|
-
<dd>User avatar element.</dd>
|
|
68
|
-
</dl>
|
|
69
|
-
</nav>
|
|
70
|
-
</main>
|
|
71
|
-
</body>
|
|
72
|
-
</html>
|