@mhmo91/schmancy 0.2.39 → 0.2.41

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 (222) hide show
  1. package/dist/{animated-text-B3UYCBgB.cjs → animated-text-CaUJr-yL.cjs} +2 -2
  2. package/dist/{animated-text-B3UYCBgB.cjs.map → animated-text-CaUJr-yL.cjs.map} +1 -1
  3. package/dist/{animated-text-D6s-YOrx.js → animated-text-D8LhwMLu.js} +3 -3
  4. package/dist/{animated-text-D6s-YOrx.js.map → animated-text-D8LhwMLu.js.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-CNHbzqRX.cjs → area.component-DJYgP8NP.cjs} +2 -2
  9. package/dist/{area.component-CNHbzqRX.cjs.map → area.component-DJYgP8NP.cjs.map} +1 -1
  10. package/dist/{area.component-xeDLv_CE.js → area.component-FgfXnOUF.js} +3 -3
  11. package/dist/{area.component-xeDLv_CE.js.map → area.component-FgfXnOUF.js.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-Cz4oZQBB.js → autocomplete-C36FPrMT.js} +3 -3
  14. package/dist/{autocomplete-Cz4oZQBB.js.map → autocomplete-C36FPrMT.js.map} +1 -1
  15. package/dist/{autocomplete-D71XBwSj.cjs → autocomplete-CFcZcrJm.cjs} +2 -2
  16. package/dist/{autocomplete-D71XBwSj.cjs.map → autocomplete-CFcZcrJm.cjs.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/busy.cjs +1 -1
  20. package/dist/busy.js +1 -1
  21. package/dist/button.cjs +1 -1
  22. package/dist/button.js +1 -1
  23. package/dist/card.cjs +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/{checkbox-CQvBkjyb.cjs → checkbox-Drf8MwrJ.cjs} +2 -2
  26. package/dist/{checkbox-CQvBkjyb.cjs.map → checkbox-Drf8MwrJ.cjs.map} +1 -1
  27. package/dist/{checkbox-DCRZj150.js → checkbox-Sf2HtMs9.js} +2 -2
  28. package/dist/{checkbox-DCRZj150.js.map → checkbox-Sf2HtMs9.js.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-BUDT0jpL.cjs → chips-8SMj1Siq.cjs} +2 -2
  32. package/dist/{chips-BUDT0jpL.cjs.map → chips-8SMj1Siq.cjs.map} +1 -1
  33. package/dist/{chips-DStbVgUo.js → chips-CA-B5JGD.js} +3 -3
  34. package/dist/{chips-DStbVgUo.js.map → chips-CA-B5JGD.js.map} +1 -1
  35. package/dist/chips.cjs +1 -1
  36. package/dist/chips.js +1 -1
  37. package/dist/components.cjs +1 -1
  38. package/dist/components.js +1 -1
  39. package/dist/content-drawer.cjs +1 -1
  40. package/dist/content-drawer.js +1 -1
  41. package/dist/{date-range-D_zg5C9O.js → date-range-BFW0xGWz.js} +3 -3
  42. package/dist/{date-range-D_zg5C9O.js.map → date-range-BFW0xGWz.js.map} +1 -1
  43. package/dist/{date-range-BjIt4Ocb.cjs → date-range-CAFOX_Sm.cjs} +2 -2
  44. package/dist/{date-range-BjIt4Ocb.cjs.map → date-range-CAFOX_Sm.cjs.map} +1 -1
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-LxXCSBHq.js → delay-DbaKftdS.js} +2 -2
  48. package/dist/{delay-LxXCSBHq.js.map → delay-DbaKftdS.js.map} +1 -1
  49. package/dist/{delay-D8wCtScV.cjs → delay-_LA9VzS1.cjs} +2 -2
  50. package/dist/{delay-D8wCtScV.cjs.map → delay-_LA9VzS1.cjs.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-BSEoJ09J.js → divider-Ba1jSOh5.js} +3 -3
  54. package/dist/{divider-BSEoJ09J.js.map → divider-Ba1jSOh5.js.map} +1 -1
  55. package/dist/{divider-lCnFIhkp.cjs → divider-DUvuIyeA.cjs} +2 -2
  56. package/dist/{divider-lCnFIhkp.cjs.map → divider-DUvuIyeA.cjs.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/{form-Bf2BlAqE.cjs → form-Dga1_eim.cjs} +2 -2
  60. package/dist/{form-Bf2BlAqE.cjs.map → form-Dga1_eim.cjs.map} +1 -1
  61. package/dist/{form-C-1W3Aqc.js → form-H0pfjyGl.js} +2 -2
  62. package/dist/{form-C-1W3Aqc.js.map → form-H0pfjyGl.js.map} +1 -1
  63. package/dist/form.cjs +1 -1
  64. package/dist/form.js +1 -1
  65. package/dist/{icon-Wj9hmgVr.cjs → icon-Dr1MeHJo.cjs} +2 -2
  66. package/dist/{icon-Wj9hmgVr.cjs.map → icon-Dr1MeHJo.cjs.map} +1 -1
  67. package/dist/{icon-button-C0bTDyZI.cjs → icon-button-B1Hzc1qy.cjs} +2 -2
  68. package/dist/{icon-button-C0bTDyZI.cjs.map → icon-button-B1Hzc1qy.cjs.map} +1 -1
  69. package/dist/{icon-button-CRWWdZ-S.js → icon-button-BFdAiGNP.js} +3 -3
  70. package/dist/{icon-button-CRWWdZ-S.js.map → icon-button-BFdAiGNP.js.map} +1 -1
  71. package/dist/{icon-CXD3W__G.js → icon-pvbFfBbz.js} +3 -3
  72. package/dist/{icon-CXD3W__G.js.map → icon-pvbFfBbz.js.map} +1 -1
  73. package/dist/icons.cjs +1 -1
  74. package/dist/icons.js +1 -1
  75. package/dist/index.cjs +1 -1
  76. package/dist/index.js +33 -33
  77. package/dist/{input-DRhsCSxi.cjs → input-1-LnDYbT.cjs} +2 -2
  78. package/dist/{input-DRhsCSxi.cjs.map → input-1-LnDYbT.cjs.map} +1 -1
  79. package/dist/{input-BQtGX-Fg.js → input-CBjD2PL8.js} +2 -2
  80. package/dist/{input-BQtGX-Fg.js.map → input-CBjD2PL8.js.map} +1 -1
  81. package/dist/input.cjs +1 -1
  82. package/dist/input.js +1 -1
  83. package/dist/layout.cjs +1 -1
  84. package/dist/layout.js +1 -1
  85. package/dist/{list-CUpWM7R0.js → list-BdN19pT0.js} +2 -2
  86. package/dist/{list-CUpWM7R0.js.map → list-BdN19pT0.js.map} +1 -1
  87. package/dist/{list-bbSGS1sE.cjs → list-DSyxyPI_.cjs} +2 -2
  88. package/dist/{list-bbSGS1sE.cjs.map → list-DSyxyPI_.cjs.map} +1 -1
  89. package/dist/list.cjs +1 -1
  90. package/dist/list.js +1 -1
  91. package/dist/{litElement.mixin-CYwiYZyZ.cjs → litElement.mixin-B9kSOE4x.cjs} +2 -2
  92. package/dist/{litElement.mixin-CYwiYZyZ.cjs.map → litElement.mixin-B9kSOE4x.cjs.map} +1 -1
  93. package/dist/{litElement.mixin-DoKCdkhO.js → litElement.mixin-D9kneJpW.js} +2 -2
  94. package/dist/{litElement.mixin-DoKCdkhO.js.map → litElement.mixin-D9kneJpW.js.map} +1 -1
  95. package/dist/{menu-DGFcpetb.js → menu-DjWA-lYK.js} +3 -3
  96. package/dist/{menu-DGFcpetb.js.map → menu-DjWA-lYK.js.map} +1 -1
  97. package/dist/{menu-CXDFSHgu.cjs → menu-XffIwQSn.cjs} +2 -2
  98. package/dist/{menu-CXDFSHgu.cjs.map → menu-XffIwQSn.cjs.map} +1 -1
  99. package/dist/menu.cjs +1 -1
  100. package/dist/menu.js +1 -1
  101. package/dist/nav-drawer.cjs +1 -1
  102. package/dist/nav-drawer.js +1 -1
  103. package/dist/notification.cjs +1 -1
  104. package/dist/notification.js +1 -1
  105. package/dist/{option-Cr7OiYc5.js → option-C4fWPkxl.js} +2 -2
  106. package/dist/{option-Cr7OiYc5.js.map → option-C4fWPkxl.js.map} +1 -1
  107. package/dist/{option-BKHQU-_I.cjs → option-Dcuv7dNV.cjs} +2 -2
  108. package/dist/{option-BKHQU-_I.cjs.map → option-Dcuv7dNV.cjs.map} +1 -1
  109. package/dist/option.cjs +1 -1
  110. package/dist/option.js +1 -1
  111. package/dist/{outlet-BZSpbcNh.cjs → outlet-881x1gpm.cjs} +2 -2
  112. package/dist/{outlet-BZSpbcNh.cjs.map → outlet-881x1gpm.cjs.map} +1 -1
  113. package/dist/{outlet-D39IYQgF.js → outlet-oc58T2jq.js} +2 -2
  114. package/dist/{outlet-D39IYQgF.js.map → outlet-oc58T2jq.js.map} +1 -1
  115. package/dist/{payment-card-form-jktK4YkR.cjs → payment-card-form-BlusjI2Q.cjs} +2 -2
  116. package/dist/{payment-card-form-jktK4YkR.cjs.map → payment-card-form-BlusjI2Q.cjs.map} +1 -1
  117. package/dist/{payment-card-form-MU2rWtCN.js → payment-card-form-D2NiZkJM.js} +3 -3
  118. package/dist/{payment-card-form-MU2rWtCN.js.map → payment-card-form-D2NiZkJM.js.map} +1 -1
  119. package/dist/{radio-group-Cbcn7M8H.js → radio-group-BALwJIFj.js} +2 -2
  120. package/dist/{radio-group-Cbcn7M8H.js.map → radio-group-BALwJIFj.js.map} +1 -1
  121. package/dist/{radio-group-DnpFVpBo.cjs → radio-group-DE6ao3xB.cjs} +2 -2
  122. package/dist/{radio-group-DnpFVpBo.cjs.map → radio-group-DE6ao3xB.cjs.map} +1 -1
  123. package/dist/radio-group.cjs +1 -1
  124. package/dist/radio-group.js +1 -1
  125. package/dist/{scroll-moSwU3Ry.js → scroll-BbqxMyDc.js} +2 -2
  126. package/dist/{scroll-moSwU3Ry.js.map → scroll-BbqxMyDc.js.map} +1 -1
  127. package/dist/{scroll-DNj5rrzc.cjs → scroll-BqLesKK7.cjs} +2 -2
  128. package/dist/{scroll-DNj5rrzc.cjs.map → scroll-BqLesKK7.cjs.map} +1 -1
  129. package/dist/{select-Dmhiq26e.js → select-CaBI5TrW.js} +3 -3
  130. package/dist/{select-Dmhiq26e.js.map → select-CaBI5TrW.js.map} +1 -1
  131. package/dist/{select-DEOnUayG.cjs → select-N1WX3mjc.cjs} +2 -2
  132. package/dist/{select-DEOnUayG.cjs.map → select-N1WX3mjc.cjs.map} +1 -1
  133. package/dist/select.cjs +1 -1
  134. package/dist/select.js +1 -1
  135. package/dist/{sheet-CgaQ6pVJ.cjs → sheet-BLzXXxJz.cjs} +2 -2
  136. package/dist/{sheet-CgaQ6pVJ.cjs.map → sheet-BLzXXxJz.cjs.map} +1 -1
  137. package/dist/{sheet-BDPiwpWN.js → sheet-CrFAERdT.js} +3 -3
  138. package/dist/{sheet-BDPiwpWN.js.map → sheet-CrFAERdT.js.map} +1 -1
  139. package/dist/sheet.cjs +1 -1
  140. package/dist/sheet.js +1 -1
  141. package/dist/{slider-D-cIdjqg.js → slider-BAQ6ue43.js} +3 -3
  142. package/dist/{slider-D-cIdjqg.js.map → slider-BAQ6ue43.js.map} +1 -1
  143. package/dist/{slider-Dbz2ehmj.cjs → slider-Ck3rrBuj.cjs} +2 -2
  144. package/dist/{slider-Dbz2ehmj.cjs.map → slider-Ck3rrBuj.cjs.map} +1 -1
  145. package/dist/slider.cjs +1 -1
  146. package/dist/slider.js +1 -1
  147. package/dist/{spinner-COoBI2kA.cjs → spinner-B1iL6lg7.cjs} +2 -2
  148. package/dist/{spinner-COoBI2kA.cjs.map → spinner-B1iL6lg7.cjs.map} +1 -1
  149. package/dist/{spinner-qHgA76_k.js → spinner-Dp-BlzFE.js} +3 -3
  150. package/dist/{spinner-qHgA76_k.js.map → spinner-Dp-BlzFE.js.map} +1 -1
  151. package/dist/{surface-BALOUsnP.js → surface-C-5hXuc0.js} +2 -2
  152. package/dist/{surface-BALOUsnP.js.map → surface-C-5hXuc0.js.map} +1 -1
  153. package/dist/{surface-DI4R4vjx.cjs → surface-KIYOpqYN.cjs} +2 -2
  154. package/dist/{surface-DI4R4vjx.cjs.map → surface-KIYOpqYN.cjs.map} +1 -1
  155. package/dist/surface.cjs +1 -1
  156. package/dist/surface.js +1 -1
  157. package/dist/{table-DVqYwon7.cjs → table-COiGzwHG.cjs} +2 -2
  158. package/dist/{table-DVqYwon7.cjs.map → table-COiGzwHG.cjs.map} +1 -1
  159. package/dist/{table-C3YCvbyA.js → table-D5Y7TtBM.js} +2 -2
  160. package/dist/{table-C3YCvbyA.js.map → table-D5Y7TtBM.js.map} +1 -1
  161. package/dist/table.cjs +1 -1
  162. package/dist/table.js +1 -1
  163. package/dist/{tabs-group-DtvVC_nM.js → tabs-group-DIv7H3ii.js} +2 -2
  164. package/dist/{tabs-group-DtvVC_nM.js.map → tabs-group-DIv7H3ii.js.map} +1 -1
  165. package/dist/{tabs-group-CM9Hd80d.cjs → tabs-group-Dzw-rYWP.cjs} +2 -2
  166. package/dist/{tabs-group-CM9Hd80d.cjs.map → tabs-group-Dzw-rYWP.cjs.map} +1 -1
  167. package/dist/tabs.cjs +1 -1
  168. package/dist/tabs.js +1 -1
  169. package/dist/tailwind.mixin-BBKdEPAU.js +43 -0
  170. package/dist/{tailwind.mixin-CHPxMV8E.js.map → tailwind.mixin-BBKdEPAU.js.map} +1 -1
  171. package/dist/{tailwind.mixin-CHPxMV8E.js → tailwind.mixin-gE-6eUQA.cjs} +2 -43
  172. package/dist/{tailwind.mixin-BmIP1Qzo.cjs.map → tailwind.mixin-gE-6eUQA.cjs.map} +1 -1
  173. package/dist/teleport.cjs +1 -1
  174. package/dist/teleport.component-Bp9B02lJ.cjs +150 -0
  175. package/dist/teleport.component-Bp9B02lJ.cjs.map +1 -0
  176. package/dist/teleport.component-Do0-5-jy.js +530 -0
  177. package/dist/teleport.component-Do0-5-jy.js.map +1 -0
  178. package/dist/teleport.js +1 -1
  179. package/dist/{textarea-C8bsVuSe.cjs → textarea-Cm_0BDw5.cjs} +2 -2
  180. package/dist/{textarea-C8bsVuSe.cjs.map → textarea-Cm_0BDw5.cjs.map} +1 -1
  181. package/dist/{textarea-D7ZLtbVj.js → textarea-DWBpogxd.js} +2 -2
  182. package/dist/{textarea-D7ZLtbVj.js.map → textarea-DWBpogxd.js.map} +1 -1
  183. package/dist/textarea.cjs +1 -1
  184. package/dist/textarea.js +1 -1
  185. package/dist/{theme-button-fUwuhdHz.cjs → theme-button-B7JR-68y.cjs} +2 -2
  186. package/dist/{theme-button-fUwuhdHz.cjs.map → theme-button-B7JR-68y.cjs.map} +1 -1
  187. package/dist/{theme-button-CcHxfORU.js → theme-button-CdjTjQE-.js} +2 -2
  188. package/dist/{theme-button-CcHxfORU.js.map → theme-button-CdjTjQE-.js.map} +1 -1
  189. package/dist/theme-button.cjs +1 -1
  190. package/dist/theme-button.js +1 -1
  191. package/dist/theme.cjs +1 -1
  192. package/dist/{theme.component-ByOov4NR.cjs → theme.component-D0pi4zH5.cjs} +2 -2
  193. package/dist/{theme.component-ByOov4NR.cjs.map → theme.component-D0pi4zH5.cjs.map} +1 -1
  194. package/dist/{theme.component-D4gPoycY.js → theme.component-DWRFe6NX.js} +2 -2
  195. package/dist/{theme.component-D4gPoycY.js.map → theme.component-DWRFe6NX.js.map} +1 -1
  196. package/dist/theme.js +1 -1
  197. package/dist/{tree-DW_S-LL9.js → tree-COFA9Z7I.js} +2 -2
  198. package/dist/{tree-DW_S-LL9.js.map → tree-COFA9Z7I.js.map} +1 -1
  199. package/dist/{tree-DJQKaG-K.cjs → tree-D8SHnBQ7.cjs} +2 -2
  200. package/dist/{tree-DJQKaG-K.cjs.map → tree-D8SHnBQ7.cjs.map} +1 -1
  201. package/dist/tree.cjs +1 -1
  202. package/dist/tree.js +1 -1
  203. package/dist/{typewriter-jDCMhixI.cjs → typewriter-B254asJ6.cjs} +2 -2
  204. package/dist/{typewriter-jDCMhixI.cjs.map → typewriter-B254asJ6.cjs.map} +1 -1
  205. package/dist/{typewriter-_3w-aV-9.js → typewriter-CKloAbr2.js} +4 -4
  206. package/dist/{typewriter-_3w-aV-9.js.map → typewriter-CKloAbr2.js.map} +1 -1
  207. package/dist/typewriter.cjs +1 -1
  208. package/dist/typewriter.js +1 -1
  209. package/dist/{typography-BhqtMVYz.cjs → typography-BjmgtlSe.cjs} +2 -2
  210. package/dist/{typography-BhqtMVYz.cjs.map → typography-BjmgtlSe.cjs.map} +1 -1
  211. package/dist/{typography-GzUb3OWl.js → typography-C0__6Aqk.js} +2 -2
  212. package/dist/{typography-GzUb3OWl.js.map → typography-C0__6Aqk.js.map} +1 -1
  213. package/dist/typography.cjs +1 -1
  214. package/dist/typography.js +1 -1
  215. package/package.json +5 -5
  216. package/types/src/nav-drawer/drawer.d.ts +33 -10
  217. package/types/src/nav-drawer/navbar.d.ts +23 -2
  218. package/dist/tailwind.mixin-BmIP1Qzo.cjs +0 -2
  219. package/dist/teleport.component-BQTFUlsF.js +0 -515
  220. package/dist/teleport.component-BQTFUlsF.js.map +0 -1
  221. package/dist/teleport.component-hBN2zB0w.cjs +0 -144
  222. package/dist/teleport.component-hBN2zB0w.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-moSwU3Ry.js","sources":["../src/layout/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout/layout'\nimport style from './flex.scss?inline'\n\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\t// Optionally, keep your global Layout styles plus this component's SCSS\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\n\t// You mentioned \"layout = true\" in your base class; keep if needed\n\tlayout = true\n\n\t/**\n\t * The flex direction property:\n\t * - \"row\" | \"row-reverse\" | \"col\" | \"col-reverse\"\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\n\t/**\n\t * The flex-wrap property:\n\t * - \"wrap\" | \"nowrap\" | \"wrap-reverse\"\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items property:\n\t * - \"start\" (flex-start), \"center\", \"end\" (flex-end), \"stretch\", \"baseline\"\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\n\t/**\n\t * Justify-content property:\n\t * - \"start\", \"center\", \"end\", \"between\"\n\t * (Note: \"stretch\" doesn't exist as a Tailwind justify- class;\n\t * for horizontal stretching, you typically rely on width or gap.)\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' = 'start'\n\n\t/**\n\t * Gap sizes:\n\t * - \"none\" (0), \"sm\" (2), \"md\" (4), \"lg\" (8)\n\t * (Feel free to add more if your Tailwind config has them.)\n\t */\n\t@property({ type: String, reflect: true })\n\tgap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\t// Build the Tailwind class map\n\t\tconst classes = {\n\t\t\t// Always use \"flex\"\n\t\t\tflex: true,\n\n\t\t\t// Flow (direction)\n\t\t\t'flex-row': this.flow === 'row',\n\t\t\t'flex-row-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-col': this.flow === 'col',\n\t\t\t'flex-col-reverse': this.flow === 'col-reverse',\n\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\n\t\t\t// Align-items\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\n\t\t\t// Justify-content\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-between': this.justify === 'between',\n\t\t\t// (No standard Tailwind \"justify-stretch\".)\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\t// You can use styleMap for inline style overrides if needed\n\t\tconst inlineStyles = {}\n\n\t\treturn html`\n\t\t\t<section class=${this.classMap(classes)} style=${styleMap(inlineStyles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout/layout'\nimport style from './grid.scss?inline'\n\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n\t.scrollbar-hide {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.scrollbar-hide::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the inner scrollable div receives the `scrollbar-hide` class,\n\t * which hides scrollbars in supported browsers.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\trender() {\n\t\t// The classes are dynamically assigned based on the `hide` property.\n\t\tconst classes = {\n\t\t\t'h-full w-full inset-0 overflow-x-scroll overflow-y-scroll scroll-smooth overscroll-contain': true,\n\t\t\t'scrollbar-hide': this.hide,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t\t<div class=${this.classMap(classes)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n"],"names":["Layout","TailwindElement","super","arguments","this","layout","center","undefined","display","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","styles","_b","__decorateClass","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css","hide","render"],"mappings":"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"}
1
+ {"version":3,"file":"scroll-BbqxMyDc.js","sources":["../src/layout/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout/layout'\nimport style from './flex.scss?inline'\n\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\t// Optionally, keep your global Layout styles plus this component's SCSS\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\n\t// You mentioned \"layout = true\" in your base class; keep if needed\n\tlayout = true\n\n\t/**\n\t * The flex direction property:\n\t * - \"row\" | \"row-reverse\" | \"col\" | \"col-reverse\"\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\n\t/**\n\t * The flex-wrap property:\n\t * - \"wrap\" | \"nowrap\" | \"wrap-reverse\"\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items property:\n\t * - \"start\" (flex-start), \"center\", \"end\" (flex-end), \"stretch\", \"baseline\"\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\n\t/**\n\t * Justify-content property:\n\t * - \"start\", \"center\", \"end\", \"between\"\n\t * (Note: \"stretch\" doesn't exist as a Tailwind justify- class;\n\t * for horizontal stretching, you typically rely on width or gap.)\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' = 'start'\n\n\t/**\n\t * Gap sizes:\n\t * - \"none\" (0), \"sm\" (2), \"md\" (4), \"lg\" (8)\n\t * (Feel free to add more if your Tailwind config has them.)\n\t */\n\t@property({ type: String, reflect: true })\n\tgap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\t// Build the Tailwind class map\n\t\tconst classes = {\n\t\t\t// Always use \"flex\"\n\t\t\tflex: true,\n\n\t\t\t// Flow (direction)\n\t\t\t'flex-row': this.flow === 'row',\n\t\t\t'flex-row-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-col': this.flow === 'col',\n\t\t\t'flex-col-reverse': this.flow === 'col-reverse',\n\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\n\t\t\t// Align-items\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\n\t\t\t// Justify-content\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-between': this.justify === 'between',\n\t\t\t// (No standard Tailwind \"justify-stretch\".)\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\t// You can use styleMap for inline style overrides if needed\n\t\tconst inlineStyles = {}\n\n\t\treturn html`\n\t\t\t<section class=${this.classMap(classes)} style=${styleMap(inlineStyles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout/layout'\nimport style from './grid.scss?inline'\n\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n\t.scrollbar-hide {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.scrollbar-hide::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the inner scrollable div receives the `scrollbar-hide` class,\n\t * which hides scrollbars in supported browsers.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\trender() {\n\t\t// The classes are dynamically assigned based on the `hide` property.\n\t\tconst classes = {\n\t\t\t'h-full w-full inset-0 overflow-x-scroll overflow-y-scroll scroll-smooth overscroll-contain': true,\n\t\t\t'scrollbar-hide': this.hide,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t\t<div class=${this.classMap(classes)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n"],"names":["Layout","TailwindElement","super","arguments","this","layout","center","undefined","display","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","styles","_b","__decorateClass","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css","hide","render"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const d=require("lit"),t=require("lit/decorators.js"),k=require("lit/directives/style-map.js"),a=require("rxjs");require("lit/directives/class-map.js");const P=require("./tailwind.mixin-BmIP1Qzo.cjs");var j=Object.defineProperty,r=(s,i,n,p)=>{for(var l,o=void 0,y=s.length-1;y>=0;y--)(l=s[y])&&(o=l(i,n,o)||o);return o&&j(i,n,o),o};const g=class g extends P.TailwindElement(){constructor(){super(...arguments),this.layout=!0,this.center=void 0,this.display=void 0,this.overflow=void 0,this.overflowX=void 0,this.overflowY=void 0,this.position=void 0}connectedCallback(){super.connectedCallback(),this.style.setProperty("padding",this.padding??""),this.style.setProperty("margin",this.margin??""),this.style.setProperty("width",this.width??""),this.style.setProperty("height",this.height??""),this.style.setProperty("min-width",this.minWidth??""),this.style.setProperty("min-height",this.minHeight??""),this.style.setProperty("max-width",this.maxWidth??""),this.style.setProperty("max-height",this.maxHeight??""),this.style.setProperty("display",this.display??""),this.style.setProperty("overflow",this.overflow??""),this.style.setProperty("overflow-x",this.overflowX??""),this.style.setProperty("overflow-y",this.overflowY??""),this.style.setProperty("position",this.position??""),this.style.setProperty("top",this.top??""),this.style.setProperty("right",this.right??""),this.style.setProperty("bottom",this.bottom??""),this.style.setProperty("left",this.left??""),this.style.setProperty("inset",this.inset??""),this.style.setProperty("z-index",this.zIndex??""),this.style.setProperty("border",this.border??""),this.style.setProperty("border-top",this.borderTop??""),this.style.setProperty("border-right",this.borderRight??""),this.style.setProperty("border-bottom",this.borderBottom??""),this.style.setProperty("border-left",this.borderLeft??""),this.style.setProperty("border-color",this.borderColor??""),this.style.setProperty("border-radius",this.borderRadius??""),this.style.setProperty("border-width",this.borderWidth??""),this.style.setProperty("box-shadow",this.boxShadow??""),this.style.setProperty("opacity",this.opacity??""),this.style.setProperty("background",this.background??""),this.style.setProperty("background-image",this.backgroundImage??""),this.style.setProperty("background-position",this.backgroundPosition??""),this.style.setProperty("background-size",this.backgroundSize??""),this.style.setProperty("background-repeat",this.backgroundRepeat??""),this.style.setProperty("background-attachment",this.backgroundAttachment??""),this.style.setProperty("background-color",this.backgroundColor??""),this.style.setProperty("background-clip",this.backgroundClip??""),this.style.setProperty("background-origin",this.backgroundOrigin??""),this.style.setProperty("background-blend-mode",this.backgroundBlendMode??""),this.style.setProperty("filter",this.filter??""),this.style.setProperty("backdrop-filter",this.backdropFilter??""),this.center&&(this.style.setProperty("margin-left","auto"),this.style.setProperty("margin-right","auto"))}};g.styles=[g.styles];let e=g;r([t.property({type:Boolean})],e.prototype,"center"),r([t.property({type:String})],e.prototype,"padding"),r([t.property({type:String})],e.prototype,"margin"),r([t.property({type:String})],e.prototype,"width"),r([t.property({type:String})],e.prototype,"height"),r([t.property({type:String})],e.prototype,"minWidth"),r([t.property({type:String})],e.prototype,"minHeight"),r([t.property({type:String})],e.prototype,"maxWidth"),r([t.property({type:String})],e.prototype,"maxHeight"),r([t.property({type:String})],e.prototype,"display"),r([t.property({type:String})],e.prototype,"overflow"),r([t.property({type:String})],e.prototype,"overflowX"),r([t.property({type:String})],e.prototype,"overflowY"),r([t.property({type:String})],e.prototype,"position"),r([t.property({type:String})],e.prototype,"top"),r([t.property({type:String})],e.prototype,"right"),r([t.property({type:String})],e.prototype,"bottom"),r([t.property({type:String})],e.prototype,"left"),r([t.property({type:String})],e.prototype,"inset"),r([t.property({type:String})],e.prototype,"zIndex"),r([t.property({type:String})],e.prototype,"border"),r([t.property({type:String})],e.prototype,"borderTop"),r([t.property({type:String})],e.prototype,"borderRight"),r([t.property({type:String})],e.prototype,"borderBottom"),r([t.property({type:String})],e.prototype,"borderLeft"),r([t.property({type:String})],e.prototype,"borderColor"),r([t.property({type:String})],e.prototype,"borderRadius"),r([t.property({type:String})],e.prototype,"borderWidth"),r([t.property({type:String})],e.prototype,"boxShadow"),r([t.property({type:String})],e.prototype,"opacity"),r([t.property({type:String})],e.prototype,"background"),r([t.property({type:String})],e.prototype,"backgroundImage"),r([t.property({type:String})],e.prototype,"backgroundPosition"),r([t.property({type:String})],e.prototype,"backgroundSize"),r([t.property({type:String})],e.prototype,"backgroundRepeat"),r([t.property({type:String})],e.prototype,"backgroundAttachment"),r([t.property({type:String})],e.prototype,"backgroundColor"),r([t.property({type:String})],e.prototype,"backgroundClip"),r([t.property({type:String})],e.prototype,"backgroundOrigin"),r([t.property({type:String})],e.prototype,"backgroundBlendMode"),r([t.property({type:String})],e.prototype,"filter"),r([t.property({type:String})],e.prototype,"backdropFilter");var G=Object.defineProperty,O=Object.getOwnPropertyDescriptor,c=(s,i,n,p)=>{for(var l,o=p>1?void 0:p?O(i,n):i,y=s.length-1;y>=0;y--)(l=s[y])&&(o=(p?l(i,n,o):l(o))||o);return p&&o&&G(i,n,o),o};exports.SchmancyFlex=class extends e{constructor(){super(...arguments),this.layout=!0,this.flow="col",this.wrap="wrap",this.align="start",this.justify="start",this.gap="none"}render(){const s={flex:!0,"flex-row":this.flow==="row","flex-row-reverse":this.flow==="row-reverse","flex-col":this.flow==="col","flex-col-reverse":this.flow==="col-reverse","flex-wrap":this.wrap==="wrap","flex-nowrap":this.wrap==="nowrap","flex-wrap-reverse":this.wrap==="wrap-reverse","items-start":this.align==="start","items-center":this.align==="center","items-end":this.align==="end","items-stretch":this.align==="stretch","items-baseline":this.align==="baseline","justify-start":this.justify==="start","justify-center":this.justify==="center","justify-end":this.justify==="end","justify-between":this.justify==="between","gap-0":this.gap==="none","gap-2":this.gap==="sm","gap-4":this.gap==="md","gap-8":this.gap==="lg"};return d.html`
1
+ "use strict";const d=require("lit"),t=require("lit/decorators.js"),k=require("lit/directives/style-map.js"),a=require("rxjs");require("lit/directives/class-map.js");const P=require("./tailwind.mixin-gE-6eUQA.cjs");var j=Object.defineProperty,r=(s,i,n,p)=>{for(var l,o=void 0,y=s.length-1;y>=0;y--)(l=s[y])&&(o=l(i,n,o)||o);return o&&j(i,n,o),o};const g=class g extends P.TailwindElement(){constructor(){super(...arguments),this.layout=!0,this.center=void 0,this.display=void 0,this.overflow=void 0,this.overflowX=void 0,this.overflowY=void 0,this.position=void 0}connectedCallback(){super.connectedCallback(),this.style.setProperty("padding",this.padding??""),this.style.setProperty("margin",this.margin??""),this.style.setProperty("width",this.width??""),this.style.setProperty("height",this.height??""),this.style.setProperty("min-width",this.minWidth??""),this.style.setProperty("min-height",this.minHeight??""),this.style.setProperty("max-width",this.maxWidth??""),this.style.setProperty("max-height",this.maxHeight??""),this.style.setProperty("display",this.display??""),this.style.setProperty("overflow",this.overflow??""),this.style.setProperty("overflow-x",this.overflowX??""),this.style.setProperty("overflow-y",this.overflowY??""),this.style.setProperty("position",this.position??""),this.style.setProperty("top",this.top??""),this.style.setProperty("right",this.right??""),this.style.setProperty("bottom",this.bottom??""),this.style.setProperty("left",this.left??""),this.style.setProperty("inset",this.inset??""),this.style.setProperty("z-index",this.zIndex??""),this.style.setProperty("border",this.border??""),this.style.setProperty("border-top",this.borderTop??""),this.style.setProperty("border-right",this.borderRight??""),this.style.setProperty("border-bottom",this.borderBottom??""),this.style.setProperty("border-left",this.borderLeft??""),this.style.setProperty("border-color",this.borderColor??""),this.style.setProperty("border-radius",this.borderRadius??""),this.style.setProperty("border-width",this.borderWidth??""),this.style.setProperty("box-shadow",this.boxShadow??""),this.style.setProperty("opacity",this.opacity??""),this.style.setProperty("background",this.background??""),this.style.setProperty("background-image",this.backgroundImage??""),this.style.setProperty("background-position",this.backgroundPosition??""),this.style.setProperty("background-size",this.backgroundSize??""),this.style.setProperty("background-repeat",this.backgroundRepeat??""),this.style.setProperty("background-attachment",this.backgroundAttachment??""),this.style.setProperty("background-color",this.backgroundColor??""),this.style.setProperty("background-clip",this.backgroundClip??""),this.style.setProperty("background-origin",this.backgroundOrigin??""),this.style.setProperty("background-blend-mode",this.backgroundBlendMode??""),this.style.setProperty("filter",this.filter??""),this.style.setProperty("backdrop-filter",this.backdropFilter??""),this.center&&(this.style.setProperty("margin-left","auto"),this.style.setProperty("margin-right","auto"))}};g.styles=[g.styles];let e=g;r([t.property({type:Boolean})],e.prototype,"center"),r([t.property({type:String})],e.prototype,"padding"),r([t.property({type:String})],e.prototype,"margin"),r([t.property({type:String})],e.prototype,"width"),r([t.property({type:String})],e.prototype,"height"),r([t.property({type:String})],e.prototype,"minWidth"),r([t.property({type:String})],e.prototype,"minHeight"),r([t.property({type:String})],e.prototype,"maxWidth"),r([t.property({type:String})],e.prototype,"maxHeight"),r([t.property({type:String})],e.prototype,"display"),r([t.property({type:String})],e.prototype,"overflow"),r([t.property({type:String})],e.prototype,"overflowX"),r([t.property({type:String})],e.prototype,"overflowY"),r([t.property({type:String})],e.prototype,"position"),r([t.property({type:String})],e.prototype,"top"),r([t.property({type:String})],e.prototype,"right"),r([t.property({type:String})],e.prototype,"bottom"),r([t.property({type:String})],e.prototype,"left"),r([t.property({type:String})],e.prototype,"inset"),r([t.property({type:String})],e.prototype,"zIndex"),r([t.property({type:String})],e.prototype,"border"),r([t.property({type:String})],e.prototype,"borderTop"),r([t.property({type:String})],e.prototype,"borderRight"),r([t.property({type:String})],e.prototype,"borderBottom"),r([t.property({type:String})],e.prototype,"borderLeft"),r([t.property({type:String})],e.prototype,"borderColor"),r([t.property({type:String})],e.prototype,"borderRadius"),r([t.property({type:String})],e.prototype,"borderWidth"),r([t.property({type:String})],e.prototype,"boxShadow"),r([t.property({type:String})],e.prototype,"opacity"),r([t.property({type:String})],e.prototype,"background"),r([t.property({type:String})],e.prototype,"backgroundImage"),r([t.property({type:String})],e.prototype,"backgroundPosition"),r([t.property({type:String})],e.prototype,"backgroundSize"),r([t.property({type:String})],e.prototype,"backgroundRepeat"),r([t.property({type:String})],e.prototype,"backgroundAttachment"),r([t.property({type:String})],e.prototype,"backgroundColor"),r([t.property({type:String})],e.prototype,"backgroundClip"),r([t.property({type:String})],e.prototype,"backgroundOrigin"),r([t.property({type:String})],e.prototype,"backgroundBlendMode"),r([t.property({type:String})],e.prototype,"filter"),r([t.property({type:String})],e.prototype,"backdropFilter");var G=Object.defineProperty,O=Object.getOwnPropertyDescriptor,c=(s,i,n,p)=>{for(var l,o=p>1?void 0:p?O(i,n):i,y=s.length-1;y>=0;y--)(l=s[y])&&(o=(p?l(i,n,o):l(o))||o);return p&&o&&G(i,n,o),o};exports.SchmancyFlex=class extends e{constructor(){super(...arguments),this.layout=!0,this.flow="col",this.wrap="wrap",this.align="start",this.justify="start",this.gap="none"}render(){const s={flex:!0,"flex-row":this.flow==="row","flex-row-reverse":this.flow==="row-reverse","flex-col":this.flow==="col","flex-col-reverse":this.flow==="col-reverse","flex-wrap":this.wrap==="wrap","flex-nowrap":this.wrap==="nowrap","flex-wrap-reverse":this.wrap==="wrap-reverse","items-start":this.align==="start","items-center":this.align==="center","items-end":this.align==="end","items-stretch":this.align==="stretch","items-baseline":this.align==="baseline","justify-start":this.justify==="start","justify-center":this.justify==="center","justify-end":this.justify==="end","justify-between":this.justify==="between","gap-0":this.gap==="none","gap-2":this.gap==="sm","gap-4":this.gap==="md","gap-8":this.gap==="lg"};return d.html`
2
2
  <section class=${this.classMap(s)} style=${k.styleMap({})}>
3
3
  <slot></slot>
4
4
  </section>
@@ -30,4 +30,4 @@
30
30
  </div>
31
31
  </div>
32
32
  `}},x([t.property({type:Boolean,reflect:!0})],exports.SchmancyScroll.prototype,"hide",2),exports.SchmancyScroll=x([t.customElement("schmancy-scroll")],exports.SchmancyScroll);
33
- //# sourceMappingURL=scroll-DNj5rrzc.cjs.map
33
+ //# sourceMappingURL=scroll-BqLesKK7.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-DNj5rrzc.cjs","sources":["../src/layout/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout/layout'\nimport style from './flex.scss?inline'\n\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\t// Optionally, keep your global Layout styles plus this component's SCSS\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\n\t// You mentioned \"layout = true\" in your base class; keep if needed\n\tlayout = true\n\n\t/**\n\t * The flex direction property:\n\t * - \"row\" | \"row-reverse\" | \"col\" | \"col-reverse\"\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\n\t/**\n\t * The flex-wrap property:\n\t * - \"wrap\" | \"nowrap\" | \"wrap-reverse\"\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items property:\n\t * - \"start\" (flex-start), \"center\", \"end\" (flex-end), \"stretch\", \"baseline\"\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\n\t/**\n\t * Justify-content property:\n\t * - \"start\", \"center\", \"end\", \"between\"\n\t * (Note: \"stretch\" doesn't exist as a Tailwind justify- class;\n\t * for horizontal stretching, you typically rely on width or gap.)\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' = 'start'\n\n\t/**\n\t * Gap sizes:\n\t * - \"none\" (0), \"sm\" (2), \"md\" (4), \"lg\" (8)\n\t * (Feel free to add more if your Tailwind config has them.)\n\t */\n\t@property({ type: String, reflect: true })\n\tgap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\t// Build the Tailwind class map\n\t\tconst classes = {\n\t\t\t// Always use \"flex\"\n\t\t\tflex: true,\n\n\t\t\t// Flow (direction)\n\t\t\t'flex-row': this.flow === 'row',\n\t\t\t'flex-row-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-col': this.flow === 'col',\n\t\t\t'flex-col-reverse': this.flow === 'col-reverse',\n\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\n\t\t\t// Align-items\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\n\t\t\t// Justify-content\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-between': this.justify === 'between',\n\t\t\t// (No standard Tailwind \"justify-stretch\".)\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\t// You can use styleMap for inline style overrides if needed\n\t\tconst inlineStyles = {}\n\n\t\treturn html`\n\t\t\t<section class=${this.classMap(classes)} style=${styleMap(inlineStyles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout/layout'\nimport style from './grid.scss?inline'\n\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n\t.scrollbar-hide {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.scrollbar-hide::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the inner scrollable div receives the `scrollbar-hide` class,\n\t * which hides scrollbars in supported browsers.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\trender() {\n\t\t// The classes are dynamically assigned based on the `hide` property.\n\t\tconst classes = {\n\t\t\t'h-full w-full inset-0 overflow-x-scroll overflow-y-scroll scroll-smooth overscroll-contain': true,\n\t\t\t'scrollbar-hide': this.hide,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t\t<div class=${this.classMap(classes)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n"],"names":["Layout","TailwindElement","constructor","super","arguments","this","layout","center","undefined","display","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","styles","_n","__decorateClass","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css","hide","render"],"mappings":"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"}
1
+ {"version":3,"file":"scroll-BqLesKK7.cjs","sources":["../src/layout/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\nexport default class Layout extends TailwindElement() {\n\tstatic styles = [this.styles]\n\tlayout = true\n\t@property({ type: Boolean }) center: boolean | undefined = undefined\n\t@property({ type: String }) padding: string | undefined\n\t@property({ type: String }) margin: string | undefined\n\t@property({ type: String }) width: string | undefined\n\t@property({ type: String }) height: string | undefined\n\t@property({ type: String }) minWidth: string | undefined\n\t@property({ type: String }) minHeight: string | undefined\n\t@property({ type: String }) maxWidth: string | undefined\n\t@property({ type: String }) maxHeight: string | undefined\n\t@property({ type: String }) display:\n\t\t| 'block'\n\t\t| 'inline-block'\n\t\t| 'inline'\n\t\t| 'flex'\n\t\t| 'inline-flex'\n\t\t| 'grid'\n\t\t| 'inline-grid'\n\t\t| 'table'\n\t\t| 'inline-table'\n\t\t| 'flow-root'\n\t\t| 'none'\n\t\t| undefined = undefined\n\t@property({ type: String }) overflow: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowX: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) overflowY: 'visible' | 'hidden' | 'scroll' | 'auto' | undefined = undefined\n\t@property({ type: String }) position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | undefined = undefined\n\t@property({ type: String }) top: string | undefined\n\t@property({ type: String }) right: string | undefined\n\t@property({ type: String }) bottom: string | undefined\n\t@property({ type: String }) left: string | undefined\n\t@property({ type: String }) inset: string | undefined\n\t@property({ type: String }) zIndex: string | undefined\n\n\t@property({ type: String }) border: string | undefined\n\t@property({ type: String }) borderTop: string | undefined\n\t@property({ type: String }) borderRight: string | undefined\n\t@property({ type: String }) borderBottom: string | undefined\n\t@property({ type: String }) borderLeft: string | undefined\n\t@property({ type: String }) borderColor: string | undefined\n\t@property({ type: String }) borderRadius: string | undefined\n\t@property({ type: String }) borderWidth: string | undefined\n\n\t@property({ type: String }) boxShadow: string | undefined\n\t@property({ type: String }) opacity: string | undefined\n\t@property({ type: String }) background: string | undefined\n\t@property({ type: String }) backgroundImage: string | undefined\n\t@property({ type: String }) backgroundPosition: string | undefined\n\t@property({ type: String }) backgroundSize: string | undefined\n\t@property({ type: String }) backgroundRepeat: string | undefined\n\t@property({ type: String }) backgroundAttachment: string | undefined\n\t@property({ type: String }) backgroundColor: string | undefined\n\t@property({ type: String }) backgroundClip: string | undefined\n\t@property({ type: String }) backgroundOrigin: string | undefined\n\t@property({ type: String }) backgroundBlendMode: string | undefined\n\t@property({ type: String }) filter: string | undefined\n\t@property({ type: String }) backdropFilter: string | undefined\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.style.setProperty('padding', this.padding ?? '')\n\t\tthis.style.setProperty('margin', this.margin ?? '')\n\t\tthis.style.setProperty('width', this.width ?? '')\n\t\tthis.style.setProperty('height', this.height ?? '')\n\t\tthis.style.setProperty('min-width', this.minWidth ?? '')\n\t\tthis.style.setProperty('min-height', this.minHeight ?? '')\n\t\tthis.style.setProperty('max-width', this.maxWidth ?? '')\n\t\tthis.style.setProperty('max-height', this.maxHeight ?? '')\n\t\tthis.style.setProperty('display', this.display ?? '')\n\t\tthis.style.setProperty('overflow', this.overflow ?? '')\n\t\tthis.style.setProperty('overflow-x', this.overflowX ?? '')\n\t\tthis.style.setProperty('overflow-y', this.overflowY ?? '')\n\t\tthis.style.setProperty('position', this.position ?? '')\n\t\tthis.style.setProperty('top', this.top ?? '')\n\t\tthis.style.setProperty('right', this.right ?? '')\n\t\tthis.style.setProperty('bottom', this.bottom ?? '')\n\t\tthis.style.setProperty('left', this.left ?? '')\n\t\tthis.style.setProperty('inset', this.inset ?? '')\n\t\tthis.style.setProperty('z-index', this.zIndex ?? '')\n\t\tthis.style.setProperty('border', this.border ?? '')\n\t\tthis.style.setProperty('border-top', this.borderTop ?? '')\n\t\tthis.style.setProperty('border-right', this.borderRight ?? '')\n\t\tthis.style.setProperty('border-bottom', this.borderBottom ?? '')\n\t\tthis.style.setProperty('border-left', this.borderLeft ?? '')\n\t\tthis.style.setProperty('border-color', this.borderColor ?? '')\n\t\tthis.style.setProperty('border-radius', this.borderRadius ?? '')\n\t\tthis.style.setProperty('border-width', this.borderWidth ?? '')\n\t\tthis.style.setProperty('box-shadow', this.boxShadow ?? '')\n\t\tthis.style.setProperty('opacity', this.opacity ?? '')\n\t\tthis.style.setProperty('background', this.background ?? '')\n\t\tthis.style.setProperty('background-image', this.backgroundImage ?? '')\n\t\tthis.style.setProperty('background-position', this.backgroundPosition ?? '')\n\t\tthis.style.setProperty('background-size', this.backgroundSize ?? '')\n\t\tthis.style.setProperty('background-repeat', this.backgroundRepeat ?? '')\n\t\tthis.style.setProperty('background-attachment', this.backgroundAttachment ?? '')\n\t\tthis.style.setProperty('background-color', this.backgroundColor ?? '')\n\t\tthis.style.setProperty('background-clip', this.backgroundClip ?? '')\n\t\tthis.style.setProperty('background-origin', this.backgroundOrigin ?? '')\n\t\tthis.style.setProperty('background-blend-mode', this.backgroundBlendMode ?? '')\n\t\tthis.style.setProperty('filter', this.filter ?? '')\n\t\tthis.style.setProperty('backdrop-filter', this.backdropFilter ?? '')\n\t\tif (this.center) {\n\t\t\tthis.style.setProperty('margin-left', 'auto')\n\t\t\tthis.style.setProperty('margin-right', 'auto')\n\t\t}\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout/layout'\nimport style from './flex.scss?inline'\n\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\t// Optionally, keep your global Layout styles plus this component's SCSS\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\n\t// You mentioned \"layout = true\" in your base class; keep if needed\n\tlayout = true\n\n\t/**\n\t * The flex direction property:\n\t * - \"row\" | \"row-reverse\" | \"col\" | \"col-reverse\"\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\n\t/**\n\t * The flex-wrap property:\n\t * - \"wrap\" | \"nowrap\" | \"wrap-reverse\"\n\t */\n\t@property({ type: String, reflect: true })\n\twrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\n\t/**\n\t * Align-items property:\n\t * - \"start\" (flex-start), \"center\", \"end\" (flex-end), \"stretch\", \"baseline\"\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\n\t/**\n\t * Justify-content property:\n\t * - \"start\", \"center\", \"end\", \"between\"\n\t * (Note: \"stretch\" doesn't exist as a Tailwind justify- class;\n\t * for horizontal stretching, you typically rely on width or gap.)\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' = 'start'\n\n\t/**\n\t * Gap sizes:\n\t * - \"none\" (0), \"sm\" (2), \"md\" (4), \"lg\" (8)\n\t * (Feel free to add more if your Tailwind config has them.)\n\t */\n\t@property({ type: String, reflect: true })\n\tgap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\t// Build the Tailwind class map\n\t\tconst classes = {\n\t\t\t// Always use \"flex\"\n\t\t\tflex: true,\n\n\t\t\t// Flow (direction)\n\t\t\t'flex-row': this.flow === 'row',\n\t\t\t'flex-row-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-col': this.flow === 'col',\n\t\t\t'flex-col-reverse': this.flow === 'col-reverse',\n\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\n\t\t\t// Align-items\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\n\t\t\t// Justify-content\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-between': this.justify === 'between',\n\t\t\t// (No standard Tailwind \"justify-stretch\".)\n\n\t\t\t// Gap\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t}\n\n\t\t// You can use styleMap for inline style overrides if needed\n\t\tconst inlineStyles = {}\n\n\t\treturn html`\n\t\t\t<section class=${this.classMap(classes)} style=${styleMap(inlineStyles)}>\n\t\t\t\t<slot></slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-flex': SchmancyFlex\n\t}\n}\n","import { html, unsafeCSS } from 'lit'\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js'\nimport { debounceTime, distinctUntilChanged, fromEvent, map, startWith, takeUntil } from 'rxjs'\nimport Layout from '../layout/layout'\nimport style from './grid.scss?inline'\n\n@customElement('schmancy-grid')\nexport class SchmancyGrid extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String }) flow: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense' = 'row'\n\t@property({ type: String }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\t@property({ type: String }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch'\n\t@property({ type: String }) content: 'start' | 'center' | 'end' | 'stretch' | 'around' | 'evenly' | 'between' =\n\t\t'stretch'\n\t@property({ type: String }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' = 'none'\n\n\t@property({ type: String }) cols?: string\n\t@property({ type: String }) rows?: string\n\t@property({ type: Object }) rcols?: {\n\t\txs?: string | number\n\t\tsm?: string | number\n\t\tmd?: string | number\n\t\tlg?: string | number\n\t\txl?: string | number\n\t\t'2xl'?: string | number\n\t}\n\n\t@property({ type: Boolean }) wrap = false\n\n\t@queryAssignedElements() assignedElements!: HTMLElement[]\n\n\tfirstUpdated() {\n\t\tif (this.rcols)\n\t\t\tfromEvent<CustomEvent>(window, 'resize')\n\t\t\t\t.pipe(\n\t\t\t\t\tmap(event => event.target as Window),\n\t\t\t\t\tstartWith(1),\n\t\t\t\t\tmap(() => (this.clientWidth ? this.clientWidth : window.innerWidth)),\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\t\tdebounceTime(10),\n\t\t\t\t\tmap(w => {\n\t\t\t\t\t\tlet cols\n\t\t\t\t\t\tif (this.rcols?.['2xl'] && w >= 1536) cols = this.rcols?.['2xl']\n\t\t\t\t\t\telse if (this.rcols?.xl && w >= 1280) cols = this.rcols?.xl\n\t\t\t\t\t\telse if (this.rcols?.lg && w >= 1024) cols = this.rcols?.lg\n\t\t\t\t\t\telse if (this.rcols?.md && w >= 768) cols = this.rcols?.md\n\t\t\t\t\t\telse if (this.rcols?.sm && w >= 640) cols = this.rcols?.sm\n\t\t\t\t\t\telse if (this.rcols?.xs && w < 640) cols = this.rcols?.xs\n\t\t\t\t\t\treturn cols\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t\t.subscribe(cols => {\n\t\t\t\t\tthis.cols = cols\n\t\t\t\t})\n\t}\n\n\trender() {\n\t\tconst classes = {\n\t\t\t'h-full': true,\n\t\t\t'grid flex-1': true,\n\t\t\t// flow classes: https://tailwindcss.com/docs/grid-auto-flow\n\t\t\t'grid-flow-row auto-rows-max': this.flow === 'row',\n\t\t\t'grid-flow-col auto-cols-max': this.flow === 'col',\n\t\t\t'grid-flow-row-dense': this.flow === 'row-dense',\n\t\t\t'grid-flow-col-dense': this.flow === 'col-dense',\n\t\t\t'grid-flow-dense': this.flow === 'dense',\n\n\t\t\t'justify-center': this.content === 'center',\n\t\t\t'justify-end': this.content === 'end',\n\t\t\t'justify-start': this.content === 'start',\n\t\t\t'justify-stretch': this.content === 'stretch',\n\t\t\t'justify-between': this.content === 'between',\n\t\t\t'justify-around': this.content === 'around',\n\t\t\t'justify-evenly': this.content === 'evenly',\n\n\t\t\t'justify-items-center': this.justify === 'center',\n\t\t\t'justify-items-end': this.justify === 'end',\n\t\t\t'justify-items-start': this.justify === 'start',\n\t\t\t'justify-items-stretch': this.justify === 'stretch',\n\t\t\t'items-center': this.align === 'center',\n\t\t\t'items-end': this.align === 'end',\n\t\t\t'items-start': this.align === 'start',\n\t\t\t'items-stretch': this.align === 'stretch',\n\t\t\t'items-baseline': this.align === 'baseline',\n\t\t\t'gap-0': this.gap === 'none',\n\t\t\t'gap-1': this.gap === 'xs',\n\t\t\t'gap-2': this.gap === 'sm',\n\t\t\t'gap-4': this.gap === 'md',\n\t\t\t'gap-8': this.gap === 'lg',\n\t\t\t'flex-nowrap': this.wrap,\n\t\t\t'flex-wrap': !this.wrap,\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateRows: this.rows ? this.rows : undefined,\n\t\t\tgridTemplateColumns: this.cols ? this.cols : undefined,\n\t\t}\n\t\treturn html`\n\t\t\t<section class=\"${this.classMap(classes)}\" style=${this.styleMap(style)}>\n\t\t\t\t<slot> </slot>\n\t\t\t</section>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-grid': SchmancyGrid\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t}\n\t.scrollbar-hide {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t.scrollbar-hide::-webkit-scrollbar {\n\t\tdisplay: none; /* Chrome, Safari, and Opera */\n\t}\n`) {\n\t/**\n\t * Determines whether the scrollbar is hidden.\n\t *\n\t * When `hide` is true, the inner scrollable div receives the `scrollbar-hide` class,\n\t * which hides scrollbars in supported browsers.\n\t *\n\t * @attr hide\n\t * @example <schmancy-scroll hide></schmancy-scroll>\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic hide = false\n\n\trender() {\n\t\t// The classes are dynamically assigned based on the `hide` property.\n\t\tconst classes = {\n\t\t\t'h-full w-full inset-0 overflow-x-scroll overflow-y-scroll scroll-smooth overscroll-contain': true,\n\t\t\t'scrollbar-hide': this.hide,\n\t\t}\n\n\t\treturn html`\n\t\t\t<div class=\"relative inset-0 h-full w-full overscroll-none\">\n\t\t\t\t<div class=${this.classMap(classes)}>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n"],"names":["Layout","TailwindElement","constructor","super","arguments","this","layout","center","undefined","display","overflow","overflowX","overflowY","position","connectedCallback","style","setProperty","padding","margin","width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","inset","zIndex","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderRadius","borderWidth","boxShadow","opacity","background","backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundColor","backgroundClip","backgroundOrigin","backgroundBlendMode","filter","backdropFilter","styles","_n","__decorateClass","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","rcols","fromEvent","window","pipe","map","event","target","startWith","clientWidth","innerWidth","distinctUntilChanged","takeUntil","disconnecting","debounceTime","w","cols","xl","lg","md","sm","xs","subscribe","gridTemplateRows","rows","gridTemplateColumns","Object","queryAssignedElements","SchmancyScroll","css","hide","render"],"mappings":"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"}
@@ -2,8 +2,8 @@ import { autoUpdate as h, computePosition as u, offset as d, flip as y, shift as
2
2
  import "rxjs";
3
3
  import { classMap as v } from "lit/directives/class-map.js";
4
4
  import "lit/directives/style-map.js";
5
- import { $ as b } from "./litElement.mixin-DoKCdkhO.js";
6
- import "./tailwind.mixin-CHPxMV8E.js";
5
+ import { $ as b } from "./litElement.mixin-D9kneJpW.js";
6
+ import "./tailwind.mixin-BBKdEPAU.js";
7
7
  import { c as f } from "./ripple-BumgqsDT.js";
8
8
  import { S as w } from "./theme.interface-C5Kj6WjD.js";
9
9
  import { css as g, html as O } from "lit";
@@ -153,4 +153,4 @@ l([n({ type: Boolean })], o.prototype, "required", 2), l([n({ type: String })],
153
153
  export {
154
154
  o as S
155
155
  };
156
- //# sourceMappingURL=select-Dmhiq26e.js.map
156
+ //# sourceMappingURL=select-CaBI5TrW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-Dmhiq26e.js","sources":["../src/select/select.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport class SchmancySelect extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t[role='listbox'] {\n\t\tmax-height: 25vh;\n\t\toverflow-y: auto;\n\t\toutline: none;\n\t}\n`) {\n\t// API\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String }) value = '' // for single-select\n\t@property({ type: Array }) selectedValues: string[] = [] // for multi-select\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private valueLabel = ''\n\n\t@query('ul') private ul!: HTMLUListElement\n\t@queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.addEventListener('keydown', this.handleKeyDown)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.removeEventListener('keydown', this.handleKeyDown)\n\t\tthis.cleanupPositioner?.()\n\t}\n\n\tfirstUpdated() {\n\t\t// Initial sync\n\t\tthis.syncSelection()\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\t/**\n\t * Whenever new <schmancy-option> children get slotted in,\n\t * or whenever properties change, ensure the correct .selected states\n\t * and display text are applied.\n\t */\n\tprivate syncSelection() {\n\t\tif (this.multi) {\n\t\t\t// For multi-select, figure out what's already marked selected in the DOM\n\t\t\tthis.selectedValues = this.options.filter(o => o.selected).map(o => o.value)\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\t\t} else {\n\t\t\t// Single\n\t\t\tconst selectedOption = this.options.find(o => o.value === this.value)\n\t\t\tthis.valueLabel = selectedOption?.label || this.placeholder\n\t\t}\n\t}\n\n\t/**\n\t * We can also set up any ARIA attributes here.\n\t * Note that we’re toggling `aria-selected` for screen readers,\n\t * but the highlight in CSS is triggered by the option’s `selected` property.\n\t */\n\tprivate setupOptionsAccessibility() {\n\t\tthis.options.forEach(option => {\n\t\t\toption.setAttribute('role', 'option')\n\t\t\toption.tabIndex = -1\n\t\t\toption.setAttribute(\n\t\t\t\t'aria-selected',\n\t\t\t\tString(this.multi ? this.selectedValues.includes(option.value) : option.value === this.value),\n\t\t\t)\n\t\t})\n\t}\n\n\t/**\n\t * Use @floating-ui/dom to position the <ul> under the \"trigger\" input.\n\t */\n\tprivate async positionDropdown() {\n\t\tconst reference = this.renderRoot.querySelector('.trigger') as HTMLElement\n\t\tif (!reference || !this.ul) return\n\n\t\tthis.cleanupPositioner = autoUpdate(reference, this.ul, async () => {\n\t\t\tconst { x, y } = await computePosition(reference, this.ul, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t\t})\n\n\t\t\tObject.assign(this.ul.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tposition: 'absolute',\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Keydown logic for opening/closing the dropdown and navigating options.\n\t */\n\tprivate handleKeyDown(e: KeyboardEvent) {\n\t\t// If dropdown is closed, certain keys will open it:\n\t\tif (!this.isOpen) {\n\t\t\tif (['Enter', ' ', 'ArrowDown'].includes(e.key)) {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.openDropdown()\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\t// If open, handle arrow up/down, enter, escape, etc.\n\t\tconst options = Array.from(this.ul.querySelectorAll<SchmancyOption>('[role=\"option\"]'))\n\t\tconst current = options.findIndex(o => o.matches(':focus'))\n\n\t\tswitch (e.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.min(current + 1, options.length - 1))\n\t\t\t\tbreak\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.max(current - 1, 0))\n\t\t\t\tbreak\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\te.preventDefault()\n\t\t\t\tif (current >= 0) this.handleOptionSelect(options[current].value)\n\t\t\t\tbreak\n\t\t\tcase 'Tab':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tprivate focusOption(options: HTMLElement[], index: number) {\n\t\toptions[index]?.focus()\n\t}\n\n\tprivate async openDropdown() {\n\t\tthis.isOpen = true\n\t\tawait this.updateComplete // Wait for lit to render\n\n\t\tthis.positionDropdown()\n\t\tthis.setupOptionsAccessibility()\n\n\t\t// Optionally focus the currently selected item:\n\t\tconst options = Array.from(this.ul.querySelectorAll('[role=\"option\"]')) as HTMLElement[]\n\t\tconst selectedIndex = this.multi ? 0 : options.findIndex(o => o.getAttribute('value') === this.value)\n\t\tthis.focusOption(options, Math.max(selectedIndex, 0))\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t\tthis.cleanupPositioner?.()\n\t\tthis.cleanupPositioner = undefined\n\t\t// Return focus to the trigger (optional):\n\t\tthis.renderRoot.querySelector<HTMLButtonElement>('.trigger')?.focus()\n\t}\n\n\t/**\n\t * Main method for toggling or setting selected items.\n\t */\n\tprivate handleOptionSelect(value: string) {\n\t\tif (this.multi) {\n\t\t\t// Multi-select: Toggle the .selected property on the clicked option\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (!option) return\n\n\t\t\toption.selected = !option.selected\n\t\t\t// Rebuild selectedValues\n\t\t\tif (option.selected) {\n\t\t\t\tthis.selectedValues = [...this.selectedValues, value]\n\t\t\t} else {\n\t\t\t\tthis.selectedValues = this.selectedValues.filter(v => v !== value)\n\t\t\t}\n\n\t\t\t// Update the visible label\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\n\t\t\t// Dispatch \"change\" event\n\t\t\tthis.dispatchChange(this.selectedValues)\n\t\t} else {\n\t\t\t// Single select: unselect all, select the clicked one\n\t\t\tthis.options.forEach(o => (o.selected = o.value === value))\n\t\t\tthis.value = value\n\t\t\tthis.valueLabel = this.options.find(o => o.value === value)?.label || this.placeholder\n\t\t\tthis.dispatchChange(value)\n\t\t\t// Close after selecting\n\t\t\tthis.closeDropdown()\n\t\t}\n\n\t\t// Also update aria-selected for accessibility\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tprivate dispatchChange(value: string | string[]) {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancySelectChangeEvent['detail']>('change', {\n\t\t\t\tdetail: { value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<!-- Some trigger (schmancy-input) -->\n\t\t\t\t<schmancy-input\n\t\t\t\t\tclass=\"trigger\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\treadonly\n\t\t\t\t\t@click=${() => (this.isOpen ? this.closeDropdown() : this.openDropdown())}\n\t\t\t\t></schmancy-input>\n\n\t\t\t\t<!-- Transparent overlay to close dropdown by clicking outside -->\n\t\t\t\t<div\n\t\t\t\t\tid=\"overlay\"\n\t\t\t\t\tclass=\"fixed inset-0\"\n\t\t\t\t\t?hidden=${!this.isOpen}\n\t\t\t\t\t@click=${this.closeDropdown}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t></div>\n\n\t\t\t\t<!-- The dropdown options container -->\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclass=${classMap({\n\t\t\t\t\t\t'absolute z-30 mt-1 w-full rounded-md shadow-sm': true,\n\t\t\t\t\t\thidden: !this.isOpen,\n\t\t\t\t\t})}\n\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t// If a <schmancy-option> inside was clicked, it dispatches a 'click' event\n\t\t\t\t\t\t// with detail.value. We can read that here:\n\t\t\t\t\t\tconst customEvt = e as CustomEvent\n\t\t\t\t\t\tconst detailVal = customEvt.detail?.value\n\t\t\t\t\t\tif (detailVal) {\n\t\t\t\t\t\t\tthis.handleOptionSelect(detailVal)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<!-- The <schmancy-option> elements get slotted in here -->\n\t\t\t\t\t<slot\n\t\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\t\tthis.syncSelection()\n\t\t\t\t\t\t\tthis.setupOptionsAccessibility()\n\t\t\t\t\t\t}}\n\t\t\t\t\t></slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","css","constructor","super","arguments","this","required","placeholder","value","selectedValues","multi","label","isOpen","valueLabel","connectedCallback","addEventListener","handleKeyDown","disconnectedCallback","removeEventListener","cleanupPositioner","syncSelection","setupOptionsAccessibility","options","filter","o","selected","map","length","includes","join","selectedOption","find","forEach","option","setAttribute","tabIndex","String","positionDropdown","reference","renderRoot","querySelector","ul","autoUpdate","async","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","style","left","top","position","e","key","preventDefault","openDropdown","Array","from","querySelectorAll","current","findIndex","matches","closeDropdown","focusOption","Math","min","max","handleOptionSelect","index","focus","updateComplete","selectedIndex","getAttribute","v","dispatchChange","dispatchEvent","CustomEvent","detail","bubbles","composed","html","classMap","hidden","color","bgColor","SchmancyTheme","sys","surface","container","customEvt","detailVal","__decorateClass","property","type","Boolean","prototype","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"select-CaBI5TrW.js","sources":["../src/select/select.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport class SchmancySelect extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t[role='listbox'] {\n\t\tmax-height: 25vh;\n\t\toverflow-y: auto;\n\t\toutline: none;\n\t}\n`) {\n\t// API\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String }) value = '' // for single-select\n\t@property({ type: Array }) selectedValues: string[] = [] // for multi-select\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private valueLabel = ''\n\n\t@query('ul') private ul!: HTMLUListElement\n\t@queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.addEventListener('keydown', this.handleKeyDown)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.removeEventListener('keydown', this.handleKeyDown)\n\t\tthis.cleanupPositioner?.()\n\t}\n\n\tfirstUpdated() {\n\t\t// Initial sync\n\t\tthis.syncSelection()\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\t/**\n\t * Whenever new <schmancy-option> children get slotted in,\n\t * or whenever properties change, ensure the correct .selected states\n\t * and display text are applied.\n\t */\n\tprivate syncSelection() {\n\t\tif (this.multi) {\n\t\t\t// For multi-select, figure out what's already marked selected in the DOM\n\t\t\tthis.selectedValues = this.options.filter(o => o.selected).map(o => o.value)\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\t\t} else {\n\t\t\t// Single\n\t\t\tconst selectedOption = this.options.find(o => o.value === this.value)\n\t\t\tthis.valueLabel = selectedOption?.label || this.placeholder\n\t\t}\n\t}\n\n\t/**\n\t * We can also set up any ARIA attributes here.\n\t * Note that we’re toggling `aria-selected` for screen readers,\n\t * but the highlight in CSS is triggered by the option’s `selected` property.\n\t */\n\tprivate setupOptionsAccessibility() {\n\t\tthis.options.forEach(option => {\n\t\t\toption.setAttribute('role', 'option')\n\t\t\toption.tabIndex = -1\n\t\t\toption.setAttribute(\n\t\t\t\t'aria-selected',\n\t\t\t\tString(this.multi ? this.selectedValues.includes(option.value) : option.value === this.value),\n\t\t\t)\n\t\t})\n\t}\n\n\t/**\n\t * Use @floating-ui/dom to position the <ul> under the \"trigger\" input.\n\t */\n\tprivate async positionDropdown() {\n\t\tconst reference = this.renderRoot.querySelector('.trigger') as HTMLElement\n\t\tif (!reference || !this.ul) return\n\n\t\tthis.cleanupPositioner = autoUpdate(reference, this.ul, async () => {\n\t\t\tconst { x, y } = await computePosition(reference, this.ul, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t\t})\n\n\t\t\tObject.assign(this.ul.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tposition: 'absolute',\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Keydown logic for opening/closing the dropdown and navigating options.\n\t */\n\tprivate handleKeyDown(e: KeyboardEvent) {\n\t\t// If dropdown is closed, certain keys will open it:\n\t\tif (!this.isOpen) {\n\t\t\tif (['Enter', ' ', 'ArrowDown'].includes(e.key)) {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.openDropdown()\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\t// If open, handle arrow up/down, enter, escape, etc.\n\t\tconst options = Array.from(this.ul.querySelectorAll<SchmancyOption>('[role=\"option\"]'))\n\t\tconst current = options.findIndex(o => o.matches(':focus'))\n\n\t\tswitch (e.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.min(current + 1, options.length - 1))\n\t\t\t\tbreak\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.max(current - 1, 0))\n\t\t\t\tbreak\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\te.preventDefault()\n\t\t\t\tif (current >= 0) this.handleOptionSelect(options[current].value)\n\t\t\t\tbreak\n\t\t\tcase 'Tab':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tprivate focusOption(options: HTMLElement[], index: number) {\n\t\toptions[index]?.focus()\n\t}\n\n\tprivate async openDropdown() {\n\t\tthis.isOpen = true\n\t\tawait this.updateComplete // Wait for lit to render\n\n\t\tthis.positionDropdown()\n\t\tthis.setupOptionsAccessibility()\n\n\t\t// Optionally focus the currently selected item:\n\t\tconst options = Array.from(this.ul.querySelectorAll('[role=\"option\"]')) as HTMLElement[]\n\t\tconst selectedIndex = this.multi ? 0 : options.findIndex(o => o.getAttribute('value') === this.value)\n\t\tthis.focusOption(options, Math.max(selectedIndex, 0))\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t\tthis.cleanupPositioner?.()\n\t\tthis.cleanupPositioner = undefined\n\t\t// Return focus to the trigger (optional):\n\t\tthis.renderRoot.querySelector<HTMLButtonElement>('.trigger')?.focus()\n\t}\n\n\t/**\n\t * Main method for toggling or setting selected items.\n\t */\n\tprivate handleOptionSelect(value: string) {\n\t\tif (this.multi) {\n\t\t\t// Multi-select: Toggle the .selected property on the clicked option\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (!option) return\n\n\t\t\toption.selected = !option.selected\n\t\t\t// Rebuild selectedValues\n\t\t\tif (option.selected) {\n\t\t\t\tthis.selectedValues = [...this.selectedValues, value]\n\t\t\t} else {\n\t\t\t\tthis.selectedValues = this.selectedValues.filter(v => v !== value)\n\t\t\t}\n\n\t\t\t// Update the visible label\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\n\t\t\t// Dispatch \"change\" event\n\t\t\tthis.dispatchChange(this.selectedValues)\n\t\t} else {\n\t\t\t// Single select: unselect all, select the clicked one\n\t\t\tthis.options.forEach(o => (o.selected = o.value === value))\n\t\t\tthis.value = value\n\t\t\tthis.valueLabel = this.options.find(o => o.value === value)?.label || this.placeholder\n\t\t\tthis.dispatchChange(value)\n\t\t\t// Close after selecting\n\t\t\tthis.closeDropdown()\n\t\t}\n\n\t\t// Also update aria-selected for accessibility\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tprivate dispatchChange(value: string | string[]) {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancySelectChangeEvent['detail']>('change', {\n\t\t\t\tdetail: { value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<!-- Some trigger (schmancy-input) -->\n\t\t\t\t<schmancy-input\n\t\t\t\t\tclass=\"trigger\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\treadonly\n\t\t\t\t\t@click=${() => (this.isOpen ? this.closeDropdown() : this.openDropdown())}\n\t\t\t\t></schmancy-input>\n\n\t\t\t\t<!-- Transparent overlay to close dropdown by clicking outside -->\n\t\t\t\t<div\n\t\t\t\t\tid=\"overlay\"\n\t\t\t\t\tclass=\"fixed inset-0\"\n\t\t\t\t\t?hidden=${!this.isOpen}\n\t\t\t\t\t@click=${this.closeDropdown}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t></div>\n\n\t\t\t\t<!-- The dropdown options container -->\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclass=${classMap({\n\t\t\t\t\t\t'absolute z-30 mt-1 w-full rounded-md shadow-sm': true,\n\t\t\t\t\t\thidden: !this.isOpen,\n\t\t\t\t\t})}\n\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t// If a <schmancy-option> inside was clicked, it dispatches a 'click' event\n\t\t\t\t\t\t// with detail.value. We can read that here:\n\t\t\t\t\t\tconst customEvt = e as CustomEvent\n\t\t\t\t\t\tconst detailVal = customEvt.detail?.value\n\t\t\t\t\t\tif (detailVal) {\n\t\t\t\t\t\t\tthis.handleOptionSelect(detailVal)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<!-- The <schmancy-option> elements get slotted in here -->\n\t\t\t\t\t<slot\n\t\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\t\tthis.syncSelection()\n\t\t\t\t\t\t\tthis.setupOptionsAccessibility()\n\t\t\t\t\t\t}}\n\t\t\t\t\t></slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","css","constructor","super","arguments","this","required","placeholder","value","selectedValues","multi","label","isOpen","valueLabel","connectedCallback","addEventListener","handleKeyDown","disconnectedCallback","removeEventListener","cleanupPositioner","syncSelection","setupOptionsAccessibility","options","filter","o","selected","map","length","includes","join","selectedOption","find","forEach","option","setAttribute","tabIndex","String","positionDropdown","reference","renderRoot","querySelector","ul","autoUpdate","async","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","style","left","top","position","e","key","preventDefault","openDropdown","Array","from","querySelectorAll","current","findIndex","matches","closeDropdown","focusOption","Math","min","max","handleOptionSelect","index","focus","updateComplete","selectedIndex","getAttribute","v","dispatchChange","dispatchEvent","CustomEvent","detail","bubbles","composed","html","classMap","hidden","color","bgColor","SchmancyTheme","sys","surface","container","customEvt","detailVal","__decorateClass","property","type","Boolean","prototype","state","query","queryAssignedElements","flatten","customElement"],"mappings":";;;;;;;;;;;;;;AAca,IAAAA,IAAN,cAA6BC,EAAYC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;EAAzC,cAAAC;AAAAC,UAAAC,GAAAA,SAAAA,GAakCC,KAAAC,WAAAA,IACED,KAAAE,cAAA,IACNF,KAAAG,QAAA,IACTH,KAAAI,iBAA2B,CAAA,GACjBJ,KAAAK,QAAAA,IACDL,KAAAM,QAAA,IAG3BN,KAAQO,SAAAA,IACRP,KAAQQ,aAAa;AAAA,EAAA;AAAA,EAM9B,oBAAAC;AACCX,UAAMW,kBAAAA,GACDT,KAAAU,iBAAiB,WAAWV,KAAKW,aAAa;AAAA,EAAA;AAAA,EAGpD,uBAAAC;;AACCd,UAAMc,qBAAAA,GACDZ,KAAAa,oBAAoB,WAAWb,KAAKW,aAAAA,IACzCX,IAAAA,KAAKc,sBAALd,QAAAA,EAAAA;AAAAA,EAAyB;AAAA,EAG1B,eAECA;AAAAA,SAAKe,cACLf,GAAAA,KAAKgB,0BAA0B;AAAA,EAAA;AAAA,EAQxB,gBACP;AAAA,QAAIhB,KAAKK,MAEHL,MAAAI,iBAAiBJ,KAAKiB,QAAQC,OAAOC,CAAAA,MAAKA,EAAEC,QAAUC,EAAAA,IAASF,CAAAA,MAAAA,EAAEhB,KAAAA,GACjEH,KAAAQ,aACJR,KAAKI,eAAekB,SAAS,IAC1BtB,KAAKiB,QACJC,OAAYC,CAAAA,MAAAnB,KAAKI,eAAemB,SAASJ,EAAEhB,KAAAA,CAAAA,EAC3CkB,IAASF,CAAAA,MAAAA,EAAEb,KAAAA,EACXkB,KAAK,IAAA,IACNxB,KAAKE;AAAAA,SACH;AAEA,YAAAuB,IAAiBzB,KAAKiB,QAAQS,YAAUP,EAAEhB,UAAUH,KAAKG,KAAAA;AAC1DH,WAAAQ,cAAaiB,KAAAA,gBAAAA,EAAgBnB,UAASN,KAAKE;AAAAA,IAAA;AAAA,EACjD;AAAA,EAQO,4BACFF;AAAAA,SAAAiB,QAAQU,QAAkBC,CAAAA,MACvBA;AAAAA,MAAAA,EAAAC,aAAa,QAAQ,QAAA,GAC5BD,EAAOE,WAAAA,IACAF,EAAAC,aACN,iBACAE,OAAO/B,KAAKK,QAAQL,KAAKI,eAAemB,SAASK,EAAOzB,KAASyB,IAAAA,EAAOzB,UAAUH,KAAKG,KACxF,CAAA;AAAA,IAAA,CAAA;AAAA,EACA;AAAA,EAMF,MAAc6B,mBAAAA;AACb,UAAMC,IAAYjC,KAAKkC,WAAWC,cAAc,UAAA;AAC3CF,IAAAA,KAAcjC,KAAKoC,OAExBpC,KAAKc,oBAAoBuB,EAAWJ,GAAWjC,KAAKoC,IAAIE,YACjD;AAAA,YAAA,EAAAC,GAAEA,MAAGC,EAAAA,IAAAA,MAAYC,EAAgBR,GAAWjC,KAAKoC,IAAI,EAC1DM,WAAW,gBACXC,YAAY,CAACC,EAAO,CAAA,GAAIC,EAAQC,GAAAA,EAAM,EAAEC,SAAS,EAAA,CAAA,CAAA,EAAA,CAAA;AAG3CC,aAAAC,OAAOjD,KAAKoC,GAAGc,OAAO,EAC5BC,MAAM,GAAGZ,CAAAA,MACTa,KAAK,GAAGZ,CACRa,MAAAA,UAAU,WACV,CAAA;AAAA,IAAA,CAAA;AAAA,EACD;AAAA,EAMM,cAAcC,GAAAA;AAEjB,SAACtD,KAAKO,OAKT,QAJI,MAAA,CAAC,SAAS,KAAK,WAAagB,EAAAA,SAAS+B,EAAEC,GAAAA,MAC1CD,EAAEE,eAAAA,GACFxD,KAAKyD,aAAAA;AAMP,UAAMxC,IAAUyC,MAAMC,KAAK3D,KAAKoC,GAAGwB,iBAAiC,iBAC9DC,CAAAA,GAAAA,IAAU5C,EAAQ6C,iBAAe3C,EAAE4C,QAAQ,QAAA,CAAA;AAEjD,YAAQT,EAAEC,KAAAA;AAAAA,MACT,KAAK;AAAA,MAgBL,KAAK;AACJvD,aAAKgE,cACL;AAAA;AAAA,MAfD,KAAK;AACJV,QAAAA,EAAEE,eAAAA,GACGxD,KAAAiE,YAAYhD,GAASiD,KAAKC,IAAIN,IAAU,GAAG5C,EAAQK,SAAS,CACjE,CAAA;AAAA;AAAA,MACD,KAAK;AACJgC,QAAAA,EAAEE,eAAAA,GACFxD,KAAKiE,YAAYhD,GAASiD,KAAKE,IAAIP,IAAU,GAAG,CAChD,CAAA;AAAA;AAAA,MACD,KAAK;AAAA,MACL,KAAK;AACJP,QAAAA,EAAEE,eAAAA,GACEK,KAAW,KAAG7D,KAAKqE,mBAAmBpD,EAAQ4C,CAAS1D,EAAAA,KAAAA;AAAAA,IAAAA;AAAAA,EAK7D;AAAA,EAGO,YAAYc,GAAwBqD,GACnCrD;;AAAAA,KAAAA,IAAAA,EAAAqD,CAAQC,MAARtD,QAAAA,EAAQsD;AAAAA,EAAM;AAAA,EAGvB,MAAcd,eAAAA;AACbzD,SAAKO,SAAAA,IACCP,MAAAA,KAAKwE,gBAEXxE,KAAKgC,iBAAAA,GACLhC,KAAKgB,0BAAAA;AAGL,UAAMC,IAAUyC,MAAMC,KAAK3D,KAAKoC,GAAGwB,iBAAiB,iBAC9Ca,CAAAA,GAAAA,IAAgBzE,KAAKK,QAAQ,IAAIY,EAAQ6C,UAAe3C,OAAAA,EAAEuD,aAAa,aAAa1E,KAAKG,KAAAA;AAC/FH,SAAKiE,YAAYhD,GAASiD,KAAKE,IAAIK,GAAe,CAAE,CAAA;AAAA,EAAA;AAAA,EAG7C,gBAAAT;;AACPhE,SAAKO,SAAAA,KACLP,IAAAA,KAAKc,sBAALd,QAAAA,EAAAA,YACAA,KAAKc,oBAAAA,SAELd,IAAAA,KAAKkC,WAAWC,cAAiC,UAAaoC,MAA9DvE,QAAAA,EAA8DuE;AAAAA,EAAM;AAAA,EAM7D,mBAAmBpE,GAAAA;;AAC1B,QAAIH,KAAKK,OAAO;AAEf,YAAMuB,IAAS5B,KAAKiB,QAAQS,KAAUP,OAAAA,EAAEhB,UAAUA,CAClD;AAAA,UAAA,CAAKyB,EAAQ;AAENA,MAAAA,EAAAR,WAAYQ,CAAAA,EAAOR,UAEtBQ,EAAOR,WACVpB,KAAKI,iBAAiB,CAAA,GAAIJ,KAAKI,gBAAgBD,CAE/CH,IAAAA,KAAKI,iBAAiBJ,KAAKI,eAAec,OAAOyD,OAAKA,MAAMxE,CAAAA,GAIxDH,KAAAQ,aACJR,KAAKI,eAAekB,SAAS,IAC1BtB,KAAKiB,QACJC,OAAYC,CAAAA,MAAAnB,KAAKI,eAAemB,SAASJ,EAAEhB,KAAAA,CAAAA,EAC3CkB,IAASF,CAAAA,MAAAA,EAAEb,KAAAA,EACXkB,KAAK,IAAA,IACNxB,KAAKE,aAGJF,KAAA4E,eAAe5E,KAAKI,cAAc;AAAA,IAAA,MAGvCJ,MAAKiB,QAAQU,QAAQR,CAAAA,MAAMA,EAAEC,WAAWD,EAAEhB,UAAUA,CAAAA,GACpDH,KAAKG,QAAQA,GACRH,KAAAQ,eAAaR,IAAAA,KAAKiB,QAAQS,KAAKP,CAAAA,MAAKA,EAAEhB,UAAUA,CAAQG,MAA3CN,gBAAAA,EAA2CM,UAASN,KAAKE,aAC3EF,KAAK4E,eAAezE,CAAAA,GAEpBH,KAAKgE,cAAAA;AAINhE,SAAKgB,0BAAAA;AAAAA,EAA0B;AAAA,EAGxB,eAAeb,GAAAA;AACjBH,SAAA6E,cACJ,IAAIC,YAAiD,UAAU,EAC9DC,QAAQ,EAAE5E,OAAAA,EAAAA,GACV6E,SAAS,IACTC,UAAU,GAAA,CAAA,CAAA;AAAA,EAEZ;AAAA,EAGD,SACQ;AAAA,WAAAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBAOYlF,KAAKO,MAAAA;AAAAA;AAAAA,cAEZP,KAAKM,KAAAA;AAAAA,oBACCN,KAAKE,WAAAA;AAAAA,cACXF,KAAKQ,UAAAA;AAAAA;AAAAA,cAEL,MAAOR,KAAKO,SAASP,KAAKgE,cAAAA,IAAkBhE,KAAKyD,aAAAA,CAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,gBAO/CzD,KAAKO,MAAAA;AAAAA,cACPP,KAAKgE,aAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,aAQNmB,EAAS,EAChB,kDAAA,IACAC,QAAAA,CAASpF,KAAKO,OAAAA,CAAAA,CAAAA;AAAAA,OAEb8E,EAAM,EAAEC,SAASC,EAAcC,IAAIH,MAAMI,QAAQC,UAAAA,CAAAA,CAAAA;AAAAA,cACzCpC,CAAAA,MAGT;;AAAA,YAAMqC,IAAYrC,GACZsC,KAAYD,IAAAA,EAAUZ,WAAVY,gBAAAA,EAAkBxF;AAChCyF,MAAAA,KACH5F,KAAKqE,mBAAmBuB,CAAS;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA,oBAMpB,MACb5F;AAAAA,WAAKe,cACLf,GAAAA,KAAKgB,0BAA0B;AAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAC/B;AAnQuB6E;AAAAA,EAAA,CAA5BC,EAAS,EAAEC,MAAMC,QAbNtG,CAAAA,CAAAA,GAAAA,EAaiBuG,WAAA,YAAA,CAAA,GACDJ,EAAA,CAA3BC,EAAS,EAAEC,MAAMhE,OAAAA,CAAAA,CAAAA,GAdNrC,EAcgBuG,WAAA,eAAA,CACAJ,GAAAA,EAAA,CAA3BC,EAAS,EAAEC,MAAMhE,OAAAA,CAAAA,CAAAA,GAfNrC,EAegBuG,WAAA,SAAA,IACDJ,EAAA,CAA1BC,EAAS,EAAEC,MAAMrC,WAhBNhE,EAgBeuG,WAAA,kBAAA,CACEJ,GAAAA,EAAA,CAA5BC,EAAS,EAAEC,MAAMC,QAAAA,CAAAA,CAAAA,GAjBNtG,EAiBiBuG,WAAA,SAAA,CACDJ,GAAAA,EAAA,CAA3BC,EAAS,EAAEC,MAAMhE,OAlBNrC,CAAAA,CAAAA,GAAAA,EAkBgBuG,WAAA,SAAA,CAAA,GAGXJ,EAAA,CAAhBK,EAAAA,CAAAA,GArBWxG,EAqBKuG,WAAA,UAAA,IACAJ,EAAA,CAAhBK,EAtBWxG,CAAAA,GAAAA,EAsBKuG,WAAA,cAAA,IAEIJ,EAAA,CAApBM,EAAM,IAxBKzG,CAAAA,GAAAA,EAwBSuG,WAAA,MAAA,CAAA,GAC6BJ,EAAA,CAAjDO,EAAsB,EAAEC,YAzBb3G,CAAAA,CAAAA,GAAAA,EAyBsCuG,WAAA,WAAA,CAAA,GAzBtCvG,IAANmG,EAAA,CADNS,EAAc,iBAAA,CAAA,GACF5G;"}
@@ -1,4 +1,4 @@
1
- "use strict";const a=require("@floating-ui/dom");require("rxjs");const p=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const u=require("./litElement.mixin-CYwiYZyZ.cjs");require("./tailwind.mixin-BmIP1Qzo.cjs");const d=require("./ripple-C2BHbhcS.cjs"),y=require("./theme.interface-Xg5Zi46a.cjs"),h=require("lit"),l=require("lit/decorators.js");var m=Object.defineProperty,v=Object.getOwnPropertyDescriptor,o=(e,s,t,i)=>{for(var c,n=i>1?void 0:i?v(s,t):s,r=e.length-1;r>=0;r--)(c=e[r])&&(n=(i?c(s,t,n):c(n))||n);return i&&n&&m(s,t,n),n};exports.SchmancySelect=class extends u.$LitElement(h.css`
1
+ "use strict";const a=require("@floating-ui/dom");require("rxjs");const p=require("lit/directives/class-map.js");require("lit/directives/style-map.js");const u=require("./litElement.mixin-B9kSOE4x.cjs");require("./tailwind.mixin-gE-6eUQA.cjs");const d=require("./ripple-C2BHbhcS.cjs"),y=require("./theme.interface-Xg5Zi46a.cjs"),h=require("lit"),l=require("lit/decorators.js");var m=Object.defineProperty,v=Object.getOwnPropertyDescriptor,o=(e,s,t,i)=>{for(var c,n=i>1?void 0:i?v(s,t):s,r=e.length-1;r>=0;r--)(c=e[r])&&(n=(i?c(s,t,n):c(n))||n);return i&&n&&m(s,t,n),n};exports.SchmancySelect=class extends u.$LitElement(h.css`
2
2
  :host {
3
3
  display: block;
4
4
  position: relative;
@@ -49,4 +49,4 @@
49
49
  </ul>
50
50
  </div>
51
51
  `}},o([l.property({type:Boolean})],exports.SchmancySelect.prototype,"required",2),o([l.property({type:String})],exports.SchmancySelect.prototype,"placeholder",2),o([l.property({type:String})],exports.SchmancySelect.prototype,"value",2),o([l.property({type:Array})],exports.SchmancySelect.prototype,"selectedValues",2),o([l.property({type:Boolean})],exports.SchmancySelect.prototype,"multi",2),o([l.property({type:String})],exports.SchmancySelect.prototype,"label",2),o([l.state()],exports.SchmancySelect.prototype,"isOpen",2),o([l.state()],exports.SchmancySelect.prototype,"valueLabel",2),o([l.query("ul")],exports.SchmancySelect.prototype,"ul",2),o([l.queryAssignedElements({flatten:!0})],exports.SchmancySelect.prototype,"options",2),exports.SchmancySelect=o([l.customElement("schmancy-select")],exports.SchmancySelect);
52
- //# sourceMappingURL=select-DEOnUayG.cjs.map
52
+ //# sourceMappingURL=select-N1WX3mjc.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-DEOnUayG.cjs","sources":["../src/select/select.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport class SchmancySelect extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t[role='listbox'] {\n\t\tmax-height: 25vh;\n\t\toverflow-y: auto;\n\t\toutline: none;\n\t}\n`) {\n\t// API\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String }) value = '' // for single-select\n\t@property({ type: Array }) selectedValues: string[] = [] // for multi-select\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private valueLabel = ''\n\n\t@query('ul') private ul!: HTMLUListElement\n\t@queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.addEventListener('keydown', this.handleKeyDown)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.removeEventListener('keydown', this.handleKeyDown)\n\t\tthis.cleanupPositioner?.()\n\t}\n\n\tfirstUpdated() {\n\t\t// Initial sync\n\t\tthis.syncSelection()\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\t/**\n\t * Whenever new <schmancy-option> children get slotted in,\n\t * or whenever properties change, ensure the correct .selected states\n\t * and display text are applied.\n\t */\n\tprivate syncSelection() {\n\t\tif (this.multi) {\n\t\t\t// For multi-select, figure out what's already marked selected in the DOM\n\t\t\tthis.selectedValues = this.options.filter(o => o.selected).map(o => o.value)\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\t\t} else {\n\t\t\t// Single\n\t\t\tconst selectedOption = this.options.find(o => o.value === this.value)\n\t\t\tthis.valueLabel = selectedOption?.label || this.placeholder\n\t\t}\n\t}\n\n\t/**\n\t * We can also set up any ARIA attributes here.\n\t * Note that we’re toggling `aria-selected` for screen readers,\n\t * but the highlight in CSS is triggered by the option’s `selected` property.\n\t */\n\tprivate setupOptionsAccessibility() {\n\t\tthis.options.forEach(option => {\n\t\t\toption.setAttribute('role', 'option')\n\t\t\toption.tabIndex = -1\n\t\t\toption.setAttribute(\n\t\t\t\t'aria-selected',\n\t\t\t\tString(this.multi ? this.selectedValues.includes(option.value) : option.value === this.value),\n\t\t\t)\n\t\t})\n\t}\n\n\t/**\n\t * Use @floating-ui/dom to position the <ul> under the \"trigger\" input.\n\t */\n\tprivate async positionDropdown() {\n\t\tconst reference = this.renderRoot.querySelector('.trigger') as HTMLElement\n\t\tif (!reference || !this.ul) return\n\n\t\tthis.cleanupPositioner = autoUpdate(reference, this.ul, async () => {\n\t\t\tconst { x, y } = await computePosition(reference, this.ul, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t\t})\n\n\t\t\tObject.assign(this.ul.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tposition: 'absolute',\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Keydown logic for opening/closing the dropdown and navigating options.\n\t */\n\tprivate handleKeyDown(e: KeyboardEvent) {\n\t\t// If dropdown is closed, certain keys will open it:\n\t\tif (!this.isOpen) {\n\t\t\tif (['Enter', ' ', 'ArrowDown'].includes(e.key)) {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.openDropdown()\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\t// If open, handle arrow up/down, enter, escape, etc.\n\t\tconst options = Array.from(this.ul.querySelectorAll<SchmancyOption>('[role=\"option\"]'))\n\t\tconst current = options.findIndex(o => o.matches(':focus'))\n\n\t\tswitch (e.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.min(current + 1, options.length - 1))\n\t\t\t\tbreak\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.max(current - 1, 0))\n\t\t\t\tbreak\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\te.preventDefault()\n\t\t\t\tif (current >= 0) this.handleOptionSelect(options[current].value)\n\t\t\t\tbreak\n\t\t\tcase 'Tab':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tprivate focusOption(options: HTMLElement[], index: number) {\n\t\toptions[index]?.focus()\n\t}\n\n\tprivate async openDropdown() {\n\t\tthis.isOpen = true\n\t\tawait this.updateComplete // Wait for lit to render\n\n\t\tthis.positionDropdown()\n\t\tthis.setupOptionsAccessibility()\n\n\t\t// Optionally focus the currently selected item:\n\t\tconst options = Array.from(this.ul.querySelectorAll('[role=\"option\"]')) as HTMLElement[]\n\t\tconst selectedIndex = this.multi ? 0 : options.findIndex(o => o.getAttribute('value') === this.value)\n\t\tthis.focusOption(options, Math.max(selectedIndex, 0))\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t\tthis.cleanupPositioner?.()\n\t\tthis.cleanupPositioner = undefined\n\t\t// Return focus to the trigger (optional):\n\t\tthis.renderRoot.querySelector<HTMLButtonElement>('.trigger')?.focus()\n\t}\n\n\t/**\n\t * Main method for toggling or setting selected items.\n\t */\n\tprivate handleOptionSelect(value: string) {\n\t\tif (this.multi) {\n\t\t\t// Multi-select: Toggle the .selected property on the clicked option\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (!option) return\n\n\t\t\toption.selected = !option.selected\n\t\t\t// Rebuild selectedValues\n\t\t\tif (option.selected) {\n\t\t\t\tthis.selectedValues = [...this.selectedValues, value]\n\t\t\t} else {\n\t\t\t\tthis.selectedValues = this.selectedValues.filter(v => v !== value)\n\t\t\t}\n\n\t\t\t// Update the visible label\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\n\t\t\t// Dispatch \"change\" event\n\t\t\tthis.dispatchChange(this.selectedValues)\n\t\t} else {\n\t\t\t// Single select: unselect all, select the clicked one\n\t\t\tthis.options.forEach(o => (o.selected = o.value === value))\n\t\t\tthis.value = value\n\t\t\tthis.valueLabel = this.options.find(o => o.value === value)?.label || this.placeholder\n\t\t\tthis.dispatchChange(value)\n\t\t\t// Close after selecting\n\t\t\tthis.closeDropdown()\n\t\t}\n\n\t\t// Also update aria-selected for accessibility\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tprivate dispatchChange(value: string | string[]) {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancySelectChangeEvent['detail']>('change', {\n\t\t\t\tdetail: { value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<!-- Some trigger (schmancy-input) -->\n\t\t\t\t<schmancy-input\n\t\t\t\t\tclass=\"trigger\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\treadonly\n\t\t\t\t\t@click=${() => (this.isOpen ? this.closeDropdown() : this.openDropdown())}\n\t\t\t\t></schmancy-input>\n\n\t\t\t\t<!-- Transparent overlay to close dropdown by clicking outside -->\n\t\t\t\t<div\n\t\t\t\t\tid=\"overlay\"\n\t\t\t\t\tclass=\"fixed inset-0\"\n\t\t\t\t\t?hidden=${!this.isOpen}\n\t\t\t\t\t@click=${this.closeDropdown}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t></div>\n\n\t\t\t\t<!-- The dropdown options container -->\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclass=${classMap({\n\t\t\t\t\t\t'absolute z-30 mt-1 w-full rounded-md shadow-sm': true,\n\t\t\t\t\t\thidden: !this.isOpen,\n\t\t\t\t\t})}\n\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t// If a <schmancy-option> inside was clicked, it dispatches a 'click' event\n\t\t\t\t\t\t// with detail.value. We can read that here:\n\t\t\t\t\t\tconst customEvt = e as CustomEvent\n\t\t\t\t\t\tconst detailVal = customEvt.detail?.value\n\t\t\t\t\t\tif (detailVal) {\n\t\t\t\t\t\t\tthis.handleOptionSelect(detailVal)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<!-- The <schmancy-option> elements get slotted in here -->\n\t\t\t\t\t<slot\n\t\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\t\tthis.syncSelection()\n\t\t\t\t\t\t\tthis.setupOptionsAccessibility()\n\t\t\t\t\t\t}}\n\t\t\t\t\t></slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","css","constructor","super","arguments","this","required","placeholder","value","selectedValues","multi","label","isOpen","valueLabel","connectedCallback","addEventListener","handleKeyDown","disconnectedCallback","removeEventListener","cleanupPositioner","syncSelection","setupOptionsAccessibility","options","filter","o","selected","map","length","includes","join","selectedOption","find","forEach","option","setAttribute","tabIndex","String","reference","renderRoot","querySelector","ul","autoUpdate","async","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","style","left","top","position","e","key","preventDefault","openDropdown","Array","from","querySelectorAll","current","findIndex","matches","closeDropdown","focusOption","Math","min","max","handleOptionSelect","index","focus","updateComplete","positionDropdown","selectedIndex","getAttribute","undefined","v","dispatchChange","dispatchEvent","CustomEvent","detail","bubbles","composed","render","html","classMap","hidden","color","bgColor","SchmancyTheme","sys","surface","container","customEvt","detailVal","__decorateClass","property","type","Boolean","prototype","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"select-N1WX3mjc.cjs","sources":["../src/select/select.ts"],"sourcesContent":["import { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport { color } from '@schmancy/directives'\nimport SchmancyOption from '@schmancy/option/option'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\n\nexport type SchmancySelectChangeEvent = CustomEvent<{\n\tvalue: string | string[]\n}>\n\n@customElement('schmancy-select')\nexport class SchmancySelect extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t[role='listbox'] {\n\t\tmax-height: 25vh;\n\t\toverflow-y: auto;\n\t\toutline: none;\n\t}\n`) {\n\t// API\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = ''\n\t@property({ type: String }) value = '' // for single-select\n\t@property({ type: Array }) selectedValues: string[] = [] // for multi-select\n\t@property({ type: Boolean }) multi = false\n\t@property({ type: String }) label = ''\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private valueLabel = ''\n\n\t@query('ul') private ul!: HTMLUListElement\n\t@queryAssignedElements({ flatten: true }) private options!: SchmancyOption[]\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis.addEventListener('keydown', this.handleKeyDown)\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.removeEventListener('keydown', this.handleKeyDown)\n\t\tthis.cleanupPositioner?.()\n\t}\n\n\tfirstUpdated() {\n\t\t// Initial sync\n\t\tthis.syncSelection()\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\t/**\n\t * Whenever new <schmancy-option> children get slotted in,\n\t * or whenever properties change, ensure the correct .selected states\n\t * and display text are applied.\n\t */\n\tprivate syncSelection() {\n\t\tif (this.multi) {\n\t\t\t// For multi-select, figure out what's already marked selected in the DOM\n\t\t\tthis.selectedValues = this.options.filter(o => o.selected).map(o => o.value)\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\t\t} else {\n\t\t\t// Single\n\t\t\tconst selectedOption = this.options.find(o => o.value === this.value)\n\t\t\tthis.valueLabel = selectedOption?.label || this.placeholder\n\t\t}\n\t}\n\n\t/**\n\t * We can also set up any ARIA attributes here.\n\t * Note that we’re toggling `aria-selected` for screen readers,\n\t * but the highlight in CSS is triggered by the option’s `selected` property.\n\t */\n\tprivate setupOptionsAccessibility() {\n\t\tthis.options.forEach(option => {\n\t\t\toption.setAttribute('role', 'option')\n\t\t\toption.tabIndex = -1\n\t\t\toption.setAttribute(\n\t\t\t\t'aria-selected',\n\t\t\t\tString(this.multi ? this.selectedValues.includes(option.value) : option.value === this.value),\n\t\t\t)\n\t\t})\n\t}\n\n\t/**\n\t * Use @floating-ui/dom to position the <ul> under the \"trigger\" input.\n\t */\n\tprivate async positionDropdown() {\n\t\tconst reference = this.renderRoot.querySelector('.trigger') as HTMLElement\n\t\tif (!reference || !this.ul) return\n\n\t\tthis.cleanupPositioner = autoUpdate(reference, this.ul, async () => {\n\t\t\tconst { x, y } = await computePosition(reference, this.ul, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(5), flip(), shift({ padding: 5 })],\n\t\t\t})\n\n\t\t\tObject.assign(this.ul.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tposition: 'absolute',\n\t\t\t})\n\t\t})\n\t}\n\n\t/**\n\t * Keydown logic for opening/closing the dropdown and navigating options.\n\t */\n\tprivate handleKeyDown(e: KeyboardEvent) {\n\t\t// If dropdown is closed, certain keys will open it:\n\t\tif (!this.isOpen) {\n\t\t\tif (['Enter', ' ', 'ArrowDown'].includes(e.key)) {\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.openDropdown()\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\t// If open, handle arrow up/down, enter, escape, etc.\n\t\tconst options = Array.from(this.ul.querySelectorAll<SchmancyOption>('[role=\"option\"]'))\n\t\tconst current = options.findIndex(o => o.matches(':focus'))\n\n\t\tswitch (e.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.min(current + 1, options.length - 1))\n\t\t\t\tbreak\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault()\n\t\t\t\tthis.focusOption(options, Math.max(current - 1, 0))\n\t\t\t\tbreak\n\t\t\tcase 'Enter':\n\t\t\tcase ' ':\n\t\t\t\te.preventDefault()\n\t\t\t\tif (current >= 0) this.handleOptionSelect(options[current].value)\n\t\t\t\tbreak\n\t\t\tcase 'Tab':\n\t\t\t\tthis.closeDropdown()\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tprivate focusOption(options: HTMLElement[], index: number) {\n\t\toptions[index]?.focus()\n\t}\n\n\tprivate async openDropdown() {\n\t\tthis.isOpen = true\n\t\tawait this.updateComplete // Wait for lit to render\n\n\t\tthis.positionDropdown()\n\t\tthis.setupOptionsAccessibility()\n\n\t\t// Optionally focus the currently selected item:\n\t\tconst options = Array.from(this.ul.querySelectorAll('[role=\"option\"]')) as HTMLElement[]\n\t\tconst selectedIndex = this.multi ? 0 : options.findIndex(o => o.getAttribute('value') === this.value)\n\t\tthis.focusOption(options, Math.max(selectedIndex, 0))\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t\tthis.cleanupPositioner?.()\n\t\tthis.cleanupPositioner = undefined\n\t\t// Return focus to the trigger (optional):\n\t\tthis.renderRoot.querySelector<HTMLButtonElement>('.trigger')?.focus()\n\t}\n\n\t/**\n\t * Main method for toggling or setting selected items.\n\t */\n\tprivate handleOptionSelect(value: string) {\n\t\tif (this.multi) {\n\t\t\t// Multi-select: Toggle the .selected property on the clicked option\n\t\t\tconst option = this.options.find(o => o.value === value)\n\t\t\tif (!option) return\n\n\t\t\toption.selected = !option.selected\n\t\t\t// Rebuild selectedValues\n\t\t\tif (option.selected) {\n\t\t\t\tthis.selectedValues = [...this.selectedValues, value]\n\t\t\t} else {\n\t\t\t\tthis.selectedValues = this.selectedValues.filter(v => v !== value)\n\t\t\t}\n\n\t\t\t// Update the visible label\n\t\t\tthis.valueLabel =\n\t\t\t\tthis.selectedValues.length > 0\n\t\t\t\t\t? this.options\n\t\t\t\t\t\t\t.filter(o => this.selectedValues.includes(o.value))\n\t\t\t\t\t\t\t.map(o => o.label)\n\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t: this.placeholder\n\n\t\t\t// Dispatch \"change\" event\n\t\t\tthis.dispatchChange(this.selectedValues)\n\t\t} else {\n\t\t\t// Single select: unselect all, select the clicked one\n\t\t\tthis.options.forEach(o => (o.selected = o.value === value))\n\t\t\tthis.value = value\n\t\t\tthis.valueLabel = this.options.find(o => o.value === value)?.label || this.placeholder\n\t\t\tthis.dispatchChange(value)\n\t\t\t// Close after selecting\n\t\t\tthis.closeDropdown()\n\t\t}\n\n\t\t// Also update aria-selected for accessibility\n\t\tthis.setupOptionsAccessibility()\n\t}\n\n\tprivate dispatchChange(value: string | string[]) {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancySelectChangeEvent['detail']>('change', {\n\t\t\t\tdetail: { value },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative\">\n\t\t\t\t<!-- Some trigger (schmancy-input) -->\n\t\t\t\t<schmancy-input\n\t\t\t\t\tclass=\"trigger\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\taria-controls=\"options\"\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.value=${this.valueLabel}\n\t\t\t\t\treadonly\n\t\t\t\t\t@click=${() => (this.isOpen ? this.closeDropdown() : this.openDropdown())}\n\t\t\t\t></schmancy-input>\n\n\t\t\t\t<!-- Transparent overlay to close dropdown by clicking outside -->\n\t\t\t\t<div\n\t\t\t\t\tid=\"overlay\"\n\t\t\t\t\tclass=\"fixed inset-0\"\n\t\t\t\t\t?hidden=${!this.isOpen}\n\t\t\t\t\t@click=${this.closeDropdown}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t></div>\n\n\t\t\t\t<!-- The dropdown options container -->\n\t\t\t\t<ul\n\t\t\t\t\tid=\"options\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclass=${classMap({\n\t\t\t\t\t\t'absolute z-30 mt-1 w-full rounded-md shadow-sm': true,\n\t\t\t\t\t\thidden: !this.isOpen,\n\t\t\t\t\t})}\n\t\t\t\t\t${color({ bgColor: SchmancyTheme.sys.color.surface.container })}\n\t\t\t\t\t@click=${(e: Event) => {\n\t\t\t\t\t\t// If a <schmancy-option> inside was clicked, it dispatches a 'click' event\n\t\t\t\t\t\t// with detail.value. We can read that here:\n\t\t\t\t\t\tconst customEvt = e as CustomEvent\n\t\t\t\t\t\tconst detailVal = customEvt.detail?.value\n\t\t\t\t\t\tif (detailVal) {\n\t\t\t\t\t\t\tthis.handleOptionSelect(detailVal)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<!-- The <schmancy-option> elements get slotted in here -->\n\t\t\t\t\t<slot\n\t\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\t\tthis.syncSelection()\n\t\t\t\t\t\t\tthis.setupOptionsAccessibility()\n\t\t\t\t\t\t}}\n\t\t\t\t\t></slot>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t`\n\t}\n}\n"],"names":["SchmancySelect","$LitElement","css","constructor","super","arguments","this","required","placeholder","value","selectedValues","multi","label","isOpen","valueLabel","connectedCallback","addEventListener","handleKeyDown","disconnectedCallback","removeEventListener","cleanupPositioner","syncSelection","setupOptionsAccessibility","options","filter","o","selected","map","length","includes","join","selectedOption","find","forEach","option","setAttribute","tabIndex","String","reference","renderRoot","querySelector","ul","autoUpdate","async","x","y","computePosition","placement","middleware","offset","flip","shift","padding","Object","assign","style","left","top","position","e","key","preventDefault","openDropdown","Array","from","querySelectorAll","current","findIndex","matches","closeDropdown","focusOption","Math","min","max","handleOptionSelect","index","focus","updateComplete","positionDropdown","selectedIndex","getAttribute","undefined","v","dispatchChange","dispatchEvent","CustomEvent","detail","bubbles","composed","render","html","classMap","hidden","color","bgColor","SchmancyTheme","sys","surface","container","customEvt","detailVal","__decorateClass","property","type","Boolean","prototype","state","query","queryAssignedElements","flatten","customElement"],"mappings":"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"}
package/dist/select.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./select-DEOnUayG.cjs");Object.defineProperty(exports,"SchmancySelect",{enumerable:!0,get:()=>e.SchmancySelect});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./select-N1WX3mjc.cjs");Object.defineProperty(exports,"SchmancySelect",{enumerable:!0,get:()=>e.SchmancySelect});
2
2
  //# sourceMappingURL=select.cjs.map
package/dist/select.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S } from "./select-Dmhiq26e.js";
1
+ import { S } from "./select-CaBI5TrW.js";
2
2
  export {
3
3
  S as SchmancySelect
4
4
  };