@aquera/nile-elements 0.0.1-beta.3 → 0.0.1-beta.5
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/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/index.d.ts +4 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/index.js +4 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/index.js.map +1 -1
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/internal/tabbable.d.ts +8 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/internal/tabbable.js +65 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/internal/tabbable.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-auto-complete/index.d.ts +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-auto-complete/index.js +2 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-auto-complete/index.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-auto-complete/nile-auto-complete.css.d.ts +12 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-auto-complete/nile-auto-complete.css.js +23 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-auto-complete/nile-auto-complete.css.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-auto-complete/nile-auto-complete.d.ts +27 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-auto-complete/nile-auto-complete.js +127 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-chip/index.d.ts +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-chip/index.js +2 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-chip/index.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-chip/nile-chip.css.d.ts +12 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-chip/nile-chip.css.js +146 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-chip/nile-chip.css.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-chip/nile-chip.d.ts +44 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-chip/nile-chip.js +180 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-chip/nile-chip.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-dropdown/index.d.ts +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-dropdown/index.js +2 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-dropdown/index.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-dropdown/nile-dropdown.css.d.ts +12 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-dropdown/nile-dropdown.css.js +60 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-dropdown/nile-dropdown.css.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-dropdown/nile-dropdown.d.ts +105 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-dropdown/nile-dropdown.js +412 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-dropdown/nile-dropdown.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-input/nile-input.css.js +20 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-input/nile-input.css.js.map +1 -1
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu/index.d.ts +1 -41
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu/index.js +1 -119
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu/index.js.map +1 -1
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu/nile-menu.css.d.ts +12 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu/nile-menu.css.js +28 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu/nile-menu.css.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu/nile-menu.d.ts +43 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu/nile-menu.js +142 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu/nile-menu.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu-item/index.d.ts +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu-item/index.js +2 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu-item/index.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu-item/nile-menu-item.css.d.ts +12 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu-item/nile-menu-item.css.js +121 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu-item/nile-menu-item.d.ts +62 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu-item/nile-menu-item.js +173 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/src/nile-menu-item/nile-menu-item.js.map +1 -0
- package/.rollup.cache/Users/ravisankar/aquera/nile/packages/nile-elements/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/internal/slot.cjs.js +1 -1
- package/dist/internal/slot.cjs.js.map +1 -1
- package/dist/internal/slot.esm.js +1 -1
- package/dist/internal/tabbable.cjs.js +2 -0
- package/dist/internal/tabbable.cjs.js.map +1 -0
- package/dist/internal/tabbable.esm.js +1 -0
- package/dist/nile-auto-complete/index.cjs.js +2 -0
- package/dist/nile-auto-complete/index.cjs.js.map +1 -0
- package/dist/nile-auto-complete/index.esm.js +1 -0
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js +2 -0
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -0
- package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js +2 -0
- package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js.map +1 -0
- package/dist/nile-auto-complete/nile-auto-complete.css.esm.js +11 -0
- package/dist/nile-auto-complete/nile-auto-complete.esm.js +21 -0
- package/dist/nile-chip/index.cjs.js +2 -0
- package/dist/nile-chip/index.cjs.js.map +1 -0
- package/dist/nile-chip/index.esm.js +1 -0
- package/dist/nile-chip/nile-chip.cjs.js +2 -0
- package/dist/nile-chip/nile-chip.cjs.js.map +1 -0
- package/dist/nile-chip/nile-chip.css.cjs.js +2 -0
- package/dist/nile-chip/nile-chip.css.cjs.js.map +1 -0
- package/dist/nile-chip/nile-chip.css.esm.js +134 -0
- package/dist/nile-chip/nile-chip.esm.js +46 -0
- package/dist/nile-dropdown/index.cjs.js +2 -0
- package/dist/nile-dropdown/index.cjs.js.map +1 -0
- package/dist/nile-dropdown/index.esm.js +1 -0
- package/dist/nile-dropdown/nile-dropdown.cjs.js +2 -0
- package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -0
- package/dist/nile-dropdown/nile-dropdown.css.cjs.js +2 -0
- package/dist/nile-dropdown/nile-dropdown.css.cjs.js.map +1 -0
- package/dist/nile-dropdown/nile-dropdown.css.esm.js +48 -0
- package/dist/nile-dropdown/nile-dropdown.esm.js +33 -0
- package/dist/nile-input/nile-input.css.cjs.js +1 -1
- package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.css.esm.js +20 -0
- package/dist/nile-menu/index.cjs.js +1 -1
- package/dist/nile-menu/index.cjs.js.map +1 -1
- package/dist/nile-menu/index.esm.js +1 -53
- package/dist/nile-menu/nile-menu.cjs.js +2 -0
- package/dist/nile-menu/nile-menu.cjs.js.map +1 -0
- package/dist/nile-menu/nile-menu.css.cjs.js +2 -0
- package/dist/nile-menu/nile-menu.css.cjs.js.map +1 -0
- package/dist/nile-menu/nile-menu.css.esm.js +16 -0
- package/dist/nile-menu/nile-menu.esm.js +8 -0
- package/dist/nile-menu-item/index.cjs.js +2 -0
- package/dist/nile-menu-item/index.cjs.js.map +1 -0
- package/dist/nile-menu-item/index.esm.js +1 -0
- package/dist/nile-menu-item/nile-menu-item.cjs.js +2 -0
- package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -0
- package/dist/nile-menu-item/nile-menu-item.css.cjs.js +2 -0
- package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -0
- package/dist/nile-menu-item/nile-menu-item.css.esm.js +109 -0
- package/dist/nile-menu-item/nile-menu-item.esm.js +20 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal/tabbable.d.ts +8 -0
- package/dist/src/internal/tabbable.js +65 -0
- package/dist/src/internal/tabbable.js.map +1 -0
- package/dist/src/nile-auto-complete/index.d.ts +1 -0
- package/dist/src/nile-auto-complete/index.js +2 -0
- package/dist/src/nile-auto-complete/index.js.map +1 -0
- package/dist/src/nile-auto-complete/nile-auto-complete.css.d.ts +12 -0
- package/dist/src/nile-auto-complete/nile-auto-complete.css.js +23 -0
- package/dist/src/nile-auto-complete/nile-auto-complete.css.js.map +1 -0
- package/dist/src/nile-auto-complete/nile-auto-complete.d.ts +27 -0
- package/dist/src/nile-auto-complete/nile-auto-complete.js +127 -0
- package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -0
- package/dist/src/nile-chip/index.d.ts +1 -0
- package/dist/src/nile-chip/index.js +2 -0
- package/dist/src/nile-chip/index.js.map +1 -0
- package/dist/src/nile-chip/nile-chip.css.d.ts +12 -0
- package/dist/src/nile-chip/nile-chip.css.js +146 -0
- package/dist/src/nile-chip/nile-chip.css.js.map +1 -0
- package/dist/src/nile-chip/nile-chip.d.ts +44 -0
- package/dist/src/nile-chip/nile-chip.js +180 -0
- package/dist/src/nile-chip/nile-chip.js.map +1 -0
- package/dist/src/nile-dropdown/index.d.ts +1 -0
- package/dist/src/nile-dropdown/index.js +2 -0
- package/dist/src/nile-dropdown/index.js.map +1 -0
- package/dist/src/nile-dropdown/nile-dropdown.css.d.ts +12 -0
- package/dist/src/nile-dropdown/nile-dropdown.css.js +60 -0
- package/dist/src/nile-dropdown/nile-dropdown.css.js.map +1 -0
- package/dist/src/nile-dropdown/nile-dropdown.d.ts +105 -0
- package/dist/src/nile-dropdown/nile-dropdown.js +412 -0
- package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -0
- package/dist/src/nile-input/nile-input.css.js +20 -0
- package/dist/src/nile-input/nile-input.css.js.map +1 -1
- package/dist/src/nile-menu/index.d.ts +1 -41
- package/dist/src/nile-menu/index.js +1 -119
- package/dist/src/nile-menu/index.js.map +1 -1
- package/dist/src/nile-menu/nile-menu.css.d.ts +12 -0
- package/dist/src/nile-menu/nile-menu.css.js +28 -0
- package/dist/src/nile-menu/nile-menu.css.js.map +1 -0
- package/dist/src/nile-menu/nile-menu.d.ts +43 -0
- package/dist/src/nile-menu/nile-menu.js +142 -0
- package/dist/src/nile-menu/nile-menu.js.map +1 -0
- package/dist/src/nile-menu-item/index.d.ts +1 -0
- package/dist/src/nile-menu-item/index.js +2 -0
- package/dist/src/nile-menu-item/index.js.map +1 -0
- package/dist/src/nile-menu-item/nile-menu-item.css.d.ts +12 -0
- package/dist/src/nile-menu-item/nile-menu-item.css.js +121 -0
- package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -0
- package/dist/src/nile-menu-item/nile-menu-item.d.ts +62 -0
- package/dist/src/nile-menu-item/nile-menu-item.js +173 -0
- package/dist/src/nile-menu-item/nile-menu-item.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/watch.cjs.js +1 -1
- package/dist/watch.cjs.js.map +1 -1
- package/dist/watch.esm.js +1 -1
- package/package.json +1 -1
- package/src/index.ts +4 -0
- package/src/internal/tabbable.ts +81 -0
- package/src/nile-auto-complete/index.ts +1 -0
- package/src/nile-auto-complete/nile-auto-complete.css.ts +25 -0
- package/src/nile-auto-complete/nile-auto-complete.ts +132 -0
- package/src/nile-chip/index.ts +1 -0
- package/src/nile-chip/nile-chip.css.ts +148 -0
- package/src/nile-chip/nile-chip.ts +189 -0
- package/src/nile-dropdown/index.ts +1 -0
- package/src/nile-dropdown/nile-dropdown.css.ts +62 -0
- package/src/nile-dropdown/nile-dropdown.ts +461 -0
- package/src/nile-input/nile-input.css.ts +20 -0
- package/src/nile-menu/index.ts +1 -116
- package/src/nile-menu/nile-menu.css.ts +30 -0
- package/src/nile-menu/nile-menu.ts +169 -0
- package/src/nile-menu-item/index.ts +1 -0
- package/src/nile-menu-item/nile-menu-item.css.ts +123 -0
- package/src/nile-menu-item/nile-menu-item.ts +171 -0
- package/src/nile-menu/nile-menu.scss +0 -0
@@ -0,0 +1,180 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright Aquera Inc 2023
|
3
|
+
*
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import { __decorate } from "tslib";
|
8
|
+
import { html, property } from 'lit-element';
|
9
|
+
import { customElement, query, state } from 'lit/decorators.js';
|
10
|
+
import { styles } from './nile-chip.css';
|
11
|
+
import { classMap } from 'lit/directives/class-map.js';
|
12
|
+
import { HasSlotController } from '../internal/slot';
|
13
|
+
import NileElement from '../internal/nile-element';
|
14
|
+
let NileChip = class NileChip extends NileElement {
|
15
|
+
constructor() {
|
16
|
+
super(...arguments);
|
17
|
+
this.hasSlotController = new HasSlotController(this, 'help-text', 'label');
|
18
|
+
this.tags = [];
|
19
|
+
this.inputValue = '';
|
20
|
+
this.isDropdownOpen = false;
|
21
|
+
/** The input's label. If you need to display HTML, use the `label` slot instead. */
|
22
|
+
this.label = '';
|
23
|
+
/** Adds a clear button when the input is not empty. */
|
24
|
+
this.acceptUserInput = false;
|
25
|
+
/** Adds a clear button when the input is not empty. */
|
26
|
+
this.clearable = false;
|
27
|
+
/** Placeholder text to show as a hint when the input is empty. */
|
28
|
+
this.placeholder = '';
|
29
|
+
/** Makes the input readonly. */
|
30
|
+
this.readonly = false;
|
31
|
+
/** Disables the input. */
|
32
|
+
this.disabled = false;
|
33
|
+
/** The input's help text. If you need to display HTML, use the `help-text` slot instead. */
|
34
|
+
this.helpText = '';
|
35
|
+
// Auto-complete options
|
36
|
+
this.autoCompleteOptions = [];
|
37
|
+
}
|
38
|
+
static get styles() {
|
39
|
+
return [styles];
|
40
|
+
}
|
41
|
+
handleSelect(event) {
|
42
|
+
// Add the selected value to the tags array
|
43
|
+
this.tags = [...this.tags, event.detail.value];
|
44
|
+
// Emit a custom event with the selected value
|
45
|
+
this.emit('nile-chip-change', { value: this.tags });
|
46
|
+
// Reset the input field
|
47
|
+
this.resetInput();
|
48
|
+
}
|
49
|
+
handleRemove(value) {
|
50
|
+
// Remove the tag from the tags array
|
51
|
+
this.tags = this.tags.filter(tag => tag !== value);
|
52
|
+
this.emit('nile-chip-change', { value: this.tags });
|
53
|
+
}
|
54
|
+
handleInputChange(event) {
|
55
|
+
// Update the input value
|
56
|
+
this.inputValue = event.detail.value;
|
57
|
+
}
|
58
|
+
handleInputKeydown(event) {
|
59
|
+
if (!this.acceptUserInput) {
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
if (event.key === 'Enter' && this.inputValue) {
|
63
|
+
this.tags = [...this.tags, this.inputValue];
|
64
|
+
this.resetInput();
|
65
|
+
this.emit('nile-chip-change', { value: this.tags });
|
66
|
+
}
|
67
|
+
}
|
68
|
+
handleFocus() {
|
69
|
+
this.isDropdownOpen = true;
|
70
|
+
}
|
71
|
+
resetInput() {
|
72
|
+
// Reset the input-related properties
|
73
|
+
this.inputValue = '';
|
74
|
+
this.isDropdownOpen = false;
|
75
|
+
this.autoComplete.value = '';
|
76
|
+
this.autoComplete.handleFocus();
|
77
|
+
}
|
78
|
+
render() {
|
79
|
+
// Check if slots are present
|
80
|
+
const hasLabelSlot = this.hasSlotController.test('label');
|
81
|
+
const hasHelpTextSlot = this.hasSlotController.test('help-text');
|
82
|
+
// Check if label and help text are present
|
83
|
+
const hasLabel = this.label ? true : !!hasLabelSlot;
|
84
|
+
const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;
|
85
|
+
return html `
|
86
|
+
<div
|
87
|
+
part="form-control"
|
88
|
+
class=${classMap({
|
89
|
+
'form-control': true,
|
90
|
+
'form-control--medium': true,
|
91
|
+
'form-control--has-label': hasLabel,
|
92
|
+
'form-control--has-help-text': hasHelpText,
|
93
|
+
'nile-chip--disabled': this.disabled,
|
94
|
+
})}
|
95
|
+
>
|
96
|
+
<label
|
97
|
+
part="form-control-label"
|
98
|
+
class="form-control__label"
|
99
|
+
for="input"
|
100
|
+
aria-hidden=${hasLabel ? 'false' : 'true'}
|
101
|
+
>
|
102
|
+
<slot name="label">${this.label}</slot>
|
103
|
+
</label>
|
104
|
+
|
105
|
+
<div class="nile-chip">
|
106
|
+
${this.tags.map(tag => html `
|
107
|
+
<nile-tag class="nile-chip__tags" @nile-remove=${() => this.handleRemove(tag)} removable pill>
|
108
|
+
${tag}
|
109
|
+
</nile-tag>
|
110
|
+
`)}
|
111
|
+
<div class="nile-chip__auto-complete">
|
112
|
+
<nile-auto-complete
|
113
|
+
.allMenuItems=${this.autoCompleteOptions}
|
114
|
+
.value=${this.inputValue}
|
115
|
+
?isDropdownOpen=${this.isDropdownOpen}
|
116
|
+
.noBorder=${true}
|
117
|
+
openOnFocus
|
118
|
+
.placeholder=${this.placeholder}
|
119
|
+
@nile-input=${this.handleInputChange}
|
120
|
+
@keydown=${this.handleInputKeydown}
|
121
|
+
@nile-focus=${this.handleFocus}
|
122
|
+
@nile-complete=${this.handleSelect}
|
123
|
+
></nile-auto-complete>
|
124
|
+
</div>
|
125
|
+
<slot
|
126
|
+
name="help-text"
|
127
|
+
part="form-control-help-text"
|
128
|
+
id="help-text"
|
129
|
+
class="form-control__help-text"
|
130
|
+
aria-hidden=${hasHelpText ? 'false' : 'true'}
|
131
|
+
>
|
132
|
+
${this.helpText}
|
133
|
+
</slot>
|
134
|
+
</div>
|
135
|
+
</div>
|
136
|
+
`;
|
137
|
+
}
|
138
|
+
};
|
139
|
+
__decorate([
|
140
|
+
state()
|
141
|
+
], NileChip.prototype, "tags", void 0);
|
142
|
+
__decorate([
|
143
|
+
state()
|
144
|
+
], NileChip.prototype, "inputValue", void 0);
|
145
|
+
__decorate([
|
146
|
+
state()
|
147
|
+
], NileChip.prototype, "isDropdownOpen", void 0);
|
148
|
+
__decorate([
|
149
|
+
query('nile-auto-complete')
|
150
|
+
], NileChip.prototype, "autoComplete", void 0);
|
151
|
+
__decorate([
|
152
|
+
property()
|
153
|
+
], NileChip.prototype, "label", void 0);
|
154
|
+
__decorate([
|
155
|
+
property({ type: Boolean })
|
156
|
+
], NileChip.prototype, "acceptUserInput", void 0);
|
157
|
+
__decorate([
|
158
|
+
property({ type: Boolean })
|
159
|
+
], NileChip.prototype, "clearable", void 0);
|
160
|
+
__decorate([
|
161
|
+
property()
|
162
|
+
], NileChip.prototype, "placeholder", void 0);
|
163
|
+
__decorate([
|
164
|
+
property({ type: Boolean, reflect: true })
|
165
|
+
], NileChip.prototype, "readonly", void 0);
|
166
|
+
__decorate([
|
167
|
+
property({ type: Boolean, reflect: true })
|
168
|
+
], NileChip.prototype, "disabled", void 0);
|
169
|
+
__decorate([
|
170
|
+
property({ attribute: 'help-text' })
|
171
|
+
], NileChip.prototype, "helpText", void 0);
|
172
|
+
__decorate([
|
173
|
+
property({ type: Array })
|
174
|
+
], NileChip.prototype, "autoCompleteOptions", void 0);
|
175
|
+
NileChip = __decorate([
|
176
|
+
customElement('nile-chip')
|
177
|
+
], NileChip);
|
178
|
+
export { NileChip };
|
179
|
+
export default NileChip;
|
180
|
+
//# sourceMappingURL=nile-chip.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nile-chip.js","sourceRoot":"","sources":["../../../src/nile-chip/nile-chip.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult\n} from 'lit-element';\nimport { customElement, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-chip.css';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HasSlotController } from '../internal/slot';\nimport { watch } from '../internal/watch';\nimport NileElement, { NileFormControl } from '../internal/nile-element';\n\n\ninterface CustomEventDetail {\n value: string;\n}\n\n@customElement('nile-chip')\nexport class NileChip extends NileElement {\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');\n\n @state() tags: string[] = [];\n\n @state() inputValue: string = '';\n\n @state() isDropdownOpen: boolean = false;\n\n @query('nile-auto-complete') autoComplete!: any;\n\n /** The input's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /** Adds a clear button when the input is not empty. */\n @property({ type: Boolean }) acceptUserInput = false;\n\n /** Adds a clear button when the input is not empty. */\n @property({ type: Boolean }) clearable = false;\n\n /** Placeholder text to show as a hint when the input is empty. */\n @property() placeholder = '';\n\n /** Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /** Disables the input. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** The input's help text. If you need to display HTML, use the `help-text` slot instead. */\n @property({ attribute: 'help-text' }) helpText = '';\n\n // Auto-complete options\n @property({ type: Array }) autoCompleteOptions : any[] = [];\n\n private handleSelect(event: CustomEvent<CustomEventDetail>) {\n\n // Add the selected value to the tags array\n this.tags = [...this.tags, event.detail.value];\n\n // Emit a custom event with the selected value\n this.emit('nile-chip-change', { value: this.tags });\n\n // Reset the input field\n this.resetInput();\n }\n\n private handleRemove(value: string) {\n // Remove the tag from the tags array\n this.tags = this.tags.filter(tag => tag !== value);\n this.emit('nile-chip-change', { value: this.tags });\n\n }\n\n private handleInputChange(event: CustomEvent<CustomEventDetail>) {\n // Update the input value\n this.inputValue = event.detail.value;\n }\n\n private handleInputKeydown(event: KeyboardEvent) {\n if (!this.acceptUserInput) {\n return;\n }\n\n if (event.key === 'Enter' && this.inputValue) {\n this.tags = [...this.tags, this.inputValue];\n\n this.resetInput();\n this.emit('nile-chip-change', { value: this.tags });\n }\n\n\n }\n\n private handleFocus() {\n this.isDropdownOpen = true;\n }\n\n private resetInput() {\n // Reset the input-related properties\n this.inputValue = '';\n this.isDropdownOpen = false;\n this.autoComplete.value = '';\n this.autoComplete.handleFocus();\n }\n\n render() {\n // Check if slots are present\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n\n // Check if label and help text are present\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--medium': true,\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n 'nile-chip--disabled': this.disabled,\n })}\n >\n <label\n part=\"form-control-label\"\n class=\"form-control__label\"\n for=\"input\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n <div class=\"nile-chip\">\n ${this.tags.map(tag => html`\n <nile-tag class=\"nile-chip__tags\" @nile-remove=${() => this.handleRemove(tag)} removable pill>\n ${tag}\n </nile-tag>\n `)}\n <div class=\"nile-chip__auto-complete\">\n <nile-auto-complete\n .allMenuItems=${this.autoCompleteOptions}\n .value=${this.inputValue}\n ?isDropdownOpen=${this.isDropdownOpen}\n .noBorder=${true}\n openOnFocus\n .placeholder=${this.placeholder}\n @nile-input=${this.handleInputChange}\n @keydown=${this.handleInputKeydown}\n @nile-focus=${this.handleFocus}\n @nile-complete=${this.handleSelect}\n ></nile-auto-complete>\n </div>\n <slot\n name=\"help-text\"\n part=\"form-control-help-text\"\n id=\"help-text\"\n class=\"form-control__help-text\"\n aria-hidden=${hasHelpText ? 'false' : 'true'}\n >\n ${this.helpText}\n </slot>\n </div>\n </div>\n `;\n }\n}\n\nexport default NileChip;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-chip': NileChip;\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { NileDropdown } from './nile-dropdown';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-dropdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAC,MAAM,iBAAiB,CAAC","sourcesContent":["export { NileDropdown} from './nile-dropdown';\n"]}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright Aquera Inc 2023
|
3
|
+
*
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
/**
|
8
|
+
* Dropdown CSS
|
9
|
+
*/
|
10
|
+
export declare const styles: import("lit-element").CSSResult;
|
11
|
+
declare const _default: import("lit-element").CSSResult[];
|
12
|
+
export default _default;
|
@@ -0,0 +1,60 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright Aquera Inc 2023
|
3
|
+
*
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import { css } from 'lit-element';
|
8
|
+
/**
|
9
|
+
* Dropdown CSS
|
10
|
+
*/
|
11
|
+
export const styles = css `
|
12
|
+
:host {
|
13
|
+
display: inline-block;
|
14
|
+
}
|
15
|
+
|
16
|
+
.dropdown::part(popup) {
|
17
|
+
z-index: 900;
|
18
|
+
}
|
19
|
+
|
20
|
+
.dropdown[data-current-placement^='top']::part(popup) {
|
21
|
+
transform-origin: bottom;
|
22
|
+
}
|
23
|
+
|
24
|
+
.dropdown[data-current-placement^='bottom']::part(popup) {
|
25
|
+
transform-origin: top;
|
26
|
+
}
|
27
|
+
|
28
|
+
.dropdown[data-current-placement^='left']::part(popup) {
|
29
|
+
transform-origin: right;
|
30
|
+
}
|
31
|
+
|
32
|
+
.dropdown[data-current-placement^='right']::part(popup) {
|
33
|
+
transform-origin: left;
|
34
|
+
}
|
35
|
+
|
36
|
+
.dropdown__trigger {
|
37
|
+
display: block;
|
38
|
+
}
|
39
|
+
|
40
|
+
.dropdown__panel {
|
41
|
+
font-size: 1rem;
|
42
|
+
font-weight: 400;
|
43
|
+
box-shadow: 0 2px 8px hsl(240 3.8% 46.1% / 12%);
|
44
|
+
border-radius: 0.25rem;
|
45
|
+
pointer-events: none;
|
46
|
+
}
|
47
|
+
|
48
|
+
.dropdown--open .dropdown__panel {
|
49
|
+
display: block;
|
50
|
+
pointer-events: all;
|
51
|
+
}
|
52
|
+
|
53
|
+
/* When users slot a menu, make sure it conforms to the popup's auto-size */
|
54
|
+
::slotted(nile-menu) {
|
55
|
+
max-width: var(--auto-size-available-width) !important;
|
56
|
+
max-height: var(--auto-size-available-height) !important;
|
57
|
+
}
|
58
|
+
`;
|
59
|
+
export default [styles];
|
60
|
+
//# sourceMappingURL=nile-dropdown.css.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nile-dropdown.css.js","sourceRoot":"","sources":["../../../src/nile-dropdown/nile-dropdown.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,aAAa,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit-element';\n\n/**\n * Dropdown CSS\n */\nexport const styles = css`\n:host {\n display: inline-block;\n }\n\n .dropdown::part(popup) {\n z-index: 900;\n }\n\n .dropdown[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .dropdown[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n .dropdown[data-current-placement^='left']::part(popup) {\n transform-origin: right;\n }\n\n .dropdown[data-current-placement^='right']::part(popup) {\n transform-origin: left;\n }\n\n .dropdown__trigger {\n display: block;\n }\n\n .dropdown__panel {\n font-size: 1rem;\n font-weight: 400;\n box-shadow: 0 2px 8px hsl(240 3.8% 46.1% / 12%);\n border-radius: 0.25rem;\n pointer-events: none;\n }\n\n .dropdown--open .dropdown__panel {\n display: block;\n pointer-events: all;\n }\n\n /* When users slot a menu, make sure it conforms to the popup's auto-size */\n ::slotted(nile-menu) {\n max-width: var(--auto-size-available-width) !important;\n max-height: var(--auto-size-available-height) !important;\n }\n`;\n\nexport default [styles];\n"]}
|
@@ -0,0 +1,105 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright Aquera Inc 2023
|
3
|
+
*
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import { TemplateResult } from 'lit-element';
|
8
|
+
import NileElement from '../internal/nile-element';
|
9
|
+
import type { CSSResultGroup } from 'lit';
|
10
|
+
import type { NileMenu } from '../nile-menu';
|
11
|
+
import type { NilePopup } from '../nile-popup';
|
12
|
+
import '../nile-popup';
|
13
|
+
/**
|
14
|
+
* Nile icon component.
|
15
|
+
*
|
16
|
+
* @tag nile-dropdown
|
17
|
+
* @summary Dropdowns expose additional content that "drops down" in a panel.
|
18
|
+
* @dependency nile-popup
|
19
|
+
*
|
20
|
+
* @slot - The dropdown's main content.
|
21
|
+
* @slot trigger - The dropdown's trigger, usually a `<nile-button>` element.
|
22
|
+
*
|
23
|
+
* @event nile-show - Emitted when the dropdown opens.
|
24
|
+
* @event nile-after-show - Emitted after the dropdown opens and all animations are complete.
|
25
|
+
* @event nile-hide - Emitted when the dropdown closes.
|
26
|
+
* @event nile-after-hide - Emitted after the dropdown closes and all animations are complete.
|
27
|
+
*
|
28
|
+
* @csspart base - The component's base wrapper.
|
29
|
+
* @csspart trigger - The container that wraps the trigger.
|
30
|
+
* @csspart panel - The panel that gets shown when the dropdown is open.
|
31
|
+
*
|
32
|
+
* @animation dropdown.show - The animation to use when showing the dropdown.
|
33
|
+
* @animation dropdown.hide - The animation to use when hiding the dropdown.
|
34
|
+
*/
|
35
|
+
export declare class NileDropdown extends NileElement {
|
36
|
+
static styles: CSSResultGroup;
|
37
|
+
popup: NilePopup;
|
38
|
+
trigger: HTMLSlotElement;
|
39
|
+
panel: HTMLSlotElement;
|
40
|
+
/**
|
41
|
+
* Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you
|
42
|
+
* can use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.
|
43
|
+
*/
|
44
|
+
open: boolean;
|
45
|
+
/**
|
46
|
+
* The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel
|
47
|
+
* inside of the viewport.
|
48
|
+
*/
|
49
|
+
placement: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end';
|
50
|
+
/** Disables the dropdown so the panel will not open. */
|
51
|
+
disabled: boolean;
|
52
|
+
/**
|
53
|
+
* By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for
|
54
|
+
* dropdowns that allow for multiple interactions.
|
55
|
+
*/
|
56
|
+
stayOpenOnSelect: boolean;
|
57
|
+
/**
|
58
|
+
* The dropdown will close when the user interacts outside of this element (e.g. clicking). Useful for composing other
|
59
|
+
* components that use a dropdown internally.
|
60
|
+
*/
|
61
|
+
containingElement?: HTMLElement;
|
62
|
+
/** The distance in pixels from which to offset the panel away from its trigger. */
|
63
|
+
distance: number;
|
64
|
+
noOpenOnClick: boolean;
|
65
|
+
/** The distance in pixels from which to offset the panel along its trigger. */
|
66
|
+
skidding: number;
|
67
|
+
/**
|
68
|
+
* Enable this option to prevent the panel from being clipped when the component is placed inside a container with
|
69
|
+
* `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.
|
70
|
+
*/
|
71
|
+
hoist: boolean;
|
72
|
+
connectedCallback(): void;
|
73
|
+
firstUpdated(): void;
|
74
|
+
disconnectedCallback(): void;
|
75
|
+
focusOnTrigger(): void;
|
76
|
+
getMenu(): NileMenu | undefined;
|
77
|
+
handleKeyDown(event: KeyboardEvent): void;
|
78
|
+
handleDocumentKeyDown(event: KeyboardEvent): void;
|
79
|
+
handleDocumentMouseDown(event: MouseEvent): void;
|
80
|
+
handlePanelSelect(event: any): void;
|
81
|
+
handleTriggerClick(): void;
|
82
|
+
handleTriggerKeyDown(event: KeyboardEvent): void;
|
83
|
+
handleTriggerKeyUp(event: KeyboardEvent): void;
|
84
|
+
handleTriggerSlotChange(): void;
|
85
|
+
updateAccessibleTrigger(): void;
|
86
|
+
/** Shows the dropdown panel. */
|
87
|
+
show(): Promise<void>;
|
88
|
+
/** Hides the dropdown panel */
|
89
|
+
hide(): Promise<void>;
|
90
|
+
/**
|
91
|
+
* Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu
|
92
|
+
* is activated.
|
93
|
+
*/
|
94
|
+
reposition(): void;
|
95
|
+
addOpenListeners(): void;
|
96
|
+
removeOpenListeners(): void;
|
97
|
+
handleOpenChange(): Promise<void>;
|
98
|
+
render(): TemplateResult<1>;
|
99
|
+
}
|
100
|
+
export default NileDropdown;
|
101
|
+
declare global {
|
102
|
+
interface HTMLElementTagNameMap {
|
103
|
+
'nile-dropdown': NileDropdown;
|
104
|
+
}
|
105
|
+
}
|