@logosphere-ui/core 0.0.0-alpha.4 → 0.0.0-alpha.42

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.
Files changed (176) hide show
  1. package/AGENTS.md +1123 -0
  2. package/dist/AGENTS.md +1123 -0
  3. package/dist/atoms/Badge/badge.d.ts +1 -1
  4. package/dist/atoms/Button/button.d.ts +5 -3
  5. package/dist/atoms/Checkbox/checkbox.d.ts +2 -1
  6. package/dist/atoms/FormField/formfield.d.ts +10 -0
  7. package/dist/atoms/Slider/index.d.ts +1 -0
  8. package/dist/atoms/Slider/slider.d.ts +54 -0
  9. package/dist/badge-DsDxWEHx.js +72 -0
  10. package/dist/badge-DvaKpUHe.cjs +13 -0
  11. package/dist/badge.cjs +1 -1
  12. package/dist/badge.js +1 -1
  13. package/dist/{breadcrumb-B-4yqoJZ.js → breadcrumb-BB61Xt0s.js} +3 -3
  14. package/dist/breadcrumb.js +1 -1
  15. package/dist/button-DRZ4sG4T.cjs +10 -0
  16. package/dist/button-Uu9oaieg.js +58 -0
  17. package/dist/button.cjs +1 -1
  18. package/dist/button.js +1 -1
  19. package/dist/calendar-CIgyrv3U.cjs +88 -0
  20. package/dist/calendar-CZ_IN2TF.js +652 -0
  21. package/dist/calendar.cjs +1 -0
  22. package/dist/calendar.js +4 -0
  23. package/dist/card-BOCW7gad.cjs +43 -0
  24. package/dist/{card-CUhlTJyJ.js → card-MDwFGplY.js} +27 -26
  25. package/dist/card.cjs +1 -1
  26. package/dist/card.js +1 -1
  27. package/dist/chatbot-B-NiZIYK.cjs +183 -0
  28. package/dist/chatbot-CHgiUY4h.js +564 -0
  29. package/dist/chatbot.cjs +1 -1
  30. package/dist/chatbot.js +2 -2
  31. package/dist/checkbox-CX0LgsWP.js +148 -0
  32. package/dist/checkbox-DpbKHANK.cjs +53 -0
  33. package/dist/checkbox.cjs +1 -1
  34. package/dist/checkbox.js +1 -1
  35. package/dist/chip-group-BUL2H8rr.js +89 -0
  36. package/dist/chip-group-CpcjGoRm.cjs +26 -0
  37. package/dist/chip-group.cjs +1 -0
  38. package/dist/chip-group.js +4 -0
  39. package/dist/combobox-BmIFPk8X.cjs +113 -0
  40. package/dist/combobox-jak7Ac1m.js +437 -0
  41. package/dist/combobox.cjs +1 -1
  42. package/dist/combobox.js +1 -1
  43. package/dist/datepicker-BgysIOZI.js +375 -0
  44. package/dist/datepicker-DOBmbxlo.cjs +85 -0
  45. package/dist/datepicker.cjs +1 -1
  46. package/dist/datepicker.js +2 -2
  47. package/dist/{download-manager-A4fOxGWJ.js → download-manager-BPg-6Qfg.js} +4 -4
  48. package/dist/download-manager-DDeTYRPs.cjs +97 -0
  49. package/dist/download-manager.cjs +1 -1
  50. package/dist/download-manager.js +1 -1
  51. package/dist/drawer-3nyjAkcS.cjs +32 -0
  52. package/dist/drawer-CE9zzllI.js +114 -0
  53. package/dist/drawer.cjs +1 -0
  54. package/dist/drawer.js +4 -0
  55. package/dist/formfield-CRcyUMvQ.cjs +33 -0
  56. package/dist/formfield-O327HYt0.js +154 -0
  57. package/dist/formfield.cjs +1 -1
  58. package/dist/formfield.js +1 -1
  59. package/dist/index.cjs +291 -1
  60. package/dist/index.d.ts +14 -0
  61. package/dist/index.js +908 -32
  62. package/dist/index.umd.js +1544 -521
  63. package/dist/input-CQS0LzF-.cjs +59 -0
  64. package/dist/input-CeF3YJk-.js +257 -0
  65. package/dist/input.cjs +1 -1
  66. package/dist/input.js +1 -1
  67. package/dist/left-menu.cjs +1 -0
  68. package/dist/left-menu.js +5 -0
  69. package/dist/leftmenu-CmWvnA6L.js +301 -0
  70. package/dist/leftmenu-p9aR2QTy.cjs +83 -0
  71. package/dist/modal-DUIv_yoo.js +250 -0
  72. package/dist/modal-dUnnHe8u.cjs +84 -0
  73. package/dist/modal.cjs +1 -1
  74. package/dist/modal.js +1 -1
  75. package/dist/molecules/Accordion/accordion.d.ts +42 -0
  76. package/dist/molecules/Accordion/index.d.ts +2 -0
  77. package/dist/molecules/Chip/chip-group.d.ts +29 -0
  78. package/dist/molecules/Chip/index.d.ts +2 -0
  79. package/dist/molecules/Collapse/collapse.d.ts +42 -0
  80. package/dist/molecules/Collapse/index.d.ts +2 -0
  81. package/dist/molecules/Input/input.d.ts +7 -1
  82. package/dist/molecules/InputGroup/index.d.ts +1 -0
  83. package/dist/molecules/InputGroup/input-group.d.ts +40 -0
  84. package/dist/molecules/Pagination/index.d.ts +1 -0
  85. package/dist/molecules/Pagination/pagination.d.ts +60 -0
  86. package/dist/molecules/Popover/popover.d.ts +1 -0
  87. package/dist/molecules/SplitButton/index.d.ts +2 -0
  88. package/dist/molecules/SplitButton/split-button.d.ts +53 -0
  89. package/dist/molecules/Stepper/index.d.ts +2 -0
  90. package/dist/molecules/Stepper/stepper.d.ts +34 -0
  91. package/dist/molecules/Textarea/text-area.d.ts +5 -2
  92. package/dist/molecules/TimePicker/index.d.ts +2 -0
  93. package/dist/molecules/TimePicker/timepicker.d.ts +62 -0
  94. package/dist/organisms/Calendar/calendar.d.ts +54 -0
  95. package/dist/organisms/Calendar/index.d.ts +1 -0
  96. package/dist/organisms/Calendar/shared.d.ts +9 -0
  97. package/dist/organisms/Chatbot/chatbot.d.ts +10 -1
  98. package/dist/organisms/Chatbot/index.d.ts +1 -1
  99. package/dist/organisms/Combobox/combobox.d.ts +30 -0
  100. package/dist/organisms/DatePicker/datepicker.d.ts +33 -33
  101. package/dist/organisms/Drawer/drawer.d.ts +30 -0
  102. package/dist/organisms/Drawer/index.d.ts +1 -0
  103. package/dist/organisms/LeftMenu/index.d.ts +2 -0
  104. package/dist/organisms/LeftMenu/leftmenu-item.d.ts +14 -0
  105. package/dist/organisms/LeftMenu/leftmenu.d.ts +45 -0
  106. package/dist/organisms/Modal/modal.d.ts +29 -4
  107. package/dist/organisms/Tab/tab.d.ts +13 -1
  108. package/dist/organisms/Toast/index.d.ts +2 -0
  109. package/dist/organisms/Toast/toast-container.d.ts +42 -0
  110. package/dist/organisms/Toast/toast.d.ts +48 -0
  111. package/dist/organisms/TreeMenu/index.d.ts +1 -0
  112. package/dist/organisms/TreeMenu/tree-menu.d.ts +41 -0
  113. package/dist/pagination-B7jknoOz.js +360 -0
  114. package/dist/pagination-BkqbWBOn.cjs +169 -0
  115. package/dist/pagination.cjs +1 -0
  116. package/dist/pagination.js +4 -0
  117. package/dist/popover-CYDoeLKp.cjs +30 -0
  118. package/dist/{popover-B7tCqk3R.js → popover-DDaG8MSj.js} +21 -18
  119. package/dist/popover.cjs +1 -1
  120. package/dist/popover.js +1 -1
  121. package/dist/shared/types/button.types.d.ts +7 -0
  122. package/dist/styles/main.css +186 -182
  123. package/dist/switch-8RGGesy5.cjs +17 -0
  124. package/dist/switch-DNqPqH-R.js +64 -0
  125. package/dist/switch.cjs +1 -1
  126. package/dist/switch.js +1 -1
  127. package/dist/tab-CDMcFHvP.cjs +41 -0
  128. package/dist/tab-CuBCFGoO.js +204 -0
  129. package/dist/tab.cjs +1 -1
  130. package/dist/tab.js +1 -1
  131. package/dist/text-area-C73JxnqH.js +235 -0
  132. package/dist/text-area-Cprb-azV.cjs +51 -0
  133. package/dist/textarea.cjs +1 -1
  134. package/dist/textarea.js +1 -1
  135. package/dist/timepicker-CLJKWWGm.cjs +119 -0
  136. package/dist/timepicker-DMzGYd0p.js +316 -0
  137. package/dist/timepicker.cjs +1 -0
  138. package/dist/timepicker.js +4 -0
  139. package/dist/toast-container-6t6yEP9Y.cjs +64 -0
  140. package/dist/toast-container-B5v74b_5.js +274 -0
  141. package/dist/toast.cjs +1 -0
  142. package/dist/toast.js +6 -0
  143. package/dist/tree-menu-CkOPxr-W.js +154 -0
  144. package/dist/tree-menu-WNwZMreD.cjs +47 -0
  145. package/dist/tree-menu.cjs +1 -0
  146. package/dist/tree-menu.js +4 -0
  147. package/dist/ui-icon-BMJNdIOq.js +71 -0
  148. package/dist/ui-icon-DIucAQC_.cjs +22 -0
  149. package/package.json +99 -12
  150. package/dist/badge-BbhaO73N.cjs +0 -13
  151. package/dist/badge-DE7Tgd8Z.js +0 -71
  152. package/dist/button-C1EwOosO.js +0 -58
  153. package/dist/button-CDRccsk9.cjs +0 -10
  154. package/dist/card-n8ka8Zk-.cjs +0 -43
  155. package/dist/chatbot-Da_itUdJ.cjs +0 -160
  156. package/dist/chatbot-zkxngMRH.js +0 -481
  157. package/dist/checkbox-7Rb3WKGx.js +0 -119
  158. package/dist/checkbox-CdDTRdKV.cjs +0 -37
  159. package/dist/combobox-BJbI-Tgi.js +0 -268
  160. package/dist/combobox-pmE7bgEL.cjs +0 -99
  161. package/dist/datepicker-DFJx45C-.js +0 -750
  162. package/dist/datepicker-b9JGTTMx.cjs +0 -115
  163. package/dist/download-manager-BSIMTGaK.cjs +0 -97
  164. package/dist/formfield-D_7NFFoe.cjs +0 -27
  165. package/dist/formfield-d8fp9FTV.js +0 -118
  166. package/dist/input-BcnI1w3_.cjs +0 -46
  167. package/dist/input-Bj_7u8Iv.js +0 -192
  168. package/dist/modal-Bfc6WQSL.js +0 -110
  169. package/dist/modal-DQ8VFL-P.cjs +0 -39
  170. package/dist/popover-C2p5Pmts.cjs +0 -30
  171. package/dist/switch-Cpl53nRW.js +0 -64
  172. package/dist/switch-Rnnn10bn.cjs +0 -17
  173. package/dist/tab-BKdN4xAz.js +0 -176
  174. package/dist/tab-DcjAlXzU.cjs +0 -40
  175. package/dist/text-area-BkHdLnZj.cjs +0 -44
  176. package/dist/text-area-CC24lj8v.js +0 -204
