tuix-webcomponents 0.73.0 → 0.74.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/README.md +2 -2
- package/dist/assets/tuix-styles.css +13 -0
- package/dist/src/index.d.ts +8 -8
- package/dist/src/index.js +0 -1
- package/dist/src/tuix-button/TuixBaseButton.d.ts +1 -1
- package/dist/src/tuix-button/TuixBaseButton.js +1 -3
- package/dist/src/tuix-button/TuixButton.d.ts +1 -1
- package/dist/src/tuix-button/TuixButton.js +23 -24
- package/dist/src/tuix-button/TuixButton.styles.js +0 -1
- package/dist/src/tuix-button/enums/tuix-button.enums.js +0 -1
- package/dist/src/tuix-button/interfaces/tuix-button.interface.js +0 -1
- package/dist/src/tuix-checkbox/TuixCheckbox.d.ts +1 -1
- package/dist/src/tuix-checkbox/TuixCheckbox.js +6 -7
- package/dist/src/tuix-checkbox/TuixCheckbox.styles.js +0 -1
- package/dist/src/tuix-checkbox/enums/tuix-checkbox.enums.js +0 -1
- package/dist/src/tuix-checkbox/interfaces/tuix-checkbox.interface.d.ts +1 -1
- package/dist/src/tuix-checkbox/interfaces/tuix-checkbox.interface.js +0 -1
- package/dist/src/tuix-dropdown/TuixDropdown.d.ts +2 -2
- package/dist/src/tuix-dropdown/TuixDropdown.js +22 -30
- package/dist/src/tuix-dropdown/TuixDropdown.styles.js +0 -1
- package/dist/src/tuix-dropdown/enums/tuix-dropdown.enums.js +0 -1
- package/dist/src/tuix-dropdown/interfaces/tuix-dropdown.interface.d.ts +2 -2
- package/dist/src/tuix-dropdown/interfaces/tuix-dropdown.interface.js +0 -1
- package/dist/src/tuix-icon/TuixIcon.icons.d.ts +2 -2
- package/dist/src/tuix-icon/TuixIcon.icons.js +1 -2
- package/dist/src/tuix-icon/TuixIcon.js +14 -16
- package/dist/src/tuix-icon/enums/tuix-icon.enums.js +0 -1
- package/dist/src/tuix-icon-button/TuixIconButton.d.ts +1 -1
- package/dist/src/tuix-icon-button/TuixIconButton.js +14 -15
- package/dist/src/tuix-input/TuixInput.d.ts +1 -1
- package/dist/src/tuix-input/TuixInput.js +13 -17
- package/dist/src/tuix-input/TuixInput.styles.js +0 -1
- package/dist/src/tuix-input/enums/tuix-input.enums.js +0 -1
- package/dist/src/tuix-input/interfaces/tuix-input.interface.d.ts +7 -6
- package/dist/src/tuix-input/interfaces/tuix-input.interface.js +5 -7
- package/dist/src/tuix-link/TuixLink.d.ts +1 -1
- package/dist/src/tuix-link/TuixLink.js +1 -2
- package/dist/src/tuix-link/TuixLink.styles.js +0 -1
- package/dist/src/tuix-link/enums/linkTarget.enum.js +0 -1
- package/dist/src/tuix-modal/TuixModal.js +1 -2
- package/dist/src/tuix-modal/TuixModal.styles.js +0 -1
- package/dist/src/tuix-paper/TuixPaper.d.ts +1 -1
- package/dist/src/tuix-paper/TuixPaper.js +1 -2
- package/dist/src/tuix-paper/TuixPaper.styles.js +0 -1
- package/dist/src/tuix-paper/enums/tuix-paper.enum.js +0 -1
- package/dist/src/tuix-radio-button/TuixRadioButton.d.ts +1 -1
- package/dist/src/tuix-radio-button/TuixRadioButton.js +7 -8
- package/dist/src/tuix-radio-button/TuixRadioButton.styles.js +0 -1
- package/dist/src/tuix-radio-button/interfaces/tuix-radio-button.interface.d.ts +1 -1
- package/dist/src/tuix-radio-button/interfaces/tuix-radio-button.interface.js +0 -1
- package/dist/src/tuix-table/TuixTable.js +8 -14
- package/dist/src/tuix-table/TuixTable.styles.js +0 -1
- package/dist/src/tuix-table/interfaces/tuix-table.interface.js +0 -1
- package/dist/src/tuix-text/TuixText.js +12 -13
- package/dist/src/tuix-text/TuixText.styles.js +0 -1
- package/dist/src/tuix-text/enums/tuix-text.enums.js +0 -1
- package/dist/src/tuix-toast/TuixToast.d.ts +2 -2
- package/dist/src/tuix-toast/TuixToast.js +1 -2
- package/dist/src/tuix-toast/TuixToast.styles.js +0 -1
- package/dist/src/tuix-toast/enums/tuix-toast.enums.js +0 -1
- package/dist/src/tuix-toggle-button/TuixToggleButton.js +7 -8
- package/dist/src/tuix-toggle-button/TuixToggleButton.styles.js +0 -1
- package/dist/src/tuix-toggle-button/interfaces/tuix-toggle.interface.d.ts +1 -1
- package/dist/src/tuix-toggle-button/interfaces/tuix-toggle.interface.js +0 -1
- package/dist/src/utils/colors.js +0 -1
- package/dist/src/utils/darkColors.js +0 -1
- package/dist/src/utils/hex-rgb.js +0 -1
- package/dist/src/utils/interfaces/detail-value.interface.js +0 -1
- package/dist/src/utils/mainVariant.enum.js +0 -1
- package/dist/src/utils/screenSizes.enum.js +0 -1
- package/dist/src/utils/slottedClassName.js +0 -1
- package/dist/tsconfig.publish.tsbuildinfo +1 -1
- package/package.json +73 -72
- package/dist/src/index.js.map +0 -1
- package/dist/src/tuix-button/TuixBaseButton.js.map +0 -1
- package/dist/src/tuix-button/TuixButton.js.map +0 -1
- package/dist/src/tuix-button/TuixButton.styles.js.map +0 -1
- package/dist/src/tuix-button/enums/tuix-button.enums.js.map +0 -1
- package/dist/src/tuix-button/interfaces/tuix-button.interface.js.map +0 -1
- package/dist/src/tuix-checkbox/TuixCheckbox.js.map +0 -1
- package/dist/src/tuix-checkbox/TuixCheckbox.styles.js.map +0 -1
- package/dist/src/tuix-checkbox/enums/tuix-checkbox.enums.js.map +0 -1
- package/dist/src/tuix-checkbox/interfaces/tuix-checkbox.interface.js.map +0 -1
- package/dist/src/tuix-dropdown/TuixDropdown.js.map +0 -1
- package/dist/src/tuix-dropdown/TuixDropdown.styles.js.map +0 -1
- package/dist/src/tuix-dropdown/enums/tuix-dropdown.enums.js.map +0 -1
- package/dist/src/tuix-dropdown/interfaces/tuix-dropdown.interface.js.map +0 -1
- package/dist/src/tuix-icon/TuixIcon.icons.js.map +0 -1
- package/dist/src/tuix-icon/TuixIcon.js.map +0 -1
- package/dist/src/tuix-icon/enums/tuix-icon.enums.js.map +0 -1
- package/dist/src/tuix-icon-button/TuixIconButton.js.map +0 -1
- package/dist/src/tuix-input/TuixInput.js.map +0 -1
- package/dist/src/tuix-input/TuixInput.styles.js.map +0 -1
- package/dist/src/tuix-input/enums/tuix-input.enums.js.map +0 -1
- package/dist/src/tuix-input/interfaces/tuix-input.interface.js.map +0 -1
- package/dist/src/tuix-link/TuixLink.js.map +0 -1
- package/dist/src/tuix-link/TuixLink.styles.js.map +0 -1
- package/dist/src/tuix-link/enums/linkTarget.enum.js.map +0 -1
- package/dist/src/tuix-modal/TuixModal.js.map +0 -1
- package/dist/src/tuix-modal/TuixModal.styles.js.map +0 -1
- package/dist/src/tuix-paper/TuixPaper.js.map +0 -1
- package/dist/src/tuix-paper/TuixPaper.styles.js.map +0 -1
- package/dist/src/tuix-paper/enums/tuix-paper.enum.js.map +0 -1
- package/dist/src/tuix-radio-button/TuixRadioButton.js.map +0 -1
- package/dist/src/tuix-radio-button/TuixRadioButton.styles.js.map +0 -1
- package/dist/src/tuix-radio-button/interfaces/tuix-radio-button.interface.js.map +0 -1
- package/dist/src/tuix-table/TuixTable.js.map +0 -1
- package/dist/src/tuix-table/TuixTable.styles.js.map +0 -1
- package/dist/src/tuix-table/interfaces/tuix-table.interface.js.map +0 -1
- package/dist/src/tuix-text/TuixText.js.map +0 -1
- package/dist/src/tuix-text/TuixText.styles.js.map +0 -1
- package/dist/src/tuix-text/enums/tuix-text.enums.js.map +0 -1
- package/dist/src/tuix-toast/TuixToast.js.map +0 -1
- package/dist/src/tuix-toast/TuixToast.styles.js.map +0 -1
- package/dist/src/tuix-toast/enums/tuix-toast.enums.js.map +0 -1
- package/dist/src/tuix-toggle-button/TuixToggleButton.js.map +0 -1
- package/dist/src/tuix-toggle-button/TuixToggleButton.styles.js.map +0 -1
- package/dist/src/tuix-toggle-button/interfaces/tuix-toggle.interface.js.map +0 -1
- package/dist/src/utils/colors.js.map +0 -1
- package/dist/src/utils/darkColors.js.map +0 -1
- package/dist/src/utils/hex-rgb.js.map +0 -1
- package/dist/src/utils/interfaces/detail-value.interface.js.map +0 -1
- package/dist/src/utils/mainVariant.enum.js.map +0 -1
- package/dist/src/utils/screenSizes.enum.js.map +0 -1
- package/dist/src/utils/slottedClassName.js.map +0 -1
package/README.md
CHANGED
|
@@ -12,8 +12,8 @@ npm i tuix-webcomponents
|
|
|
12
12
|
|
|
13
13
|
### Webbundle version
|
|
14
14
|
|
|
15
|
-
Webbundle Link: https://tuix-webcomponents.s3.eu-central-1.amazonaws.com/build-
|
|
16
|
-
Styles Link: https://tuix-webcomponents.s3.eu-central-1.amazonaws.com/build-
|
|
15
|
+
Webbundle Link: https://tuix-webcomponents.s3.eu-central-1.amazonaws.com/build-fcb4c69@0.74.0.js
|
|
16
|
+
Styles Link: https://tuix-webcomponents.s3.eu-central-1.amazonaws.com/build-fcb4c69@0.74.0.css
|
|
17
17
|
|
|
18
18
|
### React .tsx with SSR
|
|
19
19
|
|
|
@@ -27,20 +27,32 @@
|
|
|
27
27
|
--tuix-light-color-section-bg: #FAFAFA;
|
|
28
28
|
--tuix-light-color-shadow: rgba(66, 79, 101, 0.16);
|
|
29
29
|
--tuix-dark-color-primary-50: #F5F5FA;
|
|
30
|
+
--tuix-dark-color-#f5f5fa: PRIMARY_50;
|
|
30
31
|
--tuix-dark-color-primary-100: #EBEAF4;
|
|
32
|
+
--tuix-dark-color-#ebeaf4: PRIMARY_100;
|
|
31
33
|
--tuix-dark-color-primary-200: #D1D1E6;
|
|
34
|
+
--tuix-dark-color-#d1d1e6: PRIMARY_200;
|
|
32
35
|
--tuix-dark-color-primary-300: #A8A9D1;
|
|
36
|
+
--tuix-dark-color-#a8a9d1: PRIMARY_300;
|
|
33
37
|
--tuix-dark-color-main: #7A7CB6;
|
|
34
38
|
--tuix-dark-color-dark-main: #33355B;
|
|
39
|
+
--tuix-dark-color-#33355b: DARK_MAIN;
|
|
35
40
|
--tuix-dark-color-primary-600: #454584;
|
|
41
|
+
--tuix-dark-color-#454584: PRIMARY_600;
|
|
36
42
|
--tuix-dark-color-primary-700: #3A396B;
|
|
43
|
+
--tuix-dark-color-#3a396b: PRIMARY_700;
|
|
37
44
|
--tuix-dark-color-primary-800: #32325A;
|
|
45
|
+
--tuix-dark-color-#32325a: PRIMARY_800;
|
|
38
46
|
--tuix-dark-color-primary-900: #2E2D4D;
|
|
47
|
+
--tuix-dark-color-#2e2d4d: PRIMARY_900;
|
|
39
48
|
--tuix-dark-color-primary-950: #1F1E33;
|
|
49
|
+
--tuix-dark-color-#1f1e33: PRIMARY_950;
|
|
40
50
|
--tuix-dark-color-secondary: #BBADFF;
|
|
51
|
+
--tuix-dark-color-#bbadff: SECONDARY;
|
|
41
52
|
--tuix-dark-color-white: rgba(255, 255, 255, 0.87);
|
|
42
53
|
--tuix-dark-color-black: #121212;
|
|
43
54
|
--tuix-dark-color-neutral-200: #C9C8D3;
|
|
55
|
+
--tuix-dark-color-#c9c8d3: NEUTRAL_200;
|
|
44
56
|
--tuix-dark-color-neutral-600: rgba(255, 255, 255, 0.60);
|
|
45
57
|
--tuix-dark-color-success: #82C5A9;
|
|
46
58
|
--tuix-dark-color-success-50: rgba(241, 249, 245, 0.30);
|
|
@@ -50,6 +62,7 @@
|
|
|
50
62
|
--tuix-dark-color-error: #FF8486;
|
|
51
63
|
--tuix-dark-color-error-50: rgba(255, 132, 134, 0.20);
|
|
52
64
|
--tuix-dark-color-error-200: #FFD8D8;
|
|
65
|
+
--tuix-dark-color-#ffd8d8: ERROR_200;
|
|
53
66
|
--tuix-dark-color-section-bg: #0E0E0E;
|
|
54
67
|
--tuix-dark-color-elevation-1: #17171A;
|
|
55
68
|
--tuix-dark-color-elevation-2: #1A1A1F;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { CustomEventTuixButton } from './tuix-button/interfaces/tuix-button.interface.js';
|
|
2
|
-
export { CustomEventTuixCheckbox, DetailValueCheckbox, } from './tuix-checkbox/interfaces/tuix-checkbox.interface.js';
|
|
3
|
-
export { CustomEventTuixDropdownInput, CustomEventTuixDropdownSelect, TuixDropdownOption, TuixDropdownObjectOption, TuixDropdownPlainOption, } from './tuix-dropdown/interfaces/tuix-dropdown.interface.js';
|
|
4
|
-
export { CustomEventTuixInput } from './tuix-input/interfaces/tuix-input.interface.js';
|
|
5
|
-
export { CustomEventTuixRadioButton } from './tuix-radio-button/interfaces/tuix-radio-button.interface.js';
|
|
6
|
-
export { CustomEventTuixToggle } from './tuix-toggle-button/interfaces/tuix-toggle.interface.js';
|
|
7
|
-
export { DetailValue } from './utils/interfaces/detail-value.interface.js';
|
|
1
|
+
export { type CustomEventTuixButton } from './tuix-button/interfaces/tuix-button.interface.js';
|
|
2
|
+
export type { CustomEventTuixCheckbox, DetailValueCheckbox, } from './tuix-checkbox/interfaces/tuix-checkbox.interface.js';
|
|
3
|
+
export type { CustomEventTuixDropdownInput, CustomEventTuixDropdownSelect, TuixDropdownOption, TuixDropdownObjectOption, TuixDropdownPlainOption, } from './tuix-dropdown/interfaces/tuix-dropdown.interface.js';
|
|
4
|
+
export type { CustomEventTuixInput } from './tuix-input/interfaces/tuix-input.interface.js';
|
|
5
|
+
export type { CustomEventTuixRadioButton } from './tuix-radio-button/interfaces/tuix-radio-button.interface.js';
|
|
6
|
+
export type { CustomEventTuixToggle } from './tuix-toggle-button/interfaces/tuix-toggle.interface.js';
|
|
7
|
+
export type { DetailValue } from './utils/interfaces/detail-value.interface.js';
|
|
8
8
|
export { TuixText } from './tuix-text/TuixText.js';
|
|
9
9
|
export { TuixIcon } from './tuix-icon/TuixIcon.js';
|
|
10
10
|
export { TuixButton } from './tuix-button/TuixButton.js';
|
|
@@ -17,7 +17,7 @@ export { TuixCheckbox } from './tuix-checkbox/TuixCheckbox.js';
|
|
|
17
17
|
export { TuixRadioButton } from './tuix-radio-button/TuixRadioButton.js';
|
|
18
18
|
export { TuixToggleButton } from './tuix-toggle-button/TuixToggleButton.js';
|
|
19
19
|
export { TuixTable } from './tuix-table/TuixTable.js';
|
|
20
|
-
export { IDataTableHeader, TuixTableElement, } from './tuix-table/interfaces/tuix-table.interface.js';
|
|
20
|
+
export type { IDataTableHeader, TuixTableElement, } from './tuix-table/interfaces/tuix-table.interface.js';
|
|
21
21
|
export { TuixToast } from './tuix-toast/TuixToast.js';
|
|
22
22
|
export { TuixModal } from './tuix-modal/TuixModal.js';
|
|
23
23
|
export { ToastType } from './tuix-toast/enums/tuix-toast.enums.js';
|
package/dist/src/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LitElement, TemplateResult } from 'lit';
|
|
1
|
+
import { LitElement, type TemplateResult } from 'lit';
|
|
2
2
|
import { MainVariant } from '../utils/mainVariant.enum.js';
|
|
3
3
|
import { IconName, IconSizeVariant } from '../tuix-icon/enums/tuix-icon.enums.js';
|
|
4
4
|
import '../tuix-icon/TuixIcon.js';
|
|
@@ -16,8 +16,7 @@ export class TuixBaseButton extends LitElement {
|
|
|
16
16
|
this._updateIconColor();
|
|
17
17
|
}
|
|
18
18
|
_getTextColor() {
|
|
19
|
-
|
|
20
|
-
const element = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.button');
|
|
19
|
+
const element = this.shadowRoot?.querySelector('.button');
|
|
21
20
|
if (!element)
|
|
22
21
|
return buttonTextColor[this.variant];
|
|
23
22
|
const computedStyle = getComputedStyle(element);
|
|
@@ -59,4 +58,3 @@ __decorate([
|
|
|
59
58
|
__decorate([
|
|
60
59
|
state()
|
|
61
60
|
], TuixBaseButton.prototype, "iconColor", void 0);
|
|
62
|
-
//# sourceMappingURL=TuixBaseButton.js.map
|
|
@@ -10,25 +10,8 @@ let TuixButton = class TuixButton extends TuixBaseButton {
|
|
|
10
10
|
super(...arguments);
|
|
11
11
|
this.full = false;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return;
|
|
16
|
-
this.iconColor = this._getTextColor();
|
|
17
|
-
}
|
|
18
|
-
_buttonContent() {
|
|
19
|
-
let iconSize = IconSizeVariant.MEDIUM;
|
|
20
|
-
if (screen.width <= ScreenSizes.TABLET) {
|
|
21
|
-
iconSize = IconSizeVariant.SMALL;
|
|
22
|
-
}
|
|
23
|
-
return html ` <div class="container">
|
|
24
|
-
${this.iconLeft ? this._iconTemplate(this.iconLeft, iconSize) : nothing}
|
|
25
|
-
<slot></slot>
|
|
26
|
-
${this.iconRight ? this._iconTemplate(this.iconRight, iconSize) : nothing}
|
|
27
|
-
</div>`;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
TuixButton.styles = [
|
|
31
|
-
css `
|
|
13
|
+
static { this.styles = [
|
|
14
|
+
css `
|
|
32
15
|
:host([full]) .button {
|
|
33
16
|
width: 100%;
|
|
34
17
|
}
|
|
@@ -65,10 +48,27 @@ TuixButton.styles = [
|
|
|
65
48
|
}
|
|
66
49
|
}
|
|
67
50
|
`,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
];
|
|
51
|
+
hostButtonStyles,
|
|
52
|
+
buttonColorStyles,
|
|
53
|
+
buttonSizeStyles,
|
|
54
|
+
]; }
|
|
55
|
+
_updateIconColor() {
|
|
56
|
+
if (!this.iconLeft && !this.iconRight)
|
|
57
|
+
return;
|
|
58
|
+
this.iconColor = this._getTextColor();
|
|
59
|
+
}
|
|
60
|
+
_buttonContent() {
|
|
61
|
+
let iconSize = IconSizeVariant.MEDIUM;
|
|
62
|
+
if (screen.width <= ScreenSizes.TABLET) {
|
|
63
|
+
iconSize = IconSizeVariant.SMALL;
|
|
64
|
+
}
|
|
65
|
+
return html ` <div class="container">
|
|
66
|
+
${this.iconLeft ? this._iconTemplate(this.iconLeft, iconSize) : nothing}
|
|
67
|
+
<slot></slot>
|
|
68
|
+
${this.iconRight ? this._iconTemplate(this.iconRight, iconSize) : nothing}
|
|
69
|
+
</div>`;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
72
|
__decorate([
|
|
73
73
|
property({ type: Boolean, reflect: true })
|
|
74
74
|
], TuixButton.prototype, "full", void 0);
|
|
@@ -82,4 +82,3 @@ TuixButton = __decorate([
|
|
|
82
82
|
customElement('tuix-button')
|
|
83
83
|
], TuixButton);
|
|
84
84
|
export { TuixButton };
|
|
85
|
-
//# sourceMappingURL=TuixButton.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LitElement, TemplateResult } from 'lit';
|
|
1
|
+
import { LitElement, type TemplateResult } from 'lit';
|
|
2
2
|
import { CheckboxLabelSide } from './enums/tuix-checkbox.enums.js';
|
|
3
3
|
export declare class TuixCheckbox extends LitElement {
|
|
4
4
|
static styles: import("lit").CSSResult[];
|
|
@@ -16,6 +16,12 @@ let TuixCheckbox = class TuixCheckbox extends LitElement {
|
|
|
16
16
|
this.label = '';
|
|
17
17
|
this.labelSide = CheckboxLabelSide.RIGHT;
|
|
18
18
|
}
|
|
19
|
+
static { this.styles = [
|
|
20
|
+
hostStyles,
|
|
21
|
+
checkboxContainerStyles,
|
|
22
|
+
checkboxCheckmarkStyles,
|
|
23
|
+
checkboxLabelStyles,
|
|
24
|
+
]; }
|
|
19
25
|
_onCheckboxChange(event) {
|
|
20
26
|
this.dispatchEvent(new CustomEvent('change', {
|
|
21
27
|
detail: {
|
|
@@ -76,12 +82,6 @@ let TuixCheckbox = class TuixCheckbox extends LitElement {
|
|
|
76
82
|
</label>`;
|
|
77
83
|
}
|
|
78
84
|
};
|
|
79
|
-
TuixCheckbox.styles = [
|
|
80
|
-
hostStyles,
|
|
81
|
-
checkboxContainerStyles,
|
|
82
|
-
checkboxCheckmarkStyles,
|
|
83
|
-
checkboxLabelStyles,
|
|
84
|
-
];
|
|
85
85
|
__decorate([
|
|
86
86
|
property({ type: Boolean })
|
|
87
87
|
], TuixCheckbox.prototype, "checked", void 0);
|
|
@@ -104,4 +104,3 @@ TuixCheckbox = __decorate([
|
|
|
104
104
|
customElement('tuix-checkbox')
|
|
105
105
|
], TuixCheckbox);
|
|
106
106
|
export { TuixCheckbox };
|
|
107
|
-
//# sourceMappingURL=TuixCheckbox.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { LitElement, PropertyValues, TemplateResult } from 'lit';
|
|
2
|
-
import { TuixDropdownExtendedOption, TuixDropdownOption } from './interfaces/tuix-dropdown.interface.js';
|
|
1
|
+
import { LitElement, type PropertyValues, type TemplateResult } from 'lit';
|
|
2
|
+
import type { TuixDropdownExtendedOption, TuixDropdownOption } from './interfaces/tuix-dropdown.interface.js';
|
|
3
3
|
import { DescriptionType } from '../tuix-input/enums/tuix-input.enums.js';
|
|
4
4
|
import { DropdownType } from './enums/tuix-dropdown.enums.js';
|
|
5
5
|
export declare class TuixDropdown extends LitElement {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { LitElement, html } from 'lit';
|
|
2
|
+
import { LitElement, html, } from 'lit';
|
|
3
3
|
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
4
4
|
import { classMap } from 'lit/directives/class-map.js';
|
|
5
5
|
import { IconName } from '../tuix-icon/enums/tuix-icon.enums.js';
|
|
@@ -29,6 +29,11 @@ let TuixDropdown = class TuixDropdown extends LitElement {
|
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
+
static { this.styles = [
|
|
33
|
+
dropdownHostStyles,
|
|
34
|
+
dropdownMainContainerStyles,
|
|
35
|
+
dropdownOptionStyles,
|
|
36
|
+
]; }
|
|
32
37
|
connectedCallback() {
|
|
33
38
|
super.connectedCallback();
|
|
34
39
|
window.addEventListener('click', this._handleClickOutside);
|
|
@@ -90,9 +95,8 @@ let TuixDropdown = class TuixDropdown extends LitElement {
|
|
|
90
95
|
}
|
|
91
96
|
}
|
|
92
97
|
_handleBlur() {
|
|
93
|
-
var _a;
|
|
94
98
|
if (this.type === DropdownType.SEARCH && this._searchingOption) {
|
|
95
|
-
const optionIndex =
|
|
99
|
+
const optionIndex = this._previousSelectedOption?.getAttribute('data-value');
|
|
96
100
|
const selectedValue = typeof optionIndex === 'string'
|
|
97
101
|
? this.options[Number(optionIndex)]
|
|
98
102
|
: '';
|
|
@@ -101,7 +105,7 @@ let TuixDropdown = class TuixDropdown extends LitElement {
|
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
107
|
_getOptionName(option) {
|
|
104
|
-
return String(typeof option === 'object' ? option
|
|
108
|
+
return String(typeof option === 'object' ? option?.name : option);
|
|
105
109
|
}
|
|
106
110
|
_getOptionValue(option) {
|
|
107
111
|
return typeof option === 'object' ? option.value : option;
|
|
@@ -137,30 +141,28 @@ let TuixDropdown = class TuixDropdown extends LitElement {
|
|
|
137
141
|
});
|
|
138
142
|
}
|
|
139
143
|
_handleArrowDown() {
|
|
140
|
-
|
|
141
|
-
|
|
144
|
+
const nextOption = this._previousFocusedOption
|
|
145
|
+
?.nextElementSibling;
|
|
142
146
|
if (nextOption) {
|
|
143
147
|
this._focusTargetOption(nextOption);
|
|
144
148
|
}
|
|
145
149
|
}
|
|
146
150
|
_handleArrowUp() {
|
|
147
|
-
|
|
148
|
-
|
|
151
|
+
const previousOption = this._previousFocusedOption
|
|
152
|
+
?.previousElementSibling;
|
|
149
153
|
if (previousOption) {
|
|
150
154
|
this._focusTargetOption(previousOption);
|
|
151
155
|
}
|
|
152
156
|
}
|
|
153
157
|
_focusTargetOption(targetOption, extrict = true) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
targetOption === null || targetOption === void 0 ? void 0 : targetOption.classList.add('t-option-hover');
|
|
158
|
+
this._previousFocusedOption?.classList?.remove('t-option-hover');
|
|
159
|
+
targetOption?.classList.add('t-option-hover');
|
|
157
160
|
if (extrict) {
|
|
158
|
-
targetOption
|
|
161
|
+
targetOption?.focus();
|
|
159
162
|
}
|
|
160
163
|
this._previousFocusedOption = targetOption;
|
|
161
164
|
}
|
|
162
165
|
_toggleOptions() {
|
|
163
|
-
var _a, _b, _c, _d;
|
|
164
166
|
if (this.disabled) {
|
|
165
167
|
return;
|
|
166
168
|
}
|
|
@@ -168,15 +170,14 @@ let TuixDropdown = class TuixDropdown extends LitElement {
|
|
|
168
170
|
if (this._isOptionsVisible &&
|
|
169
171
|
this.type === DropdownType.SEARCH &&
|
|
170
172
|
this._previousSelectedOption) {
|
|
171
|
-
|
|
173
|
+
this._optionsContainer?.scrollTo({
|
|
172
174
|
top: this._previousSelectedOption.offsetTop,
|
|
173
175
|
behavior: 'auto',
|
|
174
176
|
});
|
|
175
|
-
|
|
177
|
+
this._inputDropdown?.shadowRoot?.querySelector('input')?.select();
|
|
176
178
|
}
|
|
177
179
|
}
|
|
178
180
|
_focusOptionsContainer() {
|
|
179
|
-
var _a, _b, _c;
|
|
180
181
|
if (this.type === DropdownType.SEARCH) {
|
|
181
182
|
if (this._previousSelectedOption) {
|
|
182
183
|
this._focusTargetOption(this._previousSelectedOption, false);
|
|
@@ -184,7 +185,7 @@ let TuixDropdown = class TuixDropdown extends LitElement {
|
|
|
184
185
|
return;
|
|
185
186
|
}
|
|
186
187
|
if (!this._isOptionsVisible || !this._optionsContainer) {
|
|
187
|
-
|
|
188
|
+
this._inputDropdown?.shadowRoot?.querySelector('input')?.focus();
|
|
188
189
|
return;
|
|
189
190
|
}
|
|
190
191
|
if (this._previousSelectedOption) {
|
|
@@ -199,9 +200,8 @@ let TuixDropdown = class TuixDropdown extends LitElement {
|
|
|
199
200
|
}
|
|
200
201
|
}
|
|
201
202
|
_unselectPreviousOption() {
|
|
202
|
-
var _a;
|
|
203
203
|
if (this._previousSelectedOption) {
|
|
204
|
-
|
|
204
|
+
this._previousSelectedOption.classList?.remove('t-option-selected');
|
|
205
205
|
this._previousSelectedOption = null;
|
|
206
206
|
}
|
|
207
207
|
}
|
|
@@ -220,7 +220,6 @@ let TuixDropdown = class TuixDropdown extends LitElement {
|
|
|
220
220
|
};
|
|
221
221
|
}
|
|
222
222
|
_triggerUpdateByExternalValueChange() {
|
|
223
|
-
var _a;
|
|
224
223
|
this._unselectPreviousOption();
|
|
225
224
|
if (!this.value) {
|
|
226
225
|
this._value = '';
|
|
@@ -235,8 +234,8 @@ let TuixDropdown = class TuixDropdown extends LitElement {
|
|
|
235
234
|
this._value = '';
|
|
236
235
|
return;
|
|
237
236
|
}
|
|
238
|
-
const optionTarget =
|
|
239
|
-
optionTarget
|
|
237
|
+
const optionTarget = this._optionsContainer?.children[index];
|
|
238
|
+
optionTarget?.classList.add('t-option-selected');
|
|
240
239
|
this._previousSelectedOption = optionTarget || null;
|
|
241
240
|
this._value = optionTarget ? this._getOptionName(this.options[index]) : '';
|
|
242
241
|
}
|
|
@@ -245,11 +244,10 @@ let TuixDropdown = class TuixDropdown extends LitElement {
|
|
|
245
244
|
this._unselectPreviousOption();
|
|
246
245
|
}
|
|
247
246
|
_getOptionsTemplate() {
|
|
248
|
-
var _a;
|
|
249
247
|
if (this.type === DropdownType.SINGLE || this._searchingOption === false) {
|
|
250
248
|
this._extendOptionsList();
|
|
251
249
|
}
|
|
252
|
-
return
|
|
250
|
+
return this._extendedOptions?.map((option, index) => {
|
|
253
251
|
return html `<div
|
|
254
252
|
class="${classMap({
|
|
255
253
|
't-dropdown-option': true,
|
|
@@ -311,11 +309,6 @@ let TuixDropdown = class TuixDropdown extends LitElement {
|
|
|
311
309
|
</div>`;
|
|
312
310
|
}
|
|
313
311
|
};
|
|
314
|
-
TuixDropdown.styles = [
|
|
315
|
-
dropdownHostStyles,
|
|
316
|
-
dropdownMainContainerStyles,
|
|
317
|
-
dropdownOptionStyles,
|
|
318
|
-
];
|
|
319
312
|
__decorate([
|
|
320
313
|
property({ type: Object })
|
|
321
314
|
], TuixDropdown.prototype, "value", void 0);
|
|
@@ -365,4 +358,3 @@ TuixDropdown = __decorate([
|
|
|
365
358
|
customElement('tuix-dropdown')
|
|
366
359
|
], TuixDropdown);
|
|
367
360
|
export { TuixDropdown };
|
|
368
|
-
//# sourceMappingURL=TuixDropdown.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CustomEventTuixInput } from '../../tuix-input/interfaces/tuix-input.interface.js';
|
|
2
|
-
import { DetailValue } from '../../utils/interfaces/detail-value.interface.js';
|
|
1
|
+
import { type CustomEventTuixInput } from '../../tuix-input/interfaces/tuix-input.interface.js';
|
|
2
|
+
import { type DetailValue } from '../../utils/interfaces/detail-value.interface.js';
|
|
3
3
|
export type TuixDropdownPlainOption = string | number | boolean;
|
|
4
4
|
export interface TuixDropdownObjectOption {
|
|
5
5
|
name: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { html } from 'lit';
|
|
2
2
|
import { IconName } from './enums/tuix-icon.enums.js';
|
|
3
|
-
export declare const iconTemplate: (name?: IconName, color?: string, fill?: string) =>
|
|
3
|
+
export declare const iconTemplate: (name?: IconName, color?: string, fill?: string) => ReturnType<typeof html>;
|
|
4
4
|
type IconContentMapType = Record<IconName, string>;
|
|
5
5
|
export declare const iconContentMap: IconContentMapType;
|
|
6
6
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
|
+
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
|
2
3
|
import { Palette } from '../utils/colors.js';
|
|
3
4
|
import { IconName } from './enums/tuix-icon.enums.js';
|
|
4
|
-
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
|
5
5
|
export const iconTemplate = (name, color = Palette.BLACK, fill) => {
|
|
6
6
|
const iconName = name || IconName.ARROW_DOWN;
|
|
7
7
|
const iconContent = iconContentMap[iconName];
|
|
@@ -297,4 +297,3 @@ export const iconContentMap = {
|
|
|
297
297
|
<path d="M12 5v14M19 12l-7 7-7-7" stroke="#121212" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
298
298
|
</svg>`,
|
|
299
299
|
};
|
|
300
|
-
//# sourceMappingURL=TuixIcon.icons.js.map
|
|
@@ -13,6 +13,19 @@ let TuixIcon = class TuixIcon extends LitElement {
|
|
|
13
13
|
this.size = IconSizeVariant.SMALL;
|
|
14
14
|
this.dark = false;
|
|
15
15
|
}
|
|
16
|
+
static { this.styles = css `
|
|
17
|
+
.icon-component {
|
|
18
|
+
width: 24px;
|
|
19
|
+
height: 24px;
|
|
20
|
+
display: block;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
svg {
|
|
24
|
+
width: 100%;
|
|
25
|
+
height: 100%;
|
|
26
|
+
display: block;
|
|
27
|
+
}
|
|
28
|
+
`; }
|
|
16
29
|
_getSelectedColor(color) {
|
|
17
30
|
let selectedColor = color || this.color || TextVariant.PRIMARY;
|
|
18
31
|
if (Object.values(TextVariant).includes(selectedColor)) {
|
|
@@ -33,8 +46,7 @@ let TuixIcon = class TuixIcon extends LitElement {
|
|
|
33
46
|
return iconTemplate(this.name, this._getSelectedColor(), this._getSelectedFill());
|
|
34
47
|
}
|
|
35
48
|
render() {
|
|
36
|
-
|
|
37
|
-
const selectedSize = (_a = iconSize[this.size]) !== null && _a !== void 0 ? _a : iconSize[IconSizeVariant.SMALL];
|
|
49
|
+
const selectedSize = iconSize[this.size] ?? iconSize[IconSizeVariant.SMALL];
|
|
38
50
|
const dynamicStyles = {
|
|
39
51
|
width: selectedSize,
|
|
40
52
|
height: selectedSize,
|
|
@@ -46,19 +58,6 @@ let TuixIcon = class TuixIcon extends LitElement {
|
|
|
46
58
|
`;
|
|
47
59
|
}
|
|
48
60
|
};
|
|
49
|
-
TuixIcon.styles = css `
|
|
50
|
-
.icon-component {
|
|
51
|
-
width: 24px;
|
|
52
|
-
height: 24px;
|
|
53
|
-
display: block;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
svg {
|
|
57
|
-
width: 100%;
|
|
58
|
-
height: 100%;
|
|
59
|
-
display: block;
|
|
60
|
-
}
|
|
61
|
-
`;
|
|
62
61
|
__decorate([
|
|
63
62
|
property({ type: IconName })
|
|
64
63
|
], TuixIcon.prototype, "name", void 0);
|
|
@@ -78,4 +77,3 @@ TuixIcon = __decorate([
|
|
|
78
77
|
customElement('tuix-icon')
|
|
79
78
|
], TuixIcon);
|
|
80
79
|
export { TuixIcon };
|
|
81
|
-
//# sourceMappingURL=TuixIcon.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TemplateResult } from 'lit';
|
|
1
|
+
import { type TemplateResult } from 'lit';
|
|
2
2
|
import { IconName } from '../tuix-icon/enums/tuix-icon.enums.js';
|
|
3
3
|
import { TuixBaseButton } from '../tuix-button/TuixBaseButton.js';
|
|
4
4
|
export declare class TuixIconButton extends TuixBaseButton {
|
|
@@ -10,17 +10,8 @@ let TuixIconButton = class TuixIconButton extends TuixBaseButton {
|
|
|
10
10
|
super(...arguments);
|
|
11
11
|
this.icon = IconName.ARROW_DOWN;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return;
|
|
16
|
-
this.iconColor = this._getTextColor();
|
|
17
|
-
}
|
|
18
|
-
_buttonContent() {
|
|
19
|
-
return html `${this._iconTemplate(this.icon, IconSizeVariant.MEDIUM)}`;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
TuixIconButton.styles = [
|
|
23
|
-
css `
|
|
13
|
+
static { this.styles = [
|
|
14
|
+
css `
|
|
24
15
|
.button {
|
|
25
16
|
padding: 16px;
|
|
26
17
|
border-radius: 4px;
|
|
@@ -39,9 +30,18 @@ TuixIconButton.styles = [
|
|
|
39
30
|
}
|
|
40
31
|
}
|
|
41
32
|
`,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
];
|
|
33
|
+
hostButtonStyles,
|
|
34
|
+
buttonColorStyles,
|
|
35
|
+
]; }
|
|
36
|
+
_updateIconColor() {
|
|
37
|
+
if (!this.icon)
|
|
38
|
+
return;
|
|
39
|
+
this.iconColor = this._getTextColor();
|
|
40
|
+
}
|
|
41
|
+
_buttonContent() {
|
|
42
|
+
return html `${this._iconTemplate(this.icon, IconSizeVariant.MEDIUM)}`;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
45
|
__decorate([
|
|
46
46
|
property({ type: IconName })
|
|
47
47
|
], TuixIconButton.prototype, "icon", void 0);
|
|
@@ -49,4 +49,3 @@ TuixIconButton = __decorate([
|
|
|
49
49
|
customElement('tuix-icon-button')
|
|
50
50
|
], TuixIconButton);
|
|
51
51
|
export { TuixIconButton };
|
|
52
|
-
//# sourceMappingURL=TuixIconButton.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LitElement, TemplateResult, CSSResult, PropertyValueMap } from 'lit';
|
|
1
|
+
import { LitElement, type TemplateResult, CSSResult, type PropertyValueMap } from 'lit';
|
|
2
2
|
import '../tuix-icon/TuixIcon.js';
|
|
3
3
|
import { IconName } from '../tuix-icon/enums/tuix-icon.enums.js';
|
|
4
4
|
import { DescriptionType, InputType } from './enums/tuix-input.enums.js';
|