@logosphere-ui/core 0.0.0-alpha.2 → 0.0.0-alpha.20

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 (108) hide show
  1. package/dist/atoms/FormField/formfield.d.ts +7 -0
  2. package/dist/badge-7IIatiRv.cjs +13 -0
  3. package/dist/{badge-DE7Tgd8Z.js → badge-B2chRYGd.js} +5 -4
  4. package/dist/badge.cjs +1 -1
  5. package/dist/badge.js +1 -1
  6. package/dist/{breadcrumb-B-4yqoJZ.js → breadcrumb-BB61Xt0s.js} +3 -3
  7. package/dist/breadcrumb.js +1 -1
  8. package/dist/{button-C1EwOosO.js → button-BqOMevro.js} +4 -4
  9. package/dist/button.js +1 -1
  10. package/dist/calendar-LMn1ZF3N.cjs +88 -0
  11. package/dist/calendar-WZ_GQvnn.js +652 -0
  12. package/dist/calendar.cjs +1 -0
  13. package/dist/calendar.js +4 -0
  14. package/dist/{card-CUhlTJyJ.js → card-CNoTUaJC.js} +5 -4
  15. package/dist/{card-n8ka8Zk-.cjs → card-KiNHfEi2.cjs} +1 -1
  16. package/dist/card.cjs +1 -1
  17. package/dist/card.js +1 -1
  18. package/dist/chatbot-B_3w7h4T.cjs +161 -0
  19. package/dist/{chatbot-Ces7Xveb.js → chatbot-uGYcx6Nn.js} +118 -107
  20. package/dist/chatbot.cjs +1 -1
  21. package/dist/chatbot.js +2 -2
  22. package/dist/{checkbox-7Rb3WKGx.js → checkbox-g6kl2jGR.js} +4 -4
  23. package/dist/checkbox.js +1 -1
  24. package/dist/combobox-C6zoQopK.cjs +113 -0
  25. package/dist/combobox-LBU6VHLi.js +376 -0
  26. package/dist/combobox.cjs +1 -1
  27. package/dist/combobox.js +1 -1
  28. package/dist/datepicker-CwDDA6np.cjs +85 -0
  29. package/dist/datepicker-SwKsdw3S.js +375 -0
  30. package/dist/datepicker.cjs +1 -1
  31. package/dist/datepicker.js +2 -2
  32. package/dist/{download-manager-A4fOxGWJ.js → download-manager-a541AYhr.js} +3 -3
  33. package/dist/download-manager.js +1 -1
  34. package/dist/drawer-BvcPd5nz.cjs +25 -0
  35. package/dist/drawer-DVINJB4a.js +106 -0
  36. package/dist/drawer.cjs +1 -0
  37. package/dist/drawer.js +4 -0
  38. package/dist/formfield-BFOIEicR.cjs +33 -0
  39. package/dist/formfield-CNh4mBSs.js +147 -0
  40. package/dist/formfield.cjs +1 -1
  41. package/dist/formfield.js +1 -1
  42. package/dist/index.cjs +1 -1
  43. package/dist/index.d.ts +4 -0
  44. package/dist/index.js +36 -27
  45. package/dist/index.umd.js +462 -205
  46. package/dist/input-JpAWN-M1.cjs +59 -0
  47. package/dist/{input-ByllRq9M.js → input-jmbvgWEq.js} +100 -80
  48. package/dist/input.cjs +1 -1
  49. package/dist/input.js +1 -1
  50. package/dist/left-menu.cjs +1 -0
  51. package/dist/left-menu.js +5 -0
  52. package/dist/leftmenu-C-q1h_2U.js +291 -0
  53. package/dist/leftmenu-DBcncBN8.cjs +74 -0
  54. package/dist/{modal-Bfc6WQSL.js → modal-B8aQyCBg.js} +6 -7
  55. package/dist/{modal-DQ8VFL-P.cjs → modal-DU1sszVn.cjs} +7 -7
  56. package/dist/modal.cjs +1 -1
  57. package/dist/modal.js +1 -1
  58. package/dist/molecules/Input/input.d.ts +3 -1
  59. package/dist/molecules/Textarea/text-area.d.ts +0 -1
  60. package/dist/organisms/Calendar/calendar.d.ts +54 -0
  61. package/dist/organisms/Calendar/index.d.ts +1 -0
  62. package/dist/organisms/Calendar/shared.d.ts +9 -0
  63. package/dist/organisms/Chatbot/chatbot.d.ts +3 -1
  64. package/dist/organisms/Chatbot/index.d.ts +1 -1
  65. package/dist/organisms/Combobox/combobox.d.ts +16 -0
  66. package/dist/organisms/DatePicker/datepicker.d.ts +33 -33
  67. package/dist/organisms/Drawer/drawer.d.ts +29 -0
  68. package/dist/organisms/Drawer/index.d.ts +1 -0
  69. package/dist/organisms/LeftMenu/index.d.ts +2 -0
  70. package/dist/organisms/LeftMenu/leftmenu-item.d.ts +14 -0
  71. package/dist/organisms/LeftMenu/leftmenu.d.ts +44 -0
  72. package/dist/organisms/TreeMenu/index.d.ts +1 -0
  73. package/dist/organisms/TreeMenu/tree-menu.d.ts +41 -0
  74. package/dist/popover-C2p5Pmts.cjs +30 -0
  75. package/dist/popover-CaVOXo_k.js +140 -0
  76. package/dist/popover.cjs +1 -1
  77. package/dist/popover.js +1 -1
  78. package/dist/{switch-Cpl53nRW.js → switch-CG4SSjTg.js} +4 -4
  79. package/dist/switch.js +1 -1
  80. package/dist/{tab-BKdN4xAz.js → tab-BYU_XEhp.js} +4 -4
  81. package/dist/tab.js +1 -1
  82. package/dist/text-area-CZDdxbrN.cjs +46 -0
  83. package/dist/{text-area-CtZY3yLA.js → text-area-Dec_k4rs.js} +45 -44
  84. package/dist/textarea.cjs +1 -1
  85. package/dist/textarea.js +1 -1
  86. package/dist/tree-menu-B1iwfHyd.cjs +47 -0
  87. package/dist/tree-menu-BbX8GK_z.js +154 -0
  88. package/dist/tree-menu.cjs +1 -0
  89. package/dist/tree-menu.js +4 -0
  90. package/dist/ui-icon-Bys4HYSQ.js +57 -0
  91. package/dist/ui-icon-DWh1MhBa.cjs +22 -0
  92. package/package.json +31 -2
  93. package/dist/badge-BbhaO73N.cjs +0 -13
  94. package/dist/chatbot-oRwt64d8.cjs +0 -160
  95. package/dist/combobox-BJbI-Tgi.js +0 -268
  96. package/dist/combobox-pmE7bgEL.cjs +0 -99
  97. package/dist/datepicker-DFJx45C-.js +0 -750
  98. package/dist/datepicker-b9JGTTMx.cjs +0 -115
  99. package/dist/directive-Z_rhNYWK.js +0 -240
  100. package/dist/directive-ekjitgzi.cjs +0 -3
  101. package/dist/formfield-D_7NFFoe.cjs +0 -27
  102. package/dist/formfield-d8fp9FTV.js +0 -118
  103. package/dist/input-DsIOQPGV.cjs +0 -46
  104. package/dist/live-BX-yBGvT.cjs +0 -1
  105. package/dist/live-WTVSYE2F.js +0 -24
  106. package/dist/popover-C_Ob86CJ.cjs +0 -30
  107. package/dist/popover-D-FXdEdS.js +0 -1040
  108. package/dist/text-area-DFDF5oos.cjs +0 -44