@@ -0,0 +1,59 @@
1
+ "use strict";const n=require("lit"),r=require("lit/decorators.js"),y=require("lit/directives/live.js");require("./formfield-CRcyUMvQ.cjs");require("./ui-icon-DIucAQC_.cjs");const c=".input__field{width:100%;background:transparent;border:none;outline:none;font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-body-text);box-sizing:border-box;line-height:1.5}.input__field::placeholder{color:var(--color-tertiary)}.input__field:disabled{cursor:not-allowed}.input__field--default{height:16px}.input__field--large{height:24px}.input__clear-btn{border:none;background:transparent;color:var(--color-gray-400);cursor:pointer;padding:0;display:inline-flex;align-items:center;outline:none;flex-shrink:0;transition:color var(--transition-speed-fast) var(--transition-timing)}.input__clear-btn:hover{color:var(--color-gray-600)}";var g=Object.defineProperty,m=Object.getOwnPropertyDescriptor,o=(p,e,t,s)=>{for(var i=s>1?void 0:s?m(e,t):e,l=p.length-1,a;l>=0;l--)(a=p[l])&&(i=(s?a(e,t,i):a(i))||i);return s&&i&&g(e,t,i),i};const d={0:/\d/,a:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/};function h(p){return p.split("").filter(e=>/[a-zA-Z0-9]/.test(e)).join("")}function f(p,e){let t=0,s="";for(let i=0;i<e.length&&!(t>=p.length);i++){const l=e[i],a=d[l];if(a){for(;t<p.length&&!a.test(p[t]);)t++;t<p.length&&(s+=p[t++])}else s+=l}return s}function v(p,e,t){let s=0;for(let i=0;i<p.length;i++)if(d[e[i]]&&(s++,s===t))return i+1;return p.length}exports.LogosphereInput=class extends n.LitElement{constructor(){super(...arguments),this.value="",this.type="text",this.placeholder="",this.name="",this.autocomplete="",this.pattern="",this.size="default",this.variant="default",this.label="",this.helper="",this.error="",this.required=!1,this.disabled=!1,this.readonly=!1,this.mask="",this._internalError="",this._showPassword=!1,this.handleInput=e=>{const t=e.target;if(this.mask){const s=t.selectionStart??t.value.length,i=h(t.value.slice(0,s)).length,l=h(t.value),a=f(l,this.mask);t.value=a,this.value=a;const u=v(a,this.mask,i);requestAnimationFrame(()=>t.setSelectionRange(u,u))}else this.value=t.value;this._internalError&&(this._internalError="",this._inputElement.setCustomValidity("")),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value,rawValue:this.mask?h(this.value):this.value,originalEvent:e}}))},this.handleChange=e=>{const t=e.target;this.value=t.value,t.checkValidity()||(this._internalError=t.validationMessage),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value,originalEvent:e}}))},this.handleKeyDown=e=>{this.dispatchEvent(new CustomEvent("keydown",{bubbles:!0,composed:!0,detail:{key:e.key,originalEvent:e}}))},this.handleKeyUp=e=>{this.dispatchEvent(new CustomEvent("keyup",{bubbles:!0,composed:!0,detail:{key:e.key,originalEvent:e}}))},this.handleClear=()=>{this.value="",this._inputElement&&(this._inputElement.value=""),this.dispatchEvent(new CustomEvent("clear",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:"",originalEvent:null}}))},this.handlePasswordToggle=()=>{this.disabled||(this._showPassword=!this._showPassword,this._inputElement?.focus())}}get inputElement(){return this._inputElement}focus(){this._inputElement?.focus()}blur(){this._inputElement?.blur()}select(){this._inputElement?.select()}setSelectionRange(e,t,s){this._inputElement?.setSelectionRange(e,t,s)}checkValidity(){return this._inputElement?.checkValidity()??!0}reportValidity(){return this._inputElement?.reportValidity()??!0}setCustomValidity(e){this._inputElement?.setCustomValidity(e),this._internalError=e,this.requestUpdate()}willUpdate(e){e.has("type")&&this.type!=="password"&&this._showPassword&&(this._showPassword=!1)}get _effectivePlaceholder(){return this.placeholder?this.placeholder:this.mask?this.mask.replace(/[0a*]/g,"_"):""}render(){const e=this.error||this._internalError,t=!!this.value&&!this.disabled&&!this.readonly,s=this.type==="password",i=s&&this._showPassword?"text":this.type,l=`input__field input__field--${this.size}`;return n.html`
2
+ <logosphere-formfield
3
+ .label=${this.label}
4
+ .helper=${this.helper}
5
+ .error=${e}
6
+ .required=${this.required}
7
+ .disabled=${this.disabled}
8
+ .readonly=${this.readonly}
9
+ .placeholder=${this._effectivePlaceholder}
10
+ .size=${this.size}
11
+ .variant=${this.variant}
12
+ >
13
+ <slot name="prefix" slot="prefix"></slot>
14
+ <input
15
+ class="${l}"
16
+ type=${i}
17
+ .value=${y.live(this.value)}
18
+ placeholder=${this._effectivePlaceholder||n.nothing}
19
+ name=${this.name||n.nothing}
20
+ autocomplete=${this.autocomplete||n.nothing}
21
+ ?required=${this.required}
22
+ ?disabled=${this.disabled}
23
+ ?readonly=${this.readonly}
24
+ minlength=${this.minlength??n.nothing}
25
+ maxlength=${this.maxlength??n.nothing}
26
+ pattern=${this.pattern||n.nothing}
27
+ min=${this.min??n.nothing}
28
+ max=${this.max??n.nothing}
29
+ step=${this.step??n.nothing}
30
+ @input=${this.handleInput}
31
+ @change=${this.handleChange}
32
+ @keydown=${this.handleKeyDown}
33
+ @keyup=${this.handleKeyUp}
34
+ />
35
+ ${t?n.html`
36
+ <button
37
+ type="button"
38
+ slot="clear"
39
+ class="input__clear-btn"
40
+ @click=${this.handleClear}
41
+ tabindex="-1"
42
+ >
43
+ <ui-icon name="uil-times" size="14"></ui-icon>
44
+ </button>
45
+ `:n.nothing}
46
+ ${s?n.html`
47
+ <button
48
+ type="button"
49
+ slot="suffix"
50
+ class="input__clear-btn"
51
+ aria-label=${this._showPassword?"Şifreyi gizle":"Şifreyi göster"}
52
+ @click=${this.handlePasswordToggle}
53
+ >
54
+ <ui-icon name=${this._showPassword?"uil-eye-slash":"uil-eye"} size="16"></ui-icon>
55
+ </button>
56
+ `:n.nothing}
57
+ <slot name="suffix" slot="suffix"></slot>
58
+ </logosphere-formfield>
59
+ `}};exports.LogosphereInput.styles=[n.css`${n.unsafeCSS(c)}`];o([r.query("input")],exports.LogosphereInput.prototype,"_inputElement",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"value",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"type",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"placeholder",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"name",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"autocomplete",2);o([r.property({type:Number})],exports.LogosphereInput.prototype,"minlength",2);o([r.property({type:Number})],exports.LogosphereInput.prototype,"maxlength",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"pattern",2);o([r.property({type:Number})],exports.LogosphereInput.prototype,"min",2);o([r.property({type:Number})],exports.LogosphereInput.prototype,"max",2);o([r.property({type:Number})],exports.LogosphereInput.prototype,"step",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"size",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"variant",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"label",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"helper",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"error",2);o([r.property({type:Boolean})],exports.LogosphereInput.prototype,"required",2);o([r.property({type:Boolean})],exports.LogosphereInput.prototype,"disabled",2);o([r.property({type:Boolean})],exports.LogosphereInput.prototype,"readonly",2);o([r.property({type:String})],exports.LogosphereInput.prototype,"mask",2);o([r.state()],exports.LogosphereInput.prototype,"_internalError",2);o([r.state()],exports.LogosphereInput.prototype,"_showPassword",2);exports.LogosphereInput=o([r.customElement("logosphere-input")],exports.LogosphereInput);
@@ -0,0 +1,257 @@
1
+ import { unsafeCSS as m, css as f, LitElement as g, nothing as a, html as u } from "lit";
2
+ import { query as v, property as n, state as c, customElement as b } from "lit/decorators.js";
3
+ import { live as _ } from "lit/directives/live.js";
4
+ import "./formfield-O327HYt0.js";
5
+ import "./ui-icon-BMJNdIOq.js";
6
+ const E = ".input__field{width:100%;background:transparent;border:none;outline:none;font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-body-text);box-sizing:border-box;line-height:1.5}.input__field::placeholder{color:var(--color-tertiary)}.input__field:disabled{cursor:not-allowed}.input__field--default{height:16px}.input__field--large{height:24px}.input__clear-btn{border:none;background:transparent;color:var(--color-gray-400);cursor:pointer;padding:0;display:inline-flex;align-items:center;outline:none;flex-shrink:0;transition:color var(--transition-speed-fast) var(--transition-timing)}.input__clear-btn:hover{color:var(--color-gray-600)}";
7
+ var w = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, s = (t, e, o, l) => {
8
+ for (var r = l > 1 ? void 0 : l ? $(e, o) : e, p = t.length - 1, h; p >= 0; p--)
9
+ (h = t[p]) && (r = (l ? h(e, o, r) : h(r)) || r);
10
+ return l && r && w(e, o, r), r;
11
+ };
12
+ const y = {
13
+ 0: /\d/,
14
+ a: /[a-zA-Z]/,
15
+ "*": /[a-zA-Z0-9]/
16
+ };
17
+ function d(t) {
18
+ return t.split("").filter((e) => /[a-zA-Z0-9]/.test(e)).join("");
19
+ }
20
+ function k(t, e) {
21
+ let o = 0, l = "";
22
+ for (let r = 0; r < e.length && !(o >= t.length); r++) {
23
+ const p = e[r], h = y[p];
24
+ if (h) {
25
+ for (; o < t.length && !h.test(t[o]); ) o++;
26
+ o < t.length && (l += t[o++]);
27
+ } else
28
+ l += p;
29
+ }
30
+ return l;
31
+ }
32
+ function x(t, e, o) {
33
+ let l = 0;
34
+ for (let r = 0; r < t.length; r++)
35
+ if (y[e[r]] && (l++, l === o))
36
+ return r + 1;
37
+ return t.length;
38
+ }
39
+ let i = class extends g {
40
+ constructor() {
41
+ super(...arguments), this.value = "", this.type = "text", this.placeholder = "", this.name = "", this.autocomplete = "", this.pattern = "", this.size = "default", this.variant = "default", this.label = "", this.helper = "", this.error = "", this.required = !1, this.disabled = !1, this.readonly = !1, this.mask = "", this._internalError = "", this._showPassword = !1, this.handleInput = (t) => {
42
+ const e = t.target;
43
+ if (this.mask) {
44
+ const o = e.selectionStart ?? e.value.length, l = d(e.value.slice(0, o)).length, r = d(e.value), p = k(r, this.mask);
45
+ e.value = p, this.value = p;
46
+ const h = x(p, this.mask, l);
47
+ requestAnimationFrame(() => e.setSelectionRange(h, h));
48
+ } else
49
+ this.value = e.value;
50
+ this._internalError && (this._internalError = "", this._inputElement.setCustomValidity("")), this.dispatchEvent(new CustomEvent("input", {
51
+ bubbles: !0,
52
+ composed: !0,
53
+ detail: {
54
+ value: this.value,
55
+ rawValue: this.mask ? d(this.value) : this.value,
56
+ originalEvent: t
57
+ }
58
+ }));
59
+ }, this.handleChange = (t) => {
60
+ const e = t.target;
61
+ this.value = e.value, e.checkValidity() || (this._internalError = e.validationMessage), this.dispatchEvent(new CustomEvent("change", {
62
+ bubbles: !0,
63
+ composed: !0,
64
+ detail: { value: this.value, originalEvent: t }
65
+ }));
66
+ }, this.handleKeyDown = (t) => {
67
+ this.dispatchEvent(new CustomEvent("keydown", {
68
+ bubbles: !0,
69
+ composed: !0,
70
+ detail: { key: t.key, originalEvent: t }
71
+ }));
72
+ }, this.handleKeyUp = (t) => {
73
+ this.dispatchEvent(new CustomEvent("keyup", {
74
+ bubbles: !0,
75
+ composed: !0,
76
+ detail: { key: t.key, originalEvent: t }
77
+ }));
78
+ }, this.handleClear = () => {
79
+ this.value = "", this._inputElement && (this._inputElement.value = ""), this.dispatchEvent(new CustomEvent("clear", { bubbles: !0, composed: !0 })), this.dispatchEvent(new CustomEvent("input", {
80
+ bubbles: !0,
81
+ composed: !0,
82
+ detail: { value: "", originalEvent: null }
83
+ }));
84
+ }, this.handlePasswordToggle = () => {
85
+ this.disabled || (this._showPassword = !this._showPassword, this._inputElement?.focus());
86
+ };
87
+ }
88
+ get inputElement() {
89
+ return this._inputElement;
90
+ }
91
+ focus() {
92
+ this._inputElement?.focus();
93
+ }
94
+ blur() {
95
+ this._inputElement?.blur();
96
+ }
97
+ select() {
98
+ this._inputElement?.select();
99
+ }
100
+ setSelectionRange(t, e, o) {
101
+ this._inputElement?.setSelectionRange(t, e, o);
102
+ }
103
+ checkValidity() {
104
+ return this._inputElement?.checkValidity() ?? !0;
105
+ }
106
+ reportValidity() {
107
+ return this._inputElement?.reportValidity() ?? !0;
108
+ }
109
+ setCustomValidity(t) {
110
+ this._inputElement?.setCustomValidity(t), this._internalError = t, this.requestUpdate();
111
+ }
112
+ willUpdate(t) {
113
+ t.has("type") && this.type !== "password" && this._showPassword && (this._showPassword = !1);
114
+ }
115
+ /** Mask varsa ve placeholder verilmemişse mask pattern'ını placeholder olarak göster */
116
+ get _effectivePlaceholder() {
117
+ return this.placeholder ? this.placeholder : this.mask ? this.mask.replace(/[0a*]/g, "_") : "";
118
+ }
119
+ render() {
120
+ const t = this.error || this._internalError, e = !!this.value && !this.disabled && !this.readonly, o = this.type === "password", l = o && this._showPassword ? "text" : this.type, r = `input__field input__field--${this.size}`;
121
+ return u`
122
+ <logosphere-formfield
123
+ .label=${this.label}
124
+ .helper=${this.helper}
125
+ .error=${t}
126
+ .required=${this.required}
127
+ .disabled=${this.disabled}
128
+ .readonly=${this.readonly}
129
+ .placeholder=${this._effectivePlaceholder}
130
+ .size=${this.size}
131
+ .variant=${this.variant}
132
+ >
133
+ <slot name="prefix" slot="prefix"></slot>
134
+ <input
135
+ class="${r}"
136
+ type=${l}
137
+ .value=${_(this.value)}
138
+ placeholder=${this._effectivePlaceholder || a}
139
+ name=${this.name || a}
140
+ autocomplete=${this.autocomplete || a}
141
+ ?required=${this.required}
142
+ ?disabled=${this.disabled}
143
+ ?readonly=${this.readonly}
144
+ minlength=${this.minlength ?? a}
145
+ maxlength=${this.maxlength ?? a}
146
+ pattern=${this.pattern || a}
147
+ min=${this.min ?? a}
148
+ max=${this.max ?? a}
149
+ step=${this.step ?? a}
150
+ @input=${this.handleInput}
151
+ @change=${this.handleChange}
152
+ @keydown=${this.handleKeyDown}
153
+ @keyup=${this.handleKeyUp}
154
+ />
155
+ ${e ? u`
156
+ <button
157
+ type="button"
158
+ slot="clear"
159
+ class="input__clear-btn"
160
+ @click=${this.handleClear}
161
+ tabindex="-1"
162
+ >
163
+ <ui-icon name="uil-times" size="14"></ui-icon>
164
+ </button>
165
+ ` : a}
166
+ ${o ? u`
167
+ <button
168
+ type="button"
169
+ slot="suffix"
170
+ class="input__clear-btn"
171
+ aria-label=${this._showPassword ? "Şifreyi gizle" : "Şifreyi göster"}
172
+ @click=${this.handlePasswordToggle}
173
+ >
174
+ <ui-icon name=${this._showPassword ? "uil-eye-slash" : "uil-eye"} size="16"></ui-icon>
175
+ </button>
176
+ ` : a}
177
+ <slot name="suffix" slot="suffix"></slot>
178
+ </logosphere-formfield>
179
+ `;
180
+ }
181
+ };
182
+ i.styles = [f`${m(E)}`];
183
+ s([
184
+ v("input")
185
+ ], i.prototype, "_inputElement", 2);
186
+ s([
187
+ n({ type: String })
188
+ ], i.prototype, "value", 2);
189
+ s([
190
+ n({ type: String })
191
+ ], i.prototype, "type", 2);
192
+ s([
193
+ n({ type: String })
194
+ ], i.prototype, "placeholder", 2);
195
+ s([
196
+ n({ type: String })
197
+ ], i.prototype, "name", 2);
198
+ s([
199
+ n({ type: String })
200
+ ], i.prototype, "autocomplete", 2);
201
+ s([
202
+ n({ type: Number })
203
+ ], i.prototype, "minlength", 2);
204
+ s([
205
+ n({ type: Number })
206
+ ], i.prototype, "maxlength", 2);
207
+ s([
208
+ n({ type: String })
209
+ ], i.prototype, "pattern", 2);
210
+ s([
211
+ n({ type: Number })
212
+ ], i.prototype, "min", 2);
213
+ s([
214
+ n({ type: Number })
215
+ ], i.prototype, "max", 2);
216
+ s([
217
+ n({ type: Number })
218
+ ], i.prototype, "step", 2);
219
+ s([
220
+ n({ type: String })
221
+ ], i.prototype, "size", 2);
222
+ s([
223
+ n({ type: String })
224
+ ], i.prototype, "variant", 2);
225
+ s([
226
+ n({ type: String })
227
+ ], i.prototype, "label", 2);
228
+ s([
229
+ n({ type: String })
230
+ ], i.prototype, "helper", 2);
231
+ s([
232
+ n({ type: String })
233
+ ], i.prototype, "error", 2);
234
+ s([
235
+ n({ type: Boolean })
236
+ ], i.prototype, "required", 2);
237
+ s([
238
+ n({ type: Boolean })
239
+ ], i.prototype, "disabled", 2);
240
+ s([
241
+ n({ type: Boolean })
242
+ ], i.prototype, "readonly", 2);
243
+ s([
244
+ n({ type: String })
245
+ ], i.prototype, "mask", 2);
246
+ s([
247
+ c()
248
+ ], i.prototype, "_internalError", 2);
249
+ s([
250
+ c()
251
+ ], i.prototype, "_showPassword", 2);
252
+ i = s([
253
+ b("logosphere-input")
254
+ ], i);
255
+ export {
256
+ i as L
257
+ };
package/dist/input.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./input-BcnI1w3_.cjs");Object.defineProperty(exports,"LogosphereInput",{enumerable:!0,get:()=>e.LogosphereInput});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./input-CQS0LzF-.cjs");Object.defineProperty(exports,"LogosphereInput",{enumerable:!0,get:()=>e.LogosphereInput});
package/dist/input.js CHANGED
@@ -1,4 +1,4 @@
1
- import { L as p } from "./input-Bj_7u8Iv.js";
1
+ import { L as p } from "./input-CeF3YJk-.js";
2
2
  export {
3
3
  p as LogosphereInput
4
4
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./leftmenu-p9aR2QTy.cjs");Object.defineProperty(exports,"LeftMenu",{enumerable:!0,get:()=>e.LeftMenu});Object.defineProperty(exports,"LeftMenuItemElement",{enumerable:!0,get:()=>e.LeftMenuItemElement});
@@ -0,0 +1,5 @@
1
+ import { L as a, a as f } from "./leftmenu-CmWvnA6L.js";
2
+ export {
3
+ a as LeftMenu,
4
+ f as LeftMenuItemElement
5
+ };
@@ -0,0 +1,301 @@
1
+ import { LitElement as u, html as p, unsafeCSS as v, css as b, nothing as y } from "lit";
2
+ import { property as c, customElement as g, state as m } from "lit/decorators.js";
3
+ import "./button-Uu9oaieg.js";
4
+ import "./input-CeF3YJk-.js";
5
+ import "./ui-icon-BMJNdIOq.js";
6
+ import "./tree-menu-CkOPxr-W.js";
7
+ var w = Object.defineProperty, x = Object.getOwnPropertyDescriptor, _ = (e, t, i, s) => {
8
+ for (var o = s > 1 ? void 0 : s ? x(t, i) : t, n = e.length - 1, r; n >= 0; n--)
9
+ (r = e[n]) && (o = (s ? r(t, i, o) : r(o)) || o);
10
+ return s && o && w(t, i, o), o;
11
+ };
12
+ let h = class extends u {
13
+ constructor() {
14
+ super(...arguments), this.itemId = "", this.label = "", this.disabled = !1, this.active = !1;
15
+ }
16
+ render() {
17
+ return p`<slot></slot>`;
18
+ }
19
+ };
20
+ _([
21
+ c({ type: String })
22
+ ], h.prototype, "itemId", 2);
23
+ _([
24
+ c({ type: String })
25
+ ], h.prototype, "label", 2);
26
+ _([
27
+ c({ type: Boolean })
28
+ ], h.prototype, "disabled", 2);
29
+ _([
30
+ c({ type: Boolean })
31
+ ], h.prototype, "active", 2);
32
+ _([
33
+ c({ attribute: !1 })
34
+ ], h.prototype, "onClick", 2);
35
+ h = _([
36
+ g("leftmenu-item")
37
+ ], h);
38
+ 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:center;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-color)}.lm__ctrl:hover{background:var(--color-tertiary)}.lm__pin-icon--inactive{color:var(--color-tertiary)}.lm__pin-icon--active{color:var(--color-body-color)}.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%}';
39
+ var I = Object.defineProperty, S = Object.getOwnPropertyDescriptor, d = (e, t, i, s) => {
40
+ for (var o = s > 1 ? void 0 : s ? S(t, i) : t, n = e.length - 1, r; n >= 0; n--)
41
+ (r = e[n]) && (o = (s ? r(t, i, o) : r(o)) || o);
42
+ return s && o && I(t, i, o), o;
43
+ };
44
+ let l = class extends u {
45
+ constructor() {
46
+ 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) => {
47
+ const i = e.target.assignedElements({ flatten: !0 }).filter((s) => s.tagName === "LEFTMENU-ITEM");
48
+ this._nodes = i.map((s, o) => this._mapItemElement(s, `root-${o}`));
49
+ }, this._onCustomOpenSlotChange = (e) => {
50
+ const t = e.target;
51
+ this._hasCustomOpen = t.assignedElements({ flatten: !0 }).length > 0;
52
+ }, this._onCustomClosedSlotChange = (e) => {
53
+ const t = e.target;
54
+ this._hasCustomClosed = t.assignedElements({ flatten: !0 }).length > 0;
55
+ }, this._handleSearchInput = (e) => {
56
+ const i = e.detail?.value;
57
+ typeof i == "string" && this._setSearch(i);
58
+ }, this._toggleOpen = () => {
59
+ this.open = !this.open;
60
+ }, this._togglePin = () => {
61
+ this.pinned = !this.pinned, this.dispatchEvent(
62
+ new CustomEvent("pin-change", {
63
+ detail: { pinned: this.pinned },
64
+ bubbles: !0,
65
+ composed: !0
66
+ })
67
+ );
68
+ }, this._handleTreeToggle = (e) => {
69
+ e.stopPropagation();
70
+ const { item: t, expanded: i } = e.detail;
71
+ i ? this._expandedIds.add(t.id) : this._expandedIds.delete(t.id), this._expandedIds = new Set(this._expandedIds);
72
+ }, this._handleTreeNodeClick = (e) => {
73
+ this.open || !e.detail.hasChildren || (this.open = !0, this._expandedIds.add(e.detail.item.id), this._expandedIds = new Set(this._expandedIds));
74
+ }, this._handleTreeItemClick = (e) => {
75
+ e.stopPropagation();
76
+ const t = e.detail.item.data;
77
+ this.dispatchEvent(
78
+ new CustomEvent("item-click", {
79
+ detail: { item: t ?? e.detail.item },
80
+ bubbles: !0,
81
+ composed: !0
82
+ })
83
+ );
84
+ };
85
+ }
86
+ connectedCallback() {
87
+ super.connectedCallback(), this._loadPersistedState();
88
+ }
89
+ updated(e) {
90
+ this._isHydratingState || (e.has("open") || e.has("pinned")) && this._persistState();
91
+ }
92
+ _loadPersistedState() {
93
+ if (!(typeof window > "u"))
94
+ try {
95
+ const e = window.localStorage.getItem(this.storageKey);
96
+ if (!e) return;
97
+ const t = JSON.parse(e);
98
+ this._isHydratingState = !0, typeof t.open == "boolean" && (this.open = t.open), typeof t.pinned == "boolean" && (this.pinned = t.pinned), this._isHydratingState = !1;
99
+ } catch {
100
+ this._isHydratingState = !1;
101
+ }
102
+ }
103
+ _persistState() {
104
+ if (!(typeof window > "u"))
105
+ try {
106
+ window.localStorage.setItem(
107
+ this.storageKey,
108
+ JSON.stringify({
109
+ open: this.open,
110
+ pinned: this.pinned
111
+ })
112
+ );
113
+ } catch {
114
+ }
115
+ }
116
+ _mapItemElement(e, t) {
117
+ 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(
118
+ (a) => a.tagName === "LEFTMENU-ITEM" && a.getAttribute("slot") === "children"
119
+ ), r = Array.from(e.childNodes).filter((a) => a.nodeType === Node.TEXT_NODE).map((a) => a.textContent ?? "").join(" ").replace(/\s+/g, " ").trim();
120
+ return {
121
+ id: i,
122
+ label: (e.label || r || i).trim(),
123
+ disabled: e.disabled,
124
+ active: e.active,
125
+ iconName: o?.getAttribute("name") ?? null,
126
+ iconHtml: s ? s.innerHTML : null,
127
+ onClick: e.onClick ? () => e.onClick?.(e) : void 0,
128
+ children: n.map((a, f) => this._mapItemElement(a, `${i}-${f}`))
129
+ };
130
+ }
131
+ _setSearch(e) {
132
+ if (this._search = e, !e) {
133
+ this._searchExpandedIds = /* @__PURE__ */ new Set();
134
+ return;
135
+ }
136
+ const t = /* @__PURE__ */ new Set(), i = (s) => {
137
+ let o = !1;
138
+ return s.forEach((n) => {
139
+ const r = n.label.toLocaleLowerCase().includes(e.toLocaleLowerCase()), a = i(n.children);
140
+ a && t.add(n.id), r && n.children.length && t.add(n.id), o = o || r || a;
141
+ }), o;
142
+ };
143
+ i(this._nodes), this._searchExpandedIds = t;
144
+ }
145
+ _filterNodes(e, t) {
146
+ if (!t) return e;
147
+ const i = t.toLocaleLowerCase(), s = (o) => {
148
+ const n = o.children.map(s).filter(Boolean);
149
+ return !o.label.toLocaleLowerCase().includes(i) && n.length === 0 ? null : { ...o, children: n };
150
+ };
151
+ return e.map(s).filter(Boolean);
152
+ }
153
+ _toTreeItems(e) {
154
+ return e.map((t) => ({
155
+ id: t.id,
156
+ label: t.label,
157
+ disabled: t.disabled,
158
+ active: t.active,
159
+ iconName: t.iconName ?? void 0,
160
+ iconHtml: t.iconHtml,
161
+ onClick: t.onClick ? () => {
162
+ t.onClick?.(t);
163
+ } : void 0,
164
+ data: t,
165
+ children: this._toTreeItems(t.children)
166
+ }));
167
+ }
168
+ _effectiveExpandedIds() {
169
+ const e = new Set(this._expandedIds);
170
+ return this._search && this._searchExpandedIds.forEach((t) => e.add(t)), Array.from(e);
171
+ }
172
+ render() {
173
+ const e = this._filterNodes(this._nodes, this._search), t = this._toTreeItems(e), i = this.pinned ? this.open ? this.openWidth : this.closedWidth : this.closedWidth;
174
+ return p`
175
+ <aside
176
+ class="lm ${this.open ? "lm--open" : "lm--closed"} ${this.pinned ? "lm--pinned" : "lm--overlay"}"
177
+ style=${`--lm-open-width:${this.openWidth}px; --lm-closed-width:${this.closedWidth}px; width:${i}px;`}
178
+ >
179
+ <slot @slotchange=${this._onSlotChange}></slot>
180
+
181
+ <div class="lm__panel">
182
+ <div class="lm__brand">
183
+ ${this.open ? p`<slot name="logo-open"></slot>` : p`<slot name="logo-closed"></slot>`}
184
+ </div>
185
+
186
+ ${this.open ? p`
187
+ <div class="lm__search">
188
+ <logosphere-input
189
+ placeholder="Arayın..."
190
+ .value=${this._search}
191
+ @input=${this._handleSearchInput}
192
+ >
193
+ <ui-icon slot="prefix" name="uil-search" size="16"></ui-icon>
194
+ </logosphere-input>
195
+ </div>
196
+ ` : y}
197
+
198
+ <nav class="lm__nav">
199
+ <logosphere-tree-menu
200
+ .items=${t}
201
+ .expandedIds=${this._effectiveExpandedIds()}
202
+ .expandOnLabelClick=${this.open}
203
+ chevronPosition="right"
204
+ .showLabels=${this.open}
205
+ .iconSize=${this.open ? 16 : 20}
206
+ @toggle=${this._handleTreeToggle}
207
+ @node-click=${this._handleTreeNodeClick}
208
+ @item-click=${this._handleTreeItemClick}
209
+ ></logosphere-tree-menu>
210
+
211
+ ${this.open ? p`
212
+ <div class="lm__custom ${this._hasCustomOpen ? "" : "lm__custom--hidden"}">
213
+ <slot name="custom-open" @slotchange=${this._onCustomOpenSlotChange}></slot>
214
+ </div>
215
+ ` : p`
216
+ <div class="lm__custom ${this._hasCustomClosed ? "" : "lm__custom--hidden"}">
217
+ <slot name="custom-closed" @slotchange=${this._onCustomClosedSlotChange}></slot>
218
+ </div>
219
+ `}
220
+ </nav>
221
+
222
+ <div class="lm__footer">
223
+ <logosphere-button
224
+ variant="outline"
225
+ theme="secondary"
226
+ size="md"
227
+ iconOnly
228
+ @click=${this._toggleOpen}
229
+ aria-label="Toggle Menu"
230
+ >
231
+ <ui-icon
232
+ class="lm__toggle-icon ${this.open ? "lm__toggle-icon--open" : ""}"
233
+ name="uil-left-arrow-to-left"
234
+ size="16"
235
+ ></ui-icon>
236
+ </logosphere-button>
237
+ <logosphere-button
238
+ variant="outline"
239
+ theme="secondary"
240
+ size="md"
241
+ iconOnly
242
+ @click=${this._togglePin}
243
+ aria-label="Pin Menu"
244
+ >
245
+ <ui-icon
246
+ class=${this.pinned ? "lm__pin-icon--active" : "lm__pin-icon--inactive"}
247
+ name="uil-pin"
248
+ size="16"
249
+ ></ui-icon>
250
+ </logosphere-button>
251
+ </div>
252
+ </div>
253
+ </aside>
254
+ `;
255
+ }
256
+ };
257
+ l.styles = [
258
+ b`
259
+ ${v(C)}
260
+ `
261
+ ];
262
+ d([
263
+ c({ type: Boolean, reflect: !0 })
264
+ ], l.prototype, "open", 2);
265
+ d([
266
+ c({ type: Boolean, reflect: !0 })
267
+ ], l.prototype, "pinned", 2);
268
+ d([
269
+ c({ type: Number })
270
+ ], l.prototype, "closedWidth", 2);
271
+ d([
272
+ c({ type: Number })
273
+ ], l.prototype, "openWidth", 2);
274
+ d([
275
+ c({ type: String })
276
+ ], l.prototype, "storageKey", 2);
277
+ d([
278
+ m()
279
+ ], l.prototype, "_nodes", 2);
280
+ d([
281
+ m()
282
+ ], l.prototype, "_expandedIds", 2);
283
+ d([
284
+ m()
285
+ ], l.prototype, "_search", 2);
286
+ d([
287
+ m()
288
+ ], l.prototype, "_searchExpandedIds", 2);
289
+ d([
290
+ m()
291
+ ], l.prototype, "_hasCustomOpen", 2);
292
+ d([
293
+ m()
294
+ ], l.prototype, "_hasCustomClosed", 2);
295
+ l = d([
296
+ g("logosphere-leftmenu")
297
+ ], l);
298
+ export {
299
+ l as L,
300
+ h as a
301
+ };