@logosphere-ui/core 0.0.0-alpha.3 → 0.0.0-alpha.30

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 (150) 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 +10 -0
  5. package/dist/badge-BD_MRIBd.js +72 -0
  6. package/dist/badge-BV2hTvrI.cjs +13 -0
  7. package/dist/badge.cjs +1 -1
  8. package/dist/badge.js +1 -1
  9. package/dist/{breadcrumb-B-4yqoJZ.js → breadcrumb-BB61Xt0s.js} +3 -3
  10. package/dist/breadcrumb.js +1 -1
  11. package/dist/button-DRZ4sG4T.cjs +10 -0
  12. package/dist/button-Uu9oaieg.js +58 -0
  13. package/dist/button.cjs +1 -1
  14. package/dist/button.js +1 -1
  15. package/dist/calendar-CBJ4mtlE.js +652 -0
  16. package/dist/calendar-Coc9E6lD.cjs +88 -0
  17. package/dist/calendar.cjs +1 -0
  18. package/dist/calendar.js +4 -0
  19. package/dist/card-BD8FkSTi.cjs +43 -0
  20. package/dist/{card-CUhlTJyJ.js → card-CAAhjIjf.js} +26 -25
  21. package/dist/card.cjs +1 -1
  22. package/dist/card.js +1 -1
  23. package/dist/chatbot-BUYrJbTR.cjs +183 -0
  24. package/dist/chatbot-Cb2ByNkE.js +564 -0
  25. package/dist/chatbot.cjs +1 -1
  26. package/dist/chatbot.js +2 -2
  27. package/dist/{checkbox-7Rb3WKGx.js → checkbox-g6kl2jGR.js} +4 -4
  28. package/dist/checkbox.js +1 -1
  29. package/dist/combobox-G4TVTGS7.js +387 -0
  30. package/dist/combobox-kdjsT5eX.cjs +107 -0
  31. package/dist/combobox.cjs +1 -1
  32. package/dist/combobox.js +1 -1
  33. package/dist/datepicker-Cf3gLMsu.cjs +85 -0
  34. package/dist/datepicker-n5dZbuCD.js +375 -0
  35. package/dist/datepicker.cjs +1 -1
  36. package/dist/datepicker.js +2 -2
  37. package/dist/{download-manager-A4fOxGWJ.js → download-manager-BPg-6Qfg.js} +4 -4
  38. package/dist/download-manager-DDeTYRPs.cjs +97 -0
  39. package/dist/download-manager.cjs +1 -1
  40. package/dist/download-manager.js +1 -1
  41. package/dist/drawer-CViKfr6O.js +114 -0
  42. package/dist/drawer-CjM-vX41.cjs +32 -0
  43. package/dist/drawer.cjs +1 -0
  44. package/dist/drawer.js +4 -0
  45. package/dist/formfield-CRcyUMvQ.cjs +33 -0
  46. package/dist/formfield-O327HYt0.js +154 -0
  47. package/dist/formfield.cjs +1 -1
  48. package/dist/formfield.js +1 -1
  49. package/dist/index.cjs +1 -1
  50. package/dist/index.d.ts +6 -0
  51. package/dist/index.js +43 -28
  52. package/dist/index.umd.js +1029 -512
  53. package/dist/input-BJtn_iTC.js +257 -0
  54. package/dist/input-DPTTu8ZR.cjs +59 -0
  55. package/dist/input.cjs +1 -1
  56. package/dist/input.js +1 -1
  57. package/dist/left-menu.cjs +1 -0
  58. package/dist/left-menu.js +5 -0
  59. package/dist/leftmenu-DpES_nr1.js +301 -0
  60. package/dist/leftmenu-RcrjiF7g.cjs +83 -0
  61. package/dist/modal-CsEaHz0h.cjs +84 -0
  62. package/dist/modal-DHzMgFVY.js +250 -0
  63. package/dist/modal.cjs +1 -1
  64. package/dist/modal.js +1 -1
  65. package/dist/molecules/Input/input.d.ts +7 -1
  66. package/dist/molecules/Pagination/index.d.ts +1 -0
  67. package/dist/molecules/Pagination/pagination.d.ts +60 -0
  68. package/dist/molecules/Popover/popover.d.ts +1 -0
  69. package/dist/molecules/Textarea/text-area.d.ts +5 -2
  70. package/dist/molecules/TimePicker/index.d.ts +2 -0
  71. package/dist/molecules/TimePicker/timepicker.d.ts +62 -0
  72. package/dist/organisms/Calendar/calendar.d.ts +54 -0
  73. package/dist/organisms/Calendar/index.d.ts +1 -0
  74. package/dist/organisms/Calendar/shared.d.ts +9 -0
  75. package/dist/organisms/Chatbot/chatbot.d.ts +10 -1
  76. package/dist/organisms/Chatbot/index.d.ts +1 -1
  77. package/dist/organisms/Combobox/combobox.d.ts +19 -0
  78. package/dist/organisms/DatePicker/datepicker.d.ts +33 -33
  79. package/dist/organisms/Drawer/drawer.d.ts +30 -0
  80. package/dist/organisms/Drawer/index.d.ts +1 -0
  81. package/dist/organisms/LeftMenu/index.d.ts +2 -0
  82. package/dist/organisms/LeftMenu/leftmenu-item.d.ts +14 -0
  83. package/dist/organisms/LeftMenu/leftmenu.d.ts +45 -0
  84. package/dist/organisms/Modal/modal.d.ts +29 -4
  85. package/dist/organisms/Toast/index.d.ts +2 -0
  86. package/dist/organisms/Toast/toast-container.d.ts +42 -0
  87. package/dist/organisms/Toast/toast.d.ts +48 -0
  88. package/dist/organisms/TreeMenu/index.d.ts +1 -0
  89. package/dist/organisms/TreeMenu/tree-menu.d.ts +41 -0
  90. package/dist/popover-BSfKsQni.js +143 -0
  91. package/dist/popover-DhEvLuOo.cjs +30 -0
  92. package/dist/popover.cjs +1 -1
  93. package/dist/popover.js +1 -1
  94. package/dist/styles/main.css +186 -182
  95. package/dist/switch-8RGGesy5.cjs +17 -0
  96. package/dist/switch-DNqPqH-R.js +64 -0
  97. package/dist/switch.cjs +1 -1
  98. package/dist/switch.js +1 -1
  99. package/dist/tab-BmrITzOL.cjs +40 -0
  100. package/dist/{tab-BKdN4xAz.js → tab-Ca_OyNqQ.js} +5 -5
  101. package/dist/tab.cjs +1 -1
  102. package/dist/tab.js +1 -1
  103. package/dist/text-area-BztUgBL1.cjs +51 -0
  104. package/dist/text-area-DUg5BGQh.js +235 -0
  105. package/dist/textarea.cjs +1 -1
  106. package/dist/textarea.js +1 -1
  107. package/dist/timepicker-BKUTi_AU.js +316 -0
  108. package/dist/timepicker-CRtoPBMn.cjs +119 -0
  109. package/dist/timepicker.cjs +1 -0
  110. package/dist/timepicker.js +4 -0
  111. package/dist/toast-container-CHrtU7X5.js +274 -0
  112. package/dist/toast-container-T77X56AG.cjs +64 -0
  113. package/dist/toast.cjs +1 -0
  114. package/dist/toast.js +6 -0
  115. package/dist/tree-menu-5dkAPsgJ.js +154 -0
  116. package/dist/tree-menu-CdNwvOjp.cjs +47 -0
  117. package/dist/tree-menu.cjs +1 -0
  118. package/dist/tree-menu.js +4 -0
  119. package/dist/ui-icon-DKZMrOTi.cjs +22 -0
  120. package/dist/ui-icon-DrrH0WhF.js +70 -0
  121. package/package.json +56 -12
  122. package/dist/badge-BbhaO73N.cjs +0 -13
  123. package/dist/badge-DE7Tgd8Z.js +0 -71
  124. package/dist/button-C1EwOosO.js +0 -58
  125. package/dist/button-CDRccsk9.cjs +0 -10
  126. package/dist/card-n8ka8Zk-.cjs +0 -43
  127. package/dist/chatbot-Ces7Xveb.js +0 -496
  128. package/dist/chatbot-oRwt64d8.cjs +0 -160
  129. package/dist/combobox-BJbI-Tgi.js +0 -268
  130. package/dist/combobox-pmE7bgEL.cjs +0 -99
  131. package/dist/datepicker-DFJx45C-.js +0 -750
  132. package/dist/datepicker-b9JGTTMx.cjs +0 -115
  133. package/dist/directive-Z_rhNYWK.js +0 -240
  134. package/dist/directive-ekjitgzi.cjs +0 -3
  135. package/dist/download-manager-BSIMTGaK.cjs +0 -97
  136. package/dist/formfield-D_7NFFoe.cjs +0 -27
  137. package/dist/formfield-d8fp9FTV.js +0 -118
  138. package/dist/input-ByllRq9M.js +0 -192
  139. package/dist/input-DsIOQPGV.cjs +0 -46
  140. package/dist/live-BX-yBGvT.cjs +0 -1
  141. package/dist/live-WTVSYE2F.js +0 -24
  142. package/dist/modal-Bfc6WQSL.js +0 -110
  143. package/dist/modal-DQ8VFL-P.cjs +0 -39
  144. package/dist/popover-C_Ob86CJ.cjs +0 -30
  145. package/dist/popover-D-FXdEdS.js +0 -1040
  146. package/dist/switch-Cpl53nRW.js +0 -64
  147. package/dist/switch-Rnnn10bn.cjs +0 -17
  148. package/dist/tab-DcjAlXzU.cjs +0 -40
  149. package/dist/text-area-CtZY3yLA.js +0 -204
  150. package/dist/text-area-DFDF5oos.cjs +0 -44
