@logosphere-ui/core 0.0.0-alpha.12 → 0.0.0-alpha.13
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/dist/atoms/FormField/formfield.d.ts +7 -0
- package/dist/{badge-DVvdodRb.cjs → badge-7IIatiRv.cjs} +1 -1
- package/dist/{badge-CHWTCGQG.js → badge-B2chRYGd.js} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{button-BqOMevro.js → button-BFq8AmDc.js} +1 -1
- package/dist/{button-CDRccsk9.cjs → button-Bx870pUi.cjs} +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/calendar-DF3q_dcG.cjs +88 -0
- package/dist/calendar-WZ_GQvnn.js +652 -0
- package/dist/calendar.cjs +1 -0
- package/dist/calendar.js +4 -0
- package/dist/{card-KiNHfEi2.cjs → card-BmW0sPDb.cjs} +1 -1
- package/dist/{card-CNoTUaJC.js → card-D0OT4Kuq.js} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{chatbot-xaFF5RNV.js → chatbot-Bn9tPquz.js} +190 -127
- package/dist/chatbot-CL9OGmNE.cjs +183 -0
- package/dist/chatbot.cjs +1 -1
- package/dist/chatbot.js +1 -1
- package/dist/combobox-C6zoQopK.cjs +113 -0
- package/dist/combobox-LBU6VHLi.js +376 -0
- package/dist/combobox.cjs +1 -1
- package/dist/combobox.js +1 -1
- package/dist/datepicker-BLv_G9Yb.cjs +85 -0
- package/dist/datepicker-SwKsdw3S.js +375 -0
- package/dist/datepicker.cjs +1 -1
- package/dist/datepicker.js +1 -1
- package/dist/formfield-BFOIEicR.cjs +33 -0
- package/dist/formfield-CNh4mBSs.js +147 -0
- package/dist/formfield.cjs +1 -1
- package/dist/formfield.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +34 -27
- package/dist/index.umd.js +466 -232
- package/dist/input-JpAWN-M1.cjs +59 -0
- package/dist/{input-CxBP0i-3.js → input-jmbvgWEq.js} +100 -82
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/left-menu.cjs +1 -0
- package/dist/left-menu.js +5 -0
- package/dist/leftmenu-Bgqfmoe5.cjs +74 -0
- package/dist/leftmenu-GsoBxkeJ.js +291 -0
- package/dist/molecules/Input/input.d.ts +3 -1
- package/dist/molecules/Textarea/text-area.d.ts +0 -1
- package/dist/organisms/Calendar/calendar.d.ts +54 -0
- package/dist/organisms/Calendar/index.d.ts +1 -0
- package/dist/organisms/Calendar/shared.d.ts +9 -0
- package/dist/organisms/Chatbot/chatbot.d.ts +7 -0
- package/dist/organisms/Combobox/combobox.d.ts +16 -0
- package/dist/organisms/DatePicker/datepicker.d.ts +31 -31
- package/dist/organisms/LeftMenu/index.d.ts +2 -0
- package/dist/organisms/LeftMenu/leftmenu-item.d.ts +14 -0
- package/dist/organisms/LeftMenu/leftmenu.d.ts +44 -0
- package/dist/organisms/TreeMenu/index.d.ts +1 -0
- package/dist/organisms/TreeMenu/tree-menu.d.ts +41 -0
- package/dist/styles/main.css +1 -0
- package/dist/{text-area-eT-oCnqZ.cjs → text-area-CZDdxbrN.cjs} +5 -3
- package/dist/{text-area-Dw4CUBcz.js → text-area-Dec_k4rs.js} +18 -19
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/tree-menu-B1iwfHyd.cjs +47 -0
- package/dist/tree-menu-BbX8GK_z.js +154 -0
- package/dist/tree-menu.cjs +1 -0
- package/dist/tree-menu.js +4 -0
- package/dist/{ui-icon-ltkJROhR.js → ui-icon-Bys4HYSQ.js} +24 -18
- package/dist/{ui-icon-CVEyvL5D.cjs → ui-icon-DWh1MhBa.cjs} +4 -4
- package/package.json +16 -1
- package/dist/chatbot-BF4TQnlG.cjs +0 -160
- package/dist/combobox-CeK7yW2F.cjs +0 -99
- package/dist/combobox-DTUSFw9V.js +0 -270
- package/dist/datepicker-BQOVo1Pr.cjs +0 -115
- package/dist/datepicker-ChdQsc_l.js +0 -751
- package/dist/formfield-BOgRugzm.js +0 -118
- package/dist/formfield-D_7NFFoe.cjs +0 -27
- package/dist/input-CoY1ZcPF.cjs +0 -46
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import { LitElement as u, html as p, unsafeCSS as b, css as v, nothing as y } from "lit";
|
|
2
|
+
import { property as c, customElement as g, state as m } from "lit/decorators.js";
|
|
3
|
+
import "./input-jmbvgWEq.js";
|
|
4
|
+
import "./ui-icon-Bys4HYSQ.js";
|
|
5
|
+
import "./tree-menu-BbX8GK_z.js";
|
|
6
|
+
var w = Object.defineProperty, x = Object.getOwnPropertyDescriptor, _ = (e, t, i, s) => {
|
|
7
|
+
for (var o = s > 1 ? void 0 : s ? x(t, i) : t, n = e.length - 1, r; n >= 0; n--)
|
|
8
|
+
(r = e[n]) && (o = (s ? r(t, i, o) : r(o)) || o);
|
|
9
|
+
return s && o && w(t, i, o), o;
|
|
10
|
+
};
|
|
11
|
+
let h = class extends u {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments), this.itemId = "", this.label = "", this.disabled = !1, this.active = !1;
|
|
14
|
+
}
|
|
15
|
+
render() {
|
|
16
|
+
return p`<slot></slot>`;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
_([
|
|
20
|
+
c({ type: String })
|
|
21
|
+
], h.prototype, "itemId", 2);
|
|
22
|
+
_([
|
|
23
|
+
c({ type: String })
|
|
24
|
+
], h.prototype, "label", 2);
|
|
25
|
+
_([
|
|
26
|
+
c({ type: Boolean })
|
|
27
|
+
], h.prototype, "disabled", 2);
|
|
28
|
+
_([
|
|
29
|
+
c({ type: Boolean })
|
|
30
|
+
], h.prototype, "active", 2);
|
|
31
|
+
_([
|
|
32
|
+
c({ attribute: !1 })
|
|
33
|
+
], h.prototype, "onClick", 2);
|
|
34
|
+
h = _([
|
|
35
|
+
g("leftmenu-item")
|
|
36
|
+
], h);
|
|
37
|
+
const C = ':host{display:block;position:relative;height:100%;font-family:var(--font-family-base)}.lm{position:relative;height:100%;transition:width var(--transition-speed-base) var(--transition-timing)}.lm__panel{width:var(--lm-closed-width);min-width:var(--lm-closed-width);height:100%;background:var(--color-body-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;overflow-x:hidden;box-sizing:border-box;transition:width var(--transition-speed-base) var(--transition-timing),min-width var(--transition-speed-base) var(--transition-timing),box-shadow var(--transition-speed-base) var(--transition-timing)}.lm--open .lm__panel{width:var(--lm-open-width);min-width:var(--lm-open-width)}.lm--overlay.lm--open .lm__panel{position:absolute;left:0;top:0;box-shadow:var(--shadow-md);z-index:var(--z-index-dropdown)}.lm__brand{padding:var(--spacing-3);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.lm--closed .lm__brand{width:64px;height:64px;padding:0}.lm__search{padding:var(--spacing-4) var(--spacing-3)}.lm__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-3);scrollbar-width:thin}.lm__nav logosphere-tree-menu{width:100%}.lm__custom{border-top:1px solid var(--color-border);margin-top:var(--spacing-4);padding:var(--spacing-2)}.lm--closed .lm__custom{padding:var(--spacing-2) 0}.lm__custom--hidden{display:none}.lm--closed .lm__nav{padding-left:0;padding-right:0;scrollbar-gutter:auto;scrollbar-color:var(--color-border) transparent}.lm--closed .lm__nav::-webkit-scrollbar{width:4px;height:4px}.lm--closed .lm__nav::-webkit-scrollbar-track{background:transparent}.lm--closed .lm__nav::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:999px}.lm--closed .lm__nav:hover::-webkit-scrollbar-thumb{background-color:var(--color-tertiary)}.lm__footer{margin-top:auto;border-top:1px solid var(--color-border);padding:var(--spacing-2);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.lm--closed .lm__footer{flex-direction:column;justify-content:center}.lm__ctrl{width:32px;height:32px;border:1px solid var(--color-border);background:var(--color-body-bg);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-body-text)}.lm__ctrl:hover{background:var(--color-tertiary-bg)}.lm__pin-icon--inactive{color:var(--color-tertiary)}.lm__pin-icon--active{color:var(--color-body-text)}.lm__toggle-icon{transform:rotate(180deg);transition:transform var(--transition-speed-base) var(--transition-timing)}.lm__toggle-icon--open{transform:rotate(0)}::slotted(leftmenu-item){display:none!important}::slotted([slot="logo-open"]),::slotted([slot="logo-closed"]){display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}::slotted([slot="custom-open"]),::slotted([slot="custom-closed"]){display:block;width:100%}';
|
|
38
|
+
var I = Object.defineProperty, S = Object.getOwnPropertyDescriptor, d = (e, t, i, s) => {
|
|
39
|
+
for (var o = s > 1 ? void 0 : s ? S(t, i) : t, n = e.length - 1, r; n >= 0; n--)
|
|
40
|
+
(r = e[n]) && (o = (s ? r(t, i, o) : r(o)) || o);
|
|
41
|
+
return s && o && I(t, i, o), o;
|
|
42
|
+
};
|
|
43
|
+
let l = class extends u {
|
|
44
|
+
constructor() {
|
|
45
|
+
super(...arguments), this.open = !1, this.pinned = !1, this.closedWidth = 64, this.openWidth = 248, this.storageKey = "logosphere-leftmenu-state", this._nodes = [], this._expandedIds = /* @__PURE__ */ new Set(), this._search = "", this._searchExpandedIds = /* @__PURE__ */ new Set(), this._hasCustomOpen = !1, this._hasCustomClosed = !1, this._isHydratingState = !1, this._onSlotChange = (e) => {
|
|
46
|
+
const i = e.target.assignedElements({ flatten: !0 }).filter((s) => s.tagName === "LEFTMENU-ITEM");
|
|
47
|
+
this._nodes = i.map((s, o) => this._mapItemElement(s, `root-${o}`));
|
|
48
|
+
}, this._onCustomOpenSlotChange = (e) => {
|
|
49
|
+
const t = e.target;
|
|
50
|
+
this._hasCustomOpen = t.assignedElements({ flatten: !0 }).length > 0;
|
|
51
|
+
}, this._onCustomClosedSlotChange = (e) => {
|
|
52
|
+
const t = e.target;
|
|
53
|
+
this._hasCustomClosed = t.assignedElements({ flatten: !0 }).length > 0;
|
|
54
|
+
}, this._handleSearchInput = (e) => {
|
|
55
|
+
const i = e.detail?.value;
|
|
56
|
+
typeof i == "string" && this._setSearch(i);
|
|
57
|
+
}, this._toggleOpen = () => {
|
|
58
|
+
this.open = !this.open;
|
|
59
|
+
}, this._togglePin = () => {
|
|
60
|
+
this.pinned = !this.pinned, this.dispatchEvent(
|
|
61
|
+
new CustomEvent("pin-change", {
|
|
62
|
+
detail: { pinned: this.pinned },
|
|
63
|
+
bubbles: !0,
|
|
64
|
+
composed: !0
|
|
65
|
+
})
|
|
66
|
+
);
|
|
67
|
+
}, this._handleTreeToggle = (e) => {
|
|
68
|
+
e.stopPropagation();
|
|
69
|
+
const { item: t, expanded: i } = e.detail;
|
|
70
|
+
i ? this._expandedIds.add(t.id) : this._expandedIds.delete(t.id), this._expandedIds = new Set(this._expandedIds);
|
|
71
|
+
}, this._handleTreeNodeClick = (e) => {
|
|
72
|
+
this.open || !e.detail.hasChildren || (this.open = !0, this._expandedIds.add(e.detail.item.id), this._expandedIds = new Set(this._expandedIds));
|
|
73
|
+
}, this._handleTreeItemClick = (e) => {
|
|
74
|
+
e.stopPropagation();
|
|
75
|
+
const t = e.detail.item.data;
|
|
76
|
+
this.dispatchEvent(
|
|
77
|
+
new CustomEvent("item-click", {
|
|
78
|
+
detail: { item: t ?? e.detail.item },
|
|
79
|
+
bubbles: !0,
|
|
80
|
+
composed: !0
|
|
81
|
+
})
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
connectedCallback() {
|
|
86
|
+
super.connectedCallback(), this._loadPersistedState();
|
|
87
|
+
}
|
|
88
|
+
updated(e) {
|
|
89
|
+
this._isHydratingState || (e.has("open") || e.has("pinned")) && this._persistState();
|
|
90
|
+
}
|
|
91
|
+
_loadPersistedState() {
|
|
92
|
+
if (!(typeof window > "u"))
|
|
93
|
+
try {
|
|
94
|
+
const e = window.localStorage.getItem(this.storageKey);
|
|
95
|
+
if (!e) return;
|
|
96
|
+
const t = JSON.parse(e);
|
|
97
|
+
this._isHydratingState = !0, typeof t.open == "boolean" && (this.open = t.open), typeof t.pinned == "boolean" && (this.pinned = t.pinned), this._isHydratingState = !1;
|
|
98
|
+
} catch {
|
|
99
|
+
this._isHydratingState = !1;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
_persistState() {
|
|
103
|
+
if (!(typeof window > "u"))
|
|
104
|
+
try {
|
|
105
|
+
window.localStorage.setItem(
|
|
106
|
+
this.storageKey,
|
|
107
|
+
JSON.stringify({
|
|
108
|
+
open: this.open,
|
|
109
|
+
pinned: this.pinned
|
|
110
|
+
})
|
|
111
|
+
);
|
|
112
|
+
} catch {
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
_mapItemElement(e, t) {
|
|
116
|
+
const i = e.itemId || e.id || t, s = Array.from(e.children).find((a) => a.getAttribute("slot") === "icon"), o = s?.querySelector("ui-icon"), n = Array.from(e.children).filter(
|
|
117
|
+
(a) => a.tagName === "LEFTMENU-ITEM" && a.getAttribute("slot") === "children"
|
|
118
|
+
), r = Array.from(e.childNodes).filter((a) => a.nodeType === Node.TEXT_NODE).map((a) => a.textContent ?? "").join(" ").replace(/\s+/g, " ").trim();
|
|
119
|
+
return {
|
|
120
|
+
id: i,
|
|
121
|
+
label: (e.label || r || i).trim(),
|
|
122
|
+
disabled: e.disabled,
|
|
123
|
+
active: e.active,
|
|
124
|
+
iconName: o?.getAttribute("name") ?? null,
|
|
125
|
+
iconHtml: s ? s.innerHTML : null,
|
|
126
|
+
onClick: e.onClick ? () => e.onClick?.(e) : void 0,
|
|
127
|
+
children: n.map((a, f) => this._mapItemElement(a, `${i}-${f}`))
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
_setSearch(e) {
|
|
131
|
+
if (this._search = e, !e) {
|
|
132
|
+
this._searchExpandedIds = /* @__PURE__ */ new Set();
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
const t = /* @__PURE__ */ new Set(), i = (s) => {
|
|
136
|
+
let o = !1;
|
|
137
|
+
return s.forEach((n) => {
|
|
138
|
+
const r = n.label.toLocaleLowerCase().includes(e.toLocaleLowerCase()), a = i(n.children);
|
|
139
|
+
a && t.add(n.id), r && n.children.length && t.add(n.id), o = o || r || a;
|
|
140
|
+
}), o;
|
|
141
|
+
};
|
|
142
|
+
i(this._nodes), this._searchExpandedIds = t;
|
|
143
|
+
}
|
|
144
|
+
_filterNodes(e, t) {
|
|
145
|
+
if (!t) return e;
|
|
146
|
+
const i = t.toLocaleLowerCase(), s = (o) => {
|
|
147
|
+
const n = o.children.map(s).filter(Boolean);
|
|
148
|
+
return !o.label.toLocaleLowerCase().includes(i) && n.length === 0 ? null : { ...o, children: n };
|
|
149
|
+
};
|
|
150
|
+
return e.map(s).filter(Boolean);
|
|
151
|
+
}
|
|
152
|
+
_toTreeItems(e) {
|
|
153
|
+
return e.map((t) => ({
|
|
154
|
+
id: t.id,
|
|
155
|
+
label: t.label,
|
|
156
|
+
disabled: t.disabled,
|
|
157
|
+
active: t.active,
|
|
158
|
+
iconName: t.iconName ?? void 0,
|
|
159
|
+
iconHtml: t.iconHtml,
|
|
160
|
+
onClick: t.onClick ? () => {
|
|
161
|
+
t.onClick?.(t);
|
|
162
|
+
} : void 0,
|
|
163
|
+
data: t,
|
|
164
|
+
children: this._toTreeItems(t.children)
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
_effectiveExpandedIds() {
|
|
168
|
+
const e = new Set(this._expandedIds);
|
|
169
|
+
return this._search && this._searchExpandedIds.forEach((t) => e.add(t)), Array.from(e);
|
|
170
|
+
}
|
|
171
|
+
render() {
|
|
172
|
+
const e = this._filterNodes(this._nodes, this._search), t = this._toTreeItems(e), i = this.pinned ? this.open ? this.openWidth : this.closedWidth : this.closedWidth;
|
|
173
|
+
return p`
|
|
174
|
+
<aside
|
|
175
|
+
class="lm ${this.open ? "lm--open" : "lm--closed"} ${this.pinned ? "lm--pinned" : "lm--overlay"}"
|
|
176
|
+
style=${`--lm-open-width:${this.openWidth}px; --lm-closed-width:${this.closedWidth}px; width:${i}px;`}
|
|
177
|
+
>
|
|
178
|
+
<slot @slotchange=${this._onSlotChange}></slot>
|
|
179
|
+
|
|
180
|
+
<div class="lm__panel">
|
|
181
|
+
<div class="lm__brand">
|
|
182
|
+
${this.open ? p`<slot name="logo-open"></slot>` : p`<slot name="logo-closed"></slot>`}
|
|
183
|
+
</div>
|
|
184
|
+
|
|
185
|
+
${this.open ? p`
|
|
186
|
+
<div class="lm__search">
|
|
187
|
+
<logosphere-input
|
|
188
|
+
placeholder="Arayın..."
|
|
189
|
+
.value=${this._search}
|
|
190
|
+
@input=${this._handleSearchInput}
|
|
191
|
+
>
|
|
192
|
+
<ui-icon slot="prefix" name="uil-search" size="16"></ui-icon>
|
|
193
|
+
</logosphere-input>
|
|
194
|
+
</div>
|
|
195
|
+
` : y}
|
|
196
|
+
|
|
197
|
+
<nav class="lm__nav">
|
|
198
|
+
<logosphere-tree-menu
|
|
199
|
+
.items=${t}
|
|
200
|
+
.expandedIds=${this._effectiveExpandedIds()}
|
|
201
|
+
.expandOnLabelClick=${this.open}
|
|
202
|
+
chevronPosition="right"
|
|
203
|
+
.showLabels=${this.open}
|
|
204
|
+
.iconSize=${this.open ? 16 : 20}
|
|
205
|
+
@toggle=${this._handleTreeToggle}
|
|
206
|
+
@node-click=${this._handleTreeNodeClick}
|
|
207
|
+
@item-click=${this._handleTreeItemClick}
|
|
208
|
+
></logosphere-tree-menu>
|
|
209
|
+
|
|
210
|
+
${this.open ? p`
|
|
211
|
+
<div class="lm__custom ${this._hasCustomOpen ? "" : "lm__custom--hidden"}">
|
|
212
|
+
<slot name="custom-open" @slotchange=${this._onCustomOpenSlotChange}></slot>
|
|
213
|
+
</div>
|
|
214
|
+
` : p`
|
|
215
|
+
<div class="lm__custom ${this._hasCustomClosed ? "" : "lm__custom--hidden"}">
|
|
216
|
+
<slot name="custom-closed" @slotchange=${this._onCustomClosedSlotChange}></slot>
|
|
217
|
+
</div>
|
|
218
|
+
`}
|
|
219
|
+
</nav>
|
|
220
|
+
|
|
221
|
+
<div class="lm__footer">
|
|
222
|
+
<button
|
|
223
|
+
class="lm__ctrl"
|
|
224
|
+
type="button"
|
|
225
|
+
@click=${this._toggleOpen}
|
|
226
|
+
aria-label="Toggle Menu"
|
|
227
|
+
>
|
|
228
|
+
<ui-icon
|
|
229
|
+
class="lm__toggle-icon ${this.open ? "lm__toggle-icon--open" : ""}"
|
|
230
|
+
name="uil-left-arrow-to-left"
|
|
231
|
+
size="16"
|
|
232
|
+
></ui-icon>
|
|
233
|
+
</button>
|
|
234
|
+
<button class="lm__ctrl" type="button" @click=${this._togglePin} aria-label="Pin Menu">
|
|
235
|
+
<ui-icon
|
|
236
|
+
class=${this.pinned ? "lm__pin-icon--active" : "lm__pin-icon--inactive"}
|
|
237
|
+
name="uil-pin"
|
|
238
|
+
size="16"
|
|
239
|
+
></ui-icon>
|
|
240
|
+
</button>
|
|
241
|
+
</div>
|
|
242
|
+
</div>
|
|
243
|
+
</aside>
|
|
244
|
+
`;
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
l.styles = [
|
|
248
|
+
v`
|
|
249
|
+
${b(C)}
|
|
250
|
+
`
|
|
251
|
+
];
|
|
252
|
+
d([
|
|
253
|
+
c({ type: Boolean, reflect: !0 })
|
|
254
|
+
], l.prototype, "open", 2);
|
|
255
|
+
d([
|
|
256
|
+
c({ type: Boolean, reflect: !0 })
|
|
257
|
+
], l.prototype, "pinned", 2);
|
|
258
|
+
d([
|
|
259
|
+
c({ type: Number })
|
|
260
|
+
], l.prototype, "closedWidth", 2);
|
|
261
|
+
d([
|
|
262
|
+
c({ type: Number })
|
|
263
|
+
], l.prototype, "openWidth", 2);
|
|
264
|
+
d([
|
|
265
|
+
c({ type: String })
|
|
266
|
+
], l.prototype, "storageKey", 2);
|
|
267
|
+
d([
|
|
268
|
+
m()
|
|
269
|
+
], l.prototype, "_nodes", 2);
|
|
270
|
+
d([
|
|
271
|
+
m()
|
|
272
|
+
], l.prototype, "_expandedIds", 2);
|
|
273
|
+
d([
|
|
274
|
+
m()
|
|
275
|
+
], l.prototype, "_search", 2);
|
|
276
|
+
d([
|
|
277
|
+
m()
|
|
278
|
+
], l.prototype, "_searchExpandedIds", 2);
|
|
279
|
+
d([
|
|
280
|
+
m()
|
|
281
|
+
], l.prototype, "_hasCustomOpen", 2);
|
|
282
|
+
d([
|
|
283
|
+
m()
|
|
284
|
+
], l.prototype, "_hasCustomClosed", 2);
|
|
285
|
+
l = d([
|
|
286
|
+
g("logosphere-leftmenu")
|
|
287
|
+
], l);
|
|
288
|
+
export {
|
|
289
|
+
l as L,
|
|
290
|
+
h as a
|
|
291
|
+
};
|
|
@@ -20,7 +20,6 @@ export declare class LogosphereInput extends LitElement {
|
|
|
20
20
|
step?: number;
|
|
21
21
|
size: InputSize;
|
|
22
22
|
variant: InputVariant;
|
|
23
|
-
showClear: boolean;
|
|
24
23
|
label: string;
|
|
25
24
|
helper: string;
|
|
26
25
|
error: string;
|
|
@@ -28,6 +27,7 @@ export declare class LogosphereInput extends LitElement {
|
|
|
28
27
|
disabled: boolean;
|
|
29
28
|
readonly: boolean;
|
|
30
29
|
private _internalError;
|
|
30
|
+
private _showPassword;
|
|
31
31
|
get inputElement(): HTMLInputElement;
|
|
32
32
|
focus(): void;
|
|
33
33
|
blur(): void;
|
|
@@ -41,6 +41,8 @@ export declare class LogosphereInput extends LitElement {
|
|
|
41
41
|
private handleKeyDown;
|
|
42
42
|
private handleKeyUp;
|
|
43
43
|
private handleClear;
|
|
44
|
+
private handlePasswordToggle;
|
|
45
|
+
protected willUpdate(changedProperties: Map<PropertyKey, unknown>): void;
|
|
44
46
|
render(): import("lit-html").TemplateResult<1>;
|
|
45
47
|
}
|
|
46
48
|
declare global {
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
import "../../shared/icons/ui-icon";
|
|
3
|
+
export declare class LedsCalendar extends LitElement {
|
|
4
|
+
static styles: import("lit").CSSResult[];
|
|
5
|
+
value: string | null;
|
|
6
|
+
min: string | null;
|
|
7
|
+
max: string | null;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
rangeMode: boolean;
|
|
10
|
+
disabledDays: number[];
|
|
11
|
+
rangeStart: string | null;
|
|
12
|
+
rangeEnd: string | null;
|
|
13
|
+
closable: boolean;
|
|
14
|
+
onChange?: (value: string | null) => void;
|
|
15
|
+
onRangeChange?: (range: {
|
|
16
|
+
start: string;
|
|
17
|
+
end: string;
|
|
18
|
+
}) => void;
|
|
19
|
+
private _cursor;
|
|
20
|
+
private _rangeStart;
|
|
21
|
+
private _rangeEnd;
|
|
22
|
+
private _hoverDate;
|
|
23
|
+
private _viewMode;
|
|
24
|
+
protected willUpdate(changed: Map<string, unknown>): void;
|
|
25
|
+
focusGrid(): void;
|
|
26
|
+
private _emitStateChange;
|
|
27
|
+
private _emitChange;
|
|
28
|
+
private _emitRangeChange;
|
|
29
|
+
private _withinBounds;
|
|
30
|
+
private _getYears;
|
|
31
|
+
private _getHeaderLabel;
|
|
32
|
+
private _daysInGrid;
|
|
33
|
+
private _isInRange;
|
|
34
|
+
private _getHoverPreview;
|
|
35
|
+
private _getDayClasses;
|
|
36
|
+
private _select;
|
|
37
|
+
private _clear;
|
|
38
|
+
private _today;
|
|
39
|
+
private _navigatePrevious;
|
|
40
|
+
private _navigateNext;
|
|
41
|
+
private _handleHeaderClick;
|
|
42
|
+
private _selectMonth;
|
|
43
|
+
private _selectYear;
|
|
44
|
+
private _keydownGrid;
|
|
45
|
+
private _renderCalendar;
|
|
46
|
+
private _renderMonthGrid;
|
|
47
|
+
private _renderYearGrid;
|
|
48
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
49
|
+
}
|
|
50
|
+
declare global {
|
|
51
|
+
interface HTMLElementTagNameMap {
|
|
52
|
+
"logosphere-calendar": LedsCalendar;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./calendar";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import dayjs from "dayjs";
|
|
2
|
+
import type { Dayjs } from "dayjs";
|
|
3
|
+
import "dayjs/locale/tr";
|
|
4
|
+
export { dayjs };
|
|
5
|
+
export type { Dayjs };
|
|
6
|
+
export declare const DATE_FORMATS: string[];
|
|
7
|
+
export declare const MONTHS: string[];
|
|
8
|
+
export declare const WEEKDAYS: string[];
|
|
9
|
+
export declare function safeDay(value?: string | null): Dayjs | null;
|
|
@@ -30,6 +30,8 @@ export declare class LedsUiChatbot extends LitElement {
|
|
|
30
30
|
private position;
|
|
31
31
|
private isDragging;
|
|
32
32
|
private screenWidth;
|
|
33
|
+
private userAtBottom;
|
|
34
|
+
private showScrollDown;
|
|
33
35
|
private dragStartPos;
|
|
34
36
|
private initialPosition;
|
|
35
37
|
private isResizing;
|
|
@@ -60,7 +62,12 @@ export declare class LedsUiChatbot extends LitElement {
|
|
|
60
62
|
private addMessage;
|
|
61
63
|
private handleKeyDown;
|
|
62
64
|
private onInput;
|
|
65
|
+
private isNearBottom;
|
|
66
|
+
private onChatScroll;
|
|
63
67
|
private scrollToBottom;
|
|
68
|
+
private onScrollToBottomClick;
|
|
69
|
+
private rateMessage;
|
|
70
|
+
private onRate;
|
|
64
71
|
private onCopyMessage;
|
|
65
72
|
private formatContent;
|
|
66
73
|
render(): import("lit-html").TemplateResult<1>;
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
2
|
import "../../atoms/Checkbox";
|
|
3
|
+
import "../../atoms/FormField/formfield";
|
|
3
4
|
import "../../shared/icons/ui-icon";
|
|
4
5
|
type ComboboxItem = Record<string, unknown>;
|
|
5
6
|
export declare class Combobox extends LitElement {
|
|
6
7
|
static styles: import("lit").CSSResult[];
|
|
7
8
|
readonly inputId: string;
|
|
8
9
|
label: string;
|
|
10
|
+
helper: string;
|
|
11
|
+
error: string;
|
|
9
12
|
placeholder: string;
|
|
10
13
|
required: boolean;
|
|
14
|
+
disabled: boolean;
|
|
11
15
|
readOnly: boolean;
|
|
16
|
+
variant: "default" | "subtle";
|
|
12
17
|
multiple: boolean;
|
|
13
18
|
filterable: boolean;
|
|
14
19
|
optionLabel: string;
|
|
@@ -20,7 +25,12 @@ export declare class Combobox extends LitElement {
|
|
|
20
25
|
private inputValue;
|
|
21
26
|
private isOpen;
|
|
22
27
|
private focusedIndex;
|
|
28
|
+
private _referenceElement?;
|
|
29
|
+
private _formFieldElement?;
|
|
30
|
+
private _dropdownElement?;
|
|
23
31
|
private _filteredItems;
|
|
32
|
+
private _popperInstance?;
|
|
33
|
+
private readonly _dropdownMinWidth;
|
|
24
34
|
willUpdate(changed: Map<string, unknown>): void;
|
|
25
35
|
updated(changed: Map<string, unknown>): void;
|
|
26
36
|
private _handleOutsideClick;
|
|
@@ -41,9 +51,15 @@ export declare class Combobox extends LitElement {
|
|
|
41
51
|
private _onFilterInput;
|
|
42
52
|
private _stopPropagation;
|
|
43
53
|
private _onTriggerClick;
|
|
54
|
+
private _onFieldClick;
|
|
55
|
+
private _onChevronClick;
|
|
44
56
|
private _renderTagList;
|
|
45
57
|
private _renderTriggerContent;
|
|
46
58
|
private _renderDropdown;
|
|
59
|
+
private _getPopperModifiers;
|
|
60
|
+
private _getPopperReferenceElement;
|
|
61
|
+
private _updatePopper;
|
|
62
|
+
private _destroyPopper;
|
|
47
63
|
render(): import("lit-html").TemplateResult<1>;
|
|
48
64
|
}
|
|
49
65
|
export {};
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
-
import "
|
|
2
|
+
import "../../atoms/FormField/formfield.js";
|
|
3
|
+
import "../Calendar/index";
|
|
3
4
|
import "../../shared/icons/ui-icon";
|
|
5
|
+
export type DatePickerSize = "default" | "large";
|
|
6
|
+
export type DatePickerVariant = "default" | "subtle";
|
|
4
7
|
export declare class LedsDatePicker extends LitElement {
|
|
5
8
|
static styles: import("lit").CSSResult[];
|
|
6
9
|
value: string | null;
|
|
@@ -8,68 +11,65 @@ export declare class LedsDatePicker extends LitElement {
|
|
|
8
11
|
max: string | null;
|
|
9
12
|
required: boolean;
|
|
10
13
|
disabled: boolean;
|
|
14
|
+
readonly: boolean;
|
|
11
15
|
expandFactor: number;
|
|
12
16
|
placeholder: string;
|
|
13
|
-
|
|
17
|
+
label: string;
|
|
18
|
+
helper: string;
|
|
19
|
+
error: string;
|
|
20
|
+
size: DatePickerSize;
|
|
21
|
+
variant: DatePickerVariant;
|
|
14
22
|
rangeMode: boolean;
|
|
15
23
|
disabledDays: number[];
|
|
16
|
-
/** Pre-selected range start date (YYYY-MM-DD). Only used when rangeMode=true. */
|
|
17
24
|
rangeStart: string | null;
|
|
18
|
-
/** Pre-selected range end date (YYYY-MM-DD). Only used when rangeMode=true. */
|
|
19
25
|
rangeEnd: string | null;
|
|
20
|
-
/** Callback fired when a single date is selected or cleared. Receives ISO string or null. */
|
|
21
26
|
onChange?: (value: string | null) => void;
|
|
22
|
-
/** Callback fired when a complete range is selected. */
|
|
23
27
|
onRangeChange?: (range: {
|
|
24
28
|
start: string;
|
|
25
29
|
end: string;
|
|
26
30
|
}) => void;
|
|
27
31
|
private _open;
|
|
28
|
-
private _cursor;
|
|
29
|
-
private _popupPos;
|
|
30
32
|
private _rangeStart;
|
|
31
33
|
private _rangeEnd;
|
|
32
|
-
private _hoverDate;
|
|
33
|
-
private _viewMode;
|
|
34
34
|
private _hasError;
|
|
35
35
|
private _errorMsg;
|
|
36
|
+
private _inputDraft;
|
|
37
|
+
private _referenceElement?;
|
|
38
|
+
private _popupElement?;
|
|
39
|
+
private _inputElement?;
|
|
40
|
+
private _popperInstance?;
|
|
36
41
|
private _errorTimer;
|
|
37
42
|
readonly inputId: string;
|
|
38
43
|
protected willUpdate(changed: Map<string, unknown>): void;
|
|
39
|
-
private _outsideClick;
|
|
40
|
-
private _onScrollOrResize;
|
|
41
44
|
connectedCallback(): void;
|
|
42
45
|
disconnectedCallback(): void;
|
|
46
|
+
updated(changed: Map<string, unknown>): void;
|
|
47
|
+
private _outsideClick;
|
|
43
48
|
private _safeDay;
|
|
49
|
+
private _isInputFocused;
|
|
44
50
|
private _withinBounds;
|
|
45
51
|
private _displayValue;
|
|
46
|
-
private
|
|
47
|
-
private _getHeaderLabel;
|
|
48
|
-
private _daysInGrid;
|
|
49
|
-
private _isInRange;
|
|
50
|
-
private _getHoverPreview;
|
|
51
|
-
private _getDayClasses;
|
|
52
|
+
private _inputValue;
|
|
52
53
|
private _emitChange;
|
|
53
54
|
private _emitRangeChange;
|
|
54
55
|
private _showInputError;
|
|
55
56
|
private _clearInputError;
|
|
56
57
|
private _toggleOpen;
|
|
58
|
+
private _openDropdown;
|
|
57
59
|
private _onInput;
|
|
60
|
+
private _parseSingleDate;
|
|
61
|
+
private _parseRangeInput;
|
|
58
62
|
private _onKeydown;
|
|
63
|
+
private _onBlur;
|
|
59
64
|
private _parseAndSetDate;
|
|
60
|
-
private
|
|
61
|
-
private
|
|
62
|
-
private
|
|
63
|
-
private
|
|
64
|
-
private
|
|
65
|
-
private
|
|
66
|
-
private
|
|
67
|
-
private
|
|
68
|
-
private _keydownGrid;
|
|
69
|
-
private _recalcPopupPos;
|
|
70
|
-
private _renderCalendar;
|
|
71
|
-
private _renderMonthGrid;
|
|
72
|
-
private _renderYearGrid;
|
|
65
|
+
private _updatePopper;
|
|
66
|
+
private _getPopperModifiers;
|
|
67
|
+
private _destroyPopper;
|
|
68
|
+
private _handleCalendarChange;
|
|
69
|
+
private _handleCalendarRangeChange;
|
|
70
|
+
private _handleCalendarStateChange;
|
|
71
|
+
private _handleSuffixClick;
|
|
72
|
+
private _handleClearClick;
|
|
73
73
|
render(): import("lit-html").TemplateResult<1>;
|
|
74
74
|
}
|
|
75
75
|
declare global {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
export declare class LeftMenuItemElement extends LitElement {
|
|
3
|
+
itemId: string;
|
|
4
|
+
label: string;
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
active: boolean;
|
|
7
|
+
onClick?: (item: LeftMenuItemElement) => void;
|
|
8
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
9
|
+
}
|
|
10
|
+
declare global {
|
|
11
|
+
interface HTMLElementTagNameMap {
|
|
12
|
+
"leftmenu-item": LeftMenuItemElement;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
import "../../molecules/Input/input";
|
|
3
|
+
import "../../shared/icons/ui-icon";
|
|
4
|
+
import "../TreeMenu/tree-menu";
|
|
5
|
+
import "./leftmenu-item";
|
|
6
|
+
export declare class LeftMenu extends LitElement {
|
|
7
|
+
static styles: import("lit").CSSResult[];
|
|
8
|
+
open: boolean;
|
|
9
|
+
pinned: boolean;
|
|
10
|
+
closedWidth: number;
|
|
11
|
+
openWidth: number;
|
|
12
|
+
storageKey: string;
|
|
13
|
+
private _nodes;
|
|
14
|
+
private _expandedIds;
|
|
15
|
+
private _search;
|
|
16
|
+
private _searchExpandedIds;
|
|
17
|
+
private _hasCustomOpen;
|
|
18
|
+
private _hasCustomClosed;
|
|
19
|
+
private _isHydratingState;
|
|
20
|
+
connectedCallback(): void;
|
|
21
|
+
protected updated(changed: Map<string, unknown>): void;
|
|
22
|
+
private _loadPersistedState;
|
|
23
|
+
private _persistState;
|
|
24
|
+
private _onSlotChange;
|
|
25
|
+
private _onCustomOpenSlotChange;
|
|
26
|
+
private _onCustomClosedSlotChange;
|
|
27
|
+
private _mapItemElement;
|
|
28
|
+
private _setSearch;
|
|
29
|
+
private _handleSearchInput;
|
|
30
|
+
private _filterNodes;
|
|
31
|
+
private _toggleOpen;
|
|
32
|
+
private _togglePin;
|
|
33
|
+
private _toTreeItems;
|
|
34
|
+
private _effectiveExpandedIds;
|
|
35
|
+
private _handleTreeToggle;
|
|
36
|
+
private _handleTreeNodeClick;
|
|
37
|
+
private _handleTreeItemClick;
|
|
38
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
39
|
+
}
|
|
40
|
+
declare global {
|
|
41
|
+
interface HTMLElementTagNameMap {
|
|
42
|
+
"logosphere-leftmenu": LeftMenu;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./tree-menu";
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { LitElement, type TemplateResult } from "lit";
|
|
2
|
+
import "../../shared/icons/ui-icon";
|
|
3
|
+
export interface TreeMenuItem {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
active?: boolean;
|
|
8
|
+
iconName?: string;
|
|
9
|
+
iconHtml?: string | null;
|
|
10
|
+
children?: TreeMenuItem[];
|
|
11
|
+
onClick?: (item: TreeMenuItem) => void;
|
|
12
|
+
data?: unknown;
|
|
13
|
+
}
|
|
14
|
+
export declare class TreeMenu extends LitElement {
|
|
15
|
+
static styles: import("lit").CSSResult[];
|
|
16
|
+
items: TreeMenuItem[];
|
|
17
|
+
expandedIds: string[];
|
|
18
|
+
expandOnLabelClick: boolean;
|
|
19
|
+
chevronPosition: "left" | "right";
|
|
20
|
+
showLabels: boolean;
|
|
21
|
+
iconSize: number;
|
|
22
|
+
private _expandedSet;
|
|
23
|
+
protected willUpdate(changed: Map<string, unknown>): void;
|
|
24
|
+
private _isExpanded;
|
|
25
|
+
private _emitToggle;
|
|
26
|
+
private _emitItemClick;
|
|
27
|
+
private _emitNodeClick;
|
|
28
|
+
private _setExpanded;
|
|
29
|
+
private _toggle;
|
|
30
|
+
private _handleItemClick;
|
|
31
|
+
private _handleRowKeydown;
|
|
32
|
+
private _renderIcon;
|
|
33
|
+
private _renderChevron;
|
|
34
|
+
private _renderNode;
|
|
35
|
+
render(): TemplateResult<1>;
|
|
36
|
+
}
|
|
37
|
+
declare global {
|
|
38
|
+
interface HTMLElementTagNameMap {
|
|
39
|
+
"logosphere-tree-menu": TreeMenu;
|
|
40
|
+
}
|
|
41
|
+
}
|