@@ -0,0 +1,59 @@
1
+ "use strict";const o=require("lit"),t=require("lit/decorators.js"),h=require("lit/directives/live.js");require("./formfield-BFOIEicR.cjs");require("./ui-icon-DWh1MhBa.cjs");const u=".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 d=Object.defineProperty,y=Object.getOwnPropertyDescriptor,r=(l,e,i,s)=>{for(var n=s>1?void 0:s?y(e,i):e,p=l.length-1,a;p>=0;p--)(a=l[p])&&(n=(s?a(e,i,n):a(n))||n);return s&&n&&d(e,i,n),n};exports.LogosphereInput=class extends o.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._internalError="",this._showPassword=!1,this.handleInput=e=>{const i=e.target;this.value=i.value,this._internalError&&(this._internalError="",this._inputElement.setCustomValidity("")),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value,originalEvent:e}}))},this.handleChange=e=>{const i=e.target;this.value=i.value,i.checkValidity()||(this._internalError=i.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,i,s){this._inputElement?.setSelectionRange(e,i,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)}render(){const e=this.error||this._internalError,i=!!this.value&&!this.disabled&&!this.readonly,s=this.type==="password",n=s&&this._showPassword?"text":this.type,p=`input__field input__field--${this.size}`;return o.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.placeholder}
10
+ .size=${this.size}
11
+ .variant=${this.variant}
12
+ >
13
+ <slot name="prefix" slot="prefix"></slot>
14
+ <input
15
+ class="${p}"
16
+ type=${n}
17
+ .value=${h.live(this.value)}
18
+ placeholder=${this.placeholder||o.nothing}
19
+ name=${this.name||o.nothing}
20
+ autocomplete=${this.autocomplete||o.nothing}
21
+ ?required=${this.required}
22
+ ?disabled=${this.disabled}
23
+ ?readonly=${this.readonly}
24
+ minlength=${this.minlength??o.nothing}
25
+ maxlength=${this.maxlength??o.nothing}
26
+ pattern=${this.pattern||o.nothing}
27
+ min=${this.min??o.nothing}
28
+ max=${this.max??o.nothing}
29
+ step=${this.step??o.nothing}
30
+ @input=${this.handleInput}
31
+ @change=${this.handleChange}
32
+ @keydown=${this.handleKeyDown}
33
+ @keyup=${this.handleKeyUp}
34
+ />
35
+ ${i?o.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
+ `:o.nothing}
46
+ ${s?o.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
+ `:o.nothing}
57
+ <slot name="suffix" slot="suffix"></slot>
58
+ </logosphere-formfield>
59
+ `}};exports.LogosphereInput.styles=[o.css`${o.unsafeCSS(u)}`];r([t.query("input")],exports.LogosphereInput.prototype,"_inputElement",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"value",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"type",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"placeholder",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"name",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"autocomplete",2);r([t.property({type:Number})],exports.LogosphereInput.prototype,"minlength",2);r([t.property({type:Number})],exports.LogosphereInput.prototype,"maxlength",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"pattern",2);r([t.property({type:Number})],exports.LogosphereInput.prototype,"min",2);r([t.property({type:Number})],exports.LogosphereInput.prototype,"max",2);r([t.property({type:Number})],exports.LogosphereInput.prototype,"step",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"size",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"variant",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"label",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"helper",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"error",2);r([t.property({type:Boolean})],exports.LogosphereInput.prototype,"required",2);r([t.property({type:Boolean})],exports.LogosphereInput.prototype,"disabled",2);r([t.property({type:Boolean})],exports.LogosphereInput.prototype,"readonly",2);r([t.state()],exports.LogosphereInput.prototype,"_internalError",2);r([t.state()],exports.LogosphereInput.prototype,"_showPassword",2);exports.LogosphereInput=r([t.customElement("logosphere-input")],exports.LogosphereInput);
@@ -1,39 +1,41 @@
1
- import { LitElement as d, nothing as o, html as u, unsafeCSS as y, css as c } from "lit";
2
- import { query as m, property as r, state as b, customElement as v } from "lit/decorators.js";
3
- import { l as g } from "./live-WTVSYE2F.js";
4
- const _ = ".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)}";
5
- var f = Object.defineProperty, E = Object.getOwnPropertyDescriptor, e = (i, n, l, a) => {
6
- for (var s = a > 1 ? void 0 : a ? E(n, l) : n, p = i.length - 1, h; p >= 0; p--)
7
- (h = i[p]) && (s = (a ? h(n, l, s) : h(s)) || s);
8
- return a && s && f(n, l, s), s;
1
+ import { unsafeCSS as y, css as c, LitElement as m, nothing as o, html as u } from "lit";
2
+ import { query as b, property as s, state as d, customElement as _ } from "lit/decorators.js";
3
+ import { live as f } from "lit/directives/live.js";
4
+ import "./formfield-CNh4mBSs.js";
5
+ import "./ui-icon-Bys4HYSQ.js";
6
+ const g = ".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 v = Object.defineProperty, E = Object.getOwnPropertyDescriptor, i = (e, r, l, a) => {
8
+ for (var n = a > 1 ? void 0 : a ? E(r, l) : r, p = e.length - 1, h; p >= 0; p--)
9
+ (h = e[p]) && (n = (a ? h(r, l, n) : h(n)) || n);
10
+ return a && n && v(r, l, n), n;
9
11
  };
10
- let t = class extends d {
12
+ let t = class extends m {
11
13
  constructor() {
12
- super(...arguments), this.value = "", this.type = "text", this.placeholder = "", this.name = "", this.autocomplete = "", this.pattern = "", this.size = "default", this.variant = "default", this.showClear = !1, this.label = "", this.helper = "", this.error = "", this.required = !1, this.disabled = !1, this.readonly = !1, this._internalError = "", this.handleInput = (i) => {
13
- const n = i.target;
14
- this.value = n.value, this._internalError && (this._internalError = "", this._inputElement.setCustomValidity("")), this.dispatchEvent(new CustomEvent("input", {
14
+ 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._internalError = "", this._showPassword = !1, this.handleInput = (e) => {
15
+ const r = e.target;
16
+ this.value = r.value, this._internalError && (this._internalError = "", this._inputElement.setCustomValidity("")), this.dispatchEvent(new CustomEvent("input", {
15
17
  bubbles: !0,
16
18
  composed: !0,
17
- detail: { value: this.value, originalEvent: i }
19
+ detail: { value: this.value, originalEvent: e }
18
20
  }));
19
- }, this.handleChange = (i) => {
20
- const n = i.target;
21
- this.value = n.value, n.checkValidity() || (this._internalError = n.validationMessage), this.dispatchEvent(new CustomEvent("change", {
21
+ }, this.handleChange = (e) => {
22
+ const r = e.target;
23
+ this.value = r.value, r.checkValidity() || (this._internalError = r.validationMessage), this.dispatchEvent(new CustomEvent("change", {
22
24
  bubbles: !0,
23
25
  composed: !0,
24
- detail: { value: this.value, originalEvent: i }
26
+ detail: { value: this.value, originalEvent: e }
25
27
  }));
26
- }, this.handleKeyDown = (i) => {
28
+ }, this.handleKeyDown = (e) => {
27
29
  this.dispatchEvent(new CustomEvent("keydown", {
28
30
  bubbles: !0,
29
31
  composed: !0,
30
- detail: { key: i.key, originalEvent: i }
32
+ detail: { key: e.key, originalEvent: e }
31
33
  }));
32
- }, this.handleKeyUp = (i) => {
34
+ }, this.handleKeyUp = (e) => {
33
35
  this.dispatchEvent(new CustomEvent("keyup", {
34
36
  bubbles: !0,
35
37
  composed: !0,
36
- detail: { key: i.key, originalEvent: i }
38
+ detail: { key: e.key, originalEvent: e }
37
39
  }));
38
40
  }, this.handleClear = () => {
39
41
  this.value = "", this._inputElement && (this._inputElement.value = ""), this.dispatchEvent(new CustomEvent("clear", { bubbles: !0, composed: !0 })), this.dispatchEvent(new CustomEvent("input", {
@@ -41,6 +43,8 @@ let t = class extends d {
41
43
  composed: !0,
42
44
  detail: { value: "", originalEvent: null }
43
45
  }));
46
+ }, this.handlePasswordToggle = () => {
47
+ this.disabled || (this._showPassword = !this._showPassword, this._inputElement?.focus());
44
48
  };
45
49
  }
46
50
  get inputElement() {
@@ -55,8 +59,8 @@ let t = class extends d {
55
59
  select() {
56
60
  this._inputElement?.select();
57
61
  }
58
- setSelectionRange(i, n, l) {
59
- this._inputElement?.setSelectionRange(i, n, l);
62
+ setSelectionRange(e, r, l) {
63
+ this._inputElement?.setSelectionRange(e, r, l);
60
64
  }
61
65
  checkValidity() {
62
66
  return this._inputElement?.checkValidity() ?? !0;
@@ -64,16 +68,19 @@ let t = class extends d {
64
68
  reportValidity() {
65
69
  return this._inputElement?.reportValidity() ?? !0;
66
70
  }
67
- setCustomValidity(i) {
68
- this._inputElement?.setCustomValidity(i), this._internalError = i, this.requestUpdate();
71
+ setCustomValidity(e) {
72
+ this._inputElement?.setCustomValidity(e), this._internalError = e, this.requestUpdate();
73
+ }
74
+ willUpdate(e) {
75
+ e.has("type") && this.type !== "password" && this._showPassword && (this._showPassword = !1);
69
76
  }
70
77
  render() {
71
- const i = this.error || this._internalError, n = this.showClear && this.value && !this.disabled && !this.readonly, l = `input__field input__field--${this.size}`;
78
+ const e = this.error || this._internalError, r = !!this.value && !this.disabled && !this.readonly, l = this.type === "password", a = l && this._showPassword ? "text" : this.type, n = `input__field input__field--${this.size}`;
72
79
  return u`