@@ -1,115 +0,0 @@
1
- "use strict";const b=require("lit"),f=require("lit/decorators.js"),y=require("dayjs");function j(g){return g&&g.__esModule&&Object.prototype.hasOwnProperty.call(g,"default")?g.default:g}var U={exports:{}},be=U.exports,de;function Me(){return de||(de=1,(function(g,e){(function(t,r){g.exports=r()})(be,(function(){var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(r,i,p){var n=i.prototype,l=n.format;p.en.formats=t,n.format=function(d){d===void 0&&(d="YYYY-MM-DDTHH:mm:ssZ");var v=this.$locale().formats,c=(function(o,s){return o.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(w,S,M){var a=M&&M.toUpperCase();return S||s[M]||t[M]||s[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(u,_,h){return _||h.slice(1)}))}))})(d,v===void 0?{}:v);return l.call(this,c)}}}))})(U)),U.exports}var we=Me();const Ye=j(we);var W={exports:{}},ke=W.exports,le;function De(){return le||(le=1,(function(g,e){(function(t,r){g.exports=r()})(ke,(function(){var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,p=/\d\d/,n=/\d\d?/,l=/\d*[^-_:/,()\s\d]+/,d={},v=function(a){return(a=+a)+(a>68?1900:2e3)},c=function(a){return function(u){this[a]=+u}},o=[/[+-]\d\d:?(\d\d)?|Z/,function(a){(this.zone||(this.zone={})).offset=(function(u){if(!u||u==="Z")return 0;var _=u.match(/([+-]|\d\d)/g),h=60*_[1]+(+_[2]||0);return h===0?0:_[0]==="+"?-h:h})(a)}],s=function(a){var u=d[a];return u&&(u.indexOf?u:u.s.concat(u.f))},w=function(a,u){var _,h=d.meridiem;if(h){for(var D=1;D<=24;D+=1)if(a.indexOf(h(D,0,u))>-1){_=D>12;break}}else _=a===(u?"pm":"PM");return _},S={A:[l,function(a){this.afternoon=w(a,!1)}],a:[l,function(a){this.afternoon=w(a,!0)}],Q:[i,function(a){this.month=3*(a-1)+1}],S:[i,function(a){this.milliseconds=100*+a}],SS:[p,function(a){this.milliseconds=10*+a}],SSS:[/\d{3}/,function(a){this.milliseconds=+a}],s:[n,c("seconds")],ss:[n,c("seconds")],m:[n,c("minutes")],mm:[n,c("minutes")],H:[n,c("hours")],h:[n,c("hours")],HH:[n,c("hours")],hh:[n,c("hours")],D:[n,c("day")],DD:[p,c("day")],Do:[l,function(a){var u=d.ordinal,_=a.match(/\d+/);if(this.day=_[0],u)for(var h=1;h<=31;h+=1)u(h).replace(/\[|\]/g,"")===a&&(this.day=h)}],w:[n,c("week")],ww:[p,c("week")],M:[n,c("month")],MM:[p,c("month")],MMM:[l,function(a){var u=s("months"),_=(s("monthsShort")||u.map((function(h){return h.slice(0,3)}))).indexOf(a)+1;if(_<1)throw new Error;this.month=_%12||_}],MMMM:[l,function(a){var u=s("months").indexOf(a)+1;if(u<1)throw new Error;this.month=u%12||u}],Y:[/[+-]?\d+/,c("year")],YY:[p,function(a){this.year=v(a)}],YYYY:[/\d{4}/,c("year")],Z:o,ZZ:o};function M(a){var u,_;u=a,_=d&&d.formats;for(var h=(a=u.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(T,P,$){var x=$&&$.toUpperCase();return P||_[$]||t[$]||_[x].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(z,C,B){return C||B.slice(1)}))}))).match(r),D=h.length,Y=0;Y<D;Y+=1){var O=h[Y],A=S[O],L=A&&A[0],E=A&&A[1];h[Y]=E?{regex:L,parser:E}:O.replace(/^\[|\]$/g,"")}return function(T){for(var P={},$=0,x=0;$<D;$+=1){var z=h[$];if(typeof z=="string")x+=z.length;else{var C=z.regex,B=z.parser,q=T.slice(x),R=C.exec(q)[0];B.call(P,R),T=T.replace(R,"")}}return(function(H){var F=H.afternoon;if(F!==void 0){var k=H.hours;F?k<12&&(H.hours+=12):k===12&&(H.hours=0),delete H.afternoon}})(P),P}}return function(a,u,_){_.p.customParseFormat=!0,a&&a.parseTwoDigitYear&&(v=a.parseTwoDigitYear);var h=u.prototype,D=h.parse;h.parse=function(Y){var O=Y.date,A=Y.utc,L=Y.args;this.$u=A;var E=L[1];if(typeof E=="string"){var T=L[2]===!0,P=L[3]===!0,$=T||P,x=L[2];P&&(x=L[2]),d=this.$locale(),!T&&x&&(d=_.Ls[x]),this.$d=(function(q,R,H,F){try{if(["x","X"].indexOf(R)>-1)return new Date((R==="X"?1e3:1)*q);var k=M(R)(q),X=k.year,I=k.month,fe=k.day,me=k.hours,ge=k.minutes,ye=k.seconds,ve=k.milliseconds,oe=k.zone,se=k.week,J=new Date,ee=fe||(X||I?1:J.getDate()),te=X||J.getFullYear(),G=0;X&&!I||(G=I>0?I-1:J.getMonth());var K,re=me||0,ae=ge||0,ne=ye||0,ie=ve||0;return oe?new Date(Date.UTC(te,G,ee,re,ae,ne,ie+60*oe.offset*1e3)):H?new Date(Date.UTC(te,G,ee,re,ae,ne,ie)):(K=new Date(te,G,ee,re,ae,ne,ie),se&&(K=F(K).week(se).toDate()),K)}catch{return new Date("")}})(O,E,A,_),this.init(),x&&x!==!0&&(this.$L=this.locale(x).$L),$&&O!=this.format(E)&&(this.$d=new Date("")),d={}}else if(E instanceof Array)for(var z=E.length,C=1;C<=z;C+=1){L[1]=E[C-1];var B=_.apply(this,L);if(B.isValid()){this.$d=B.$d,this.$L=B.$L,this.init();break}C===z&&(this.$d=new Date(""))}else D.call(this,Y)}}}))})(W)),W.exports}var xe=De();const Se=j(xe);var Z={exports:{}},$e=Z.exports,ce;function Le(){return ce||(ce=1,(function(g,e){(function(t,r){g.exports=r()})($e,(function(){return function(t,r,i){r.prototype.isBetween=function(p,n,l,d){var v=i(p),c=i(n),o=(d=d||"()")[0]==="(",s=d[1]===")";return(o?this.isAfter(v,l):!this.isBefore(v,l))&&(s?this.isBefore(c,l):!this.isAfter(c,l))||(o?this.isBefore(v,l):!this.isAfter(v,l))&&(s?this.isAfter(c,l):!this.isBefore(c,l))}}}))})(Z)),Z.exports}var Ee=Le();const Pe=j(Ee);var N={exports:{}},ze=N.exports,ue;function Ce(){return ue||(ue=1,(function(g,e){(function(t,r){g.exports=r()})(ze,(function(){var t="week",r="year";return function(i,p,n){var l=p.prototype;l.week=function(d){if(d===void 0&&(d=null),d!==null)return this.add(7*(d-this.week()),"day");var v=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var c=n(this).startOf(r).add(1,r).date(v),o=n(this).endOf(t);if(c.isBefore(o))return 1}var s=n(this).startOf(r).date(v).startOf(t).subtract(1,"millisecond"),w=this.diff(s,t,!0);return w<0?n(this).startOf("week").week():Math.ceil(w)},l.weeks=function(d){return d===void 0&&(d=null),this.week(d)}}}))})(N)),N.exports}var Oe=Ce();const Ae=j(Oe);var V={exports:{}},Te=V.exports,he;function Be(){return he||(he=1,(function(g,e){(function(t,r){g.exports=r()})(Te,(function(){return function(t,r,i){var p=r.prototype,n=function(o){return o&&(o.indexOf?o:o.s)},l=function(o,s,w,S,M){var a=o.name?o:o.$locale(),u=n(a[s]),_=n(a[w]),h=u||_.map((function(Y){return Y.slice(0,S)}));if(!M)return h;var D=a.weekStart;return h.map((function(Y,O){return h[(O+(D||0))%7]}))},d=function(){return i.Ls[i.locale()]},v=function(o,s){return o.formats[s]||(function(w){return w.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(S,M,a){return M||a.slice(1)}))})(o.formats[s.toUpperCase()])},c=function(){var o=this;return{months:function(s){return s?s.format("MMMM"):l(o,"months")},monthsShort:function(s){return s?s.format("MMM"):l(o,"monthsShort","months",3)},firstDayOfWeek:function(){return o.$locale().weekStart||0},weekdays:function(s){return s?s.format("dddd"):l(o,"weekdays")},weekdaysMin:function(s){return s?s.format("dd"):l(o,"weekdaysMin","weekdays",2)},weekdaysShort:function(s){return s?s.format("ddd"):l(o,"weekdaysShort","weekdays",3)},longDateFormat:function(s){return v(o.$locale(),s)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};p.localeData=function(){return c.bind(this)()},i.localeData=function(){var o=d();return{firstDayOfWeek:function(){return o.weekStart||0},weekdays:function(){return i.weekdays()},weekdaysShort:function(){return i.weekdaysShort()},weekdaysMin:function(){return i.weekdaysMin()},months:function(){return i.months()},monthsShort:function(){return i.monthsShort()},longDateFormat:function(s){return v(o,s)},meridiem:o.meridiem,ordinal:o.ordinal}},i.months=function(){return l(d(),"months")},i.monthsShort=function(){return l(d(),"monthsShort","months",3)},i.weekdays=function(o){return l(d(),"weekdays",null,null,o)},i.weekdaysShort=function(o){return l(d(),"weekdaysShort","weekdays",3,o)},i.weekdaysMin=function(o){return l(d(),"weekdaysMin","weekdays",2,o)}}}))})(V)),V.exports}var He=Be();const Re=j(He);var Q={exports:{}},je=Q.exports,pe;function qe(){return pe||(pe=1,(function(g,e){(function(t,r){g.exports=r(y)})(je,(function(t){function r(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var i=r(t),p={name:"tr",weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekStart:1,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(n){return n+"."}};return i.default.locale(p,null,!0),p}))})(Q)),Q.exports}qe();const Fe='.dp{display:block;position:relative;font-family:var(--font-family-base);width:100%}.dp__input-wrapper{position:relative;width:100%}.dp__input{width:100%;height:40px;padding:0 var(--spacing-10) 0 var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-base);outline:none;font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-body-text);background-color:var(--color-body-bg);transition:border-color var(--transition-speed-fast) var(--transition-timing);box-sizing:border-box}.dp__input::placeholder{color:var(--color-tertiary)}.dp__input:focus,.dp__input--open{border-color:var(--color-primary)}.dp__input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-tertiary-bg)}.dp__input--error{border-color:var(--color-danger);background-color:var(--color-danger-bg-subtle)}.dp__input--required{border-color:var(--color-danger)}.dp__icon-btn{position:absolute;right:var(--spacing-2);top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-tertiary);display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:color var(--transition-speed-fast) var(--transition-timing)}.dp__icon-btn:hover{color:var(--color-body-text)}.dp__error-tooltip{position:absolute;top:calc(100% + var(--spacing-1));left:0;z-index:var(--z-index-tooltip);padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-body-bg);background-color:var(--color-danger);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);pointer-events:none;white-space:nowrap;font-family:var(--font-family-base)}.dp__popup{position:fixed;background-color:var(--color-body-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:var(--z-index-dropdown);padding:var(--spacing-4);box-sizing:border-box;overflow:hidden}.dp__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-3)}.dp__nav-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-2);border:none;background:none;border-radius:var(--radius-base);cursor:pointer;color:var(--color-body-text);transition:background-color var(--transition-speed-fast) var(--transition-timing)}.dp__nav-btn:hover{background-color:var(--color-tertiary-bg)}.dp__header-label{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.025em;-webkit-user-select:none;user-select:none;cursor:pointer;color:var(--color-body-text);transition:color var(--transition-speed-fast) var(--transition-timing)}.dp__header-label:hover{color:var(--color-primary)}.dp__weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:var(--font-size-sm);color:var(--color-tertiary);margin-bottom:var(--spacing-1);-webkit-user-select:none;user-select:none}.dp__weekday{padding:var(--spacing-1) 0}.dp__grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px;outline:none}.dp__day{position:relative;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;padding:0;min-width:0;border-radius:0;color:var(--color-body-text);font-family:var(--font-family-base)}.dp__day-num{position:relative;z-index:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--font-size-sm);flex-shrink:0;transition:background-color var(--transition-speed-fast) var(--transition-timing),color var(--transition-speed-fast) var(--transition-timing)}.dp__day--range-start:before,.dp__day--range-end:before,.dp__day--range-between:before{content:"";position:absolute;top:2px;bottom:2px;background-color:color-mix(in srgb,var(--color-primary) 15%,transparent);z-index:0;pointer-events:none}.dp__day--range-start:before{left:50%;right:0}.dp__day--range-end:before{left:0;right:50%}.dp__day--range-between:before{left:0;right:0}.dp__day--out-of-month{opacity:.4}.dp__day--focused .dp__day-num{background-color:var(--color-tertiary-bg)}.dp__day--disabled{cursor:not-allowed;pointer-events:none}.dp__day--disabled .dp__day-num{color:var(--color-gray-300);background-color:var(--color-gray-50)}.dp__day--disabled-weekday{cursor:not-allowed;pointer-events:none}.dp__day--disabled-weekday .dp__day-num{color:var(--color-gray-300)}.dp__day--today .dp__day-num{background-color:var(--color-gray-200);color:var(--color-gray-800)}.dp__day--selected .dp__day-num{background-color:var(--color-primary);color:#fff}.dp__day--default:hover .dp__day-num{background-color:var(--color-tertiary-bg)}.dp__day--range-pending .dp__day-num,.dp__day--range-start .dp__day-num,.dp__day--range-end .dp__day-num{background-color:var(--color-primary);color:#fff}.dp__day--range-between .dp__day-num{color:var(--color-primary);background:transparent}.dp__month-grid,.dp__year-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:10px;margin-top:var(--spacing-3)}.dp__month-btn,.dp__year-btn{height:48px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);cursor:pointer;background:none;color:var(--color-body-text);transition:background-color var(--transition-speed-fast) var(--transition-timing),color var(--transition-speed-fast) var(--transition-timing)}.dp__month-btn:hover:not(.dp__month-btn--selected),.dp__year-btn:hover:not(.dp__year-btn--selected){background-color:var(--color-tertiary-bg)}.dp__month-btn--selected,.dp__year-btn--selected{background-color:var(--color-primary);color:#fff}.dp__month-btn--current:not(.dp__month-btn--selected),.dp__year-btn--current:not(.dp__year-btn--selected){background-color:var(--color-gray-200);color:var(--color-gray-800)}.dp__footer{display:flex;align-items:center;justify-content:space-evenly;margin-top:var(--spacing-4);padding-bottom:var(--spacing-3)}.dp__footer-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-tertiary);border:none;border-radius:var(--radius-sm);background:none;cursor:pointer;font-family:var(--font-family-base);transition:background-color var(--transition-speed-fast) var(--transition-timing),color var(--transition-speed-fast) var(--transition-timing)}.dp__footer-btn:hover{background-color:var(--color-tertiary-bg);color:var(--color-body-text)}';var Ie=Object.defineProperty,Ge=Object.getOwnPropertyDescriptor,m=(g,e,t,r)=>{for(var i=r>1?void 0:r?Ge(e,t):e,p=g.length-1,n;p>=0;p--)(n=g[p])&&(i=(r?n(e,t,i):n(i))||i);return r&&i&&Ie(e,t,i),i};y.extend(Ye);y.extend(Se);y.extend(Pe);y.extend(Ae);y.extend(Re);y.locale("tr");const Ke=["DD/MM/YYYY","DD.MM.YYYY","DD MM YYYY","DD-MM-YYYY","DD/MM/YY","DD.MM.YY","DD MM YY","DD-MM-YY","YYYY-MM-DD","YYYY/MM/DD","YYYY.MM.DD","YYYY MM DD"],Ue=y.months(),_e=y.weekdaysShort(),We=[..._e.slice(1),_e[0]];let Ze=0;const Ne=()=>`dp-${++Ze}`;exports.LedsDatePicker=class extends b.LitElement{constructor(){super(...arguments),this.value=null,this.min=null,this.max=null,this.required=!1,this.disabled=!1,this.expandFactor=1.05,this.placeholder="GG/AA/YYYY veya GG.AA.YYYY",this.rangeMode=!1,this.disabledDays=[],this.rangeStart=null,this.rangeEnd=null,this._open=!1,this._cursor=y(),this._popupPos=null,this._rangeStart=null,this._rangeEnd=null,this._hoverDate=null,this._viewMode="calendar",this._hasError=!1,this._errorMsg="",this._errorTimer=null,this.inputId=Ne(),this._outsideClick=e=>{this._open&&(e.composedPath().includes(this)||(this._parseAndSetDate(),this._viewMode="calendar",this._toggleOpen(!1)))},this._onScrollOrResize=()=>{this._open&&this._recalcPopupPos()},this._clear=()=>{this._emitChange(null),this.rangeMode&&(this._rangeStart=null,this._rangeEnd=null)},this._today=()=>{const e=y();this._withinBounds(e)&&this._select(e)},this._navigatePrevious=()=>{switch(this._viewMode){case"calendar":this._cursor=this._cursor.subtract(1,"month");break;case"month":this._cursor=this._cursor.subtract(1,"year");break;case"year":this._cursor=this._cursor.subtract(12,"year");break}},this._navigateNext=()=>{switch(this._viewMode){case"calendar":this._cursor=this._cursor.add(1,"month");break;case"month":this._cursor=this._cursor.add(1,"year");break;case"year":this._cursor=this._cursor.add(12,"year");break}},this._handleHeaderClick=()=>{this._viewMode==="calendar"?this._viewMode="month":this._viewMode==="month"&&(this._viewMode="year")},this._recalcPopupPos=()=>{const e=this.renderRoot.querySelector("#"+this.inputId);if(!e)return;const t=e.getBoundingClientRect(),r=this.renderRoot.querySelector("#"+this.inputId+"-ico"),i=window.innerWidth,p=window.innerHeight,n=8,l=r?r.getBoundingClientRect().left:t.left+t.width,d=Math.round(Math.max(0,l-t.left-n)*(this.expandFactor||1)),v=Math.round(t.right-t.left-n),c=Math.max(220,Math.min(d,v));let o=Math.round(t.left);o+c>i-n&&(o=Math.max(n,Math.round(i-c-n)));const s=Math.max(0,p-t.bottom-n*2),w=Math.max(0,t.top-n*2),S=260;let M,a;s>=S||s>=w?(M=Math.round(t.bottom+n),a=Math.max(S,s)):(a=Math.max(S,w),M=Math.max(n,Math.round(t.top-n-a))),this._popupPos={left:o,top:M,width:c,maxH:a}}}willUpdate(e){if(e.has("value")&&!this._open&&!this.rangeMode){const t=this._safeDay(this.value);t&&(this._cursor=t)}e.has("rangeStart")&&(this._rangeStart=this.rangeStart),e.has("rangeEnd")&&(this._rangeEnd=this.rangeEnd)}connectedCallback(){super.connectedCallback(),window.addEventListener("click",this._outsideClick,!0),window.addEventListener("scroll",this._onScrollOrResize,!0),window.addEventListener("resize",this._onScrollOrResize)}disconnectedCallback(){window.removeEventListener("click",this._outsideClick,!0),window.removeEventListener("scroll",this._onScrollOrResize,!0),window.removeEventListener("resize",this._onScrollOrResize),this._errorTimer&&clearTimeout(this._errorTimer),super.disconnectedCallback()}_safeDay(e){if(!e)return null;for(const r of Ke){const i=y(e,r,!0);if(i.isValid())return i}const t=y(e);return t.isValid()?t:null}_withinBounds(e){const t=this._safeDay(this.min),r=this._safeDay(this.max);return!(t&&e.isBefore(t,"day")||r&&e.isAfter(r,"day")||this.disabledDays.includes(e.day()))}_displayValue(){if(this.rangeMode&&this._rangeStart&&this._rangeEnd){const t=this._safeDay(this._rangeStart),r=this._safeDay(this._rangeEnd);if(t&&r)return`${t.format("DD/MM/YYYY")} - ${r.format("DD/MM/YYYY")}`}const e=this._safeDay(this.value);return e?e.format("DD/MM/YYYY"):""}_getYears(){const e=this._cursor.year()-6;return Array.from({length:12},(t,r)=>e+r)}_getHeaderLabel(){switch(this._viewMode){case"calendar":return this._cursor.format("MMMM YYYY");case"month":return this._cursor.format("YYYY");case"year":{const e=this._getYears();return`${e[0]}-${e[e.length-1]}`}}}_daysInGrid(){const e=this._cursor.startOf("month"),t=e.subtract((e.day()+6)%7,"day");return Array.from({length:42},(r,i)=>t.add(i,"day"))}_isInRange(e){if(!this.rangeMode||!this._rangeStart||!this._rangeEnd)return null;const t=this._safeDay(this._rangeStart),r=this._safeDay(this._rangeEnd);return!t||!r?null:e.isSame(t,"day")?"start":e.isSame(r,"day")?"end":e.isBetween(t,r,"day","[]")?"between":null}_getHoverPreview(e){if(!this.rangeMode||!this._rangeStart||this._rangeEnd||!this._hoverDate)return null;const t=this._safeDay(this._rangeStart);if(!t)return null;const r=this._hoverDate,i=r.isAfter(t,"day"),p=i?t:r,n=i?r:t;return e.isSame(t,"day")?"preview-start":e.isSame(r,"day")?"preview-end":e.isAfter(p,"day")&&e.isBefore(n,"day")?"preview-between":null}_getDayClasses(e){const t=["dp__day"];if(!this._withinBounds(e))return t.push(this.disabledDays.includes(e.day())?"dp__day--disabled-weekday":"dp__day--disabled"),t.join(" ");const r=this._isInRange(e);if(r==="start")return t.push("dp__day--range-start"),t.join(" ");if(r==="end")return t.push("dp__day--range-end"),t.join(" ");if(r==="between")return t.push("dp__day--range-between"),t.join(" ");const i=this._getHoverPreview(e);return i==="preview-start"?(t.push("dp__day--range-start"),t.join(" ")):i==="preview-end"?(t.push("dp__day--range-end"),t.join(" ")):i==="preview-between"?(t.push("dp__day--range-between"),t.join(" ")):this.rangeMode&&this._rangeStart&&!this._rangeEnd&&e.isSame(this._safeDay(this._rangeStart),"day")?(t.push("dp__day--range-pending"),t.join(" ")):(e.isSame(this._safeDay(this.value),"day")?t.push("dp__day--selected"):e.isSame(y(),"day")?t.push("dp__day--today"):t.push("dp__day--default"),t.join(" "))}_emitChange(e){this.value=e,this.dispatchEvent(new CustomEvent("change",{detail:{value:e}})),this.onChange?.(e)}_emitRangeChange(){if(this._rangeStart&&this._rangeEnd){const e={start:this._rangeStart,end:this._rangeEnd};this.dispatchEvent(new CustomEvent("rangeChange",{detail:e})),this.onRangeChange?.(e)}}_showInputError(e){this._errorTimer&&clearTimeout(this._errorTimer),this._hasError=!0,this._errorMsg=e,this._errorTimer=setTimeout(()=>this._clearInputError(),3e3)}_clearInputError(){this._hasError=!1,this._errorMsg="",this._errorTimer&&(clearTimeout(this._errorTimer),this._errorTimer=null)}_toggleOpen(e){if(this.disabled)return;const t=e??!this._open;this._open=t,t||(this._hoverDate=null),t&&(this.rangeMode?this._cursor=this._safeDay(this._rangeEnd)?.clone()??this._safeDay(this._rangeStart)?.clone()??y():this._cursor=this._safeDay(this.value)?.clone()??y(),this._viewMode="calendar",this.updateComplete.then(()=>{this._recalcPopupPos(),window.requestAnimationFrame(()=>{this._recalcPopupPos(),this.renderRoot.querySelector("#grid")?.focus()})}))}_onInput(e){e.target.value.trim()||(this._emitChange(null),this.rangeMode&&(this._rangeStart=null,this._rangeEnd=null)),this._clearInputError()}_onKeydown(e){(e.key==="Tab"||e.key==="Enter")&&this._parseAndSetDate()}_parseAndSetDate(){const e=this.renderRoot.querySelector("#"+this.inputId);if(!e)return;const t=e.value.trim();if(!t){if(this.rangeMode&&this._rangeStart&&!this._rangeEnd)return;this._emitChange(null),this.rangeMode&&(this._rangeStart=null,this._rangeEnd=null);return}if(this.rangeMode&&this._rangeStart&&this._rangeEnd)return;const r=this._safeDay(t);r&&this._withinBounds(r)?(this._emitChange(r.format("YYYY-MM-DD")),this._cursor=r,this.rangeMode&&(this._rangeStart=null,this._rangeEnd=null),this._clearInputError()):this._showInputError("Geçersiz tarih formatı. Örnek: 19/09/2025")}_select(e){if(this._withinBounds(e))if(this.rangeMode)if(!this._rangeStart)this._rangeStart=e.format("YYYY-MM-DD"),this._cursor=e;else if(this._rangeEnd)this._rangeStart=e.format("YYYY-MM-DD"),this._rangeEnd=null,this._cursor=e;else{const t=this._safeDay(this._rangeStart);t&&e.isBefore(t,"day")?(this._rangeEnd=this._rangeStart,this._rangeStart=e.format("YYYY-MM-DD")):this._rangeEnd=e.format("YYYY-MM-DD"),this._cursor=e,this._viewMode="calendar",this._toggleOpen(!1),this._emitRangeChange()}else this._emitChange(e.format("YYYY-MM-DD")),this._cursor=e,this._viewMode="calendar",this._toggleOpen(!1)}_selectMonth(e){this._cursor=this._cursor.month(e),this._viewMode="calendar"}_selectYear(e){this._cursor=this._cursor.year(e),this._viewMode="month"}_keydownGrid(e){const t={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7};e.key in t?(e.preventDefault(),this._cursor=this._cursor.add(t[e.key],"day")):e.key==="Enter"||e.key===" "?(e.preventDefault(),this._select(this._cursor)):e.key==="Escape"?(e.preventDefault(),this._toggleOpen(!1)):e.key==="PageUp"?(e.preventDefault(),this._cursor=e.shiftKey?this._cursor.subtract(1,"year"):this._cursor.subtract(1,"month")):e.key==="PageDown"?(e.preventDefault(),this._cursor=e.shiftKey?this._cursor.add(1,"year"):this._cursor.add(1,"month")):e.key==="Home"?(e.preventDefault(),this._cursor=this._cursor.startOf("month")):e.key==="End"&&(e.preventDefault(),this._cursor=this._cursor.endOf("month"))}_renderCalendar(e){const t=this._daysInGrid();return b.html`
2
- <div class="dp__weekdays" role="row">
3
- ${We.map(r=>b.html`<div class="dp__weekday" role="columnheader" aria-label=${r}>${r}</div>`)}
4
- </div>
5
- <div
6
- id="grid"
7
- tabindex="0"
8
- class="dp__grid"
9
- role="grid"
10
- aria-label="Takvim"
11
- @keydown=${this._keydownGrid}
12
- @mouseleave=${()=>{this._hoverDate=null}}
13
- >
14
- ${t.map(r=>{const i=r.month()===this._cursor.month(),p=e?r.isSame(e,"day"):!1,n=r.isSame(this._cursor,"day"),l=!this._withinBounds(r),d=[this._getDayClasses(r),i?"":"dp__day--out-of-month",n?"dp__day--focused":""].filter(Boolean).join(" ");return b.html`
15
- <button
16
- class="${d}"
17
- role="gridcell"
18
- @click=${()=>!l&&this._select(r)}
19
- @mouseenter=${()=>{this.rangeMode&&this._rangeStart&&!this._rangeEnd&&(this._hoverDate=r)}}
20
- aria-selected=${p?"true":"false"}
21
- aria-disabled=${l?"true":"false"}
22
- tabindex=${n?"0":"-1"}
23
- >
24
- <span class="dp__day-num">${r.date()}</span>
25
- </button>
26
- `})}
27
- </div>
28
- `}_renderMonthGrid(){return b.html`
29
- <div class="dp__month-grid" role="grid" aria-label="Ay seçimi">
30
- ${Ue.map((e,t)=>{const r=t===this._cursor.month(),i=t===y().month()&&this._cursor.year()===y().year();return b.html`
31
- <button
32
- class="dp__month-btn ${r?"dp__month-btn--selected":""} ${i&&!r?"dp__month-btn--current":""}"
33
- role="gridcell"
34
- aria-selected=${r?"true":"false"}
35
- @click=${()=>this._selectMonth(t)}
36
- >${e}</button>
37
- `})}
38
- </div>
39
- `}_renderYearGrid(){return b.html`
40
- <div class="dp__year-grid" role="grid" aria-label="Yıl seçimi">
41
- ${this._getYears().map(e=>{const t=e===this._cursor.year(),r=e===y().year();return b.html`
42
- <button
43
- class="dp__year-btn ${t?"dp__year-btn--selected":""} ${r&&!t?"dp__year-btn--current":""}"
44
- role="gridcell"
45
- aria-selected=${t?"true":"false"}
46
- @click=${()=>this._selectYear(e)}
47
- >${e}</button>
48
- `})}
49
- </div>
50
- `}render(){const e=this._displayValue(),t=this._safeDay(this.value),r=["dp__input",this._open?"dp__input--open":"",this._hasError?"dp__input--error":"",this.required&&!e?"dp__input--required":""].filter(Boolean).join(" ");return b.html`
51
- <div class="dp">
52
- <div class="dp__input-wrapper">
53
- <input
54
- id=${this.inputId}
55
- class="${r}"
56
- .value=${e}
57
- ?disabled=${this.disabled}
58
- placeholder=${this.placeholder}
59
- aria-label="Tarih girin"
60
- aria-invalid=${this._hasError?"true":"false"}
61
- @input=${this._onInput}
62
- @keydown=${this._onKeydown}
63
- />
64
- <button
65
- id=${this.inputId+"-ico"}
66
- class="dp__icon-btn"
67
- aria-label=${this._open?"Takvimi kapat":"Takvimi aç"}
68
- aria-expanded=${this._open?"true":"false"}
69
- aria-haspopup="dialog"
70
- @click=${()=>this._toggleOpen()}
71
- >
72
- <ui-icon name="uil-calendar" size="16"></ui-icon>
73
- </button>
74
- ${this._hasError?b.html`
75
- <div class="dp__error-tooltip" role="alert">${this._errorMsg}</div>
76
- `:b.nothing}
77
- </div>
78
-
79
- ${this._open?b.html`
80
- <div
81
- class="dp__popup"
82
- style="left:${this._popupPos?.left??0}px; top:${this._popupPos?.top??0}px; width:${this._popupPos?.width??320}px; max-height:${this._popupPos?.maxH??420}px;"
83
- role="dialog"
84
- aria-modal="true"
85
- aria-label="Tarih seçici"
86
- >
87
- <div class="dp__header">
88
- <button class="dp__nav-btn" @click=${this._navigatePrevious} aria-label="Önceki">
89
- <ui-icon name="uil-arrow-left" size="16"></ui-icon>
90
- </button>
91
- <span class="dp__header-label" @click=${this._handleHeaderClick} role="button" tabindex="0">
92
- ${this._getHeaderLabel()}
93
- </span>
94
- <button class="dp__nav-btn" @click=${this._navigateNext} aria-label="Sonraki">
95
- <ui-icon name="uil-arrow-right" size="16"></ui-icon>
96
- </button>
97
- </div>
98
-
99
- ${this._viewMode==="calendar"?this._renderCalendar(t):this._viewMode==="month"?this._renderMonthGrid():this._renderYearGrid()}
100
-
101
- <div class="dp__footer">
102
- <button class="dp__footer-btn" @click=${this._today} aria-label="Bugün">
103
- <ui-icon name="uil-calendar" size="14"></ui-icon>
104
- </button>
105
- <button class="dp__footer-btn" @click=${this._clear} aria-label="Temizle">
106
- <ui-icon name="uil-trash" size="14"></ui-icon>
107
- </button>
108
- <button class="dp__footer-btn" @click=${()=>this._toggleOpen(!1)} aria-label="Kapat">
109
- <ui-icon name="uil-times" size="14"></ui-icon>
110
- </button>
111
- </div>
112
- </div>
113
- `:b.nothing}
114
- </div>
115
- `}};exports.LedsDatePicker.styles=[b.css`${b.unsafeCSS(Fe)}`];m([f.property({type:String})],exports.LedsDatePicker.prototype,"value",2);m([f.property({type:String})],exports.LedsDatePicker.prototype,"min",2);m([f.property({type:String})],exports.LedsDatePicker.prototype,"max",2);m([f.property({type:Boolean})],exports.LedsDatePicker.prototype,"required",2);m([f.property({type:Boolean})],exports.LedsDatePicker.prototype,"disabled",2);m([f.property({type:Number})],exports.LedsDatePicker.prototype,"expandFactor",2);m([f.property({type:String})],exports.LedsDatePicker.prototype,"placeholder",2);m([f.property({type:Boolean})],exports.LedsDatePicker.prototype,"rangeMode",2);m([f.property({type:Array})],exports.LedsDatePicker.prototype,"disabledDays",2);m([f.property({type:String})],exports.LedsDatePicker.prototype,"rangeStart",2);m([f.property({type:String})],exports.LedsDatePicker.prototype,"rangeEnd",2);m([f.property({attribute:!1})],exports.LedsDatePicker.prototype,"onChange",2);m([f.property({attribute:!1})],exports.LedsDatePicker.prototype,"onRangeChange",2);m([f.state()],exports.LedsDatePicker.prototype,"_open",2);m([f.state()],exports.LedsDatePicker.prototype,"_cursor",2);m([f.state()],exports.LedsDatePicker.prototype,"_popupPos",2);m([f.state()],exports.LedsDatePicker.prototype,"_rangeStart",2);m([f.state()],exports.LedsDatePicker.prototype,"_rangeEnd",2);m([f.state()],exports.LedsDatePicker.prototype,"_hoverDate",2);m([f.state()],exports.LedsDatePicker.prototype,"_viewMode",2);m([f.state()],exports.LedsDatePicker.prototype,"_hasError",2);m([f.state()],exports.LedsDatePicker.prototype,"_errorMsg",2);exports.LedsDatePicker=m([f.customElement("logosphere-datepicker")],exports.LedsDatePicker);
@@ -1,240 +0,0 @@
1
- const I = globalThis, w = (h) => h, T = I.trustedTypes, R = T ? T.createPolicy("lit-html", { createHTML: (h) => h }) : void 0, D = "$lit$", p = `lit$${Math.random().toFixed(9).slice(2)}$`, W = "?" + p, k = `<${W}>`, f = document, C = () => f.createComment(""), y = (h) => h === null || typeof h != "object" && typeof h != "function", S = Array.isArray, z = (h) => S(h) || typeof h?.[Symbol.iterator] == "function", E = `[
2
- \f\r]`, m = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, U = /-->/g, B = />/g, u = RegExp(`>|${E}(?:([^\\s"'>=/]+)(${E}*=${E}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`, "g"), O = /'/g, L = /"/g, j = /^(?:script|style|textarea|title)$/i, H = /* @__PURE__ */ Symbol.for("lit-noChange"), A = /* @__PURE__ */ Symbol.for("lit-nothing"), P = /* @__PURE__ */ new WeakMap(), g = f.createTreeWalker(f, 129);
4
- function V(h, t) {
5
- if (!S(h) || !h.hasOwnProperty("raw")) throw Error("invalid template strings array");
6
- return R !== void 0 ? R.createHTML(t) : t;
7
- }
8
- const Z = (h, t) => {
9
- const s = h.length - 1, e = [];
10
- let i, n = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", r = m;
11
- for (let a = 0; a < s; a++) {
12
- const o = h[a];
13
- let $, _, l = -1, c = 0;
14
- for (; c < o.length && (r.lastIndex = c, _ = r.exec(o), _ !== null); ) c = r.lastIndex, r === m ? _[1] === "!--" ? r = U : _[1] !== void 0 ? r = B : _[2] !== void 0 ? (j.test(_[2]) && (i = RegExp("</" + _[2], "g")), r = u) : _[3] !== void 0 && (r = u) : r === u ? _[0] === ">" ? (r = i ?? m, l = -1) : _[1] === void 0 ? l = -2 : (l = r.lastIndex - _[2].length, $ = _[1], r = _[3] === void 0 ? u : _[3] === '"' ? L : O) : r === L || r === O ? r = u : r === U || r === B ? r = m : (r = u, i = void 0);
15
- const d = r === u && h[a + 1].startsWith("/>") ? " " : "";
16
- n += r === m ? o + k : l >= 0 ? (e.push($), o.slice(0, l) + D + o.slice(l) + p + d) : o + p + (l === -2 ? a : d);
17
- }
18
- return [V(h, n + (h[s] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), e];
19
- };
20
- class x {
21
- constructor({ strings: t, _$litType$: s }, e) {
22
- let i;
23
- this.parts = [];
24
- let n = 0, r = 0;
25
- const a = t.length - 1, o = this.parts, [$, _] = Z(t, s);
26
- if (this.el = x.createElement($, e), g.currentNode = this.el.content, s === 2 || s === 3) {
27
- const l = this.el.content.firstChild;
28
- l.replaceWith(...l.childNodes);
29
- }
30
- for (; (i = g.nextNode()) !== null && o.length < a; ) {
31
- if (i.nodeType === 1) {
32
- if (i.hasAttributes()) for (const l of i.getAttributeNames()) if (l.endsWith(D)) {
33
- const c = _[r++], d = i.getAttribute(l).split(p), N = /([.?@])?(.*)/.exec(c);
34
- o.push({ type: 1, index: n, name: N[2], strings: d, ctor: N[1] === "." ? Y : N[1] === "?" ? q : N[1] === "@" ? G : M }), i.removeAttribute(l);
35
- } else l.startsWith(p) && (o.push({ type: 6, index: n }), i.removeAttribute(l));
36
- if (j.test(i.tagName)) {
37
- const l = i.textContent.split(p), c = l.length - 1;
38
- if (c > 0) {
39
- i.textContent = T ? T.emptyScript : "";
40
- for (let d = 0; d < c; d++) i.append(l[d], C()), g.nextNode(), o.push({ type: 2, index: ++n });
41
- i.append(l[c], C());
42
- }
43
- }
44
- } else if (i.nodeType === 8) if (i.data === W) o.push({ type: 2, index: n });
45
- else {
46
- let l = -1;
47
- for (; (l = i.data.indexOf(p, l + 1)) !== -1; ) o.push({ type: 7, index: n }), l += p.length - 1;
48
- }
49
- n++;
50
- }
51
- }
52
- static createElement(t, s) {
53
- const e = f.createElement("template");
54
- return e.innerHTML = t, e;
55
- }
56
- }
57
- function v(h, t, s = h, e) {
58
- if (t === H) return t;
59
- let i = e !== void 0 ? s._$Co?.[e] : s._$Cl;
60
- const n = y(t) ? void 0 : t._$litDirective$;
61
- return i?.constructor !== n && (i?._$AO?.(!1), n === void 0 ? i = void 0 : (i = new n(h), i._$AT(h, s, e)), e !== void 0 ? (s._$Co ??= [])[e] = i : s._$Cl = i), i !== void 0 && (t = v(h, i._$AS(h, t.values), i, e)), t;
62
- }
63
- class F {
64
- constructor(t, s) {
65
- this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = s;
66
- }
67
- get parentNode() {
68
- return this._$AM.parentNode;
69
- }
70
- get _$AU() {
71
- return this._$AM._$AU;
72
- }
73
- u(t) {
74
- const { el: { content: s }, parts: e } = this._$AD, i = (t?.creationScope ?? f).importNode(s, !0);
75
- g.currentNode = i;
76
- let n = g.nextNode(), r = 0, a = 0, o = e[0];
77
- for (; o !== void 0; ) {
78
- if (r === o.index) {
79
- let $;
80
- o.type === 2 ? $ = new b(n, n.nextSibling, this, t) : o.type === 1 ? $ = new o.ctor(n, o.name, o.strings, this, t) : o.type === 6 && ($ = new J(n, this, t)), this._$AV.push($), o = e[++a];
81
- }
82
- r !== o?.index && (n = g.nextNode(), r++);
83
- }
84
- return g.currentNode = f, i;
85
- }
86
- p(t) {
87
- let s = 0;
88
- for (const e of this._$AV) e !== void 0 && (e.strings !== void 0 ? (e._$AI(t, e, s), s += e.strings.length - 2) : e._$AI(t[s])), s++;
89
- }
90
- }
91
- class b {
92
- get _$AU() {
93
- return this._$AM?._$AU ?? this._$Cv;
94
- }
95
- constructor(t, s, e, i) {
96
- this.type = 2, this._$AH = A, this._$AN = void 0, this._$AA = t, this._$AB = s, this._$AM = e, this.options = i, this._$Cv = i?.isConnected ?? !0;
97
- }
98
- get parentNode() {
99
- let t = this._$AA.parentNode;
100
- const s = this._$AM;
101
- return s !== void 0 && t?.nodeType === 11 && (t = s.parentNode), t;
102
- }
103
- get startNode() {
104
- return this._$AA;
105
- }
106
- get endNode() {
107
- return this._$AB;
108
- }
109
- _$AI(t, s = this) {
110
- t = v(this, t, s), y(t) ? t === A || t == null || t === "" ? (this._$AH !== A && this._$AR(), this._$AH = A) : t !== this._$AH && t !== H && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : z(t) ? this.k(t) : this._(t);
111
- }
112
- O(t) {
113
- return this._$AA.parentNode.insertBefore(t, this._$AB);
114
- }
115
- T(t) {
116
- this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
117
- }
118
- _(t) {
119
- this._$AH !== A && y(this._$AH) ? this._$AA.nextSibling.data = t : this.T(f.createTextNode(t)), this._$AH = t;
120
- }
121
- $(t) {
122
- const { values: s, _$litType$: e } = t, i = typeof e == "number" ? this._$AC(t) : (e.el === void 0 && (e.el = x.createElement(V(e.h, e.h[0]), this.options)), e);
123
- if (this._$AH?._$AD === i) this._$AH.p(s);
124
- else {
125
- const n = new F(i, this), r = n.u(this.options);
126
- n.p(s), this.T(r), this._$AH = n;
127
- }
128
- }
129
- _$AC(t) {
130
- let s = P.get(t.strings);
131
- return s === void 0 && P.set(t.strings, s = new x(t)), s;
132
- }
133
- k(t) {
134
- S(this._$AH) || (this._$AH = [], this._$AR());
135
- const s = this._$AH;
136
- let e, i = 0;
137
- for (const n of t) i === s.length ? s.push(e = new b(this.O(C()), this.O(C()), this, this.options)) : e = s[i], e._$AI(n), i++;
138
- i < s.length && (this._$AR(e && e._$AB.nextSibling, i), s.length = i);
139
- }
140
- _$AR(t = this._$AA.nextSibling, s) {
141
- for (this._$AP?.(!1, !0, s); t !== this._$AB; ) {
142
- const e = w(t).nextSibling;
143
- w(t).remove(), t = e;
144
- }
145
- }
146
- setConnected(t) {
147
- this._$AM === void 0 && (this._$Cv = t, this._$AP?.(t));
148
- }
149
- }
150
- class M {
151
- get tagName() {
152
- return this.element.tagName;
153
- }
154
- get _$AU() {
155
- return this._$AM._$AU;
156
- }
157
- constructor(t, s, e, i, n) {
158
- this.type = 1, this._$AH = A, this._$AN = void 0, this.element = t, this.name = s, this._$AM = i, this.options = n, e.length > 2 || e[0] !== "" || e[1] !== "" ? (this._$AH = Array(e.length - 1).fill(new String()), this.strings = e) : this._$AH = A;
159
- }
160
- _$AI(t, s = this, e, i) {
161
- const n = this.strings;
162
- let r = !1;
163
- if (n === void 0) t = v(this, t, s, 0), r = !y(t) || t !== this._$AH && t !== H, r && (this._$AH = t);
164
- else {
165
- const a = t;
166
- let o, $;
167
- for (t = n[0], o = 0; o < n.length - 1; o++) $ = v(this, a[e + o], s, o), $ === H && ($ = this._$AH[o]), r ||= !y($) || $ !== this._$AH[o], $ === A ? t = A : t !== A && (t += ($ ?? "") + n[o + 1]), this._$AH[o] = $;
168
- }
169
- r && !i && this.j(t);
170
- }
171
- j(t) {
172
- t === A ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
173
- }
174
- }
175
- class Y extends M {
176
- constructor() {
177
- super(...arguments), this.type = 3;
178
- }
179
- j(t) {
180
- this.element[this.name] = t === A ? void 0 : t;
181
- }
182
- }
183
- class q extends M {
184
- constructor() {
185
- super(...arguments), this.type = 4;
186
- }
187
- j(t) {
188
- this.element.toggleAttribute(this.name, !!t && t !== A);
189
- }
190
- }
191
- class G extends M {
192
- constructor(t, s, e, i, n) {
193
- super(t, s, e, i, n), this.type = 5;
194
- }
195
- _$AI(t, s = this) {
196
- if ((t = v(this, t, s, 0) ?? A) === H) return;
197
- const e = this._$AH, i = t === A && e !== A || t.capture !== e.capture || t.once !== e.once || t.passive !== e.passive, n = t !== A && (e === A || i);
198
- i && this.element.removeEventListener(this.name, this, e), n && this.element.addEventListener(this.name, this, t), this._$AH = t;
199
- }
200
- handleEvent(t) {
201
- typeof this._$AH == "function" ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t);
202
- }
203
- }
204
- class J {
205
- constructor(t, s, e) {
206
- this.element = t, this.type = 6, this._$AN = void 0, this._$AM = s, this.options = e;
207
- }
208
- get _$AU() {
209
- return this._$AM._$AU;
210
- }
211
- _$AI(t) {
212
- v(this, t);
213
- }
214
- }
215
- const K = I.litHtmlPolyfillSupport;
216
- K?.(x, b), (I.litHtmlVersions ??= []).push("3.3.2");
217
- const Q = { ATTRIBUTE: 1, CHILD: 2, PROPERTY: 3, BOOLEAN_ATTRIBUTE: 4 }, X = (h) => (...t) => ({ _$litDirective$: h, values: t });
218
- class tt {
219
- constructor(t) {
220
- }
221
- get _$AU() {
222
- return this._$AM._$AU;
223
- }
224
- _$AT(t, s, e) {
225
- this._$Ct = t, this._$AM = s, this._$Ci = e;
226
- }
227
- _$AS(t, s) {
228
- return this.update(t, s);
229
- }
230
- update(t, s) {
231
- return this.render(...s);
232
- }
233
- }
234
- export {
235
- A,
236
- H as E,
237
- X as e,
238
- tt as i,
239
- Q as t
240
- };
@@ -1,3 +0,0 @@
1
- "use strict";const I=globalThis,w=h=>h,T=I.trustedTypes,R=T?T.createPolicy("lit-html",{createHTML:h=>h}):void 0,D="$lit$",p=`lit$${Math.random().toFixed(9).slice(2)}$`,W="?"+p,k=`<${W}>`,f=document,C=()=>f.createComment(""),H=h=>h===null||typeof h!="object"&&typeof h!="function",S=Array.isArray,z=h=>S(h)||typeof h?.[Symbol.iterator]=="function",E=`[
2
- \f\r]`,y=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,U=/-->/g,B=/>/g,u=RegExp(`>|${E}(?:([^\\s"'>=/]+)(${E}*=${E}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),O=/'/g,L=/"/g,j=/^(?:script|style|textarea|title)$/i,v=Symbol.for("lit-noChange"),$=Symbol.for("lit-nothing"),P=new WeakMap,g=f.createTreeWalker(f,129);function V(h,t){if(!S(h)||!h.hasOwnProperty("raw"))throw Error("invalid template strings array");return R!==void 0?R.createHTML(t):t}const Z=(h,t)=>{const s=h.length-1,e=[];let i,n=t===2?"<svg>":t===3?"<math>":"",r=y;for(let a=0;a<s;a++){const o=h[a];let A,_,l=-1,c=0;for(;c<o.length&&(r.lastIndex=c,_=r.exec(o),_!==null);)c=r.lastIndex,r===y?_[1]==="!--"?r=U:_[1]!==void 0?r=B:_[2]!==void 0?(j.test(_[2])&&(i=RegExp("</"+_[2],"g")),r=u):_[3]!==void 0&&(r=u):r===u?_[0]===">"?(r=i??y,l=-1):_[1]===void 0?l=-2:(l=r.lastIndex-_[2].length,A=_[1],r=_[3]===void 0?u:_[3]==='"'?L:O):r===L||r===O?r=u:r===U||r===B?r=y:(r=u,i=void 0);const d=r===u&&h[a+1].startsWith("/>")?" ":"";n+=r===y?o+k:l>=0?(e.push(A),o.slice(0,l)+D+o.slice(l)+p+d):o+p+(l===-2?a:d)}return[V(h,n+(h[s]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),e]};class x{constructor({strings:t,_$litType$:s},e){let i;this.parts=[];let n=0,r=0;const a=t.length-1,o=this.parts,[A,_]=Z(t,s);if(this.el=x.createElement(A,e),g.currentNode=this.el.content,s===2||s===3){const l=this.el.content.firstChild;l.replaceWith(...l.childNodes)}for(;(i=g.nextNode())!==null&&o.length<a;){if(i.nodeType===1){if(i.hasAttributes())for(const l of i.getAttributeNames())if(l.endsWith(D)){const c=_[r++],d=i.getAttribute(l).split(p),N=/([.?@])?(.*)/.exec(c);o.push({type:1,index:n,name:N[2],strings:d,ctor:N[1]==="."?Y:N[1]==="?"?q:N[1]==="@"?G:M}),i.removeAttribute(l)}else l.startsWith(p)&&(o.push({type:6,index:n}),i.removeAttribute(l));if(j.test(i.tagName)){const l=i.textContent.split(p),c=l.length-1;if(c>0){i.textContent=T?T.emptyScript:"";for(let d=0;d<c;d++)i.append(l[d],C()),g.nextNode(),o.push({type:2,index:++n});i.append(l[c],C())}}}else if(i.nodeType===8)if(i.data===W)o.push({type:2,index:n});else{let l=-1;for(;(l=i.data.indexOf(p,l+1))!==-1;)o.push({type:7,index:n}),l+=p.length-1}n++}}static createElement(t,s){const e=f.createElement("template");return e.innerHTML=t,e}}function m(h,t,s=h,e){if(t===v)return t;let i=e!==void 0?s._$Co?.[e]:s._$Cl;const n=H(t)?void 0:t._$litDirective$;return i?.constructor!==n&&(i?._$AO?.(!1),n===void 0?i=void 0:(i=new n(h),i._$AT(h,s,e)),e!==void 0?(s._$Co??=[])[e]=i:s._$Cl=i),i!==void 0&&(t=m(h,i._$AS(h,t.values),i,e)),t}class F{constructor(t,s){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=s}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:s},parts:e}=this._$AD,i=(t?.creationScope??f).importNode(s,!0);g.currentNode=i;let n=g.nextNode(),r=0,a=0,o=e[0];for(;o!==void 0;){if(r===o.index){let A;o.type===2?A=new b(n,n.nextSibling,this,t):o.type===1?A=new o.ctor(n,o.name,o.strings,this,t):o.type===6&&(A=new J(n,this,t)),this._$AV.push(A),o=e[++a]}r!==o?.index&&(n=g.nextNode(),r++)}return g.currentNode=f,i}p(t){let s=0;for(const e of this._$AV)e!==void 0&&(e.strings!==void 0?(e._$AI(t,e,s),s+=e.strings.length-2):e._$AI(t[s])),s++}}class b{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,s,e,i){this.type=2,this._$AH=$,this._$AN=void 0,this._$AA=t,this._$AB=s,this._$AM=e,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const s=this._$AM;return s!==void 0&&t?.nodeType===11&&(t=s.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,s=this){t=m(this,t,s),H(t)?t===$||t==null||t===""?(this._$AH!==$&&this._$AR(),this._$AH=$):t!==this._$AH&&t!==v&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):z(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==$&&H(this._$AH)?this._$AA.nextSibling.data=t:this.T(f.createTextNode(t)),this._$AH=t}$(t){const{values:s,_$litType$:e}=t,i=typeof e=="number"?this._$AC(t):(e.el===void 0&&(e.el=x.createElement(V(e.h,e.h[0]),this.options)),e);if(this._$AH?._$AD===i)this._$AH.p(s);else{const n=new F(i,this),r=n.u(this.options);n.p(s),this.T(r),this._$AH=n}}_$AC(t){let s=P.get(t.strings);return s===void 0&&P.set(t.strings,s=new x(t)),s}k(t){S(this._$AH)||(this._$AH=[],this._$AR());const s=this._$AH;let e,i=0;for(const n of t)i===s.length?s.push(e=new b(this.O(C()),this.O(C()),this,this.options)):e=s[i],e._$AI(n),i++;i<s.length&&(this._$AR(e&&e._$AB.nextSibling,i),s.length=i)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const e=w(t).nextSibling;w(t).remove(),t=e}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}}class M{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,s,e,i,n){this.type=1,this._$AH=$,this._$AN=void 0,this.element=t,this.name=s,this._$AM=i,this.options=n,e.length>2||e[0]!==""||e[1]!==""?(this._$AH=Array(e.length-1).fill(new String),this.strings=e):this._$AH=$}_$AI(t,s=this,e,i){const n=this.strings;let r=!1;if(n===void 0)t=m(this,t,s,0),r=!H(t)||t!==this._$AH&&t!==v,r&&(this._$AH=t);else{const a=t;let o,A;for(t=n[0],o=0;o<n.length-1;o++)A=m(this,a[e+o],s,o),A===v&&(A=this._$AH[o]),r||=!H(A)||A!==this._$AH[o],A===$?t=$:t!==$&&(t+=(A??"")+n[o+1]),this._$AH[o]=A}r&&!i&&this.j(t)}j(t){t===$?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class Y extends M{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===$?void 0:t}}class q extends M{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==$)}}class G extends M{constructor(t,s,e,i,n){super(t,s,e,i,n),this.type=5}_$AI(t,s=this){if((t=m(this,t,s,0)??$)===v)return;const e=this._$AH,i=t===$&&e!==$||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==$&&(e===$||i);i&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class J{constructor(t,s,e){this.element=t,this.type=6,this._$AN=void 0,this._$AM=s,this.options=e}get _$AU(){return this._$AM._$AU}_$AI(t){m(this,t)}}const K=I.litHtmlPolyfillSupport;K?.(x,b),(I.litHtmlVersions??=[]).push("3.3.2");const Q={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4},X=h=>(...t)=>({_$litDirective$:h,values:t});class tt{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,s,e){this._$Ct=t,this._$AM=s,this._$Ci=e}_$AS(t,s){return this.update(t,s)}update(t,s){return this.render(...s)}}exports.A=$;exports.E=v;exports.e=X;exports.i=tt;exports.t=Q;
@@ -1,97 +0,0 @@
1
- "use strict";const i=require("lit"),m=require("lit/decorators.js"),h=":host{display:block}.dm{font-family:var(--font-family-base)}.dm__container{width:100%;max-width:896px;margin:0 auto;padding:var(--spacing-6);background-color:var(--color-body-bg);border-radius:var(--radius-base);box-shadow:var(--shadow-md)}.dm__header{margin-bottom:var(--spacing-6)}.dm__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-body-text);margin:0 0 var(--spacing-2) 0}.dm__stats{display:flex;gap:var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-tertiary)}.dm__form{margin-bottom:var(--spacing-6);padding:var(--spacing-4);background-color:var(--color-tertiary-bg);border-radius:var(--radius-base)}.dm__form-row{display:flex;gap:var(--spacing-4)}.dm__form-field{flex:1}.dm__form-field--filename{width:192px;flex:none}.dm__input{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;font-family:var(--font-family-base);font-size:var(--font-size-sm);background-color:var(--color-body-bg);color:var(--color-body-text);box-sizing:border-box;transition:border-color var(--transition-speed-fast) var(--transition-timing)}.dm__input:focus{border-color:var(--color-primary)}.dm__submit-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-speed-fast) var(--transition-timing);white-space:nowrap}.dm__submit-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.dm__submit-btn:disabled{opacity:.5;cursor:not-allowed}.dm__form-note{margin-top:var(--spacing-3);font-size:var(--font-size-xs);color:var(--color-tertiary)}.dm__form-note p{margin:0}.dm__spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-bottom-color:#fff;border-radius:var(--radius-full);animation:dm-spin .8s linear infinite}.dm__spinner--sm{width:12px;height:12px;border-color:#3b82f64d;border-bottom-color:#3b82f6}@keyframes dm-spin{to{transform:rotate(360deg)}}@keyframes dm-pulse{0%,to{opacity:1}50%{opacity:.5}}.dm__list{display:flex;flex-direction:column;gap:var(--spacing-4)}.dm__empty{text-align:center;padding:var(--spacing-8) 0;color:var(--color-tertiary);font-size:var(--font-size-sm)}.dm__item{border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--spacing-4)}.dm__item--error{border-color:var(--color-primary-border-subtle);background-color:var(--color-danger-bg-subtle)}.dm__item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-3)}.dm__item-info{flex:1;min-width:0}.dm__item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-body-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.dm__item-url{font-size:var(--font-size-xs);color:var(--color-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.dm__item-controls{display:flex;align-items:center;gap:var(--spacing-2)}.dm__status{font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-full);font-weight:var(--font-weight-medium)}.dm__status--downloading{background-color:var(--color-info-bg-subtle);color:var(--color-info-text-emphasis)}.dm__status--paused{background-color:var(--color-warning-bg-subtle);color:var(--color-warning-text-emphasis)}.dm__status--completed{background-color:var(--color-success-bg-subtle);color:var(--color-success-text-emphasis)}.dm__status--error{background-color:var(--color-danger-bg-subtle);color:var(--color-danger-text-emphasis)}.dm__status--pending{background-color:var(--color-gray-100);color:var(--color-gray-800)}.dm__remove-btn{background:none;border:none;cursor:pointer;color:var(--color-tertiary);padding:var(--spacing-1);line-height:1;font-size:var(--font-size-sm);border-radius:var(--radius-sm);transition:color var(--transition-speed-fast) var(--transition-timing)}.dm__remove-btn:hover{color:var(--color-danger)}.dm__progress{margin-bottom:var(--spacing-3)}.dm__progress-labels{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-tertiary);margin-bottom:var(--spacing-1)}.dm__progress-track{width:100%;background-color:var(--color-gray-200);border-radius:var(--radius-full);height:8px;overflow:hidden}.dm__progress-bar{height:8px;border-radius:var(--radius-full);transition:width .3s ease}.dm__progress-bar--downloading{background-color:var(--color-info-active)}.dm__progress-bar--paused{background-color:var(--color-warning-active)}.dm__progress-bar--completed{background-color:var(--color-success)}.dm__progress-bar--error{background-color:var(--color-danger)}.dm__progress-bar--pending{background-color:var(--color-gray-400)}.dm__progress-bar--indeterminate{width:100%;animation:dm-pulse 1.5s ease-in-out infinite}.dm__item-footer{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-tertiary)}.dm__item-speeds{display:flex;gap:var(--spacing-4)}.dm__item-actions{display:flex;gap:var(--spacing-2)}.dm__action-btn{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);border:none;border-radius:var(--radius-sm);background:none;cursor:pointer;font-family:var(--font-family-base);font-size:var(--font-size-xs);transition:background-color var(--transition-speed-fast) var(--transition-timing),color var(--transition-speed-fast) var(--transition-timing)}.dm__action-btn--pause{color:var(--color-info-active)}.dm__action-btn--pause:hover{background-color:var(--color-info-bg-subtle);color:var(--color-info-text-emphasis)}.dm__action-btn--resume{color:var(--color-success)}.dm__action-btn--resume:hover{background-color:var(--color-success-bg-subtle);color:var(--color-success-text-emphasis)}.dm__status-completed{color:var(--color-success)}.dm__error-info{color:var(--color-danger)}.dm__error-label{font-weight:var(--font-weight-medium)}.dm__error-detail{font-size:var(--font-size-xs)}.dm__chunks{margin-top:var(--spacing-3);font-size:var(--font-size-xs);color:var(--color-tertiary);display:flex;flex-direction:column;gap:2px}.dm__actions{margin-top:var(--spacing-6);display:flex;justify-content:space-between;align-items:center}.dm__clear-btn{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-tertiary);background:none;border:none;cursor:pointer;font-family:var(--font-family-base);transition:color var(--transition-speed-fast) var(--transition-timing)}.dm__clear-btn:hover{color:var(--color-body-text)}.dm__persist-note{font-size:var(--font-size-sm);color:var(--color-tertiary)}";var f=Object.defineProperty,v=Object.getOwnPropertyDescriptor,u=(p,t,s,r)=>{for(var e=r>1?void 0:r?v(t,s):t,o=p.length-1,a;o>=0;o--)(a=p[o])&&(e=(r?a(t,s,e):a(e))||e);return r&&e&&f(t,s,e),e};exports.DownloadManager=class extends i.LitElement{constructor(){super(...arguments),this.chunkSize=2*1024*1024,this.maxConcurrentDownloads=3,this.maxConcurrentChunks=4,this.downloads=[],this.isAddingFiles=!1,this.activeDownloads=new Map,this.storageKey="download-manager-state",this.clearCompleted=()=>{this.downloads=this.downloads.filter(t=>t.status!=="completed"),this.requestUpdate(),this.saveState()},this.handleAddDownload=t=>{t.preventDefault();const s=t.target,r=new globalThis.FormData(s),e=r.get("url"),o=r.get("filename");if(!e?.trim())return;const a=this.downloads.find(n=>n.url===e.trim());a&&a.status!=="error"||(this.addDownload(e.trim(),o?.trim()||void 0),s.reset())}}connectedCallback(){super.connectedCallback(),this.loadState(),this.setupVisibilityChangeHandler()}disconnectedCallback(){super.disconnectedCallback(),this.saveState()}setupVisibilityChangeHandler(){document.addEventListener("visibilitychange",()=>{document.hidden&&this.saveState()})}loadState(){try{const t=globalThis.localStorage.getItem(this.storageKey);if(t){const s=JSON.parse(t);this.downloads=s.downloads||[],this.downloads.forEach(r=>{r.status==="downloading"&&(r.status="paused"),r.status==="error"&&r.error?.includes("Failed to fetch")&&(r.status="paused",r.error=void 0)})}}catch(t){console.error("Failed to load download state:",t)}}saveState(){try{const t={downloads:this.downloads.map(s=>({...s,status:s.status==="downloading"?"paused":s.status}))};globalThis.localStorage.setItem(this.storageKey,JSON.stringify(t))}catch(t){console.error("Failed to save download state:",t)}}async getFileSize(t){try{const s=await globalThis.fetch(t,{method:"HEAD",mode:"cors",credentials:"omit",signal:globalThis.AbortSignal.timeout(1e4)});if(s.ok){const r=s.headers.get("content-length");if(r){const e=parseInt(r);if(!isNaN(e)&&e>0)return e}}try{const r=await globalThis.fetch(t,{method:"GET",headers:{Range:"bytes=0-0"},mode:"cors",credentials:"omit",signal:globalThis.AbortSignal.timeout(1e4)});if(r.ok){const e=r.headers.get("content-range");if(e){const a=e.match(/\/(\d+)/);if(a){const n=parseInt(a[1]);if(!isNaN(n)&&n>0)return n}}const o=r.headers.get("content-length");if(o){const a=parseInt(o);if(!isNaN(a)&&a>0)return a}}}catch{}return 0}catch(s){return(!(s instanceof Error)||!["AbortError","ERR_EMPTY_RESPONSE","Failed to fetch"].some(r=>s.message.includes(r)))&&console.warn("Failed to get file size:",s),0}}createChunks(t){if(t===0)return[{start:0,end:this.chunkSize-1,downloaded:0,status:"pending"}];const s=[];for(let r=0;r<t;r+=this.chunkSize)s.push({start:r,end:Math.min(r+this.chunkSize-1,t-1),downloaded:0,status:"pending"});return s}async downloadChunk(t,s){const r=s.end>s.start?`bytes=${s.start+s.downloaded}-${s.end}`:`bytes=${s.start+s.downloaded}-`,e=await globalThis.fetch(t,{headers:{Range:r},signal:globalThis.AbortSignal.any([new globalThis.AbortController().signal,globalThis.AbortSignal.timeout(6e4)]),mode:"cors",credentials:"omit"});if(!e.ok){if(e.status===416)return{data:new Uint8Array(0),isComplete:!0};throw new Error(`HTTP ${e.status}: ${e.statusText}`)}const o=new Uint8Array(await e.arrayBuffer()),a=e.headers.get("content-range");let n=!1,d;if(a){const c=a.match(/\/(\d+)/);if(c){d=parseInt(c[1]);const l=a.match(/(\d+)-(\d+)/);l&&(n=parseInt(l[2])>=d-1)}}else o.length===0&&(n=!0);return{data:o,isComplete:n,actualSize:d}}async downloadFile(t){const s=new globalThis.AbortController;this.activeDownloads.set(t.id,s);try{t.status="downloading",t.startTime=Date.now(),this.requestUpdate();const r=t.chunks.filter(d=>d.status==="pending"),e=new Set,o=async d=>{const c=t.chunks[d];if(!(!c||c.status!=="pending")){c.status="downloading",e.add(d),this.requestUpdate();try{if(t.status!=="downloading")return;const l=await this.downloadChunk(t.url,c);if(t.status!=="downloading")return;c.downloaded=l.data.length,c.status="completed",t.downloaded+=c.downloaded,l.actualSize&&t.size===0&&(t.size=l.actualSize,t.size>this.chunkSize&&t.chunks.push(...this.createChunks(t.size).slice(1))),e.delete(d),this.requestUpdate(),this.saveState(),(l.isComplete||t.chunks.every(g=>g.status==="completed"))&&(t.status="completed",t.endTime=Date.now(),this.requestUpdate(),this.saveState())}catch(l){c.status="error",e.delete(d),t.chunks.filter(g=>g.status==="error").length===t.chunks.length&&(t.status="error",t.error=l instanceof Error?l.message:"All chunks failed"),this.requestUpdate(),this.saveState()}await new Promise(l=>setTimeout(l,1))}},a=[];let n=0;for(;(n<r.length||e.size>0)&&t.status==="downloading";){for(;e.size<this.maxConcurrentChunks&&n<r.length&&t.status==="downloading";)a.push(o(n)),n++;if(e.size>0)try{await Promise.race([Promise.race(a),new Promise(d=>setTimeout(d,100))])}catch{}await new Promise(d=>setTimeout(d,10))}}catch(r){(!(r instanceof Error)||r.name!=="AbortError")&&(t.status="error",t.error=r instanceof Error?r.message:"Unknown error",this.requestUpdate())}finally{this.activeDownloads.delete(t.id),this.saveState()}}pauseDownload(t){const s=this.activeDownloads.get(t);s&&(s.abort(),this.activeDownloads.delete(t));const r=this.downloads.find(e=>e.id===t);r?.status==="downloading"&&(r.status="paused",this.requestUpdate(),this.saveState())}resumeDownload(t){const s=this.downloads.find(r=>r.id===t);s?.status==="paused"&&this.downloadFile(s)}removeDownload(t){this.pauseDownload(t),this.downloads=this.downloads.filter(s=>s.id!==t),this.requestUpdate(),this.saveState()}formatBytes(t){if(t===0)return"0 Bytes";const s=1024,r=["Bytes","KB","MB","GB"],e=Math.floor(Math.log(t)/Math.log(s));return parseFloat((t/Math.pow(s,e)).toFixed(2))+" "+r[e]}formatDuration(t){const s=Math.floor(t/1e3),r=Math.floor(s/60),e=Math.floor(r/60);return e>0?`${e}h ${r%60}m ${s%60}s`:r>0?`${r}m ${s%60}s`:`${s}s`}getProgressPercentage(t){return t.size===0?t.status==="completed"?100:0:Math.round(t.downloaded/t.size*100)}getDownloadSpeed(t){if(!t.startTime)return"0 KB/s";const s=(Date.now()-t.startTime)/1e3;return s===0?"0 KB/s":this.formatBytes(t.downloaded/s)+"/s"}getETA(t){if(!t.startTime||t.downloaded===0||t.size===0)return"Unknown";const s=(Date.now()-t.startTime)/1e3;return this.formatDuration((t.size-t.downloaded)/(t.downloaded/s)*1e3)}async addDownload(t,s){try{this.isAddingFiles=!0,this.requestUpdate();try{new globalThis.URL(t)}catch{throw new Error("Invalid URL format")}const r=await this.getFileSize(t),o={id:`download_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,url:t,filename:s||t.split("/").pop()||"unknown",size:r,downloaded:0,status:"pending",chunks:this.createChunks(r)};this.downloads.push(o),this.requestUpdate(),this.saveState(),this.downloadFile(o)}catch(r){const e=r instanceof Error?r.message:"Unknown error occurred";this.downloads.push({id:`error_${Date.now()}`,url:t,filename:s||t.split("/").pop()||"unknown",size:0,downloaded:0,status:"error",chunks:[],error:e}),this.requestUpdate(),this.saveState()}finally{this.isAddingFiles=!1,this.requestUpdate()}}getStatusClass(t){return{downloading:"dm__status--downloading",paused:"dm__status--paused",completed:"dm__status--completed",error:"dm__status--error"}[t]??"dm__status--pending"}getProgressBarClass(t){return{downloading:"dm__progress-bar--downloading",paused:"dm__progress-bar--paused",completed:"dm__progress-bar--completed",error:"dm__progress-bar--error"}[t]??"dm__progress-bar--pending"}render(){const t=this.downloads.filter(e=>e.status==="downloading").length,s=this.downloads.filter(e=>e.status==="completed").length,r=this.downloads.filter(e=>e.status==="paused").length;return i.html`
2
- <div class="dm">
3
- <div class="dm__container">
4
- <div class="dm__header">
5
- <h2 class="dm__title">Download Manager</h2>
6
- <div class="dm__stats">
7
- <span>Active: ${t}</span>
8
- <span>Paused: ${r}</span>
9
- <span>Completed: ${s}</span>
10
- <span>Total: ${this.downloads.length}</span>
11
- </div>
12
- </div>
13
-
14
- <form @submit=${this.handleAddDownload} class="dm__form">
15
- <div class="dm__form-row">
16
- <div class="dm__form-field">
17
- <input type="url" name="url" placeholder="Enter download URL" required class="dm__input" />
18
- </div>
19
- <div class="dm__form-field--filename">
20
- <input type="text" name="filename" placeholder="Custom filename (optional)" class="dm__input" />
21
- </div>
22
- <button type="submit" ?disabled=${this.isAddingFiles} class="dm__submit-btn">
23
- ${this.isAddingFiles?i.html`<span class="dm__spinner"></span> Adding...`:"Add Download"}
24
- </button>
25
- </div>
26
- <div class="dm__form-note">
27
- <p><strong>Note:</strong> Some servers don't support HEAD requests. File size will be discovered during download.</p>
28
- </div>
29
- </form>
30
-
31
- <div class="dm__list">
32
- ${this.downloads.length===0?i.html`<div class="dm__empty">No downloads yet. Add a URL to get started.</div>`:this.downloads.map(e=>i.html`
33
- <div class="dm__item ${e.status==="error"?"dm__item--error":""}">
34
- <div class="dm__item-header">
35
- <div class="dm__item-info">
36
- <p class="dm__item-name">${e.filename}</p>
37
- <p class="dm__item-url">${e.url}</p>
38
- </div>
39
- <div class="dm__item-controls">
40
- <span class="dm__status ${this.getStatusClass(e.status)}">${e.status}</span>
41
- <button class="dm__remove-btn" @click=${()=>this.removeDownload(e.id)} title="Remove download">✕</button>
42
- </div>
43
- </div>
44
-
45
- <div class="dm__progress">
46
- <div class="dm__progress-labels">
47
- <span>${this.formatBytes(e.downloaded)}${e.size>0?` / ${this.formatBytes(e.size)}`:" (unknown size)"}</span>
48
- <span>${e.size>0?`${this.getProgressPercentage(e)}%`:"Downloading..."}</span>
49
- </div>
50
- <div class="dm__progress-track">
51
- ${e.size>0?i.html`<div class="dm__progress-bar ${this.getProgressBarClass(e.status)}" style="width: ${this.getProgressPercentage(e)}%"></div>`:i.html`<div class="dm__progress-bar ${this.getProgressBarClass(e.status)} dm__progress-bar--indeterminate"></div>`}
52
- </div>
53
- </div>
54
-
55
- <div class="dm__item-footer">
56
- <div class="dm__item-speeds">
57
- <span>Speed: ${e.status==="downloading"?this.getDownloadSpeed(e):"0 KB/s"}</span>
58
- <span>ETA: ${e.status==="downloading"?this.getETA(e):"Unknown"}</span>
59
- </div>
60
- <div class="dm__item-actions">
61
- ${e.status==="downloading"?i.html`
62
- <button class="dm__action-btn dm__action-btn--pause" @click=${()=>this.pauseDownload(e.id)}>
63
- <span class="dm__spinner dm__spinner--sm"></span> Pause
64
- </button>
65
- `:e.status==="paused"?i.html`
66
- <button class="dm__action-btn dm__action-btn--resume" @click=${()=>this.resumeDownload(e.id)}>Resume</button>
67
- `:e.status==="completed"?i.html`
68
- <span class="dm__status-completed">Completed</span>
69
- `:e.status==="error"?i.html`
70
- <div class="dm__error-info">
71
- <div class="dm__error-label">Error</div>
72
- <div class="dm__error-detail">${e.error}</div>
73
- </div>
74
- `:""}
75
- </div>
76
- </div>
77
-
78
- ${e.status==="downloading"?i.html`
79
- <div class="dm__chunks">
80
- <div>Chunks: ${e.chunks.filter(o=>o.status==="completed").length}/${e.chunks.length} completed</div>
81
- <div>Chunk size: ${this.formatBytes(this.chunkSize)}</div>
82
- <div>Downloaded: ${this.formatBytes(e.downloaded)}${e.size>0?` / ${this.formatBytes(e.size)}`:""}</div>
83
- </div>
84
- `:""}
85
- </div>
86
- `)}
87
- </div>
88
-
89
- ${this.downloads.length>0?i.html`
90
- <div class="dm__actions">
91
- <button class="dm__clear-btn" @click=${this.clearCompleted}>Clear Completed</button>
92
- <div class="dm__persist-note">State is automatically saved and will persist across browser sessions</div>
93
- </div>
94
- `:""}
95
- </div>
96
- </div>
97
- `}};exports.DownloadManager.styles=[i.css`${i.unsafeCSS(h)}`];u([m.property({type:Number})],exports.DownloadManager.prototype,"chunkSize",2);u([m.property({type:Number})],exports.DownloadManager.prototype,"maxConcurrentDownloads",2);u([m.property({type:Number})],exports.DownloadManager.prototype,"maxConcurrentChunks",2);u([m.state()],exports.DownloadManager.prototype,"downloads",2);u([m.state()],exports.DownloadManager.prototype,"isAddingFiles",2);exports.DownloadManager=u([m.customElement("download-manager")],exports.DownloadManager);
@@ -1,27 +0,0 @@
1
- "use strict";const l=require("lit"),r=require("lit/decorators.js"),c=":host{display:block}.formfield{position:relative;font-family:var(--font-family-base)}.formfield__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-body-text);margin-bottom:var(--spacing-2)}.formfield__required{color:var(--color-danger);margin-left:var(--spacing-1)}.formfield__container{position:relative;display:flex;align-items:flex-start;border-radius:var(--radius-base);border:1px solid var(--color-border);padding:var(--spacing-2) var(--spacing-3);background-color:var(--color-body-bg);cursor:text;transition:border-color var(--transition-speed-base) var(--transition-timing),background-color var(--transition-speed-base) var(--transition-timing)}.formfield__container--focused{border-color:var(--color-primary);background-color:var(--color-body-bg)}.formfield__container--hovered:not(.formfield__container--focused):not(.formfield__container--error):not(.formfield__container--disabled){background-color:var(--color-tertiary-bg)}.formfield__container--error{border-color:var(--color-danger);background-color:var(--color-danger-bg-subtle)}.formfield__container--disabled{background-color:var(--color-tertiary-bg);opacity:.4;cursor:not-allowed}.formfield__container--subtle:not(.formfield__container--focused):not(.formfield__container--error){border-color:transparent}.formfield__input-area{flex:1;min-width:0}.formfield__suffix{display:flex;align-items:center;flex-shrink:0;margin-left:var(--spacing-2)}.formfield__suffix:empty{display:none}.formfield__helper{font-size:var(--font-size-sm);color:var(--color-tertiary);margin-top:var(--spacing-1)}.formfield__error{font-size:var(--font-size-sm);color:var(--color-danger);margin-top:var(--spacing-1)}::slotted(input),::slotted(textarea){width:100%;border:none;outline:none;background:transparent;font-size:14px;line-height:1.5}::slotted(input:disabled),::slotted(textarea:disabled){cursor:not-allowed}";var f=Object.defineProperty,p=Object.getOwnPropertyDescriptor,o=(n,e,t,s)=>{for(var i=s>1?void 0:s?p(e,t):e,a=n.length-1,d;a>=0;a--)(d=n[a])&&(i=(s?d(e,t,i):d(i))||i);return s&&i&&f(e,t,i),i};exports.FormField=class extends l.LitElement{constructor(){super(...arguments),this.label="",this.helper="",this.error="",this.placeholder="",this.size="default",this.variant="default",this.required=!1,this.disabled=!1,this.readonly=!1,this._focused=!1,this._hovered=!1,this.handleSlotFocus=e=>{const t=e.target;["INPUT","TEXTAREA","SELECT"].includes(t.tagName)&&(this._focused=!0,this.dispatchEvent(new CustomEvent("field-focus",{bubbles:!0,composed:!0,detail:{originalEvent:e}})))},this.handleSlotBlur=e=>{const t=e.target;["INPUT","TEXTAREA","SELECT"].includes(t.tagName)&&(this._focused=!1,this.dispatchEvent(new CustomEvent("field-blur",{bubbles:!0,composed:!0,detail:{originalEvent:e}})))},this.handleMouseEnter=()=>{this._hovered=!0},this.handleMouseLeave=()=>{this._hovered=!1},this.handleContainerClick=e=>{const t=e.target;if(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(t.tagName))return;this.shadowRoot?.querySelector("slot:not([name])")?.assignedElements({flatten:!0}).find(a=>["INPUT","TEXTAREA","SELECT"].includes(a.tagName))?.focus()}}connectedCallback(){super.connectedCallback(),this.addEventListener("focus",this.handleSlotFocus,!0),this.addEventListener("blur",this.handleSlotBlur,!0)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("focus",this.handleSlotFocus,!0),this.removeEventListener("blur",this.handleSlotBlur,!0)}render(){const e=!!this.error,t=!e&&!!this.helper,s=["formfield__container",e?"formfield__container--error":"",this._focused?"formfield__container--focused":"",this._hovered?"formfield__container--hovered":"",this.disabled?"formfield__container--disabled":"",this.variant==="subtle"?"formfield__container--subtle":""].filter(Boolean).join(" ");return l.html`
2
- <div class="formfield">
3
- ${this.label?l.html`
4
- <label class="formfield__label">
5
- ${this.label}
6
- ${this.required?l.html`<span class="formfield__required">*</span>`:""}
7
- </label>
8
- `:""}
9
-
10
- <div
11
- class="${s}"
12
- @mouseenter=${this.handleMouseEnter}
13
- @mouseleave=${this.handleMouseLeave}
14
- @click=${this.handleContainerClick}
15
- >
16
- <div class="formfield__input-area">
17
- <slot></slot>
18
- </div>
19
- <div class="formfield__suffix">
20
- <slot name="suffix"></slot>
21
- </div>
22
- </div>
23
-
24
- ${t?l.html`<div class="formfield__helper">${this.helper}</div>`:""}
25
- ${e?l.html`<div class="formfield__error">${this.error}</div>`:""}
26
- </div>
27
- `}};exports.FormField.styles=[l.css`${l.unsafeCSS(c)}`];o([r.property({type:String})],exports.FormField.prototype,"label",2);o([r.property({type:String})],exports.FormField.prototype,"helper",2);o([r.property({type:String})],exports.FormField.prototype,"error",2);o([r.property({type:String})],exports.FormField.prototype,"placeholder",2);o([r.property({type:String})],exports.FormField.prototype,"size",2);o([r.property({type:String})],exports.FormField.prototype,"variant",2);o([r.property({type:Boolean})],exports.FormField.prototype,"required",2);o([r.property({type:Boolean})],exports.FormField.prototype,"disabled",2);o([r.property({type:Boolean})],exports.FormField.prototype,"readonly",2);o([r.state()],exports.FormField.prototype,"_focused",2);o([r.state()],exports.FormField.prototype,"_hovered",2);exports.FormField=o([r.customElement("logosphere-formfield")],exports.FormField);