@mhmo91/schmancy 0.5.30 → 0.5.31

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 (323) hide show
  1. package/dist/{animated-text-Bj3T5GI5.cjs → animated-text-BZUrBdvN.cjs} +2 -2
  2. package/dist/{animated-text-Bj3T5GI5.cjs.map → animated-text-BZUrBdvN.cjs.map} +1 -1
  3. package/dist/{animated-text-B6Al11f3.js → animated-text-COvhr8E3.js} +3 -3
  4. package/dist/{animated-text-B6Al11f3.js.map → animated-text-COvhr8E3.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-BQcolvQi.js → area.component-BHtBHWVt.js} +3 -3
  9. package/dist/{area.component-BQcolvQi.js.map → area.component-BHtBHWVt.js.map} +1 -1
  10. package/dist/{area.component-DXSeV322.cjs → area.component-Ch2Eaa4i.cjs} +2 -2
  11. package/dist/{area.component-DXSeV322.cjs.map → area.component-Ch2Eaa4i.cjs.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-Wv044p5B.js → autocomplete-9RkU9LmA.js} +4 -4
  14. package/dist/{autocomplete-Wv044p5B.js.map → autocomplete-9RkU9LmA.js.map} +1 -1
  15. package/dist/{autocomplete-CojS1sdc.cjs → autocomplete-CenwFcT1.cjs} +2 -2
  16. package/dist/{autocomplete-CojS1sdc.cjs.map → autocomplete-CenwFcT1.cjs.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/{avatar-B-B3voZS.cjs → avatar-DVvQCuqb.cjs} +2 -2
  20. package/dist/{avatar-B-B3voZS.cjs.map → avatar-DVvQCuqb.cjs.map} +1 -1
  21. package/dist/{avatar-Bs89_joj.js → avatar-vN5sPaPb.js} +50 -50
  22. package/dist/{avatar-Bs89_joj.js.map → avatar-vN5sPaPb.js.map} +1 -1
  23. package/dist/badge.cjs +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{boat-BjFRi10d.js → boat-CUsJXaLf.js} +2 -2
  26. package/dist/{boat-BjFRi10d.js.map → boat-CUsJXaLf.js.map} +1 -1
  27. package/dist/{boat-BeedgTDN.cjs → boat-Dfx9-P8c.cjs} +2 -2
  28. package/dist/{boat-BeedgTDN.cjs.map → boat-Dfx9-P8c.cjs.map} +1 -1
  29. package/dist/boat.cjs +1 -1
  30. package/dist/boat.js +1 -1
  31. package/dist/busy.cjs +1 -1
  32. package/dist/busy.js +1 -1
  33. package/dist/button.cjs +1 -1
  34. package/dist/button.js +1 -1
  35. package/dist/card.cjs +1 -1
  36. package/dist/card.js +1 -1
  37. package/dist/{checkbox-QL8e8D_6.cjs → checkbox-8djp_8NK.cjs} +2 -2
  38. package/dist/{checkbox-QL8e8D_6.cjs.map → checkbox-8djp_8NK.cjs.map} +1 -1
  39. package/dist/{checkbox-t3elkaoD.js → checkbox-D6-WQeEk.js} +2 -2
  40. package/dist/{checkbox-t3elkaoD.js.map → checkbox-D6-WQeEk.js.map} +1 -1
  41. package/dist/checkbox.cjs +1 -1
  42. package/dist/checkbox.js +1 -1
  43. package/dist/chips.cjs +1 -1
  44. package/dist/chips.js +2 -2
  45. package/dist/code-highlight.cjs +1 -1
  46. package/dist/code-highlight.js +1 -1
  47. package/dist/{code-preview-DcT_tc4E.cjs → code-preview-BFoEmN8y.cjs} +2 -2
  48. package/dist/{code-preview-DcT_tc4E.cjs.map → code-preview-BFoEmN8y.cjs.map} +1 -1
  49. package/dist/{code-preview-CWes6QWd.js → code-preview-Z02-2suM.js} +2 -2
  50. package/dist/{code-preview-CWes6QWd.js.map → code-preview-Z02-2suM.js.map} +1 -1
  51. package/dist/components.cjs +1 -1
  52. package/dist/components.js +1 -1
  53. package/dist/content-drawer.cjs +1 -1
  54. package/dist/content-drawer.js +1 -1
  55. package/dist/{date-range-B2s9eZ69.cjs → date-range-DoCtnpW6.cjs} +2 -2
  56. package/dist/{date-range-B2s9eZ69.cjs.map → date-range-DoCtnpW6.cjs.map} +1 -1
  57. package/dist/{date-range-inline-BjCxw4Op.js → date-range-inline-BXeX6T7R.js} +3 -3
  58. package/dist/{date-range-inline-BjCxw4Op.js.map → date-range-inline-BXeX6T7R.js.map} +1 -1
  59. package/dist/{date-range-inline-DDQJAxlw.cjs → date-range-inline-DNr7C5X-.cjs} +2 -2
  60. package/dist/{date-range-inline-DDQJAxlw.cjs.map → date-range-inline-DNr7C5X-.cjs.map} +1 -1
  61. package/dist/date-range-inline.cjs +1 -1
  62. package/dist/date-range-inline.js +1 -1
  63. package/dist/{date-range-DdCinJ5I.js → date-range-kFnTrnHN.js} +3 -3
  64. package/dist/{date-range-DdCinJ5I.js.map → date-range-kFnTrnHN.js.map} +1 -1
  65. package/dist/date-range.cjs +1 -1
  66. package/dist/date-range.js +1 -1
  67. package/dist/{delay-D06d9gJA.cjs → delay-CrdOikhP.cjs} +2 -2
  68. package/dist/{delay-D06d9gJA.cjs.map → delay-CrdOikhP.cjs.map} +1 -1
  69. package/dist/{delay-CTwq_1ov.js → delay-Cz-9rZxi.js} +2 -2
  70. package/dist/{delay-CTwq_1ov.js.map → delay-Cz-9rZxi.js.map} +1 -1
  71. package/dist/delay.cjs +1 -1
  72. package/dist/delay.js +1 -1
  73. package/dist/{details-Cm3ED4Vm.cjs → details-CsqhGMjL.cjs} +7 -7
  74. package/dist/details-CsqhGMjL.cjs.map +1 -0
  75. package/dist/{details-l1JAXK6t.js → details-DeBtsJlp.js} +6 -6
  76. package/dist/details-DeBtsJlp.js.map +1 -0
  77. package/dist/details.cjs +1 -1
  78. package/dist/details.js +1 -1
  79. package/dist/{dialog-content-C8q_InLU.cjs → dialog-content-BzSQoM2J.cjs} +2 -2
  80. package/dist/{dialog-content-C8q_InLU.cjs.map → dialog-content-BzSQoM2J.cjs.map} +1 -1
  81. package/dist/{dialog-content-Dup50SKo.js → dialog-content-DTKdAF_l.js} +3 -3
  82. package/dist/{dialog-content-Dup50SKo.js.map → dialog-content-DTKdAF_l.js.map} +1 -1
  83. package/dist/dialog.cjs +1 -1
  84. package/dist/dialog.js +1 -1
  85. package/dist/{divider-g1MbUXBn.js → divider-7iyyEd8k.js} +3 -3
  86. package/dist/{divider-g1MbUXBn.js.map → divider-7iyyEd8k.js.map} +1 -1
  87. package/dist/{divider-i1iCDZ21.cjs → divider-CNxOc8ep.cjs} +2 -2
  88. package/dist/{divider-i1iCDZ21.cjs.map → divider-CNxOc8ep.cjs.map} +1 -1
  89. package/dist/divider.cjs +1 -1
  90. package/dist/divider.js +1 -1
  91. package/dist/{dropdown-content-CMLzf355.cjs → dropdown-content-De0OkNoq.cjs} +2 -2
  92. package/dist/{dropdown-content-CMLzf355.cjs.map → dropdown-content-De0OkNoq.cjs.map} +1 -1
  93. package/dist/{dropdown-content-CcT8Vuzp.js → dropdown-content-_GMpqsNq.js} +3 -3
  94. package/dist/{dropdown-content-CcT8Vuzp.js.map → dropdown-content-_GMpqsNq.js.map} +1 -1
  95. package/dist/dropdown.cjs +1 -1
  96. package/dist/dropdown.js +1 -1
  97. package/dist/{email-recipients-DblCkW30.js → email-recipients-CPZlUiRR.js} +5 -5
  98. package/dist/{email-recipients-DblCkW30.js.map → email-recipients-CPZlUiRR.js.map} +1 -1
  99. package/dist/{email-recipients-DuqsANsi.cjs → email-recipients-DS01C3V3.cjs} +2 -2
  100. package/dist/{email-recipients-DuqsANsi.cjs.map → email-recipients-DS01C3V3.cjs.map} +1 -1
  101. package/dist/extra.cjs +1 -1
  102. package/dist/extra.js +1 -1
  103. package/dist/{flex-Dn29XhdY.js → flex-BeSoRNTu.js} +81 -66
  104. package/dist/flex-BeSoRNTu.js.map +1 -0
  105. package/dist/flex-CHf9Gc5V.cjs +42 -0
  106. package/dist/flex-CHf9Gc5V.cjs.map +1 -0
  107. package/dist/{form-CGm6TOc8.js → form-DNeKagke.js} +2 -2
  108. package/dist/{form-CGm6TOc8.js.map → form-DNeKagke.js.map} +1 -1
  109. package/dist/{form-CZBhLZ6M.cjs → form-DzDksPgv.cjs} +2 -2
  110. package/dist/{form-CZBhLZ6M.cjs.map → form-DzDksPgv.cjs.map} +1 -1
  111. package/dist/form.cjs +1 -1
  112. package/dist/form.js +1 -1
  113. package/dist/{formField.mixin-BXkT6tCp.js → formField.mixin-BNj75WQ4.js} +2 -2
  114. package/dist/{formField.mixin-BXkT6tCp.js.map → formField.mixin-BNj75WQ4.js.map} +1 -1
  115. package/dist/{formField.mixin-C3Cp2bs9.cjs → formField.mixin-D5YAYIS1.cjs} +2 -2
  116. package/dist/{formField.mixin-C3Cp2bs9.cjs.map → formField.mixin-D5YAYIS1.cjs.map} +1 -1
  117. package/dist/{icon-CLSfMYrl.js → icon-B72X_AQX.js} +2 -2
  118. package/dist/{icon-CLSfMYrl.js.map → icon-B72X_AQX.js.map} +1 -1
  119. package/dist/{icon-Ce_YR3K1.cjs → icon-DbIBlAjy.cjs} +2 -2
  120. package/dist/{icon-Ce_YR3K1.cjs.map → icon-DbIBlAjy.cjs.map} +1 -1
  121. package/dist/{icon-button-9ZvYkRo4.js → icon-button-D6DH52j4.js} +3 -3
  122. package/dist/{icon-button-9ZvYkRo4.js.map → icon-button-D6DH52j4.js.map} +1 -1
  123. package/dist/{icon-button-BzuVSmWx.cjs → icon-button-DwnnW2oj.cjs} +2 -2
  124. package/dist/{icon-button-BzuVSmWx.cjs.map → icon-button-DwnnW2oj.cjs.map} +1 -1
  125. package/dist/icons.cjs +1 -1
  126. package/dist/icons.js +1 -1
  127. package/dist/index.cjs +1 -1
  128. package/dist/index.js +49 -49
  129. package/dist/{input-BRAPJAUT.cjs → input-C2Vz-51i.cjs} +2 -2
  130. package/dist/{input-BRAPJAUT.cjs.map → input-C2Vz-51i.cjs.map} +1 -1
  131. package/dist/{input-VOdLPpxl.js → input-DtHPCCyd.js} +3 -3
  132. package/dist/{input-VOdLPpxl.js.map → input-DtHPCCyd.js.map} +1 -1
  133. package/dist/{input-chip-C_H0JQex.cjs → input-chip-B7ANrtLF.cjs} +2 -2
  134. package/dist/{input-chip-C_H0JQex.cjs.map → input-chip-B7ANrtLF.cjs.map} +1 -1
  135. package/dist/{input-chip-BUbIwqCC.js → input-chip-DbIvSyvP.js} +2 -2
  136. package/dist/{input-chip-BUbIwqCC.js.map → input-chip-DbIvSyvP.js.map} +1 -1
  137. package/dist/input.cjs +1 -1
  138. package/dist/input.js +1 -1
  139. package/dist/layout.cjs +1 -1
  140. package/dist/layout.js +1 -1
  141. package/dist/{list-C8_v4KDg.js → list-BBo0--_Q.js} +2 -2
  142. package/dist/{list-C8_v4KDg.js.map → list-BBo0--_Q.js.map} +1 -1
  143. package/dist/{list-CEaZjdiF.cjs → list-BH8OJ3Rv.cjs} +2 -2
  144. package/dist/{list-CEaZjdiF.cjs.map → list-BH8OJ3Rv.cjs.map} +1 -1
  145. package/dist/list.cjs +1 -1
  146. package/dist/list.js +1 -1
  147. package/dist/{litElement.mixin-DoRDzIRL.js → litElement.mixin-CzF0mNQd.js} +2 -2
  148. package/dist/{litElement.mixin-DoRDzIRL.js.map → litElement.mixin-CzF0mNQd.js.map} +1 -1
  149. package/dist/{litElement.mixin-B5rh4uVu.cjs → litElement.mixin-LplXbzd8.cjs} +2 -2
  150. package/dist/{litElement.mixin-B5rh4uVu.cjs.map → litElement.mixin-LplXbzd8.cjs.map} +1 -1
  151. package/dist/mailbox.cjs +1 -1
  152. package/dist/mailbox.js +1 -1
  153. package/dist/{map-C3Yeoy2k.cjs → map-C7lxYU4A.cjs} +2 -2
  154. package/dist/{map-C3Yeoy2k.cjs.map → map-C7lxYU4A.cjs.map} +1 -1
  155. package/dist/{map-B52PL3r0.js → map-DeiCBxMP.js} +2 -2
  156. package/dist/{map-B52PL3r0.js.map → map-DeiCBxMP.js.map} +1 -1
  157. package/dist/map.cjs +1 -1
  158. package/dist/map.js +1 -1
  159. package/dist/{media-BA6om2UW.js → media-CEnaqjig.js} +2 -2
  160. package/dist/{media-BA6om2UW.js.map → media-CEnaqjig.js.map} +1 -1
  161. package/dist/{media-BD_9tnTj.cjs → media-CsYVcfaX.cjs} +2 -2
  162. package/dist/{media-BD_9tnTj.cjs.map → media-CsYVcfaX.cjs.map} +1 -1
  163. package/dist/{menu-DrDFnTx6.cjs → menu-Boqsyfmh.cjs} +2 -2
  164. package/dist/{menu-DrDFnTx6.cjs.map → menu-Boqsyfmh.cjs.map} +1 -1
  165. package/dist/{menu-CEea7BMl.js → menu-wtkHGlyc.js} +3 -3
  166. package/dist/{menu-CEea7BMl.js.map → menu-wtkHGlyc.js.map} +1 -1
  167. package/dist/menu.cjs +1 -1
  168. package/dist/menu.js +1 -1
  169. package/dist/nav-drawer.cjs +1 -1
  170. package/dist/nav-drawer.js +1 -1
  171. package/dist/navigation-bar.cjs +1 -1
  172. package/dist/navigation-bar.js +1 -1
  173. package/dist/{navigation-rail-DXkXbVjA.js → navigation-rail-Bk9exaNK.js} +38 -35
  174. package/dist/navigation-rail-Bk9exaNK.js.map +1 -0
  175. package/dist/navigation-rail-D_dDK8C4.cjs +78 -0
  176. package/dist/navigation-rail-D_dDK8C4.cjs.map +1 -0
  177. package/dist/navigation-rail.cjs +1 -1
  178. package/dist/navigation-rail.js +1 -1
  179. package/dist/{notification-service-CyEWQHbW.cjs → notification-service-9HXSKWcw.cjs} +2 -2
  180. package/dist/{notification-service-CyEWQHbW.cjs.map → notification-service-9HXSKWcw.cjs.map} +1 -1
  181. package/dist/{notification-service-DqBkVf6m.js → notification-service-ZiGUSd63.js} +4 -4
  182. package/dist/{notification-service-DqBkVf6m.js.map → notification-service-ZiGUSd63.js.map} +1 -1
  183. package/dist/notification.cjs +1 -1
  184. package/dist/notification.js +2 -2
  185. package/dist/{notify-NEtKX0RL.js → notify-DbfX6Z2P.js} +2 -2
  186. package/dist/{notify-NEtKX0RL.js.map → notify-DbfX6Z2P.js.map} +1 -1
  187. package/dist/{notify-BY5vUPny.cjs → notify-W-NrP0cC.cjs} +2 -2
  188. package/dist/{notify-BY5vUPny.cjs.map → notify-W-NrP0cC.cjs.map} +1 -1
  189. package/dist/{option-DFl2hmMs.js → option-BFlWiCu0.js} +2 -2
  190. package/dist/{option-DFl2hmMs.js.map → option-BFlWiCu0.js.map} +1 -1
  191. package/dist/{option-D1khROkP.cjs → option-D2bxihLu.cjs} +2 -2
  192. package/dist/{option-D1khROkP.cjs.map → option-D2bxihLu.cjs.map} +1 -1
  193. package/dist/option.cjs +1 -1
  194. package/dist/option.js +1 -1
  195. package/dist/{payment-card-form-BfjoJGio.cjs → payment-card-form--v94EhJF.cjs} +2 -2
  196. package/dist/{payment-card-form-BfjoJGio.cjs.map → payment-card-form--v94EhJF.cjs.map} +1 -1
  197. package/dist/{payment-card-form-CCSZbJxc.js → payment-card-form-DLRNX9NX.js} +3 -3
  198. package/dist/{payment-card-form-CCSZbJxc.js.map → payment-card-form-DLRNX9NX.js.map} +1 -1
  199. package/dist/{progress-OHX_9Zqo.js → progress-BYohUvYO.js} +2 -2
  200. package/dist/{progress-OHX_9Zqo.js.map → progress-BYohUvYO.js.map} +1 -1
  201. package/dist/{progress-r7W9CQJI.cjs → progress-CjkD8QBy.cjs} +2 -2
  202. package/dist/{progress-r7W9CQJI.cjs.map → progress-CjkD8QBy.cjs.map} +1 -1
  203. package/dist/progress.cjs +1 -1
  204. package/dist/progress.js +1 -1
  205. package/dist/{radio-button-DLp0fILu.js → radio-button-BlxeCjdq.js} +3 -3
  206. package/dist/{radio-button-DLp0fILu.js.map → radio-button-BlxeCjdq.js.map} +1 -1
  207. package/dist/{radio-button-DwZgAqa8.cjs → radio-button-CGmGOAil.cjs} +2 -2
  208. package/dist/{radio-button-DwZgAqa8.cjs.map → radio-button-CGmGOAil.cjs.map} +1 -1
  209. package/dist/radio-group.cjs +1 -1
  210. package/dist/radio-group.js +1 -1
  211. package/dist/{schmancy-steps-container-CuX8ZAa0.js → schmancy-steps-container-BtAHCm73.js} +2 -2
  212. package/dist/{schmancy-steps-container-CuX8ZAa0.js.map → schmancy-steps-container-BtAHCm73.js.map} +1 -1
  213. package/dist/{schmancy-steps-container-DaZwcLIB.cjs → schmancy-steps-container-CydL78yk.cjs} +2 -2
  214. package/dist/{schmancy-steps-container-DaZwcLIB.cjs.map → schmancy-steps-container-CydL78yk.cjs.map} +1 -1
  215. package/dist/{select-DyRi8BWH.js → select-BiN334GN.js} +3 -3
  216. package/dist/{select-DyRi8BWH.js.map → select-BiN334GN.js.map} +1 -1
  217. package/dist/{select-B5oZLCDK.cjs → select-CrB02cIO.cjs} +2 -2
  218. package/dist/{select-B5oZLCDK.cjs.map → select-CrB02cIO.cjs.map} +1 -1
  219. package/dist/select.cjs +1 -1
  220. package/dist/select.js +1 -1
  221. package/dist/{sheet-BfxIprgt.js → sheet-DpJv4DRi.js} +3 -3
  222. package/dist/{sheet-BfxIprgt.js.map → sheet-DpJv4DRi.js.map} +1 -1
  223. package/dist/{sheet-DyaN9dzC.cjs → sheet-sgVoRMi1.cjs} +2 -2
  224. package/dist/{sheet-DyaN9dzC.cjs.map → sheet-sgVoRMi1.cjs.map} +1 -1
  225. package/dist/sheet.cjs +1 -1
  226. package/dist/sheet.js +1 -1
  227. package/dist/{slider-BRdqclIS.js → slider-D7qdxfvX.js} +3 -3
  228. package/dist/{slider-BRdqclIS.js.map → slider-D7qdxfvX.js.map} +1 -1
  229. package/dist/{slider-BUvYHxGq.cjs → slider-Dd1L6oYm.cjs} +2 -2
  230. package/dist/{slider-BUvYHxGq.cjs.map → slider-Dd1L6oYm.cjs.map} +1 -1
  231. package/dist/slider.cjs +1 -1
  232. package/dist/slider.js +1 -1
  233. package/dist/{spinner-DI4qeFtu.cjs → spinner-CaXU45TV.cjs} +2 -2
  234. package/dist/{spinner-DI4qeFtu.cjs.map → spinner-CaXU45TV.cjs.map} +1 -1
  235. package/dist/{spinner-qRG2AXua.js → spinner-XN4W5ihQ.js} +2 -2
  236. package/dist/{spinner-qRG2AXua.js.map → spinner-XN4W5ihQ.js.map} +1 -1
  237. package/dist/steps.cjs +1 -1
  238. package/dist/steps.js +1 -1
  239. package/dist/{suggestion-chip-BOPJFNaU.js → suggestion-chip-CdhoATv9.js} +3 -3
  240. package/dist/{suggestion-chip-BOPJFNaU.js.map → suggestion-chip-CdhoATv9.js.map} +1 -1
  241. package/dist/{suggestion-chip-CewZEGEm.cjs → suggestion-chip-PI24Hc3s.cjs} +2 -2
  242. package/dist/{suggestion-chip-CewZEGEm.cjs.map → suggestion-chip-PI24Hc3s.cjs.map} +1 -1
  243. package/dist/{surface-CMKGhXy9.cjs → surface-Ax6I7ldp.cjs} +2 -2
  244. package/dist/{surface-CMKGhXy9.cjs.map → surface-Ax6I7ldp.cjs.map} +1 -1
  245. package/dist/{surface-BHNcyN0i.js → surface-CKrYJ58l.js} +2 -2
  246. package/dist/{surface-BHNcyN0i.js.map → surface-CKrYJ58l.js.map} +1 -1
  247. package/dist/surface.cjs +1 -1
  248. package/dist/surface.js +1 -1
  249. package/dist/{table-D7ZzeyIM.cjs → table-BlwUyf_4.cjs} +2 -2
  250. package/dist/{table-D7ZzeyIM.cjs.map → table-BlwUyf_4.cjs.map} +1 -1
  251. package/dist/{table-DEMFtKAY.js → table-CP6_NkPm.js} +2 -2
  252. package/dist/{table-DEMFtKAY.js.map → table-CP6_NkPm.js.map} +1 -1
  253. package/dist/table.cjs +1 -1
  254. package/dist/table.js +1 -1
  255. package/dist/{tabs-compatibility-C2OQ3M8E.js → tabs-compatibility-7QKuXX4i.js} +2 -2
  256. package/dist/{tabs-compatibility-C2OQ3M8E.js.map → tabs-compatibility-7QKuXX4i.js.map} +1 -1
  257. package/dist/{tabs-compatibility-CkuuDYq6.cjs → tabs-compatibility-CX0cIu_Y.cjs} +2 -2
  258. package/dist/{tabs-compatibility-CkuuDYq6.cjs.map → tabs-compatibility-CX0cIu_Y.cjs.map} +1 -1
  259. package/dist/tabs.cjs +1 -1
  260. package/dist/tabs.js +1 -1
  261. package/dist/{tailwind.mixin-aXPxZ4u1.js → tailwind.mixin-BjDGMGbj.js} +2 -2
  262. package/dist/{tailwind.mixin-aXPxZ4u1.js.map → tailwind.mixin-BjDGMGbj.js.map} +1 -1
  263. package/dist/{tailwind.mixin-Cl1ei_QC.cjs → tailwind.mixin-ClfV2_Nh.cjs} +2 -2
  264. package/dist/{tailwind.mixin-Cl1ei_QC.cjs.map → tailwind.mixin-ClfV2_Nh.cjs.map} +1 -1
  265. package/dist/teleport.cjs +1 -1
  266. package/dist/teleport.js +1 -1
  267. package/dist/{textarea-BDJ5Bl9z.js → textarea-DHrDn-O6.js} +2 -2
  268. package/dist/{textarea-BDJ5Bl9z.js.map → textarea-DHrDn-O6.js.map} +1 -1
  269. package/dist/{textarea-OpqKrDC2.cjs → textarea-qLA0vP78.cjs} +2 -2
  270. package/dist/{textarea-OpqKrDC2.cjs.map → textarea-qLA0vP78.cjs.map} +1 -1
  271. package/dist/textarea.cjs +1 -1
  272. package/dist/textarea.js +1 -1
  273. package/dist/{theme-button-CeyWiEsC.js → theme-button-BEUsbH5m.js} +2 -2
  274. package/dist/{theme-button-CeyWiEsC.js.map → theme-button-BEUsbH5m.js.map} +1 -1
  275. package/dist/{theme-button-l-774Q66.cjs → theme-button-D7fBEUGf.cjs} +2 -2
  276. package/dist/{theme-button-l-774Q66.cjs.map → theme-button-D7fBEUGf.cjs.map} +1 -1
  277. package/dist/theme-button.cjs +1 -1
  278. package/dist/theme-button.js +1 -1
  279. package/dist/theme.cjs +1 -1
  280. package/dist/{theme.component-kC2-nKWb.js → theme.component-ByGua01V.js} +2 -2
  281. package/dist/{theme.component-kC2-nKWb.js.map → theme.component-ByGua01V.js.map} +1 -1
  282. package/dist/{theme.component-6OGegALA.cjs → theme.component-CQ1trrZB.cjs} +2 -2
  283. package/dist/{theme.component-6OGegALA.cjs.map → theme.component-CQ1trrZB.cjs.map} +1 -1
  284. package/dist/theme.js +1 -1
  285. package/dist/{timezone-C5gYY5nk.js → timezone-BpDMR26D.js} +3 -3
  286. package/dist/{timezone-C5gYY5nk.js.map → timezone-BpDMR26D.js.map} +1 -1
  287. package/dist/{timezone-CjqQI1Zv.cjs → timezone-Bw4EXBt7.cjs} +2 -2
  288. package/dist/{timezone-CjqQI1Zv.cjs.map → timezone-Bw4EXBt7.cjs.map} +1 -1
  289. package/dist/{tooltip-Bokwyu-C.js → tooltip-B1jynZOH.js} +2 -2
  290. package/dist/{tooltip-Bokwyu-C.js.map → tooltip-B1jynZOH.js.map} +1 -1
  291. package/dist/{tooltip-1yGHd5xQ.cjs → tooltip-Dhs4HL3A.cjs} +2 -2
  292. package/dist/{tooltip-1yGHd5xQ.cjs.map → tooltip-Dhs4HL3A.cjs.map} +1 -1
  293. package/dist/tooltip.cjs +1 -1
  294. package/dist/tooltip.js +1 -1
  295. package/dist/{tree-D2lI6L0_.js → tree-BH1qCJ_U.js} +2 -2
  296. package/dist/{tree-D2lI6L0_.js.map → tree-BH1qCJ_U.js.map} +1 -1
  297. package/dist/{tree-BDbOo50a.cjs → tree-D-ezei_U.cjs} +2 -2
  298. package/dist/{tree-BDbOo50a.cjs.map → tree-D-ezei_U.cjs.map} +1 -1
  299. package/dist/tree.cjs +1 -1
  300. package/dist/tree.js +1 -1
  301. package/dist/{typewriter-D2drP3I1.cjs → typewriter-CtPh4Pyj.cjs} +2 -2
  302. package/dist/{typewriter-D2drP3I1.cjs.map → typewriter-CtPh4Pyj.cjs.map} +1 -1
  303. package/dist/{typewriter-DD8kULHa.js → typewriter-DQbpNPtY.js} +4 -4
  304. package/dist/{typewriter-DD8kULHa.js.map → typewriter-DQbpNPtY.js.map} +1 -1
  305. package/dist/typewriter.cjs +1 -1
  306. package/dist/typewriter.js +1 -1
  307. package/dist/{typography-8QBiYHJk.cjs → typography-BrIaOYmC.cjs} +2 -2
  308. package/dist/{typography-8QBiYHJk.cjs.map → typography-BrIaOYmC.cjs.map} +1 -1
  309. package/dist/{typography-BV4Woaby.js → typography-D71cmr0R.js} +2 -2
  310. package/dist/{typography-BV4Woaby.js.map → typography-D71cmr0R.js.map} +1 -1
  311. package/dist/typography.cjs +1 -1
  312. package/dist/typography.js +1 -1
  313. package/package.json +1 -1
  314. package/types/src/layout/scroll/scroll.d.ts +5 -0
  315. package/types/src/navigation-rail/navigation-rail.d.ts +17 -2
  316. package/dist/details-Cm3ED4Vm.cjs.map +0 -1
  317. package/dist/details-l1JAXK6t.js.map +0 -1
  318. package/dist/flex-Cg9hjIiF.cjs +0 -36
  319. package/dist/flex-Cg9hjIiF.cjs.map +0 -1
  320. package/dist/flex-Dn29XhdY.js.map +0 -1
  321. package/dist/navigation-rail-DXkXbVjA.js.map +0 -1
  322. package/dist/navigation-rail-gzA0tvsL.cjs +0 -78
  323. package/dist/navigation-rail-gzA0tvsL.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"details-l1JAXK6t.js","sources":["../src/details/details.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\r\nimport { css, html, LitElement } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { BehaviorSubject } from 'rxjs'\r\n\r\n@customElement('schmancy-details')\r\nexport default class SchmancyDetails extends TailwindElement(css`\r\n\t:host {\r\n\t\tdisplay: block;\r\n\t\tposition: relative;\r\n\t}\r\n\r\n\t/* Hide browser default marker */\r\n\tsummary::-webkit-details-marker {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\tsummary {\r\n\t\tlist-style: none;\r\n\t}\r\n\r\n\t/* Container border-radius following M3 spec */\r\n\tdetails {\r\n\t\t/* M3 medium shape for expandable components */\r\n\t\tborder-radius: var(--schmancy-sys-shape-corner-medium);\r\n\t\ttransition: all var(--schmancy-sys-motion-duration-short4) var(--schmancy-sys-motion-easing-standard);\r\n\t}\r\n\r\n\t/* Variant-specific styles */\r\n\t:host([variant='outlined']) details {\r\n\t\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\r\n\t}\r\n\r\n\t:host([variant='filled']) details {\r\n\t\t/* M3: container surface */\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\r\n\t}\r\n\r\n\t:host([variant='elevated']) details {\r\n\t\t/* M3: containerLow when closed */\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\r\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\r\n\t}\r\n\r\n\t:host([variant='elevated']) details[open] {\r\n\t\t/* M3: elevated state increases elevation and changes surface */\r\n\t\tbox-shadow: var(--schmancy-sys-elevation-2);\r\n\t\tbackground-color: var(--schmancy-sys-color-surface-container);\r\n\t}\r\n\r\n\t/* Animation keyframes */\r\n\t@keyframes slideDown {\r\n\t\tfrom { opacity: 0; transform: translateY(-8px); }\r\n\t\tto { opacity: 1; transform: translateY(0); }\r\n\t}\r\n\r\n\t@keyframes ripple {\r\n\t\tto { transform: scale(4); opacity: 0; }\r\n\t}\r\n\r\n\t.content-wrapper[data-open='true'] {\r\n\t\tanimation: slideDown var(--schmancy-sys-motion-duration-medium1) var(--schmancy-sys-motion-easing-emphasized-decelerate);\r\n\t}\r\n\r\n\t/* Focus ring following M3 spec */\r\n\tsummary:focus-visible {\r\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\r\n\t\toutline-offset: 2px;\r\n\t\tborder-radius: var(--schmancy-sys-shape-corner-medium);\r\n\t}\r\n\r\n\t/* Icon rotation transition with M3 motion */\r\n\t.icon-rotate {\r\n\t\ttransform: rotate(90deg);\r\n\t}\r\n`) {\r\n\tprotected static shadowRootOptions = {\r\n\t\t...LitElement.shadowRootOptions,\r\n\t\tmode: 'open' as const,\r\n\t\tdelegatesFocus: true,\r\n\t}\r\n\r\n\t@property() summary = ''\r\n\t@property({ type: Boolean, reflect: true })\r\n\tget open() {\r\n\t\treturn this._open$.value\r\n\t}\r\n\tset open(value: boolean) {\r\n\t\tif (this._open$.value !== value) {\r\n\t\t\tthis._open$.next(value)\r\n\t\t}\r\n\t}\r\n\t@property({ reflect: true }) variant: 'default' | 'outlined' | 'filled' | 'elevated' = 'default'\r\n\r\n\t// Internal state for ripple effects\r\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\r\n\t@state() private pressed = false\r\n\r\n\tprivate nextRippleId = 0\r\n\tprivate _open$ = new BehaviorSubject<boolean>(false)\r\n\r\n\trender() {\r\n\t\tconst isOpen = this._open$.value\r\n\r\n\t\t// Dynamic state layer opacity\r\n\t\tconst stateLayerOpacity = this.pressed\r\n\t\t\t? 'opacity-[var(--schmancy-sys-state-pressed-opacity)]'\r\n\t\t\t: this.variant === 'default'\r\n\t\t\t\t? 'opacity-0 hover:opacity-[var(--schmancy-sys-state-hover-opacity)]'\r\n\t\t\t\t: 'opacity-0 hover:opacity-[0.04]'\r\n\r\n\t\t// Dynamic icon rotation class\r\n\t\tconst iconClasses = this.classMap({\r\n\t\t\t'flex items-center justify-center w-6 h-6 rounded-full flex-shrink-0': true,\r\n\t\t\t'text-surface-onVariant group-hover:text-surface-on': true,\r\n\t\t\t'transition-all duration-200': true,\r\n\t\t\t'icon-rotate': isOpen\r\n\t\t})\r\n\r\n\t\treturn html`\r\n\t\t\t<details\r\n\t\t\t\t?open=${isOpen}\r\n\t\t\t\t@toggle=${this._handleToggle}\r\n\t\t\t\tclass=\"w-full overflow-hidden\"\r\n\t\t\t>\r\n\t\t\t\t<summary\r\n\t\t\t\t\tclass=\"cursor-pointer select-none relative flex items-center gap-3 min-h-[48px] sm:min-h-[56px] px-4 sm:px-6 py-3 sm:py-4 rounded-xl transition-colors duration-200 text-surface-on group\"\r\n\t\t\t\t\t@click=${this._handleClick}\r\n\t\t\t\t\t@mousedown=${this._handleMouseDown}\r\n\t\t\t\t\t@mouseup=${this._handleMouseUp}\r\n\t\t\t\t\t@mouseleave=${this._handleMouseLeave}\r\n\t\t\t\t\t@keydown=${this._handleKeyDown}\r\n\t\t\t\t\t@keyup=${this._handleKeyUp}\r\n\t\t\t\t\ttabindex=\"0\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<!-- State layer for hover/focus/pressed states -->\r\n\t\t\t\t\t<div class=\"absolute inset-0 rounded-xl pointer-events-none transition-opacity duration-200 bg-surface-on ${stateLayerOpacity}\"></div>\r\n\r\n\t\t\t\t\t<!-- Ripple container -->\r\n\t\t\t\t\t<div class=\"absolute inset-0 rounded-xl overflow-hidden pointer-events-none\">\r\n\t\t\t\t\t\t${this.ripples.map(\r\n\t\t\t\t\t\t\tripple => html`\r\n\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\tclass=\"absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-[0.12] pointer-events-none\"\r\n\t\t\t\t\t\t\t\t\tstyle=\"\r\n\t\t\t\t\t\t\t\t\t\tleft: ${ripple.x}px;\r\n\t\t\t\t\t\t\t\t\t\ttop: ${ripple.y}px;\r\n\t\t\t\t\t\t\t\t\t\twidth: 20px;\r\n\t\t\t\t\t\t\t\t\t\theight: 20px;\r\n\t\t\t\t\t\t\t\t\t\tmargin-left: -10px;\r\n\t\t\t\t\t\t\t\t\t\tmargin-top: -10px;\r\n\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t></span>\r\n\t\t\t\t\t\t\t`,\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<!-- Summary content -->\r\n\t\t\t\t\t<span class=\"relative flex-1 font-medium text-base sm:text-lg z-10\">\r\n\t\t\t\t\t\t<slot name=\"summary\">${this.summary}</slot>\r\n\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t<!-- Expand/collapse icon -->\r\n\t\t\t\t\t<span class=${iconClasses}>\r\n\t\t\t\t\t\t<svg\r\n\t\t\t\t\t\t\twidth=\"24\"\r\n\t\t\t\t\t\t\theight=\"24\"\r\n\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\r\n\t\t\t\t\t\t\tfill=\"none\"\r\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\t\t\t\t\tclass=\"w-5 h-5 sm:w-6 sm:h-6\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<path\r\n\t\t\t\t\t\t\t\td=\"M9 6L15 12L9 18\"\r\n\t\t\t\t\t\t\t\tstroke=\"currentColor\"\r\n\t\t\t\t\t\t\t\tstroke-width=\"2\"\r\n\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\r\n\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</summary>\r\n\r\n\t\t\t\t<!-- Content area -->\r\n\t\t\t\t${isOpen ? html`\r\n\t\t\t\t\t<div class=\"px-4 sm:px-6 pb-3 sm:pb-4 text-surface-onVariant text-sm sm:text-base\">\r\n\t\t\t\t\t\t<div class=\"content-wrapper\" data-open=\"true\">\r\n\t\t\t\t\t\t\t<slot></slot>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t` : ''}\r\n\t\t\t</details>\r\n\t\t`\r\n\t}\r\n\r\n\tprivate _handleToggle(e: Event) {\r\n\t\tconst details = e.target as HTMLDetailsElement\r\n\t\tthis._open$.next(details.open)\r\n\t\tthis._dispatchToggleEvent(details.open)\r\n\t}\r\n\r\n\tprivate _toggleOpen(x: number, y: number) {\r\n\t\t// Add ripple effect\r\n\t\tconst id = this.nextRippleId++\r\n\t\tthis.ripples = [...this.ripples, { x, y, id }]\r\n\r\n\t\t// Remove ripple after animation\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\r\n\t\t}, 600)\r\n\r\n\t\t// Toggle state\r\n\t\tconst newState = !this._open$.value\r\n\t\tthis._open$.next(newState)\r\n\t\tthis._dispatchToggleEvent(newState)\r\n\t}\r\n\r\n\tprivate _dispatchToggleEvent(open: boolean) {\r\n\t\tthis.dispatchEvent(\r\n\t\t\tnew CustomEvent('toggle', {\r\n\t\t\t\tdetail: { open },\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tcomposed: true,\r\n\t\t\t})\r\n\t\t)\r\n\t}\r\n\r\n\tprivate _handleClick(e: MouseEvent) {\r\n\t\te.preventDefault()\r\n\t\tconst rect = (e.currentTarget as HTMLElement).getBoundingClientRect()\r\n\t\tthis._toggleOpen(e.clientX - rect.left, e.clientY - rect.top)\r\n\t}\r\n\r\n\tprivate _handleKeyDown(e: KeyboardEvent) {\r\n\t\tif (e.key === 'Enter' || e.key === ' ') {\r\n\t\t\te.preventDefault()\r\n\t\t\tthis.pressed = true\r\n\t\t\tconst rect = (e.currentTarget as HTMLElement).getBoundingClientRect()\r\n\t\t\tthis._toggleOpen(rect.width / 2, rect.height / 2)\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _handleKeyUp(e: KeyboardEvent) {\r\n\t\tif (e.key === 'Enter' || e.key === ' ') {\r\n\t\t\tthis.pressed = false\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _handleMouseDown() {\r\n\t\tthis.pressed = true\r\n\t}\r\n\r\n\tprivate _handleMouseUp() {\r\n\t\tthis.pressed = false\r\n\t}\r\n\r\n\tprivate _handleMouseLeave() {\r\n\t\tthis.pressed = false\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-details': SchmancyDetails\r\n\t}\r\n}\r\n"],"names":["SchmancyDetails","TailwindElement","css","constructor","super","arguments","this","summary","variant","ripples","pressed","nextRippleId","_open$","BehaviorSubject","open","value","next","render","isOpen","stateLayerOpacity","iconClasses","classMap","html","_handleToggle","_handleClick","_handleMouseDown","_handleMouseUp","_handleMouseLeave","_handleKeyDown","_handleKeyUp","map","ripple","x","y","e","details","target","_dispatchToggleEvent","id","setTimeout","filter","r","newState","dispatchEvent","CustomEvent","detail","bubbles","composed","preventDefault","rect","currentTarget","getBoundingClientRect","_toggleOpen","clientX","left","clientY","top","key","width","height","shadowRootOptions","LitElement","mode","delegatesFocus","__decorateClass","property","prototype","type","Boolean","reflect","state","customElement"],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- "use strict";const d=require("lit"),t=require("lit/decorators.js"),m=require("lit/directives/class-map.js"),w=require("lit/directives/style-map.js"),c=require("rxjs"),b=require("./tailwind.mixin-Cl1ei_QC.cjs");var S=Object.defineProperty,i=(e,o,l,p)=>{for(var n,s=void 0,y=e.length-1;y>=0;y--)(n=e[y])&&(s=n(o,l,s)||s);return s&&S(o,l,s),s};const u=class u extends b.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"))}};u.styles=[u.styles];let r=u;i([t.property({type:Boolean})],r.prototype,"center"),i([t.property({type:String})],r.prototype,"padding"),i([t.property({type:String})],r.prototype,"margin"),i([t.property({type:String})],r.prototype,"width"),i([t.property({type:String})],r.prototype,"height"),i([t.property({type:String})],r.prototype,"minWidth"),i([t.property({type:String})],r.prototype,"minHeight"),i([t.property({type:String})],r.prototype,"maxWidth"),i([t.property({type:String})],r.prototype,"maxHeight"),i([t.property({type:String})],r.prototype,"display"),i([t.property({type:String})],r.prototype,"overflow"),i([t.property({type:String})],r.prototype,"overflowX"),i([t.property({type:String})],r.prototype,"overflowY"),i([t.property({type:String})],r.prototype,"position"),i([t.property({type:String})],r.prototype,"top"),i([t.property({type:String})],r.prototype,"right"),i([t.property({type:String})],r.prototype,"bottom"),i([t.property({type:String})],r.prototype,"left"),i([t.property({type:String})],r.prototype,"inset"),i([t.property({type:String})],r.prototype,"zIndex"),i([t.property({type:String})],r.prototype,"border"),i([t.property({type:String})],r.prototype,"borderTop"),i([t.property({type:String})],r.prototype,"borderRight"),i([t.property({type:String})],r.prototype,"borderBottom"),i([t.property({type:String})],r.prototype,"borderLeft"),i([t.property({type:String})],r.prototype,"borderColor"),i([t.property({type:String})],r.prototype,"borderRadius"),i([t.property({type:String})],r.prototype,"borderWidth"),i([t.property({type:String})],r.prototype,"boxShadow"),i([t.property({type:String})],r.prototype,"opacity"),i([t.property({type:String})],r.prototype,"background"),i([t.property({type:String})],r.prototype,"backgroundImage"),i([t.property({type:String})],r.prototype,"backgroundPosition"),i([t.property({type:String})],r.prototype,"backgroundSize"),i([t.property({type:String})],r.prototype,"backgroundRepeat"),i([t.property({type:String})],r.prototype,"backgroundAttachment"),i([t.property({type:String})],r.prototype,"backgroundColor"),i([t.property({type:String})],r.prototype,"backgroundClip"),i([t.property({type:String})],r.prototype,"backgroundOrigin"),i([t.property({type:String})],r.prototype,"backgroundBlendMode"),i([t.property({type:String})],r.prototype,"filter"),i([t.property({type:String})],r.prototype,"backdropFilter");var x=Object.defineProperty,v=Object.getOwnPropertyDescriptor,g=(e,o,l,p)=>{for(var n,s=p>1?void 0:p?v(o,l):o,y=e.length-1;y>=0;y--)(n=e[y])&&(s=(p?n(o,l,s):n(s))||s);return p&&s&&x(o,l,s),s};exports.SchmancyFlex=class extends r{constructor(){super(...arguments),this.layout=!0,this.flow="col",this.wrap="wrap",this.align="start",this.justify="start",this.gap="none"}render(){const e={flex:!0,"flex-col":this.flow==="row","flex-col-reverse":this.flow==="row-reverse","flex-row":this.flow==="col","flex-row-reverse":this.flow==="col-reverse","flex-wrap":this.wrap==="wrap","flex-wrap-reverse":this.wrap==="wrap-reverse","flex-nowrap":this.wrap==="nowrap","items-start":this.align==="start","items-center":this.align==="center","items-end":this.align==="end","items-stretch":this.align==="stretch","justify-baseline":this.align==="baseline","justify-center":this.justify==="center","justify-end":this.justify==="end","justify-start":this.justify==="start","justify-stretch":this.justify==="stretch","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
- <section class=${m.classMap(e)} style=${w.styleMap({})}>
3
- <slot></slot>
4
- </section>
5
- `}},exports.SchmancyFlex.styles=[r.styles,d.unsafeCSS(":host{display:block;background-color:inherit}")],g([t.property({type:String,reflect:!0})],exports.SchmancyFlex.prototype,"flow",2),g([t.property({type:String,reflect:!0})],exports.SchmancyFlex.prototype,"wrap",2),g([t.property({type:String,reflect:!0})],exports.SchmancyFlex.prototype,"align",2),g([t.property({type:String,reflect:!0})],exports.SchmancyFlex.prototype,"justify",2),g([t.property({type:String,reflect:!0})],exports.SchmancyFlex.prototype,"gap",2),exports.SchmancyFlex=g([t.customElement("schmancy-flex")],exports.SchmancyFlex);var k=Object.defineProperty,P=Object.getOwnPropertyDescriptor,a=(e,o,l,p)=>{for(var n,s=p>1?void 0:p?P(o,l):o,y=e.length-1;y>=0;y--)(n=e[y])&&(s=(p?n(o,l,s):n(s))||s);return p&&s&&k(o,l,s),s};exports.SchmancyGrid=class extends r{constructor(){super(...arguments),this.layout=!0,this.flow="row",this.align="stretch",this.justify="stretch",this.content="stretch",this.gap="none",this.wrap=!1}firstUpdated(){this.rcols&&c.fromEvent(window,"resize").pipe(c.map(e=>e.target),c.startWith(1),c.map(()=>this.clientWidth?this.clientWidth:window.innerWidth),c.distinctUntilChanged(),c.takeUntil(this.disconnecting),c.debounceTime(10),c.map(e=>{let o;return this.rcols?.["2xl"]&&e>=1536?o=this.rcols?.["2xl"]:this.rcols?.xl&&e>=1280?o=this.rcols?.xl:this.rcols?.lg&&e>=1024?o=this.rcols?.lg:this.rcols?.md&&e>=768?o=this.rcols?.md:this.rcols?.sm&&e>=640?o=this.rcols?.sm:this.rcols?.xs&&e<640&&(o=this.rcols?.xs),o})).subscribe(e=>{this.cols=e})}render(){const e={"h-full":!0,"grid flex-1":!0,"grid-flow-row auto-rows-max":this.flow==="row","grid-flow-col auto-cols-max":this.flow==="col","grid-flow-row-dense":this.flow==="row-dense","grid-flow-col-dense":this.flow==="col-dense","grid-flow-dense":this.flow==="dense","justify-center":this.content==="center","justify-end":this.content==="end","justify-start":this.content==="start","justify-stretch":this.content==="stretch","justify-between":this.content==="between","justify-around":this.content==="around","justify-evenly":this.content==="evenly","justify-items-center":this.justify==="center","justify-items-end":this.justify==="end","justify-items-start":this.justify==="start","justify-items-stretch":this.justify==="stretch","items-center":this.align==="center","items-end":this.align==="end","items-start":this.align==="start","items-stretch":this.align==="stretch","items-baseline":this.align==="baseline","gap-0":this.gap==="none","gap-1":this.gap==="xs","gap-2":this.gap==="sm","gap-4":this.gap==="md","gap-8":this.gap==="lg","flex-nowrap":this.wrap,"flex-wrap":!this.wrap},o={gridTemplateRows:this.rows?this.rows:void 0,gridTemplateColumns:this.cols?this.cols:void 0};return d.html`
6
- <section class="${this.classMap(e)}" style=${this.styleMap(o)}>
7
- <slot> </slot>
8
- </section>
9
- `}},exports.SchmancyGrid.styles=[r.styles,d.unsafeCSS(":host{height:max-content;width:-webkit-fill-available;display:block}")],a([t.property({type:String})],exports.SchmancyGrid.prototype,"flow",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"align",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"justify",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"content",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"gap",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"cols",2),a([t.property({type:String})],exports.SchmancyGrid.prototype,"rows",2),a([t.property({type:Object})],exports.SchmancyGrid.prototype,"rcols",2),a([t.property({type:Boolean})],exports.SchmancyGrid.prototype,"wrap",2),a([t.queryAssignedElements()],exports.SchmancyGrid.prototype,"assignedElements",2),exports.SchmancyGrid=a([t.customElement("schmancy-grid")],exports.SchmancyGrid);var j=Object.defineProperty,F=Object.getOwnPropertyDescriptor,f=(e,o,l,p)=>{for(var n,s=p>1?void 0:p?F(o,l):o,y=e.length-1;y>=0;y--)(n=e[y])&&(s=(p?n(o,l,s):n(s))||s);return p&&s&&j(o,l,s),s};exports.SchmancyScroll=class extends b.TailwindElement(d.css`
10
- :host {
11
- height: 100%;
12
- width: 100%;
13
- box-sizing: border-box; /* Ensures proper sizing */
14
- display: block;
15
- position: relative;
16
- inset: 0px;
17
- scroll-behavior: smooth;
18
- overscroll-behavior: contain;
19
- }
20
- :host([hide]) {
21
- -ms-overflow-style: none; /* IE and Edge */
22
- scrollbar-width: none; /* Firefox */
23
- }
24
- :host([hide])::-webkit-scrollbar {
25
- display: none; /* Chrome, Safari, and Opera */
26
- }
27
- `){constructor(){super(...arguments),this.hide=!1,this.direction="both",this.debounce=10}get scroller(){return this}scrollTo(e,o){this.scroller&&(typeof e=="number"?this.scroller.scrollTo({top:e,behavior:o?"smooth":"auto"}):e?this.scroller.scrollTo(e):this.scroller.scrollTo({top:0,left:0,behavior:"auto"}))}scrollToLeft(e,o="auto"){this.scroller&&this.scroller.scrollTo({left:e,behavior:o})}connectedCallback(){super.connectedCallback(),this.updateScrollingStyles(),this.setAttribute("part","scroller")}updateScrollingStyles(){this.direction==="horizontal"?(this.style.setProperty("overflow-y","hidden"),this.style.setProperty("overflow-x","auto")):this.direction==="vertical"?(this.style.setProperty("overflow-y","auto"),this.style.setProperty("overflow-x","hidden")):(this.style.setProperty("overflow-y","auto"),this.style.setProperty("overflow-x","auto"))}updated(e){super.updated(e),e.has("direction")&&this.updateScrollingStyles()}firstUpdated(){c.fromEvent(this.scroller,"scroll",{passive:!0}).pipe(c.debounceTime(this.debounce),c.takeUntil(this.disconnecting)).subscribe(e=>{const o=this.scroller.scrollTop,l=this.scroller.scrollHeight,p=this.scroller.clientHeight,n=this.scroller.scrollLeft,s=this.scroller.scrollWidth,y=this.scroller.clientWidth;this.dispatchEvent(new CustomEvent("scroll",{detail:{scrollTop:o,scrollHeight:l,clientHeight:p,e,scrollLeft:n,scrollWidth:s,clientWidth:y},bubbles:!0,composed:!0}))}),c.fromEvent(window,"@schmancy:scrollTo").pipe(c.filter(e=>this.name!==void 0&&e.detail.name===this.name),c.takeUntil(this.disconnecting)).subscribe(e=>{if(e.detail.action==="scrollTo"&&typeof e.detail.top=="number"){const o={behavior:"smooth",top:e.detail.top};typeof e.detail.left=="number"&&(o.left=e.detail.left),this.scrollTo(o)}})}render(){return d.html`<slot></slot>`}},f([t.property({type:Boolean,reflect:!0})],exports.SchmancyScroll.prototype,"hide",2),f([t.property({type:String,reflect:!0})],exports.SchmancyScroll.prototype,"name",2),f([t.property({type:String,reflect:!0})],exports.SchmancyScroll.prototype,"direction",2),f([t.property({type:Number})],exports.SchmancyScroll.prototype,"debounce",2),exports.SchmancyScroll=f([t.customElement("schmancy-scroll")],exports.SchmancyScroll);var T=Object.defineProperty,O=Object.getOwnPropertyDescriptor,h=(e,o,l,p)=>{for(var n,s=p>1?void 0:p?O(o,l):o,y=e.length-1;y>=0;y--)(n=e[y])&&(s=(p?n(o,l,s):n(s))||s);return p&&s&&T(o,l,s),s};exports.SchmancyFlexV2=class extends r{constructor(){super(...arguments),this.inline=!1,this.flow="row",this.wrap="wrap",this.align="stretch",this.justify="start",this.gap="none"}render(){const e=this.inline?"inline-flex":"flex";let o="";switch(this.flow){case"row":case"row-dense":default:o="flex-row";break;case"row-reverse":o="flex-row-reverse";break;case"col":case"col-dense":o="flex-col";break;case"col-reverse":o="flex-col-reverse"}let l="";switch(this.flow==="row-dense"||this.flow==="col-dense"?"wrap":this.wrap){case"wrap":default:l="flex-wrap";break;case"nowrap":l="flex-nowrap";break;case"wrap-reverse":l="flex-wrap-reverse"}let p="";switch(this.align){case"start":p="items-start";break;case"center":p="items-center";break;case"end":p="items-end";break;case"stretch":default:p="items-stretch";break;case"baseline":p="items-baseline"}let n="";switch(this.justify){case"start":default:n="justify-start";break;case"center":n="justify-center";break;case"end":n="justify-end";break;case"between":n="justify-between";break;case"around":n="justify-around";break;case"evenly":n="justify-evenly"}let s="";if(this.content)switch(this.content){case"start":s="content-start";break;case"center":s="content-center";break;case"end":s="content-end";break;case"between":s="content-between";break;case"around":s="content-around";break;case"evenly":s="content-evenly"}const y=[e,o,l,p,n,s,this.gap==="none"?"gap-0":`gap-${this.gap}`].filter(Boolean).join(" ");return d.html`
28
- <section class=${y}>
29
- <slot></slot>
30
- </section>
31
- `}},exports.SchmancyFlexV2.styles=[r.styles,d.css`
32
- :host {
33
- display: block;
34
- }
35
- `],h([t.property({type:Boolean,reflect:!0})],exports.SchmancyFlexV2.prototype,"inline",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"flow",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"wrap",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"align",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"justify",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"content",2),h([t.property({type:String,reflect:!0})],exports.SchmancyFlexV2.prototype,"gap",2),exports.SchmancyFlexV2=h([t.customElement("sch-flex")],exports.SchmancyFlexV2);
36
- //# sourceMappingURL=flex-Cg9hjIiF.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flex-Cg9hjIiF.cjs","sources":["../src/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts","../src/layout/v2/flex.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\n/**\n * @deprecated Use Tailwind CSS utility classes directly on HTML elements instead of this base class.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Use inline styles or Tailwind utility classes for layout properties\n * - Replace properties like padding, margin, width, etc. with their CSS equivalents\n * \n * @class Layout\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 { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout'\nimport style from './flex.scss?inline'\n\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * @element schmancy-flex\n */\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String, reflect: true }) flow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\t@property({ type: String, reflect: true }) wrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\t@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\t@property({ type: String, reflect: true }) justify: 'start' | 'center' | 'end' | 'stretch' | 'between' = 'start'\n\t@property({ type: String, reflect: true }) gap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\tconst classes = {\n\t\t\tflex: true,\n\t\t\t// Direction\n\t\t\t'flex-col': this.flow === 'row',\n\t\t\t'flex-col-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-row': this.flow === 'col',\n\t\t\t'flex-row-reverse': this.flow === 'col-reverse',\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t// Align\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'justify-baseline': this.align === 'baseline',\n\n\t\t\t// Justify\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-stretch': this.justify === 'stretch',\n\t\t\t'justify-between': this.justify === 'between',\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\tconst styles = {}\n\t\treturn html`\n\t\t\t<section class=${classMap(classes)} style=${styleMap(styles)}>\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'\nimport style from './grid.scss?inline'\n\n/**\n * @deprecated Use Tailwind CSS grid classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-grid> with <div class=\"grid ...\">\n * - Use Tailwind's grid utilities: grid-cols-*, gap-*, items-*, justify-items-*, etc.\n * \n * @element schmancy-grid\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'\nimport { debounceTime, filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Custom scroll event interface for the SchmancyScroll component.\n * Contains detailed information about the scroll state.\n */\nexport interface SchmancyScrollEvent\n\textends CustomEvent<{\n\t\t/** Current scroll position from the top */\n\t\tscrollTop: number\n\t\t/** Total scrollable height of the content */\n\t\tscrollHeight: number\n\t\t/** Visible height of the container */\n\t\tclientHeight: number\n\t\t/** Original scroll event */\n\t\te: Event\n\t\t/** Current scroll position from the left (for horizontal scrolling) */\n\t\tscrollLeft?: number\n\t\t/** Total scrollable width of the content (for horizontal scrolling) */\n\t\tscrollWidth?: number\n\t\t/** Visible width of the container (for horizontal scrolling) */\n\t\tclientWidth?: number\n\t}> {}\n\n/**\n * Command event interface for controlling SchmancyScroll components\n */\nexport interface SchmancyScrollCommandEvent\n\textends CustomEvent<{\n\t\t/** Target component name */\n\t\tname: string\n\t\t/** Command action to perform */\n\t\taction: 'scrollTo'\n\t\t/** Scroll position for scrollTo action */\n\t\ttop: number\n\t\t/** Horizontal scroll position for scrollTo action (optional) */\n\t\tleft?: number\n\t}> {}\n\n// Augment the HTMLElementEventMap to include our custom events\ndeclare global {\n\tinterface HTMLElementEventMap {\n\t\tscroll: SchmancyScrollEvent\n\t\t'schmancy-scroll-command': SchmancyScrollCommandEvent\n\t}\n}\n\n/**\n * A custom scrollable container with enhanced features.\n *\n * @fires {SchmancyScrollEvent} scroll - Fired when scrolling occurs (with a configurable debounce)\n * @slot - Default slot for content to be scrolled\n * @csspart scroller - The inner scrollable div element\n *\n * @example\n * ```html\n * <schmancy-scroll hide name=\"main-content\">\n * <div>Scrollable content goes here</div>\n * </schmancy-scroll>\n * ```\n *\n * @example\n * ```html\n * <schmancy-scroll direction=\"horizontal\" hide name=\"image-carousel\">\n * <div class=\"flex\">\n * <img src=\"image1.jpg\" alt=\"Image 1\">\n * <img src=\"image2.jpg\" alt=\"Image 2\">\n * </div>\n * </schmancy-scroll>\n * ```\n */\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t\tscroll-behavior: smooth;\n\t\toverscroll-behavior: contain;\n\t}\n\t:host([hide]) {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t:host([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 host element's scrollbars are hidden\n\t * in supported browsers using CSS.\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\t/**\n\t * Optional name identifier for the component.\n\t * Used for targeting this specific component with global events.\n\t *\n\t * @attr name\n\t * @example <schmancy-scroll name=\"main-content\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic name?: string\n\n\t/**\n\t * Direction of scrolling: vertical, horizontal, or both.\n\t * - vertical: Only allows vertical scrolling\n\t * - horizontal: Only allows horizontal scrolling\n\t * - both: Allows both horizontal and vertical scrolling (default)\n\t *\n\t * @attr direction\n\t * @example <schmancy-scroll direction=\"horizontal\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic direction: 'vertical' | 'horizontal' | 'both' = 'both'\n\n\t/**\n\t * Reference to the scrollable element (the host element itself)\n\t * @public\n\t */\n\tget scroller(): HTMLElement {\n\t\treturn this\n\t}\n\n\t/**\n\t * Debounce time in milliseconds for the scroll event.\n\t * Higher values reduce the frequency of scroll events being dispatched.\n\t *\n\t * @attr debounce\n\t * @example <schmancy-scroll debounce=\"50\"></schmancy-scroll>\n\t */\n\t@property({ type: Number })\n\tpublic debounce = 10\n\n\t/**\n\t * Scrolls the container to the specified position\n\t * @param options - ScrollToOptions or a number representing the top position\n\t * @param top - For backward compatibility, if options is a number, this is treated as \"behavior\"\n\t */\n\tpublic override scrollTo(options?: ScrollToOptions | number, top?: number): void {\n\t\tif (!this.scroller) return\n\n\t\tif (typeof options === 'number') {\n\t\t\t// Legacy support for scrollTo(top, behavior)\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: options,\n\t\t\t\tbehavior: top ? 'smooth' : 'auto',\n\t\t\t})\n\t\t} else if (options) {\n\t\t\tthis.scroller.scrollTo(options)\n\t\t} else {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'auto',\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Scrolls the container horizontally to the specified position\n\t * @param left - The horizontal position to scroll to (in pixels)\n\t * @param behavior - The scroll behavior ('auto' or 'smooth')\n\t */\n\tpublic scrollToLeft(left: number, behavior: ScrollBehavior = 'auto'): void {\n\t\tif (this.scroller) {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\tleft,\n\t\t\t\tbehavior,\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Called when the component is connected to the DOM\n\t * Applies scrolling styles directly to the host element\n\t * @protected\n\t */\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.updateScrollingStyles()\n\t\t// Set the part attribute on the host element\n\t\tthis.setAttribute('part', 'scroller')\n\t}\n\n\t/**\n\t * Updates the overflow styles based on the direction property\n\t * @private\n\t */\n\tprivate updateScrollingStyles(): void {\n\t\t// Apply overflow styles based on direction\n\t\tif (this.direction === 'horizontal') {\n\t\t\tthis.style.setProperty('overflow-y', 'hidden')\n\t\t\tthis.style.setProperty('overflow-x', 'auto')\n\t\t} else if (this.direction === 'vertical') {\n\t\t\tthis.style.setProperty('overflow-y', 'auto')\n\t\t\tthis.style.setProperty('overflow-x', 'hidden')\n\t\t} else {\n\t\t\t// both\n\t\t\tthis.style.setProperty('overflow-y', 'auto')\n\t\t\tthis.style.setProperty('overflow-x', 'auto')\n\t\t}\n\t}\n\n\t/**\n\t * Called when properties change\n\t * @protected\n\t */\n\tprotected updated(changedProperties: Map<string | number | symbol, unknown>): void {\n\t\tsuper.updated(changedProperties)\n\t\t// Update styles if direction changes\n\t\tif (changedProperties.has('direction')) {\n\t\t\tthis.updateScrollingStyles()\n\t\t}\n\t}\n\n\t/**\n\t * Called after the component's first update\n\t * Sets up the scroll event listener with debouncing\n\t * @protected\n\t */\n\tprotected firstUpdated(): void {\n\t\t// Set up scroll event listening with debounce\n\t\tfromEvent(this.scroller, 'scroll', {\n\t\t\tpassive: true,\n\t\t})\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(this.debounce),\n\t\t\t\ttakeUntil(this.disconnecting), // Unsubscribe when the element is destroyed\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\t// Always include the original required properties for backward compatibility\n\t\t\t\tconst scrollTop = this.scroller.scrollTop\n\t\t\t\tconst scrollHeight = this.scroller.scrollHeight\n\t\t\t\tconst clientHeight = this.scroller.clientHeight\n\n\t\t\t\t// Include horizontal scroll information as optional properties\n\t\t\t\tconst scrollLeft = this.scroller.scrollLeft\n\t\t\t\tconst scrollWidth = this.scroller.scrollWidth\n\t\t\t\tconst clientWidth = this.scroller.clientWidth\n\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('scroll', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t// Original required properties first\n\t\t\t\t\t\t\tscrollTop,\n\t\t\t\t\t\t\tscrollHeight,\n\t\t\t\t\t\t\tclientHeight,\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t// New optional properties last\n\t\t\t\t\t\t\tscrollLeft,\n\t\t\t\t\t\t\tscrollWidth,\n\t\t\t\t\t\t\tclientWidth,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}) as SchmancyScrollEvent,\n\t\t\t\t)\n\t\t\t})\n\n\t\t// Set up global command event listener\n\t\tfromEvent<SchmancyScrollCommandEvent>(window, '@schmancy:scrollTo')\n\t\t\t.pipe(\n\t\t\t\t// Only process events targeting this component by name\n\t\t\t\tfilter(e => this.name !== undefined && e.detail.name === this.name),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tif (e.detail.action === 'scrollTo' && typeof e.detail.top === 'number') {\n\t\t\t\t\tconst options: ScrollToOptions = {\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\ttop: e.detail.top, // Required for backward compatibility\n\t\t\t\t\t}\n\n\t\t\t\t\t// Add optional left position if provided\n\t\t\t\t\tif (typeof e.detail.left === 'number') {\n\t\t\t\t\t\toptions.left = e.detail.left\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.scrollTo(options)\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\t/**\n\t * Renders the component template\n\t * @returns {TemplateResult} The template to render\n\t * @protected\n\t */\n\tprotected render() {\n\t\t// Only render the slot, all styling is applied to the host\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <sch-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * Original documentation:\n * \n * SchmancyFlex exposes a flex container with all the Tailwind CSS 4 options:\n *\n * - **Display**: By default uses `flex` but can be set to inline using the `inline` property.\n * - **Flow**: Accepts 'row', 'row-reverse', 'col', 'col-reverse' as well as grid‐like dense variants:\n * - Dense variants (`row-dense`, `col-dense`) force wrapping.\n * - **Wrap**: 'wrap', 'nowrap', or 'wrap-reverse'\n * - **Align Items**: 'start', 'center', 'end', 'stretch', or 'baseline'\n * - **Justify Content**: 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Align Content** (for multi-line flex containers): 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Gap**: Supports Tailwind’s spacing scale (e.g. 'none', '0', '1', '2', …, '64')\n */\n@customElement('sch-flex')\nexport class SchmancyFlexV2 extends Layout {\n\tstatic styles = [\n\t\tLayout.styles,\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t`,\n\t]\n\t// If true, the container will use inline-flex instead of flex.\n\t@property({ type: Boolean, reflect: true })\n\tinline = false\n\n\t/**\n\t * Flow property that determines the flex direction.\n\t * Allowed values:\n\t * - Standard: 'row', 'row-reverse', 'col', 'col-reverse'\n\t * - Dense variants: 'row-dense', 'col-dense' (dense implies wrapping)\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' | 'row-dense' | 'col-dense' = 'row'\n\n\t/**\n\t * Flex-wrap options:\n\t * - 'wrap', 'nowrap', or '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 (vertical alignment of flex items):\n\t * - 'start', 'center', 'end', 'stretch', or 'baseline'\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\n\t/**\n\t * Justify-content (horizontal distribution):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' = 'start'\n\n\t/**\n\t * Align-content (spacing between rows when wrapping):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tcontent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\n\t/**\n\t * Gap between flex items.\n\t * Options (based on Tailwind CSS 4 spacing scale):\n\t * - 'none', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '16', '20', '24', '32', '40', '48', '56', or '64'\n\t */\n\t@property({ type: String, reflect: true })\n\tgap:\n\t\t| 'none'\n\t\t| '0'\n\t\t| '1'\n\t\t| '2'\n\t\t| '3'\n\t\t| '4'\n\t\t| '5'\n\t\t| '6'\n\t\t| '7'\n\t\t| '8'\n\t\t| '9'\n\t\t| '10'\n\t\t| '12'\n\t\t| '16'\n\t\t| '20'\n\t\t| '24'\n\t\t| '32'\n\t\t| '40'\n\t\t| '48'\n\t\t| '56'\n\t\t| '64' = 'none'\n\n\trender() {\n\t\t// Determine whether to use inline-flex or flex.\n\t\tconst baseDisplay = this.inline ? 'inline-flex' : 'flex'\n\n\t\t// Map the flow property to a flex-direction class.\n\t\t// (Dense variants use the same class as their standard counterparts.)\n\t\tlet directionClass = ''\n\t\tswitch (this.flow) {\n\t\t\tcase 'row':\n\t\t\tcase 'row-dense':\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t\t\tbreak\n\t\t\tcase 'row-reverse':\n\t\t\t\tdirectionClass = 'flex-row-reverse'\n\t\t\t\tbreak\n\t\t\tcase 'col':\n\t\t\tcase 'col-dense':\n\t\t\t\tdirectionClass = 'flex-col'\n\t\t\t\tbreak\n\t\t\tcase 'col-reverse':\n\t\t\t\tdirectionClass = 'flex-col-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t}\n\n\t\t// Dense variants force wrapping regardless of the wrap property.\n\t\tconst isDense = this.flow === 'row-dense' || this.flow === 'col-dense'\n\t\tconst effectiveWrap = isDense ? 'wrap' : this.wrap\n\n\t\tlet wrapClass = ''\n\t\tswitch (effectiveWrap) {\n\t\t\tcase 'wrap':\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t\t\tbreak\n\t\t\tcase 'nowrap':\n\t\t\t\twrapClass = 'flex-nowrap'\n\t\t\t\tbreak\n\t\t\tcase 'wrap-reverse':\n\t\t\t\twrapClass = 'flex-wrap-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t}\n\n\t\t// Map align-items.\n\t\tlet alignClass = ''\n\t\tswitch (this.align) {\n\t\t\tcase 'start':\n\t\t\t\talignClass = 'items-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\talignClass = 'items-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\talignClass = 'items-end'\n\t\t\t\tbreak\n\t\t\tcase 'stretch':\n\t\t\t\talignClass = 'items-stretch'\n\t\t\t\tbreak\n\t\t\tcase 'baseline':\n\t\t\t\talignClass = 'items-baseline'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\talignClass = 'items-stretch'\n\t\t}\n\n\t\t// Map justify-content.\n\t\tlet justifyClass = ''\n\t\tswitch (this.justify) {\n\t\t\tcase 'start':\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\tjustifyClass = 'justify-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\tjustifyClass = 'justify-end'\n\t\t\t\tbreak\n\t\t\tcase 'between':\n\t\t\t\tjustifyClass = 'justify-between'\n\t\t\t\tbreak\n\t\t\tcase 'around':\n\t\t\t\tjustifyClass = 'justify-around'\n\t\t\t\tbreak\n\t\t\tcase 'evenly':\n\t\t\t\tjustifyClass = 'justify-evenly'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t}\n\n\t\t// Map align-content (if provided).\n\t\tlet contentClass = ''\n\t\tif (this.content) {\n\t\t\tswitch (this.content) {\n\t\t\t\tcase 'start':\n\t\t\t\t\tcontentClass = 'content-start'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'center':\n\t\t\t\t\tcontentClass = 'content-center'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'end':\n\t\t\t\t\tcontentClass = 'content-end'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'between':\n\t\t\t\t\tcontentClass = 'content-between'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'around':\n\t\t\t\t\tcontentClass = 'content-around'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'evenly':\n\t\t\t\t\tcontentClass = 'content-evenly'\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Map gap value.\n\t\tconst gapClass = this.gap === 'none' ? 'gap-0' : `gap-${this.gap}`\n\n\t\t// Build the complete list of classes.\n\t\tconst classes = [baseDisplay, directionClass, wrapClass, alignClass, justifyClass, contentClass, gapClass]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')\n\n\t\treturn html`\n\t\t\t<section class=${classes}>\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'sch-flex': SchmancyFlexV2\n\t}\n}\n"],"names":["Layout","TailwindElement","constructor","super","arguments","this","layout","center","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","_a","__decorateClass","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","firstUpdated","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","direction","debounce","scroller","options","scrollTo","behavior","updateScrollingStyles","setAttribute","changedProperties","updated","has","passive","e","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","dispatchEvent","CustomEvent","detail","bubbles","composed","name","action","render","Number","SchmancyFlexV2","inline","baseDisplay","directionClass","wrapClass","alignClass","justifyClass","contentClass","join"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flex-Dn29XhdY.js","sources":["../src/layout/layout.ts","../src/layout/flex/flex.ts","../src/layout/grid/grid.ts","../src/layout/scroll/scroll.ts","../src/layout/v2/flex.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { property } from 'lit/decorators.js'\n\n/**\n * @deprecated Use Tailwind CSS utility classes directly on HTML elements instead of this base class.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Use inline styles or Tailwind utility classes for layout properties\n * - Replace properties like padding, margin, width, etc. with their CSS equivalents\n * \n * @class Layout\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 { classMap } from 'lit/directives/class-map.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport Layout from '../layout'\nimport style from './flex.scss?inline'\n\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * @element schmancy-flex\n */\n@customElement('schmancy-flex')\nexport class SchmancyFlex extends Layout {\n\tstatic styles = [Layout.styles, unsafeCSS(style)]\n\tlayout = true\n\t@property({ type: String, reflect: true }) flow: 'row' | 'row-reverse' | 'col' | 'col-reverse' = 'col'\n\t@property({ type: String, reflect: true }) wrap: 'wrap' | 'nowrap' | 'wrap-reverse' = 'wrap'\n\t@property({ type: String, reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'start'\n\t@property({ type: String, reflect: true }) justify: 'start' | 'center' | 'end' | 'stretch' | 'between' = 'start'\n\t@property({ type: String, reflect: true }) gap: 'none' | 'sm' | 'md' | 'lg' = 'none'\n\n\trender() {\n\t\tconst classes = {\n\t\t\tflex: true,\n\t\t\t// Direction\n\t\t\t'flex-col': this.flow === 'row',\n\t\t\t'flex-col-reverse': this.flow === 'row-reverse',\n\t\t\t'flex-row': this.flow === 'col',\n\t\t\t'flex-row-reverse': this.flow === 'col-reverse',\n\t\t\t// Wrap\n\t\t\t'flex-wrap': this.wrap === 'wrap',\n\t\t\t'flex-wrap-reverse': this.wrap === 'wrap-reverse',\n\t\t\t'flex-nowrap': this.wrap === 'nowrap',\n\t\t\t// Align\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'justify-baseline': this.align === 'baseline',\n\n\t\t\t// Justify\n\t\t\t'justify-center': this.justify === 'center',\n\t\t\t'justify-end': this.justify === 'end',\n\t\t\t'justify-start': this.justify === 'start',\n\t\t\t'justify-stretch': this.justify === 'stretch',\n\t\t\t'justify-between': this.justify === 'between',\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\tconst styles = {}\n\t\treturn html`\n\t\t\t<section class=${classMap(classes)} style=${styleMap(styles)}>\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'\nimport style from './grid.scss?inline'\n\n/**\n * @deprecated Use Tailwind CSS grid classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <schmancy-grid> with <div class=\"grid ...\">\n * - Use Tailwind's grid utilities: grid-cols-*, gap-*, items-*, justify-items-*, etc.\n * \n * @element schmancy-grid\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'\nimport { debounceTime, filter, fromEvent, takeUntil } from 'rxjs'\n\n/**\n * Custom scroll event interface for the SchmancyScroll component.\n * Contains detailed information about the scroll state.\n */\nexport interface SchmancyScrollEvent\n\textends CustomEvent<{\n\t\t/** Current scroll position from the top */\n\t\tscrollTop: number\n\t\t/** Total scrollable height of the content */\n\t\tscrollHeight: number\n\t\t/** Visible height of the container */\n\t\tclientHeight: number\n\t\t/** Original scroll event */\n\t\te: Event\n\t\t/** Current scroll position from the left (for horizontal scrolling) */\n\t\tscrollLeft?: number\n\t\t/** Total scrollable width of the content (for horizontal scrolling) */\n\t\tscrollWidth?: number\n\t\t/** Visible width of the container (for horizontal scrolling) */\n\t\tclientWidth?: number\n\t}> {}\n\n/**\n * Command event interface for controlling SchmancyScroll components\n */\nexport interface SchmancyScrollCommandEvent\n\textends CustomEvent<{\n\t\t/** Target component name */\n\t\tname: string\n\t\t/** Command action to perform */\n\t\taction: 'scrollTo'\n\t\t/** Scroll position for scrollTo action */\n\t\ttop: number\n\t\t/** Horizontal scroll position for scrollTo action (optional) */\n\t\tleft?: number\n\t}> {}\n\n// Augment the HTMLElementEventMap to include our custom events\ndeclare global {\n\tinterface HTMLElementEventMap {\n\t\tscroll: SchmancyScrollEvent\n\t\t'schmancy-scroll-command': SchmancyScrollCommandEvent\n\t}\n}\n\n/**\n * A custom scrollable container with enhanced features.\n *\n * @fires {SchmancyScrollEvent} scroll - Fired when scrolling occurs (with a configurable debounce)\n * @slot - Default slot for content to be scrolled\n * @csspart scroller - The inner scrollable div element\n *\n * @example\n * ```html\n * <schmancy-scroll hide name=\"main-content\">\n * <div>Scrollable content goes here</div>\n * </schmancy-scroll>\n * ```\n *\n * @example\n * ```html\n * <schmancy-scroll direction=\"horizontal\" hide name=\"image-carousel\">\n * <div class=\"flex\">\n * <img src=\"image1.jpg\" alt=\"Image 1\">\n * <img src=\"image2.jpg\" alt=\"Image 2\">\n * </div>\n * </schmancy-scroll>\n * ```\n */\n@customElement('schmancy-scroll')\nexport class SchmancyScroll extends TailwindElement(css`\n\t:host {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box; /* Ensures proper sizing */\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tinset: 0px;\n\t\tscroll-behavior: smooth;\n\t\toverscroll-behavior: contain;\n\t}\n\t:host([hide]) {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\t:host([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 host element's scrollbars are hidden\n\t * in supported browsers using CSS.\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\t/**\n\t * Optional name identifier for the component.\n\t * Used for targeting this specific component with global events.\n\t *\n\t * @attr name\n\t * @example <schmancy-scroll name=\"main-content\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic name?: string\n\n\t/**\n\t * Direction of scrolling: vertical, horizontal, or both.\n\t * - vertical: Only allows vertical scrolling\n\t * - horizontal: Only allows horizontal scrolling\n\t * - both: Allows both horizontal and vertical scrolling (default)\n\t *\n\t * @attr direction\n\t * @example <schmancy-scroll direction=\"horizontal\"></schmancy-scroll>\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic direction: 'vertical' | 'horizontal' | 'both' = 'both'\n\n\t/**\n\t * Reference to the scrollable element (the host element itself)\n\t * @public\n\t */\n\tget scroller(): HTMLElement {\n\t\treturn this\n\t}\n\n\t/**\n\t * Debounce time in milliseconds for the scroll event.\n\t * Higher values reduce the frequency of scroll events being dispatched.\n\t *\n\t * @attr debounce\n\t * @example <schmancy-scroll debounce=\"50\"></schmancy-scroll>\n\t */\n\t@property({ type: Number })\n\tpublic debounce = 10\n\n\t/**\n\t * Scrolls the container to the specified position\n\t * @param options - ScrollToOptions or a number representing the top position\n\t * @param top - For backward compatibility, if options is a number, this is treated as \"behavior\"\n\t */\n\tpublic override scrollTo(options?: ScrollToOptions | number, top?: number): void {\n\t\tif (!this.scroller) return\n\n\t\tif (typeof options === 'number') {\n\t\t\t// Legacy support for scrollTo(top, behavior)\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: options,\n\t\t\t\tbehavior: top ? 'smooth' : 'auto',\n\t\t\t})\n\t\t} else if (options) {\n\t\t\tthis.scroller.scrollTo(options)\n\t\t} else {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\tbehavior: 'auto',\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Scrolls the container horizontally to the specified position\n\t * @param left - The horizontal position to scroll to (in pixels)\n\t * @param behavior - The scroll behavior ('auto' or 'smooth')\n\t */\n\tpublic scrollToLeft(left: number, behavior: ScrollBehavior = 'auto'): void {\n\t\tif (this.scroller) {\n\t\t\tthis.scroller.scrollTo({\n\t\t\t\tleft,\n\t\t\t\tbehavior,\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Called when the component is connected to the DOM\n\t * Applies scrolling styles directly to the host element\n\t * @protected\n\t */\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.updateScrollingStyles()\n\t\t// Set the part attribute on the host element\n\t\tthis.setAttribute('part', 'scroller')\n\t}\n\n\t/**\n\t * Updates the overflow styles based on the direction property\n\t * @private\n\t */\n\tprivate updateScrollingStyles(): void {\n\t\t// Apply overflow styles based on direction\n\t\tif (this.direction === 'horizontal') {\n\t\t\tthis.style.setProperty('overflow-y', 'hidden')\n\t\t\tthis.style.setProperty('overflow-x', 'auto')\n\t\t} else if (this.direction === 'vertical') {\n\t\t\tthis.style.setProperty('overflow-y', 'auto')\n\t\t\tthis.style.setProperty('overflow-x', 'hidden')\n\t\t} else {\n\t\t\t// both\n\t\t\tthis.style.setProperty('overflow-y', 'auto')\n\t\t\tthis.style.setProperty('overflow-x', 'auto')\n\t\t}\n\t}\n\n\t/**\n\t * Called when properties change\n\t * @protected\n\t */\n\tprotected updated(changedProperties: Map<string | number | symbol, unknown>): void {\n\t\tsuper.updated(changedProperties)\n\t\t// Update styles if direction changes\n\t\tif (changedProperties.has('direction')) {\n\t\t\tthis.updateScrollingStyles()\n\t\t}\n\t}\n\n\t/**\n\t * Called after the component's first update\n\t * Sets up the scroll event listener with debouncing\n\t * @protected\n\t */\n\tprotected firstUpdated(): void {\n\t\t// Set up scroll event listening with debounce\n\t\tfromEvent(this.scroller, 'scroll', {\n\t\t\tpassive: true,\n\t\t})\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(this.debounce),\n\t\t\t\ttakeUntil(this.disconnecting), // Unsubscribe when the element is destroyed\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\t// Always include the original required properties for backward compatibility\n\t\t\t\tconst scrollTop = this.scroller.scrollTop\n\t\t\t\tconst scrollHeight = this.scroller.scrollHeight\n\t\t\t\tconst clientHeight = this.scroller.clientHeight\n\n\t\t\t\t// Include horizontal scroll information as optional properties\n\t\t\t\tconst scrollLeft = this.scroller.scrollLeft\n\t\t\t\tconst scrollWidth = this.scroller.scrollWidth\n\t\t\t\tconst clientWidth = this.scroller.clientWidth\n\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('scroll', {\n\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t// Original required properties first\n\t\t\t\t\t\t\tscrollTop,\n\t\t\t\t\t\t\tscrollHeight,\n\t\t\t\t\t\t\tclientHeight,\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t// New optional properties last\n\t\t\t\t\t\t\tscrollLeft,\n\t\t\t\t\t\t\tscrollWidth,\n\t\t\t\t\t\t\tclientWidth,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}) as SchmancyScrollEvent,\n\t\t\t\t)\n\t\t\t})\n\n\t\t// Set up global command event listener\n\t\tfromEvent<SchmancyScrollCommandEvent>(window, '@schmancy:scrollTo')\n\t\t\t.pipe(\n\t\t\t\t// Only process events targeting this component by name\n\t\t\t\tfilter(e => this.name !== undefined && e.detail.name === this.name),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(e => {\n\t\t\t\tif (e.detail.action === 'scrollTo' && typeof e.detail.top === 'number') {\n\t\t\t\t\tconst options: ScrollToOptions = {\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\ttop: e.detail.top, // Required for backward compatibility\n\t\t\t\t\t}\n\n\t\t\t\t\t// Add optional left position if provided\n\t\t\t\t\tif (typeof e.detail.left === 'number') {\n\t\t\t\t\t\toptions.left = e.detail.left\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.scrollTo(options)\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\t/**\n\t * Renders the component template\n\t * @returns {TemplateResult} The template to render\n\t * @protected\n\t */\n\tprotected render() {\n\t\t// Only render the slot, all styling is applied to the host\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-scroll': SchmancyScroll\n\t}\n}\n","import { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport Layout from '../layout'\n\n/**\n * @deprecated Use Tailwind CSS flex classes directly instead of this component.\n * This component will be removed in a future version.\n * \n * Migration guide:\n * - Replace <sch-flex> with <div class=\"flex ...\">\n * - Use Tailwind's flex utilities: flex-row, flex-col, gap-*, items-*, justify-*, etc.\n * \n * Original documentation:\n * \n * SchmancyFlex exposes a flex container with all the Tailwind CSS 4 options:\n *\n * - **Display**: By default uses `flex` but can be set to inline using the `inline` property.\n * - **Flow**: Accepts 'row', 'row-reverse', 'col', 'col-reverse' as well as grid‐like dense variants:\n * - Dense variants (`row-dense`, `col-dense`) force wrapping.\n * - **Wrap**: 'wrap', 'nowrap', or 'wrap-reverse'\n * - **Align Items**: 'start', 'center', 'end', 'stretch', or 'baseline'\n * - **Justify Content**: 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Align Content** (for multi-line flex containers): 'start', 'center', 'end', 'between', 'around', or 'evenly'\n * - **Gap**: Supports Tailwind’s spacing scale (e.g. 'none', '0', '1', '2', …, '64')\n */\n@customElement('sch-flex')\nexport class SchmancyFlexV2 extends Layout {\n\tstatic styles = [\n\t\tLayout.styles,\n\t\tcss`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t`,\n\t]\n\t// If true, the container will use inline-flex instead of flex.\n\t@property({ type: Boolean, reflect: true })\n\tinline = false\n\n\t/**\n\t * Flow property that determines the flex direction.\n\t * Allowed values:\n\t * - Standard: 'row', 'row-reverse', 'col', 'col-reverse'\n\t * - Dense variants: 'row-dense', 'col-dense' (dense implies wrapping)\n\t */\n\t@property({ type: String, reflect: true })\n\tflow: 'row' | 'row-reverse' | 'col' | 'col-reverse' | 'row-dense' | 'col-dense' = 'row'\n\n\t/**\n\t * Flex-wrap options:\n\t * - 'wrap', 'nowrap', or '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 (vertical alignment of flex items):\n\t * - 'start', 'center', 'end', 'stretch', or 'baseline'\n\t */\n\t@property({ type: String, reflect: true })\n\talign: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'stretch'\n\n\t/**\n\t * Justify-content (horizontal distribution):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tjustify: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' = 'start'\n\n\t/**\n\t * Align-content (spacing between rows when wrapping):\n\t * - 'start', 'center', 'end', 'between', 'around', or 'evenly'\n\t */\n\t@property({ type: String, reflect: true })\n\tcontent?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\n\t/**\n\t * Gap between flex items.\n\t * Options (based on Tailwind CSS 4 spacing scale):\n\t * - 'none', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '12', '16', '20', '24', '32', '40', '48', '56', or '64'\n\t */\n\t@property({ type: String, reflect: true })\n\tgap:\n\t\t| 'none'\n\t\t| '0'\n\t\t| '1'\n\t\t| '2'\n\t\t| '3'\n\t\t| '4'\n\t\t| '5'\n\t\t| '6'\n\t\t| '7'\n\t\t| '8'\n\t\t| '9'\n\t\t| '10'\n\t\t| '12'\n\t\t| '16'\n\t\t| '20'\n\t\t| '24'\n\t\t| '32'\n\t\t| '40'\n\t\t| '48'\n\t\t| '56'\n\t\t| '64' = 'none'\n\n\trender() {\n\t\t// Determine whether to use inline-flex or flex.\n\t\tconst baseDisplay = this.inline ? 'inline-flex' : 'flex'\n\n\t\t// Map the flow property to a flex-direction class.\n\t\t// (Dense variants use the same class as their standard counterparts.)\n\t\tlet directionClass = ''\n\t\tswitch (this.flow) {\n\t\t\tcase 'row':\n\t\t\tcase 'row-dense':\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t\t\tbreak\n\t\t\tcase 'row-reverse':\n\t\t\t\tdirectionClass = 'flex-row-reverse'\n\t\t\t\tbreak\n\t\t\tcase 'col':\n\t\t\tcase 'col-dense':\n\t\t\t\tdirectionClass = 'flex-col'\n\t\t\t\tbreak\n\t\t\tcase 'col-reverse':\n\t\t\t\tdirectionClass = 'flex-col-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tdirectionClass = 'flex-row'\n\t\t}\n\n\t\t// Dense variants force wrapping regardless of the wrap property.\n\t\tconst isDense = this.flow === 'row-dense' || this.flow === 'col-dense'\n\t\tconst effectiveWrap = isDense ? 'wrap' : this.wrap\n\n\t\tlet wrapClass = ''\n\t\tswitch (effectiveWrap) {\n\t\t\tcase 'wrap':\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t\t\tbreak\n\t\t\tcase 'nowrap':\n\t\t\t\twrapClass = 'flex-nowrap'\n\t\t\t\tbreak\n\t\t\tcase 'wrap-reverse':\n\t\t\t\twrapClass = 'flex-wrap-reverse'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\twrapClass = 'flex-wrap'\n\t\t}\n\n\t\t// Map align-items.\n\t\tlet alignClass = ''\n\t\tswitch (this.align) {\n\t\t\tcase 'start':\n\t\t\t\talignClass = 'items-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\talignClass = 'items-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\talignClass = 'items-end'\n\t\t\t\tbreak\n\t\t\tcase 'stretch':\n\t\t\t\talignClass = 'items-stretch'\n\t\t\t\tbreak\n\t\t\tcase 'baseline':\n\t\t\t\talignClass = 'items-baseline'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\talignClass = 'items-stretch'\n\t\t}\n\n\t\t// Map justify-content.\n\t\tlet justifyClass = ''\n\t\tswitch (this.justify) {\n\t\t\tcase 'start':\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t\t\tbreak\n\t\t\tcase 'center':\n\t\t\t\tjustifyClass = 'justify-center'\n\t\t\t\tbreak\n\t\t\tcase 'end':\n\t\t\t\tjustifyClass = 'justify-end'\n\t\t\t\tbreak\n\t\t\tcase 'between':\n\t\t\t\tjustifyClass = 'justify-between'\n\t\t\t\tbreak\n\t\t\tcase 'around':\n\t\t\t\tjustifyClass = 'justify-around'\n\t\t\t\tbreak\n\t\t\tcase 'evenly':\n\t\t\t\tjustifyClass = 'justify-evenly'\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tjustifyClass = 'justify-start'\n\t\t}\n\n\t\t// Map align-content (if provided).\n\t\tlet contentClass = ''\n\t\tif (this.content) {\n\t\t\tswitch (this.content) {\n\t\t\t\tcase 'start':\n\t\t\t\t\tcontentClass = 'content-start'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'center':\n\t\t\t\t\tcontentClass = 'content-center'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'end':\n\t\t\t\t\tcontentClass = 'content-end'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'between':\n\t\t\t\t\tcontentClass = 'content-between'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'around':\n\t\t\t\t\tcontentClass = 'content-around'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'evenly':\n\t\t\t\t\tcontentClass = 'content-evenly'\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// Map gap value.\n\t\tconst gapClass = this.gap === 'none' ? 'gap-0' : `gap-${this.gap}`\n\n\t\t// Build the complete list of classes.\n\t\tconst classes = [baseDisplay, directionClass, wrapClass, alignClass, justifyClass, contentClass, gapClass]\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ')\n\n\t\treturn html`\n\t\t\t<section class=${classes}>\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'sch-flex': SchmancyFlexV2\n\t}\n}\n"],"names":["Layout","TailwindElement","constructor","super","arguments","this","layout","center","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","_w","__decorateClass","property","type","Boolean","prototype","String","SchmancyFlex","flow","wrap","align","justify","gap","render","classes","flex","html","classMap","styleMap","unsafeCSS","reflect","customElement","SchmancyGrid","content","firstUpdated","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","direction","debounce","scroller","options","scrollTo","behavior","updateScrollingStyles","setAttribute","changedProperties","updated","has","passive","e","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","dispatchEvent","CustomEvent","detail","bubbles","composed","name","action","Number","SchmancyFlexV2","inline","baseDisplay","directionClass","wrapClass","alignClass","justifyClass","contentClass","join"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation-rail-DXkXbVjA.js","sources":["../src/navigation-rail/navigation-rail-item.ts","../src/navigation-rail/navigation-rail.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\r\nimport { html, PropertyValues } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { when } from 'lit/directives/when.js'\r\nimport { BehaviorSubject, fromEvent, merge, takeUntil } from 'rxjs'\r\nimport { delay, distinctUntilChanged, tap } from 'rxjs/operators'\r\n\r\nexport type NavigationRailItemClickEvent = CustomEvent<{\r\n\ticon: string\r\n\tlabel: string\r\n\tvalue: string\r\n\tactive: boolean\r\n}>\r\n\r\n/**\r\n * Material Design 3 Navigation Rail Item Component\r\n * @see https://m3.material.io/components/navigation-rail/overview\r\n *\r\n * `<schmancy-navigation-rail-item>` component\r\n *\r\n * Individual navigation item for use within a navigation rail.\r\n * Represents a single destination or action with an icon and optional label.\r\n *\r\n * @element schmancy-navigation-rail-item\r\n * @slot icon - Slot for the navigation item icon (e.g., schmancy-icon)\r\n * @slot - Default slot for custom content\r\n * @slot badge - Custom badge content\r\n *\r\n * @fires navigate - When the item is clicked\r\n *\r\n * @csspart container - The main item container\r\n * @csspart indicator - The active indicator\r\n * @csspart icon - The icon container\r\n * @csspart label - The label text\r\n * @csspart badge - The badge element\r\n *\r\n * @example\r\n * <schmancy-navigation-rail-item\r\n * icon=\"home\"\r\n * label=\"Home\"\r\n * value=\"/home\"\r\n * badge=\"3\"\r\n * active>\r\n * </schmancy-navigation-rail-item>\r\n *\r\n * @example\r\n * <!-- Using 'selected' alias -->\r\n * <schmancy-navigation-rail-item\r\n * icon=\"settings\"\r\n * label=\"Settings\"\r\n * value=\"/settings\"\r\n * selected>\r\n * </schmancy-navigation-rail-item>\r\n *\r\n * @example\r\n * <!-- With custom icon -->\r\n * <schmancy-navigation-rail-item label=\"Dashboard\">\r\n * <schmancy-icon slot=\"icon\">dashboard</schmancy-icon>\r\n * </schmancy-navigation-rail-item>\r\n */\r\n@customElement('schmancy-navigation-rail-item')\r\nexport class SchmancyNavigationRailItem extends $LitElement() {\r\n\t// Observable state\r\n\tprivate hovering$ = new BehaviorSubject<boolean>(false)\r\n\tprivate pressing$ = new BehaviorSubject<boolean>(false)\r\n\tprivate active$ = new BehaviorSubject<boolean>(false)\r\n\r\n\t// Properties\r\n\t/**\r\n\t * Icon name (Material Symbols icon)\r\n\t */\r\n\t@property({ type: String })\r\n\ticon = ''\r\n\r\n\t/**\r\n\t * Label text for the navigation item\r\n\t */\r\n\t@property({ type: String })\r\n\tlabel = ''\r\n\r\n\t/**\r\n\t * Value associated with this item (useful for routing)\r\n\t */\r\n\t@property({ type: String })\r\n\tvalue = ''\r\n\r\n\t/**\r\n\t * Whether this item is currently active/selected\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\tget active() { return this.active$.value }\r\n\tset active(value: boolean) {\r\n\t\tthis.active$.next(value)\r\n\t}\r\n\r\n\t/**\r\n\t * Whether this item is currently selected (alias for active)\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\tget selected() { return this.active }\r\n\tset selected(value: boolean) { this.active = value }\r\n\r\n\t/**\r\n\t * Badge text or number to display\r\n\t */\r\n\t@property({ type: String })\r\n\tbadge = ''\r\n\r\n\t/**\r\n\t * Badge variant\r\n\t */\r\n\t@property({ type: String })\r\n\tbadgeVariant: 'error' | 'primary' | 'secondary' = 'error'\r\n\r\n\t/**\r\n\t * Whether to show the label (controlled by parent rail)\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, attribute: 'show-label' })\r\n\tshowLabel = false\r\n\r\n\t/**\r\n\t * Whether this item is disabled\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\tdisabled = false\r\n\r\n\t/**\r\n\t * Whether this is a nested item (sub-navigation)\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\tnested = false\r\n\r\n\t/**\r\n\t * Whether this item represents a group separator\r\n\t * @default false\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\tgroup = false\r\n\r\n\t// State\r\n\t@state()\r\n\tprivate showRipple = false\r\n\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\r\n\t\t// Set up hover tracking\r\n\t\tmerge(\r\n\t\t\tfromEvent(this, 'mouseenter').pipe(tap(() => this.hovering$.next(true))),\r\n\t\t\tfromEvent(this, 'mouseleave').pipe(tap(() => this.hovering$.next(false)))\r\n\t\t).pipe(takeUntil(this.disconnecting)).subscribe()\r\n\r\n\t\t// Set up press tracking\r\n\t\tmerge(\r\n\t\t\tfromEvent(this, 'mousedown').pipe(tap(() => this.pressing$.next(true))),\r\n\t\t\tfromEvent(this, 'mouseup').pipe(tap(() => this.pressing$.next(false))),\r\n\t\t\tfromEvent(this, 'mouseleave').pipe(tap(() => this.pressing$.next(false)))\r\n\t\t).pipe(takeUntil(this.disconnecting)).subscribe()\r\n\r\n\r\n\t\t// Ripple effect with M3 timing\r\n\t\tthis.pressing$.pipe(\r\n\t\t\ttap(pressing => {\r\n\t\t\t\tif (pressing && !this.disabled) {\r\n\t\t\t\t\tthis.showRipple = true\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\t// M3 standard ripple duration\r\n\t\t\tdelay(600),\r\n\t\t\ttap(() => this.showRipple = false),\r\n\t\t\ttakeUntil(this.disconnecting)\r\n\t\t).subscribe()\r\n\r\n\t\t// Subscribe to active state changes for reactive updates\r\n\t\tthis.active$.pipe(\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\ttap((isActive) => {\r\n\t\t\t\tthis.requestUpdate()\r\n\t\t\t\t// Update ARIA attributes reactively\r\n\t\t\t\tthis.setAttribute('aria-selected', String(isActive))\r\n\t\t\t\tthis.setAttribute('tabindex', isActive ? '0' : '-1')\r\n\t\t\t}),\r\n\t\t\ttakeUntil(this.disconnecting)\r\n\t\t).subscribe()\r\n\r\n\t\t// Set ARIA attributes\r\n\t\tthis.setAttribute('role', 'listitem')\r\n\t\tif (!this.hasAttribute('tabindex')) {\r\n\t\t\tthis.setAttribute('tabindex', this.active ? '0' : '-1')\r\n\t\t}\r\n\t}\r\n\r\n\tupdated(changedProperties: PropertyValues) {\r\n\t\tsuper.updated(changedProperties)\r\n\r\n\t\t// Active state is now handled by the BehaviorSubject subscription\r\n\t\t// So we don't need to duplicate it here\r\n\r\n\t\tif (changedProperties.has('disabled')) {\r\n\t\t\tthis.setAttribute('aria-disabled', String(this.disabled))\r\n\t\t}\r\n\r\n\t\tif (changedProperties.has('label')) {\r\n\t\t\tthis.setAttribute('aria-label', this.label)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Handle click events\r\n\t */\r\n\tprivate handleClick(event: Event) {\r\n\t\tif (this.disabled) {\r\n\t\t\tevent.preventDefault()\r\n\t\t\tevent.stopPropagation()\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Emit navigate event with the value\r\n\t\tthis.dispatchEvent(new CustomEvent('navigate', {\r\n\t\t\tdetail: this.value || this.label,\r\n\t\t\tbubbles: true,\r\n\t\t\tcomposed: true\r\n\t\t}))\r\n\r\n\t\t// Visual feedback is handled by the ripple effect in connectedCallback\r\n\t\t// The parent rail will confirm and update via activeIndex\r\n\t}\r\n\r\n\t/**\r\n\t * Handle keyboard events\r\n\t */\r\n\tprivate handleKeyDown(event: KeyboardEvent) {\r\n\t\tif (this.disabled) return\r\n\r\n\t\tif (event.key === 'Enter' || event.key === ' ') {\r\n\t\t\tevent.preventDefault()\r\n\t\t\tthis.click()\r\n\t\t}\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\tconst hasCustomIcon = this.querySelector('[slot=\"icon\"]')\r\n\t\tconst hasCustomContent = this.querySelector(':not([slot])')\r\n\t\tconst hasCustomBadge = this.querySelector('[slot=\"badge\"]')\r\n\r\n\t\t// M3 Navigation Rail Item classes with theme integration\r\n\t\tconst containerClasses = this.classMap({\r\n\t\t\t// Layout & Spacing (M3 56px height, 12px vertical padding)\r\n\t\t\t'flex flex-col items-center justify-center': true,\r\n\t\t\t'min-h-14 w-full': true, // min-h-14 = 56px\r\n\t\t\t'py-3': true, // py-3 = 12px top/bottom\r\n\t\t\t'gap-1': true, // gap-1 = 4px\r\n\r\n\t\t\t// M3 Shape & Interaction\r\n\t\t\t'rounded-lg': true, // M3 large corner radius\r\n\t\t\t'cursor-pointer': true,\r\n\t\t\t'relative': true,\r\n\t\t\t'select-none': true,\r\n\t\t\t'box-border': true,\r\n\r\n\t\t\t// Colors & States\r\n\t\t\t'text-surface-onVariant': !this.active,\r\n\t\t\t'text-secondary-onContainer': this.active,\r\n\t\t\t'hover:bg-surface-containerHighest': true,\r\n\r\n\t\t\t// Transitions (M3 emphasized motion)\r\n\t\t\t'transition-all duration-150 ease-out': true,\r\n\r\n\t\t\t// Disabled state\r\n\t\t\t'pointer-events-none opacity-38': this.disabled,\r\n\r\n\t\t\t// Active ripple effect\r\n\t\t\t'[&>.ripple]:scale-100': this.showRipple,\r\n\r\n\t\t\t// Nested item adjustments\r\n\t\t\t'min-h-12 pl-8': this.nested, // 48px height, 32px left padding for nested\r\n\r\n\t\t\t// Group separator\r\n\t\t\t'mb-2 after:absolute after:bottom-[-4px] after:left-3 after:right-3 after:h-px after:bg-outline-variant after:opacity-12': this.group,\r\n\t\t})\r\n\r\n\t\t// Icon container with active indicator\r\n\t\tconst iconContainerClasses = this.classMap({\r\n\t\t\t'flex items-center justify-center': true,\r\n\t\t\t'w-auto min-w-14 h-8': true, // 56px min-width, 32px height\r\n\t\t\t'flex-shrink-0 relative z-10': true,\r\n\t\t})\r\n\r\n\t\t// Active indicator behind icon\r\n\t\tconst indicatorClasses = this.classMap({\r\n\t\t\t'absolute top-1/2 left-1/2': true,\r\n\t\t\t'w-14 h-8': true, // 56px x 32px\r\n\t\t\t'rounded-lg': true, // M3 large corner radius\r\n\t\t\t'bg-secondary-container': true,\r\n\t\t\t'transition-transform duration-150 ease-out': true,\r\n\t\t\t'z-0': true,\r\n\t\t\t// Transform based on active state\r\n\t\t\t'scale-0 -translate-x-1/2 -translate-y-1/2': !this.active,\r\n\t\t\t'scale-100 -translate-x-1/2 -translate-y-1/2': this.active,\r\n\t\t})\r\n\r\n\t\t// Icon styling\r\n\t\tconst iconClasses = this.classMap({\r\n\t\t\t'text-2xl leading-none': !this.nested, // 24px icon for normal\r\n\t\t\t'text-xl leading-none': this.nested, // 20px icon for nested\r\n\t\t\t'relative z-10': true,\r\n\t\t\t// Material Symbols font variations handled via CSS custom properties\r\n\t\t})\r\n\r\n\t\t// Label styling\r\n\t\tconst labelClasses = this.classMap({\r\n\t\t\t'text-xs font-medium leading-4': true, // 12px, medium weight, 16px line height\r\n\t\t\t'text-center': true,\r\n\t\t\t'overflow-hidden text-ellipsis whitespace-nowrap': true,\r\n\t\t\t'z-10 max-w-14 px-1': true, // max 56px width, 4px horizontal padding\r\n\t\t\t'hidden': !this.showLabel && !this.label, // Hide if not shown or no label\r\n\t\t})\r\n\r\n\t\t// Badge styling with dynamic colors\r\n\t\tconst badgeClasses = this.classMap({\r\n\t\t\t'absolute top-2 right-3': true, // 8px from top, 12px from right\r\n\t\t\t'min-w-4 h-4': true, // 16px min-width and height\r\n\t\t\t'rounded-sm': true, // M3 small corner radius\r\n\t\t\t'text-xs font-semibold': true, // 11px, 600 weight\r\n\t\t\t'flex items-center justify-center': true,\r\n\t\t\t'px-1 box-border z-20': true, // 4px padding\r\n\t\t\t'animate-pulse': true, // Pulse animation\r\n\t\t\t// Dynamic background based on variant\r\n\t\t\t'bg-error-default text-error-on': this.badgeVariant === 'error',\r\n\t\t\t'bg-primary-default text-primary-on': this.badgeVariant === 'primary',\r\n\t\t\t'bg-secondary-default text-secondary-on': this.badgeVariant === 'secondary',\r\n\t\t})\r\n\r\n\t\t// Ripple effect classes\r\n\t\tconst rippleClasses = this.classMap({\r\n\t\t\t'absolute inset-0 rounded-lg overflow-hidden z-0': true,\r\n\t\t\t'before:content-[\"\"] before:absolute before:top-1/2 before:left-1/2': true,\r\n\t\t\t'before:w-0 before:h-0 before:rounded-full': true,\r\n\t\t\t'before:bg-current before:opacity-0': true,\r\n\t\t\t'before:-translate-x-1/2 before:-translate-y-1/2': true,\r\n\t\t\t'before:transition-all before:duration-300': true,\r\n\t\t\t// Active state\r\n\t\t\t'before:w-[200%] before:h-[200%] before:opacity-12': this.showRipple,\r\n\t\t})\r\n\r\n\t\treturn html`\r\n\t\t\t<div\r\n\t\t\t\tclass=${containerClasses}\r\n\t\t\t\tpart=\"container\"\r\n\t\t\t\t@click=${this.handleClick}\r\n\t\t\t\t@keydown=${this.handleKeyDown}\r\n\t\t\t\tstyle=\"outline: ${this.matches(':focus-visible') ? '2px solid var(--schmancy-sys-color-primary-default)' : 'none'}; outline-offset: 2px;\"\r\n\t\t\t>\r\n\t\t\t\t<span class=${rippleClasses} aria-hidden=\"true\"></span>\r\n\r\n\t\t\t\t${when(hasCustomContent,\r\n\t\t\t\t\t() => html`<slot></slot>`,\r\n\t\t\t\t\t() => html`\r\n\t\t\t\t\t\t<div class=${iconContainerClasses} part=\"icon\">\r\n\t\t\t\t\t\t\t<span class=${indicatorClasses} part=\"indicator\" aria-hidden=\"true\"></span>\r\n\t\t\t\t\t\t\t${when(hasCustomIcon,\r\n\t\t\t\t\t\t\t\t() => html`<slot name=\"icon\"></slot>`,\r\n\t\t\t\t\t\t\t\t() => when(this.icon,\r\n\t\t\t\t\t\t\t\t\t() => html`\r\n\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\tclass=${iconClasses}\r\n\t\t\t\t\t\t\t\t\t\t\tpart=\"icon-text\"\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"font-family: 'Material Symbols Outlined'; font-variation-settings: 'FILL' ${this.active ? '1' : '0'}, 'wght' 400, 'GRAD' 0, 'opsz' ${this.nested ? '20' : '24'};\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t${this.icon}\r\n\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t`\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t${when(this.label,\r\n\t\t\t\t\t\t\t() => html`<span class=${labelClasses} part=\"label\">${this.label}</span>`\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t`\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t${when(this.badge,\r\n\t\t\t\t\t() => html`\r\n\t\t\t\t\t\t${when(hasCustomBadge,\r\n\t\t\t\t\t\t\t() => html`<slot name=\"badge\"></slot>`,\r\n\t\t\t\t\t\t\t() => html`\r\n\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\tclass=${badgeClasses}\r\n\t\t\t\t\t\t\t\t\tpart=\"badge\"\r\n\t\t\t\t\t\t\t\t\taria-label=\"${this.badge} notifications\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t${this.badge}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t`\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t`\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t<!-- Tooltip shown via title attribute -->\r\n\t\t\t\t${when(this.hasAttribute('title'),\r\n\t\t\t\t\t() => html`\r\n\t\t\t\t\t\t<div class=\"\r\n\t\t\t\t\t\t\tabsolute left-[calc(100%+8px)] top-1/2 -translate-y-1/2\r\n\t\t\t\t\t\t\tbg-surface-inverse text-surface-inverseOn\r\n\t\t\t\t\t\t\tpx-2 py-1 rounded-sm text-xs whitespace-nowrap\r\n\t\t\t\t\t\t\tz-[1000] pointer-events-none opacity-0\r\n\t\t\t\t\t\t\thover:opacity-100 hover:translate-x-0\r\n\t\t\t\t\t\t\ttransition-all duration-150 ease-out\r\n\t\t\t\t\t\t\t-translate-x-1\r\n\t\t\t\t\t\t\" aria-hidden=\"true\">\r\n\t\t\t\t\t\t\t${this.getAttribute('title')}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t`\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-navigation-rail-item': SchmancyNavigationRailItem\r\n\t}\r\n}","import { $LitElement } from '@mixins/index'\r\nimport { html, PropertyValues } from 'lit'\r\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\r\nimport { BehaviorSubject, takeUntil } from 'rxjs'\r\nimport { distinctUntilChanged, tap } from 'rxjs/operators'\r\nimport { SchmancyNavigationRailItem } from './navigation-rail-item'\r\n\r\nexport type NavigateEvent = CustomEvent<string>\r\n\r\nexport type NavigationRailMenuClickEvent = CustomEvent<void>\r\n\r\nexport type NavigationRailFabClickEvent = CustomEvent<void>\r\n\r\nexport type LabelVisibility = 'all' | 'selected' | 'none'\r\n\r\n/**\r\n * Material Design 3 Navigation Rail Component\r\n * @see https://m3.material.io/components/navigation-rail/overview\r\n *\r\n * `<schmancy-navigation-rail>` component\r\n *\r\n * A Material Design 3 vertical navigation component positioned on the left side of an application.\r\n * Navigation rails provide access to between 3-7 primary destinations with a compact footprint.\r\n *\r\n * @element schmancy-navigation-rail\r\n * @slot fab - Slot for a floating action button at the top\r\n * @slot menu - Slot for a menu icon or button below the FAB\r\n * @slot header - Custom header content slot\r\n * @slot footer - Custom footer content slot\r\n * @slot - Default slot for navigation rail items\r\n *\r\n * @fires navigate - When a navigation item is selected\r\n * @fires menu-click - When the menu button is clicked\r\n * @fires fab-click - When the FAB is clicked\r\n *\r\n * @csspart rail - The main rail container\r\n * @csspart header - The header section\r\n * @csspart nav - The navigation items container\r\n * @csspart footer - The footer section\r\n *\r\n * @example\r\n * <schmancy-navigation-rail activeIndex=\"0\">\r\n * <schmancy-button slot=\"fab\" variant=\"filled\" aria-label=\"Compose\">\r\n * <schmancy-icon>add</schmancy-icon>\r\n * </schmancy-button>\r\n * <schmancy-button slot=\"menu\" variant=\"text\" aria-label=\"Menu\">\r\n * <schmancy-icon>menu</schmancy-icon>\r\n * </schmancy-button>\r\n * <schmancy-navigation-rail-item icon=\"home\" label=\"Home\"></schmancy-navigation-rail-item>\r\n * <schmancy-navigation-rail-item icon=\"search\" label=\"Search\"></schmancy-navigation-rail-item>\r\n * <schmancy-navigation-rail-item icon=\"favorite\" label=\"Favorites\" badge=\"3\"></schmancy-navigation-rail-item>\r\n * <schmancy-navigation-rail-item icon=\"settings\" label=\"Settings\"></schmancy-navigation-rail-item>\r\n * </schmancy-navigation-rail>\r\n */\r\n@customElement('schmancy-navigation-rail')\r\nexport class SchmancyNavigationRail extends $LitElement() {\r\n\t// Observable state\r\n\tprivate activeIndex$ = new BehaviorSubject<number>(-1)\r\n\r\n\t// Properties\r\n\t/**\r\n\t * The currently active item index\r\n\t * @default -1\r\n\t */\r\n\t@property({ type: Number })\r\n\tget activeIndex() {\r\n\t\treturn this.activeIndex$.value\r\n\t}\r\n\tset activeIndex(value: number) {\r\n\t\tthis.activeIndex$.next(value)\r\n\t}\r\n\r\n\t/**\r\n\t * The currently active item value (for programmatic selection)\r\n\t */\r\n\t@property({ type: String })\r\n\tget activeValue() {\r\n\t\treturn this._activeValue\r\n\t}\r\n\tset activeValue(value: string) {\r\n\t\tthis._activeValue = value\r\n\t\tthis.updateActiveByValue(value)\r\n\t}\r\n\tprivate _activeValue = ''\r\n\r\n\t/**\r\n\t * When to show labels for navigation items\r\n\t * 'all' - Always show labels for all items\r\n\t * 'selected' - Only show label for selected item\r\n\t * 'none' - Never show labels\r\n\t * @default 'all'\r\n\t */\r\n\t@property({ type: String, attribute: 'label-visibility', reflect: true })\r\n\tlabelVisibility: LabelVisibility = 'all'\r\n\r\n\t/**\r\n\t * Alignment of navigation items\r\n\t * @default 'top'\r\n\t */\r\n\t@property({ type: String, reflect: true })\r\n\talignment: 'top' | 'center' | 'bottom' = 'top'\r\n\r\n\t/**\r\n\t * Show tooltips when labels are hidden\r\n\t * @default true\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tshowTooltips = true\r\n\r\n\t/**\r\n\t * Enable keyboard navigation\r\n\t * @default true\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tkeyboardNavigation = true\r\n\r\n\t// State\r\n\t@state()\r\n\tprivate focusedIndex = -1\r\n\r\n\t// Queries\r\n\r\n\t@queryAssignedElements({ flatten: true })\r\n\tprivate allElements!: Element[]\r\n\r\n\tprivate get navigationItems(): SchmancyNavigationRailItem[] {\r\n\t\treturn this.allElements.filter(el => el.tagName === 'SCHMANCY-NAVIGATION-RAIL-ITEM') as SchmancyNavigationRailItem[]\r\n\t}\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\r\n\t\t// Set up keyboard navigation if enabled\r\n\t\tif (this.keyboardNavigation) {\r\n\t\t\tthis.addEventListener('keydown', this.handleKeyDown)\r\n\t\t}\r\n\r\n\t\t// Subscribe to active index changes with distinct values only\r\n\t\tthis.activeIndex$\r\n\t\t\t.pipe(\r\n\t\t\t\tdistinctUntilChanged(),\r\n\t\t\t\ttap(index => this.updateActiveStates(index)),\r\n\t\t\t\ttakeUntil(this.disconnecting),\r\n\t\t\t)\r\n\t\t\t.subscribe()\r\n\r\n\t\t// Listen for navigate events from child items\r\n\t\tthis.setupNavigateListener()\r\n\r\n\t\t// Set up label visibility\r\n\t\tthis.updateLabelVisibility()\r\n\r\n\t\t// Update ARIA attributes\r\n\t\tthis.setAttribute('role', 'navigation')\r\n\t\tthis.setAttribute('aria-label', 'Main navigation')\r\n\t}\r\n\r\n\tupdated(changedProperties: PropertyValues) {\r\n\t\tsuper.updated(changedProperties)\r\n\r\n\t\tif (changedProperties.has('labelVisibility')) {\r\n\t\t\tthis.updateLabelVisibility()\r\n\t\t}\r\n\r\n\t\tif (changedProperties.has('activeValue')) {\r\n\t\t\tthis.updateActiveByValue(this.activeValue)\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateActiveStates(index: number) {\r\n\t\tthis.navigationItems.forEach((item, i) => {\r\n\t\t\tconst isActive = i === index\r\n\t\t\titem.active = isActive\r\n\t\t\titem.setAttribute('aria-selected', String(isActive))\r\n\t\t\titem.setAttribute('tabindex', isActive ? '0' : '-1')\r\n\r\n\t\t\t// Update activeValue when index changes\r\n\t\t\tif (isActive) {\r\n\t\t\t\tthis._activeValue = item.value || item.label || ''\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprivate updateActiveByValue(value: string) {\r\n\t\tconst index = this.navigationItems.findIndex(item => item.getAttribute('value') === value || item.label === value)\r\n\t\tif (index >= 0) {\r\n\t\t\tthis.activeIndex = index\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateLabelVisibility() {\r\n\t\tthis.navigationItems.forEach((item, i) => {\r\n\t\t\tconst shouldShowLabel =\r\n\t\t\t\tthis.labelVisibility === 'all' || (this.labelVisibility === 'selected' && i === this.activeIndex)\r\n\r\n\t\t\titem.showLabel = shouldShowLabel\r\n\r\n\t\t\t// Add tooltips when labels are hidden\r\n\t\t\tif (this.showTooltips && !shouldShowLabel && item.label) {\r\n\t\t\t\titem.setAttribute('title', item.label)\r\n\t\t\t} else {\r\n\t\t\t\titem.removeAttribute('title')\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\t// Handle hover to show all labels\r\n\tprivate handleMouseEnter = () => {\r\n\t\tthis.navigationItems.forEach(item => {\r\n\t\t\titem.showLabel = true\r\n\t\t})\r\n\t}\r\n\r\n\tprivate handleMouseLeave = () => {\r\n\t\tthis.updateLabelVisibility()\r\n\t}\r\n\r\n\tprivate handleKeyDown(event: KeyboardEvent) {\r\n\t\tconst items = this.navigationItems\r\n\t\tif (items.length === 0) return\r\n\r\n\t\tlet newIndex = this.focusedIndex >= 0 ? this.focusedIndex : this.activeIndex\r\n\r\n\t\tswitch (event.key) {\r\n\t\t\tcase 'ArrowDown':\r\n\t\t\t\tevent.preventDefault()\r\n\t\t\t\tnewIndex = (newIndex + 1) % items.length\r\n\t\t\t\tbreak\r\n\t\t\tcase 'ArrowUp':\r\n\t\t\t\tevent.preventDefault()\r\n\t\t\t\tnewIndex = newIndex <= 0 ? items.length - 1 : newIndex - 1\r\n\t\t\t\tbreak\r\n\t\t\tcase 'Home':\r\n\t\t\t\tevent.preventDefault()\r\n\t\t\t\tnewIndex = 0\r\n\t\t\t\tbreak\r\n\t\t\tcase 'End':\r\n\t\t\t\tevent.preventDefault()\r\n\t\t\t\tnewIndex = items.length - 1\r\n\t\t\t\tbreak\r\n\t\t\tcase 'Enter':\r\n\t\t\tcase ' ':\r\n\t\t\t\tevent.preventDefault()\r\n\t\t\t\tif (newIndex >= 0) {\r\n\t\t\t\t\titems[newIndex].click()\r\n\t\t\t\t}\r\n\t\t\t\treturn\r\n\t\t\tdefault:\r\n\t\t\t\treturn\r\n\t\t}\r\n\r\n\t\tthis.focusedIndex = newIndex\r\n\t\titems[newIndex].focus()\r\n\t}\r\n\r\n\tprivate handleFabClick(event: Event) {\r\n\t\tevent.stopPropagation()\r\n\t\tthis.dispatchEvent(\r\n\t\t\tnew CustomEvent('fab-click', {\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tcomposed: true,\r\n\t\t\t}),\r\n\t\t)\r\n\t}\r\n\r\n\tprivate handleMenuClick(event: Event) {\r\n\t\tevent.stopPropagation()\r\n\t\tthis.dispatchEvent(\r\n\t\t\tnew CustomEvent('menu-click', {\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tcomposed: true,\r\n\t\t\t}),\r\n\t\t)\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\t// Host-level classes for the navigation rail\r\n\t\tconst hostClasses = this.classMap({\r\n\t\t\t// Layout & Structure - Fixed width to prevent layout shift\r\n\t\t\t'flex flex-col': true,\r\n\t\t\t'w-20 h-full': true, // w-20 = 80px fixed width\r\n\t\t\t'box-border relative overflow-visible': true,\r\n\t\t\t'z-10 hover:z-[100]': true, // Base z-index, elevated on hover for overlay\r\n\r\n\t\t\t// Mobile responsive - smaller fixed width\r\n\t\t\t'md:w-20 w-14': true, // w-14 = 56px on mobile\r\n\t\t})\r\n\r\n\t\t// Rail container - this expands on hover\r\n\t\tconst railClasses = this.classMap({\r\n\t\t\t// Layout & Structure\r\n\t\t\t'flex flex-col h-full': true,\r\n\t\t\t'w-20 px-3 py-2 gap-1': true, // w-20 = 80px base width, 12px horizontal padding, 8px vertical padding\r\n\t\t\t'box-border relative': true,\r\n\r\n\t\t\t// M3 Colors & Theme\r\n\t\t\t'bg-surface-default text-surface-on': true,\r\n\r\n\t\t\t// M3 Motion - smooth transitions for width and shadow\r\n\t\t\t'transition-all duration-300 ease-emphasized': true,\r\n\r\n\t\t\t// Hover state - expand to 240px with elevation shadow\r\n\t\t\t'hover:w-60': true, // w-60 = 240px expanded width\r\n\t\t\t'hover:shadow-lg': true, // M3 elevation 3 shadow\r\n\r\n\t\t\t// Mobile responsive - base width and hover expansion\r\n\t\t\t'md:w-20 w-14': true, // w-14 = 56px on mobile, w-20 = 80px on desktop\r\n\t\t\t'md:px-3 px-2': true, // Smaller padding on mobile\r\n\t\t\t'md:hover:w-60 hover:w-50': true, // w-50 = 200px expansion on mobile\r\n\t\t})\r\n\r\n\t\t// Header section classes\r\n\t\tconst headerClasses = this.classMap({\r\n\t\t\t'flex flex-col items-center gap-1 mb-2': true,\r\n\t\t\t// FAB and menu button spacing\r\n\t\t\t'[&_[slot=\"fab\"]]:mb-2': true,\r\n\t\t\t'[&_[slot=\"menu\"]]:mb-3': true,\r\n\t\t})\r\n\r\n\t\t// Navigation container classes with alignment and scrolling\r\n\t\tconst navClasses = this.classMap({\r\n\t\t\t'flex-1 flex flex-col gap-1': true,\r\n\t\t\t'overflow-y-auto overflow-x-hidden': true,\r\n\t\t\t// Alignment variants\r\n\t\t\t'justify-start': this.alignment === 'top',\r\n\t\t\t'justify-center': this.alignment === 'center',\r\n\t\t\t'justify-end': this.alignment === 'bottom',\r\n\t\t\t// Custom scrollbar styling - thin scrollbars with theme colors\r\n\t\t\t'scrollbar-thin scrollbar-track-transparent scrollbar-thumb-outline-variant': true,\r\n\t\t})\r\n\r\n\t\t// Footer section classes\r\n\t\tconst footerClasses = this.classMap({\r\n\t\t\t'flex flex-col items-center gap-1 mt-auto pt-2': true,\r\n\t\t})\r\n\r\n\t\treturn html`\r\n\t\t\t<div\r\n\t\t\t\tclass=${hostClasses}\r\n\t\t\t\t@mouseenter=${this.handleMouseEnter}\r\n\t\t\t\t@mouseleave=${this.handleMouseLeave}\r\n\t\t\t>\r\n\t\t\t\t<div class=${railClasses} part=\"rail\">\r\n\t\t\t\t\t<div class=${headerClasses} part=\"header\">\r\n\t\t\t\t\t\t<slot name=\"fab\" @click=${this.handleFabClick}></slot>\r\n\t\t\t\t\t\t<slot name=\"menu\" @click=${this.handleMenuClick}></slot>\r\n\t\t\t\t\t\t<slot name=\"header\"></slot>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<nav class=${navClasses} part=\"nav\" role=\"list\">\r\n\t\t\t\t\t\t<slot @slotchange=${this.handleSlotChange}></slot>\r\n\t\t\t\t\t</nav>\r\n\r\n\t\t\t\t\t<div class=${footerClasses} part=\"footer\">\r\n\t\t\t\t\t\t<slot name=\"footer\"></slot>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n\r\n\tprivate setupNavigateListener() {\r\n\t\t// Listen for navigate events from child items\r\n\t\tthis.addEventListener('navigate', (e: Event) => {\r\n\t\t\tif (e instanceof CustomEvent) {\r\n\t\t\t\tconst value = e.detail\r\n\t\t\t\t// Find the item that dispatched the event and update active state\r\n\t\t\t\tconst itemIndex = this.navigationItems.findIndex(item => item.value === value || item.label === value)\r\n\t\t\t\tif (itemIndex >= 0) {\r\n\t\t\t\t\tthis.activeIndex = itemIndex\r\n\t\t\t\t\tthis._activeValue = value\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprivate handleSlotChange() {\r\n\t\t// Update items when slot content changes\r\n\t\tthis.updateLabelVisibility()\r\n\t\tthis.updateActiveStates(this.activeIndex)\r\n\r\n\t\t// Set ARIA attributes on items\r\n\t\tthis.navigationItems.forEach((item, index) => {\r\n\t\t\titem.setAttribute('role', 'listitem')\r\n\t\t\tif (!item.hasAttribute('tabindex')) {\r\n\t\t\t\titem.setAttribute('tabindex', index === this.activeIndex ? '0' : '-1')\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n}\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-navigation-rail': SchmancyNavigationRail\r\n\t}\r\n}\r\n"],"names":["SchmancyNavigationRailItem","$LitElement","constructor","super","arguments","this","hovering$","BehaviorSubject","pressing$","active$","icon","label","value","badge","badgeVariant","showLabel","disabled","nested","group","showRipple","active","next","selected","connectedCallback","merge","fromEvent","pipe","tap","takeUntil","disconnecting","subscribe","pressing","delay","distinctUntilChanged","isActive","requestUpdate","setAttribute","String","hasAttribute","changedProperties","updated","has","event","preventDefault","stopPropagation","dispatchEvent","CustomEvent","detail","bubbles","composed","key","click","render","hasCustomIcon","querySelector","hasCustomContent","hasCustomBadge","containerClasses","classMap","relative","iconContainerClasses","indicatorClasses","iconClasses","labelClasses","hidden","badgeClasses","rippleClasses","html","handleClick","handleKeyDown","matches","when","getAttribute","__decorateClass","property","type","prototype","Boolean","reflect","attribute","state","customElement","SchmancyNavigationRail","activeIndex$","_activeValue","labelVisibility","alignment","showTooltips","keyboardNavigation","focusedIndex","handleMouseEnter","navigationItems","forEach","item","handleMouseLeave","updateLabelVisibility","activeIndex","activeValue","updateActiveByValue","allElements","filter","el","tagName","addEventListener","index","updateActiveStates","setupNavigateListener","i","findIndex","shouldShowLabel","removeAttribute","items","length","newIndex","focus","hostClasses","railClasses","headerClasses","navClasses","footerClasses","handleFabClick","handleMenuClick","handleSlotChange","e","itemIndex","Number","queryAssignedElements","flatten"],"mappings":"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"}
@@ -1,78 +0,0 @@
1
- "use strict";const o=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const a=require("lit/decorators.js");require("./tailwind.mixin-Cl1ei_QC.cjs");const b=require("./litElement.mixin-B5rh4uVu.cjs"),h=require("lit"),u=require("lit/directives/when.js"),r=require("rxjs/operators");var g=Object.defineProperty,f=Object.getOwnPropertyDescriptor,l=(e,t,i,s)=>{for(var c,n=s>1?void 0:s?f(t,i):t,p=e.length-1;p>=0;p--)(c=e[p])&&(n=(s?c(t,i,n):c(n))||n);return s&&n&&g(t,i,n),n};exports.SchmancyNavigationRailItem=class extends b.$LitElement(){constructor(){super(...arguments),this.hovering$=new o.BehaviorSubject(!1),this.pressing$=new o.BehaviorSubject(!1),this.active$=new o.BehaviorSubject(!1),this.icon="",this.label="",this.value="",this.badge="",this.badgeVariant="error",this.showLabel=!1,this.disabled=!1,this.nested=!1,this.group=!1,this.showRipple=!1}get active(){return this.active$.value}set active(e){this.active$.next(e)}get selected(){return this.active}set selected(e){this.active=e}connectedCallback(){super.connectedCallback(),o.merge(o.fromEvent(this,"mouseenter").pipe(r.tap(()=>this.hovering$.next(!0))),o.fromEvent(this,"mouseleave").pipe(r.tap(()=>this.hovering$.next(!1)))).pipe(o.takeUntil(this.disconnecting)).subscribe(),o.merge(o.fromEvent(this,"mousedown").pipe(r.tap(()=>this.pressing$.next(!0))),o.fromEvent(this,"mouseup").pipe(r.tap(()=>this.pressing$.next(!1))),o.fromEvent(this,"mouseleave").pipe(r.tap(()=>this.pressing$.next(!1)))).pipe(o.takeUntil(this.disconnecting)).subscribe(),this.pressing$.pipe(r.tap(e=>{e&&!this.disabled&&(this.showRipple=!0)}),r.delay(600),r.tap(()=>this.showRipple=!1),o.takeUntil(this.disconnecting)).subscribe(),this.active$.pipe(r.distinctUntilChanged(),r.tap(e=>{this.requestUpdate(),this.setAttribute("aria-selected",String(e)),this.setAttribute("tabindex",e?"0":"-1")}),o.takeUntil(this.disconnecting)).subscribe(),this.setAttribute("role","listitem"),this.hasAttribute("tabindex")||this.setAttribute("tabindex",this.active?"0":"-1")}updated(e){super.updated(e),e.has("disabled")&&this.setAttribute("aria-disabled",String(this.disabled)),e.has("label")&&this.setAttribute("aria-label",this.label)}handleClick(e){if(this.disabled)return e.preventDefault(),void e.stopPropagation();this.dispatchEvent(new CustomEvent("navigate",{detail:this.value||this.label,bubbles:!0,composed:!0}))}handleKeyDown(e){this.disabled||e.key!=="Enter"&&e.key!==" "||(e.preventDefault(),this.click())}render(){const e=this.querySelector('[slot="icon"]'),t=this.querySelector(":not([slot])"),i=this.querySelector('[slot="badge"]'),s=this.classMap({"flex flex-col items-center justify-center":!0,"min-h-14 w-full":!0,"py-3":!0,"gap-1":!0,"rounded-lg":!0,"cursor-pointer":!0,relative:!0,"select-none":!0,"box-border":!0,"text-surface-onVariant":!this.active,"text-secondary-onContainer":this.active,"hover:bg-surface-containerHighest":!0,"transition-all duration-150 ease-out":!0,"pointer-events-none opacity-38":this.disabled,"[&>.ripple]:scale-100":this.showRipple,"min-h-12 pl-8":this.nested,"mb-2 after:absolute after:bottom-[-4px] after:left-3 after:right-3 after:h-px after:bg-outline-variant after:opacity-12":this.group}),c=this.classMap({"flex items-center justify-center":!0,"w-auto min-w-14 h-8":!0,"flex-shrink-0 relative z-10":!0}),n=this.classMap({"absolute top-1/2 left-1/2":!0,"w-14 h-8":!0,"rounded-lg":!0,"bg-secondary-container":!0,"transition-transform duration-150 ease-out":!0,"z-0":!0,"scale-0 -translate-x-1/2 -translate-y-1/2":!this.active,"scale-100 -translate-x-1/2 -translate-y-1/2":this.active}),p=this.classMap({"text-2xl leading-none":!this.nested,"text-xl leading-none":this.nested,"relative z-10":!0}),v=this.classMap({"text-xs font-medium leading-4":!0,"text-center":!0,"overflow-hidden text-ellipsis whitespace-nowrap":!0,"z-10 max-w-14 px-1":!0,hidden:!this.showLabel&&!this.label}),m=this.classMap({"absolute top-2 right-3":!0,"min-w-4 h-4":!0,"rounded-sm":!0,"text-xs font-semibold":!0,"flex items-center justify-center":!0,"px-1 box-border z-20":!0,"animate-pulse":!0,"bg-error-default text-error-on":this.badgeVariant==="error","bg-primary-default text-primary-on":this.badgeVariant==="primary","bg-secondary-default text-secondary-on":this.badgeVariant==="secondary"}),y=this.classMap({"absolute inset-0 rounded-lg overflow-hidden z-0":!0,'before:content-[""] before:absolute before:top-1/2 before:left-1/2':!0,"before:w-0 before:h-0 before:rounded-full":!0,"before:bg-current before:opacity-0":!0,"before:-translate-x-1/2 before:-translate-y-1/2":!0,"before:transition-all before:duration-300":!0,"before:w-[200%] before:h-[200%] before:opacity-12":this.showRipple});return h.html`
2
- <div
3
- class=${s}
4
- part="container"
5
- @click=${this.handleClick}
6
- @keydown=${this.handleKeyDown}
7
- style="outline: ${this.matches(":focus-visible")?"2px solid var(--schmancy-sys-color-primary-default)":"none"}; outline-offset: 2px;"
8
- >
9
- <span class=${y} aria-hidden="true"></span>
10
-
11
- ${u.when(t,()=>h.html`<slot></slot>`,()=>h.html`
12
- <div class=${c} part="icon">
13
- <span class=${n} part="indicator" aria-hidden="true"></span>
14
- ${u.when(e,()=>h.html`<slot name="icon"></slot>`,()=>u.when(this.icon,()=>h.html`
15
- <span
16
- class=${p}
17
- part="icon-text"
18
- style="font-family: 'Material Symbols Outlined'; font-variation-settings: 'FILL' ${this.active?"1":"0"}, 'wght' 400, 'GRAD' 0, 'opsz' ${this.nested?"20":"24"};"
19
- >
20
- ${this.icon}
21
- </span>
22
- `))}
23
- </div>
24
-
25
- ${u.when(this.label,()=>h.html`<span class=${v} part="label">${this.label}</span>`)}
26
- `)}
27
-
28
- ${u.when(this.badge,()=>h.html`
29
- ${u.when(i,()=>h.html`<slot name="badge"></slot>`,()=>h.html`
30
- <span
31
- class=${m}
32
- part="badge"
33
- aria-label="${this.badge} notifications"
34
- >
35
- ${this.badge}
36
- </span>
37
- `)}
38
- `)}
39
-
40
- <!-- Tooltip shown via title attribute -->
41
- ${u.when(this.hasAttribute("title"),()=>h.html`
42
- <div class="
43
- absolute left-[calc(100%+8px)] top-1/2 -translate-y-1/2
44
- bg-surface-inverse text-surface-inverseOn
45
- px-2 py-1 rounded-sm text-xs whitespace-nowrap
46
- z-[1000] pointer-events-none opacity-0
47
- hover:opacity-100 hover:translate-x-0
48
- transition-all duration-150 ease-out
49
- -translate-x-1
50
- " aria-hidden="true">
51
- ${this.getAttribute("title")}
52
- </div>
53
- `)}
54
- </div>
55
- `}},l([a.property({type:String})],exports.SchmancyNavigationRailItem.prototype,"icon",2),l([a.property({type:String})],exports.SchmancyNavigationRailItem.prototype,"label",2),l([a.property({type:String})],exports.SchmancyNavigationRailItem.prototype,"value",2),l([a.property({type:Boolean,reflect:!0})],exports.SchmancyNavigationRailItem.prototype,"active",1),l([a.property({type:Boolean,reflect:!0})],exports.SchmancyNavigationRailItem.prototype,"selected",1),l([a.property({type:String})],exports.SchmancyNavigationRailItem.prototype,"badge",2),l([a.property({type:String})],exports.SchmancyNavigationRailItem.prototype,"badgeVariant",2),l([a.property({type:Boolean,attribute:"show-label"})],exports.SchmancyNavigationRailItem.prototype,"showLabel",2),l([a.property({type:Boolean,reflect:!0})],exports.SchmancyNavigationRailItem.prototype,"disabled",2),l([a.property({type:Boolean,reflect:!0})],exports.SchmancyNavigationRailItem.prototype,"nested",2),l([a.property({type:Boolean,reflect:!0})],exports.SchmancyNavigationRailItem.prototype,"group",2),l([a.state()],exports.SchmancyNavigationRailItem.prototype,"showRipple",2),exports.SchmancyNavigationRailItem=l([a.customElement("schmancy-navigation-rail-item")],exports.SchmancyNavigationRailItem);var x=Object.defineProperty,w=Object.getOwnPropertyDescriptor,d=(e,t,i,s)=>{for(var c,n=s>1?void 0:s?w(t,i):t,p=e.length-1;p>=0;p--)(c=e[p])&&(n=(s?c(t,i,n):c(n))||n);return s&&n&&x(t,i,n),n};exports.SchmancyNavigationRail=class extends b.$LitElement(){constructor(){super(...arguments),this.activeIndex$=new o.BehaviorSubject(-1),this._activeValue="",this.labelVisibility="all",this.alignment="top",this.showTooltips=!0,this.keyboardNavigation=!0,this.focusedIndex=-1,this.handleMouseEnter=()=>{this.navigationItems.forEach(e=>{e.showLabel=!0})},this.handleMouseLeave=()=>{this.updateLabelVisibility()}}get activeIndex(){return this.activeIndex$.value}set activeIndex(e){this.activeIndex$.next(e)}get activeValue(){return this._activeValue}set activeValue(e){this._activeValue=e,this.updateActiveByValue(e)}get navigationItems(){return this.allElements.filter(e=>e.tagName==="SCHMANCY-NAVIGATION-RAIL-ITEM")}connectedCallback(){super.connectedCallback(),this.keyboardNavigation&&this.addEventListener("keydown",this.handleKeyDown),this.activeIndex$.pipe(r.distinctUntilChanged(),r.tap(e=>this.updateActiveStates(e)),o.takeUntil(this.disconnecting)).subscribe(),this.setupNavigateListener(),this.updateLabelVisibility(),this.setAttribute("role","navigation"),this.setAttribute("aria-label","Main navigation")}updated(e){super.updated(e),e.has("labelVisibility")&&this.updateLabelVisibility(),e.has("activeValue")&&this.updateActiveByValue(this.activeValue)}updateActiveStates(e){this.navigationItems.forEach((t,i)=>{const s=i===e;t.active=s,t.setAttribute("aria-selected",String(s)),t.setAttribute("tabindex",s?"0":"-1"),s&&(this._activeValue=t.value||t.label||"")})}updateActiveByValue(e){const t=this.navigationItems.findIndex(i=>i.getAttribute("value")===e||i.label===e);t>=0&&(this.activeIndex=t)}updateLabelVisibility(){this.navigationItems.forEach((e,t)=>{const i=this.labelVisibility==="all"||this.labelVisibility==="selected"&&t===this.activeIndex;e.showLabel=i,this.showTooltips&&!i&&e.label?e.setAttribute("title",e.label):e.removeAttribute("title")})}handleKeyDown(e){const t=this.navigationItems;if(t.length===0)return;let i=this.focusedIndex>=0?this.focusedIndex:this.activeIndex;switch(e.key){case"ArrowDown":e.preventDefault(),i=(i+1)%t.length;break;case"ArrowUp":e.preventDefault(),i=i<=0?t.length-1:i-1;break;case"Home":e.preventDefault(),i=0;break;case"End":e.preventDefault(),i=t.length-1;break;case"Enter":case" ":return e.preventDefault(),void(i>=0&&t[i].click());default:return}this.focusedIndex=i,t[i].focus()}handleFabClick(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent("fab-click",{bubbles:!0,composed:!0}))}handleMenuClick(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent("menu-click",{bubbles:!0,composed:!0}))}render(){const e=this.classMap({"flex flex-col":!0,"w-20 h-full":!0,"box-border relative overflow-visible":!0,"z-10 hover:z-[100]":!0,"md:w-20 w-14":!0}),t=this.classMap({"flex flex-col h-full":!0,"w-20 px-3 py-2 gap-1":!0,"box-border relative":!0,"bg-surface-default text-surface-on":!0,"transition-all duration-300 ease-emphasized":!0,"hover:w-60":!0,"hover:shadow-lg":!0,"md:w-20 w-14":!0,"md:px-3 px-2":!0,"md:hover:w-60 hover:w-50":!0}),i=this.classMap({"flex flex-col items-center gap-1 mb-2":!0,'[&_[slot="fab"]]:mb-2':!0,'[&_[slot="menu"]]:mb-3':!0}),s=this.classMap({"flex-1 flex flex-col gap-1":!0,"overflow-y-auto overflow-x-hidden":!0,"justify-start":this.alignment==="top","justify-center":this.alignment==="center","justify-end":this.alignment==="bottom","scrollbar-thin scrollbar-track-transparent scrollbar-thumb-outline-variant":!0}),c=this.classMap({"flex flex-col items-center gap-1 mt-auto pt-2":!0});return h.html`
56
- <div
57
- class=${e}
58
- @mouseenter=${this.handleMouseEnter}
59
- @mouseleave=${this.handleMouseLeave}
60
- >
61
- <div class=${t} part="rail">
62
- <div class=${i} part="header">
63
- <slot name="fab" @click=${this.handleFabClick}></slot>
64
- <slot name="menu" @click=${this.handleMenuClick}></slot>
65
- <slot name="header"></slot>
66
- </div>
67
-
68
- <nav class=${s} part="nav" role="list">
69
- <slot @slotchange=${this.handleSlotChange}></slot>
70
- </nav>
71
-
72
- <div class=${c} part="footer">
73
- <slot name="footer"></slot>
74
- </div>
75
- </div>
76
- </div>
77
- `}setupNavigateListener(){this.addEventListener("navigate",e=>{if(e instanceof CustomEvent){const t=e.detail,i=this.navigationItems.findIndex(s=>s.value===t||s.label===t);i>=0&&(this.activeIndex=i,this._activeValue=t)}})}handleSlotChange(){this.updateLabelVisibility(),this.updateActiveStates(this.activeIndex),this.navigationItems.forEach((e,t)=>{e.setAttribute("role","listitem"),e.hasAttribute("tabindex")||e.setAttribute("tabindex",t===this.activeIndex?"0":"-1")})}},d([a.property({type:Number})],exports.SchmancyNavigationRail.prototype,"activeIndex",1),d([a.property({type:String})],exports.SchmancyNavigationRail.prototype,"activeValue",1),d([a.property({type:String,attribute:"label-visibility",reflect:!0})],exports.SchmancyNavigationRail.prototype,"labelVisibility",2),d([a.property({type:String,reflect:!0})],exports.SchmancyNavigationRail.prototype,"alignment",2),d([a.property({type:Boolean})],exports.SchmancyNavigationRail.prototype,"showTooltips",2),d([a.property({type:Boolean})],exports.SchmancyNavigationRail.prototype,"keyboardNavigation",2),d([a.state()],exports.SchmancyNavigationRail.prototype,"focusedIndex",2),d([a.queryAssignedElements({flatten:!0})],exports.SchmancyNavigationRail.prototype,"allElements",2),exports.SchmancyNavigationRail=d([a.customElement("schmancy-navigation-rail")],exports.SchmancyNavigationRail);
78
- //# sourceMappingURL=navigation-rail-gzA0tvsL.cjs.map