@api-client/ui 0.2.3 → 0.2.4
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/.vscode/settings.json +3 -3
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.js +7 -7
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/Authorization.styles.js +4 -4
- package/build/src/elements/authorization/ui/Authorization.styles.js.map +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.js +5 -5
- package/build/src/elements/authorization/ui/BasicAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.js +3 -3
- package/build/src/elements/authorization/ui/BearerAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.js +7 -7
- package/build/src/elements/authorization/ui/NtlmAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.js +32 -27
- package/build/src/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
- package/build/src/elements/authorization/ui/OidcAuthorization.js +4 -4
- package/build/src/elements/authorization/ui/OidcAuthorization.js.map +1 -1
- package/build/src/elements/autocomplete/autocomplete-input.d.ts +10 -0
- package/build/src/elements/autocomplete/autocomplete-input.d.ts.map +1 -0
- package/build/src/{md/text-field/ui-text-field.js → elements/autocomplete/autocomplete-input.js} +9 -9
- package/build/src/elements/autocomplete/autocomplete-input.js.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.d.ts +209 -0
- package/build/src/elements/autocomplete/internals/autocomplete.d.ts.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.js +493 -0
- package/build/src/elements/autocomplete/internals/autocomplete.js.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.d.ts +3 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.d.ts.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.js +25 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.js.map +1 -0
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.d.ts +1 -1
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.js +5 -5
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.js.map +1 -1
- package/build/src/elements/dialog/internals/Rename.d.ts +1 -1
- package/build/src/elements/dialog/internals/Rename.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/Rename.js +3 -3
- package/build/src/elements/dialog/internals/Rename.js.map +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.d.ts +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.js +9 -9
- package/build/src/elements/dialog/internals/SetCookieAction.element.js.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.d.ts +1 -1
- package/build/src/elements/environment/EnvironmentEditor.d.ts.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.js +3 -3
- package/build/src/elements/environment/EnvironmentEditor.js.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.styles.js +1 -1
- package/build/src/elements/environment/EnvironmentEditor.styles.js.map +1 -1
- package/build/src/elements/environment/ServerEditor.d.ts +1 -1
- package/build/src/elements/environment/ServerEditor.d.ts.map +1 -1
- package/build/src/elements/environment/ServerEditor.js +7 -7
- package/build/src/elements/environment/ServerEditor.js.map +1 -1
- package/build/src/elements/environment/ServerEditor.styles.js +1 -1
- package/build/src/elements/environment/ServerEditor.styles.js.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.js +4 -0
- package/build/src/elements/http/BodyMultipartEditor.js.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.d.ts +1 -1
- package/build/src/elements/http/CertificateAdd.element.d.ts.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.js +8 -8
- package/build/src/elements/http/CertificateAdd.element.js.map +1 -1
- package/build/src/elements/http/CertificateAdd.styles.js +1 -1
- package/build/src/elements/http/CertificateAdd.styles.js.map +1 -1
- package/build/src/elements/http/HttpAssertions.element.js +3 -3
- package/build/src/elements/http/HttpAssertions.element.js.map +1 -1
- package/build/src/elements/http/HttpFlows.element.js +3 -3
- package/build/src/elements/http/HttpFlows.element.js.map +1 -1
- package/build/src/elements/http/HttpFlowsUi.d.ts +1 -1
- package/build/src/elements/http/HttpFlowsUi.d.ts.map +1 -1
- package/build/src/elements/http/HttpFlowsUi.js +31 -31
- package/build/src/elements/http/HttpFlowsUi.js.map +1 -1
- package/build/src/elements/http/RequestConfigElement.d.ts +1 -1
- package/build/src/elements/http/RequestConfigElement.d.ts.map +1 -1
- package/build/src/elements/http/RequestConfigElement.js +7 -7
- package/build/src/elements/http/RequestConfigElement.js.map +1 -1
- package/build/src/elements/http/UrlParamsForm.d.ts +1 -1
- package/build/src/elements/http/UrlParamsForm.d.ts.map +1 -1
- package/build/src/elements/http/UrlParamsForm.js +1 -1
- package/build/src/elements/http/UrlParamsForm.js.map +1 -1
- package/build/src/elements/project/ProjectRunner.d.ts +1 -1
- package/build/src/elements/project/ProjectRunner.d.ts.map +1 -1
- package/build/src/elements/project/ProjectRunner.js +5 -5
- package/build/src/elements/project/ProjectRunner.js.map +1 -1
- package/build/src/md/input/Input.d.ts +0 -15
- package/build/src/md/input/Input.d.ts.map +1 -1
- package/build/src/md/input/Input.js +7 -42
- package/build/src/md/input/Input.js.map +1 -1
- package/build/src/md/list/internals/List.d.ts +7 -2
- package/build/src/md/list/internals/List.d.ts.map +1 -1
- package/build/src/md/list/internals/List.js +6 -0
- package/build/src/md/list/internals/List.js.map +1 -1
- package/build/src/md/list/internals/ListItem.styles.d.ts.map +1 -1
- package/build/src/md/list/internals/ListItem.styles.js +8 -0
- package/build/src/md/list/internals/ListItem.styles.js.map +1 -1
- package/build/src/md/listbox/internals/Listbox.d.ts +2 -2
- package/build/src/md/listbox/internals/Listbox.d.ts.map +1 -1
- package/build/src/md/listbox/internals/Listbox.js.map +1 -1
- package/build/src/md/text-area/internals/TextAreaElement.d.ts.map +1 -1
- package/build/src/md/text-area/internals/TextAreaElement.js +0 -5
- package/build/src/md/text-area/internals/TextAreaElement.js.map +1 -1
- package/build/src/md/text-area/ui-text-area.d.ts.map +1 -1
- package/build/src/md/text-area/ui-text-area.js +3 -2
- package/build/src/md/text-area/ui-text-area.js.map +1 -1
- package/build/src/md/text-field/internals/{TextFieldElement.d.ts → TextField.d.ts} +2 -2
- package/build/src/md/text-field/internals/TextField.d.ts.map +1 -0
- package/build/src/md/text-field/internals/{TextFieldElement.js → TextField.js} +2 -5
- package/build/src/md/text-field/internals/TextField.js.map +1 -0
- package/build/src/md/text-field/internals/{TextField.styles.d.ts → common.styles.d.ts} +1 -1
- package/build/src/md/text-field/internals/common.styles.d.ts.map +1 -0
- package/build/src/md/text-field/internals/{TextField.styles.js → common.styles.js} +8 -94
- package/build/src/md/text-field/internals/common.styles.js.map +1 -0
- package/build/src/md/text-field/internals/filled.styles.d.ts +3 -0
- package/build/src/md/text-field/internals/filled.styles.d.ts.map +1 -0
- package/build/src/md/text-field/internals/filled.styles.js +107 -0
- package/build/src/md/text-field/internals/filled.styles.js.map +1 -0
- package/build/src/md/text-field/internals/outlined.styles.d.ts +3 -0
- package/build/src/md/text-field/internals/outlined.styles.d.ts.map +1 -0
- package/build/src/md/text-field/internals/outlined.styles.js +43 -0
- package/build/src/md/text-field/internals/outlined.styles.js.map +1 -0
- package/build/src/md/text-field/ui-filled-text-field.d.ts +11 -0
- package/build/src/md/text-field/ui-filled-text-field.d.ts.map +1 -0
- package/build/src/md/text-field/ui-filled-text-field.js +28 -0
- package/build/src/md/text-field/ui-filled-text-field.js.map +1 -0
- package/build/src/md/text-field/ui-outlined-text-field.d.ts +11 -0
- package/build/src/md/text-field/ui-outlined-text-field.d.ts.map +1 -0
- package/build/src/md/text-field/ui-outlined-text-field.js +28 -0
- package/build/src/md/text-field/ui-outlined-text-field.js.map +1 -0
- package/build/src/types/input.d.ts +1 -1
- package/build/src/types/input.d.ts.map +1 -1
- package/build/src/types/input.js.map +1 -1
- package/demo/elements/authorization/oauth-authorize.html +4 -4
- package/demo/elements/authorization/oauth-authorize.ts +1 -1
- package/demo/elements/autocomplete/index.html +24 -0
- package/demo/elements/autocomplete/index.ts +123 -0
- package/demo/elements/http/body-editor.ts +3 -3
- package/demo/elements/index.html +15 -11
- package/demo/md/index.html +1 -1
- package/demo/md/inputs/input.html +10 -15
- package/demo/md/inputs/input.ts +389 -101
- package/demo/page.css +4 -0
- package/package.json +1 -1
- package/src/elements/authorization/ui/ApiKeyAuthorization.ts +7 -7
- package/src/elements/authorization/ui/Authorization.styles.ts +4 -4
- package/src/elements/authorization/ui/BasicAuthorization.ts +5 -5
- package/src/elements/authorization/ui/BearerAuthorization.ts +3 -3
- package/src/elements/authorization/ui/NtlmAuthorization.ts +7 -7
- package/src/elements/authorization/ui/OAuth2Authorization.ts +32 -27
- package/src/elements/authorization/ui/OidcAuthorization.ts +4 -4
- package/src/elements/autocomplete/autocomplete-input.ts +14 -0
- package/src/elements/autocomplete/internals/autocomplete.styles.ts +25 -0
- package/src/elements/autocomplete/internals/autocomplete.ts +490 -0
- package/src/elements/dialog/internals/DeleteCookieAction.element.ts +5 -5
- package/src/elements/dialog/internals/Rename.ts +3 -3
- package/src/elements/dialog/internals/SetCookieAction.element.ts +9 -9
- package/src/elements/environment/EnvironmentEditor.styles.ts +1 -1
- package/src/elements/environment/EnvironmentEditor.ts +3 -3
- package/src/elements/environment/ServerEditor.styles.ts +1 -1
- package/src/elements/environment/ServerEditor.ts +7 -7
- package/src/elements/http/BodyMultipartEditor.ts +4 -0
- package/src/elements/http/CertificateAdd.element.ts +8 -8
- package/src/elements/http/CertificateAdd.styles.ts +1 -1
- package/src/elements/http/HttpAssertions.element.ts +3 -3
- package/src/elements/http/HttpFlows.element.ts +3 -3
- package/src/elements/http/HttpFlowsUi.ts +31 -31
- package/src/elements/http/RequestConfigElement.ts +7 -7
- package/src/elements/http/UrlParamsForm.ts +1 -1
- package/src/elements/project/ProjectRunner.ts +5 -5
- package/src/md/input/Input.ts +6 -21
- package/src/md/list/internals/List.ts +14 -2
- package/src/md/list/internals/ListItem.styles.ts +8 -0
- package/src/md/listbox/internals/Listbox.ts +2 -2
- package/src/md/text-area/internals/TextAreaElement.ts +0 -5
- package/src/md/text-area/ui-text-area.ts +3 -2
- package/src/md/text-field/internals/{TextFieldElement.ts → TextField.ts} +1 -4
- package/src/md/text-field/internals/{TextField.styles.ts → common.styles.ts} +7 -93
- package/src/md/text-field/internals/filled.styles.ts +107 -0
- package/src/md/text-field/internals/outlined.styles.ts +43 -0
- package/src/md/text-field/ui-filled-text-field.ts +16 -0
- package/src/md/text-field/ui-outlined-text-field.ts +16 -0
- package/src/types/input.ts +0 -1
- package/test/elements/authorization/basic-method.test.ts +3 -3
- package/test/elements/authorization/bearer-method.test.ts +2 -2
- package/test/elements/authorization/ntlm-method.test.ts +4 -4
- package/test/elements/autocomplete/autocomplete-input.spec.ts +448 -0
- package/test/elements/http/BodyMultipartEditorElement.test.ts +15 -16
- package/test/elements/http/CertificateAdd.test.ts +11 -11
- package/test/elements/http/HttpAssertions.test.ts +9 -9
- package/test/elements/http/HttpFlows.test.ts +4 -4
- package/build/src/md/text-field/internals/TextField.styles.d.ts.map +0 -1
- package/build/src/md/text-field/internals/TextField.styles.js.map +0 -1
- package/build/src/md/text-field/internals/TextFieldElement.d.ts.map +0 -1
- package/build/src/md/text-field/internals/TextFieldElement.js.map +0 -1
- package/build/src/md/text-field/ui-text-field.d.ts +0 -11
- package/build/src/md/text-field/ui-text-field.d.ts.map +0 -1
- package/build/src/md/text-field/ui-text-field.js.map +0 -1
- package/src/md/text-field/ui-text-field.ts +0 -15
|
@@ -19,9 +19,15 @@ export interface UiListSelection {
|
|
|
19
19
|
index: number
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
export interface UiListItemsChange {
|
|
23
|
+
items: UiListItem[]
|
|
24
|
+
}
|
|
25
|
+
|
|
22
26
|
/**
|
|
23
27
|
* @fires select - Dispatched when the user click or press `Enter` or `Space` on any active list item.
|
|
24
28
|
* The `event.detail` object contains the `item` and `index` properties.
|
|
29
|
+
* @fires itemschange - Dispatched when the list items change, e.g. when the slot changes.
|
|
30
|
+
* The `event.detail` object contains the `items` property with the list of items.
|
|
25
31
|
*/
|
|
26
32
|
export default class UiList extends LitElement {
|
|
27
33
|
/**
|
|
@@ -102,6 +108,9 @@ export default class UiList extends LitElement {
|
|
|
102
108
|
if (this.highlightListItem && !items.includes(this.highlightListItem)) {
|
|
103
109
|
this.highlightListItem = null
|
|
104
110
|
}
|
|
111
|
+
this.dispatchEvent(
|
|
112
|
+
new CustomEvent<UiListItemsChange>('itemschange', { bubbles: false, composed: false, detail: { items } })
|
|
113
|
+
)
|
|
105
114
|
}
|
|
106
115
|
|
|
107
116
|
/**
|
|
@@ -195,7 +204,10 @@ export default class UiList extends LitElement {
|
|
|
195
204
|
item.deactivate()
|
|
196
205
|
}
|
|
197
206
|
|
|
198
|
-
protected activateListItem(item
|
|
207
|
+
protected activateListItem(item?: UiListItem | null): void {
|
|
208
|
+
if (!item) {
|
|
209
|
+
return
|
|
210
|
+
}
|
|
199
211
|
this.removeAttribute('tabindex')
|
|
200
212
|
item.activate()
|
|
201
213
|
item.scrollIntoView({ block: 'end', inline: 'nearest' })
|
|
@@ -299,7 +311,7 @@ export default class UiList extends LitElement {
|
|
|
299
311
|
this.activateFromEvent(event)
|
|
300
312
|
}
|
|
301
313
|
|
|
302
|
-
protected highlightItem(item?: UiListItem): void {
|
|
314
|
+
protected highlightItem(item?: UiListItem | null): void {
|
|
303
315
|
if (this.highlightListItem) {
|
|
304
316
|
this.highlightListItem.classList.remove('highlight')
|
|
305
317
|
}
|
|
@@ -55,13 +55,13 @@ export default class UiListbox extends UiList {
|
|
|
55
55
|
this.setAttribute('aria-activedescendant', item.id)
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
override highlightItem(item?: UiListItem | null): void {
|
|
59
59
|
this.beforeActivation()
|
|
60
60
|
super.highlightItem(item)
|
|
61
61
|
this.afterActivation(this.highlightListItem)
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
override activateListItem(item: UiListItem | null): void {
|
|
65
65
|
this.beforeActivation()
|
|
66
66
|
super.activateListItem(item)
|
|
67
67
|
this.afterActivation(this.activeListItem)
|
|
@@ -36,9 +36,7 @@ export default class TextAreaElement extends Input {
|
|
|
36
36
|
const placeholderValue = this.placeholder || undefined
|
|
37
37
|
const maxLengthValue = this.maxLength > -1 ? this.maxLength : undefined
|
|
38
38
|
const minLengthValue = this.minLength > -1 ? this.minLength : undefined
|
|
39
|
-
const patternValue = this.pattern || undefined
|
|
40
39
|
const roleValue = this.dataRole || undefined
|
|
41
|
-
const stepValue = this.step || undefined
|
|
42
40
|
const { disabled } = this
|
|
43
41
|
|
|
44
42
|
const style: StyleInfo = {}
|
|
@@ -62,16 +60,13 @@ export default class TextAreaElement extends Input {
|
|
|
62
60
|
.value=${live(this.getInputValue())}
|
|
63
61
|
maxlength=${ifDefined(maxLengthValue)}
|
|
64
62
|
minlength=${ifDefined(minLengthValue)}
|
|
65
|
-
pattern=${ifDefined(patternValue)}
|
|
66
63
|
placeholder=${ifDefined(placeholderValue)}
|
|
67
64
|
role=${ifDefined(roleValue as 'textbox')}
|
|
68
65
|
?disabled=${disabled}
|
|
69
66
|
?readonly=${this.readOnly}
|
|
70
67
|
?required=${this.required}
|
|
71
|
-
step=${ifDefined(stepValue as unknown as number)}
|
|
72
68
|
autocomplete="${ifDefined(this.autocomplete)}"
|
|
73
69
|
autocapitalize="${ifDefined(this.autocapitalize)}"
|
|
74
|
-
autocorrect="${ifDefined(this.autocorrect)}"
|
|
75
70
|
inputmode="${ifDefined(this.inputMode)}"
|
|
76
71
|
cols="${ifDefined(this.cols)}"
|
|
77
72
|
rows="${ifDefined(this.rows)}"
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { CSSResultOrNative } from 'lit'
|
|
2
2
|
import { customElement } from 'lit/decorators.js'
|
|
3
3
|
import Element from './internals/TextAreaElement.js'
|
|
4
|
-
import styles from '../text-field/internals/
|
|
4
|
+
import styles from '../text-field/internals/filled.styles.js'
|
|
5
|
+
import common from '../text-field/internals/common.styles.js'
|
|
5
6
|
|
|
6
7
|
@customElement('ui-text-area')
|
|
7
8
|
export class UiTextAreaElement extends Element {
|
|
8
|
-
static override styles: CSSResultOrNative[] = [styles]
|
|
9
|
+
static override styles: CSSResultOrNative[] = [common, styles]
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
declare global {
|
|
@@ -4,7 +4,7 @@ import { live } from 'lit/directives/live.js'
|
|
|
4
4
|
import { StyleInfo, styleMap } from 'lit/directives/style-map.js'
|
|
5
5
|
import Input from '../../input/Input.js'
|
|
6
6
|
|
|
7
|
-
export default class
|
|
7
|
+
export default class TextField extends Input {
|
|
8
8
|
protected override renderInput(): TemplateResult {
|
|
9
9
|
const placeholderValue = this.placeholder || undefined
|
|
10
10
|
const maxValue = this.max || undefined
|
|
@@ -49,10 +49,8 @@ export default class TextFieldElement extends Input {
|
|
|
49
49
|
step=${ifDefined(stepValue as unknown as number)}
|
|
50
50
|
autocomplete="${ifDefined(this.autocomplete)}"
|
|
51
51
|
autocapitalize="${ifDefined(this.autocapitalize)}"
|
|
52
|
-
autocorrect="${ifDefined(this.autocorrect)}"
|
|
53
52
|
inputmode="${ifDefined(this.inputMode)}"
|
|
54
53
|
size="${ifDefined(this.size)}"
|
|
55
|
-
results="${ifDefined(this.results)}"
|
|
56
54
|
accept="${ifDefined(this.accept)}"
|
|
57
55
|
?multiple="${this.multiple}"
|
|
58
56
|
spellcheck="${ifDefined(this.spellcheck)}"
|
|
@@ -61,7 +59,6 @@ export default class TextFieldElement extends Input {
|
|
|
61
59
|
@input=${this.handleInput}
|
|
62
60
|
@select=${this.retargetEvent}
|
|
63
61
|
@invalid=${this.invalidHandler}
|
|
64
|
-
@search="${this.retargetEvent}"
|
|
65
62
|
aria-activedescendant=${ifDefined(ariaActiveDescendantValue)}
|
|
66
63
|
aria-autocomplete=${ifDefined(ariaAutoCompleteValue)}
|
|
67
64
|
aria-controls=${ifDefined(ariaControlsValue)}
|
|
@@ -9,11 +9,6 @@ export default css`
|
|
|
9
9
|
-webkit-tap-highlight-color: transparent;
|
|
10
10
|
cursor: text;
|
|
11
11
|
|
|
12
|
-
--_active-indicator-color: var(--md-sys-color-on-surface-variant);
|
|
13
|
-
--_active-indicator-height: 1px;
|
|
14
|
-
--_focus-active-indicator-color: var(--md-sys-color-primary, #6750a4);
|
|
15
|
-
--_focus-active-indicator-height: 2px;
|
|
16
|
-
|
|
17
12
|
min-width: 200px;
|
|
18
13
|
}
|
|
19
14
|
|
|
@@ -22,7 +17,6 @@ export default css`
|
|
|
22
17
|
position: relative;
|
|
23
18
|
display: flex;
|
|
24
19
|
align-items: center;
|
|
25
|
-
border-radius: var(--md-sys-shape-corner-extra-small-top);
|
|
26
20
|
cursor: inherit;
|
|
27
21
|
}
|
|
28
22
|
|
|
@@ -30,7 +24,6 @@ export default css`
|
|
|
30
24
|
position: absolute;
|
|
31
25
|
inset: 0;
|
|
32
26
|
z-index: 1;
|
|
33
|
-
background-color: var(--md-sys-color-surface-variant);
|
|
34
27
|
border-radius: inherit;
|
|
35
28
|
}
|
|
36
29
|
|
|
@@ -48,8 +41,6 @@ export default css`
|
|
|
48
41
|
|
|
49
42
|
.body {
|
|
50
43
|
flex: 1;
|
|
51
|
-
overflow: hidden;
|
|
52
|
-
padding-top: 1em;
|
|
53
44
|
box-sizing: border-box;
|
|
54
45
|
position: relative;
|
|
55
46
|
cursor: inherit;
|
|
@@ -57,6 +48,7 @@ export default css`
|
|
|
57
48
|
|
|
58
49
|
.label {
|
|
59
50
|
color: var(--md-sys-color-on-surface-variant);
|
|
51
|
+
|
|
60
52
|
max-width: 100%;
|
|
61
53
|
pointer-events: none;
|
|
62
54
|
overflow: hidden;
|
|
@@ -64,25 +56,14 @@ export default css`
|
|
|
64
56
|
white-space: nowrap;
|
|
65
57
|
z-index: 3;
|
|
66
58
|
|
|
67
|
-
position: absolute;
|
|
68
|
-
transform: translateY(-1.35rem) scale(0.8);
|
|
69
|
-
transform-origin: left center;
|
|
70
|
-
top: 50%;
|
|
71
|
-
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
72
|
-
|
|
73
59
|
font-family: var(--md-sys-typescale-body-large-font);
|
|
74
60
|
font-weight: var(--md-sys-typescale-body-large-weight);
|
|
75
61
|
font-size: var(--md-sys-typescale-body-large-size);
|
|
76
62
|
letter-spacing: var(--md-sys-typescale-body-large-tracking);
|
|
77
63
|
line-height: var(--md-sys-typescale-body-large-height);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.labelResting .label {
|
|
81
|
-
transform: translateY(-50%) scale(1);
|
|
82
|
-
}
|
|
83
64
|
|
|
84
|
-
|
|
85
|
-
|
|
65
|
+
transform-origin: left center;
|
|
66
|
+
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
86
67
|
}
|
|
87
68
|
|
|
88
69
|
.input {
|
|
@@ -151,51 +132,6 @@ export default css`
|
|
|
151
132
|
cursor: default;
|
|
152
133
|
}
|
|
153
134
|
|
|
154
|
-
.highlight {
|
|
155
|
-
inset: auto 0px 0px;
|
|
156
|
-
pointer-events: none;
|
|
157
|
-
position: absolute;
|
|
158
|
-
width: 100%;
|
|
159
|
-
z-index: 4;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
.highlight::before {
|
|
163
|
-
content: '';
|
|
164
|
-
border-bottom: 1px solid var(--md-sys-color-on-surface-variant);
|
|
165
|
-
inset: auto 0px 0px;
|
|
166
|
-
position: absolute;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
.highlight::after {
|
|
170
|
-
content: '';
|
|
171
|
-
border-bottom-color: var(--md-sys-color-primary);
|
|
172
|
-
border-bottom-width: 2px;
|
|
173
|
-
border-bottom-style: solid;
|
|
174
|
-
opacity: 0;
|
|
175
|
-
transform: scaleX(0);
|
|
176
|
-
transform-origin: center center;
|
|
177
|
-
|
|
178
|
-
transition:
|
|
179
|
-
opacity 150ms cubic-bezier(0.4, 0, 0.2, 1) 0s,
|
|
180
|
-
transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 150ms;
|
|
181
|
-
|
|
182
|
-
position: absolute;
|
|
183
|
-
inset: auto 0px 0px;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
:host(:focus-within) .highlight::after {
|
|
187
|
-
opacity: 1;
|
|
188
|
-
transform: scaleX(1);
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
.labelHidden .label {
|
|
192
|
-
display: none;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
.labelHidden .body {
|
|
196
|
-
padding-top: 0;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
135
|
.supporting-text {
|
|
200
136
|
padding-top: 4px;
|
|
201
137
|
color: var(--md-sys-color-on-surface-variant);
|
|
@@ -217,19 +153,6 @@ export default css`
|
|
|
217
153
|
margin-right: 16px;
|
|
218
154
|
}
|
|
219
155
|
|
|
220
|
-
.container::before {
|
|
221
|
-
content: '';
|
|
222
|
-
position: absolute;
|
|
223
|
-
inset: 0;
|
|
224
|
-
opacity: 0;
|
|
225
|
-
background-color: var(--md-sys-color-on-surface-variant);
|
|
226
|
-
transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
:host(:hover) .container::before {
|
|
230
|
-
opacity: var(--md-sys-state-hover-state-layer-opacity);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
156
|
:host([disabled]) {
|
|
234
157
|
pointer-events: none;
|
|
235
158
|
}
|
|
@@ -239,11 +162,6 @@ export default css`
|
|
|
239
162
|
opacity: 0.04;
|
|
240
163
|
}
|
|
241
164
|
|
|
242
|
-
:host([disabled]) .highlight::before {
|
|
243
|
-
border-bottom-color: var(--md-sys-color-on-surface);
|
|
244
|
-
opacity: 0.38;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
165
|
:host([disabled]) .label,
|
|
248
166
|
:host([disabled]) .input,
|
|
249
167
|
:host([disabled]) .end ::slotted(*),
|
|
@@ -252,22 +170,18 @@ export default css`
|
|
|
252
170
|
opacity: 0.38;
|
|
253
171
|
}
|
|
254
172
|
|
|
255
|
-
:host([invalid]) .highlight::before {
|
|
256
|
-
border-bottom-color: var(--md-sys-color-error);
|
|
257
|
-
}
|
|
258
|
-
|
|
259
173
|
:host([invalid]) .label,
|
|
260
174
|
:host([invalid]) .supporting-text,
|
|
261
175
|
:host([invalid]) .end ::slotted(*) {
|
|
262
176
|
color: var(--md-sys-color-error);
|
|
263
177
|
}
|
|
264
178
|
|
|
265
|
-
:host([invalid]:hover) .highlight::before {
|
|
266
|
-
border-bottom-color: var(--md-sys-color-on-error-container);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
179
|
:host([invalid]:hover) .label,
|
|
270
180
|
:host([invalid]:hover) .end ::slotted(*) {
|
|
271
181
|
color: var(--md-sys-color-on-error-container);
|
|
272
182
|
}
|
|
183
|
+
|
|
184
|
+
.labelHidden .label {
|
|
185
|
+
display: none;
|
|
186
|
+
}
|
|
273
187
|
`
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { css } from 'lit'
|
|
2
|
+
|
|
3
|
+
export default css`
|
|
4
|
+
:host {
|
|
5
|
+
--_active-indicator-color: var(--md-sys-color-on-surface-variant);
|
|
6
|
+
--_active-indicator-height: 1px;
|
|
7
|
+
--_focus-active-indicator-color: var(--md-sys-color-primary, #6750a4);
|
|
8
|
+
--_focus-active-indicator-height: 2px;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.surface {
|
|
12
|
+
height: 56px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.container {
|
|
16
|
+
background-color: var(--md-sys-color-surface-variant);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.body {
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.label {
|
|
24
|
+
position: absolute;
|
|
25
|
+
transform: translateY(-1.35rem) scale(0.8);
|
|
26
|
+
top: 50%;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.labelResting .label {
|
|
30
|
+
transform: translateY(-50%) scale(1);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
:host(:focus-within) .label {
|
|
34
|
+
color: var(--md-sys-color-primary);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.highlight {
|
|
38
|
+
inset: auto 0px 0px;
|
|
39
|
+
pointer-events: none;
|
|
40
|
+
position: absolute;
|
|
41
|
+
width: 100%;
|
|
42
|
+
z-index: 4;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.highlight::before {
|
|
46
|
+
content: '';
|
|
47
|
+
border-bottom: 1px solid var(--md-sys-color-on-surface-variant);
|
|
48
|
+
inset: auto 0px 0px;
|
|
49
|
+
position: absolute;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.highlight::after {
|
|
53
|
+
content: '';
|
|
54
|
+
border-bottom-color: var(--md-sys-color-primary);
|
|
55
|
+
border-bottom-width: 2px;
|
|
56
|
+
border-bottom-style: solid;
|
|
57
|
+
opacity: 0;
|
|
58
|
+
transform: scaleX(0);
|
|
59
|
+
transform-origin: center center;
|
|
60
|
+
|
|
61
|
+
transition:
|
|
62
|
+
opacity 150ms cubic-bezier(0.4, 0, 0.2, 1) 0s,
|
|
63
|
+
transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 150ms;
|
|
64
|
+
|
|
65
|
+
position: absolute;
|
|
66
|
+
inset: auto 0px 0px;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
:host(:focus-within) .highlight::after {
|
|
70
|
+
opacity: 1;
|
|
71
|
+
transform: scaleX(1);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
:host([disabled]) .highlight::before {
|
|
75
|
+
border-bottom-color: var(--md-sys-color-on-surface);
|
|
76
|
+
opacity: 0.38;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
:host([invalid]) .highlight::before {
|
|
80
|
+
border-bottom-color: var(--md-sys-color-error);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
:host([invalid]:hover) .highlight::before {
|
|
84
|
+
border-bottom-color: var(--md-sys-color-on-error-container);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.labelHidden .body {
|
|
88
|
+
padding-top: 0;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.container::before {
|
|
92
|
+
content: '';
|
|
93
|
+
position: absolute;
|
|
94
|
+
inset: 0;
|
|
95
|
+
opacity: 0;
|
|
96
|
+
background-color: var(--md-sys-color-on-surface-variant);
|
|
97
|
+
transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
:host(:hover) .container::before {
|
|
101
|
+
opacity: var(--md-sys-state-hover-state-layer-opacity);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.body {
|
|
105
|
+
padding-top: 1em;
|
|
106
|
+
}
|
|
107
|
+
`
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { css } from 'lit'
|
|
2
|
+
|
|
3
|
+
export default css`
|
|
4
|
+
.highlight {
|
|
5
|
+
display: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.surface {
|
|
9
|
+
border-radius: var(--md-sys-shape-corner-extra-small);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.container {
|
|
13
|
+
border: 1px var(--md-sys-color-outline) solid;
|
|
14
|
+
outline: 0px solid var(--md-sys-color-primary);
|
|
15
|
+
outline-offset: -3px;
|
|
16
|
+
transition:
|
|
17
|
+
border-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
|
|
18
|
+
outline-width 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
:host(:hover:not(:focus-within)) .container {
|
|
22
|
+
border-color: var(--md-sys-color-on-surface);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:host(:focus-within) .container {
|
|
26
|
+
border-color: var(--md-sys-color-primary);
|
|
27
|
+
outline-width: 3px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.label {
|
|
31
|
+
padding: 0 4px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.labelActive .label {
|
|
35
|
+
transform: translateY(calc(-100% - 2px)) scale(0.75);
|
|
36
|
+
position: absolute;
|
|
37
|
+
background-color: var(--md-sys-color-surface);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
:host(:focus-within) .label {
|
|
41
|
+
color: var(--md-sys-color-primary);
|
|
42
|
+
}
|
|
43
|
+
`
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CSSResultOrNative } from 'lit'
|
|
2
|
+
import { customElement } from 'lit/decorators.js'
|
|
3
|
+
import Element from './internals/TextField.js'
|
|
4
|
+
import styles from './internals/filled.styles.js'
|
|
5
|
+
import common from './internals/common.styles.js'
|
|
6
|
+
|
|
7
|
+
@customElement('ui-filled-text-field')
|
|
8
|
+
export class UiFilledTextFieldElement extends Element {
|
|
9
|
+
static override styles: CSSResultOrNative[] = [common, styles]
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
declare global {
|
|
13
|
+
interface HTMLElementTagNameMap {
|
|
14
|
+
'ui-filled-text-field': UiFilledTextFieldElement
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CSSResultOrNative } from 'lit'
|
|
2
|
+
import { customElement } from 'lit/decorators.js'
|
|
3
|
+
import Element from './internals/TextField.js'
|
|
4
|
+
import styles from './internals/outlined.styles.js'
|
|
5
|
+
import common from './internals/common.styles.js'
|
|
6
|
+
|
|
7
|
+
@customElement('ui-outlined-text-field')
|
|
8
|
+
export class UiOutlinedTextFieldElement extends Element {
|
|
9
|
+
static override styles: CSSResultOrNative[] = [common, styles]
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
declare global {
|
|
13
|
+
interface HTMLElementTagNameMap {
|
|
14
|
+
'ui-outlined-text-field': UiOutlinedTextFieldElement
|
|
15
|
+
}
|
|
16
|
+
}
|
package/src/types/input.ts
CHANGED
|
@@ -5,8 +5,8 @@ import Input from '../../../src/md/input/Input.js'
|
|
|
5
5
|
import '../../../src/define/authorization/basic-authorization.js'
|
|
6
6
|
|
|
7
7
|
describe('Basic method', () => {
|
|
8
|
-
const usernameSelector = 'ui-text-field[name="username"]'
|
|
9
|
-
const passwordSelector = 'ui-text-field[name="password"]'
|
|
8
|
+
const usernameSelector = 'ui-filled-text-field[name="username"]'
|
|
9
|
+
const passwordSelector = 'ui-filled-text-field[name="password"]'
|
|
10
10
|
|
|
11
11
|
const username = 'test-username'
|
|
12
12
|
const password = 'test-password'
|
|
@@ -54,7 +54,7 @@ describe('Basic method', () => {
|
|
|
54
54
|
})
|
|
55
55
|
|
|
56
56
|
it('has no other inputs', () => {
|
|
57
|
-
const controls = form.querySelectorAll('ui-text-field')
|
|
57
|
+
const controls = form.querySelectorAll('ui-filled-text-field')
|
|
58
58
|
assert.lengthOf(controls, 2)
|
|
59
59
|
})
|
|
60
60
|
})
|
|
@@ -5,7 +5,7 @@ import Input from '../../../src/md/input/Input.js'
|
|
|
5
5
|
import '../../../src/define/authorization/bearer-authorization.js'
|
|
6
6
|
|
|
7
7
|
describe('Bearer method', () => {
|
|
8
|
-
const tokenSelector = 'ui-text-field[name="token"]'
|
|
8
|
+
const tokenSelector = 'ui-filled-text-field[name="token"]'
|
|
9
9
|
const token = 'test-token'
|
|
10
10
|
|
|
11
11
|
async function basicFixture(auth?: IRequestAuthorization): Promise<Authorization> {
|
|
@@ -45,7 +45,7 @@ describe('Bearer method', () => {
|
|
|
45
45
|
})
|
|
46
46
|
|
|
47
47
|
it('has no other inputs', () => {
|
|
48
|
-
const controls = form.querySelectorAll('ui-text-field')
|
|
48
|
+
const controls = form.querySelectorAll('ui-filled-text-field')
|
|
49
49
|
assert.lengthOf(controls, 1)
|
|
50
50
|
})
|
|
51
51
|
})
|
|
@@ -5,9 +5,9 @@ import Input from '../../../src/md/input/Input.js'
|
|
|
5
5
|
import '../../../src/define/authorization/ntlm-authorization.js'
|
|
6
6
|
|
|
7
7
|
describe('NTLM method', () => {
|
|
8
|
-
const usernameSelector = 'ui-text-field[name="username"]'
|
|
9
|
-
const passwordSelector = 'ui-text-field[name="password"]'
|
|
10
|
-
const domainSelector = 'ui-text-field[name="domain"]'
|
|
8
|
+
const usernameSelector = 'ui-filled-text-field[name="username"]'
|
|
9
|
+
const passwordSelector = 'ui-filled-text-field[name="password"]'
|
|
10
|
+
const domainSelector = 'ui-filled-text-field[name="domain"]'
|
|
11
11
|
|
|
12
12
|
const username = 'test-username'
|
|
13
13
|
const password = 'test-password'
|
|
@@ -71,7 +71,7 @@ describe('NTLM method', () => {
|
|
|
71
71
|
})
|
|
72
72
|
|
|
73
73
|
it('has no other inputs', () => {
|
|
74
|
-
const controls = form.querySelectorAll('ui-text-field')
|
|
74
|
+
const controls = form.querySelectorAll('ui-filled-text-field')
|
|
75
75
|
assert.lengthOf(controls, 3)
|
|
76
76
|
})
|
|
77
77
|
})
|