@logosphere-ui/core 0.0.0-alpha.24 → 0.0.0-alpha.25

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 (87) hide show
  1. package/AGENTS.md +1118 -0
  2. package/dist/AGENTS.md +1118 -0
  3. package/dist/atoms/Badge/badge.d.ts +1 -1
  4. package/dist/atoms/FormField/formfield.d.ts +3 -0
  5. package/dist/badge-CGgnn_UN.js +72 -0
  6. package/dist/badge-DXBwR32c.cjs +13 -0
  7. package/dist/badge.cjs +1 -1
  8. package/dist/badge.js +1 -1
  9. package/dist/button-BBf5JAD-.js +58 -0
  10. package/dist/button-BryTzF74.cjs +10 -0
  11. package/dist/button.cjs +1 -1
  12. package/dist/button.js +1 -1
  13. package/dist/{calendar-WZ_GQvnn.js → calendar-BiJlAmA6.js} +1 -1
  14. package/dist/{calendar-LMn1ZF3N.cjs → calendar-D5W-t26J.cjs} +1 -1
  15. package/dist/calendar.cjs +1 -1
  16. package/dist/calendar.js +1 -1
  17. package/dist/{card-KiNHfEi2.cjs → card-C8G9YXhU.cjs} +1 -1
  18. package/dist/{card-CNoTUaJC.js → card-RWV7CumH.js} +1 -1
  19. package/dist/card.cjs +1 -1
  20. package/dist/card.js +1 -1
  21. package/dist/chatbot-BfzuCerB.cjs +183 -0
  22. package/dist/{chatbot-Cn3Cvz8h.js → chatbot-CDtwNwGX.js} +146 -84
  23. package/dist/chatbot.cjs +1 -1
  24. package/dist/chatbot.js +1 -1
  25. package/dist/{combobox-D5X75iH0.cjs → combobox-BrANDiaM.cjs} +1 -1
  26. package/dist/{combobox-CtvjEL24.js → combobox-D5QdM3ue.js} +3 -3
  27. package/dist/combobox.cjs +1 -1
  28. package/dist/combobox.js +1 -1
  29. package/dist/{datepicker-CwDDA6np.cjs → datepicker-CxKs90IQ.cjs} +1 -1
  30. package/dist/{datepicker-SwKsdw3S.js → datepicker-DZsZdSCv.js} +3 -3
  31. package/dist/datepicker.cjs +1 -1
  32. package/dist/datepicker.js +1 -1
  33. package/dist/{drawer-DVINJB4a.js → drawer-D_qOdapq.js} +2 -2
  34. package/dist/drawer-s1BLy2Xe.cjs +25 -0
  35. package/dist/drawer.cjs +1 -1
  36. package/dist/drawer.js +1 -1
  37. package/dist/{formfield-CNh4mBSs.js → formfield-BZOK4Pkz.js} +23 -16
  38. package/dist/formfield-HIqosWPz.cjs +33 -0
  39. package/dist/formfield.cjs +1 -1
  40. package/dist/formfield.js +1 -1
  41. package/dist/index.cjs +119 -1
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.js +358 -41
  44. package/dist/index.umd.js +381 -173
  45. package/dist/{input-DcSyXsp9.js → input-CG6RsUJs.js} +2 -2
  46. package/dist/{input-C6OHJuya.cjs → input-DgGaco-Y.cjs} +1 -1
  47. package/dist/input.cjs +1 -1
  48. package/dist/input.js +1 -1
  49. package/dist/left-menu.cjs +1 -1
  50. package/dist/left-menu.js +1 -1
  51. package/dist/{leftmenu-BSb9rGg4.cjs → leftmenu-BSVpwbyD.cjs} +1 -1
  52. package/dist/{leftmenu-vMqGQhcS.js → leftmenu-DJE2N5kl.js} +7 -7
  53. package/dist/molecules/Textarea/text-area.d.ts +5 -1
  54. package/dist/molecules/TimePicker/index.d.ts +2 -0
  55. package/dist/molecules/TimePicker/timepicker.d.ts +62 -0
  56. package/dist/organisms/Chatbot/chatbot.d.ts +7 -0
  57. package/dist/organisms/Toast/index.d.ts +2 -0
  58. package/dist/organisms/Toast/toast-container.d.ts +42 -0
  59. package/dist/organisms/Toast/toast.d.ts +48 -0
  60. package/dist/styles/main.css +89 -83
  61. package/dist/text-area-Bz62kq2S.cjs +51 -0
  62. package/dist/text-area-CG0gBXni.js +235 -0
  63. package/dist/textarea.cjs +1 -1
  64. package/dist/textarea.js +1 -1
  65. package/dist/toast-container-Br8TDkFh.js +274 -0
  66. package/dist/toast-container-DsEbVrT7.cjs +64 -0
  67. package/dist/toast.cjs +1 -0
  68. package/dist/toast.js +6 -0
  69. package/dist/{tree-menu-BbX8GK_z.js → tree-menu-B39KDvKV.js} +2 -2
  70. package/dist/tree-menu-BZEOD4_f.cjs +47 -0
  71. package/dist/tree-menu.cjs +1 -1
  72. package/dist/tree-menu.js +1 -1
  73. package/dist/ui-icon-BRl1UmIf.cjs +22 -0
  74. package/dist/ui-icon-CFvsDv0z.js +66 -0
  75. package/package.json +21 -11
  76. package/dist/badge-7IIatiRv.cjs +0 -13
  77. package/dist/badge-B2chRYGd.js +0 -72
  78. package/dist/button-BqOMevro.js +0 -58
  79. package/dist/button-CDRccsk9.cjs +0 -10
  80. package/dist/chatbot-DjFe2_HE.cjs +0 -161
  81. package/dist/drawer-BvcPd5nz.cjs +0 -25
  82. package/dist/formfield-BFOIEicR.cjs +0 -33
  83. package/dist/text-area-CZDdxbrN.cjs +0 -46
  84. package/dist/text-area-Dec_k4rs.js +0 -205
  85. package/dist/tree-menu-B1iwfHyd.cjs +0 -47
  86. package/dist/ui-icon-Bys4HYSQ.js +0 -57
  87. package/dist/ui-icon-DWh1MhBa.cjs +0 -22
