godown 3.11.2 → 3.13.0

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 (161) hide show
  1. package/build/godown+lit.iife.js +12 -13
  2. package/build/godown+lit.iife.js.map +1 -1
  3. package/build/godown+lit.js +11 -12
  4. package/build/godown+lit.js.map +1 -1
  5. package/build/godown+lit.umd.js +12 -13
  6. package/build/godown+lit.umd.js.map +1 -1
  7. package/build/godown.iife.js +9 -8
  8. package/build/godown.iife.js.map +1 -0
  9. package/build/godown.js +7 -7
  10. package/build/godown.js.map +1 -1
  11. package/build/godown.umd.js +8 -8
  12. package/build/godown.umd.js.map +1 -1
  13. package/custom-elements.json +1 -1
  14. package/index.d.ts +1 -0
  15. package/index.d.ts.map +1 -1
  16. package/index.js +1 -1
  17. package/internal/global-style.d.ts.map +1 -1
  18. package/internal/global-style.js +1 -1
  19. package/internal/global-style.js.map +1 -1
  20. package/internal/popover.d.ts +3 -0
  21. package/internal/popover.d.ts.map +1 -0
  22. package/internal/popover.js +2 -0
  23. package/internal/popover.js.map +1 -0
  24. package/internal/reset-style.d.ts +3 -0
  25. package/internal/reset-style.d.ts.map +1 -0
  26. package/internal/reset-style.js +2 -0
  27. package/internal/reset-style.js.map +1 -0
  28. package/internal/ring.d.ts +1 -0
  29. package/internal/ring.d.ts.map +1 -1
  30. package/internal/ring.js +1 -1
  31. package/internal/ring.js.map +1 -1
  32. package/internal/super-input.d.ts +1 -4
  33. package/internal/super-input.d.ts.map +1 -1
  34. package/internal/super-input.js +1 -1
  35. package/internal/super-input.js.map +1 -1
  36. package/internal/utils.d.ts +2 -0
  37. package/internal/utils.d.ts.map +1 -0
  38. package/internal/utils.js +2 -0
  39. package/internal/utils.js.map +1 -0
  40. package/package.json +3 -4
  41. package/popover.d.ts +2 -0
  42. package/popover.d.ts.map +1 -0
  43. package/popover.js +2 -0
  44. package/popover.js.map +1 -0
  45. package/src/index.ts +1 -0
  46. package/src/internal/global-style.ts +6 -34
  47. package/src/internal/popover.ts +64 -0
  48. package/src/internal/reset-style.ts +63 -0
  49. package/src/internal/ring.ts +3 -2
  50. package/src/internal/super-input.ts +2 -33
  51. package/src/internal/utils.ts +10 -0
  52. package/src/popover.ts +1 -0
  53. package/src/web-components/alert/component.ts +5 -4
  54. package/src/web-components/avatar/component.ts +1 -0
  55. package/src/web-components/button/component.ts +22 -18
  56. package/src/web-components/card/component.ts +3 -2
  57. package/src/web-components/chip/component.ts +1 -3
  58. package/src/web-components/details/component.ts +28 -17
  59. package/src/web-components/dialog/component.ts +51 -67
  60. package/src/web-components/heading/component.ts +0 -1
  61. package/src/web-components/input/component.ts +38 -30
  62. package/src/web-components/layout/component.ts +1 -0
  63. package/src/web-components/link/component.ts +0 -2
  64. package/src/web-components/popover/component.ts +172 -0
  65. package/src/web-components/popover/definition.ts +11 -0
  66. package/src/web-components/range/component.ts +2 -1
  67. package/src/web-components/rotate/component.ts +0 -1
  68. package/src/web-components/select/component.ts +109 -173
  69. package/src/web-components/split/component.ts +2 -2
  70. package/src/web-components/switch/component.ts +2 -1
  71. package/src/web-components/tabs/component.ts +99 -100
  72. package/src/web-components/text/component.ts +47 -52
  73. package/src/web-components/time/component.ts +5 -15
  74. package/src/web-components/tooltip/component.ts +44 -111
  75. package/vscode.css-custom-data.json +1 -1
  76. package/vscode.html-custom-data.json +1 -1
  77. package/web-components/alert/component.d.ts.map +1 -1
  78. package/web-components/alert/component.js +1 -1
  79. package/web-components/alert/component.js.map +1 -1
  80. package/web-components/avatar/component.d.ts.map +1 -1
  81. package/web-components/avatar/component.js +1 -1
  82. package/web-components/avatar/component.js.map +1 -1
  83. package/web-components/button/component.d.ts.map +1 -1
  84. package/web-components/button/component.js +1 -1
  85. package/web-components/button/component.js.map +1 -1
  86. package/web-components/card/component.d.ts.map +1 -1
  87. package/web-components/card/component.js +1 -1
  88. package/web-components/card/component.js.map +1 -1
  89. package/web-components/chip/component.d.ts +1 -3
  90. package/web-components/chip/component.d.ts.map +1 -1
  91. package/web-components/chip/component.js.map +1 -1
  92. package/web-components/details/component.d.ts +9 -13
  93. package/web-components/details/component.d.ts.map +1 -1
  94. package/web-components/details/component.js +1 -1
  95. package/web-components/details/component.js.map +1 -1
  96. package/web-components/dialog/component.d.ts +12 -14
  97. package/web-components/dialog/component.d.ts.map +1 -1
  98. package/web-components/dialog/component.js +1 -1
  99. package/web-components/dialog/component.js.map +1 -1
  100. package/web-components/heading/component.d.ts.map +1 -1
  101. package/web-components/heading/component.js +1 -1
  102. package/web-components/heading/component.js.map +1 -1
  103. package/web-components/input/component.d.ts +3 -1
  104. package/web-components/input/component.d.ts.map +1 -1
  105. package/web-components/input/component.js +1 -1
  106. package/web-components/input/component.js.map +1 -1
  107. package/web-components/layout/component.d.ts.map +1 -1
  108. package/web-components/layout/component.js +1 -1
  109. package/web-components/layout/component.js.map +1 -1
  110. package/web-components/link/component.d.ts.map +1 -1
  111. package/web-components/link/component.js +1 -1
  112. package/web-components/link/component.js.map +1 -1
  113. package/web-components/popover/component.d.ts +35 -0
  114. package/web-components/popover/component.d.ts.map +1 -0
  115. package/web-components/popover/component.js +2 -0
  116. package/web-components/popover/component.js.map +1 -0
  117. package/web-components/popover/definition.d.ts +8 -0
  118. package/web-components/popover/definition.d.ts.map +1 -0
  119. package/web-components/popover/definition.js +2 -0
  120. package/web-components/popover/definition.js.map +1 -0
  121. package/web-components/range/component.d.ts.map +1 -1
  122. package/web-components/range/component.js +1 -1
  123. package/web-components/range/component.js.map +1 -1
  124. package/web-components/rotate/component.d.ts.map +1 -1
  125. package/web-components/rotate/component.js.map +1 -1
  126. package/web-components/select/component.d.ts +11 -27
  127. package/web-components/select/component.d.ts.map +1 -1
  128. package/web-components/select/component.js +1 -1
  129. package/web-components/select/component.js.map +1 -1
  130. package/web-components/split/component.js +1 -1
  131. package/web-components/split/component.js.map +1 -1
  132. package/web-components/switch/component.d.ts.map +1 -1
  133. package/web-components/switch/component.js +1 -1
  134. package/web-components/switch/component.js.map +1 -1
  135. package/web-components/tabs/component.d.ts +18 -25
  136. package/web-components/tabs/component.d.ts.map +1 -1
  137. package/web-components/tabs/component.js +1 -1
  138. package/web-components/tabs/component.js.map +1 -1
  139. package/web-components/text/component.d.ts +4 -7
  140. package/web-components/text/component.d.ts.map +1 -1
  141. package/web-components/text/component.js +1 -1
  142. package/web-components/text/component.js.map +1 -1
  143. package/web-components/time/component.d.ts +2 -2
  144. package/web-components/time/component.d.ts.map +1 -1
  145. package/web-components/time/component.js +1 -1
  146. package/web-components/time/component.js.map +1 -1
  147. package/web-components/tooltip/component.d.ts +15 -39
  148. package/web-components/tooltip/component.d.ts.map +1 -1
  149. package/web-components/tooltip/component.js +1 -1
  150. package/web-components/tooltip/component.js.map +1 -1
  151. package/web-types.json +1 -1
  152. package/internal/direction.d.ts +0 -27
  153. package/internal/direction.d.ts.map +0 -1
  154. package/internal/direction.js +0 -2
  155. package/internal/direction.js.map +0 -1
  156. package/internal/super-openable.d.ts +0 -15
  157. package/internal/super-openable.d.ts.map +0 -1
  158. package/internal/super-openable.js +0 -2
  159. package/internal/super-openable.js.map +0 -1
  160. package/src/internal/direction.ts +0 -65
  161. package/src/internal/super-openable.ts +0 -34
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/layout/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D;;;;;;;;;;;;;GAaG;AACH,cAkCM,MAAO,SAAQ,WAAW;IAC9B;;OAEG;IAEH,MAAM,UAAS;IAEf,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;CAYtC;AAED,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/layout/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D;;;;;;;;;;;;;GAaG;AACH,cAmCM,MAAO,SAAQ,WAAW;IAC9B;;OAEG;IAEH,MAAM,UAAS;IAEf,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;CAYtC;AAED,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{__decorate as t}from"tslib";import{godown as o,styles as r,attr as e,htmlSlot as i}from"@godown/element";import{css as a,html as s}from"lit";import{property as p}from"lit/decorators.js";import{GlobalStyle as d}from"../../internal/global-style.js";let n=class Layout extends d{constructor(){super(...arguments),this.sticky=!1}render(){return s`<div part="root" ${e(this.observedRecord)}> <header part="header">${i("header")}</header> <main part="main">${i()}</main> <footer part="footer">${i("footer")}</footer> </div>`}};t([p({type:Boolean})],n.prototype,"sticky",void 0),n=t([o("layout"),r(a`:host{flex-direction:column;grid-template-rows:auto 1fr auto;min-height:100%;width:100%}:host,:host([contents]) [part=root]{display:flex}[part=root]{display:contents}[part=main]{flex:1;width:100%}[part=footer],[part=header]{flex-shrink:0;width:100%}[sticky] header{position:sticky;top:0}`)],n);var l=n;export{n as Layout,l as default};
1
+ import{__decorate as t}from"tslib";import{godown as o,styles as r,attr as e,htmlSlot as i}from"@godown/element";import{css as a,html as s}from"lit";import{property as p}from"lit/decorators.js";import{GlobalStyle as d}from"../../internal/global-style.js";let n=class Layout extends d{constructor(){super(...arguments),this.sticky=!1}render(){return s`<div part="root" ${e(this.observedRecord)}> <header part="header">${i("header")}</header> <main part="main">${i()}</main> <footer part="footer">${i("footer")}</footer> </div>`}};t([p({type:Boolean})],n.prototype,"sticky",void 0),n=t([o("layout"),r(a`:host{flex-direction:column;grid-template-rows:auto 1fr auto;height:100%;min-height:100%;width:100%}:host,:host([contents]) [part=root]{display:flex}[part=root]{display:contents}[part=main]{flex:1;width:100%}[part=footer],[part=header]{flex-shrink:0;width:100%}[sticky] header{position:sticky;top:0}`)],n);var l=n;export{n as Layout,l as default};
2
2
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../src/web-components/layout/component.ts"],"sourcesContent":null,"names":["Layout","GlobalStyle","constructor","this","sticky","render","html","attr","observedRecord","htmlSlot","__decorate"],"mappings":"8PAwDA,IAAMA,EAAN,MAAMA,eAAeC,EAArB,WAAAC,uBAKEC,KAAMC,QAAG,EAEC,MAAAC,GACR,OAAOC,CAAI,oBAAAC,EAAAJ,KAAAK,0CAAAC,EAAA,wCAAAA,oCAAAA,EAAA,8BAGLC,EAAA,iDAGkBV,EAAAU,EAAA,GAhEV,0TAoEhBV"}
1
+ {"version":3,"file":"component.js","sources":["../../src/web-components/layout/component.ts"],"sourcesContent":null,"names":["Layout","GlobalStyle","constructor","this","sticky","render","html","attr","observedRecord","htmlSlot","__decorate"],"mappings":"8PAyDA,IAAMA,EAAN,MAAMA,eAAeC,EAArB,WAAAC,uBAKEC,KAAMC,QAAG,EAEC,MAAAC,GACR,OAAOC,CAAI,oBAAAC,EAAAJ,KAAAK,0CAAAC,EAAA,wCAAAA,oCAAAA,EAAA,8BAGLC,EAAA,iDAGkBV,EAAAU,EAAA,GAjEV,sUAqEhBV"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/link/component.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAC9D,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAIzD,QAAA,MAAM,SAAS;;;;;CAKL,CAAC;AAEX,KAAK,QAAQ,GAAG,MAAM,OAAO,SAAS,CAAC;AAEvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAiBM,IAAK,SAAQ,WAAW;IAC5B;;;;;;OAMG;IAEH,IAAI,EAAE,QAAQ,CAAkB;IAEhC;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IAEH,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAW;IAE1D;;OAEG;IACH,KAAK,KAAM;IAEX,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IA6B3C,WAAW,EAAE,MAAM,IAAI,CAcrB;IAEF,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;CAatC;AAED,eAAe,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/link/component.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAC9D,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAIzD,QAAA,MAAM,SAAS;;;;;CAKL,CAAC;AAEX,KAAK,QAAQ,GAAG,MAAM,OAAO,SAAS,CAAC;AAEvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAeM,IAAK,SAAQ,WAAW;IAC5B;;;;;;OAMG;IAEH,IAAI,EAAE,QAAQ,CAAkB;IAEhC;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IAEH,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAW;IAE1D;;OAEG;IACH,KAAK,KAAM;IAEX,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IA6B3C,WAAW,EAAE,MAAM,IAAI,CAcrB;IAEF,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;CAatC;AAED,eAAe,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{__decorate as t}from"tslib";import{godown as e,styles as r,attr as o,htmlSlot as s}from"@godown/element";import{property as a}from"lit/decorators.js";import i from"../router/component.js";import{css as h,nothing as p,html as n}from"lit";import{GlobalStyle as l}from"../../internal/global-style.js";const c="push",d="replace",f="normal",u="auto";let m=class Link extends l{constructor(){super(...arguments),this.type=u,this.suppress=!1,this.replace=!1,this.target="_self",this.state={},this.handleState=()=>{switch(this.type){case u:case c:if(!this.replace){history.pushState(this.state,"",this.href);break}case d:history.replaceState(this.state,"",this.href)}}}get pathname(){return new URL(this.href,location.href).pathname}_handleClick(t){const{state:e,type:r,href:o,pathname:s,suppress:a}=this;if(!o)return;if(this.dispatchCustomEvent("navigate",{...this.observedRecord,pathname:s,state:e}),o.startsWith("#")||r===f)return;this.handleState();const h=[...i.routerInstances];a||r===u&&!h.some((t=>t.search(location.pathname)))||(t.preventDefault(),i.routerInstances.forEach((t=>{t.handlePopstate()})))}render(){return n`<a part="root" ${o(this.observedRecord)} href="${this.href||p}" target="${this.target}" @click=${this._handleClick}> ${s()} </a>`}};t([a()],m.prototype,"type",void 0),t([a({type:Boolean})],m.prototype,"suppress",void 0),t([a({type:Boolean})],m.prototype,"replace",void 0),t([a()],m.prototype,"href",void 0),t([a()],m.prototype,"target",void 0),m=t([e("link"),r(h`:host{color:currentColor;cursor:default;display:inline-block}:host([href]){cursor:pointer}a{color:currentColor;display:contents}`)],m);var y=m;export{m as Link,y as default};
1
+ import{__decorate as t}from"tslib";import{godown as e,styles as r,attr as s,htmlSlot as o}from"@godown/element";import{property as a}from"lit/decorators.js";import i from"../router/component.js";import{css as h,nothing as p,html as n}from"lit";import{GlobalStyle as l}from"../../internal/global-style.js";const c="push",d="replace",f="normal",m="auto";let u=class Link extends l{constructor(){super(...arguments),this.type=m,this.suppress=!1,this.replace=!1,this.target="_self",this.state={},this.handleState=()=>{switch(this.type){case m:case c:if(!this.replace){history.pushState(this.state,"",this.href);break}case d:history.replaceState(this.state,"",this.href)}}}get pathname(){return new URL(this.href,location.href).pathname}_handleClick(t){const{state:e,type:r,href:s,pathname:o,suppress:a}=this;if(!s)return;if(this.dispatchCustomEvent("navigate",{...this.observedRecord,pathname:o,state:e}),s.startsWith("#")||r===f)return;this.handleState();const h=[...i.routerInstances];a||r===m&&!h.some((t=>t.search(location.pathname)))||(t.preventDefault(),i.routerInstances.forEach((t=>{t.handlePopstate()})))}render(){return n`<a part="root" ${s(this.observedRecord)} href="${this.href||p}" target="${this.target}" @click=${this._handleClick}> ${o()} </a>`}};t([a()],u.prototype,"type",void 0),t([a({type:Boolean})],u.prototype,"suppress",void 0),t([a({type:Boolean})],u.prototype,"replace",void 0),t([a()],u.prototype,"href",void 0),t([a()],u.prototype,"target",void 0),u=t([e("link"),r(h`:host{cursor:default;display:inline-block}:host([href]){cursor:pointer}a{display:contents}`)],u);var y=u;export{u as Link,y as default};
2
2
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../src/web-components/link/component.ts"],"sourcesContent":null,"names":["linkTypes","Link","GlobalStyle","constructor","this","type","suppress","replace","target","state","handleState","history","pushState","href","replaceState","pathname","URL","location","_handleClick","e","dispatchCustomEvent","observedRecord","startsWith","routers","Router","routerInstances","some","i","search","preventDefault","forEach","handlePopstate","render","html","attr","nothing","htmlSlot","__decorate","prototype","Boolean","property","godown","styles","css","Link$1"],"mappings":"iTAOA,MAEMA,EACE,OADFA,EAEK,UAFLA,EAGI,SAHJA,EAIE,OAyCR,IAAMC,EAAN,MAAMA,aAAaC,EAAnB,WAAAC,uBASEC,KAAAC,KAAiBL,EAMjBI,KAAQE,UAAG,EAMXF,KAAOG,SAAG,EAYVH,KAAMI,OAA4C,QAKlDJ,KAAKK,MAAG,CAAE,EAmCVL,KAAWM,YAAe,KACxB,OAAQN,KAAKC,MACX,KAAKL,EACL,KAAKA,EACH,IAAKI,KAAKG,QAAS,CAEjBI,QAAQC,UAAUR,KAAKK,MAAO,GAAIL,KAAKS,MACvC,MAGJ,KAAKb,EACHW,QAAQG,aAAaV,KAAKK,MAAO,GAAIL,KAAKS,QA5ChD,YAAIE,GACF,OAAO,IAAIC,IAAIZ,KAAKS,KAAMI,SAASJ,MAAME,SAGjC,YAAAG,CAAaC,GACrB,MAAMV,MAAEA,EAAKJ,KAAEA,EAAIQ,KAAEA,EAAIE,SAAEA,EAAQT,SAAEA,GAAaF,KAClD,IAAKS,EACH,OAOF,GALAT,KAAKgB,oBAAoB,WAAY,IAChChB,KAAKiB,eACRN,WACAN,UAEEI,EAAKS,WAAW,MAAQjB,IAASL,EACnC,OAEFI,KAAKM,cACL,MAAMa,EAAU,IAAIC,EAAOC,iBAGxBnB,GACAD,IAASL,IAERuB,EAAQG,MAAMC,GAAMA,EAAEC,OAAOX,SAASF,cAExCI,EAAEU,iBACFL,EAAOC,gBAAgBK,SAASH,IAC9BA,EAAEI,gBAAgB,KAqBd,MAAAC,GACR,OAAOC,CAAI,kBAAAC,EAAA9B,KAAAiB,yBAAAjB,KAAAS,MAAAsB,cAAA/B,KAAAI,kBAAAJ,KAAAc,iBAAAkB,aAGLC,EAAA,MAEQpC,EAAAqC,UAAA,YAAW,GACZD,EAAA,oBAEPpC,EAAAqC,UAAU,gBAAA,QAEf,CAAAjC,KAAAkC,aACHD,UAAA,eAAA,KACD,CA7FCE,KADCvC,EAAAqC,UAAU,YAAA,GACqBD,EAAA,CAMhCG,KADCvC,EAAAqC,UAAe,iBACCrC,EAAAoC,EAAA,CAMjBI,EApEgB,QAmEfC,EAAAC,CAAW,qIACI1C,GAMhB,IAAA2C,EAAA3C"}
1
+ {"version":3,"file":"component.js","sources":["../../src/web-components/link/component.ts"],"sourcesContent":null,"names":["linkTypes","Link","GlobalStyle","constructor","this","type","suppress","replace","target","state","handleState","history","pushState","href","replaceState","pathname","URL","location","_handleClick","e","dispatchCustomEvent","observedRecord","startsWith","routers","Router","routerInstances","some","i","search","preventDefault","forEach","handlePopstate","render","html","attr","nothing","htmlSlot","__decorate","prototype","Boolean","property","godown","styles","css","Link$1"],"mappings":"iTAOA,MAEMA,EACE,OADFA,EAEK,UAFLA,EAGI,SAHJA,EAIE,OAuCR,IAAMC,EAAN,MAAMA,aAAaC,EAAnB,WAAAC,uBASEC,KAAAC,KAAiBL,EAMjBI,KAAQE,UAAG,EAMXF,KAAOG,SAAG,EAYVH,KAAMI,OAA4C,QAKlDJ,KAAKK,MAAG,CAAE,EAmCVL,KAAWM,YAAe,KACxB,OAAQN,KAAKC,MACX,KAAKL,EACL,KAAKA,EACH,IAAKI,KAAKG,QAAS,CAEjBI,QAAQC,UAAUR,KAAKK,MAAO,GAAIL,KAAKS,MACvC,MAGJ,KAAKb,EACHW,QAAQG,aAAaV,KAAKK,MAAO,GAAIL,KAAKS,QA5ChD,YAAIE,GACF,OAAO,IAAIC,IAAIZ,KAAKS,KAAMI,SAASJ,MAAME,SAGjC,YAAAG,CAAaC,GACrB,MAAMV,MAAEA,EAAKJ,KAAEA,EAAIQ,KAAEA,EAAIE,SAAEA,EAAQT,SAAEA,GAAaF,KAClD,IAAKS,EACH,OAOF,GALAT,KAAKgB,oBAAoB,WAAY,IAChChB,KAAKiB,eACRN,WACAN,UAEEI,EAAKS,WAAW,MAAQjB,IAASL,EACnC,OAEFI,KAAKM,cACL,MAAMa,EAAU,IAAIC,EAAOC,iBAGxBnB,GACAD,IAASL,IAERuB,EAAQG,MAAMC,GAAMA,EAAEC,OAAOX,SAASF,cAExCI,EAAEU,iBACFL,EAAOC,gBAAgBK,SAASH,IAC9BA,EAAEI,gBAAgB,KAqBd,MAAAC,GACR,OAAOC,CAAI,kBAAAC,EAAA9B,KAAAiB,yBAAAjB,KAAAS,MAAAsB,cAAA/B,KAAAI,kBAAAJ,KAAAc,iBAAAkB,aAGLC,EAAA,MAEQpC,EAAAqC,UAAA,YAAW,GACZD,EAAA,oBAEPpC,EAAAqC,UAAU,gBAAA,QAEf,CAAAjC,KAAAkC,aACHD,UAAA,eAAA,KACD,CA7FCE,KADCvC,EAAAqC,UAAU,YAAA,GACqBD,EAAA,CAMhCG,KADCvC,EAAAqC,UAAe,iBACCrC,EAAAoC,EAAA,CAMjBI,EAlEgB,QAiEfC,EAAAC,CAAW,+FACI1C,GAMhB,IAAA2C,EAAA3C"}
@@ -0,0 +1,35 @@
1
+ import GlobalStyle from "../../internal/global-style.js";
2
+ import { type PropertyValues, type TemplateResult } from "lit";
3
+ /**
4
+ * {@link Popover} renders a popover.
5
+ *
6
+ * This requires the support of the popover API and CSS position-area.
7
+ *
8
+ * @fires toggle - Fired when the popover is toggled.
9
+ * @slot popover - Popover content.
10
+ * @slot - Popover trigger.
11
+ * @category display
12
+ */
13
+ declare class Popover extends GlobalStyle {
14
+ anchorName: string;
15
+ open: boolean;
16
+ action: "hide" | "show" | "toggle" | "none";
17
+ span: "span" | "spread" | "isolated";
18
+ /**
19
+ * The position refers to the spatial location of the popover in relation to the trigger,
20
+ * rather than the alignment property between them.
21
+ */
22
+ position: "center" | "left" | "left-top" | "left-bottom" | "right" | "right-top" | "right-bottom" | "top" | "top-left" | "top-right" | "bottom" | "bottom-left" | "bottom-right" | "start" | "start-start" | "start-end" | "end" | "end-start" | "end-end";
23
+ protected _popover: HTMLElement;
24
+ constructor();
25
+ protected render(): TemplateResult<1>;
26
+ protected _handleClick(): void;
27
+ show(): void;
28
+ hide(): void;
29
+ toggle(force?: boolean): void;
30
+ protected updated(_changedProperties: PropertyValues): void;
31
+ protected _openChange(): void;
32
+ resolveArea(): string;
33
+ }
34
+ export { Popover, Popover as default };
35
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/popover/component.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAa,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAO1E;;;;;;;;;GASG;AACH,cAsBM,OAAQ,SAAQ,WAAW;IAC/B,UAAU,SAAyD;IAGnE,IAAI,UAAS;IAGb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAU;IAGrD,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAU;IAE9C;;;OAGG;IAEH,QAAQ,EACJ,QAAQ,GACR,MAAM,GACN,UAAU,GACV,aAAa,GACb,OAAO,GACP,WAAW,GACX,cAAc,GACd,KAAK,GACL,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,cAAc,GACd,OAAO,GACP,aAAa,GACb,WAAW,GACX,KAAK,GACL,WAAW,GACX,SAAS,CAAY;IAGzB,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;;IAgBhC,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAmBrC,SAAS,CAAC,YAAY,IAAI,IAAI;IAU9B,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;IAIZ,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAM3D,SAAS,CAAC,WAAW,IAAI,IAAI;IAiB7B,WAAW,IAAI,MAAM;CAStB;AAED,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{__decorate as o}from"tslib";import{property as t}from"lit/decorators.js";import{GlobalStyle as e}from"../../internal/global-style.js";import{css as i,html as s}from"lit";import{part as p,godown as r,styles as n,StyleController as a,joinRules as h,htmlSlot as l}from"@godown/element";import{showPopover as c,hidePopover as d}from"../../internal/popover.js";const v="popover",m=v;let g=class Popover extends e{constructor(){super(),this.anchorName=`--${v}-${Math.random().toString(36).slice(2)}`,this.open=!1,this.action="show",this.span="span",this.position="bottom",new a(this,(()=>h({"[part=root],slot:not([name])::slotted(*)":{"anchor-name":this.anchorName},"[part=popover]":{"position-anchor":this.anchorName,"position-area":this.resolveArea()}})))}render(){return s`<div part="root"> <div part="trigger" @click=${this._handleClick}> ${l()} </div> <div part="popover" popover="manual"> ${l("popover")} </div> </div>`}_handleClick(){const{action:o}=this;switch(o){case"show":case"hide":case"toggle":this[o]()}}show(){this.toggle(!0)}hide(){this.toggle(!1)}toggle(o){this.open=o??!this.open}updated(o){o.has("open")&&this._openChange()}_openChange(){const{open:o}=this;if(o){c.call(this,this._popover);const o=t=>{this.contains(t.target)||(this.events.remove(document,"click",o),this.open=!1)};this.events.add(document,"click",o)}else d(this._popover);this.dispatchCustomEvent("toggle",o)}resolveArea(){const o=this.position.split("-"),t="spread"===this.span?`span-${o[0]}`:o[0];if(o.length<2)return`${t} center`;return`${t} ${"isolated"===this.span?o[1]:`span-${o[1]}`}`}};o([t({type:Boolean,reflect:!0})],g.prototype,"open",void 0),o([t()],g.prototype,"action",void 0),o([t()],g.prototype,"span",void 0),o([t()],g.prototype,"position",void 0),o([p(v)],g.prototype,"_popover",void 0),g=o([r(m),n(i`:host{display:inline-block}[part=trigger]{display:contents}[part=root]{display:inherit}[part=popover]{inset:unset;overflow:visible;position:absolute;z-index:1;position-try-fallbacks:flip-block}`)],g);export{g as Popover,g as default};
2
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sources":["../../src/web-components/popover/component.ts"],"sourcesContent":null,"names":["POPOVER","protoName","Popover","GlobalStyle","constructor","super","this","anchorName","Math","random","toString","slice","open","action","span","position","StyleController","joinRules","resolveArea","render","html","_handleClick","htmlSlot","toggle","force","updated","_changedProperties","has","_openChange","showPopover","call","_popover","listener","e","contains","target","events","remove","document","add","hidePopover","dispatchCustomEvent","split","firstValue","length","property","type","Boolean","reflect","prototype","__decorate","part","godown","styles","css"],"mappings":"2WAMA,MAAMA,EAAU,UACVC,EAAYD,EAkClB,IAAME,EAAN,MAAMA,gBAAgBC,EAyCpB,WAAAC,GACEC,QAzCFC,KAAAC,WAAa,KAAKP,KAAWQ,KAAKC,SAASC,SAAS,IAAIC,MAAM,KAG9DL,KAAIM,MAAG,EAGPN,KAAMO,OAAwC,OAG9CP,KAAIQ,KAAmC,OAOvCR,KAAQS,SAmBQ,SAOd,IAAIC,EAAgBV,MAAM,IACjBW,EAAU,CACf,2CAA4C,CAC1C,cAAeX,KAAKC,YAEtB,iBAAkB,CAChB,kBAAmBD,KAAKC,WACxB,gBAAiBD,KAAKY,mBAKpB,MAAAC,GACR,OAAOC,CAAI,gDAAAd,KAAAe,iBAAAC,oDAAAA,EAAA,+DAII,OAAAT,cAEP,IAAA,2CAMQU,QAAA,UAGfjB,KAAAiB,QAAA,GAGO,MAAAA,CAAYC,GACpBlB,KAAAM,KAAQY,SAAeZ,KAErB,OAAAa,CAAAC,GACAA,EAAWC,IAAA,SACXrB,KAAKsB,cAGT,WAAAA,GAEI,MAAAhB,KAAAA,GAAAN,KACF,GAAIM,EAAC,CACPiB,EAAAC,KAAAxB,KAAAA,KAAAyB,UAEI,MAAAC,EAAAC,IACU3B,KAAM4B,SAAAD,EAAAE,UACpB7B,KAAA8B,OAAAC,OAAAC,SAAA,QAAAN,GAEsB1B,KAAAM,MAAA,IAIJN,KAAkC8B,OAAAG,IAAAD,SAAA,QAAAN,EAClD,MAEAQ,EAAAlC,KAAAyB,UAGmBzB,KAAAmC,oBAAA,SAAA7B,EACnB,qBAEa8B,EAAApC,cAAgBoC,MAAS,KACpCC,EAAuB,WAATrC,UAAS,QAAAoC,EAAA,KAAAA,EAAA,QACjBE,OAAc,WACZD,WAGR,MAAC,GAAAA,KADC,aAAArC,KAAAQ,KAAA4B,EAAA,GAAA,QAAAA,EAAA,YAIFG,EAAA,CAAAC,KAAAC,QAAiBC,SAAS,OAC5BC,UAAA,YAAA,GACAC,EAAA,CACFL,OAEWI,UAAA,cAAA,KACH,MAEN/C,EAAA+C,UAAU,YAAY,aAGhBA,UAAA,mBACNC,EAAA,CACFC,EAAAnD,IACDE,EAAA+C,UAAA,gBAAA,GA5HC/C,EAAAgD,EAAA,CADCE,EAAQnD,GACIoD,EAAAC,CAAA,sMAGbpD"}
@@ -0,0 +1,8 @@
1
+ import Popover from "./component.js";
2
+ export default Popover;
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ "godown-popover": Popover;
6
+ }
7
+ }
8
+ //# sourceMappingURL=definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"__source__/","sources":["web-components/popover/definition.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAIrC,eAAe,OAAO,CAAC;AAEvB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,OAAO,CAAC;KAC3B;CACF"}
@@ -0,0 +1,2 @@
1
+ import{Popover as o}from"./component.js";o.define();var e=o;export{e as default};
2
+ //# sourceMappingURL=definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.js","sources":["../../src/web-components/popover/definition.ts"],"sourcesContent":null,"names":["Popover","define"],"mappings":"yCAEAA,EAAQC,SAER,IAAAD,EAAeA"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/range/component.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,MAAM,EAEP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAEpC;;;;;;;;;GASG;AACH,cA0FM,KAAK,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,UAAU,CAAC,UAAU,CAAC;IAC3E;;OAEG;IAEH,GAAG,SAAK;IAER;;OAEG;IAEH,GAAG,SAAO;IAEV;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;;;OAIG;IAEH,KAAK,EAAE,CAAC,CAAC;IAET;;OAEG;IAEH,OAAO,EAAE,CAAC,CAAC;IAGX,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;IAG7B,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAG5C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,YAAY,CAAgB;IAEpC,IAAI,KAAK,IAAI,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,IAAI,CAE3C;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,EAAE,CAEzB;IAED;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE;IAS1C,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAOvF,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAExC;IAED,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAyBrC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAkBzD,OAAO,CAAC,cAAc,CAAqC;IAE3D;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAchC;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,OAC7B,aAAa,KAAG,IAAI;IAgBjC;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,OAC1B,UAAU,KAAG,IAAI;IAM9B;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,WACrB,MAAM,KAAG,IAAI;IAY9B;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,GAAG,MAAM;IAKjE;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAenD;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,OAC9D,UAAU,KAAG,IAAI;IAa9B;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,OACzD,UAAU,KAAG,IAAI;IAS9B,SAAS,CAAC,cAAc,IAAI,IAAI;IAchC,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,CAAC;IAIT,QAAQ,IAAI,CAAC;CAMd;AAED,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/range/component.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,MAAM,EAEP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAM3D,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAEpC;;;;;;;;;GASG;AACH,cA0FM,KAAK,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,UAAU,CAAC,UAAU,CAAC;IAC3E;;OAEG;IAEH,GAAG,SAAK;IAER;;OAEG;IAEH,GAAG,SAAO;IAEV;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;;;OAIG;IAEH,KAAK,EAAE,CAAC,CAAC;IAET;;OAEG;IAEH,OAAO,EAAE,CAAC,CAAC;IAGX,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;IAG7B,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAG5C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,YAAY,CAAgB;IAEpC,IAAI,KAAK,IAAI,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,IAAI,CAE3C;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,EAAE,CAEzB;IAED;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE;IAS1C,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAOvF,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAExC;IAED,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAyBrC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAkBzD,OAAO,CAAC,cAAc,CAAqC;IAE3D;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAchC;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,OAC7B,aAAa,KAAG,IAAI;IAgBjC;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,OAC1B,UAAU,KAAG,IAAI;IAM9B;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,WACrB,MAAM,KAAG,IAAI;IAY9B;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,GAAG,MAAM;IAKjE;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAenD;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,OAC9D,UAAU,KAAG,IAAI;IAa9B;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,OACzD,UAAU,KAAG,IAAI;IAS9B,SAAS,CAAC,cAAc,IAAI,IAAI;IAchC,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,CAAC;IAIT,QAAQ,IAAI,CAAC;CAMd;AAED,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{__decorate as t}from"tslib";import{queryPart as e,godown as r,styles as a,Ranger as o,omit as s,attr as i,joinDeclarations as n,loop as h,tokenList as l,isNullable as d}from"@godown/element";import{css as u,html as c}from"lit";import{property as v,queryAll as p,state as m}from"lit/decorators.js";import{scopePrefix as g,cssGlobalVars as f}from"../../internal/global-style.js";import{SuperInput as w}from"../../internal/super-input.js";const y="range",_=g(y);let k=class Range extends w{constructor(){super(...arguments),this.min=0,this.max=100,this.vertical=!1,this.__focusStack=[]}get range(){return Array.isArray(this.value)}get rangeValue(){return this.range?this.value:[this.value]}padValue(t,e=0){const{rangeValue:r}=this,a=t-r.length;return a>0?new Array(a).fill(e).concat(r):r}attributeChangedCallback(t,e,r){super.attributeChangedCallback(t,e,r),"max"!==t&&"min"!==t&&"step"!==t||(this._ranger=new o(this.min,this.max,this.step))}get observedRecord(){return s(super.observedRecord,"ring-type")}render(){const t=this.padValue(2),e=Math.min(...t),r=Math.max(...t),a=this._ranger.diff;return c`<div part="root" ${i(this.observedRecord)} @mousedown="${this.disabled?null:this._handleMousedownRoot}" style="${n([["--from",(e-this.min)/a*100+"%"],["--to",(r-this.min)/a*100+"%"],...t.map(((t,e)=>[`--handle-${e}`,(t-this.min)/a*100+"%"]))])}"> <div part="track"></div> ${h(this.rangeValue.length,(t=>this._renderHandle(t)))} </div>`}_renderHandle(t){const{disabled:e,range:r,rangeValue:a}=this,o=!r||r&&t===a.length-1&&1===a.length;return c`<i tabindex="0" part="${l("handle",`handle-${t}`)}" @mousedown="${e?null:this.createMouseDown(t)}" style="${n({"z-index":this.__focusStack.indexOf(t)+1,"--handle":`var(--${o?"to":`handle-${t}`})`})}"></i>`}focusHandle(t){this.lastFocus=t;const e=this.__focusStack.indexOf(t);-1!==e&&this.__focusStack.splice(e,1),this.__focusStack.push(t);const r=this._handles.item(t);r?.focus(),this.__keydownEvent||(this.__keydownEvent=this.events.add(document,"keydown",this.createKeydownEvent(t)))}blurHandle(){this.lastFocus=void 0,this.__keydownEvent=this.events.remove(document,"keydown",this.__keydownEvent)}createKeydownEvent(t){return e=>{const{rangeValue:r,step:a}=this;r.length<2&&(t=0);const o=r[t];"ArrowLeft"===e.key||"ArrowDown"===e.key?(e.preventDefault(),this.createSetValue(t)(o-a)):"ArrowRight"!==e.key&&"ArrowUp"!==e.key||(e.preventDefault(),this.createSetValue(t)(o+a))}}createMouseDown(t){return e=>{this.focusHandle(t),this.createMousedownListener(this.createSetValue(t))(e)}}createSetValue(t){return e=>{const r=this._ranger.normalize(e);let a=r;this.range&&(a=[...this.value],a[t]=r),this.value=a,this.dispatchCustomEvent("change",this.value)}}_computeValue({clientX:t,clientY:e}){const{top:r,left:a,height:o,width:s}=this._root.getBoundingClientRect();return this._ranger.present(this.vertical?(e-r)/o:(t-a)/s)}_handleMousedownRoot(t){const e=this._computeValue(t),r=this.range?this.rangeValue.reduce(((t,r,a)=>Math.abs(e-r)<Math.abs(e-this.rangeValue[t])?a:t),0):0,a=this.createSetValue(r);a(e),this.createMousedownListener(a)(t),this.focusHandle(r)}createMousedownListener(t){return e=>{e.preventDefault(),e.stopPropagation();const r=this.createMousemoveListener(t);this.events.add(document,"mousemove",r);const a=()=>{this.events.remove(document,"mousemove",r),this.events.remove(document,"mouseup",a)};this.events.add(document,"mouseup",a)}}createMousemoveListener(t){return e=>{const r=this._computeValue(e);r===this._ranger.restrict(r)&&t?.call(this,r)}}_connectedInit(){this._ranger=new o(this.min,this.max,this.step);const t=this._ranger.diff;this.step||=t/100,d(this.value)&&(d(this.default)?this.value=Math.round(t/2/this.step)*this.step:this.value=this.default),this.default??=this.value}reset(){this.value=this.default}sort(){return this.value=this.toSorted()}toSorted(){return this.range?[...this.value].sort(((t,e)=>t-e)):this.value}};t([v({type:Number})],k.prototype,"min",void 0),t([v({type:Number})],k.prototype,"max",void 0),t([v({type:Number})],k.prototype,"step",void 0),t([v({type:Boolean,reflect:!0})],k.prototype,"vertical",void 0),t([v({type:Array})],k.prototype,"value",void 0),t([v({type:Array})],k.prototype,"default",void 0),t([e("root")],k.prototype,"_root",void 0),t([p("[part=handle]")],k.prototype,"_handles",void 0),t([m()],k.prototype,"lastFocus",void 0),k=t([r(y),a(u`:host{${_}--track-width:.5em;${_}--handle-scale:1;${_}--track-background:var(${f.active});background:var(${f.passive});display:block;height:var(${_}--track-width);width:100%}:host([contents]) [part=root]{width:inherit}:host([vertical]){height:100%;width:-moz-fit-content;width:fit-content}[part=root]{position:relative;--from:0%;--to:50%}[part=root],[part=track]{border-radius:inherit;min-height:inherit}[part=track]{background:var(${_}--track-background);height:100%;justify-content:space-between;left:min(var(--from),var(--to));pointer-events:none;width:max(calc(var(--to) - var(--from)),calc(var(--from) - var(--to)))}[part=track],[part~=handle]{display:flex;position:absolute}[part~=handle]{align-items:center;background:var(${f.background});border:.1em solid;border-radius:50%;height:1em;justify-content:center;outline:0;transform:scale(var(${_}--handle-scale)) translate(-50%,-25%);transform-origin:0 25%;-webkit-user-select:none;user-select:none;width:1em}`,u`[vertical]{height:inherit;width:var(${_}--track-width)}[vertical] i{transform:translate(-25%,-50%)}[vertical] [part=track]{height:max(calc(var(--to) - var(--from)),calc(var(--from) - var(--to)));left:0;top:min(var(--from),var(--to));width:100%}`,u`[part~=handle]{left:var(--handle);top:0}[vertical] [part~=handle]{left:0;top:var(--handle)}`)],k);var b=k;export{k as Range,b as default};
1
+ import{__decorate as t}from"tslib";import{queryPart as e,godown as r,styles as a,Ranger as o,omit as s,attr as i,joinDeclarations as n,loop as h,tokenList as l,isNullable as d}from"@godown/element";import{css as u,html as c}from"lit";import{property as v,queryAll as p,state as m}from"lit/decorators.js";import{scopePrefix as g,cssGlobalVars as f}from"../../internal/global-style.js";import{SuperInput as w}from"../../internal/super-input.js";import{ringTypeAttribute as y}from"../../internal/ring.js";const _="range",k=g(_);let b=class Range extends w{constructor(){super(...arguments),this.min=0,this.max=100,this.vertical=!1,this.__focusStack=[]}get range(){return Array.isArray(this.value)}get rangeValue(){return this.range?this.value:[this.value]}padValue(t,e=0){const{rangeValue:r}=this,a=t-r.length;return a>0?new Array(a).fill(e).concat(r):r}attributeChangedCallback(t,e,r){super.attributeChangedCallback(t,e,r),"max"!==t&&"min"!==t&&"step"!==t||(this._ranger=new o(this.min,this.max,this.step))}get observedRecord(){return s(super.observedRecord,y)}render(){const t=this.padValue(2),e=Math.min(...t),r=Math.max(...t),a=this._ranger.diff;return c`<div part="root" ${i(this.observedRecord)} @mousedown="${this.disabled?null:this._handleMousedownRoot}" style="${n([["--from",(e-this.min)/a*100+"%"],["--to",(r-this.min)/a*100+"%"],...t.map(((t,e)=>[`--handle-${e}`,(t-this.min)/a*100+"%"]))])}"> <div part="track"></div> ${h(this.rangeValue.length,(t=>this._renderHandle(t)))} </div>`}_renderHandle(t){const{disabled:e,range:r,rangeValue:a}=this,o=!r||r&&t===a.length-1&&1===a.length;return c`<i tabindex="0" part="${l("handle",`handle-${t}`)}" @mousedown="${e?null:this.createMouseDown(t)}" style="${n({"z-index":this.__focusStack.indexOf(t)+1,"--handle":`var(--${o?"to":`handle-${t}`})`})}"></i>`}focusHandle(t){this.lastFocus=t;const e=this.__focusStack.indexOf(t);-1!==e&&this.__focusStack.splice(e,1),this.__focusStack.push(t);const r=this._handles.item(t);r?.focus(),this.__keydownEvent||(this.__keydownEvent=this.events.add(document,"keydown",this.createKeydownEvent(t)))}blurHandle(){this.lastFocus=void 0,this.__keydownEvent=this.events.remove(document,"keydown",this.__keydownEvent)}createKeydownEvent(t){return e=>{const{rangeValue:r,step:a}=this;r.length<2&&(t=0);const o=r[t];"ArrowLeft"===e.key||"ArrowDown"===e.key?(e.preventDefault(),this.createSetValue(t)(o-a)):"ArrowRight"!==e.key&&"ArrowUp"!==e.key||(e.preventDefault(),this.createSetValue(t)(o+a))}}createMouseDown(t){return e=>{this.focusHandle(t),this.createMousedownListener(this.createSetValue(t))(e)}}createSetValue(t){return e=>{const r=this._ranger.normalize(e);let a=r;this.range&&(a=[...this.value],a[t]=r),this.value=a,this.dispatchCustomEvent("change",this.value)}}_computeValue({clientX:t,clientY:e}){const{top:r,left:a,height:o,width:s}=this._root.getBoundingClientRect();return this._ranger.present(this.vertical?(e-r)/o:(t-a)/s)}_handleMousedownRoot(t){const e=this._computeValue(t),r=this.range?this.rangeValue.reduce(((t,r,a)=>Math.abs(e-r)<Math.abs(e-this.rangeValue[t])?a:t),0):0,a=this.createSetValue(r);a(e),this.createMousedownListener(a)(t),this.focusHandle(r)}createMousedownListener(t){return e=>{e.preventDefault(),e.stopPropagation();const r=this.createMousemoveListener(t);this.events.add(document,"mousemove",r);const a=()=>{this.events.remove(document,"mousemove",r),this.events.remove(document,"mouseup",a)};this.events.add(document,"mouseup",a)}}createMousemoveListener(t){return e=>{const r=this._computeValue(e);r===this._ranger.restrict(r)&&t?.call(this,r)}}_connectedInit(){this._ranger=new o(this.min,this.max,this.step);const t=this._ranger.diff;this.step||=t/100,d(this.value)&&(d(this.default)?this.value=Math.round(t/2/this.step)*this.step:this.value=this.default),this.default??=this.value}reset(){this.value=this.default}sort(){return this.value=this.toSorted()}toSorted(){return this.range?[...this.value].sort(((t,e)=>t-e)):this.value}};t([v({type:Number})],b.prototype,"min",void 0),t([v({type:Number})],b.prototype,"max",void 0),t([v({type:Number})],b.prototype,"step",void 0),t([v({type:Boolean,reflect:!0})],b.prototype,"vertical",void 0),t([v({type:Array})],b.prototype,"value",void 0),t([v({type:Array})],b.prototype,"default",void 0),t([e("root")],b.prototype,"_root",void 0),t([p("[part=handle]")],b.prototype,"_handles",void 0),t([m()],b.prototype,"lastFocus",void 0),b=t([r(_),a(u`:host{${k}--track-width:.5em;${k}--handle-scale:1;${k}--track-background:var(${f.active});background:var(${f.passive});display:block;height:var(${k}--track-width);width:100%}:host([contents]) [part=root]{width:inherit}:host([vertical]){height:100%;width:-moz-fit-content;width:fit-content}[part=root]{position:relative;--from:0%;--to:50%}[part=root],[part=track]{border-radius:inherit;min-height:inherit}[part=track]{background:var(${k}--track-background);height:100%;justify-content:space-between;left:min(var(--from),var(--to));pointer-events:none;width:max(calc(var(--to) - var(--from)),calc(var(--from) - var(--to)))}[part=track],[part~=handle]{display:flex;position:absolute}[part~=handle]{align-items:center;background:var(${f.background});border:.1em solid;border-radius:50%;height:1em;justify-content:center;outline:0;transform:scale(var(${k}--handle-scale)) translate(-50%,-25%);transform-origin:0 25%;-webkit-user-select:none;user-select:none;width:1em}`,u`[vertical]{height:inherit;width:var(${k}--track-width)}[vertical] i{transform:translate(-25%,-50%)}[vertical] [part=track]{height:max(calc(var(--to) - var(--from)),calc(var(--from) - var(--to)));left:0;top:min(var(--from),var(--to));width:100%}`,u`[part~=handle]{left:var(--handle);top:0}[vertical] [part~=handle]{left:0;top:var(--handle)}`)],b);var $=b;export{b as Range,$ as default};
2
2
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../src/web-components/range/component.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","Range","SuperInput","constructor","this","min","max","vertical","__focusStack","range","Array","isArray","value","rangeValue","padValue","len","miss","length","fill","concat","attributeChangedCallback","name","_old","super","_ranger","Ranger","step","observedRecord","omit","render","from","Math","to","gap","diff","html","attr","disabled","_handleMousedownRoot","joinDeclarations","map","index","loop","_renderHandle","end","lastFocus","splice","indexOfFocusStack","push","handleItem","_handles","item","focus","__keydownEvent","blurHandle","undefined","events","remove","document","e","key","preventDefault","createSetValue","old","focusHandle","createMousedownListener","newValue","normalizeValue","dispatchCustomEvent","_computeValue","clientX","clientY","top","left","height","width","_root","getBoundingClientRect","present","reduce","acc","abs","set","mouseMoveCallback","stopPropagation","move","createMousemoveListener","add","stop","callback","call","round","reset","default","sort","toSorted","a","b","type","Number","prototype","property","Boolean","reflect","__decorate","queryPart","queryAll","state","godown","styles","css","cssGlobalVars","active","passive","background","Range$1"],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sources":["../../src/web-components/range/component.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","Range","SuperInput","constructor","this","min","max","vertical","__focusStack","range","Array","isArray","value","rangeValue","padValue","len","miss","length","fill","concat","attributeChangedCallback","name","_old","super","_ranger","Ranger","step","observedRecord","omit","ringTypeAttribute","render","from","Math","to","gap","diff","html","attr","disabled","_handleMousedownRoot","joinDeclarations","map","index","loop","_renderHandle","end","lastFocus","splice","indexOfFocusStack","push","handleItem","_handles","item","focus","__keydownEvent","blurHandle","undefined","events","remove","document","e","key","preventDefault","createSetValue","old","focusHandle","createMousedownListener","newValue","normalizeValue","dispatchCustomEvent","_computeValue","clientX","clientY","top","left","height","width","_root","getBoundingClientRect","present","reduce","acc","abs","set","mouseMoveCallback","stopPropagation","move","createMousemoveListener","add","stop","callback","call","round","reset","default","sort","toSorted","a","b","type","Number","prototype","property","Boolean","reflect","__decorate","queryPart","queryAll","state","godown","styles","css","cssGlobalVars","active","passive","background","Range$1"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/rotate/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAErD,OAAO,EAAE,WAAW,EAAe,MAAM,gCAAgC,CAAC;AAK1E;;;;GAIG;AACH,cA8BM,MAAO,SAAQ,WAAW;IAE9B,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;IAE7B,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAcrC,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAM5C;;;;;;;;;OASG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG;QACvC,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB;CAUF;AAED,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/rotate/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAErD,OAAO,EAAE,WAAW,EAAe,MAAM,gCAAgC,CAAC;AAK1E;;;;GAIG;AACH,cA6BM,MAAO,SAAQ,WAAW;IAE9B,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;IAE7B,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAcrC,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAM5C;;;;;;;;;OASG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG;QACvC,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB;CAUF;AAED,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../src/web-components/rotate/component.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","Rotate","GlobalStyle","render","html","this","_handleRotate","htmlSlot","reset","_root","style","removeProperty","e","setProperty","rotateX","rotateY","_computeOffset","__decorate","queryPart","prototype","godown","styles","css","Rotate$1"],"mappings":"uOAKA,MAAMA,EAAY,SACZC,EAAWC,EAAYF,GAqC7B,IAAMG,EAAN,MAAMA,eAAeC,EAIT,MAAAC,GACR,OAAOC,CAAI,kDAAAC,KAAAC,mBAAAC,8BAAAF,KAAAG,0EAISH,KAAAI,MAAAC,MAAAC,eAAkB,cAE9B,aAAAL,CAAAM,qDAEcP,KAAAI,MAAAC,MAAAG,YAAU,YAAA,WAAAC,iBAAAC,yDAgBlC,cAAAC,CAAAJ,0JAUUK,EAAA,CAIRC,EAAM,SACNjB,EAAAkB,UAAe,gBACflB,EAAAgB,EAAa,CACbG,EAAAtB,GAEAuB,EAAAC,CAAa,+FAAuCvB,8IAAAA,8BAAAA,yEACpDE,GACA,IAAAsB,EAAOtB"}
1
+ {"version":3,"file":"component.js","sources":["../../src/web-components/rotate/component.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","Rotate","GlobalStyle","render","html","this","_handleRotate","htmlSlot","reset","_root","style","removeProperty","e","setProperty","rotateX","rotateY","_computeOffset","__decorate","queryPart","prototype","godown","styles","css","Rotate$1"],"mappings":"uOAKA,MAAMA,EAAY,SACZC,EAAWC,EAAYF,GAoC7B,IAAMG,EAAN,MAAMA,eAAeC,EAIT,MAAAC,GACR,OAAOC,CAAI,kDAAAC,KAAAC,mBAAAC,8BAAAF,KAAAG,0EAISH,KAAAI,MAAAC,MAAAC,eAAkB,cAE9B,aAAAL,CAAAM,qDAEcP,KAAAI,MAAAC,MAAAG,YAAU,YAAA,WAAAC,iBAAAC,yDAgBlC,cAAAC,CAAAJ,0JAUUK,EAAA,CAIRC,EAAM,SACNjB,EAAAkB,UAAe,gBACflB,EAAAgB,EAAa,CACbG,EAAAtB,GAEAuB,EAAAC,CAAa,+FAAuCvB,8IAAAA,8BAAAA,yEACpDE,GACA,IAAAsB,EAAOtB"}
@@ -1,18 +1,8 @@
1
- import { type HandlerEvent } from "@godown/element";
2
1
  import { type TemplateResult } from "lit";
3
2
  import Input from "../input/component.js";
4
- import { type DirectionCardinalY } from "../../internal/direction.js";
5
3
  /**
6
4
  * {@linkcode Select} is similar to `<select>`.
7
5
  *
8
- * Elements with the value attribute/property can be used as options.
9
- *
10
- * The checked attribute will be added to the selected element.
11
- *
12
- * Multi-selected state looks the same as single-selected.
13
- *
14
- * Input will filter the options.
15
- *
16
6
  * @fires input - Fires when the input value changes.
17
7
  * @fires change - Fires when the input value changes.
18
8
  * @fires select - Fires when select an option.
@@ -20,34 +10,28 @@ import { type DirectionCardinalY } from "../../internal/direction.js";
20
10
  * @category input
21
11
  */
22
12
  declare class Select extends Input {
23
- value: string | string[];
24
- /**
25
- * Selected texts.
26
- */
27
13
  text: string;
28
- protected _content: HTMLElement;
29
- direction: DirectionCardinalY;
30
14
  multiple: boolean;
31
- visible: boolean;
32
- protected autoDirection: DirectionCardinalY;
15
+ noEdit: boolean;
16
+ values: {
17
+ value: string;
18
+ label?: string;
19
+ }[];
20
+ _popover: HTMLElement;
33
21
  protected lastChecked: HTMLElement;
34
22
  protected defaultText: string;
35
- protected defaultChecked: HTMLElement[];
36
- private __store;
37
- get observedRecord(): Record<string, any>;
23
+ protected optionsVisible: boolean;
38
24
  protected render(): TemplateResult<1>;
39
25
  protected _renderSuffix(): TemplateResult<1>;
40
- protected _handleFocus(): void;
41
26
  protected firstUpdated(): void;
42
27
  protected _connectedInit(): void;
43
28
  reset(): void;
44
- select(value: string, text?: string): 0 | 1;
45
- filter(query?: string): void;
46
- filterCallback(element: HTMLElement, match: boolean, query: string): void;
47
- protected _handleInput(e: HandlerEvent<HTMLInputElement>): void;
29
+ select(value: string, label: string): 0 | 1;
30
+ checkValues(): void;
31
+ showOptions(): void;
32
+ hideOptions(): void;
48
33
  focus(options?: FocusOptions): void;
49
34
  blur(): void;
50
- optionValue(option: HTMLElement): string;
51
35
  }
52
36
  export default Select;
53
37
  export { Select };
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/select/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAA6C,MAAM,iBAAiB,CAAC;AAE/F,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,KAAK,CAAC;AAG9D,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAE1C,OAAO,EAAE,KAAK,kBAAkB,EAAwB,MAAM,6BAA6B,CAAC;AAyB5F;;;;;;;;;;;;;;;;GAgBG;AACH,cAwBM,MAAO,SAAQ,KAAK;IAExB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEzB;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;IAGhC,SAAS,EAAE,kBAAkB,CAAC;IAG9B,QAAQ,UAAS;IAGjB,OAAO,UAAS;IAGhB,SAAS,CAAC,aAAa,EAAE,kBAAkB,CAAY;IAEvD,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC;IACxC,OAAO,CAAC,OAAO,CAAyC;IAExD,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAKxC;IAED,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAqCrC,SAAS,CAAC,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC;IAM5C,SAAS,CAAC,YAAY,IAAI,IAAI;IAY9B,SAAS,CAAC,YAAY,IAAI,IAAI;IA0B9B,SAAS,CAAC,cAAc,IAAI,IAAI;IAkBhC,KAAK,IAAI,IAAI;IAOb,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC;IA6B3C,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAW5B,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzE,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAU/D,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAKnC,IAAI,IAAI,IAAI;IAMZ,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;CAGzC;AAED,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/select/component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,KAAK,CAAC;AAG9D,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAmB1C;;;;;;;;GAQG;AACH,cAiCM,MAAO,SAAQ,KAAK;IAExB,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,UAAS;IAGjB,MAAM,UAAS;IAGf,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,EAAE,CAAM;IAGT,QAAQ,EAAE,WAAW,CAAC;IAEtB,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,cAAc,UAAS;IAEjC,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAuCrC,SAAS,CAAC,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC;IAM5C,SAAS,CAAC,YAAY,IAAI,IAAI;IAiB9B,SAAS,CAAC,cAAc,IAAI,IAAI;IAMhC,KAAK,IAAI,IAAI;IAKb,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC;IAiB3C,WAAW,IAAI,IAAI;IAOnB,WAAW,IAAI,IAAI;IAenB,WAAW,IAAI,IAAI;IAQnB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAMnC,IAAI,IAAI,IAAI;CAKb;AAED,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{__decorate as t}from"tslib";import{queryPart as e,godown as i,styles as o,attr as s,htmlSlot as n}from"@godown/element";import l from"../../internal/icons/caret-down.js";import{css as r,nothing as h,html as a}from"lit";import{property as c,state as u}from"lit/decorators.js";import p from"../input/component.js";import{cssGlobalVars as d}from"../../internal/global-style.js";import{directionOutsetPlace as f}from"../../internal/direction.js";function v(t,e){return t&&e&&t.toLowerCase().includes(e.toLowerCase())}function m(t,e){if(t){const i="checked";e?t.setAttribute(i,""):t.removeAttribute(i)}}let b=class Select extends p{constructor(){super(...arguments),this.multiple=!1,this.visible=!1,this.autoDirection="bottom",this.__store=[]}get observedRecord(){return{...super.observedRecord,direction:this.direction||this.autoDirection}}render(){return a`<label part="root" ${s(this.observedRecord)}> ${[this._renderPrefix(),a`<input part="input" type="${this.type}" .value="${this.text}" ?autofocus="${this.autofocus}" ?disabled="${this.disabled}" autocapitalize="${this.autocapitalize||h}" autocomplete="${this.autocomplete||h}" placeholder="${this.placeholder||h}" @focus="${this._handleFocus}" @input="${this._handleInput}" @change="${this._handleChange}"/>`,this._renderSuffix(),a`<label part="content" direction-outset-place> ${n()} </label>`]} </label>`}_renderSuffix(){return a`<i part="suffix icon">${l()}</i>`}_handleFocus(){if(!this.direction){const{top:t,bottom:e}=this.getBoundingClientRect();window.innerHeight-e<this._content.clientHeight&&t>this._content.clientHeight?this.autoDirection="top":this.autoDirection="bottom"}this.visible=!0}firstUpdated(){this.events.add(this._content,"click",(t=>{t.preventDefault(),t.stopPropagation();const{target:e}=t,i=this.optionValue(e);if(i){const t=this.select(i,e.textContent);this.multiple||m(this.lastChecked,0),m(e,t),this.lastChecked=e}this._input.focus()})),this.events.add(document,"click",(t=>{t.stopPropagation();const e=t.composedPath()[0];e&&!this.shadowRoot.contains(e)&&this.blur()}))}_connectedInit(){if(!this.value){const t=[...this.querySelectorAll("[checked]")];(this.multiple?t:t.length?[this.lastChecked=t[0]]:[]).forEach((t=>{m(t,this.select(this.optionValue(t),t.textContent))})),this.default=this.value,this.defaultText=this.text,this.defaultChecked=t}this.text||(this.text="")}reset(){this.value=this.default,this.text=this.defaultText,this.querySelectorAll("[checked]").forEach((t=>m(t,0))),this.defaultChecked.forEach((t=>m(t,1)))}select(t,e){e||=t,e=e.trim();let i=0;if(this.multiple){const o=this.__store.findIndex((e=>e.value===t));o>-1?this.__store.splice(o,1):(this.__store.push({value:t,text:e}),i=1),this.value=this.__store.map((t=>t.value)),this.text=this.__store.map((t=>t.text)).join(", ")}else this.value===t?(this.value="",this.text=""):(this.value=t,this.text=e,i=1);return this.dispatchCustomEvent("select",this.value),this.filter(),i}filter(t){t=t?.trim(),[...this.children].forEach((e=>{this.filterCallback(e,!t||v(this.optionValue(e),t)||v(e.textContent,t),t)}))}filterCallback(t,e,i){t.style.display=e?"":"none"}_handleInput(t){if(t.stopPropagation(),this.compositing)return;const e=this._input.value;this.filter(this.multiple?function(t,e,i){const o=e.slice(0,t).lastIndexOf(i)+1||0,s=e.indexOf(i,t)||e.length;return e.slice(o,s)}(this._input.selectionStart,e,","):e),this.dispatchCustomEvent("input",this.value,{bubbles:!0})}focus(t){this._input.focus(t),this.visible=!0}blur(){this._input.blur(),this.visible=!1,super.blur()}optionValue(t){return t.value||t.getAttribute("value")||""}};t([c()],b.prototype,"text",void 0),t([e("content")],b.prototype,"_content",void 0),t([c()],b.prototype,"direction",void 0),t([c({type:Boolean})],b.prototype,"multiple",void 0),t([c({type:Boolean})],b.prototype,"visible",void 0),t([u()],b.prototype,"autoDirection",void 0),b=t([i("select"),o(f,r`.outline,:host(:focus-within){${d.input}-outline-color:currentColor}[part=input]{text-overflow:ellipsis}[part=content]{position:absolute;visibility:hidden;width:100%}[visible] [part=content]{visibility:visible}`)],b);var _=b;export{b as Select,_ as default};
1
+ import{__decorate as t}from"tslib";import{queryPart as e,godown as i,styles as s,attr as o,htmlSlot as l}from"@godown/element";import p from"../../internal/icons/caret-down.js";import{css as r,nothing as a,html as n}from"lit";import{property as h}from"lit/decorators.js";import u from"../input/component.js";import{showPopover as c,hidePopover as d}from"../../internal/popover.js";import{memoize as v}from"../../internal/utils.js";const f=v((()=>CSS.supports("position-area:top")));function m(t,e){if(t){const i="selected";e?t.setAttribute(i,""):t.removeAttribute(i)}}let b=class Select extends u{constructor(){super(...arguments),this.multiple=!1,this.noEdit=!1,this.values=[],this.optionsVisible=!1}render(){const t=this.noEdit||this.disabled;return n`<label part="root" ${o(this.observedRecord)}> ${[this._renderPrefix(),this.noEdit?n`<input style="position: absolute;inset: 0;opacity: 0;"/>`:"",n`<input part="input" .value="${this.text}" ?autofocus="${this.autofocus}" ?disabled="${t}" autocapitalize="${this.autocapitalize||a}" autocomplete="${this.autocomplete||a}" placeholder="${this.placeholder||a}" @input="${t?null:this._handleInput}" @change="${t?null:this._handleChange}"/>`,this._renderSuffix()]} <div part="popover" popover="${f()?"manual":a}"> ${l()} </div> </label>`}_renderSuffix(){return n`<i part="suffix">${l("suffix",p())}</i>`}firstUpdated(){this.events.add(this._slot,"click",(t=>{const{target:e}=t;if("OPTION"!==e.tagName)return;const{label:i,value:s}=e,o=this.select(s,i);this.multiple||(m(this.lastChecked,0),this.hideOptions()),m(e,o),this.lastChecked=e}))}_connectedInit(){this.default=this.value??="",this.defaultText=this.text??="",this.events.add(this,"focus",this.showOptions)}reset(){this.value=this.default,this.text=this.defaultText}select(t,e){e||=t;let i=0;const s=this.values.findIndex((e=>e.value===t));return s>-1?this.values.splice(s,1):(this.values.push({value:t,label:e}),i=1),this.checkValues(),this.value=this.values.map((t=>t.value)).join(","),this.text=this.values.map((t=>t.label)).join(", "),this.dispatchCustomEvent("select",this.value),i}checkValues(){!this.multiple&&this.values.length>1&&(this.values.splice(0,this.values.length-1),this.requestUpdate())}showOptions(){if(this.optionsVisible)return;c(this._popover);const t=e=>{this.contains(e.target)||(this.hideOptions(),this.events.remove(document,"click",t))};this.events.add(document,"click",t),this.optionsVisible=!0}hideOptions(){this.optionsVisible&&(d(this._popover),this.optionsVisible=!1)}focus(t){super.focus(),this._input.focus(t),this.showOptions()}blur(){super.blur(),this._input.blur(),d(this._popover)}};t([h()],b.prototype,"text",void 0),t([h({type:Boolean})],b.prototype,"multiple",void 0),t([h({type:Boolean})],b.prototype,"noEdit",void 0),t([h({type:Array})],b.prototype,"values",void 0),t([e("popover")],b.prototype,"_popover",void 0),b=t([i("select"),s(r`[part=root]{position:relative;anchor-name:--select}label{display:contents}[part=popover]{background:none;border:0;width:100%;position-anchor:--select;position-area:bottom center;position-try-fallbacks:flip-block}[part=input]{text-overflow:ellipsis}@supports not (position-area:top){[part=popover]{display:none;left:0;position:absolute;top:100%}}`)],b);var x=b;export{b as Select,x as default};
2
2
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../src/web-components/select/component.ts"],"sourcesContent":null,"names":["contain","a","b","toLowerCase","includes","updateChecked","element","operation","name","setAttribute","removeAttribute","Select","Input","constructor","this","multiple","visible","autoDirection","__store","observedRecord","super","direction","render","html","attr","_renderSuffix","_handleFocus","top","bottom","getBoundingClientRect","window","innerHeight","_content","clientHeight","events","add","e","value","lastChecked","target","focus","document","stopPropagation","composed1","composedPath","contains","blur","_connectedInit","checked","querySelectorAll","length","forEach","select","optionValue","textContent","default","defaultText","text","defaultChecked","reset","trim","i","findIndex","s","splice","push","map","join","dispatchCustomEvent","filter","query","children","filterCallback","match","style","display","compositing","_input","c","start","slice","lastIndexOf","end","indexOf","betweenAt","selectionStart","bubbles","options","option","getAttribute","__decorate","prototype","queryPart","property","type","Boolean","state","godown","styles","directionOutsetPlace","css","cssGlobalVars","input","Select$1"],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sources":["../../src/web-components/select/component.ts"],"sourcesContent":null,"names":["supportsPositionArea","memoize","CSS","supports","updateSelected","element","operation","name","setAttribute","removeAttribute","Select","Input","constructor","this","multiple","noEdit","values","optionsVisible","render","inputNoEdit","disabled","html","attr","observedRecord","text","autofocus","autocapitalize","nothing","autocomplete","placeholder","_handleInput","_handleChange","_renderSuffix","htmlSlot","svgCaretDown","firstUpdated","target","tagName","select","value","label","lastChecked","events","add","showOptions","default","defaultText","i","findIndex","s","splice","push","checkValues","map","join","length","requestUpdate","showPopover","_popover","listener","e","contains","remove","document","hidePopover","focus","options","super","_input","blur","property","prototype","Boolean","type","__decorate","Array","godown","styles","css"],"mappings":"+aASA,MAAMA,EAAuBC,GAAQ,IAAMC,IAAIC,SAAS,uBAExD,SAASC,EAAeC,EAA6BC,GACnD,GAAID,EAAS,CACX,MAAME,EAAO,WACTD,EACFD,EAAQG,aAAaD,EAAM,IAE3BF,EAAQI,gBAAgBF,GAG9B,CA8CA,IAAMG,EAAN,MAAMA,eAAeC,EAArB,WAAAC,uBAKEC,KAAQC,UAAG,EAGXD,KAAME,QAAG,EAGTF,KAAMG,OAGA,GAOIH,KAAcI,gBAAG,EAEjB,MAAAC,GACR,MAAMC,EAAcN,KAAKE,QAAUF,KAAKO,SACxC,OAAOC,CAAI,sBAAAC,EAAAT,KAAAU,oBAAA,kCAGAF,CAAK,8DAEVA,CAAA,+BAAAR,KAAAW,qBAAAX,KAAAY,yBAAAN,sBAAAN,KAAAa,gBAAAC,oBAAAd,KAAAe,cAAAD,mBAAAd,KAAAgB,aAAAF,cAAAR,EAAA,KAAAN,KAAAiB,0BAAAX,EAAA,KAAAN,KAAAkB,mBACAlB,KAAKmB,iDACMhC,IAAA,SAAA2B,OAAAM,sCAGN,OAAAZ,CAAA,oBAAAY,EAAA,SAAAC,UACH,CACF,YAAAC,6DAGc,GAAS,WAATC,EAAAC,QACI,8BAESD,IACPvB,KAAKyB,OAAYC,EAAAC,qBAEZ3B,KAAC4B,YAAa,uBAGtCrC,EAAAgC,EAAA9B,GACDO,KAAK4B,YAAeL,CAAA,kCAIWvB,KAAA0B,QAAA,mCAE7B1B,KAAA6B,OAAQC,IAAE9B,KAAA,QAAAA,KAAA+B,qBAGjB/B,KAAA0B,MAAA1B,KAAAgC,QACHhC,KAAAW,KAAAX,KAAAiC,YAGE,MAAAR,CAAAC,KACqBC,IAAAD,EACpB,IAAAjC,EAAA,EACH,MAAAyC,EAAAlC,KAAAG,OAAAgC,WAAAC,GAAAA,EAAAV,QAAAA,WAEsBQ,GAAA,EAChBlC,KAACG,OAAWkC,OAAUH,EAAA,SAGf/B,OAAAmC,KAAA,CAAAZ,QAAAC,UACTlC,EAAA,QAEM8C,cACNvC,KAAA0B,MAAS1B,KAACG,OAAUqC,KAAAJ,GAAAA,EAAAV,QAAAe,KAAA,KAClBzC,KAAAW,KAAAX,KAAAG,OAAmBqC,kBAAgBC,KAAA,+BACnB,SAAEzC,KAAA0B,OACpBjC,CACA,CACA,WAAA8C,IACAvC,KAAAC,UAAAD,KAAAG,OAAAuC,OAAA,IACJ1C,KAAAG,OAAAkC,OAAA,EAAArC,KAAAG,OAAAuC,OAAA,GAEwB1C,KAAA2C,iBAGtB,WAAAZ,GACF,GAAA/B,KAAAI,eAEK,OAEHwC,EAAY5C,KAAK6C,UACnB,MAAAC,EAAAC,IAEoB/C,KAAegD,SAAAD,EAAAxB,UAC5BvB,mBACDA,KAAS6B,OAAWoB,OAAAC,SAAA,QAAAJ,GACxB,OAEMjB,WAAQqB,SAAU,QAAEJ,GAC1B9C,KAAAI,gBAAA,gBAEWJ,KAAAI,iBAGX+C,EAAanD,KAAI6C,UACjB7C,KAAKI,gBAAkB,GAEvB,KAAAgD,CAAAC,GACFC,MAAAF,QAEWpD,KAAAuD,OAAAH,MAAAC,GACTrD,KAAK+B,aACH,QAEFuB,MAAAE,OACFxD,KAAAuD,OAAAC,OAEWL,EAAAnD,KAAA6C,SACT,KAEA,CACAY,KACA5D,EAAA6D,UAAc,YAAO,cAEZC,uBACA,gBAAa,MAEtBF,EAAC,CAAAG,KAAAD,aACGD,UAAW,cAAS,GACxBG,EAAA,CACFJ,EAAA,CAAAG,KAAAE,WAEWJ,UAAA,cAAA,GACTG,EAAA,GACS,cACTH,UAAA,gBAAA,GACA7D,EAAAgE,EAAY,CACZE,EAxLc,UAyLhBC,EAAAC,CAAA,8VAEApE,SACaA"}
@@ -1,2 +1,2 @@
1
- import{__decorate as t}from"tslib";import{godown as e,styles as i,StyleController as r,omit as n,attr as s,loop as u,tokenList as l}from"@godown/element";import{css as o,html as a}from"lit";import{property as c,state as h}from"lit/decorators.js";import{scopePrefix as p,cssGlobalVars as d}from"../../internal/global-style.js";import{SuperInput as f}from"../../internal/super-input.js";import{RingBuilder as b}from"../../internal/ring.js";const v="split",m=p(v);let g=class Split extends f{constructor(){super(),this.len=6,this.index=-1,this.current=-1,this.currentValue=[],new r(this,(()=>new b({selector:"[part=input-box]",type:this.ringType}).css))}get observedRecord(){return n(super.observedRecord,"ring-type")}render(){return a`<div part="root" ${s(this.observedRecord)}> ${u(this.len,(t=>a`<span part="input-box" ring-type="${this.ringType}" class="${l({focus:this.current===t})}" @click="${this.disabled?null:()=>this.focusAt(t)}"> ${this.currentValue[t]} </span>`))} <input part="input" @blur=${this.blur} @input="${this._handleInput}" @change="${this._handleChange}" .value="${this.value.padStart(this.len," ")}"/> </div>`}connectedCallback(){super.connectedCallback(),this.reset()}_handleInput(t){t.stopPropagation(),this.compositing||(this.fillInput(t.data),this.value=this.currentValue.join(""),this.dispatchCustomEvent("input",this.value,{bubbles:!0}))}fillInput(t){if(null===t){if(null!==this.currentValue[this.current])this.currentValue[this.current]=null;else{this.currentValue[this.current-1]=null;const t=this.currentValue.findLastIndex((t=>null!==t));this.current=this.current-1<0?t<0?0:t:this.current-1}return}const e=t.length>1;if(this.currentValue[this.current]=t[0],this.current+1>=this.len?(this.current=this.currentValue.indexOf(null),-1===this.current&&this.blur()):this.current+=1,e){const e=t.slice(1);e&&this.fillInput(e)}}focus(){this.focusAt(this.current),super.focus()}focusAt(t){this.current=t,this._input.focus()}blur(){this._input.blur(),this.current=-1,super.blur()}reset(){this.current=-1,this.value=this.default,this.currentValue=this.value.split("").concat(Array(this.len-this.value.length).fill(null)),this.index>-1&&(this.current=this.index)}};t([c({type:Number})],g.prototype,"len",void 0),t([c({type:Number})],g.prototype,"index",void 0),t([h()],g.prototype,"current",void 0),t([h()],g.prototype,"currentValue",void 0),g=t([e(v),i(o`:host{border-radius:.1em;display:block;width:-moz-fit-content;width:fit-content;${m}--size:2em;${m}--gap:.25em}[part=root]{display:flex;gap:var(${m}--gap);justify-content:space-between;position:relative}[part=input-box],[part=root]{border-radius:inherit;vertical-align:top}[part=input-box]{align-items:center;display:inline-flex;height:var(${m}--size);justify-content:center;width:var(${m}--size)}[part=input]{background:none;height:100%;opacity:0;position:absolute;width:100%;z-index:-1}.focus,[part=input-box]:active{${d.ringColor}:var(${d.active})}`)],g);var y=g;export{g as Split,y as default};
1
+ import{__decorate as t}from"tslib";import{godown as e,styles as i,StyleController as r,omit as n,attr as s,loop as u,tokenList as l}from"@godown/element";import{css as o,html as a}from"lit";import{property as c,state as h}from"lit/decorators.js";import{scopePrefix as p,cssGlobalVars as d}from"../../internal/global-style.js";import{SuperInput as f}from"../../internal/super-input.js";import{RingBuilder as b,ringTypeAttribute as v}from"../../internal/ring.js";const m="split",g=p(m);let y=class Split extends f{constructor(){super(),this.len=6,this.index=-1,this.current=-1,this.currentValue=[],new r(this,(()=>new b({selector:"[part=input-box]",type:this.ringType}).css))}get observedRecord(){return n(super.observedRecord,v)}render(){return a`<div part="root" ${s(this.observedRecord)}> ${u(this.len,(t=>a`<span part="input-box" ring-type="${this.ringType}" class="${l({focus:this.current===t})}" @click="${this.disabled?null:()=>this.focusAt(t)}"> ${this.currentValue[t]} </span>`))} <input part="input" @blur=${this.blur} @input="${this._handleInput}" @change="${this._handleChange}" .value="${this.value.padStart(this.len," ")}"/> </div>`}connectedCallback(){super.connectedCallback(),this.reset()}_handleInput(t){t.stopPropagation(),this.compositing||(this.fillInput(t.data),this.value=this.currentValue.join(""),this.dispatchCustomEvent("input",this.value,{bubbles:!0}))}fillInput(t){if(null===t){if(null!==this.currentValue[this.current])this.currentValue[this.current]=null;else{this.currentValue[this.current-1]=null;const t=this.currentValue.findLastIndex((t=>null!==t));this.current=this.current-1<0?t<0?0:t:this.current-1}return}const e=t.length>1;if(this.currentValue[this.current]=t[0],this.current+1>=this.len?(this.current=this.currentValue.indexOf(null),-1===this.current&&this.blur()):this.current+=1,e){const e=t.slice(1);e&&this.fillInput(e)}}focus(){this.focusAt(this.current),super.focus()}focusAt(t){this.current=t,this._input.focus()}blur(){this._input.blur(),this.current=-1,super.blur()}reset(){this.current=-1,this.value=this.default,this.currentValue=this.value.split("").concat(Array(this.len-this.value.length).fill(null)),this.index>-1&&(this.current=this.index)}};t([c({type:Number})],y.prototype,"len",void 0),t([c({type:Number})],y.prototype,"index",void 0),t([h()],y.prototype,"current",void 0),t([h()],y.prototype,"currentValue",void 0),y=t([e(m),i(o`:host{border-radius:.1em;display:block;width:-moz-fit-content;width:fit-content;${g}--size:2em;${g}--gap:.25em}[part=root]{display:flex;gap:var(${g}--gap);justify-content:space-between;position:relative}[part=input-box],[part=root]{border-radius:inherit;vertical-align:top}[part=input-box]{align-items:center;display:inline-flex;height:var(${g}--size);justify-content:center;width:var(${g}--size)}[part=input]{background:none;height:100%;opacity:0;position:absolute;width:100%;z-index:-1}.focus,[part=input-box]:active{${d.ringColor}:var(${d.active})}`)],y);var $=y;export{y as Split,$ as default};
2
2
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../src/web-components/split/component.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","Split","SuperInput","constructor","super","this","len","index","current","currentValue","StyleController","RingBuilder","selector","type","ringType","css","observedRecord","omit","render","html","attr","loop","tokenList","focus","disabled","focusAt","blur","_handleInput","_handleChange","value","padStart","connectedCallback","compositing","join","fillInput","data","after","i","_input","default","split","concat","Array","length","fill","Number","prototype","property","state","__decorate","godown","cssGlobalVars","ringColor","active"],"mappings":"sbAQA,MAAMA,EAAY,QACZC,EAAWC,EAAYF,GA0D7B,IAAMG,EAAN,MAAMA,cAAcC,EAmBlB,WAAAC,GACEC,QAfFC,KAAGC,IAAG,EAMND,KAAKE,OAAK,EAGVF,KAAOG,SAAK,EAGZH,KAAYI,aAAsB,GAIhC,IAAIC,EACFL,MACA,IACE,IAAIM,EAAY,CACdC,SAAU,mBACVC,KAAMR,KAAKS,WACVC,MAIT,kBAAIC,GACF,OAAOC,EAAKb,MAAMY,eAAgB,aAG1B,MAAAE,GACR,OAAOC,CAAI,oBAAAC,EAAAf,KAAAW,oBAAAK,EAAAhB,KAAAC,KAAAC,GAAAY,CAAA,qCAAAd,KAAAS,oBAAAQ,EAAA,CAAAC,MAAAlB,KAAAG,UAAAD,gBAAAF,KAAAmB,SAAA,KAAA,IAAAnB,KAAAoB,QAAAlB,QAAAF,KAAAI,aAAAF,4CAAAF,KAAAqB,gBAAArB,KAAAsB,0BAAAtB,KAAAuB,0BAAAvB,KAAAwB,MAAAC,SAAAzB,KAAAC,IAAA,qCAGLF,MAAI2B,qEAOa1B,KAAA2B,qCAIX3B,KAAAwB,MAAKxB,KAAAI,aAAkBwB,KAAC,+DAuB5B,SAAAC,CAAAC,GACR,GAAiB,OAAAA,EAAE,CAEjB,GAAO,OAAA9B,KAAAI,aAAAJ,KAAAG,SAGKH,KAAAI,aAAQJ,KAAAG,SAAA,SAGjB,CAGPH,KAAAI,aAAAJ,KAAAG,QAAA,GAAA,0RAkBIH,KAASG,SAAA,IAGc,OAEjB4B,UAAc,GACpBA,QAAOF,UAAAE,GAIL,CACA,KAAAb,QACFE,QAAApB,KAAAG,eACOe,QAGT,OAAAE,CAAAY,GAEAhC,KAAQG,QAAA6B,EACRhC,KAAKiC,OAAAf,oBAICe,OAAQZ,OACZrB,KAAAG,SAAS,4BAGJA,SAAA,OACSqB,MAAAxB,KAAAkC,QAEdlC,KAAAI,aAAgBJ,KAACwB,MAAAW,MAAA,IAAAC,OAAAC,MAAArC,KAAAC,IAAAD,KAAAwB,MAAAc,QAAAC,KAAA,OACnBvC,KAAAE,WAEIF,KAAAG,QAAUH,KAAAE,cAKd,CAAAM,KAAAgC,YACFC,UAAA,WAAA,KAEK,CACHC,EAAK,CAAOlC,KAACgC,YACRC,UAAM,aAAE,KACf,CAEAE,KACE/C,EAAA6C,UAAY,eAAI,GAChBG,EAAA,CACFD,OAEIF,UAAA,oBAAA,GACF7C,EAAAgD,EAAW,CACXC,EAAApD,KACKiB,CAAK,mFAAEhB,eAAAA,iDAAAA,oMAAAA,6CAAAA,sIAAAoD,EAAAC,iBAAAD,EAAAE,sBAGTpD"}
1
+ {"version":3,"file":"component.js","sources":["../../src/web-components/split/component.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","Split","SuperInput","constructor","super","this","len","index","current","currentValue","StyleController","RingBuilder","selector","type","ringType","css","observedRecord","omit","ringTypeAttribute","render","html","attr","loop","tokenList","focus","disabled","focusAt","blur","_handleInput","_handleChange","value","padStart","connectedCallback","compositing","join","fillInput","data","after","i","_input","default","split","concat","Array","length","fill","Number","prototype","property","state","__decorate","godown","cssGlobalVars","ringColor","active"],"mappings":"6cAQA,MAAMA,EAAY,QACZC,EAAWC,EAAYF,GA0D7B,IAAMG,EAAN,MAAMA,cAAcC,EAmBlB,WAAAC,GACEC,QAfFC,KAAGC,IAAG,EAMND,KAAKE,OAAK,EAGVF,KAAOG,SAAK,EAGZH,KAAYI,aAAsB,GAIhC,IAAIC,EACFL,MACA,IACE,IAAIM,EAAY,CACdC,SAAU,mBACVC,KAAMR,KAAKS,WACVC,MAIT,kBAAIC,GACF,OAAOC,EAAKb,MAAMY,eAAgBE,GAG1B,MAAAC,GACR,OAAOC,CAAI,oBAAAC,EAAAhB,KAAAW,oBAAAM,EAAAjB,KAAAC,KAAAC,GAAAa,CAAA,qCAAAf,KAAAS,oBAAAS,EAAA,CAAAC,MAAAnB,KAAAG,UAAAD,gBAAAF,KAAAoB,SAAA,KAAA,IAAApB,KAAAqB,QAAAnB,QAAAF,KAAAI,aAAAF,4CAAAF,KAAAsB,gBAAAtB,KAAAuB,0BAAAvB,KAAAwB,0BAAAxB,KAAAyB,MAAAC,SAAA1B,KAAAC,IAAA,qCAGLF,MAAI4B,qEAOa3B,KAAA4B,qCAIX5B,KAAAyB,MAAKzB,KAAAI,aAAkByB,KAAC,+DAuB5B,SAAAC,CAAAC,GACR,GAAiB,OAAAA,EAAE,CAEjB,GAAO,OAAA/B,KAAAI,aAAAJ,KAAAG,SAGKH,KAAAI,aAAQJ,KAAAG,SAAA,SAGjB,CAGPH,KAAAI,aAAAJ,KAAAG,QAAA,GAAA,0RAkBIH,KAASG,SAAA,IAGc,OAEjB6B,UAAc,GACpBA,QAAOF,UAAAE,GAIL,CACA,KAAAb,QACFE,QAAArB,KAAAG,eACOgB,QAGT,OAAAE,CAAAY,GAEAjC,KAAQG,QAAA8B,EACRjC,KAAKkC,OAAAf,oBAICe,OAAQZ,OACZtB,KAAAG,SAAS,4BAGJA,SAAA,OACSsB,MAAAzB,KAAAmC,QAEdnC,KAAAI,aAAgBJ,KAACyB,MAAAW,MAAA,IAAAC,OAAAC,MAAAtC,KAAAC,IAAAD,KAAAyB,MAAAc,QAAAC,KAAA,OACnBxC,KAAAE,WAEIF,KAAAG,QAAUH,KAAAE,cAKd,CAAAM,KAAAiC,YACFC,UAAA,WAAA,KAEK,CACHC,EAAK,CAAOnC,KAACiC,YACRC,UAAM,aAAE,KACf,CAEAE,KACEhD,EAAA8C,UAAY,eAAI,GAChBG,EAAA,CACFD,OAEIF,UAAA,oBAAA,GACF9C,EAAAiD,EAAW,CACXC,EAAArD,KACKiB,CAAK,mFAAEhB,eAAAA,iDAAAA,oMAAAA,6CAAAA,sIAAAqD,EAAAC,iBAAAD,EAAAE,sBAGTrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/switch/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D;;;;;GAKG;AACH,cA0DM,MAAO,SAAQ,UAAU,CAAC,OAAO,CAAC;IACtC,IAAI,OAAO,CAAC,CAAC,EAAE,OAAO,EAErB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,KAAK,UAAS;IAEd,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAExC;IAED,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAmBrC,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,cAAc,IAAI,IAAI;IAWhC,SAAS,CAAC,aAAa,IAAI,IAAI;CAKhC;AAED,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/switch/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAM3D;;;;;GAKG;AACH,cA0DM,MAAO,SAAQ,UAAU,CAAC,OAAO,CAAC;IACtC,IAAI,OAAO,CAAC,CAAC,EAAE,OAAO,EAErB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,KAAK,UAAS;IAEd,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAExC;IAED,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAmBrC,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,cAAc,IAAI,IAAI;IAWhC,SAAS,CAAC,aAAa,IAAI,IAAI;CAKhC;AAED,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{__decorate as t}from"tslib";import{godown as e,styles as a,omit as i,attr as r}from"@godown/element";import{css as s,html as o}from"lit";import{property as n}from"lit/decorators.js";import{scopePrefix as h,cssGlobalVars as d}from"../../internal/global-style.js";import{SuperInput as l}from"../../internal/super-input.js";const c="switch",p=h(c);let u=class Switch extends l{constructor(){super(...arguments),this.default=!1,this.value=!1}set checked(t){this.value=t}get checked(){return this.value}get observedRecord(){return i(super.observedRecord,"ring-type")}render(){return o`<div part="root" ${r(this.observedRecord)} class="round"> <input part="input" type="checkbox" ?disabled="${this.disabled}" ?checked="${this.value}" @change="${this._handleChange}"/> <span part="handle"></span> </div>`}reset(){this.value=this.default,this._input.checked=this.value}_connectedInit(){this.default?this.value=!0:this.value&&(this.value=!0,this.default=!0)}_handleChange(){const{checked:t}=this._input;this.value=t,this.dispatchCustomEvent("change",this.value)}};t([n({type:Boolean})],u.prototype,"default",void 0),t([n({type:Boolean,attribute:"checked",reflect:!0})],u.prototype,"value",void 0),u=t([e(c),a(s`:host,:host([contents]) [part=root]{display:inline-block}:host{${p}-width:3em;${p}-height:calc(var(${p}-width)/2);${p}-handle-size:1.25em;${p}-handle-space:calc(var(${p}-width)/4 - var(${p}-handle-size)/2);background:var(${d.passive});border-radius:calc(var(${p}-height)/2);height:var(${p}-height);transition:.2s ease-in-out;transition-property:background,left;vertical-align:bottom;width:var(${p}-width)}:host([checked]){background:var(${d.active})}[part=root]{position:relative}[part=handle],[part=root]{align-items:center;display:flex;transition:inherit}[part=handle]{background:var(${d.background});border-radius:100%;height:var(${p}-handle-size);justify-content:center;left:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%) translateX(var(${p}-handle-space));width:var(${p}-handle-size)}:host([checked]) [part=handle]{left:50%}[part=input]{height:100%;opacity:0;width:100%}`)],u);var v=u;export{u as Switch,v as default};
1
+ import{__decorate as t}from"tslib";import{godown as e,styles as a,omit as r,attr as i}from"@godown/element";import{css as o,html as s}from"lit";import{property as n}from"lit/decorators.js";import{scopePrefix as h,cssGlobalVars as l}from"../../internal/global-style.js";import{SuperInput as d}from"../../internal/super-input.js";import{ringTypeAttribute as c}from"../../internal/ring.js";const p="switch",u=h(p);let v=class Switch extends d{constructor(){super(...arguments),this.default=!1,this.value=!1}set checked(t){this.value=t}get checked(){return this.value}get observedRecord(){return r(super.observedRecord,c)}render(){return s`<div part="root" ${i(this.observedRecord)} class="round"> <input part="input" type="checkbox" ?disabled="${this.disabled}" ?checked="${this.value}" @change="${this._handleChange}"/> <span part="handle"></span> </div>`}reset(){this.value=this.default,this._input.checked=this.value}_connectedInit(){this.default?this.value=!0:this.value&&(this.value=!0,this.default=!0)}_handleChange(){const{checked:t}=this._input;this.value=t,this.dispatchCustomEvent("change",this.value)}};t([n({type:Boolean})],v.prototype,"default",void 0),t([n({type:Boolean,attribute:"checked",reflect:!0})],v.prototype,"value",void 0),v=t([e(p),a(o`:host,:host([contents]) [part=root]{display:inline-block}:host{${u}-width:3em;${u}-height:calc(var(${u}-width)/2);${u}-handle-size:1.25em;${u}-handle-space:calc(var(${u}-width)/4 - var(${u}-handle-size)/2);background:var(${l.passive});border-radius:calc(var(${u}-height)/2);height:var(${u}-height);transition:.2s ease-in-out;transition-property:background,left;vertical-align:bottom;width:var(${u}-width)}:host([checked]){background:var(${l.active})}[part=root]{position:relative}[part=handle],[part=root]{align-items:center;display:flex;transition:inherit}[part=handle]{background:var(${l.background});border-radius:100%;height:var(${u}-handle-size);justify-content:center;left:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%) translateX(var(${u}-handle-space));width:var(${u}-handle-size)}:host([checked]) [part=handle]{left:50%}[part=input]{height:100%;opacity:0;width:100%}`)],v);var g=v;export{v as Switch,g as default};
2
2
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../src/web-components/switch/component.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","Switch","SuperInput","constructor","this","default","value","checked","v","observedRecord","omit","super","render","html","attr","disabled","_handleChange","_input","dispatchCustomEvent","__decorate","type","Boolean","property","attribute","reflect","prototype","styles","css","cssGlobalVars","passive","active","background","Switch$1"],"mappings":"wUAOA,MAAMA,EAAY,SACZC,EAAWC,EAAYF,GAkE7B,IAAMG,EAAN,MAAMA,eAAeC,EAArB,WAAAC,uBAaEC,KAAOC,SAAG,EAMVD,KAAKE,OAAG,EAlBR,WAAIC,CAAQC,GACVJ,KAAKE,MAAQE,EAGf,WAAID,GACF,OAAOH,KAAKE,MAed,kBAAIG,GACF,OAAOC,EAAKC,MAAMF,eAAgB,aAG1B,MAAAG,GACR,OAAOC,CAAI,oBAAAC,EAAAV,KAAAK,iFAAAL,KAAAW,uBAAAX,KAAAE,mBAAAF,KAAAY,8DAGLZ,KAAAE,MAAUF,KAAAC,mFAQCD,KAAAE,uCAOnB,aAAAU,GACE,MAAUT,QAAAA,QAAeU,OACzBb,KAAKE,MAAOC,EACdH,KAAAc,oBAAA,SAAAd,KAAAE,SAIIa,EAAA,GACF,CAAAC,KAAAC,uBAAO,eAAA,GACLF,EAAA,CACEG,EAAA,CAAAF,KAAKC,QAAQE,UAAI,UAAAC,SAAA,KACjBvB,EAAAwB,UAAK,aAAU,OACjB,GACF3B,GACF4B,EAAAC,CAAA,kEAAA5B,eAAAA,qBAAAA,eAAAA,wBAAAA,2BAAAA,oBAAAA,oCAAA6B,EAAAC,mCAAA9B,2BAAAA,4GAAAA,4CAAA6B,EAAAE,mJAAAF,EAAAG,6CAAAhC,wIAAAA,8BAAAA,6GAGE,IAAAiC"}
1
+ {"version":3,"file":"component.js","sources":["../../src/web-components/switch/component.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","Switch","SuperInput","constructor","this","default","value","checked","v","observedRecord","omit","super","ringTypeAttribute","render","html","attr","disabled","_handleChange","_input","dispatchCustomEvent","__decorate","type","Boolean","property","attribute","reflect","prototype","styles","css","cssGlobalVars","passive","active","background","Switch$1"],"mappings":"mYAQA,MAAMA,EAAY,SACZC,EAAWC,EAAYF,GAkE7B,IAAMG,EAAN,MAAMA,eAAeC,EAArB,WAAAC,uBAaEC,KAAOC,SAAG,EAMVD,KAAKE,OAAG,EAlBR,WAAIC,CAAQC,GACVJ,KAAKE,MAAQE,EAGf,WAAID,GACF,OAAOH,KAAKE,MAed,kBAAIG,GACF,OAAOC,EAAKC,MAAMF,eAAgBG,GAG1B,MAAAC,GACR,OAAOC,CAAI,oBAAAC,EAAAX,KAAAK,iFAAAL,KAAAY,uBAAAZ,KAAAE,mBAAAF,KAAAa,8DAGLb,KAAAE,MAAUF,KAAAC,mFAQCD,KAAAE,uCAOnB,aAAAW,GACE,MAAUV,QAAAA,QAAeW,OACzBd,KAAKE,MAAOC,EACdH,KAAAe,oBAAA,SAAAf,KAAAE,SAIIc,EAAA,GACF,CAAAC,KAAAC,uBAAO,eAAA,GACLF,EAAA,CACEG,EAAA,CAAAF,KAAKC,QAAQE,UAAI,UAAAC,SAAA,KACjBxB,EAAAyB,UAAK,aAAU,OACjB,GACF5B,GACF6B,EAAAC,CAAA,kEAAA7B,eAAAA,qBAAAA,eAAAA,wBAAAA,2BAAAA,oBAAAA,oCAAA8B,EAAAC,mCAAA/B,2BAAAA,4GAAAA,4CAAA8B,EAAAE,mJAAAF,EAAAG,6CAAAjC,wIAAAA,8BAAAA,6GAGE,IAAAkC"}
@@ -4,50 +4,43 @@ import { type RingType } from "../../internal/ring.js";
4
4
  /**
5
5
  * {@linkcode Tabs} used to render a set of tabs.
6
6
  *
7
- * It accepts "tabs" to present the sub-content.
8
- *
9
- * When "useSlot" is enabled, each item in "tabs" becomes a named slot with the same name as itself,
10
- * while for non-slot tabs, the content is rendered as a horizontally padded string.
11
- *
12
- * When "mouseenter" and "mouseleave" are triggered on an individual tab, the indicator will move.
13
- *
14
- * The moving indicator will start from the position of the item that was last entered.
15
- *
16
- * If the pointer moves out of the root element or the element is connected to the document,
17
- * the starting position of the indicator will be regarded as the current selection.
18
- *
19
- * Apply "flex-direction: column" to the tabs to arrange them vertically.
20
- *
21
- * @csspart root - The root element.
22
- * @csspart item - The tab items.
23
- * @csspart indicator - The indicator.
24
- * @csspart selected - The selected tab item.
25
- * @csspart hover - The hovered tab item.
26
- * @fires select - Fires when the tab is selected.
7
+ * @fires select - Fires when the tab index is changed.
27
8
  * @category display
28
9
  */
29
10
  declare class Tabs extends GlobalStyle {
30
11
  ringType: RingType;
31
12
  /**
32
- * Determines whether the tabs should use a slot for their content instead of a string.
13
+ * If it is "select", the indicator moves from the selected content to the hover position.
14
+ *
15
+ * If it is "previous", the indicator moves from the last moved position to the hover position.
16
+ *
17
+ * If "none", the indicator will not move.
18
+ */
19
+ beginning: "selected" | "previous" | "none";
20
+ /**
21
+ * The behavior of the indicator:
22
+ *
23
+ * If "background", its size will be consistent with that of a single tab.
24
+ *
25
+ * If "underline", an underline will be displayed at the bottom of the tab.
33
26
  */
34
- useSlot: boolean;
27
+ indicator: "background" | "underline";
35
28
  /**
36
- * An array of strings or slot content representing the tabs.
29
+ * Tab list or slot list.
37
30
  */
38
31
  tabs: string[];
39
32
  /**
40
33
  * The index of the currently selected tab.
41
34
  */
42
35
  index: number;
43
- protected _lastIndex: number;
36
+ protected previousIndex: number;
44
37
  protected _items: HTMLCollectionOf<HTMLLIElement>;
45
38
  protected _indicators: HTMLCollectionOf<HTMLDivElement>;
46
39
  constructor();
47
40
  render(): TemplateResult<1>;
48
41
  connectedCallback(): void;
49
42
  protected _handleMouseLeave(): void;
50
- move(from: number, to: number): void;
43
+ move(sourceIndex: number, targetIndex: number): void;
51
44
  select(selected: number): void;
52
45
  }
53
46
  export default Tabs;
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/tabs/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,WAAW,EAAe,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAErD,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAOpE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,cA8DM,IAAK,SAAQ,WAAW;IAE5B,QAAQ,EAAE,QAAQ,CAAY;IAE9B;;OAEG;IAEH,OAAO,UAAS;IAEhB;;OAEG;IAEH,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IAEH,KAAK,SAAK;IAEV,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAG7B,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAGlD,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;;IAOxD,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IA8B3B,iBAAiB,IAAI,IAAI;IAKzB,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAQnC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAsCpC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAY/B;AAED,eAAe,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"__source__/","sources":["web-components/tabs/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,WAAW,EAAe,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAErD,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAOvF;;;;;GAKG;AACH,cAyEM,IAAK,SAAQ,WAAW;IAE5B,QAAQ,EAAE,QAAQ,CAAY;IAE9B;;;;;;OAMG;IAEH,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAc;IAEzD;;;;;;OAMG;IAEH,SAAS,EAAE,YAAY,GAAG,WAAW,CAAgB;IAErD;;OAEG;IAEH,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf;;OAEG;IAEH,KAAK,SAAK;IAEV,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAGhC,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAGlD,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;;IAOxD,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IA0B3B,iBAAiB,IAAI,IAAI;IAKzB,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAQnC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAsCpD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAS/B;AAED,eAAe,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{__decorate as t}from"tslib";import{godown as i,styles as e,StyleController as r,attr as o,tokenList as n,htmlSlot as s}from"@godown/element";import{scopePrefix as a,cssGlobalVars as d,GlobalStyle as p}from"../../internal/global-style.js";import{css as l,html as c}from"lit";import{property as h,queryAll as u}from"lit/decorators.js";import{RingBuilder as m}from"../../internal/ring.js";const v="tabs",y=a(v),x="hover";let b=class Tabs extends p{constructor(){super(),this.ringType="border",this.useSlot=!1,this.index=0,new r(this,(()=>new m({type:this.ringType}).css))}render(){return c`<ul part="root" ${o(this.observedRecord)} @mouseleave="${this._handleMouseLeave}"> ${this.tabs?.map(((t,i)=>t||this.useSlot?c`<li part="${n("item",{selected:this.index===i})}" @mouseenter=${()=>{this.move(this._lastIndex,i),this._lastIndex=i}} @click=${()=>this.select(i)}> ${this.useSlot?s(t):t} <div part="indicator"></div> </li>`:""))} </ul>`}connectedCallback(){super.connectedCallback(),this._lastIndex=this.index}_handleMouseLeave(){const t=this._items[this._lastIndex];t&&t.part.remove(x),this._lastIndex=this.index}move(t,i){if(t===i)return;const{_items:e,_indicators:r}=this,o=e[i];if(!o)return;o.part.add(x);const n=e[t];if(!n)return;n.part.remove(x);const s=r[i],a=r[t];if(!s||!a)return;const d=a.getBoundingClientRect(),p=o.getBoundingClientRect(),l=d.x-p.x,c=d.y-p.y,h=d.width,{style:u}=s;u.transform=`translate3d(${l}px,${c}px,0)`,u.width=h+"px",u.transition=a.style.transition="none",s.getBoundingClientRect(),u.width=u.transform=u.transition=a.style.transition=""}select(t){const{index:i,tabs:e,_lastIndex:r,useSlot:o}=this;e&&i!==t&&t in e&&(this.dispatchCustomEvent("select",t),this.move(r,t),this._lastIndex=t,i in e&&(e[i]||o)&&(this.index=t))}};t([h({attribute:"ring-type"})],b.prototype,"ringType",void 0),t([h({type:Boolean})],b.prototype,"useSlot",void 0),t([h({type:Array})],b.prototype,"tabs",void 0),t([h({type:Number})],b.prototype,"index",void 0),t([u("[part~=item]")],b.prototype,"_items",void 0),t([u("[part=indicator]")],b.prototype,"_indicators",void 0),b=t([i(v),e(l`:host{${y}--indicator-background:var(${d.passive});${y}--space:0.25em;border-radius:var(${d.radius});cursor:default;display:flex;transition:.3s ease-in-out;width:-moz-fit-content;width:fit-content}[part=root]{border-radius:inherit;display:flex;flex-direction:inherit;gap:var(${y}--space);overflow-x:clip;padding:.2em;position:relative;transition:inherit;transition-property:width,transform,opacity;z-index:1}[useslot] [part~=item]{padding:0}[part~=item]{display:block;padding:0 .25em;position:relative;white-space:nowrap}[part=indicator],[part~=item]{border-radius:inherit;transition:inherit;transition-property:inherit;width:100%}[part=indicator]{background:var(${y}--indicator-background);height:100%;inset:0;opacity:0;position:absolute;z-index:-1}[part~=selected]{background:var(${y}--indicator-background)}[part~=hover] [part=indicator],[part~=selected] [part=indicator]{opacity:1}`)],b);var g=b;export{b as Tabs,g as default};
1
+ import{__decorate as t}from"tslib";import{godown as i,styles as e,StyleController as r,attr as n,tokenList as o,htmlSlot as s}from"@godown/element";import{scopePrefix as a,cssGlobalVars as d,GlobalStyle as p}from"../../internal/global-style.js";import{css as c,html as l}from"lit";import{property as h,queryAll as u}from"lit/decorators.js";import{ringTypeAttribute as m,RingBuilder as v}from"../../internal/ring.js";const g="tabs",b=a(g),x="hover";let y=class Tabs extends p{constructor(){super(),this.ringType="border",this.beginning="selected",this.indicator="background",this.index=0,new r(this,(()=>new v({type:this.ringType}).css))}render(){return l`<ul part="root" ${n(this.observedRecord)} @mouseleave="${this._handleMouseLeave}"> ${this.tabs?.map(((t,i)=>l`<li part="${o("item",this.index===i&&"selected")}" @mouseenter=${()=>{this.move(this.previousIndex,i),this.previousIndex=i}} @click=${()=>this.select(i)}> ${s(t,t)} <div part="indicator"></div> </li>`))} </ul>`}connectedCallback(){super.connectedCallback(),this.previousIndex="selected"===this.beginning?this.index:-1}_handleMouseLeave(){const t=this._items[this.previousIndex];t&&t.part.remove(x),this.previousIndex="selected"===this.beginning?this.index:-1}move(t,i){if(t===i)return;const{_items:e,_indicators:r}=this,n=e[i];if(!n)return;n.part.add(x);const o=e[t];if(!o)return;if(o.part.remove(x),"none"===this.beginning)return;const s=r[i],a=r[t];if(!s||!a)return;const{x:d,y:p,width:c}=a.getBoundingClientRect(),{x:l,y:h}=s.getBoundingClientRect(),u=d-l,m=p-h,{style:v}=s,{style:g}=a;v.transform=`translate3d(${u}px,${m}px,0)`,v.width=`${c}px`,v.transition=g.transition="none",s.getBoundingClientRect(),v.width=v.transform=v.transition=g.transition=""}select(t){const{index:i,previousIndex:e}=this;this.move(e,t),t!==i&&(this.previousIndex=t,this.index=t,this.dispatchCustomEvent("select",t))}};t([h({attribute:m})],y.prototype,"ringType",void 0),t([h()],y.prototype,"beginning",void 0),t([h()],y.prototype,"indicator",void 0),t([h({type:Array})],y.prototype,"tabs",void 0),t([h({type:Number})],y.prototype,"index",void 0),t([u("[part~=item]")],y.prototype,"_items",void 0),t([u("[part=indicator]")],y.prototype,"_indicators",void 0),y=t([i(g),e(c`:host{${b}--indicator-background:var(${d.passive});${b}--selected-background:var(${d.passive});cursor:default;display:flex;transition:.2s ease-in-out}[part=root]{border-radius:inherit;display:flex;flex-direction:inherit;gap:.25em;overflow-x:clip;padding:.25em;position:relative;transition:inherit;transition-property:width,transform,opacity;z-index:1}[part~=item]{display:block;padding:0 .25em;position:relative;white-space:nowrap}[part=indicator],[part~=item],[part~=item]:after{border-radius:inherit;transition:inherit;transition-property:inherit;width:100%}[part=indicator],[part~=item]:after{background:var(${b}--indicator-background);height:100%;inset:0;position:absolute}[part=indicator]{opacity:0;z-index:-1}[part~=item]:after{z-index:-2}[indicator=underline] [part=indicator],[indicator=underline] [part~=item]:after{border-radius:.075em;height:.15em;margin-top:.15em;top:100%}[part~=selected]:after{background:var(${b}--selected-background);content:""}[part~=hover] [part=indicator]{opacity:1}`)],y);var f=y;export{y as Tabs,f as default};
2
2
  //# sourceMappingURL=component.js.map