igniteui-webcomponents 2.2.0-beta.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -11
- package/components/button/themes/button/light/button.base.css.js +1 -1
- package/components/button/themes/button/light/button.base.css.js.map +1 -1
- package/components/button/themes/button/light/button.bootstrap.css.js +1 -1
- package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
- package/components/button/themes/button/light/button.fluent.css.js +1 -1
- package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
- package/components/button/themes/button/light/button.indigo.css.js +1 -1
- package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
- package/components/button/themes/button/light/button.material.css.js +1 -1
- package/components/button/themes/button/light/button.material.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.base.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.fluent.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.indigo.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
- package/components/calendar/common/calendar-base.js +5 -1
- package/components/calendar/common/calendar-base.js.map +1 -1
- package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js +1 -1
- package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/calendar.base.css.js +1 -1
- package/components/calendar/themes/calendar.base.css.js.map +1 -1
- package/components/calendar/themes/days-view.base.css.js +1 -1
- package/components/calendar/themes/days-view.base.css.js.map +1 -1
- package/components/calendar/themes/fluent/calendar.fluent.css.js +1 -1
- package/components/calendar/themes/fluent/calendar.fluent.css.js.map +1 -1
- package/components/calendar/themes/fluent/days-view.fluent.css.js +1 -1
- package/components/calendar/themes/fluent/days-view.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.fluent.css.js +1 -1
- package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.material.css.js +1 -1
- package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.bootstrap.css.js +1 -1
- package/components/checkbox/themes/light/switch.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.fluent.css.js +1 -1
- package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.indigo.css.js +1 -1
- package/components/checkbox/themes/light/switch.indigo.css.js.map +1 -1
- package/components/chip/themes/chip.indigo.css.js +1 -1
- package/components/chip/themes/chip.indigo.css.js.map +1 -1
- package/components/common/definitions/defineAllComponents.js +8 -8
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/dropdown/dropdown-group.d.ts +4 -4
- package/components/dropdown/dropdown-group.js +8 -8
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/dropdown/dropdown-header.d.ts +2 -2
- package/components/dropdown/dropdown-header.js +6 -6
- package/components/dropdown/dropdown-header.js.map +1 -1
- package/components/dropdown/dropdown-item.d.ts +2 -2
- package/components/dropdown/dropdown-item.js +12 -12
- package/components/dropdown/dropdown-item.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +14 -14
- package/components/dropdown/dropdown.js +41 -47
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/input/input-base.d.ts +1 -0
- package/components/input/input-base.js +1 -0
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.js +1 -2
- package/components/input/input.js.map +1 -1
- package/components/input/themes/light/input.bootstrap.css.js +1 -1
- package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/light/input.fluent.css.js +1 -1
- package/components/input/themes/light/input.fluent.css.js.map +1 -1
- package/components/input/themes/light/input.indigo.css.js +1 -1
- package/components/input/themes/light/input.indigo.css.js.map +1 -1
- package/components/input/themes/light/input.material.css.js +1 -1
- package/components/input/themes/light/input.material.css.js.map +1 -1
- package/components/nav-drawer/nav-drawer.d.ts +1 -1
- package/components/nav-drawer/nav-drawer.js +10 -7
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/nav-drawer/styles/indigo/nav-drawer-item.indigo.css.js +1 -1
- package/components/nav-drawer/styles/indigo/nav-drawer-item.indigo.css.js.map +1 -1
- package/components/nav-drawer/styles/nav-drawer-item.base.css.js +1 -1
- package/components/nav-drawer/styles/nav-drawer-item.base.css.js.map +1 -1
- package/components/nav-drawer/styles/nav-drawer.base.css.js +1 -1
- package/components/nav-drawer/styles/nav-drawer.base.css.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.bootstrap.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.bootstrap.css.js.map +1 -1
- package/components/radio/themes/light/radio.base.css.js +1 -1
- package/components/radio/themes/light/radio.base.css.js.map +1 -1
- package/components/radio/themes/light/radio.bootstrap.css.js +1 -1
- package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
- package/components/radio/themes/light/radio.fluent.css.js +1 -1
- package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
- package/components/radio/themes/light/radio.indigo.css.js +1 -1
- package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
- package/components/slider/themes/light/slider.base.css.js +1 -1
- package/components/slider/themes/light/slider.base.css.js.map +1 -1
- package/custom-elements.json +17 -3
- package/index.d.ts +4 -4
- package/index.js +4 -4
- package/index.js.map +1 -1
- package/package.json +10 -2
- package/themes/dark/bootstrap.css +1 -1
- package/themes/dark/fluent.css +1 -1
- package/themes/light/fluent.css +1 -1
- package/vscode-html-custom-data.json +18 -7
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
import { Constructor } from '../common/mixins/constructor';
|
|
3
3
|
import { IgcPlacement, IgcToggleComponent, IgcToggleEventMap } from '../toggle/utilities';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
export declare enum
|
|
4
|
+
import IgcDropdownItemComponent from './dropdown-item';
|
|
5
|
+
import IgcDropdownGroupComponent from './dropdown-group';
|
|
6
|
+
export declare enum DropdownActionKey {
|
|
7
7
|
ESCAPE = "escape",
|
|
8
8
|
ENTER = "enter"
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
11
|
-
igcChange: CustomEvent<
|
|
10
|
+
export interface IgcDropdownEventMap extends IgcToggleEventMap {
|
|
11
|
+
igcChange: CustomEvent<IgcDropdownItemComponent>;
|
|
12
12
|
}
|
|
13
|
-
declare const
|
|
13
|
+
declare const IgcDropdownComponent_base: Constructor<import("../common/mixins/sizable").SizableInterface> & Constructor<import("../common/mixins/event-emitter").EventEmitterInterface<IgcDropdownEventMap>> & Constructor<LitElement>;
|
|
14
14
|
/**
|
|
15
15
|
* Represents a DropDown component.
|
|
16
16
|
*
|
|
@@ -28,7 +28,7 @@ declare const IgcDropDownComponent_base: Constructor<import("../common/mixins/si
|
|
|
28
28
|
* @csspart base - The dropdown list wrapper.
|
|
29
29
|
* @csspart list - The dropdown list.
|
|
30
30
|
*/
|
|
31
|
-
export default class
|
|
31
|
+
export default class IgcDropdownComponent extends IgcDropdownComponent_base implements IgcToggleComponent {
|
|
32
32
|
static readonly tagName = "igc-dropdown";
|
|
33
33
|
static styles: import("lit").CSSResult;
|
|
34
34
|
private toggleController;
|
|
@@ -39,8 +39,8 @@ export default class IgcDropDownComponent extends IgcDropDownComponent_base impl
|
|
|
39
39
|
private targetNodes;
|
|
40
40
|
protected content: HTMLElement;
|
|
41
41
|
protected scrollContainer: HTMLElement;
|
|
42
|
-
protected items: Array<
|
|
43
|
-
protected groups: Array<
|
|
42
|
+
protected items: Array<IgcDropdownItemComponent>;
|
|
43
|
+
protected groups: Array<IgcDropdownGroupComponent>;
|
|
44
44
|
/** Whether the dropdown should be kept open on selection. */
|
|
45
45
|
keepOpenOnSelect: boolean;
|
|
46
46
|
/** Sets the open state of the component. */
|
|
@@ -98,20 +98,20 @@ export default class IgcDropDownComponent extends IgcDropDownComponent_base impl
|
|
|
98
98
|
/** Toggles the open state of the dropdown. */
|
|
99
99
|
toggle(target?: HTMLElement): void;
|
|
100
100
|
/** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */
|
|
101
|
-
navigateTo(value: string):
|
|
101
|
+
navigateTo(value: string): IgcDropdownItemComponent | null;
|
|
102
102
|
/** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */
|
|
103
|
-
navigateTo(index: number):
|
|
103
|
+
navigateTo(index: number): IgcDropdownItemComponent | null;
|
|
104
104
|
/** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */
|
|
105
|
-
select(value: string):
|
|
105
|
+
select(value: string): IgcDropdownItemComponent | null;
|
|
106
106
|
/** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */
|
|
107
|
-
select(index: number):
|
|
107
|
+
select(index: number): IgcDropdownItemComponent | null;
|
|
108
108
|
/** Clears the current selection of the dropdown. */
|
|
109
109
|
clearSelection(): void;
|
|
110
110
|
protected render(): import("lit-html").TemplateResult<1>;
|
|
111
111
|
}
|
|
112
112
|
declare global {
|
|
113
113
|
interface HTMLElementTagNameMap {
|
|
114
|
-
'igc-dropdown':
|
|
114
|
+
'igc-dropdown': IgcDropdownComponent;
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
export {};
|
|
@@ -13,16 +13,16 @@ import { styles as bootstrap } from './themes/light/dropdown.bootstrap.css';
|
|
|
13
13
|
import { styles as fluent } from './themes/light/dropdown.fluent.css';
|
|
14
14
|
import { styles as indigo } from './themes/light/dropdown.indigo.css';
|
|
15
15
|
import { blazorSuppress, watch } from '../common/decorators';
|
|
16
|
-
import
|
|
16
|
+
import IgcDropdownItemComponent from './dropdown-item';
|
|
17
17
|
import { IgcToggleController } from '../toggle/toggle.controller';
|
|
18
18
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
19
19
|
import { SizableMixin } from '../common/mixins/sizable';
|
|
20
|
-
export var
|
|
21
|
-
(function (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
})(
|
|
25
|
-
let
|
|
20
|
+
export var DropdownActionKey;
|
|
21
|
+
(function (DropdownActionKey) {
|
|
22
|
+
DropdownActionKey["ESCAPE"] = "escape";
|
|
23
|
+
DropdownActionKey["ENTER"] = "enter";
|
|
24
|
+
})(DropdownActionKey || (DropdownActionKey = {}));
|
|
25
|
+
let IgcDropdownComponent = class IgcDropdownComponent extends SizableMixin(EventEmitterMixin(LitElement)) {
|
|
26
26
|
constructor() {
|
|
27
27
|
super();
|
|
28
28
|
this.keepOpenOnSelect = false;
|
|
@@ -57,10 +57,10 @@ let IgcDropDownComponent = class IgcDropDownComponent extends SizableMixin(Event
|
|
|
57
57
|
switch (key) {
|
|
58
58
|
case 'esc':
|
|
59
59
|
case 'escape':
|
|
60
|
-
this.handleItemActionKey(
|
|
60
|
+
this.handleItemActionKey(DropdownActionKey.ESCAPE);
|
|
61
61
|
break;
|
|
62
62
|
case 'enter':
|
|
63
|
-
this.handleItemActionKey(
|
|
63
|
+
this.handleItemActionKey(DropdownActionKey.ENTER);
|
|
64
64
|
break;
|
|
65
65
|
case 'arrowup':
|
|
66
66
|
case 'up':
|
|
@@ -129,11 +129,11 @@ let IgcDropDownComponent = class IgcDropDownComponent extends SizableMixin(Event
|
|
|
129
129
|
}
|
|
130
130
|
handleItemActionKey(key) {
|
|
131
131
|
switch (key) {
|
|
132
|
-
case
|
|
132
|
+
case DropdownActionKey.ENTER:
|
|
133
133
|
this.selectItem(this.activeItem);
|
|
134
134
|
this.handleChange(this.activeItem);
|
|
135
135
|
break;
|
|
136
|
-
case
|
|
136
|
+
case DropdownActionKey.ESCAPE:
|
|
137
137
|
break;
|
|
138
138
|
}
|
|
139
139
|
if (!this.keepOpenOnSelect)
|
|
@@ -142,7 +142,7 @@ let IgcDropDownComponent = class IgcDropDownComponent extends SizableMixin(Event
|
|
|
142
142
|
handleClick(event) {
|
|
143
143
|
const newSelectedItem = event
|
|
144
144
|
.composedPath()
|
|
145
|
-
.find((e) => e instanceof
|
|
145
|
+
.find((e) => e instanceof IgcDropdownItemComponent);
|
|
146
146
|
if (!newSelectedItem || newSelectedItem.disabled)
|
|
147
147
|
return;
|
|
148
148
|
this.selectItem(newSelectedItem);
|
|
@@ -317,71 +317,65 @@ let IgcDropDownComponent = class IgcDropDownComponent extends SizableMixin(Event
|
|
|
317
317
|
>
|
|
318
318
|
</slot>
|
|
319
319
|
<div
|
|
320
|
-
id="igcDDLContent"
|
|
321
320
|
part="base"
|
|
322
321
|
style=${styleMap({ position: this.positionStrategy })}
|
|
323
322
|
@click=${this.handleClick}
|
|
324
323
|
${this.toggleController.toggleDirective}
|
|
325
324
|
>
|
|
326
|
-
<div
|
|
327
|
-
id="igcScrollContainer"
|
|
328
|
-
role="listbox"
|
|
329
|
-
part="list"
|
|
330
|
-
aria-labelledby="igcDDLTarget"
|
|
331
|
-
>
|
|
325
|
+
<div role="listbox" part="list" aria-labelledby="igcDDLTarget">
|
|
332
326
|
<slot></slot>
|
|
333
327
|
</div>
|
|
334
328
|
</div>
|
|
335
329
|
`;
|
|
336
330
|
}
|
|
337
331
|
};
|
|
338
|
-
|
|
339
|
-
|
|
332
|
+
IgcDropdownComponent.tagName = 'igc-dropdown';
|
|
333
|
+
IgcDropdownComponent.styles = styles;
|
|
340
334
|
__decorate([
|
|
341
335
|
queryAssignedElements({ slot: 'target' })
|
|
342
|
-
],
|
|
336
|
+
], IgcDropdownComponent.prototype, "targetNodes", void 0);
|
|
343
337
|
__decorate([
|
|
344
|
-
query('
|
|
345
|
-
],
|
|
338
|
+
query('[part="base"]')
|
|
339
|
+
], IgcDropdownComponent.prototype, "content", void 0);
|
|
346
340
|
__decorate([
|
|
347
|
-
query('
|
|
348
|
-
],
|
|
341
|
+
query('[part="list"]')
|
|
342
|
+
], IgcDropdownComponent.prototype, "scrollContainer", void 0);
|
|
349
343
|
__decorate([
|
|
350
344
|
queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })
|
|
351
|
-
],
|
|
345
|
+
], IgcDropdownComponent.prototype, "items", void 0);
|
|
352
346
|
__decorate([
|
|
353
347
|
queryAssignedElements({ flatten: true, selector: 'igc-dropdown-group' })
|
|
354
|
-
],
|
|
348
|
+
], IgcDropdownComponent.prototype, "groups", void 0);
|
|
355
349
|
__decorate([
|
|
356
350
|
property({ type: Boolean, attribute: 'keep-open-on-select' })
|
|
357
|
-
],
|
|
351
|
+
], IgcDropdownComponent.prototype, "keepOpenOnSelect", void 0);
|
|
358
352
|
__decorate([
|
|
359
353
|
property({ type: Boolean })
|
|
360
|
-
],
|
|
354
|
+
], IgcDropdownComponent.prototype, "open", void 0);
|
|
361
355
|
__decorate([
|
|
362
356
|
property()
|
|
363
|
-
],
|
|
357
|
+
], IgcDropdownComponent.prototype, "placement", void 0);
|
|
364
358
|
__decorate([
|
|
365
359
|
property({ attribute: 'position-strategy' })
|
|
366
|
-
],
|
|
360
|
+
], IgcDropdownComponent.prototype, "positionStrategy", void 0);
|
|
367
361
|
__decorate([
|
|
368
362
|
property({ attribute: 'scroll-strategy' })
|
|
369
|
-
],
|
|
363
|
+
], IgcDropdownComponent.prototype, "scrollStrategy", void 0);
|
|
370
364
|
__decorate([
|
|
371
365
|
property({ type: Boolean })
|
|
372
|
-
],
|
|
366
|
+
], IgcDropdownComponent.prototype, "flip", void 0);
|
|
373
367
|
__decorate([
|
|
374
368
|
property({ type: Number })
|
|
375
|
-
],
|
|
369
|
+
], IgcDropdownComponent.prototype, "distance", void 0);
|
|
376
370
|
__decorate([
|
|
377
371
|
property({ type: Boolean, attribute: 'keep-open-on-outside-click' })
|
|
378
|
-
],
|
|
372
|
+
], IgcDropdownComponent.prototype, "keepOpenOnOutsideClick", void 0);
|
|
379
373
|
__decorate([
|
|
380
374
|
property({ type: Boolean, attribute: 'same-width' })
|
|
381
|
-
],
|
|
375
|
+
], IgcDropdownComponent.prototype, "sameWidth", void 0);
|
|
382
376
|
__decorate([
|
|
383
377
|
watch('open')
|
|
384
|
-
],
|
|
378
|
+
], IgcDropdownComponent.prototype, "toggleDirectiveChange", null);
|
|
385
379
|
__decorate([
|
|
386
380
|
watch('placement'),
|
|
387
381
|
watch('flip'),
|
|
@@ -389,24 +383,24 @@ __decorate([
|
|
|
389
383
|
watch('closeOnOutsideClick'),
|
|
390
384
|
watch('distance'),
|
|
391
385
|
watch('sameWidth')
|
|
392
|
-
],
|
|
386
|
+
], IgcDropdownComponent.prototype, "updateOptions", null);
|
|
393
387
|
__decorate([
|
|
394
388
|
watch('size')
|
|
395
|
-
],
|
|
389
|
+
], IgcDropdownComponent.prototype, "sizeChange", null);
|
|
396
390
|
__decorate([
|
|
397
391
|
blazorSuppress()
|
|
398
|
-
],
|
|
392
|
+
], IgcDropdownComponent.prototype, "show", null);
|
|
399
393
|
__decorate([
|
|
400
394
|
blazorSuppress()
|
|
401
|
-
],
|
|
395
|
+
], IgcDropdownComponent.prototype, "toggle", null);
|
|
402
396
|
__decorate([
|
|
403
397
|
blazorSuppress()
|
|
404
|
-
],
|
|
398
|
+
], IgcDropdownComponent.prototype, "navigateTo", null);
|
|
405
399
|
__decorate([
|
|
406
400
|
blazorSuppress()
|
|
407
|
-
],
|
|
408
|
-
|
|
401
|
+
], IgcDropdownComponent.prototype, "select", null);
|
|
402
|
+
IgcDropdownComponent = __decorate([
|
|
409
403
|
themes({ bootstrap, fluent, indigo })
|
|
410
|
-
],
|
|
411
|
-
export default
|
|
404
|
+
], IgcDropdownComponent);
|
|
405
|
+
export default IgcDropdownComponent;
|
|
412
406
|
//# sourceMappingURL=dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\nimport { Constructor } from '../common/mixins/constructor';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter';\nimport { themes } from '../../theming';\nimport { styles } from './themes/light/dropdown.base.css';\nimport { styles as bootstrap } from './themes/light/dropdown.bootstrap.css';\nimport { styles as fluent } from './themes/light/dropdown.fluent.css';\nimport { styles as indigo } from './themes/light/dropdown.indigo.css';\nimport { blazorSuppress, watch } from '../common/decorators';\nimport {\n IgcPlacement,\n IgcToggleComponent,\n IgcToggleEventMap,\n} from '../toggle/utilities';\nimport IgcDropDownItemComponent from './dropdown-item';\nimport { IgcToggleController } from '../toggle/toggle.controller';\nimport IgcDropDownGroupComponent from './dropdown-group';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { SizableMixin } from '../common/mixins/sizable';\n\nexport enum DropDownActionKey {\n ESCAPE = 'escape',\n ENTER = 'enter',\n}\n\nexport interface IgcDropDownEventMap extends IgcToggleEventMap {\n igcChange: CustomEvent<IgcDropDownItemComponent>;\n}\n\n/**\n * Represents a DropDown component.\n *\n * @element igc-dropdown\n *\n * @fires igcChange - Emitted when the selected item changes.\n * @fires igcOpening - Emitted just before the dropdown is open.\n * @fires igcOpened - Emitted after the dropdown is open.\n * @fires igcClosing - Emitter just before the dropdown is closed.\n * @fires igcClosed - Emitted after closing the dropdown.\n *\n * @slot target - Renders the dropdown's target element.\n * @slot - Renders the dropdown list items.\n *\n * @csspart base - The dropdown list wrapper.\n * @csspart list - The dropdown list.\n */\n@themes({ bootstrap, fluent, indigo })\nexport default class IgcDropDownComponent\n extends SizableMixin(\n EventEmitterMixin<IgcDropDownEventMap, Constructor<LitElement>>(LitElement)\n )\n implements IgcToggleComponent\n{\n public static readonly tagName = 'igc-dropdown';\n\n public static styles = styles;\n\n private toggleController!: IgcToggleController;\n private selectedItem!: IgcDropDownItemComponent | null;\n private activeItem!: IgcDropDownItemComponent;\n private target!: HTMLElement;\n\n private get allItems(): IgcDropDownItemComponent[] {\n const groupItems: IgcDropDownItemComponent[] = this.groups.flatMap(\n (group) => group.items\n );\n return [...this.items, ...groupItems];\n }\n\n @queryAssignedElements({ slot: 'target' })\n private targetNodes!: Array<HTMLElement>;\n\n @query('#igcDDLContent')\n protected content!: HTMLElement;\n\n @query('#igcScrollContainer')\n protected scrollContainer!: HTMLElement;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })\n protected items!: Array<IgcDropDownItemComponent>;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-group' })\n protected groups!: Array<IgcDropDownGroupComponent>;\n\n /** Whether the dropdown should be kept open on selection. */\n @property({ type: Boolean, attribute: 'keep-open-on-select' })\n public keepOpenOnSelect = false;\n\n /** Sets the open state of the component. */\n @property({ type: Boolean })\n public open = false;\n\n /** The preferred placement of the component around the target element.\n * @type {\"top\" | \"top-start\" | \"top-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"right\" | \"right-start\" | \"right-end\" | \"left\" | \"left-start\" | \"left-end\"}\n */\n @property()\n public placement: IgcPlacement = 'bottom-start';\n\n /** Sets the component's positioning strategy. */\n @property({ attribute: 'position-strategy' })\n public positionStrategy: 'absolute' | 'fixed' = 'absolute';\n\n /** Determines the behavior of the component during scrolling the container. */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: 'scroll' | 'block' | 'close' = 'scroll';\n\n /**\n * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.\n * When true, once enough space is detected on its preferred side, it will flip back.\n */\n @property({ type: Boolean })\n public flip = false;\n\n /** The distance from the target element. */\n @property({ type: Number })\n public distance = 0;\n\n /** Whether the component should be kept open on clicking outside of it. */\n @property({ type: Boolean, attribute: 'keep-open-on-outside-click' })\n public keepOpenOnOutsideClick = false;\n\n /** Whether the dropdown's width should be the same as the target's one. */\n @property({ type: Boolean, attribute: 'same-width' })\n public sameWidth = false;\n\n @watch('open')\n protected toggleDirectiveChange() {\n if (!this.target) return;\n this.toggleController.target = this.target;\n\n if (this.open) {\n document.addEventListener('keydown', this.handleKeyDown);\n this.target.addEventListener('focusout', this.handleFocusout);\n this.selectedItem = this.allItems.find((i) => i.selected) ?? null;\n } else {\n document.removeEventListener('keydown', this.handleKeyDown);\n this.target.removeEventListener('focusout', this.handleFocusout);\n }\n\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n // this.content.setAttribute(\n // 'aria-activedescendant',\n // (this.open\n // ? this.activeItem\n // ? this.activeItem.value\n // : this.items[0]?.value\n // : '') as string\n // );\n }\n\n @watch('placement')\n @watch('flip')\n @watch('positionStrategy')\n @watch('closeOnOutsideClick')\n @watch('distance')\n @watch('sameWidth')\n protected updateOptions() {\n if (!this.toggleController) return;\n\n this.toggleController.updateToggleDir();\n }\n\n @watch('size')\n protected sizeChange() {\n this.groups.forEach((g) => (g.size = this.size));\n }\n\n constructor() {\n super();\n\n this.toggleController = new IgcToggleController(this, this.target);\n }\n\n public override firstUpdated() {\n if (this.targetNodes.length) {\n this.target = this.targetNodes[0];\n // this.target.setAttribute('aria-owns', 'igcScrollContainer');\n this.target.setAttribute('aria-haspopup', 'listbox');\n }\n }\n\n protected override async getUpdateComplete() {\n const result = await super.getUpdateComplete();\n await this.toggleController.rendered;\n return result;\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (\n this.open &&\n event &&\n (event.composedPath().includes(this.target) ||\n event.composedPath().includes(this.content))\n ) {\n const key = event.key.toLowerCase();\n const navKeys = [\n 'esc',\n 'escape',\n 'enter',\n 'arrowup',\n 'up',\n 'arrowdown',\n 'down',\n ];\n if (navKeys.indexOf(key) === -1) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n switch (key) {\n case 'esc':\n case 'escape':\n this.handleItemActionKey(DropDownActionKey.ESCAPE);\n break;\n case 'enter':\n this.handleItemActionKey(DropDownActionKey.ENTER);\n break;\n case 'arrowup':\n case 'up':\n this.onArrowUpKeyDown();\n break;\n case 'arrowdown':\n case 'down':\n this.onArrowDownKeyDown();\n break;\n default:\n return;\n }\n }\n };\n\n private handleItemActionKey(key: DropDownActionKey) {\n switch (key) {\n case DropDownActionKey.ENTER:\n this.selectItem(this.activeItem);\n this.handleChange(this.activeItem);\n break;\n case DropDownActionKey.ESCAPE:\n break;\n }\n\n if (!this.keepOpenOnSelect) this._hide();\n }\n\n private handleClick(event: MouseEvent) {\n const newSelectedItem = event\n .composedPath()\n .find(\n (e) => e instanceof IgcDropDownItemComponent\n ) as IgcDropDownItemComponent;\n\n if (!newSelectedItem || newSelectedItem.disabled) return;\n\n this.selectItem(newSelectedItem);\n this.handleChange(newSelectedItem);\n if (!this.keepOpenOnSelect) this._hide();\n }\n\n private handleTargetClick = () => {\n if (!this.open) {\n if (!this.handleOpening()) return;\n this.show();\n this.emitEvent('igcOpened');\n } else {\n this._hide();\n }\n };\n\n private handleOpening() {\n const args = { cancelable: true };\n return this.emitEvent('igcOpening', args);\n }\n\n private handleClosing(): boolean {\n const args = { cancelable: true };\n return this.emitEvent('igcClosing', args);\n }\n\n private handleChange(item: IgcDropDownItemComponent) {\n const args = { detail: item };\n this.emitEvent('igcChange', args);\n }\n\n private handleSlotChange() {\n if (!this.target) return;\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n // this.target.setAttribute(\n // 'aria-activedescendant',\n // (this.activeItem\n // ? this.activeItem.value\n // : this.items[0]?.value) as string\n // );\n }\n\n private handleFocusout(event: Event) {\n event.preventDefault();\n (event.target as HTMLElement).focus();\n }\n\n private getItem(value: string) {\n let itemIndex = -1;\n let item!: IgcDropDownItemComponent;\n this.allItems.find((i, index) => {\n if (i.value === value) {\n item = i;\n itemIndex = index;\n }\n });\n return { item: item, index: itemIndex };\n }\n\n private activateItem(value: IgcDropDownItemComponent) {\n if (!value) return;\n\n if (this.activeItem && this.activeItem !== value) {\n this.activeItem.active = false;\n }\n\n this.activeItem = value;\n this.activeItem.active = true;\n }\n\n private selectItem(\n item: IgcDropDownItemComponent,\n emit = true\n ): IgcDropDownItemComponent | null {\n const oldItem = this.selectedItem;\n\n if (!item) {\n return null;\n }\n\n if (oldItem && oldItem !== item) {\n oldItem.selected = false;\n }\n\n this.activateItem(item);\n this.selectedItem = item;\n this.selectedItem.selected = true;\n if (emit) this.handleChange(this.selectedItem);\n\n return this.selectedItem;\n }\n\n private navigate(direction: -1 | 1, currentIndex?: number) {\n let index = -1;\n if (this.activeItem) {\n index = currentIndex\n ? currentIndex\n : [...this.allItems].indexOf(this.activeItem) ?? index;\n }\n\n const newIndex = this.getNearestSiblingFocusableItemIndex(index, direction);\n this.navigateItem(newIndex);\n }\n\n private navigateItem(newIndex: number): IgcDropDownItemComponent | null {\n if (!this.allItems) {\n return null;\n }\n\n if (newIndex < 0 || newIndex >= this.allItems.length) {\n return null;\n }\n\n const newItem = this.allItems[newIndex];\n\n this.activateItem(newItem);\n this.scrollToHiddenItem(newItem);\n\n return newItem;\n }\n\n private scrollToHiddenItem(newItem: IgcDropDownItemComponent) {\n const elementRect = newItem.getBoundingClientRect();\n const parentRect = this.content.getBoundingClientRect();\n if (parentRect.top > elementRect.top) {\n this.content.scrollTop -= parentRect.top - elementRect.top;\n }\n\n if (parentRect.bottom < elementRect.bottom) {\n this.content.scrollTop += elementRect.bottom - parentRect.bottom;\n }\n }\n\n private getNearestSiblingFocusableItemIndex(\n startIndex: number,\n direction: -1 | 1\n ): number {\n let index = startIndex;\n const items = this.allItems;\n if (!items) {\n return -1;\n }\n\n while (items[index + direction] && items[index + direction].disabled) {\n index += direction;\n }\n\n index += direction;\n\n return index > -1 && index < items.length ? index : -1;\n }\n\n private navigateNext() {\n this.navigate(1);\n }\n\n private navigatePrev() {\n this.navigate(-1);\n }\n\n private onArrowDownKeyDown() {\n this.navigateNext();\n }\n\n private onArrowUpKeyDown() {\n this.navigatePrev();\n }\n\n private _hide(emit = true) {\n if (emit && !this.handleClosing()) return;\n\n if (!this.open) return;\n\n this.open = false;\n\n if (emit) {\n this.emitEvent('igcClosed');\n }\n }\n\n /** Shows the dropdown. */\n @blazorSuppress()\n public show(target?: HTMLElement) {\n if (this.open && !target) return;\n\n if (target) this.target = target;\n\n this.open = true;\n }\n\n /** Hides the dropdown. */\n public hide(): void {\n this._hide(false);\n }\n\n /** Toggles the open state of the dropdown. */\n @blazorSuppress()\n public toggle(target?: HTMLElement): void {\n if (!this.open) {\n this.show(target);\n } else {\n this.hide();\n }\n }\n\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcDropDownItemComponent | null;\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcDropDownItemComponent | null;\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public navigateTo(value: string | number): IgcDropDownItemComponent | null {\n const index =\n typeof value === 'string' ? this.getItem(value).index : (value as number);\n\n return this.navigateItem(index);\n }\n\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcDropDownItemComponent | null;\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcDropDownItemComponent | null;\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public select(value: string | number): IgcDropDownItemComponent | null {\n const item =\n typeof value === 'string'\n ? this.getItem(value).item\n : this.allItems[value as number];\n\n return this.selectItem(item, false);\n }\n\n /** Clears the current selection of the dropdown. */\n public clearSelection() {\n if (this.selectedItem) {\n this.selectedItem.selected = false;\n }\n this.selectedItem = null;\n }\n\n protected override render() {\n return html`\n <slot\n id=\"igcDDLTarget\"\n name=\"target\"\n @click=${this.handleTargetClick}\n @slotchange=${this.handleSlotChange}\n >\n </slot>\n <div\n id=\"igcDDLContent\"\n part=\"base\"\n style=${styleMap({ position: this.positionStrategy })}\n @click=${this.handleClick}\n ${this.toggleController.toggleDirective}\n >\n <div\n id=\"igcScrollContainer\"\n role=\"listbox\"\n part=\"list\"\n aria-labelledby=\"igcDDLTarget\"\n >\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown': IgcDropDownComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\nimport { Constructor } from '../common/mixins/constructor';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter';\nimport { themes } from '../../theming';\nimport { styles } from './themes/light/dropdown.base.css';\nimport { styles as bootstrap } from './themes/light/dropdown.bootstrap.css';\nimport { styles as fluent } from './themes/light/dropdown.fluent.css';\nimport { styles as indigo } from './themes/light/dropdown.indigo.css';\nimport { blazorSuppress, watch } from '../common/decorators';\nimport {\n IgcPlacement,\n IgcToggleComponent,\n IgcToggleEventMap,\n} from '../toggle/utilities';\nimport IgcDropdownItemComponent from './dropdown-item';\nimport { IgcToggleController } from '../toggle/toggle.controller';\nimport IgcDropdownGroupComponent from './dropdown-group';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { SizableMixin } from '../common/mixins/sizable';\n\nexport enum DropdownActionKey {\n ESCAPE = 'escape',\n ENTER = 'enter',\n}\n\nexport interface IgcDropdownEventMap extends IgcToggleEventMap {\n igcChange: CustomEvent<IgcDropdownItemComponent>;\n}\n\n/**\n * Represents a DropDown component.\n *\n * @element igc-dropdown\n *\n * @fires igcChange - Emitted when the selected item changes.\n * @fires igcOpening - Emitted just before the dropdown is open.\n * @fires igcOpened - Emitted after the dropdown is open.\n * @fires igcClosing - Emitter just before the dropdown is closed.\n * @fires igcClosed - Emitted after closing the dropdown.\n *\n * @slot target - Renders the dropdown's target element.\n * @slot - Renders the dropdown list items.\n *\n * @csspart base - The dropdown list wrapper.\n * @csspart list - The dropdown list.\n */\n@themes({ bootstrap, fluent, indigo })\nexport default class IgcDropdownComponent\n extends SizableMixin(\n EventEmitterMixin<IgcDropdownEventMap, Constructor<LitElement>>(LitElement)\n )\n implements IgcToggleComponent\n{\n public static readonly tagName = 'igc-dropdown';\n\n public static styles = styles;\n\n private toggleController!: IgcToggleController;\n private selectedItem!: IgcDropdownItemComponent | null;\n private activeItem!: IgcDropdownItemComponent;\n private target!: HTMLElement;\n\n private get allItems(): IgcDropdownItemComponent[] {\n const groupItems: IgcDropdownItemComponent[] = this.groups.flatMap(\n (group) => group.items\n );\n return [...this.items, ...groupItems];\n }\n\n @queryAssignedElements({ slot: 'target' })\n private targetNodes!: Array<HTMLElement>;\n\n @query('[part=\"base\"]')\n protected content!: HTMLElement;\n\n @query('[part=\"list\"]')\n protected scrollContainer!: HTMLElement;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-item' })\n protected items!: Array<IgcDropdownItemComponent>;\n\n @queryAssignedElements({ flatten: true, selector: 'igc-dropdown-group' })\n protected groups!: Array<IgcDropdownGroupComponent>;\n\n /** Whether the dropdown should be kept open on selection. */\n @property({ type: Boolean, attribute: 'keep-open-on-select' })\n public keepOpenOnSelect = false;\n\n /** Sets the open state of the component. */\n @property({ type: Boolean })\n public open = false;\n\n /** The preferred placement of the component around the target element.\n * @type {\"top\" | \"top-start\" | \"top-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"right\" | \"right-start\" | \"right-end\" | \"left\" | \"left-start\" | \"left-end\"}\n */\n @property()\n public placement: IgcPlacement = 'bottom-start';\n\n /** Sets the component's positioning strategy. */\n @property({ attribute: 'position-strategy' })\n public positionStrategy: 'absolute' | 'fixed' = 'absolute';\n\n /** Determines the behavior of the component during scrolling the container. */\n @property({ attribute: 'scroll-strategy' })\n public scrollStrategy: 'scroll' | 'block' | 'close' = 'scroll';\n\n /**\n * Whether the component should be flipped to the opposite side of the target once it's about to overflow the visible area.\n * When true, once enough space is detected on its preferred side, it will flip back.\n */\n @property({ type: Boolean })\n public flip = false;\n\n /** The distance from the target element. */\n @property({ type: Number })\n public distance = 0;\n\n /** Whether the component should be kept open on clicking outside of it. */\n @property({ type: Boolean, attribute: 'keep-open-on-outside-click' })\n public keepOpenOnOutsideClick = false;\n\n /** Whether the dropdown's width should be the same as the target's one. */\n @property({ type: Boolean, attribute: 'same-width' })\n public sameWidth = false;\n\n @watch('open')\n protected toggleDirectiveChange() {\n if (!this.target) return;\n this.toggleController.target = this.target;\n\n if (this.open) {\n document.addEventListener('keydown', this.handleKeyDown);\n this.target.addEventListener('focusout', this.handleFocusout);\n this.selectedItem = this.allItems.find((i) => i.selected) ?? null;\n } else {\n document.removeEventListener('keydown', this.handleKeyDown);\n this.target.removeEventListener('focusout', this.handleFocusout);\n }\n\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n\n @watch('placement')\n @watch('flip')\n @watch('positionStrategy')\n @watch('closeOnOutsideClick')\n @watch('distance')\n @watch('sameWidth')\n protected updateOptions() {\n if (!this.toggleController) return;\n\n this.toggleController.updateToggleDir();\n }\n\n @watch('size')\n protected sizeChange() {\n this.groups.forEach((g) => (g.size = this.size));\n }\n\n constructor() {\n super();\n\n this.toggleController = new IgcToggleController(this, this.target);\n }\n\n public override firstUpdated() {\n if (this.targetNodes.length) {\n this.target = this.targetNodes[0];\n this.target.setAttribute('aria-haspopup', 'listbox');\n }\n }\n\n protected override async getUpdateComplete() {\n const result = await super.getUpdateComplete();\n await this.toggleController.rendered;\n return result;\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (\n this.open &&\n event &&\n (event.composedPath().includes(this.target) ||\n event.composedPath().includes(this.content))\n ) {\n const key = event.key.toLowerCase();\n const navKeys = [\n 'esc',\n 'escape',\n 'enter',\n 'arrowup',\n 'up',\n 'arrowdown',\n 'down',\n ];\n if (navKeys.indexOf(key) === -1) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n switch (key) {\n case 'esc':\n case 'escape':\n this.handleItemActionKey(DropdownActionKey.ESCAPE);\n break;\n case 'enter':\n this.handleItemActionKey(DropdownActionKey.ENTER);\n break;\n case 'arrowup':\n case 'up':\n this.onArrowUpKeyDown();\n break;\n case 'arrowdown':\n case 'down':\n this.onArrowDownKeyDown();\n break;\n default:\n return;\n }\n }\n };\n\n private handleItemActionKey(key: DropdownActionKey) {\n switch (key) {\n case DropdownActionKey.ENTER:\n this.selectItem(this.activeItem);\n this.handleChange(this.activeItem);\n break;\n case DropdownActionKey.ESCAPE:\n break;\n }\n\n if (!this.keepOpenOnSelect) this._hide();\n }\n\n private handleClick(event: MouseEvent) {\n const newSelectedItem = event\n .composedPath()\n .find(\n (e) => e instanceof IgcDropdownItemComponent\n ) as IgcDropdownItemComponent;\n\n if (!newSelectedItem || newSelectedItem.disabled) return;\n\n this.selectItem(newSelectedItem);\n this.handleChange(newSelectedItem);\n if (!this.keepOpenOnSelect) this._hide();\n }\n\n private handleTargetClick = () => {\n if (!this.open) {\n if (!this.handleOpening()) return;\n this.show();\n this.emitEvent('igcOpened');\n } else {\n this._hide();\n }\n };\n\n private handleOpening() {\n const args = { cancelable: true };\n return this.emitEvent('igcOpening', args);\n }\n\n private handleClosing(): boolean {\n const args = { cancelable: true };\n return this.emitEvent('igcClosing', args);\n }\n\n private handleChange(item: IgcDropdownItemComponent) {\n const args = { detail: item };\n this.emitEvent('igcChange', args);\n }\n\n private handleSlotChange() {\n if (!this.target) return;\n this.target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n\n private handleFocusout(event: Event) {\n event.preventDefault();\n (event.target as HTMLElement).focus();\n }\n\n private getItem(value: string) {\n let itemIndex = -1;\n let item!: IgcDropdownItemComponent;\n this.allItems.find((i, index) => {\n if (i.value === value) {\n item = i;\n itemIndex = index;\n }\n });\n return { item: item, index: itemIndex };\n }\n\n private activateItem(value: IgcDropdownItemComponent) {\n if (!value) return;\n\n if (this.activeItem && this.activeItem !== value) {\n this.activeItem.active = false;\n }\n\n this.activeItem = value;\n this.activeItem.active = true;\n }\n\n private selectItem(\n item: IgcDropdownItemComponent,\n emit = true\n ): IgcDropdownItemComponent | null {\n const oldItem = this.selectedItem;\n\n if (!item) {\n return null;\n }\n\n if (oldItem && oldItem !== item) {\n oldItem.selected = false;\n }\n\n this.activateItem(item);\n this.selectedItem = item;\n this.selectedItem.selected = true;\n if (emit) this.handleChange(this.selectedItem);\n\n return this.selectedItem;\n }\n\n private navigate(direction: -1 | 1, currentIndex?: number) {\n let index = -1;\n if (this.activeItem) {\n index = currentIndex\n ? currentIndex\n : [...this.allItems].indexOf(this.activeItem) ?? index;\n }\n\n const newIndex = this.getNearestSiblingFocusableItemIndex(index, direction);\n this.navigateItem(newIndex);\n }\n\n private navigateItem(newIndex: number): IgcDropdownItemComponent | null {\n if (!this.allItems) {\n return null;\n }\n\n if (newIndex < 0 || newIndex >= this.allItems.length) {\n return null;\n }\n\n const newItem = this.allItems[newIndex];\n\n this.activateItem(newItem);\n this.scrollToHiddenItem(newItem);\n\n return newItem;\n }\n\n private scrollToHiddenItem(newItem: IgcDropdownItemComponent) {\n const elementRect = newItem.getBoundingClientRect();\n const parentRect = this.content.getBoundingClientRect();\n if (parentRect.top > elementRect.top) {\n this.content.scrollTop -= parentRect.top - elementRect.top;\n }\n\n if (parentRect.bottom < elementRect.bottom) {\n this.content.scrollTop += elementRect.bottom - parentRect.bottom;\n }\n }\n\n private getNearestSiblingFocusableItemIndex(\n startIndex: number,\n direction: -1 | 1\n ): number {\n let index = startIndex;\n const items = this.allItems;\n if (!items) {\n return -1;\n }\n\n while (items[index + direction] && items[index + direction].disabled) {\n index += direction;\n }\n\n index += direction;\n\n return index > -1 && index < items.length ? index : -1;\n }\n\n private navigateNext() {\n this.navigate(1);\n }\n\n private navigatePrev() {\n this.navigate(-1);\n }\n\n private onArrowDownKeyDown() {\n this.navigateNext();\n }\n\n private onArrowUpKeyDown() {\n this.navigatePrev();\n }\n\n private _hide(emit = true) {\n if (emit && !this.handleClosing()) return;\n\n if (!this.open) return;\n\n this.open = false;\n\n if (emit) {\n this.emitEvent('igcClosed');\n }\n }\n\n /** Shows the dropdown. */\n @blazorSuppress()\n public show(target?: HTMLElement) {\n if (this.open && !target) return;\n\n if (target) this.target = target;\n\n this.open = true;\n }\n\n /** Hides the dropdown. */\n public hide(): void {\n this._hide(false);\n }\n\n /** Toggles the open state of the dropdown. */\n @blazorSuppress()\n public toggle(target?: HTMLElement): void {\n if (!this.open) {\n this.show(target);\n } else {\n this.hide();\n }\n }\n\n /** Navigates to the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public navigateTo(value: string): IgcDropdownItemComponent | null;\n /** Navigates to the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public navigateTo(index: number): IgcDropdownItemComponent | null;\n /** Navigates to the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public navigateTo(value: string | number): IgcDropdownItemComponent | null {\n const index =\n typeof value === 'string' ? this.getItem(value).index : (value as number);\n\n return this.navigateItem(index);\n }\n\n /** Selects the item with the specified value. If it exists, returns the found item, otherwise - null. */\n public select(value: string): IgcDropdownItemComponent | null;\n /** Selects the item at the specified index. If it exists, returns the found item, otherwise - null. */\n public select(index: number): IgcDropdownItemComponent | null;\n /** Selects the specified item. If it exists, returns the found item, otherwise - null. */\n @blazorSuppress()\n public select(value: string | number): IgcDropdownItemComponent | null {\n const item =\n typeof value === 'string'\n ? this.getItem(value).item\n : this.allItems[value as number];\n\n return this.selectItem(item, false);\n }\n\n /** Clears the current selection of the dropdown. */\n public clearSelection() {\n if (this.selectedItem) {\n this.selectedItem.selected = false;\n }\n this.selectedItem = null;\n }\n\n protected override render() {\n return html`\n <slot\n id=\"igcDDLTarget\"\n name=\"target\"\n @click=${this.handleTargetClick}\n @slotchange=${this.handleSlotChange}\n >\n </slot>\n <div\n part=\"base\"\n style=${styleMap({ position: this.positionStrategy })}\n @click=${this.handleClick}\n ${this.toggleController.toggleDirective}\n >\n <div role=\"listbox\" part=\"list\" aria-labelledby=\"igcDDLTarget\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-dropdown': IgcDropdownComponent;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-base.js","sourceRoot":"","sources":["../../../src/components/input/input-base.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAkC,MAAM,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAEvE,IAAI,MAAM,GAAG,CAAC,CAAC;AAYf,IAAsB,qBAAqB,GAA3C,MAAsB,qBACpB,SAAQ,YAAY,CAClB,iBAAiB,CAA4C,UAAU,CAAC,CACzE;IAoDD;QACE,KAAK,EAAE,CAAC;QA5CA,YAAO,GAAG,SAAS,MAAM,EAAE,EAAE,CAAC;QAqBjC,aAAQ,GAAG,KAAK,CAAC;QAIjB,aAAQ,GAAG,KAAK,CAAC;QAIjB,aAAQ,GAAG,KAAK,CAAC;QAIjB,aAAQ,GAAG,KAAK,CAAC;QAYtB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEM,YAAY,CAAC,UAA2B;QAC7C,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;IACpC,CAAC;IAIe,KAAK,CAAC,OAAsB;QAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAIe,IAAI;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAIS,gBAAgB,CAAC,IAAY;QACrC,OAAO;YACL,CAAC,IAAI,CAAC,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"input-base.js","sourceRoot":"","sources":["../../../src/components/input/input-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing, TemplateResult } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\nimport { ReactiveTheme, ThemeController, themes } from '../../theming';\nimport { alternateName } from '../common/decorators/alternateName.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { partNameMap } from '../common/util.js';\nimport { styles } from './themes/light/input.base.css';\nimport { styles as bootstrap } from './themes/light/input.bootstrap.css';\nimport { styles as fluent } from './themes/light/input.fluent.css';\nimport { styles as indigo } from './themes/light/input.indigo.css';\nimport { styles as material } from './themes/light/input.material.css';\n\nlet nextId = 0;\n\nexport interface IgcInputEventMap {\n /* alternateName: inputOcurred */\n igcInput: CustomEvent<string>;\n /* blazorSuppress */\n igcChange: CustomEvent<string>;\n igcFocus: CustomEvent<void>;\n igcBlur: CustomEvent<void>;\n}\n\n@themes({ bootstrap, material, fluent, indigo })\nexport abstract class IgcInputBaseComponent\n extends SizableMixin(\n EventEmitterMixin<IgcInputEventMap, Constructor<LitElement>>(LitElement)\n )\n implements ReactiveTheme\n{\n protected static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n public static styles = styles;\n\n protected inputId = `input-${nextId++}`;\n\n /** The value attribute of the control. */\n public abstract value: string;\n\n @query('input', true)\n protected input!: HTMLInputElement;\n\n @queryAssignedElements({ slot: 'prefix' })\n protected prefixes!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'suffix' })\n protected suffixes!: Array<HTMLElement>;\n\n protected themeController!: ThemeController;\n\n /** The name attribute of the control. */\n @property()\n public name!: string;\n\n @property({ reflect: true, type: Boolean })\n public outlined = false;\n\n /** Makes the control a required field. */\n @property({ reflect: true, type: Boolean })\n public required = false;\n\n /** Makes the control a disabled field. */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n /** Makes the control a readonly field. */\n @property({ reflect: true, type: Boolean })\n public readonly = false;\n\n /** The placeholder attribute of the control. */\n @property({ type: String })\n public placeholder!: string;\n\n /** The label for the control. */\n @property({ type: String })\n public label!: string;\n\n constructor() {\n super();\n this.size = 'medium';\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.shadowRoot!.addEventListener('slotchange', () => this.requestUpdate());\n }\n\n public themeAdopted(controller: ThemeController): void {\n this.themeController = controller;\n }\n\n /** Sets focus on the control. */\n @alternateName('focusComponent')\n public override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the control. */\n @alternateName('blurComponent')\n public override blur() {\n this.input.blur();\n }\n\n protected abstract renderInput(): TemplateResult;\n\n protected resolvePartNames(base: string) {\n return {\n [base]: true,\n prefixed: this.prefixes.length > 0,\n suffixed: this.suffixes.length > 0,\n filled: !!this.value,\n };\n }\n\n protected handleFocus() {\n this.emitEvent('igcFocus');\n }\n\n protected handleBlur() {\n this.emitEvent('igcBlur');\n }\n\n protected handleChange() {\n this.value = this.input.value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n /** Sets the text selection range of the control */\n public setSelectionRange(\n start: number,\n end: number,\n direction: 'backward' | 'forward' | 'none' = 'none'\n ) {\n this.input.setSelectionRange(start, end, direction);\n }\n\n /** Replaces the selected text in the input. */\n public setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectMode: 'select' | 'start' | 'end' | 'preserve' = 'preserve'\n ) {\n this.input.setRangeText(replacement, start, end, selectMode);\n }\n\n private renderPrefix() {\n return html`<div part=\"prefix\">\n <slot name=\"prefix\"></slot>\n </div>`;\n }\n\n private renderSuffix() {\n return html`<div part=\"suffix\">\n <slot name=\"suffix\"></slot>\n </div>`;\n }\n\n private renderLabel() {\n return this.label\n ? html`<label part=\"label\" for=\"${this.inputId}\"> ${this.label} </label>`\n : nothing;\n }\n\n private renderMaterial() {\n return html`\n <div\n part=\"${partNameMap({\n ...this.resolvePartNames('container'),\n labelled: this.label,\n })}\"\n >\n <div part=\"start\">${this.renderPrefix()}</div>\n ${this.renderInput()}\n <div part=\"notch\">${this.renderLabel()}</div>\n <div part=\"filler\"></div>\n <div part=\"end\">${this.renderSuffix()}</div>\n </div>\n <div part=\"helper-text\">\n <slot name=\"helper-text\"></slot>\n </div>\n `;\n }\n\n private renderStandard() {\n return html`${this.renderLabel()}\n <div part=\"${partNameMap(this.resolvePartNames('container'))}\">\n ${this.renderPrefix()} ${this.renderInput()} ${this.renderSuffix()}\n </div>\n <div part=\"helper-text\">\n <slot name=\"helper-text\"></slot>\n </div>`;\n }\n\n protected override render() {\n return html`${this.themeController.theme === 'material'\n ? this.renderMaterial()\n : this.renderStandard()}`;\n }\n}\n"]}
|
|
@@ -52,7 +52,6 @@ export default class IgcInputComponent extends IgcInputBaseComponent {
|
|
|
52
52
|
this.updateComplete.then(() => (this.invalid = !this.input.checkValidity()));
|
|
53
53
|
}
|
|
54
54
|
renderInput() {
|
|
55
|
-
var _a;
|
|
56
55
|
return html `
|
|
57
56
|
<input
|
|
58
57
|
id="${this.inputId}"
|
|
@@ -60,7 +59,7 @@ export default class IgcInputComponent extends IgcInputBaseComponent {
|
|
|
60
59
|
name="${ifDefined(this.name)}"
|
|
61
60
|
type="${ifDefined(this.type)}"
|
|
62
61
|
pattern="${ifDefined(this.pattern)}"
|
|
63
|
-
placeholder="${(
|
|
62
|
+
placeholder="${ifDefined(this.placeholder)}"
|
|
64
63
|
.value="${live(this.value)}"
|
|
65
64
|
?readonly="${this.readonly}"
|
|
66
65
|
?disabled="${this.disabled}"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAuBrD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,qBAAqB;IAApE;;QAKS,UAAK,GAAG,EAAE,CAAC;QAIF,QAAG,GAAc,MAAM,CAAC;QAKjC,SAAI,GAOC,MAAM,CAAC;QAoBZ,YAAO,GAAG,KAAK,CAAC;IAsHzB,CAAC;IAvFQ,cAAc;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;IAGe,YAAY,CAC1B,WAAmB,EACnB,KAAa,EACb,GAAW,EACX,aAAsD,UAAU;QAEhE,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAChC,CAAC;IAMM,iBAAiB,CAAC,OAAe;QACtC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IAC7C,CAAC;IAGM,MAAM;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAGM,MAAM,CAAC,CAAU;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAGM,QAAQ,CAAC,CAAU;QACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAGS,iBAAiB;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CACnD,CAAC;IACJ,CAAC;IAES,WAAW
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { alternateName, blazorTwoWayBind, watch } from '../common/decorators';\nimport { partNameMap } from '../common/util';\nimport { IgcInputBaseComponent } from './input-base';\n\ntype Direction = 'ltr' | 'rtl' | 'auto';\n\n/**\n * @element igc-input\n *\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n *\n * @fires igcInput - Emitted when the control input receives user input.\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart container - The main wrapper that holds all main input elements.\n * @csspart input - The native input element.\n * @csspart label - The native label element.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcInputComponent extends IgcInputBaseComponent {\n public static readonly tagName = 'igc-input';\n\n @property()\n @blazorTwoWayBind('igcChange', 'detail')\n public value = '';\n\n /** The direction attribute of the control. */\n @property({ reflect: true })\n public override dir: Direction = 'auto';\n\n /** The type attribute of the control. */\n @alternateName('displayType')\n @property({ reflect: true })\n public type:\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'url' = 'text';\n\n /** The input mode attribute of the control. */\n @property()\n public inputmode!:\n | 'none'\n | 'txt'\n | 'decimal'\n | 'numeric'\n | 'tel'\n | 'search'\n | 'email'\n | 'url';\n\n /** The pattern attribute of the control. */\n @property({ type: String })\n public pattern!: string;\n\n /** Controls the validity of the control. */\n @property({ reflect: true, type: Boolean })\n public invalid = false;\n\n /** The minlength attribute of the control. */\n @property({ type: Number })\n public minlength!: number;\n\n /** The maxlength attribute of the control. */\n @property({ type: Number })\n public maxlength!: number;\n\n /** The min attribute of the control. */\n @property()\n public min!: number | string;\n\n /** The max attribute of the control. */\n @property()\n public max!: number | string;\n\n /** The step attribute of the control. */\n @property({ type: Number })\n public step!: number;\n\n /** The autofocus attribute of the control. */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /** The autocomplete attribute of the control. */\n @property()\n public autocomplete!: string;\n\n /** Checks for validity of the control and shows the browser message if it's invalid. */\n public reportValidity() {\n return this.input.reportValidity();\n }\n\n /** Replaces the selected text in the input. */\n public override setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectMode: 'select' | 'start' | 'end' | 'preserve' = 'preserve'\n ) {\n super.setRangeText(replacement, start, end, selectMode);\n this.value = this.input.value;\n }\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public setCustomValidity(message: string) {\n this.input.setCustomValidity(message);\n this.invalid = !this.input.checkValidity();\n }\n\n /** Selects all text within the input. */\n public select() {\n return this.input.select();\n }\n\n /** Increments the numeric value of the input by one or more steps. */\n public stepUp(n?: number) {\n this.input.stepUp(n);\n this.handleChange();\n }\n\n /** Decrements the numeric value of the input by one or more steps. */\n public stepDown(n?: number) {\n this.input.stepDown(n);\n this.handleChange();\n }\n\n private handleInvalid() {\n this.invalid = true;\n }\n\n private handleInput() {\n this.value = this.input.value;\n this.emitEvent('igcInput', { detail: this.value });\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n protected handleValueChange() {\n this.updateComplete.then(\n () => (this.invalid = !this.input.checkValidity())\n );\n }\n\n protected renderInput() {\n return html`\n <input\n id=\"${this.inputId}\"\n part=\"${partNameMap(this.resolvePartNames('input'))}\"\n name=\"${ifDefined(this.name)}\"\n type=\"${ifDefined(this.type)}\"\n pattern=\"${ifDefined(this.pattern)}\"\n placeholder=\"${ifDefined(this.placeholder)}\"\n .value=\"${live(this.value)}\"\n ?readonly=\"${this.readonly}\"\n ?disabled=\"${this.disabled}\"\n ?required=\"${this.required}\"\n ?autofocus=\"${this.autofocus}\"\n autocomplete=\"${ifDefined(this.autocomplete as any)}\"\n inputmode=\"${ifDefined(this.inputmode)}\"\n min=\"${ifDefined(this.min)}\"\n max=\"${ifDefined(this.max)}\"\n minlength=\"${ifDefined(this.minlength)}\"\n maxlength=\"${ifDefined(this.maxlength)}\"\n step=\"${ifDefined(this.step)}\"\n aria-invalid=\"${this.invalid ? 'true' : 'false'}\"\n @invalid=\"${this.handleInvalid}\"\n @change=\"${this.handleChange}\"\n @input=\"${this.handleInput}\"\n @focus=\"${this.handleFocus}\"\n @blur=\"${this.handleBlur}\"\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-input': IgcInputComponent;\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host::after{background:none}:host [part~=input]{border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem);padding:initial;background:var(--input-background, #fff);-webkit-box-shadow:0 0 0 0
|
|
2
|
+
export const styles = css `:host::after{background:none}:host [part~=input]{border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem);padding:initial;background:var(--input-background, #fff);-webkit-box-shadow:0 0 0 0 rgba(0,0,0,0);box-shadow:0 0 0 0 rgba(0,0,0,0);z-index:1;border:1px solid hsla(var(--igc-gray-400), var(--igc-gray-a));-webkit-transition:border .15s ease-out,-webkit-box-shadow .15s ease-out;transition:border .15s ease-out,-webkit-box-shadow .15s ease-out;-o-transition:box-shadow .15s ease-out,border .15s ease-out;transition:box-shadow .15s ease-out,border .15s ease-out;transition:box-shadow .15s ease-out,border .15s ease-out,-webkit-box-shadow .15s ease-out;grid-area:1/2}:host [part~=prefixed]{border-start-start-radius:0;border-end-start-radius:0}:host [part~=suffixed]{border-start-end-radius:0;border-end-end-radius:0}:host label{line-height:1.5rem;margin-bottom:.25rem;color:hsla(var(--igc-gray-700), var(--igc-gray-a))}:host label:empty{display:none}:host [part~=container]{border:none;grid-template-columns:auto 1fr auto}:host [part~=container]::after{display:none}:host [part=prefix],:host [part=suffix]{position:relative;padding:rem(16px);border-radius:none;min-width:auto;color:hsla(var(--igc-gray-800), var(--igc-gray-a));background:hsla(var(--igc-gray-300), var(--igc-gray-a));-webkit-transition:border .15s ease-out,-webkit-box-shadow .15s ease-out;transition:border .15s ease-out,-webkit-box-shadow .15s ease-out;-o-transition:box-shadow .15s ease-out,border .15s ease-out;transition:box-shadow .15s ease-out,border .15s ease-out;transition:box-shadow .15s ease-out,border .15s ease-out,-webkit-box-shadow .15s ease-out}:host [part=prefix]:focus-within,:host [part=suffix]:focus-within{-webkit-box-shadow:0 0 0 .25rem hsla(var(--igc-gray-300), 0.38);box-shadow:0 0 0 .25rem hsla(var(--igc-gray-300), 0.38)}:host [part=prefix]{grid-area:1/1;border-style:solid;border-color:hsla(var(--igc-gray-400), var(--igc-gray-a));border-inline-start-width:1px;border-inline-end-width:0;border-block-start-width:1px;border-block-end-width:1px;border-start-start-radius:.25rem;border-end-start-radius:.25rem}:host [part=suffix]{grid-area:1/3;border-style:solid;border-color:hsla(var(--igc-gray-400), var(--igc-gray-a));border-inline-start-width:0;border-inline-end-width:1px;border-block-start-width:1px;border-block-end-width:1px;border-start-end-radius:.25rem;border-end-end-radius:.25rem}:host [part=helper-text]{margin-top:rem(4px);color:hsla(var(--igc-gray-700), var(--igc-gray-a))}:host([size=large]) [part~=container],:host([size=large]) [part~=input]{height:3rem}:host([size=large]) [part~=input]{font-size:1.25rem;padding:.5rem 1rem}:host([size=large]) [part=prefix],:host([size=large]) [part=suffix]{font-size:rem(20px);padding:.5rem 1rem}:host([size=medium]) [part~=container],:host([size=medium]) [part~=input]{height:2.375rem}:host([size=medium]) [part~=input]{font-size:1rem;padding:.375rem .75rem}:host([size=medium]) [part=prefix],:host([size=medium]) [part=suffix]{font-size:1rem;padding:.375rem .75rem}:host([size=small]) [part~=container],:host([size=small]) [part~=input]{height:1.9375rem}:host([size=small]) [part~=input]{font-size:1rem;padding:.25rem .5rem}:host([size=small]) [part=prefix],:host([size=small]) [part=suffix]{font-size:.875rem;padding:.25rem .5rem}:host(:focus-within) [part~=input]{-webkit-box-shadow:0 0 0 .25rem hsla(var(--igc-primary-500), 0.38);box-shadow:0 0 0 .25rem hsla(var(--igc-primary-500), 0.38);border-color:hsla(var(--igc-primary-500), var(--igc-primary-a))}:host([invalid]:focus-within) [part~=input]{-webkit-box-shadow:0 0 0 .25rem hsla(var(--igc-error-500), 0.38);box-shadow:0 0 0 .25rem hsla(var(--igc-error-500), 0.38);border-color:hsla(var(--igc-error-500), var(--igc-error-a))}:host([disabled]) [part=prefix],:host([disabled]) [part=suffix],:host([disabled]) [part~=input],:host([readonly]) [part=prefix],:host([readonly]) [part=suffix],:host([readonly]) [part~=input]{background:hsla(var(--igc-gray-100), var(--igc-gray-a));border-color:hsla(var(--igc-gray-300), var(--igc-gray-a));color:hsla(var(--igc-gray-400), var(--igc-gray-a))}:host([readonly]) [part=prefix],:host([readonly]) [part=suffix],:host([readonly]) [part~=input]{color:hsla(var(--igc-gray-800), var(--igc-gray-a))}:host(:focus-within[readonly]) [part~=input]{-webkit-box-shadow:0 0 0 .25rem hsla(var(--igc-gray-400), 0.38);box-shadow:0 0 0 .25rem hsla(var(--igc-gray-400), 0.38);border-color:hsla(var(--igc-gray-400), var(--igc-gray-a))}`;
|
|
3
3
|
//# sourceMappingURL=input.bootstrap.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/input/themes/light/input.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"input.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/input/themes/light/input.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,q3IAAq3I,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host::after{background:none}:host [part~=input]{border-radius:clamp(0rem,var(--igc-radius-factor)*.25rem,.25rem);padding:initial;background:var(--input-background, #fff);-webkit-box-shadow:0 0 0 0 rgba(0,0,0,0);box-shadow:0 0 0 0 rgba(0,0,0,0);z-index:1;border:1px solid hsla(var(--igc-gray-400), var(--igc-gray-a));-webkit-transition:border .15s ease-out,-webkit-box-shadow .15s ease-out;transition:border .15s ease-out,-webkit-box-shadow .15s ease-out;-o-transition:box-shadow .15s ease-out,border .15s ease-out;transition:box-shadow .15s ease-out,border .15s ease-out;transition:box-shadow .15s ease-out,border .15s ease-out,-webkit-box-shadow .15s ease-out;grid-area:1/2}:host [part~=prefixed]{border-start-start-radius:0;border-end-start-radius:0}:host [part~=suffixed]{border-start-end-radius:0;border-end-end-radius:0}:host label{line-height:1.5rem;margin-bottom:.25rem;color:hsla(var(--igc-gray-700), var(--igc-gray-a))}:host label:empty{display:none}:host [part~=container]{border:none;grid-template-columns:auto 1fr auto}:host [part~=container]::after{display:none}:host [part=prefix],:host [part=suffix]{position:relative;padding:rem(16px);border-radius:none;min-width:auto;color:hsla(var(--igc-gray-800), var(--igc-gray-a));background:hsla(var(--igc-gray-300), var(--igc-gray-a));-webkit-transition:border .15s ease-out,-webkit-box-shadow .15s ease-out;transition:border .15s ease-out,-webkit-box-shadow .15s ease-out;-o-transition:box-shadow .15s ease-out,border .15s ease-out;transition:box-shadow .15s ease-out,border .15s ease-out;transition:box-shadow .15s ease-out,border .15s ease-out,-webkit-box-shadow .15s ease-out}:host [part=prefix]:focus-within,:host [part=suffix]:focus-within{-webkit-box-shadow:0 0 0 .25rem hsla(var(--igc-gray-300), 0.38);box-shadow:0 0 0 .25rem hsla(var(--igc-gray-300), 0.38)}:host [part=prefix]{grid-area:1/1;border-style:solid;border-color:hsla(var(--igc-gray-400), var(--igc-gray-a));border-inline-start-width:1px;border-inline-end-width:0;border-block-start-width:1px;border-block-end-width:1px;border-start-start-radius:.25rem;border-end-start-radius:.25rem}:host [part=suffix]{grid-area:1/3;border-style:solid;border-color:hsla(var(--igc-gray-400), var(--igc-gray-a));border-inline-start-width:0;border-inline-end-width:1px;border-block-start-width:1px;border-block-end-width:1px;border-start-end-radius:.25rem;border-end-end-radius:.25rem}:host [part=helper-text]{margin-top:rem(4px);color:hsla(var(--igc-gray-700), var(--igc-gray-a))}:host([size=large]) [part~=container],:host([size=large]) [part~=input]{height:3rem}:host([size=large]) [part~=input]{font-size:1.25rem;padding:.5rem 1rem}:host([size=large]) [part=prefix],:host([size=large]) [part=suffix]{font-size:rem(20px);padding:.5rem 1rem}:host([size=medium]) [part~=container],:host([size=medium]) [part~=input]{height:2.375rem}:host([size=medium]) [part~=input]{font-size:1rem;padding:.375rem .75rem}:host([size=medium]) [part=prefix],:host([size=medium]) [part=suffix]{font-size:1rem;padding:.375rem .75rem}:host([size=small]) [part~=container],:host([size=small]) [part~=input]{height:1.9375rem}:host([size=small]) [part~=input]{font-size:1rem;padding:.25rem .5rem}:host([size=small]) [part=prefix],:host([size=small]) [part=suffix]{font-size:.875rem;padding:.25rem .5rem}:host(:focus-within) [part~=input]{-webkit-box-shadow:0 0 0 .25rem hsla(var(--igc-primary-500), 0.38);box-shadow:0 0 0 .25rem hsla(var(--igc-primary-500), 0.38);border-color:hsla(var(--igc-primary-500), var(--igc-primary-a))}:host([invalid]:focus-within) [part~=input]{-webkit-box-shadow:0 0 0 .25rem hsla(var(--igc-error-500), 0.38);box-shadow:0 0 0 .25rem hsla(var(--igc-error-500), 0.38);border-color:hsla(var(--igc-error-500), var(--igc-error-a))}:host([disabled]) [part=prefix],:host([disabled]) [part=suffix],:host([disabled]) [part~=input],:host([readonly]) [part=prefix],:host([readonly]) [part=suffix],:host([readonly]) [part~=input]{background:hsla(var(--igc-gray-100), var(--igc-gray-a));border-color:hsla(var(--igc-gray-300), var(--igc-gray-a));color:hsla(var(--igc-gray-400), var(--igc-gray-a))}:host([readonly]) [part=prefix],:host([readonly]) [part=suffix],:host([readonly]) [part~=input]{color:hsla(var(--igc-gray-800), var(--igc-gray-a))}:host(:focus-within[readonly]) [part~=input]{-webkit-box-shadow:0 0 0 .25rem hsla(var(--igc-gray-400), 0.38);box-shadow:0 0 0 .25rem hsla(var(--igc-gray-400), 0.38);border-color:hsla(var(--igc-gray-400), var(--igc-gray-a))}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host [part=prefix],:host [part=suffix]{padding:0 .625rem;color:hsla(var(--igc-gray-700), var(--igc-gray-a));background:hsla(var(--igc-gray-100), var(--igc-gray-a));font-size:.875rem}:host [part=prefix]{grid-area:1/1}:host [part=suffix]{grid-area:1/3}:host [part=label]{margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:hsla(var(--igc-gray-900), var(--igc-gray-a))}:host [part^=container]{border-radius:clamp(0rem,var(--igc-radius-factor)*2px,2px);border:0.0625rem solid hsla(var(--igc-gray-500), var(--igc-gray-a));-webkit-transition:none;-o-transition:none;transition:none;background:var(--container-background, hsla(var(--igc-surface-500), var(--igc-surface-a)));cursor:text;grid-template-columns:auto 1fr auto;overflow:hidden}:host [part^=container]::after{background:
|
|
2
|
+
export const styles = css `:host [part=prefix],:host [part=suffix]{padding:0 .625rem;color:hsla(var(--igc-gray-700), var(--igc-gray-a));background:hsla(var(--igc-gray-100), var(--igc-gray-a));font-size:.875rem}:host [part=prefix]{grid-area:1/1}:host [part=suffix]{grid-area:1/3}:host [part=label]{margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:hsla(var(--igc-gray-900), var(--igc-gray-a))}:host [part^=container]{border-radius:clamp(0rem,var(--igc-radius-factor)*2px,2px);border:0.0625rem solid hsla(var(--igc-gray-500), var(--igc-gray-a));-webkit-transition:none;-o-transition:none;transition:none;background:var(--container-background, hsla(var(--igc-surface-500), var(--igc-surface-a)));cursor:text;grid-template-columns:auto 1fr auto;overflow:hidden}:host [part^=container]::after{background:rgba(0,0,0,0);-webkit-transform:none;-ms-transform:none;transform:none;height:initial}:host [part~=input]{background:initial;font-size:.875rem;padding:.5rem;height:100%;max-height:100%;border:none;grid-area:1/2}:host [part=helper-text]{padding:0;margin-top:.5rem;color:hsla(var(--igc-gray-600), var(--igc-gray-a))}:host([size=large]) [part^=container]{height:3rem}:host([size=large]) [part~=input]{height:2.875rem}:host([size=medium]) [part^=container]{height:2.5rem}:host([size=medium]) [part~=input]{height:2.375rem}:host([size=small]) [part^=container]{height:2rem}:host([size=small]) [part~=input]{height:1.875rem}:host([size=large]:focus-within) [part~=input]{height:2.75rem}:host([size=medium]:focus-within) [part~=input]{height:2.25rem}:host([size=small]:focus-within) [part~=input]{height:1.75rem}:host(:not([invalid]):hover) [part^=container]{border-color:hsla(var(--igc-gray-700), var(--igc-gray-a))}:host(:focus-within) [part^=container]{border-width:0.125rem}:host(:focus-within) [part=prefix]{-webkit-margin-start:-0.0625rem;margin-inline-start:-0.0625rem}:host(:focus-within) [part=suffix]{-webkit-margin-end:-0.0625rem;margin-inline-end:-0.0625rem}:host(:not([invalid]):focus-within) [part^=container],:host(:not([invalid]):focus-within:hover) [part^=container]{border-color:hsla(var(--igc-primary-500), var(--igc-primary-a))}:host([required]) [part=label]::after,:host([outlined][required]) [part=label]::after{color:hsla(var(--igc-error-500), var(--igc-error-a))}:host([invalid]) [part^=container],:host([outlined][invalid]) [part^=container]{border-color:hsla(var(--igc-error-500), var(--igc-error-a))}:host([invalid]) [part=helper-text],:host([outlined][invalid]) [part=helper-text]{color:hsla(var(--igc-error-500), var(--igc-error-a))}:host([disabled]){pointer-events:none}:host([disabled]) [part^=container]{border-color:hsla(var(--igc-gray-100), var(--igc-gray-a))}:host([disabled]) [part^=container],:host([disabled]) [part=prefix],:host([disabled]) [part=suffix]{background:hsla(var(--igc-gray-100), var(--igc-gray-a))}:host([disabled]) [part=prefix],:host([disabled]) [part=suffix],:host([disabled]) [part=label],:host([disabled]) [part~=input],:host([disabled]) [part=helper-text]{color:hsla(var(--igc-gray-400), var(--igc-gray-a))}`;
|
|
3
3
|
//# sourceMappingURL=input.fluent.css.js.map
|