73
80
  <logosphere-formfield
74
81
  .label=${this.label}
75
82
  .helper=${this.helper}
76
- .error=${i}
83
+ .error=${e}
77
84
  .required=${this.required}
78
85
  .disabled=${this.disabled}
79
86
  .readonly=${this.readonly}
@@ -81,10 +88,11 @@ let t = class extends d {
81
88
  .size=${this.size}
82
89
  .variant=${this.variant}
83
90
  >
91
+ <slot name="prefix" slot="prefix"></slot>
84
92
  <input
85
- class="${l}"
86
- type=${this.type}
87
- .value=${g(this.value)}
93
+ class="${n}"
94
+ type=${a}
95
+ .value=${f(this.value)}
88
96
  placeholder=${this.placeholder || o}
89
97
  name=${this.name || o}
90
98
  autocomplete=${this.autocomplete || o}
@@ -102,10 +110,10 @@ let t = class extends d {
102
110
  @keydown=${this.handleKeyDown}
103
111
  @keyup=${this.handleKeyUp}
104
112
  />
105
- ${n ? u`
113
+ ${r ? u`
106
114
  <button
107
115
  type="button"
108
- slot="suffix"
116
+ slot="clear"
109
117
  class="input__clear-btn"
110
118
  @click=${this.handleClear}
111
119
  tabindex="-1"
@@ -113,79 +121,91 @@ let t = class extends d {
113
121
  <ui-icon name="uil-times" size="14"></ui-icon>
114
122
  </button>
115
123
  ` : o}
124
+ ${l ? u`
125
+ <button
126
+ type="button"
127
+ slot="suffix"
128
+ class="input__clear-btn"
129
+ aria-label=${this._showPassword ? "Şifreyi gizle" : "Şifreyi göster"}
130
+ @click=${this.handlePasswordToggle}
131
+ >
132
+ <ui-icon name=${this._showPassword ? "uil-eye-slash" : "uil-eye"} size="16"></ui-icon>
133
+ </button>
134
+ ` : o}
135
+ <slot name="suffix" slot="suffix"></slot>
116
136
  </logosphere-formfield>
117
137
  `;
118
138
  }
119
139
  };
120
- t.styles = [c`${y(_)}`];
121
- e([
122
- m("input")
140
+ t.styles = [c`${y(g)}`];
141
+ i([
142
+ b("input")
123
143
  ], t.prototype, "_inputElement", 2);
124
- e([
125
- r({ type: String })
144
+ i([
145
+ s({ type: String })
126
146
  ], t.prototype, "value", 2);
127
- e([
128
- r({ type: String })
147
+ i([
148
+ s({ type: String })
129
149
  ], t.prototype, "type", 2);
130
- e([
131
- r({ type: String })
150
+ i([
151
+ s({ type: String })
132
152
  ], t.prototype, "placeholder", 2);
133
- e([
134
- r({ type: String })
153
+ i([
154
+ s({ type: String })
135
155
  ], t.prototype, "name", 2);
136
- e([
137
- r({ type: String })
156
+ i([
157
+ s({ type: String })
138
158
  ], t.prototype, "autocomplete", 2);
139
- e([
140
- r({ type: Number })
159
+ i([
160
+ s({ type: Number })
141
161
  ], t.prototype, "minlength", 2);
142
- e([
143
- r({ type: Number })
162
+ i([
163
+ s({ type: Number })
144
164
  ], t.prototype, "maxlength", 2);
145
- e([
146
- r({ type: String })
165
+ i([
166
+ s({ type: String })
147
167
  ], t.prototype, "pattern", 2);
148
- e([
149
- r({ type: Number })
168
+ i([
169
+ s({ type: Number })
150
170
  ], t.prototype, "min", 2);
151
- e([
152
- r({ type: Number })
171
+ i([
172
+ s({ type: Number })
153
173
  ], t.prototype, "max", 2);
154
- e([
155
- r({ type: Number })
174
+ i([
175
+ s({ type: Number })
156
176
  ], t.prototype, "step", 2);
157
- e([
158
- r({ type: String })
177
+ i([
178
+ s({ type: String })
159
179
  ], t.prototype, "size", 2);
160
- e([
161
- r({ type: String })
180
+ i([
181
+ s({ type: String })
162
182
  ], t.prototype, "variant", 2);
163
- e([
164
- r({ type: Boolean })
165
- ], t.prototype, "showClear", 2);
166
- e([
167
- r({ type: String })
183
+ i([
184
+ s({ type: String })
168
185
  ], t.prototype, "label", 2);
169
- e([
170
- r({ type: String })
186
+ i([
187
+ s({ type: String })
171
188
  ], t.prototype, "helper", 2);
172
- e([
173
- r({ type: String })
189
+ i([
190
+ s({ type: String })
174
191
  ], t.prototype, "error", 2);
175
- e([
176
- r({ type: Boolean })
192
+ i([
193
+ s({ type: Boolean })
177
194
  ], t.prototype, "required", 2);
178
- e([
179
- r({ type: Boolean })
195
+ i([
196
+ s({ type: Boolean })
180
197
  ], t.prototype, "disabled", 2);
181
- e([
182
- r({ type: Boolean })
198
+ i([
199
+ s({ type: Boolean })
183
200
  ], t.prototype, "readonly", 2);
184
- e([
185
- b()
201
+ i([
202
+ d()
186
203
  ], t.prototype, "_internalError", 2);
187
- t = e([
188
- v("logosphere-input")
204
+ i([
205
+ d()
206
+ ], t.prototype, "_showPassword", 2);
207
+ t = i([
208
+ _("logosphere-input")
189
209
  ], t);
190
210
  export {
191
211
  t as L
package/dist/input.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./input-DsIOQPGV.cjs");Object.defineProperty(exports,"LogosphereInput",{enumerable:!0,get:()=>e.LogosphereInput});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./input-JpAWN-M1.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-ByllRq9M.js";
1
+ import { L as p } from "./input-jmbvgWEq.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-DBcncBN8.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-C-q1h_2U.js";
2
+ export {
3
+ a as LeftMenu,
4
+ f as LeftMenuItemElement
5
+ };
@@ -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: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-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
+ };