@@ -1,8 +1,8 @@
1
1
  import { unsafeCSS as m, css as f, LitElement as g, nothing as a, html as u } from "lit";
2
2
  import { query as v, property as n, state as c, customElement as b } from "lit/decorators.js";
3
3
  import { live as _ } from "lit/directives/live.js";
4
- import "./formfield-CNh4mBSs.js";
5
- import "./ui-icon-Bys4HYSQ.js";
4
+ import "./formfield-BZOK4Pkz.js";
5
+ import "./ui-icon-CFvsDv0z.js";
6
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
7
  var w = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, s = (t, e, o, l) => {
8
8
  for (var r = l > 1 ? void 0 : l ? $(e, o) : e, p = t.length - 1, h; p >= 0; p--)
@@ -1,4 +1,4 @@
1
- "use strict";const n=require("lit"),r=require("lit/decorators.js"),y=require("lit/directives/live.js");require("./formfield-BFOIEicR.cjs");require("./ui-icon-DWh1MhBa.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`
1
+ "use strict";const n=require("lit"),r=require("lit/decorators.js"),y=require("lit/directives/live.js");require("./formfield-HIqosWPz.cjs");require("./ui-icon-BRl1UmIf.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
2
  <logosphere-formfield
3
3
  .label=${this.label}
4
4
  .helper=${this.helper}
package/dist/input.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./input-C6OHJuya.cjs");Object.defineProperty(exports,"LogosphereInput",{enumerable:!0,get:()=>e.LogosphereInput});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./input-DgGaco-Y.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-DcSyXsp9.js";
1
+ import { L as p } from "./input-CG6RsUJs.js";
2
2
  export {
3
3
  p as LogosphereInput
4
4
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./leftmenu-BSb9rGg4.cjs");Object.defineProperty(exports,"LeftMenu",{enumerable:!0,get:()=>e.LeftMenu});Object.defineProperty(exports,"LeftMenuItemElement",{enumerable:!0,get:()=>e.LeftMenuItemElement});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./leftmenu-BSVpwbyD.cjs");Object.defineProperty(exports,"LeftMenu",{enumerable:!0,get:()=>e.LeftMenu});Object.defineProperty(exports,"LeftMenuItemElement",{enumerable:!0,get:()=>e.LeftMenuItemElement});
package/dist/left-menu.js CHANGED
@@ -1,4 +1,4 @@
1
- import { L as a, a as f } from "./leftmenu-vMqGQhcS.js";
1
+ import { L as a, a as f } from "./leftmenu-DJE2N5kl.js";
2
2
  export {
3
3
  a as LeftMenu,
4
4
  f as LeftMenuItemElement
@@ -1,4 +1,4 @@
1
- "use strict";const a=require("lit"),l=require("lit/decorators.js");require("./input-C6OHJuya.cjs");require("./ui-icon-DWh1MhBa.cjs");require("./tree-menu-B1iwfHyd.cjs");var u=Object.defineProperty,_=Object.getOwnPropertyDescriptor,p=(c,e,t,n)=>{for(var o=n>1?void 0:n?_(e,t):e,i=c.length-1,s;i>=0;i--)(s=c[i])&&(o=(n?s(e,t,o):s(o))||o);return n&&o&&u(e,t,o),o};exports.LeftMenuItemElement=class extends a.LitElement{constructor(){super(...arguments),this.itemId="",this.label="",this.disabled=!1,this.active=!1}render(){return a.html`<slot></slot>`}};p([l.property({type:String})],exports.LeftMenuItemElement.prototype,"itemId",2);p([l.property({type:String})],exports.LeftMenuItemElement.prototype,"label",2);p([l.property({type:Boolean})],exports.LeftMenuItemElement.prototype,"disabled",2);p([l.property({type:Boolean})],exports.LeftMenuItemElement.prototype,"active",2);p([l.property({attribute:!1})],exports.LeftMenuItemElement.prototype,"onClick",2);exports.LeftMenuItemElement=p([l.customElement("leftmenu-item")],exports.LeftMenuItemElement);const f=':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%}';var g=Object.defineProperty,b=Object.getOwnPropertyDescriptor,d=(c,e,t,n)=>{for(var o=n>1?void 0:n?b(e,t):e,i=c.length-1,s;i>=0;i--)(s=c[i])&&(o=(n?s(e,t,o):s(o))||o);return n&&o&&g(e,t,o),o};exports.LeftMenu=class extends a.LitElement{constructor(){super(...arguments),this.open=!1,this.pinned=!1,this.closedWidth=64,this.openWidth=248,this.storageKey="logosphere-leftmenu-state",this._nodes=[],this._expandedIds=new Set,this._search="",this._searchExpandedIds=new Set,this._hasCustomOpen=!1,this._hasCustomClosed=!1,this._isHydratingState=!1,this._onSlotChange=e=>{const n=e.target.assignedElements({flatten:!0}).filter(o=>o.tagName==="LEFTMENU-ITEM");this._nodes=n.map((o,i)=>this._mapItemElement(o,`root-${i}`))},this._onCustomOpenSlotChange=e=>{const t=e.target;this._hasCustomOpen=t.assignedElements({flatten:!0}).length>0},this._onCustomClosedSlotChange=e=>{const t=e.target;this._hasCustomClosed=t.assignedElements({flatten:!0}).length>0},this._handleSearchInput=e=>{const n=e.detail?.value;typeof n=="string"&&this._setSearch(n)},this._toggleOpen=()=>{this.open=!this.open},this._togglePin=()=>{this.pinned=!this.pinned,this.dispatchEvent(new CustomEvent("pin-change",{detail:{pinned:this.pinned},bubbles:!0,composed:!0}))},this._handleTreeToggle=e=>{e.stopPropagation();const{item:t,expanded:n}=e.detail;n?this._expandedIds.add(t.id):this._expandedIds.delete(t.id),this._expandedIds=new Set(this._expandedIds)},this._handleTreeNodeClick=e=>{this.open||!e.detail.hasChildren||(this.open=!0,this._expandedIds.add(e.detail.item.id),this._expandedIds=new Set(this._expandedIds))},this._handleTreeItemClick=e=>{e.stopPropagation();const t=e.detail.item.data;this.dispatchEvent(new CustomEvent("item-click",{detail:{item:t??e.detail.item},bubbles:!0,composed:!0}))}}connectedCallback(){super.connectedCallback(),this._loadPersistedState()}updated(e){this._isHydratingState||(e.has("open")||e.has("pinned"))&&this._persistState()}_loadPersistedState(){if(!(typeof window>"u"))try{const e=window.localStorage.getItem(this.storageKey);if(!e)return;const t=JSON.parse(e);this._isHydratingState=!0,typeof t.open=="boolean"&&(this.open=t.open),typeof t.pinned=="boolean"&&(this.pinned=t.pinned),this._isHydratingState=!1}catch{this._isHydratingState=!1}}_persistState(){if(!(typeof window>"u"))try{window.localStorage.setItem(this.storageKey,JSON.stringify({open:this.open,pinned:this.pinned}))}catch{}}_mapItemElement(e,t){const n=e.itemId||e.id||t,o=Array.from(e.children).find(r=>r.getAttribute("slot")==="icon"),i=o?.querySelector("ui-icon"),s=Array.from(e.children).filter(r=>r.tagName==="LEFTMENU-ITEM"&&r.getAttribute("slot")==="children"),h=Array.from(e.childNodes).filter(r=>r.nodeType===Node.TEXT_NODE).map(r=>r.textContent??"").join(" ").replace(/\s+/g," ").trim();return{id:n,label:(e.label||h||n).trim(),disabled:e.disabled,active:e.active,iconName:i?.getAttribute("name")??null,iconHtml:o?o.innerHTML:null,onClick:e.onClick?()=>e.onClick?.(e):void 0,children:s.map((r,m)=>this._mapItemElement(r,`${n}-${m}`))}}_setSearch(e){if(this._search=e,!e){this._searchExpandedIds=new Set;return}const t=new Set,n=o=>{let i=!1;return o.forEach(s=>{const h=s.label.toLocaleLowerCase().includes(e.toLocaleLowerCase()),r=n(s.children);r&&t.add(s.id),h&&s.children.length&&t.add(s.id),i=i||h||r}),i};n(this._nodes),this._searchExpandedIds=t}_filterNodes(e,t){if(!t)return e;const n=t.toLocaleLowerCase(),o=i=>{const s=i.children.map(o).filter(Boolean);return!i.label.toLocaleLowerCase().includes(n)&&s.length===0?null:{...i,children:s}};return e.map(o).filter(Boolean)}_toTreeItems(e){return e.map(t=>({id:t.id,label:t.label,disabled:t.disabled,active:t.active,iconName:t.iconName??void 0,iconHtml:t.iconHtml,onClick:t.onClick?()=>{t.onClick?.(t)}:void 0,data:t,children:this._toTreeItems(t.children)}))}_effectiveExpandedIds(){const e=new Set(this._expandedIds);return this._search&&this._searchExpandedIds.forEach(t=>e.add(t)),Array.from(e)}render(){const e=this._filterNodes(this._nodes,this._search),t=this._toTreeItems(e),n=this.pinned?this.open?this.openWidth:this.closedWidth:this.closedWidth;return a.html`
1
+ "use strict";const a=require("lit"),l=require("lit/decorators.js");require("./input-DgGaco-Y.cjs");require("./ui-icon-BRl1UmIf.cjs");require("./tree-menu-BZEOD4_f.cjs");var u=Object.defineProperty,_=Object.getOwnPropertyDescriptor,p=(c,e,t,n)=>{for(var o=n>1?void 0:n?_(e,t):e,i=c.length-1,s;i>=0;i--)(s=c[i])&&(o=(n?s(e,t,o):s(o))||o);return n&&o&&u(e,t,o),o};exports.LeftMenuItemElement=class extends a.LitElement{constructor(){super(...arguments),this.itemId="",this.label="",this.disabled=!1,this.active=!1}render(){return a.html`<slot></slot>`}};p([l.property({type:String})],exports.LeftMenuItemElement.prototype,"itemId",2);p([l.property({type:String})],exports.LeftMenuItemElement.prototype,"label",2);p([l.property({type:Boolean})],exports.LeftMenuItemElement.prototype,"disabled",2);p([l.property({type:Boolean})],exports.LeftMenuItemElement.prototype,"active",2);p([l.property({attribute:!1})],exports.LeftMenuItemElement.prototype,"onClick",2);exports.LeftMenuItemElement=p([l.customElement("leftmenu-item")],exports.LeftMenuItemElement);const f=':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%}';var g=Object.defineProperty,v=Object.getOwnPropertyDescriptor,d=(c,e,t,n)=>{for(var o=n>1?void 0:n?v(e,t):e,i=c.length-1,s;i>=0;i--)(s=c[i])&&(o=(n?s(e,t,o):s(o))||o);return n&&o&&g(e,t,o),o};exports.LeftMenu=class extends a.LitElement{constructor(){super(...arguments),this.open=!1,this.pinned=!1,this.closedWidth=64,this.openWidth=248,this.storageKey="logosphere-leftmenu-state",this._nodes=[],this._expandedIds=new Set,this._search="",this._searchExpandedIds=new Set,this._hasCustomOpen=!1,this._hasCustomClosed=!1,this._isHydratingState=!1,this._onSlotChange=e=>{const n=e.target.assignedElements({flatten:!0}).filter(o=>o.tagName==="LEFTMENU-ITEM");this._nodes=n.map((o,i)=>this._mapItemElement(o,`root-${i}`))},this._onCustomOpenSlotChange=e=>{const t=e.target;this._hasCustomOpen=t.assignedElements({flatten:!0}).length>0},this._onCustomClosedSlotChange=e=>{const t=e.target;this._hasCustomClosed=t.assignedElements({flatten:!0}).length>0},this._handleSearchInput=e=>{const n=e.detail?.value;typeof n=="string"&&this._setSearch(n)},this._toggleOpen=()=>{this.open=!this.open},this._togglePin=()=>{this.pinned=!this.pinned,this.dispatchEvent(new CustomEvent("pin-change",{detail:{pinned:this.pinned},bubbles:!0,composed:!0}))},this._handleTreeToggle=e=>{e.stopPropagation();const{item:t,expanded:n}=e.detail;n?this._expandedIds.add(t.id):this._expandedIds.delete(t.id),this._expandedIds=new Set(this._expandedIds)},this._handleTreeNodeClick=e=>{this.open||!e.detail.hasChildren||(this.open=!0,this._expandedIds.add(e.detail.item.id),this._expandedIds=new Set(this._expandedIds))},this._handleTreeItemClick=e=>{e.stopPropagation();const t=e.detail.item.data;this.dispatchEvent(new CustomEvent("item-click",{detail:{item:t??e.detail.item},bubbles:!0,composed:!0}))}}connectedCallback(){super.connectedCallback(),this._loadPersistedState()}updated(e){this._isHydratingState||(e.has("open")||e.has("pinned"))&&this._persistState()}_loadPersistedState(){if(!(typeof window>"u"))try{const e=window.localStorage.getItem(this.storageKey);if(!e)return;const t=JSON.parse(e);this._isHydratingState=!0,typeof t.open=="boolean"&&(this.open=t.open),typeof t.pinned=="boolean"&&(this.pinned=t.pinned),this._isHydratingState=!1}catch{this._isHydratingState=!1}}_persistState(){if(!(typeof window>"u"))try{window.localStorage.setItem(this.storageKey,JSON.stringify({open:this.open,pinned:this.pinned}))}catch{}}_mapItemElement(e,t){const n=e.itemId||e.id||t,o=Array.from(e.children).find(r=>r.getAttribute("slot")==="icon"),i=o?.querySelector("ui-icon"),s=Array.from(e.children).filter(r=>r.tagName==="LEFTMENU-ITEM"&&r.getAttribute("slot")==="children"),h=Array.from(e.childNodes).filter(r=>r.nodeType===Node.TEXT_NODE).map(r=>r.textContent??"").join(" ").replace(/\s+/g," ").trim();return{id:n,label:(e.label||h||n).trim(),disabled:e.disabled,active:e.active,iconName:i?.getAttribute("name")??null,iconHtml:o?o.innerHTML:null,onClick:e.onClick?()=>e.onClick?.(e):void 0,children:s.map((r,m)=>this._mapItemElement(r,`${n}-${m}`))}}_setSearch(e){if(this._search=e,!e){this._searchExpandedIds=new Set;return}const t=new Set,n=o=>{let i=!1;return o.forEach(s=>{const h=s.label.toLocaleLowerCase().includes(e.toLocaleLowerCase()),r=n(s.children);r&&t.add(s.id),h&&s.children.length&&t.add(s.id),i=i||h||r}),i};n(this._nodes),this._searchExpandedIds=t}_filterNodes(e,t){if(!t)return e;const n=t.toLocaleLowerCase(),o=i=>{const s=i.children.map(o).filter(Boolean);return!i.label.toLocaleLowerCase().includes(n)&&s.length===0?null:{...i,children:s}};return e.map(o).filter(Boolean)}_toTreeItems(e){return e.map(t=>({id:t.id,label:t.label,disabled:t.disabled,active:t.active,iconName:t.iconName??void 0,iconHtml:t.iconHtml,onClick:t.onClick?()=>{t.onClick?.(t)}:void 0,data:t,children:this._toTreeItems(t.children)}))}_effectiveExpandedIds(){const e=new Set(this._expandedIds);return this._search&&this._searchExpandedIds.forEach(t=>e.add(t)),Array.from(e)}render(){const e=this._filterNodes(this._nodes,this._search),t=this._toTreeItems(e),n=this.pinned?this.open?this.openWidth:this.closedWidth:this.closedWidth;return a.html`
2
2
  <aside
3
3
  class="lm ${this.open?"lm--open":"lm--closed"} ${this.pinned?"lm--pinned":"lm--overlay"}"
4
4
  style=${`--lm-open-width:${this.openWidth}px; --lm-closed-width:${this.closedWidth}px; width:${n}px;`}
@@ -1,8 +1,8 @@
1
- import { LitElement as u, html as p, unsafeCSS as b, css as v, nothing as y } from "lit";
1
+ import { LitElement as u, html as p, unsafeCSS as v, css as b, nothing as y } from "lit";
2
2
  import { property as c, customElement as g, state as m } from "lit/decorators.js";
3
- import "./input-DcSyXsp9.js";
4
- import "./ui-icon-Bys4HYSQ.js";
5
- import "./tree-menu-BbX8GK_z.js";
3
+ import "./input-CG6RsUJs.js";
4
+ import "./ui-icon-CFvsDv0z.js";
5
+ import "./tree-menu-B39KDvKV.js";
6
6
  var w = Object.defineProperty, x = Object.getOwnPropertyDescriptor, _ = (e, t, i, s) => {
7
7
  for (var o = s > 1 ? void 0 : s ? x(t, i) : t, n = e.length - 1, r; n >= 0; n--)
8
8
  (r = e[n]) && (o = (s ? r(t, i, o) : r(o)) || o);
@@ -34,7 +34,7 @@ _([
34
34
  h = _([
35
35
  g("leftmenu-item")
36
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%}';
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-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%}';
38
38
  var I = Object.defineProperty, S = Object.getOwnPropertyDescriptor, d = (e, t, i, s) => {
39
39
  for (var o = s > 1 ? void 0 : s ? S(t, i) : t, n = e.length - 1, r; n >= 0; n--)
40
40
  (r = e[n]) && (o = (s ? r(t, i, o) : r(o)) || o);
@@ -245,8 +245,8 @@ let l = class extends u {
245
245
  }
246
246
  };
247
247
  l.styles = [
248
- v`
249
- ${b(C)}
248
+ b`
249
+ ${v(C)}
250
250
  `
251
251
  ];
252
252
  d([
@@ -15,6 +15,7 @@ export declare class TextArea extends LitElement {
15
15
  minlength?: number;
16
16
  maxlength?: number;
17
17
  rows: number;
18
+ maxRows: number;
18
19
  cols?: number;
19
20
  wrap: "soft" | "hard";
20
21
  resize: TextareaResize;
@@ -28,6 +29,7 @@ export declare class TextArea extends LitElement {
28
29
  disabled: boolean;
29
30
  readonly: boolean;
30
31
  private _internalError;
32
+ private _charCount;
31
33
  get textareaElement(): HTMLTextAreaElement;
32
34
  focus(): void;
33
35
  blur(): void;
@@ -42,7 +44,9 @@ export declare class TextArea extends LitElement {
42
44
  private handleKeyDown;
43
45
  private handleKeyUp;
44
46
  private handleClear;
45
- updated(changedProperties: PropertyValues): void;
46
47
  private getResizeClass;
48
+ firstUpdated(): void;
49
+ updated(changedProperties: PropertyValues): void;
50
+ private getWrapClass;
47
51
  render(): import("lit-html").TemplateResult<1>;
48
52
  }
@@ -0,0 +1,2 @@
1
+ export { TimePicker } from "./timepicker.js";
2
+ export type { TimePickerSize, TimePickerVariant } from "./timepicker.js";
@@ -0,0 +1,62 @@
1
+ import { LitElement } from "lit";
2
+ import "../Input/input.js";
3
+ import "../../shared/icons/ui-icon.js";
4
+ export type TimePickerSize = "default" | "large";
5
+ export type TimePickerVariant = "default" | "subtle";
6
+ export declare class TimePicker extends LitElement {
7
+ static styles: import("lit").CSSResult[];
8
+ /** Current value in "HH:MM" format */
9
+ value: string;
10
+ label: string;
11
+ helper: string;
12
+ error: string;
13
+ placeholder: string;
14
+ required: boolean;
15
+ disabled: boolean;
16
+ readonly: boolean;
17
+ size: TimePickerSize;
18
+ variant: TimePickerVariant;
19
+ /** Callback fired when the value changes */
20
+ onChange?: (value: string) => void;
21
+ private _isOpen;
22
+ /** Working copies — modified in popup, committed to `value` on confirm */
23
+ private _hour;
24
+ private _minute;
25
+ private _referenceEl?;
26
+ private _popupEl?;
27
+ private _popperInstance?;
28
+ connectedCallback(): void;
29
+ disconnectedCallback(): void;
30
+ willUpdate(changed: Map<string, unknown>): void;
31
+ updated(changed: Map<string, unknown>): void;
32
+ private _parseValue;
33
+ private _pad;
34
+ private _updatePopper;
35
+ private _destroyPopper;
36
+ private _showPopover;
37
+ private _hidePopover;
38
+ private _handleOutsideClick;
39
+ private _togglePopup;
40
+ private _clearValue;
41
+ private _setNow;
42
+ private _emit;
43
+ /** Handles typing inside the masked logosphere-input */
44
+ private _handleInputChange;
45
+ /** Handles the clear button click from the internal logosphere-input */
46
+ private _handleInputClear;
47
+ private _incrementHour;
48
+ private _decrementHour;
49
+ private _incrementMinute;
50
+ private _decrementMinute;
51
+ private _syncValue;
52
+ private _spinInterval?;
53
+ private _startSpin;
54
+ private _stopSpin;
55
+ private _renderPopup;
56
+ render(): import("lit-html").TemplateResult<1>;
57
+ }
58
+ declare global {
59
+ interface HTMLElementTagNameMap {
60
+ "logosphere-timepicker": TimePicker;
61
+ }
62
+ }
@@ -31,6 +31,8 @@ export declare class LogosphereChatBot extends LitElement {
31
31
  private position;
32
32
  private isDragging;
33
33
  private screenWidth;
34
+ private userAtBottom;
35
+ private showScrollDown;
34
36
  private dragStartPos;
35
37
  private initialPosition;
36
38
  private isResizing;
@@ -62,7 +64,12 @@ export declare class LogosphereChatBot extends LitElement {
62
64
  private addMessage;
63
65
  private handleKeyDown;
64
66
  private onInput;
67
+ private isNearBottom;
68
+ private onChatScroll;
65
69
  private scrollToBottom;
70
+ private onScrollToBottomClick;
71
+ private rateMessage;
72
+ private onRate;
66
73
  private onCopyMessage;
67
74
  private formatContent;
68
75
  render(): import("lit-html").TemplateResult<1>;
@@ -0,0 +1,2 @@
1
+ export * from "./toast";
2
+ export * from "./toast-container";
@@ -0,0 +1,42 @@
1
+ import { LitElement } from "lit";
2
+ import "./toast";
3
+ import type { ToastActionConfig, ToastType } from "./toast";
4
+ export type ToastOptions = {
5
+ id?: string;
6
+ type?: ToastType;
7
+ title?: string;
8
+ text: string;
9
+ icon?: string;
10
+ closeable?: boolean;
11
+ autoDismiss?: boolean;
12
+ duration?: number;
13
+ action?: ToastActionConfig;
14
+ };
15
+ export declare class LogosphereToastContainer extends LitElement {
16
+ static styles: import("lit").CSSResult[];
17
+ private visibleToasts;
18
+ private queuedToasts;
19
+ show(options: ToastOptions): string;
20
+ close(id: string): void;
21
+ clear(): void;
22
+ private dequeue;
23
+ private toToast;
24
+ private createId;
25
+ render(): import("lit-html").TemplateResult<1>;
26
+ }
27
+ export declare class ToastService {
28
+ private static container?;
29
+ static show(options: ToastOptions): string;
30
+ static success(options: Omit<ToastOptions, "type">): string;
31
+ static danger(options: Omit<ToastOptions, "type">): string;
32
+ static warning(options: Omit<ToastOptions, "type">): string;
33
+ static info(options: Omit<ToastOptions, "type">): string;
34
+ static close(id: string): void;
35
+ static clear(): void;
36
+ private static getContainer;
37
+ }
38
+ declare global {
39
+ interface HTMLElementTagNameMap {
40
+ "logosphere-toast-container": LogosphereToastContainer;
41
+ }
42
+ }
@@ -0,0 +1,48 @@
1
+ import { LitElement } from "lit";
2
+ import "../../shared/icons/ui-icon";
3
+ import "../../atoms/Button/button";
4
+ export type ToastType = "success" | "danger" | "warning" | "info";
5
+ export type ToastActionConfig = {
6
+ okayLabel?: string;
7
+ cancelLabel?: string;
8
+ onOkay?: () => void;
9
+ onCancel?: () => void;
10
+ closeOnAction?: boolean;
11
+ };
12
+ export declare class LogosphereToast extends LitElement {
13
+ static styles: import("lit").CSSResult[];
14
+ type: ToastType;
15
+ title: string;
16
+ text: string;
17
+ icon: string;
18
+ closeable: boolean;
19
+ duration: number;
20
+ autoDismiss: boolean;
21
+ action?: ToastActionConfig;
22
+ private isClosing;
23
+ private remainingMs;
24
+ private startedAt;
25
+ private timerId?;
26
+ private closeTimerId?;
27
+ connectedCallback(): void;
28
+ disconnectedCallback(): void;
29
+ updated(changedProperties: Map<string | number | symbol, unknown>): void;
30
+ close(reason?: "manual" | "auto"): void;
31
+ private get canAutoDismiss();
32
+ private get resolvedTitle();
33
+ private get resolvedText();
34
+ private get resolvedIcon();
35
+ private get hasActions();
36
+ private onActionClick;
37
+ private clearTimer;
38
+ private startTimer;
39
+ private pauseTimer;
40
+ private resumeTimer;
41
+ private restartTimer;
42
+ render(): import("lit-html").TemplateResult<1>;
43
+ }
44
+ declare global {
45
+ interface HTMLElementTagNameMap {
46
+ "logosphere-toast": LogosphereToast;
47
+ }
48
+ }
@@ -48,8 +48,8 @@
48
48
  /* ==================== SPACING ==================== */
49
49
 
50
50
  --spacing-0: 0;
51
+ --spacing-0-5: 0.125rem; /* 2px */
51
52
  --spacing-1: 0.25rem; /* 4px */
52
- --spacing-1-5: 0.375rem; /* 6px */
53
53
  --spacing-2: 0.5rem; /* 8px */
54
54
  --spacing-3: 0.75rem; /* 12px */
55
55
  --spacing-4: 1rem; /* 16px */
@@ -76,11 +76,12 @@
76
76
  /* ==================== SHADOWS ==================== */
77
77
 
78
78
  --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
79
- --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
80
- --shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
81
- --shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
82
- --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
83
- --shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
79
+ --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
80
+ --shadow-md: 0px 4px 8px -2px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.06);
81
+ --shadow-lg: 0px 12px 16px -4px rgba(0, 0, 0, 0.1), 0px 4px 6px -2px rgba(0, 0, 0, 0.05);
82
+ --shadow-xl: 0px 20px 24px -4px rgba(0, 0, 0, 0.1), 0px 8px 8px -4px rgba(0, 0, 0, 0.04);
83
+ --shadow-2xl: 0px 24px 48px -12px rgba(0, 0, 0, 0.25);
84
+ --shadow-3xl: 0px 32px 64px -12px rgba(0, 0, 0, 0.2);
84
85
  --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
85
86
 
86
87
  /* ==================== Z-INDEX SCALE ==================== */
@@ -104,96 +105,101 @@
104
105
 
105
106
  /* Body & Layout */
106
107
  --color-body-bg: #ffffff;
107
- --color-body-bg-rgb: 255, 255, 255;
108
- --color-body-text: #2b2b2b;
109
- --color-body-text-rgb: 43, 43, 43;
108
+ --color-body-color: #2b2b2b;
109
+ --color-body-bg-hover: #f8f8f8;
110
+ --color-body-bg-active: #e0e0e0;
111
+
110
112
 
111
- /* Hovers */
112
- --color-outline-hover: #7878780d;
113
113
 
114
- /* Tertiary Colors */
115
- --color-tertiary: #8e8e8e;
116
- --color-tertiary-rgb: 142, 142, 142;
117
- --color-tertiary-bg: #f8f8f8;
118
- --color-tertiary-bg-rgb: 248, 248, 248;
119
114
 
120
115
  /* Emphasis */
121
116
  --color-emphasis: #000000;
122
- --color-emphasis-rgb: 0, 0, 0;
117
+ --color-emphasis-color: #ffffff;
123
118
 
124
119
  /* Borders */
125
120
  --color-border: #e0e0e0;
126
- --color-border-success: #19875424;
127
- --color-border-warning: #f7c15924;
128
- --color-border-danger: #da5b5b24;
129
- --color-border-info: #377dff24;
130
- --color-border-rgb: 229, 231, 235;
131
- --color-primary-border-subtle: #f0b8bd;
132
-
133
- /* Primary Brand Color */
134
- --color-primary: #da5b5b;
135
- --color-primary-rgb: 218, 88, 91;
136
- --color-primary-hover: #b94d4d;
137
- --color-primary-active: #aa4547;
138
- --color-primary-bg-subtle: #f0b8bd;
139
- --color-primary-text-emphasis: #da5b5b;
121
+ --color-border-subtle: #f8f9fa;
122
+ --color-border-emphasis: #2b2b2b;
123
+
124
+ /* Tertiary Colors */
125
+ --color-tertiary: #8e8e8e;
126
+ --color-tertiary-border: #8e8e8e;
127
+ --color-tertiary-border-subtle: #e0e0e0;
128
+
129
+ /* Primary Brand Color — Logo Kırmızısı */
130
+ --color-primary: #c8102e;
131
+ --color-primary-hover: #aa0e27;
132
+ --color-primary-active: #8c0b20;
133
+ --color-primary-disabled: #efb7c0;
134
+ --color-primary-emphasis: #8c0b20;
135
+ --color-primary-border: #c8102e;
136
+ --color-primary-border-subtle: #efb7c0;
137
+ --color-primary-bg: #c8102e;
138
+ --color-primary-bg-subtle: #f7dbe0;
140
139
 
141
140
  /* Secondary Colors */
142
141
  --color-secondary: #565656;
143
- --color-secondary-rgb: 187, 187, 187;
144
- --color-secondary-bg-rgb: 75, 75, 75;
145
- --color-secondary-hover: #2b2b2b;
146
- --color-secondary-active: #fffff;
142
+ --color-secondary-color: #ffffff;
143
+ --color-secondary-hover: #333333;
144
+ --color-secondary-active: #2b2b2b;
145
+ --color-secondary-disabled: #c6c6c6;
146
+ --color-secondary-emphasis: #2b2b2b;
147
+ --color-secondary-border: #565656;
148
+ --color-secondary-border-subtle: #b0b0b0;
147
149
 
148
150
  /* Success Colors */
149
151
  --color-success: #198754;
150
- --color-success-rgb: #ebf7ed;
151
- --color-success-hover: #125f3b24;
152
- --color-success-active: #126038;
153
- --color-success-bg-subtle: #ebf7ed;
154
- --color-success-text-emphasis: #0e4a2e;
155
- --color-success-outline-text-emphasis: #157347;
156
-
157
- /* Purple Colors */
158
- --color-purple: #3D246A;
159
- --color-purple-rgb: #EDE8F4;
160
- /* Danger Colors */
161
- --color-danger: #b94d4d;
162
- --color-danger-rgb: #b94d4d15;
163
- --color-danger-hover: #99404024;
164
- --color-danger-active: #8f343b;
165
- --color-danger-bg-subtle: #f0b8bd;
166
- --color-danger-text-emphasis: #662a2a;
167
- --color-danger-outline-text-emphasis: #783232;
152
+ --color-success-subtle: #d1e7dd;
153
+ --color-success-hover: #1d754c;
154
+ --color-success-active: #206244;
155
+ --color-success-emphasis: #24503b;
156
+ --color-success-disabled: #a3cfbb;
157
+ --color-success-border: #198754;
158
+ --color-success-border-subtle: #a3cfbb;
168
159
 
169
- /* Info Colors */
170
- --color-info: #377dff24;
171
- --color-info-rgb: #ebf2ff;
172
- --color-info-hover: #2f64cc24;
173
- --color-info-active: #2661cc;
174
- --color-info-bg-subtle: #acf8ff;
175
- --color-info-text-emphasis: #1e458c;
176
- --color-info-outline-text-emphasis: #1e458c;
160
+ /* Danger Colors */
161
+ --color-danger: #dd4236;
162
+ --color-danger-subtle: #fae3e1;
163
+ --color-danger-hover: #c23f34;
164
+ --color-danger-active: #a83b33;
165
+ --color-danger-emphasis: #a83b33;
166
+ --color-danger-disabled: #f1b3af;
167
+ --color-danger-border: #dd4236;
177
168
 
178
169
  /* Warning Colors */
179
- --color-warning: #f7c15924;
180
- --color-warning-rgb: #ffedcc;
181
- --color-warning-hover: #ad873e24;
182
- --color-warning-active: #f3b128;
183
- --color-warning-bg-subtle: #ffedcc;
184
- --color-warning-text-emphasis: #886a31;
185
-
186
- /* Gray Scale */
187
- --color-gray-50: #f9fafb;
188
- --color-gray-100: #f3f4f6;
189
- --color-gray-200: #e5e7eb;
190
- --color-gray-300: #d1d5db;
191
- --color-gray-400: #9ca3af;
192
- --color-gray-500: #6b7280;
193
- --color-gray-600: #4b5563;
194
- --color-gray-700: #374151;
195
- --color-gray-800: #1f2937;
196
- --color-gray-900: #111827;
170
+ --color-warning: #f7c159;
171
+ --color-warning-subtle: #fdefd5;
172
+ --color-warning-hover: #e3b254;
173
+ --color-warning-active: #e3b254;
174
+ --color-warning-emphasis: #9b7e44;
175
+ --color-warning-disabled: #fbe0ac;
176
+ --color-warning-border: #f7c159;
177
+ --color-warning-border-subtle: #fdefd5;
178
+
179
+ /* Info Colors */
180
+ --color-info: #377dff;
181
+ --color-info-subtle: #d7e5ff;
182
+ --color-info-hover: #3571df;
183
+ --color-info-active: #3364bf;
184
+ --color-info-emphasis: #3364bf;
185
+ --color-info-disabled: #afcbff;
186
+ --color-info-border: #377dff;
187
+ --color-info-border-subtle: #afcbff;
188
+
189
+ /* Commercial / Purple */
190
+ --color-commercial-subtle: #e2d9f3;
191
+ --color-commercial-emphasis: #543985;
192
+
193
+ /* Light */
194
+ --color-light: #f8f8f8;
195
+ --color-light-bg: #f8f8f8;
196
+ --color-light-bg-2: #f8f9fa;
197
+ --color-light-border-subtle: #f8f8f8;
198
+ --color-light-text-emphasis: #333333;
199
+
200
+ /* Dark */
201
+ --color-dark: #000000;
202
+ --color-dark-bg-subtle: #e0e0e0;
197
203
  }
198
204
 
199
205
  /* ==================== DARK THEME ==================== */
@@ -202,8 +208,8 @@
202
208
  /* !* Body & Layout *!*/
203
209
  /* --color-body-bg: #2b2b2b;*/
204
210
  /* --color-body-bg-rgb: 43, 43, 43;*/
205
- /* --color-body-text: #f8f8f8;*/
206
- /* --color-body-text-rgb: 248, 248, 248;*/
211
+ /* --color-body-color: #f8f8f8;*/
212
+ /* --color-body-color-rgb: 248, 248, 248;*/
207
213
 
208
214
  /* !* Secondary Colors *!*/
209
215
  /* --color-secondary: #bbbbbb;*/
@@ -214,8 +220,8 @@
214
220
  /* --color-secondary-outline-hover: #7878780D;*/
215
221
 
216
222
  /* !* Tertiary Colors *!*/
217
- /* --color-tertiary-bg: #3a3a3a;*/
218
- /* --color-tertiary-bg-rgb: 58, 58, 58;*/
223
+ /* --color-tertiary: #3a3a3a;*/
224
+ /* --color-tertiary-rgb: 58, 58, 58;*/
219
225
 
220
226
  /* !* Emphasis *!*/
221
227
  /* --color-emphasis: #ffffff;*/