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

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-DRZ4sG4T.cjs +10 -0
  10. package/dist/button-Uu9oaieg.js +58 -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-D829aA29.cjs} +1 -1
  18. package/dist/{card-CNoTUaJC.js → card-jDDQ5DHE.js} +1 -1
  19. package/dist/card.cjs +1 -1
  20. package/dist/card.js +1 -1
  21. package/dist/{chatbot-Cn3Cvz8h.js → chatbot-CIagHZwr.js} +146 -84
  22. package/dist/chatbot-Cr1IZF4R.cjs +183 -0
  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 +186 -182
  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-BQ-a-nRG.cjs +64 -0
  66. package/dist/toast-container-Caqh4mDB.js +274 -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 +26 -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
+ }