@daikin-oss/design-system-web-components 0.2.0 → 0.3.1
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 +47 -7
- package/dist/cjs/components/accordion/daikin-accordion.cjs +37 -0
- package/dist/cjs/components/accordion/daikin-accordion.d.ts +40 -0
- package/dist/cjs/components/accordion/index.cjs +7 -0
- package/dist/cjs/components/accordion/index.d.ts +1 -0
- package/dist/cjs/components/accordion-item/daikin-accordion-item.cjs +177 -0
- package/dist/cjs/components/accordion-item/daikin-accordion-item.d.ts +56 -0
- package/dist/cjs/components/accordion-item/index.cjs +7 -0
- package/dist/cjs/components/accordion-item/index.d.ts +1 -0
- package/dist/cjs/components/button/daikin-button.cjs +25 -7
- package/dist/cjs/components/button/daikin-button.d.ts +21 -3
- package/dist/cjs/components/button/index.cjs +7 -0
- package/dist/cjs/components/checkbox/daikin-checkbox.d.ts +11 -1
- package/dist/cjs/components/checkbox/index.cjs +7 -0
- package/dist/cjs/components/icon/daikin-icon.cjs +87 -0
- package/dist/cjs/components/icon/daikin-icon.d.ts +49 -0
- package/dist/cjs/components/icon/icons.json.cjs +29 -0
- package/dist/cjs/components/icon/icons.json.d.ts +31 -0
- package/dist/cjs/components/icon/index.cjs +8 -0
- package/dist/cjs/components/icon/index.d.ts +1 -0
- package/dist/cjs/components/index.cjs +73 -0
- package/dist/cjs/components/index.d.ts +7 -0
- package/dist/cjs/components/input-group/daikin-input-group.d.ts +27 -1
- package/dist/cjs/components/input-group/index.cjs +7 -0
- package/dist/cjs/components/notification/daikin-notification.cjs +15 -33
- package/dist/cjs/components/notification/daikin-notification.d.ts +21 -7
- package/dist/cjs/components/notification/index.cjs +7 -0
- package/dist/cjs/components/panel-switcher/daikin-panel-switcher.cjs +55 -0
- package/dist/cjs/components/panel-switcher/daikin-panel-switcher.d.ts +51 -0
- package/dist/cjs/components/panel-switcher/index.cjs +7 -0
- package/dist/cjs/components/panel-switcher/index.d.ts +1 -0
- package/dist/cjs/components/radio/daikin-radio.d.ts +11 -1
- package/dist/cjs/components/radio/index.cjs +7 -0
- package/dist/cjs/components/tab/daikin-tab.cjs +126 -0
- package/dist/cjs/components/tab/daikin-tab.d.ts +55 -0
- package/dist/cjs/components/tab/index.cjs +7 -0
- package/dist/cjs/components/tab/index.d.ts +1 -0
- package/dist/cjs/components/tab-group/daikin-tab-group.cjs +211 -0
- package/dist/cjs/components/tab-group/daikin-tab-group.d.ts +105 -0
- package/dist/cjs/components/tab-group/index.cjs +7 -0
- package/dist/cjs/components/tab-group/index.d.ts +1 -0
- package/dist/cjs/components/tab-group/scroller.cjs +65 -0
- package/dist/cjs/components/tab-group/scroller.d.ts +25 -0
- package/dist/cjs/components/text-input/daikin-text-input.d.ts +16 -1
- package/dist/cjs/components/text-input/index.cjs +7 -0
- package/dist/cjs/components/textarea/daikin-textarea.d.ts +16 -1
- package/dist/cjs/components/textarea/index.cjs +7 -0
- package/dist/cjs/components/toggle/daikin-toggle.cjs +132 -0
- package/dist/cjs/components/toggle/daikin-toggle.d.ts +61 -0
- package/dist/cjs/components/toggle/index.cjs +7 -0
- package/dist/cjs/components/toggle/index.d.ts +1 -0
- package/dist/cjs/index.cjs +36 -0
- package/dist/cjs/tailwind.css.cjs +1 -1
- package/dist/cjs-dev/colors.cjs +80 -0
- package/dist/cjs-dev/colors.d.ts +69 -0
- package/dist/cjs-dev/components/accordion/daikin-accordion.cjs +37 -0
- package/dist/cjs-dev/components/accordion/daikin-accordion.d.ts +40 -0
- package/dist/cjs-dev/components/accordion/index.cjs +7 -0
- package/dist/cjs-dev/components/accordion/index.d.ts +1 -0
- package/dist/cjs-dev/components/accordion-item/daikin-accordion-item.cjs +177 -0
- package/dist/cjs-dev/components/accordion-item/daikin-accordion-item.d.ts +56 -0
- package/dist/cjs-dev/components/accordion-item/index.cjs +7 -0
- package/dist/cjs-dev/components/accordion-item/index.d.ts +1 -0
- package/dist/cjs-dev/components/button/daikin-button.cjs +215 -0
- package/dist/cjs-dev/components/button/daikin-button.d.ts +77 -0
- package/dist/cjs-dev/components/button/index.cjs +7 -0
- package/dist/cjs-dev/components/button/index.d.ts +1 -0
- package/dist/cjs-dev/components/checkbox/daikin-checkbox.cjs +183 -0
- package/dist/cjs-dev/components/checkbox/daikin-checkbox.d.ts +78 -0
- package/dist/cjs-dev/components/checkbox/index.cjs +7 -0
- package/dist/cjs-dev/components/checkbox/index.d.ts +1 -0
- package/dist/cjs-dev/components/icon/daikin-icon.cjs +96 -0
- package/dist/cjs-dev/components/icon/daikin-icon.d.ts +49 -0
- package/dist/cjs-dev/components/icon/icons.json.cjs +29 -0
- package/dist/cjs-dev/components/icon/icons.json.d.ts +31 -0
- package/dist/cjs-dev/components/icon/index.cjs +8 -0
- package/dist/cjs-dev/components/icon/index.d.ts +1 -0
- package/dist/cjs-dev/components/index.cjs +73 -0
- package/dist/cjs-dev/components/index.d.ts +14 -0
- package/dist/cjs-dev/components/input-group/daikin-input-group.cjs +119 -0
- package/dist/cjs-dev/components/input-group/daikin-input-group.d.ts +73 -0
- package/dist/cjs-dev/components/input-group/index.cjs +7 -0
- package/dist/cjs-dev/components/input-group/index.d.ts +1 -0
- package/dist/cjs-dev/components/notification/daikin-notification.cjs +191 -0
- package/dist/cjs-dev/components/notification/daikin-notification.d.ts +76 -0
- package/dist/cjs-dev/components/notification/index.cjs +7 -0
- package/dist/cjs-dev/components/notification/index.d.ts +1 -0
- package/dist/cjs-dev/components/panel-switcher/daikin-panel-switcher.cjs +62 -0
- package/dist/cjs-dev/components/panel-switcher/daikin-panel-switcher.d.ts +51 -0
- package/dist/cjs-dev/components/panel-switcher/index.cjs +7 -0
- package/dist/cjs-dev/components/panel-switcher/index.d.ts +1 -0
- package/dist/cjs-dev/components/radio/daikin-radio.cjs +150 -0
- package/dist/cjs-dev/components/radio/daikin-radio.d.ts +76 -0
- package/dist/cjs-dev/components/radio/index.cjs +7 -0
- package/dist/cjs-dev/components/radio/index.d.ts +1 -0
- package/dist/cjs-dev/components/tab/daikin-tab.cjs +126 -0
- package/dist/cjs-dev/components/tab/daikin-tab.d.ts +55 -0
- package/dist/cjs-dev/components/tab/index.cjs +7 -0
- package/dist/cjs-dev/components/tab/index.d.ts +1 -0
- package/dist/cjs-dev/components/tab-group/daikin-tab-group.cjs +221 -0
- package/dist/cjs-dev/components/tab-group/daikin-tab-group.d.ts +105 -0
- package/dist/cjs-dev/components/tab-group/index.cjs +7 -0
- package/dist/cjs-dev/components/tab-group/index.d.ts +1 -0
- package/dist/cjs-dev/components/tab-group/scroller.cjs +65 -0
- package/dist/cjs-dev/components/tab-group/scroller.d.ts +25 -0
- package/dist/cjs-dev/components/text-input/daikin-text-input.cjs +137 -0
- package/dist/cjs-dev/components/text-input/daikin-text-input.d.ts +69 -0
- package/dist/cjs-dev/components/text-input/index.cjs +7 -0
- package/dist/cjs-dev/components/text-input/index.d.ts +1 -0
- package/dist/cjs-dev/components/textarea/daikin-textarea.cjs +168 -0
- package/dist/cjs-dev/components/textarea/daikin-textarea.d.ts +71 -0
- package/dist/cjs-dev/components/textarea/index.cjs +7 -0
- package/dist/cjs-dev/components/textarea/index.d.ts +1 -0
- package/dist/cjs-dev/components/toggle/daikin-toggle.cjs +132 -0
- package/dist/cjs-dev/components/toggle/daikin-toggle.d.ts +61 -0
- package/dist/cjs-dev/components/toggle/index.cjs +7 -0
- package/dist/cjs-dev/components/toggle/index.d.ts +1 -0
- package/dist/cjs-dev/constants/events.cjs +4 -0
- package/dist/cjs-dev/constants/events.d.ts +1 -0
- package/dist/cjs-dev/index.cjs +75 -0
- package/dist/cjs-dev/index.d.ts +3 -0
- package/dist/cjs-dev/lit-analyzer-types.d.ts +112 -0
- package/dist/cjs-dev/tailwind.css.cjs +6 -0
- package/dist/cjs-dev/type-utils.d.ts +25 -0
- package/dist/es/components/accordion/daikin-accordion.d.ts +40 -0
- package/dist/es/components/accordion/daikin-accordion.js +38 -0
- package/dist/es/components/accordion/index.d.ts +1 -0
- package/dist/es/components/accordion/index.js +4 -0
- package/dist/es/components/accordion-item/daikin-accordion-item.d.ts +56 -0
- package/dist/es/components/accordion-item/daikin-accordion-item.js +178 -0
- package/dist/es/components/accordion-item/index.d.ts +1 -0
- package/dist/es/components/accordion-item/index.js +4 -0
- package/dist/es/components/button/daikin-button.d.ts +21 -3
- package/dist/es/components/button/daikin-button.js +25 -7
- package/dist/es/components/button/index.js +4 -0
- package/dist/es/components/checkbox/daikin-checkbox.d.ts +11 -1
- package/dist/es/components/checkbox/index.js +4 -0
- package/dist/es/components/icon/daikin-icon.d.ts +49 -0
- package/dist/es/components/icon/daikin-icon.js +88 -0
- package/dist/es/components/icon/icons.json.d.ts +31 -0
- package/dist/es/components/icon/icons.json.js +29 -0
- package/dist/es/components/icon/index.d.ts +1 -0
- package/dist/es/components/icon/index.js +5 -0
- package/dist/es/components/index.d.ts +7 -0
- package/dist/es/components/index.js +31 -0
- package/dist/es/components/input-group/daikin-input-group.d.ts +27 -1
- package/dist/es/components/input-group/index.js +4 -0
- package/dist/es/components/notification/daikin-notification.d.ts +21 -7
- package/dist/es/components/notification/daikin-notification.js +15 -33
- package/dist/es/components/notification/index.js +4 -0
- package/dist/es/components/panel-switcher/daikin-panel-switcher.d.ts +51 -0
- package/dist/es/components/panel-switcher/daikin-panel-switcher.js +56 -0
- package/dist/es/components/panel-switcher/index.d.ts +1 -0
- package/dist/es/components/panel-switcher/index.js +4 -0
- package/dist/es/components/radio/daikin-radio.d.ts +11 -1
- package/dist/es/components/radio/index.js +4 -0
- package/dist/es/components/tab/daikin-tab.d.ts +55 -0
- package/dist/es/components/tab/daikin-tab.js +127 -0
- package/dist/es/components/tab/index.d.ts +1 -0
- package/dist/es/components/tab/index.js +4 -0
- package/dist/es/components/tab-group/daikin-tab-group.d.ts +105 -0
- package/dist/es/components/tab-group/daikin-tab-group.js +212 -0
- package/dist/es/components/tab-group/index.d.ts +1 -0
- package/dist/es/components/tab-group/index.js +4 -0
- package/dist/es/components/tab-group/scroller.d.ts +25 -0
- package/dist/es/components/tab-group/scroller.js +65 -0
- package/dist/es/components/text-input/daikin-text-input.d.ts +16 -1
- package/dist/es/components/text-input/index.js +4 -0
- package/dist/es/components/textarea/daikin-textarea.d.ts +16 -1
- package/dist/es/components/textarea/index.js +4 -0
- package/dist/es/components/toggle/daikin-toggle.d.ts +61 -0
- package/dist/es/components/toggle/daikin-toggle.js +133 -0
- package/dist/es/components/toggle/index.d.ts +1 -0
- package/dist/es/components/toggle/index.js +4 -0
- package/dist/es/index.js +16 -1
- package/dist/es/tailwind.css.js +1 -1
- package/dist/es-dev/colors.d.ts +69 -0
- package/dist/es-dev/colors.js +80 -0
- package/dist/es-dev/components/accordion/daikin-accordion.d.ts +40 -0
- package/dist/es-dev/components/accordion/daikin-accordion.js +38 -0
- package/dist/es-dev/components/accordion/index.d.ts +1 -0
- package/dist/es-dev/components/accordion/index.js +4 -0
- package/dist/es-dev/components/accordion-item/daikin-accordion-item.d.ts +56 -0
- package/dist/es-dev/components/accordion-item/daikin-accordion-item.js +178 -0
- package/dist/es-dev/components/accordion-item/index.d.ts +1 -0
- package/dist/es-dev/components/accordion-item/index.js +4 -0
- package/dist/es-dev/components/button/daikin-button.d.ts +77 -0
- package/dist/es-dev/components/button/daikin-button.js +216 -0
- package/dist/es-dev/components/button/index.d.ts +1 -0
- package/dist/es-dev/components/button/index.js +4 -0
- package/dist/es-dev/components/checkbox/daikin-checkbox.d.ts +78 -0
- package/dist/es-dev/components/checkbox/daikin-checkbox.js +184 -0
- package/dist/es-dev/components/checkbox/index.d.ts +1 -0
- package/dist/es-dev/components/checkbox/index.js +4 -0
- package/dist/es-dev/components/icon/daikin-icon.d.ts +49 -0
- package/dist/es-dev/components/icon/daikin-icon.js +97 -0
- package/dist/es-dev/components/icon/icons.json.d.ts +31 -0
- package/dist/es-dev/components/icon/icons.json.js +29 -0
- package/dist/es-dev/components/icon/index.d.ts +1 -0
- package/dist/es-dev/components/icon/index.js +5 -0
- package/dist/es-dev/components/index.d.ts +14 -0
- package/dist/es-dev/components/index.js +31 -0
- package/dist/es-dev/components/input-group/daikin-input-group.d.ts +73 -0
- package/dist/es-dev/components/input-group/daikin-input-group.js +120 -0
- package/dist/es-dev/components/input-group/index.d.ts +1 -0
- package/dist/es-dev/components/input-group/index.js +4 -0
- package/dist/es-dev/components/notification/daikin-notification.d.ts +76 -0
- package/dist/es-dev/components/notification/daikin-notification.js +192 -0
- package/dist/es-dev/components/notification/index.d.ts +1 -0
- package/dist/es-dev/components/notification/index.js +4 -0
- package/dist/es-dev/components/panel-switcher/daikin-panel-switcher.d.ts +51 -0
- package/dist/es-dev/components/panel-switcher/daikin-panel-switcher.js +63 -0
- package/dist/es-dev/components/panel-switcher/index.d.ts +1 -0
- package/dist/es-dev/components/panel-switcher/index.js +4 -0
- package/dist/es-dev/components/radio/daikin-radio.d.ts +76 -0
- package/dist/es-dev/components/radio/daikin-radio.js +151 -0
- package/dist/es-dev/components/radio/index.d.ts +1 -0
- package/dist/es-dev/components/radio/index.js +4 -0
- package/dist/es-dev/components/tab/daikin-tab.d.ts +55 -0
- package/dist/es-dev/components/tab/daikin-tab.js +127 -0
- package/dist/es-dev/components/tab/index.d.ts +1 -0
- package/dist/es-dev/components/tab/index.js +4 -0
- package/dist/es-dev/components/tab-group/daikin-tab-group.d.ts +105 -0
- package/dist/es-dev/components/tab-group/daikin-tab-group.js +222 -0
- package/dist/es-dev/components/tab-group/index.d.ts +1 -0
- package/dist/es-dev/components/tab-group/index.js +4 -0
- package/dist/es-dev/components/tab-group/scroller.d.ts +25 -0
- package/dist/es-dev/components/tab-group/scroller.js +65 -0
- package/dist/es-dev/components/text-input/daikin-text-input.d.ts +69 -0
- package/dist/es-dev/components/text-input/daikin-text-input.js +138 -0
- package/dist/es-dev/components/text-input/index.d.ts +1 -0
- package/dist/es-dev/components/text-input/index.js +4 -0
- package/dist/es-dev/components/textarea/daikin-textarea.d.ts +71 -0
- package/dist/es-dev/components/textarea/daikin-textarea.js +169 -0
- package/dist/es-dev/components/textarea/index.d.ts +1 -0
- package/dist/es-dev/components/textarea/index.js +4 -0
- package/dist/es-dev/components/toggle/daikin-toggle.d.ts +61 -0
- package/dist/es-dev/components/toggle/daikin-toggle.js +133 -0
- package/dist/es-dev/components/toggle/index.d.ts +1 -0
- package/dist/es-dev/components/toggle/index.js +4 -0
- package/dist/es-dev/constants/events.d.ts +1 -0
- package/dist/es-dev/constants/events.js +4 -0
- package/dist/es-dev/index.d.ts +3 -0
- package/dist/es-dev/index.js +33 -0
- package/dist/es-dev/lit-analyzer-types.d.ts +112 -0
- package/dist/es-dev/tailwind.css.js +6 -0
- package/dist/es-dev/type-utils.d.ts +25 -0
- package/icons/accordion-chevron-up.svg +3 -0
- package/package.json +58 -27
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { css, unsafeCSS, LitElement, html } from "lit";
|
|
2
|
+
import { property, queryAssignedElements, customElement } from "lit/decorators.js";
|
|
3
|
+
import tailwindStyles from "../../tailwind.css.js";
|
|
4
|
+
import { scrollIntoViewOnlyParent } from "./scroller.js";
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
8
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
9
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
10
|
+
if (decorator = decorators[i])
|
|
11
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
12
|
+
if (kind && result) __defProp(target, key, result);
|
|
13
|
+
return result;
|
|
14
|
+
};
|
|
15
|
+
let DaikinTabGroup = class extends LitElement {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.value = "";
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Emits `beforechange` event if necessary and returns whether we should proceed.
|
|
22
|
+
*
|
|
23
|
+
* 1. Check if `newValue` is different from `value`.
|
|
24
|
+
* 2. Emit "beforechange" event.
|
|
25
|
+
* 3. Check if the event is canceled.
|
|
26
|
+
*
|
|
27
|
+
* @param newValue The `value` of the newly active tab.
|
|
28
|
+
* @returns `true` if we should proceed (event is emitted and not canceled). `false` otherwise.
|
|
29
|
+
*/
|
|
30
|
+
_emitBeforeChange(newValue) {
|
|
31
|
+
if (this.value === newValue) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
if (!this.dispatchEvent(
|
|
35
|
+
new CustomEvent("beforechange", {
|
|
36
|
+
detail: { oldValue: this.value, newValue },
|
|
37
|
+
bubbles: true,
|
|
38
|
+
composed: true,
|
|
39
|
+
cancelable: true
|
|
40
|
+
})
|
|
41
|
+
)) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Updates `this.value` and emit "change" event.
|
|
48
|
+
*
|
|
49
|
+
* @param newValue The `value` of the newly active tab.
|
|
50
|
+
*/
|
|
51
|
+
_updateValue(newValue) {
|
|
52
|
+
this.dispatchEvent(
|
|
53
|
+
new CustomEvent("change", {
|
|
54
|
+
detail: { oldValue: this.value, newValue },
|
|
55
|
+
bubbles: true,
|
|
56
|
+
composed: true,
|
|
57
|
+
cancelable: false
|
|
58
|
+
})
|
|
59
|
+
);
|
|
60
|
+
this.value = newValue;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Updates `daikin-tab` component(s)' properties in the slot.
|
|
64
|
+
*
|
|
65
|
+
* Invoke when:
|
|
66
|
+
* - `this.value` is changed.
|
|
67
|
+
* - the default slot's content is changed.
|
|
68
|
+
*/
|
|
69
|
+
_updateTabs() {
|
|
70
|
+
const tabs = this._tabs;
|
|
71
|
+
let selectedTab;
|
|
72
|
+
for (const tab of tabs) {
|
|
73
|
+
const isActive = !selectedTab && !tab.disabled && tab.value === this.value;
|
|
74
|
+
tab.active = isActive;
|
|
75
|
+
if (isActive) {
|
|
76
|
+
selectedTab = tab;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (!selectedTab) {
|
|
80
|
+
selectedTab = tabs.find((tab) => !tab.disabled);
|
|
81
|
+
if (selectedTab) {
|
|
82
|
+
selectedTab.active = true;
|
|
83
|
+
this._updateValue(selectedTab.value);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (!selectedTab) {
|
|
87
|
+
{
|
|
88
|
+
console.warn(
|
|
89
|
+
`[daikin-tab-group] No tabs that can be activated! This may cause unexpected behavior.`
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
scrollIntoViewOnlyParent(selectedTab);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Updates `daikin-panel-switcher` component(s)' properties in the slot.
|
|
98
|
+
*
|
|
99
|
+
* Invoke when:
|
|
100
|
+
* - `this.value` is changed.
|
|
101
|
+
* - the default slot's content is changed.
|
|
102
|
+
* - the panel slot's content is changed.
|
|
103
|
+
*/
|
|
104
|
+
_updatePanelSwitcher() {
|
|
105
|
+
const panelSwitchers = this._panelSwitchers;
|
|
106
|
+
const tabs = this._tabs;
|
|
107
|
+
const panels = Array.from(new Set(tabs.map((tab) => tab.value)));
|
|
108
|
+
for (const panelSwitcher of panelSwitchers) {
|
|
109
|
+
panelSwitcher.panelRole = "tabpanel";
|
|
110
|
+
panelSwitcher.panels = panels;
|
|
111
|
+
panelSwitcher.value = this.value;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Handles "click" event emitted by `daikin-tab` component.
|
|
116
|
+
*/
|
|
117
|
+
_handleTabClick(event) {
|
|
118
|
+
const tabs = this._tabs;
|
|
119
|
+
const tab = event.target;
|
|
120
|
+
if (!tab || !tabs.includes(tab)) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
event.stopImmediatePropagation();
|
|
124
|
+
if (this.value === tab.value) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (!this._emitBeforeChange(tab.value)) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
for (const element of tabs) {
|
|
131
|
+
element.active = element === tab;
|
|
132
|
+
}
|
|
133
|
+
this._updateValue(tab.value);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Handles keyboard interactions in the tab list.
|
|
137
|
+
*/
|
|
138
|
+
_handleKeyDown(event) {
|
|
139
|
+
const moveOffset = {
|
|
140
|
+
ArrowRight: 1,
|
|
141
|
+
ArrowLeft: -1
|
|
142
|
+
}[event.key];
|
|
143
|
+
if (!moveOffset) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const tabs = this._tabs;
|
|
147
|
+
if (!tabs.some((tab) => !tab.disabled)) {
|
|
148
|
+
{
|
|
149
|
+
console.warn(
|
|
150
|
+
`[daikin-tab-group] No tabs that can be activated! This may cause unexpected behavior.`
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const activeElement = document.activeElement;
|
|
156
|
+
const focusedTabIndex = activeElement ? tabs.findIndex((tab) => tab.contains(activeElement)) : -1;
|
|
157
|
+
if (focusedTabIndex < 0) {
|
|
158
|
+
const activeTab = tabs.find((tab) => !tab.disabled && tab.active);
|
|
159
|
+
activeTab == null ? void 0 : activeTab.focus();
|
|
160
|
+
event.preventDefault();
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
for (let i = 1; i <= tabs.length; i++) {
|
|
164
|
+
const index = (focusedTabIndex + moveOffset * i + tabs.length * i) % tabs.length;
|
|
165
|
+
const candidate = tabs[index];
|
|
166
|
+
if (candidate.disabled) {
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
candidate.focus();
|
|
170
|
+
event.preventDefault();
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
_handleSlotChange() {
|
|
175
|
+
this._updateTabs();
|
|
176
|
+
this._updatePanelSwitcher();
|
|
177
|
+
}
|
|
178
|
+
_handlePanelSwitcherSlotChange() {
|
|
179
|
+
this._updatePanelSwitcher();
|
|
180
|
+
}
|
|
181
|
+
render() {
|
|
182
|
+
return html`
|
|
183
|
+
<div
|
|
184
|
+
part="tablist"
|
|
185
|
+
role="tablist"
|
|
186
|
+
@click=${this._handleTabClick}
|
|
187
|
+
@keydown=${this._handleKeyDown}
|
|
188
|
+
>
|
|
189
|
+
<slot @slotchange=${this._handleSlotChange}></slot>
|
|
190
|
+
</div>
|
|
191
|
+
<slot
|
|
192
|
+
name="panels"
|
|
193
|
+
@slotchange=${this._handlePanelSwitcherSlotChange}
|
|
194
|
+
></slot>
|
|
195
|
+
`;
|
|
196
|
+
}
|
|
197
|
+
updated(changedProperties) {
|
|
198
|
+
if (!changedProperties.has("value")) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
this._updateTabs();
|
|
202
|
+
this._updatePanelSwitcher();
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
DaikinTabGroup.styles = css`
|
|
206
|
+
${unsafeCSS(tailwindStyles)}
|
|
207
|
+
`;
|
|
208
|
+
__decorateClass([
|
|
209
|
+
property({ type: String, reflect: true })
|
|
210
|
+
], DaikinTabGroup.prototype, "value", 2);
|
|
211
|
+
__decorateClass([
|
|
212
|
+
queryAssignedElements({ selector: "daikin-tab" })
|
|
213
|
+
], DaikinTabGroup.prototype, "_tabs", 2);
|
|
214
|
+
__decorateClass([
|
|
215
|
+
queryAssignedElements({ slot: "panels", selector: "daikin-panel-switcher" })
|
|
216
|
+
], DaikinTabGroup.prototype, "_panelSwitchers", 2);
|
|
217
|
+
DaikinTabGroup = __decorateClass([
|
|
218
|
+
customElement("daikin-tab-group")
|
|
219
|
+
], DaikinTabGroup);
|
|
220
|
+
export {
|
|
221
|
+
DaikinTabGroup
|
|
222
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './daikin-tab-group';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type Direction = "horizontal" | "vertical" | "either";
|
|
2
|
+
/**
|
|
3
|
+
* Get practical parent element, with consideration for slots and shadow roots.
|
|
4
|
+
*
|
|
5
|
+
* @param element element
|
|
6
|
+
* @returns The parent element (if any)
|
|
7
|
+
*/
|
|
8
|
+
export declare function getEffectiveParentElement(element: HTMLElement): HTMLElement | null;
|
|
9
|
+
/**
|
|
10
|
+
* Get the first scrollable ancestor element.
|
|
11
|
+
*
|
|
12
|
+
* @param element element
|
|
13
|
+
* @param direction scroll direction
|
|
14
|
+
* @returns the first scrollable ancestor element (if any)
|
|
15
|
+
*/
|
|
16
|
+
export declare function getFirstScrollableAncestor(element: HTMLElement, direction: Direction): HTMLElement | null;
|
|
17
|
+
export declare function calcScrollIntoViewOffset(target: HTMLElement, container: HTMLElement): [x: number, y: number];
|
|
18
|
+
/**
|
|
19
|
+
* An alternative `.scrollIntoView()` function which only scrolls the first scrollable ancestor element.
|
|
20
|
+
*
|
|
21
|
+
* @param target target element
|
|
22
|
+
* @param direction direction
|
|
23
|
+
* @returns `true` if success, `false` if scrollable parent not found
|
|
24
|
+
*/
|
|
25
|
+
export declare function scrollIntoViewOnlyParent(target: HTMLElement, direction: Direction): boolean;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
function getEffectiveParentElement(element) {
|
|
2
|
+
var _a;
|
|
3
|
+
return element.assignedSlot || element.parentElement || ((_a = element.parentNode) == null ? void 0 : _a.host);
|
|
4
|
+
}
|
|
5
|
+
function getBooleanForDirection(horizontal, vertical, direction) {
|
|
6
|
+
return horizontal;
|
|
7
|
+
}
|
|
8
|
+
function isScrollableOverflowValue(overflow) {
|
|
9
|
+
return overflow !== "visible" && overflow !== "hidden" && overflow !== "clip";
|
|
10
|
+
}
|
|
11
|
+
function getFirstScrollableAncestor(element, direction) {
|
|
12
|
+
const parent = getEffectiveParentElement(element);
|
|
13
|
+
if (!parent) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const overflow = getBooleanForDirection(
|
|
17
|
+
parent.scrollWidth > parent.clientWidth,
|
|
18
|
+
parent.scrollHeight > parent.clientHeight
|
|
19
|
+
);
|
|
20
|
+
if (overflow) {
|
|
21
|
+
const computedStyle = getComputedStyle(parent);
|
|
22
|
+
const scrollableOverflow = getBooleanForDirection(
|
|
23
|
+
isScrollableOverflowValue(computedStyle.overflowX),
|
|
24
|
+
isScrollableOverflowValue(computedStyle.overflowY)
|
|
25
|
+
);
|
|
26
|
+
if (scrollableOverflow) {
|
|
27
|
+
return parent;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return getFirstScrollableAncestor(parent);
|
|
31
|
+
}
|
|
32
|
+
function calcScrollIntoViewOffset(target, container) {
|
|
33
|
+
const bBoxContainer = container.getBoundingClientRect();
|
|
34
|
+
const bBoxTarget = target.getBoundingClientRect();
|
|
35
|
+
const scrollByX = (
|
|
36
|
+
// If the left end of the target is to the left of the container, align the left end of the target so that it is in the viewport.
|
|
37
|
+
Math.min(bBoxTarget.left - bBoxContainer.left, 0) || // If the right end of the target is to the right of the container, align the right end of the target so that it is in the viewport.
|
|
38
|
+
Math.max(bBoxTarget.right - bBoxContainer.right, 0)
|
|
39
|
+
);
|
|
40
|
+
const scrollByY = Math.min(bBoxTarget.top - bBoxContainer.top, 0) || Math.max(bBoxTarget.bottom - bBoxContainer.bottom, 0);
|
|
41
|
+
return [scrollByX, scrollByY];
|
|
42
|
+
}
|
|
43
|
+
function scrollIntoViewOnlyParent(target, direction) {
|
|
44
|
+
const scrollableParent = getFirstScrollableAncestor(target);
|
|
45
|
+
if (!scrollableParent) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
let [scrollByX, scrollByY] = calcScrollIntoViewOffset(
|
|
49
|
+
target,
|
|
50
|
+
scrollableParent
|
|
51
|
+
);
|
|
52
|
+
{
|
|
53
|
+
scrollByY = 0;
|
|
54
|
+
}
|
|
55
|
+
if (scrollByX || scrollByY) {
|
|
56
|
+
scrollableParent.scrollBy(scrollByX, scrollByY);
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
export {
|
|
61
|
+
calcScrollIntoViewOffset,
|
|
62
|
+
getEffectiveParentElement,
|
|
63
|
+
getFirstScrollableAncestor,
|
|
64
|
+
scrollIntoViewOnlyParent
|
|
65
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { LitElement, PropertyValues } from 'lit';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The text input component is a UI element that allows users to input single-line text data.
|
|
5
|
+
* It functions similarly to the HTML `<input type="text">` tag, providing a simple and efficient way for users to enter and edit short pieces of texts, such as names, email addresses, or search queries.
|
|
6
|
+
* Can be used within `daikin-input-group` component.
|
|
7
|
+
*
|
|
8
|
+
* Hierarchies:
|
|
9
|
+
* - `daikin-text-input` (can be used solely)
|
|
10
|
+
* - `daikin-input-group` > `daikin-text-input`
|
|
11
|
+
*
|
|
12
|
+
* @fires change - A cloned event of a [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event) emitted from the inner `<input>` element.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* ```html
|
|
17
|
+
* <!-- See `daikin-input-group` component for complete example. -->
|
|
18
|
+
* <daikin-text-input name="name"></daikin-text-input>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare class DaikinTextInput extends LitElement {
|
|
22
|
+
static readonly styles: import('lit').CSSResult;
|
|
23
|
+
static readonly formAssociated = true;
|
|
24
|
+
private _internals;
|
|
25
|
+
/**
|
|
26
|
+
* Field value
|
|
27
|
+
*/
|
|
28
|
+
value: string;
|
|
29
|
+
/**
|
|
30
|
+
* Type of field
|
|
31
|
+
*/
|
|
32
|
+
type: "text" | "email" | "tel" | "search";
|
|
33
|
+
/**
|
|
34
|
+
* Placeholder text
|
|
35
|
+
*/
|
|
36
|
+
placeholder: string;
|
|
37
|
+
/**
|
|
38
|
+
* Whether the field is disabled
|
|
39
|
+
*/
|
|
40
|
+
disabled: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the field is readonly
|
|
43
|
+
*/
|
|
44
|
+
readonly: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Name of the input field control used in the form
|
|
47
|
+
*/
|
|
48
|
+
name?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Maximum length in field values
|
|
51
|
+
*/
|
|
52
|
+
maxlength?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Specify auto-completion values
|
|
55
|
+
*/
|
|
56
|
+
autocomplete?: HTMLInputElement["autocomplete"];
|
|
57
|
+
/**
|
|
58
|
+
* Error state. Ignored if the `disabled` is `true`.
|
|
59
|
+
*/
|
|
60
|
+
error: boolean;
|
|
61
|
+
private _handleInput;
|
|
62
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
63
|
+
updated(changedProperties: PropertyValues<this>): void;
|
|
64
|
+
}
|
|
65
|
+
declare global {
|
|
66
|
+
interface HTMLElementTagNameMap {
|
|
67
|
+
"daikin-text-input": DaikinTextInput;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { colorFeedbackNegative } from "@daikin-oss/dds-tokens/js/daikin/Light/variables.js";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
import { css, unsafeCSS, LitElement, html } from "lit";
|
|
4
|
+
import { property, customElement } from "lit/decorators.js";
|
|
5
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
6
|
+
import tailwindStyles from "../../tailwind.css.js";
|
|
7
|
+
var __defProp = Object.defineProperty;
|
|
8
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
9
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
10
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
11
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
12
|
+
if (decorator = decorators[i])
|
|
13
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
14
|
+
if (kind && result) __defProp(target, key, result);
|
|
15
|
+
return result;
|
|
16
|
+
};
|
|
17
|
+
const cvaInput = cva(
|
|
18
|
+
[
|
|
19
|
+
"w-[340px]",
|
|
20
|
+
"h-12",
|
|
21
|
+
"text-daikinNeutral-900",
|
|
22
|
+
"border",
|
|
23
|
+
"border-solid",
|
|
24
|
+
"px-[9px]",
|
|
25
|
+
"rounded-[6px]",
|
|
26
|
+
"font-daikinSerif",
|
|
27
|
+
"placeholder:text-daikinNeutral-200",
|
|
28
|
+
"enabled:hover:outline",
|
|
29
|
+
"enabled:hover:outline-2",
|
|
30
|
+
"enabled:hover:outline-[--text-input-outline-color-hover]",
|
|
31
|
+
"enabled:active:outline",
|
|
32
|
+
"enabled:active:outline-2",
|
|
33
|
+
"enabled:active:outline-[--text-input-outline-color-active]",
|
|
34
|
+
"focus-visible:outline",
|
|
35
|
+
"focus-visible:outline-2",
|
|
36
|
+
"focus-visible:outline-[--text-input-outline-color-active]",
|
|
37
|
+
"disabled:text-[--text-input-outline-color-disabled]",
|
|
38
|
+
"disabled:bg-[--text-input-background-color]",
|
|
39
|
+
"disabled:border-[--text-input-outline-color-disabled]"
|
|
40
|
+
],
|
|
41
|
+
{
|
|
42
|
+
variants: {
|
|
43
|
+
variant: {
|
|
44
|
+
normal: ["border-daikinNeutral-600"],
|
|
45
|
+
error: ["bg-daikinRed-50", "border-[--text-input-border-color-error]"]
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
let DaikinTextInput = class extends LitElement {
|
|
51
|
+
constructor() {
|
|
52
|
+
super(...arguments);
|
|
53
|
+
this._internals = this.attachInternals();
|
|
54
|
+
this.value = "";
|
|
55
|
+
this.type = "text";
|
|
56
|
+
this.placeholder = "";
|
|
57
|
+
this.disabled = false;
|
|
58
|
+
this.readonly = false;
|
|
59
|
+
this.error = false;
|
|
60
|
+
}
|
|
61
|
+
_handleInput(e) {
|
|
62
|
+
this.value = e.target.value;
|
|
63
|
+
this._internals.setFormValue(this.value);
|
|
64
|
+
}
|
|
65
|
+
render() {
|
|
66
|
+
const textInputInputClassName = cvaInput({
|
|
67
|
+
variant: !this.disabled && this.error ? "error" : "normal"
|
|
68
|
+
});
|
|
69
|
+
return html`<input
|
|
70
|
+
class=${textInputInputClassName}
|
|
71
|
+
type=${this.type}
|
|
72
|
+
value=${this.value}
|
|
73
|
+
placeholder=${this.placeholder}
|
|
74
|
+
name=${ifDefined(this.name)}
|
|
75
|
+
maxlength=${ifDefined(this.maxlength)}
|
|
76
|
+
autocomplete=${// eslint-disable-next-line @typescript-eslint/no-explicit-any -- workaround lit-analyzer checking
|
|
77
|
+
ifDefined(this.autocomplete)}
|
|
78
|
+
?disabled=${this.disabled}
|
|
79
|
+
?readonly=${this.readonly}
|
|
80
|
+
@change=${(e) => this.dispatchEvent(new Event("change", e))}
|
|
81
|
+
@input=${this._handleInput}
|
|
82
|
+
/>`;
|
|
83
|
+
}
|
|
84
|
+
updated(changedProperties) {
|
|
85
|
+
if (!changedProperties.has("value")) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
this._internals.setFormValue(this.value);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
DaikinTextInput.styles = css`
|
|
92
|
+
${unsafeCSS(tailwindStyles)}
|
|
93
|
+
|
|
94
|
+
:host {
|
|
95
|
+
--text-input-background-color: #ffffff;
|
|
96
|
+
--text-input-border-color-error: ${unsafeCSS(colorFeedbackNegative)};
|
|
97
|
+
--text-input-outline-color-disabled: #dcdcdc;
|
|
98
|
+
--text-input-outline-color-active: #cecece;
|
|
99
|
+
--text-input-outline-color-hover: #54c3f1;
|
|
100
|
+
|
|
101
|
+
display: block;
|
|
102
|
+
width: max-content;
|
|
103
|
+
}
|
|
104
|
+
`;
|
|
105
|
+
DaikinTextInput.formAssociated = true;
|
|
106
|
+
__decorateClass([
|
|
107
|
+
property({ type: String, reflect: true })
|
|
108
|
+
], DaikinTextInput.prototype, "value", 2);
|
|
109
|
+
__decorateClass([
|
|
110
|
+
property({ type: String })
|
|
111
|
+
], DaikinTextInput.prototype, "type", 2);
|
|
112
|
+
__decorateClass([
|
|
113
|
+
property({ type: String })
|
|
114
|
+
], DaikinTextInput.prototype, "placeholder", 2);
|
|
115
|
+
__decorateClass([
|
|
116
|
+
property({ type: Boolean, reflect: true })
|
|
117
|
+
], DaikinTextInput.prototype, "disabled", 2);
|
|
118
|
+
__decorateClass([
|
|
119
|
+
property({ type: Boolean, reflect: true })
|
|
120
|
+
], DaikinTextInput.prototype, "readonly", 2);
|
|
121
|
+
__decorateClass([
|
|
122
|
+
property({ type: String, reflect: true })
|
|
123
|
+
], DaikinTextInput.prototype, "name", 2);
|
|
124
|
+
__decorateClass([
|
|
125
|
+
property({ type: Number })
|
|
126
|
+
], DaikinTextInput.prototype, "maxlength", 2);
|
|
127
|
+
__decorateClass([
|
|
128
|
+
property({ type: String })
|
|
129
|
+
], DaikinTextInput.prototype, "autocomplete", 2);
|
|
130
|
+
__decorateClass([
|
|
131
|
+
property({ type: Boolean, reflect: true })
|
|
132
|
+
], DaikinTextInput.prototype, "error", 2);
|
|
133
|
+
DaikinTextInput = __decorateClass([
|
|
134
|
+
customElement("daikin-text-input")
|
|
135
|
+
], DaikinTextInput);
|
|
136
|
+
export {
|
|
137
|
+
DaikinTextInput
|
|
138
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './daikin-text-input';
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { LitElement, PropertyValues } from 'lit';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The textarea component is designed for multiline text input, similar to the HTML `<textarea>` tag.
|
|
5
|
+
* It is ideal for situations where users need to enter longer pieces of text, such as comments, descriptions, or messages.
|
|
6
|
+
* Can be used within `daikin-input-group` component.
|
|
7
|
+
*
|
|
8
|
+
* Hierarchies:
|
|
9
|
+
* - `daikin-textarea` (can be used solely)
|
|
10
|
+
* - `daikin-input-group` > `daikin-textarea`
|
|
11
|
+
*
|
|
12
|
+
* @fires change - A cloned event of a [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event) emitted from the inner `<textarea>` element.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* ```html
|
|
17
|
+
* <!-- See `daikin-input-group` component for complete example. -->
|
|
18
|
+
* <daikin-textarea name="name"></daikin-textarea>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare class DaikinTextarea extends LitElement {
|
|
22
|
+
static readonly styles: import('lit').CSSResult;
|
|
23
|
+
static readonly formAssociated = true;
|
|
24
|
+
private _internals;
|
|
25
|
+
/**
|
|
26
|
+
* Field value
|
|
27
|
+
*/
|
|
28
|
+
value: string;
|
|
29
|
+
/**
|
|
30
|
+
* Placeholder text
|
|
31
|
+
*/
|
|
32
|
+
placeholder: string;
|
|
33
|
+
/**
|
|
34
|
+
* Whether the field is disabled
|
|
35
|
+
*/
|
|
36
|
+
disabled: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Whether the field is required
|
|
39
|
+
*/
|
|
40
|
+
required: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the field is readonly
|
|
43
|
+
*/
|
|
44
|
+
readonly: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Maximum length in field values
|
|
47
|
+
*/
|
|
48
|
+
maxlength: number;
|
|
49
|
+
/**
|
|
50
|
+
* Specify auto-completion values
|
|
51
|
+
*/
|
|
52
|
+
autocomplete?: HTMLInputElement["autocomplete"];
|
|
53
|
+
/**
|
|
54
|
+
* Error state. Ignored if the `disabled` is `true`.
|
|
55
|
+
*/
|
|
56
|
+
error: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Whether to display a counter at the top of the text area
|
|
59
|
+
*/
|
|
60
|
+
counter: boolean;
|
|
61
|
+
protected _textareaCounter: number;
|
|
62
|
+
private _updateValueAndCounter;
|
|
63
|
+
private _handleInput;
|
|
64
|
+
render(): import('lit-html').TemplateResult<1>;
|
|
65
|
+
updated(changedProperties: PropertyValues<this>): void;
|
|
66
|
+
}
|
|
67
|
+
declare global {
|
|
68
|
+
interface HTMLElementTagNameMap {
|
|
69
|
+
"daikin-textarea": DaikinTextarea;
|
|
70
|
+
}
|
|
71
|
+
}
|