@mhmo91/schmancy 0.2.109 → 0.2.110

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 (221) hide show
  1. package/dist/{animated-text-gc7T0HLa.js → animated-text-DVOOMC1D.js} +3 -3
  2. package/dist/{animated-text-gc7T0HLa.js.map → animated-text-DVOOMC1D.js.map} +1 -1
  3. package/dist/{animated-text-B-gRGTS2.cjs → animated-text-DlKO_Vrs.cjs} +2 -2
  4. package/dist/{animated-text-B-gRGTS2.cjs.map → animated-text-DlKO_Vrs.cjs.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--h6lcDbh.cjs → area.component-CsuNu7IV.cjs} +2 -2
  9. package/dist/{area.component--h6lcDbh.cjs.map → area.component-CsuNu7IV.cjs.map} +1 -1
  10. package/dist/{area.component-D9jjR4-z.js → area.component-DjuS-Jbn.js} +3 -3
  11. package/dist/{area.component-D9jjR4-z.js.map → area.component-DjuS-Jbn.js.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-DNypXTYG.js → autocomplete-DfMYQcMT.js} +3 -3
  14. package/dist/{autocomplete-DNypXTYG.js.map → autocomplete-DfMYQcMT.js.map} +1 -1
  15. package/dist/{autocomplete-Ct3zhedL.cjs → autocomplete-M8WGHj-g.cjs} +2 -2
  16. package/dist/{autocomplete-Ct3zhedL.cjs.map → autocomplete-M8WGHj-g.cjs.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/busy.cjs +1 -1
  20. package/dist/busy.js +1 -1
  21. package/dist/button.cjs +1 -1
  22. package/dist/button.js +1 -1
  23. package/dist/card.cjs +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/{checkbox-VYAzANWi.cjs → checkbox-4_xm2-8p.cjs} +2 -2
  26. package/dist/{checkbox-VYAzANWi.cjs.map → checkbox-4_xm2-8p.cjs.map} +1 -1
  27. package/dist/{checkbox-DxHSWouk.js → checkbox-DjOoDL3Z.js} +2 -2
  28. package/dist/{checkbox-DxHSWouk.js.map → checkbox-DjOoDL3Z.js.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-BL6vlm9-.js → chips-BiH92xO_.js} +3 -3
  32. package/dist/{chips-BL6vlm9-.js.map → chips-BiH92xO_.js.map} +1 -1
  33. package/dist/{chips-SxuwP65D.cjs → chips-CQiuGfz9.cjs} +2 -2
  34. package/dist/{chips-SxuwP65D.cjs.map → chips-CQiuGfz9.cjs.map} +1 -1
  35. package/dist/chips.cjs +1 -1
  36. package/dist/chips.js +1 -1
  37. package/dist/components.cjs +1 -1
  38. package/dist/components.js +1 -1
  39. package/dist/content-drawer.cjs +1 -1
  40. package/dist/content-drawer.js +1 -1
  41. package/dist/{date-range-BKcjHwBs.cjs → date-range-B48asllR.cjs} +2 -2
  42. package/dist/{date-range-BKcjHwBs.cjs.map → date-range-B48asllR.cjs.map} +1 -1
  43. package/dist/{date-range-CUnECMbS.js → date-range-L44lnjhw.js} +3 -3
  44. package/dist/{date-range-CUnECMbS.js.map → date-range-L44lnjhw.js.map} +1 -1
  45. package/dist/date-range.cjs +1 -1
  46. package/dist/date-range.js +1 -1
  47. package/dist/{delay-6t2zn7t4.js → delay-CEuQodz9.js} +2 -2
  48. package/dist/{delay-6t2zn7t4.js.map → delay-CEuQodz9.js.map} +1 -1
  49. package/dist/{delay-_tsTZ2IL.cjs → delay-ClXoku51.cjs} +2 -2
  50. package/dist/{delay-_tsTZ2IL.cjs.map → delay-ClXoku51.cjs.map} +1 -1
  51. package/dist/delay.cjs +1 -1
  52. package/dist/delay.js +1 -1
  53. package/dist/{divider-DZ_aPVkO.cjs → divider-BI9weq1x.cjs} +2 -2
  54. package/dist/{divider-DZ_aPVkO.cjs.map → divider-BI9weq1x.cjs.map} +1 -1
  55. package/dist/{divider-CdjlZINp.js → divider-Ov02T5Fs.js} +3 -3
  56. package/dist/{divider-CdjlZINp.js.map → divider-Ov02T5Fs.js.map} +1 -1
  57. package/dist/divider.cjs +1 -1
  58. package/dist/divider.js +1 -1
  59. package/dist/{flex-CxlUwIat.js → flex-05flA0jO.js} +2 -2
  60. package/dist/{flex-CxlUwIat.js.map → flex-05flA0jO.js.map} +1 -1
  61. package/dist/{flex-BONU-PFy.cjs → flex-DGkaKhhw.cjs} +2 -2
  62. package/dist/{flex-BONU-PFy.cjs.map → flex-DGkaKhhw.cjs.map} +1 -1
  63. package/dist/{form-CD_4LDVO.cjs → form-Cxd2Gv-H.cjs} +2 -2
  64. package/dist/{form-CD_4LDVO.cjs.map → form-Cxd2Gv-H.cjs.map} +1 -1
  65. package/dist/{form-CRprmM0w.js → form-Cz7y2wCT.js} +2 -2
  66. package/dist/{form-CRprmM0w.js.map → form-Cz7y2wCT.js.map} +1 -1
  67. package/dist/form.cjs +1 -1
  68. package/dist/form.js +1 -1
  69. package/dist/{icon-rVYBp2x-.js → icon-C3FJZ48a.js} +3 -3
  70. package/dist/{icon-rVYBp2x-.js.map → icon-C3FJZ48a.js.map} +1 -1
  71. package/dist/{icon-CHArNkiO.cjs → icon-C8_DfC7_.cjs} +2 -2
  72. package/dist/{icon-CHArNkiO.cjs.map → icon-C8_DfC7_.cjs.map} +1 -1
  73. package/dist/{icon-button-Bj7wtydv.cjs → icon-button-ChK-DjdA.cjs} +2 -2
  74. package/dist/{icon-button-Bj7wtydv.cjs.map → icon-button-ChK-DjdA.cjs.map} +1 -1
  75. package/dist/{icon-button-DtoWe88O.js → icon-button-DTiU4XLv.js} +3 -3
  76. package/dist/{icon-button-DtoWe88O.js.map → icon-button-DTiU4XLv.js.map} +1 -1
  77. package/dist/icons.cjs +1 -1
  78. package/dist/icons.js +1 -1
  79. package/dist/index.cjs +1 -1
  80. package/dist/index.js +33 -33
  81. package/dist/{input-jRmXX3rp.cjs → input-IHvsWbQB.cjs} +2 -2
  82. package/dist/{input-jRmXX3rp.cjs.map → input-IHvsWbQB.cjs.map} +1 -1
  83. package/dist/{input-Ctt6mtZc.js → input-M-qJTNjt.js} +2 -2
  84. package/dist/{input-Ctt6mtZc.js.map → input-M-qJTNjt.js.map} +1 -1
  85. package/dist/input.cjs +1 -1
  86. package/dist/input.js +1 -1
  87. package/dist/layout.cjs +1 -1
  88. package/dist/layout.js +1 -1
  89. package/dist/{list-6C-kQqCi.js → list-BWqWQl65.js} +2 -2
  90. package/dist/{list-6C-kQqCi.js.map → list-BWqWQl65.js.map} +1 -1
  91. package/dist/{list-BZ55pU5L.cjs → list-CiPO2APk.cjs} +2 -2
  92. package/dist/{list-BZ55pU5L.cjs.map → list-CiPO2APk.cjs.map} +1 -1
  93. package/dist/list.cjs +1 -1
  94. package/dist/list.js +1 -1
  95. package/dist/{litElement.mixin-B43tuAsM.js → litElement.mixin-CmIssdvT.js} +2 -2
  96. package/dist/{litElement.mixin-B43tuAsM.js.map → litElement.mixin-CmIssdvT.js.map} +1 -1
  97. package/dist/{litElement.mixin-9sOZ1KTq.cjs → litElement.mixin-DhNtGNmS.cjs} +2 -2
  98. package/dist/{litElement.mixin-9sOZ1KTq.cjs.map → litElement.mixin-DhNtGNmS.cjs.map} +1 -1
  99. package/dist/{menu-D0izP8_9.js → menu-CBGSAgDq.js} +3 -3
  100. package/dist/{menu-D0izP8_9.js.map → menu-CBGSAgDq.js.map} +1 -1
  101. package/dist/{menu-Bd6Yleqx.cjs → menu-DyYcxMo9.cjs} +2 -2
  102. package/dist/{menu-Bd6Yleqx.cjs.map → menu-DyYcxMo9.cjs.map} +1 -1
  103. package/dist/menu.cjs +1 -1
  104. package/dist/menu.js +1 -1
  105. package/dist/nav-drawer.cjs +1 -1
  106. package/dist/nav-drawer.js +1 -1
  107. package/dist/notification.cjs +1 -1
  108. package/dist/notification.js +1 -1
  109. package/dist/{option-CxIpiUcJ.js → option-BMehxrZp.js} +2 -2
  110. package/dist/{option-CxIpiUcJ.js.map → option-BMehxrZp.js.map} +1 -1
  111. package/dist/{option-CLhNC_i9.cjs → option-DbUli08g.cjs} +2 -2
  112. package/dist/{option-CLhNC_i9.cjs.map → option-DbUli08g.cjs.map} +1 -1
  113. package/dist/option.cjs +1 -1
  114. package/dist/option.js +1 -1
  115. package/dist/outlet-CcJZw_-p.cjs +24 -0
  116. package/dist/outlet-CcJZw_-p.cjs.map +1 -0
  117. package/dist/{outlet-C_zQSPJ5.js → outlet-Dn_2_r0T.js} +21 -24
  118. package/dist/outlet-Dn_2_r0T.js.map +1 -0
  119. package/dist/{payment-card-form-BwmcjAMM.js → payment-card-form-IuFrmEnf.js} +3 -3
  120. package/dist/{payment-card-form-BwmcjAMM.js.map → payment-card-form-IuFrmEnf.js.map} +1 -1
  121. package/dist/{payment-card-form-CQB_MKO_.cjs → payment-card-form-bxddazUs.cjs} +2 -2
  122. package/dist/{payment-card-form-CQB_MKO_.cjs.map → payment-card-form-bxddazUs.cjs.map} +1 -1
  123. package/dist/{radio-group-BwJ-r3hy.cjs → radio-group-BccKUiKW.cjs} +2 -2
  124. package/dist/{radio-group-BwJ-r3hy.cjs.map → radio-group-BccKUiKW.cjs.map} +1 -1
  125. package/dist/{radio-group-BvtrNylW.js → radio-group-CzjbJO0T.js} +2 -2
  126. package/dist/{radio-group-BvtrNylW.js.map → radio-group-CzjbJO0T.js.map} +1 -1
  127. package/dist/radio-group.cjs +1 -1
  128. package/dist/radio-group.js +1 -1
  129. package/dist/{select-DOTwG1aT.cjs → select-BS2sXDR9.cjs} +2 -2
  130. package/dist/{select-DOTwG1aT.cjs.map → select-BS2sXDR9.cjs.map} +1 -1
  131. package/dist/{select-D6nFemFx.js → select-BhPMWNbW.js} +3 -3
  132. package/dist/{select-D6nFemFx.js.map → select-BhPMWNbW.js.map} +1 -1
  133. package/dist/select.cjs +1 -1
  134. package/dist/select.js +1 -1
  135. package/dist/{sheet-Y-ULBa4y.js → sheet-CwwT5thu.js} +3 -3
  136. package/dist/{sheet-Y-ULBa4y.js.map → sheet-CwwT5thu.js.map} +1 -1
  137. package/dist/{sheet-C_gzbR0e.cjs → sheet-DOwu96wF.cjs} +2 -2
  138. package/dist/{sheet-C_gzbR0e.cjs.map → sheet-DOwu96wF.cjs.map} +1 -1
  139. package/dist/sheet.cjs +1 -1
  140. package/dist/sheet.js +1 -1
  141. package/dist/{slider-uzR2YTuo.cjs → slider-BAESvAar.cjs} +2 -2
  142. package/dist/{slider-uzR2YTuo.cjs.map → slider-BAESvAar.cjs.map} +1 -1
  143. package/dist/{slider-CFLiNdqN.js → slider-D7m05_ay.js} +3 -3
  144. package/dist/{slider-CFLiNdqN.js.map → slider-D7m05_ay.js.map} +1 -1
  145. package/dist/slider.cjs +1 -1
  146. package/dist/slider.js +1 -1
  147. package/dist/{spinner-DisHMwJU.cjs → spinner-7jk2tm5-.cjs} +2 -2
  148. package/dist/{spinner-DisHMwJU.cjs.map → spinner-7jk2tm5-.cjs.map} +1 -1
  149. package/dist/{spinner-Ca50o0jU.js → spinner-CoNNKh0e.js} +3 -3
  150. package/dist/{spinner-Ca50o0jU.js.map → spinner-CoNNKh0e.js.map} +1 -1
  151. package/dist/{surface-jiFO8Fq-.cjs → surface-DaLDGARV.cjs} +2 -2
  152. package/dist/{surface-jiFO8Fq-.cjs.map → surface-DaLDGARV.cjs.map} +1 -1
  153. package/dist/{surface-D_qD1cZj.js → surface-oLJxHIii.js} +2 -2
  154. package/dist/{surface-D_qD1cZj.js.map → surface-oLJxHIii.js.map} +1 -1
  155. package/dist/surface.cjs +1 -1
  156. package/dist/surface.js +1 -1
  157. package/dist/{table-B2-vIMmg.cjs → table-BcHZEysB.cjs} +2 -2
  158. package/dist/{table-B2-vIMmg.cjs.map → table-BcHZEysB.cjs.map} +1 -1
  159. package/dist/{table-QyTaL_m4.js → table-CniLq7FP.js} +2 -2
  160. package/dist/{table-QyTaL_m4.js.map → table-CniLq7FP.js.map} +1 -1
  161. package/dist/table.cjs +1 -1
  162. package/dist/table.js +1 -1
  163. package/dist/{tabs-group-DIkk0A7J.cjs → tabs-group-B78YHrsf.cjs} +2 -2
  164. package/dist/{tabs-group-DIkk0A7J.cjs.map → tabs-group-B78YHrsf.cjs.map} +1 -1
  165. package/dist/{tabs-group-CWM0kWDK.js → tabs-group-BtEJCfxW.js} +2 -2
  166. package/dist/{tabs-group-CWM0kWDK.js.map → tabs-group-BtEJCfxW.js.map} +1 -1
  167. package/dist/tabs.cjs +1 -1
  168. package/dist/tabs.js +1 -1
  169. package/dist/tailwind.mixin-BqYiHta7.js +43 -0
  170. package/dist/{tailwind.mixin-ECkyl80C.js.map → tailwind.mixin-BqYiHta7.js.map} +1 -1
  171. package/dist/tailwind.mixin-HfEdtDL9.cjs +2 -0
  172. package/dist/{tailwind.mixin-DFM3jd9q.cjs.map → tailwind.mixin-HfEdtDL9.cjs.map} +1 -1
  173. package/dist/teleport.cjs +1 -1
  174. package/dist/{teleport.component-DgMoPN3L.js → teleport.component-CexA5J_f.js} +35 -35
  175. package/dist/{teleport.component-DgMoPN3L.js.map → teleport.component-CexA5J_f.js.map} +1 -1
  176. package/dist/{teleport.component-C0_49--j.cjs → teleport.component-Dr3mMZpf.cjs} +2 -2
  177. package/dist/{teleport.component-C0_49--j.cjs.map → teleport.component-Dr3mMZpf.cjs.map} +1 -1
  178. package/dist/teleport.js +1 -1
  179. package/dist/{textarea-hbpsxkKy.cjs → textarea-B9raf8_D.cjs} +2 -2
  180. package/dist/{textarea-hbpsxkKy.cjs.map → textarea-B9raf8_D.cjs.map} +1 -1
  181. package/dist/{textarea-BMSNswLn.js → textarea-BxFi32D9.js} +2 -2
  182. package/dist/{textarea-BMSNswLn.js.map → textarea-BxFi32D9.js.map} +1 -1
  183. package/dist/textarea.cjs +1 -1
  184. package/dist/textarea.js +1 -1
  185. package/dist/{theme-button-BoAxkMWO.js → theme-button-BKEGXvgI.js} +2 -2
  186. package/dist/{theme-button-BoAxkMWO.js.map → theme-button-BKEGXvgI.js.map} +1 -1
  187. package/dist/{theme-button-CsWs0AS9.cjs → theme-button-DoJnYU3H.cjs} +2 -2
  188. package/dist/{theme-button-CsWs0AS9.cjs.map → theme-button-DoJnYU3H.cjs.map} +1 -1
  189. package/dist/theme-button.cjs +1 -1
  190. package/dist/theme-button.js +1 -1
  191. package/dist/theme.cjs +1 -1
  192. package/dist/{theme.component-BIjHKguL.js → theme.component-BNn_72QE.js} +2 -2
  193. package/dist/{theme.component-BIjHKguL.js.map → theme.component-BNn_72QE.js.map} +1 -1
  194. package/dist/{theme.component-BYbrrqK3.cjs → theme.component-CXo8UXgG.cjs} +2 -2
  195. package/dist/{theme.component-BYbrrqK3.cjs.map → theme.component-CXo8UXgG.cjs.map} +1 -1
  196. package/dist/theme.js +1 -1
  197. package/dist/{tree-OqMXhWak.cjs → tree-Fx-Zhp0w.cjs} +2 -2
  198. package/dist/{tree-OqMXhWak.cjs.map → tree-Fx-Zhp0w.cjs.map} +1 -1
  199. package/dist/{tree-YkLiYcr_.js → tree-GRbYc_5D.js} +2 -2
  200. package/dist/{tree-YkLiYcr_.js.map → tree-GRbYc_5D.js.map} +1 -1
  201. package/dist/tree.cjs +1 -1
  202. package/dist/tree.js +1 -1
  203. package/dist/{typewriter-I6nigRrM.cjs → typewriter-DSOyGh9X.cjs} +2 -2
  204. package/dist/{typewriter-I6nigRrM.cjs.map → typewriter-DSOyGh9X.cjs.map} +1 -1
  205. package/dist/{typewriter-Dn4nHKtu.js → typewriter-DdSoLHgM.js} +4 -4
  206. package/dist/{typewriter-Dn4nHKtu.js.map → typewriter-DdSoLHgM.js.map} +1 -1
  207. package/dist/typewriter.cjs +1 -1
  208. package/dist/typewriter.js +1 -1
  209. package/dist/{typography-BXJ-xs12.js → typography-DtXgIuFu.js} +2 -2
  210. package/dist/{typography-BXJ-xs12.js.map → typography-DtXgIuFu.js.map} +1 -1
  211. package/dist/{typography-CMNtjzZE.cjs → typography-ZVK1c0Z3.cjs} +2 -2
  212. package/dist/{typography-CMNtjzZE.cjs.map → typography-ZVK1c0Z3.cjs.map} +1 -1
  213. package/dist/typography.cjs +1 -1
  214. package/dist/typography.js +1 -1
  215. package/package.json +1 -1
  216. package/types/src/notification/notification.d.ts +3 -1
  217. package/dist/outlet-BLqhyQ8l.cjs +0 -30
  218. package/dist/outlet-BLqhyQ8l.cjs.map +0 -1
  219. package/dist/outlet-C_zQSPJ5.js.map +0 -1
  220. package/dist/tailwind.mixin-DFM3jd9q.cjs +0 -2
  221. package/dist/tailwind.mixin-ECkyl80C.js +0 -43
@@ -1 +1 @@
1
- {"version":3,"file":"menu-Bd6Yleqx.cjs","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","super","connectedCallback","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","html","customElement","SchmancyMenu","TailwindElement","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","updatePosition","buttonElement","menuElement","computePosition","placement","middleware","getMiddleware","then","x","y","Object","assign","left","top","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","tap","showMenu","hideMenu","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
1
+ {"version":3,"file":"menu-DyYcxMo9.cjs","sources":["../src/menu/menu-item.ts","../src/menu/menu.ts"],"sourcesContent":["import { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { fromEvent, takeUntil } from 'rxjs'\n\n@customElement('schmancy-menu-item')\nexport default class SchmancyMenuItem extends $LitElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tfromEvent(this, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(e => {\n\t\t\t\te.stopPropagation()\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('schmancy-menu-item-click', {\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t})\n\t}\n\tprotected render(): unknown {\n\t\treturn html`\n\t\t\t<schmancy-list-item>\n\t\t\t\t<slot></slot>\n\t\t\t</schmancy-list-item>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu-item': SchmancyMenuItem\n\t}\n}\n","import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js'\nimport { filter, fromEvent, takeUntil, tap } from 'rxjs'\n\n@customElement('schmancy-menu')\nexport default class SchmancyMenu extends TailwindElement(css`\n\t:host {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t}\n\n\t#menu {\n\t\tdisplay: none;\n\t}\n\n\t#menu[data-show='true'] {\n\t\tdisplay: block;\n\t}\n`) {\n\t@queryAssignedElements({ flatten: true, slot: 'button' })\n\tbuttonElement!: Array<HTMLElement>\n\n\t@query('#menu') menuElement!: HTMLElement\n\n\tprivate cleanup?: any\n\n\tprivate getMiddleware() {\n\t\treturn [\n\t\t\toffset(5),\n\t\t\tflip(),\n\t\t\tshift({ padding: 5 }),\n\t\t\tsize({\n\t\t\t\tapply({ availableHeight, elements }) {\n\t\t\t\t\telements.floating.style.maxHeight = `${availableHeight}px`\n\t\t\t\t},\n\t\t\t}),\n\t\t]\n\t}\n\n\tasync updatePosition() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) {\n\t\t\treturn\n\t\t}\n\n\t\tawait computePosition(this.buttonElement[0], this.menuElement, {\n\t\t\tplacement: 'bottom-start',\n\t\t\tmiddleware: this.getMiddleware(),\n\t\t}).then(({ x, y }) => {\n\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate showMenu() {\n\t\tif (!this.buttonElement[0] || !this.menuElement) return\n\n\t\tthis.menuElement.dataset.show = 'true'\n\n\t\tthis.cleanup = autoUpdate(this.buttonElement[0], this.menuElement, () => {\n\t\t\tcomputePosition(this.buttonElement[0], this.menuElement, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: this.getMiddleware(),\n\t\t\t}).then(({ x, y, strategy }) => {\n\t\t\t\tObject.assign(this.menuElement.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\tposition: strategy,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 100,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\n\t\tanimation.onfinish = () => {}\n\t}\n\n\tprivate async hideMenu() {\n\t\t// Make hideMenu async\n\t\tif (this.cleanup) {\n\t\t\tawait this.cleanup() // Await the cleanup!\n\t\t\tthis.cleanup = undefined\n\t\t}\n\t\tthis.menuElement.dataset.show = 'false'\n\n\t\tconst animation = this.menuElement.animate(\n\t\t\t[\n\t\t\t\t{ opacity: 1, transform: 'scale(1)' },\n\t\t\t\t{ opacity: 0, transform: 'scale(0.95)' },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: 75,\n\t\t\t\teasing: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n\t\t\t},\n\t\t)\n\t\tanimation.onfinish = () => {} // No need for a promise now\n\t}\n\n\tfirstUpdated(): void {\n\t\tfromEvent(this.buttonElement, 'click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.showMenu()\n\t\t\t})\n\n\t\tfromEvent(this, 'schmancy-menu-item-click')\n\t\t\t.pipe(\n\t\t\t\ttap(e => e.stopPropagation()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.hideMenu()\n\t\t\t})\n\n\t\tfromEvent(document, 'click')\n\t\t\t.pipe(\n\t\t\t\tfilter((e: Event) => !this.contains(e.target as Node)),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t\ttap(() => {\n\t\t\t\t\tif (this.menuElement.dataset.show === 'true') {\n\t\t\t\t\t\tthis.hideMenu()\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<slot name=\"button\">\n\t\t\t\t<schmancy-icon-button> more_vert </schmancy-icon-button>\n\t\t\t</slot>\n\t\t\t<ul\n\t\t\t\tid=\"menu\"\n\t\t\t\tclass=\"absolute z-50 border-outlineVariant rounded-md min-w-[160px] max-w-[320px] w-max bg-surface-default max-h-[90vh] shadow-1 overflow-y-auto\"\n\t\t\t\trole=\"menu\"\n\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\taria-labelledby=\"options-menu-4-button\"\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</ul>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-menu': SchmancyMenu\n\t}\n}\n"],"names":["SchmancyMenuItem","$LitElement","css","super","connectedCallback","fromEvent","this","pipe","takeUntil","disconnecting","subscribe","e","stopPropagation","dispatchEvent","CustomEvent","bubbles","composed","html","customElement","SchmancyMenu","TailwindElement","offset","flip","shift","padding","size","apply","availableHeight","elements","floating","style","maxHeight","updatePosition","buttonElement","menuElement","computePosition","placement","middleware","getMiddleware","then","x","y","Object","assign","left","top","dataset","show","cleanup","autoUpdate","strategy","position","animate","opacity","transform","duration","easing","onfinish","tap","showMenu","hideMenu","document","filter","contains","target","__decorateClass","queryAssignedElements","flatten","slot","prototype","query"],"mappings":"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"}
package/dist/menu.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./menu-Bd6Yleqx.cjs");
1
+ "use strict";require("./menu-DyYcxMo9.cjs");
2
2
  //# sourceMappingURL=menu.cjs.map
package/dist/menu.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./menu-D0izP8_9.js";
1
+ import "./menu-CBGSAgDq.js";
2
2
  //# sourceMappingURL=menu.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-C0_49--j.cjs");exports.$drawer=e.$drawer,Object.defineProperty(exports,"SchmancyDrawerAppbar",{enumerable:!0,get:()=>e.SchmancyDrawerAppbar}),exports.SchmancyDrawerNavbarMode=e.SchmancyDrawerNavbarMode,exports.SchmancyDrawerNavbarState=e.SchmancyDrawerNavbarState,Object.defineProperty(exports,"SchmancyNavigationDrawer",{enumerable:!0,get:()=>e.SchmancyNavigationDrawer}),Object.defineProperty(exports,"SchmancyNavigationDrawerContent",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerContent}),Object.defineProperty(exports,"SchmancyNavigationDrawerSidebar",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerSidebar}),exports.schmancyNavDrawer=e.schmancyNavDrawer;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./teleport.component-Dr3mMZpf.cjs");exports.$drawer=e.$drawer,Object.defineProperty(exports,"SchmancyDrawerAppbar",{enumerable:!0,get:()=>e.SchmancyDrawerAppbar}),exports.SchmancyDrawerNavbarMode=e.SchmancyDrawerNavbarMode,exports.SchmancyDrawerNavbarState=e.SchmancyDrawerNavbarState,Object.defineProperty(exports,"SchmancyNavigationDrawer",{enumerable:!0,get:()=>e.SchmancyNavigationDrawer}),Object.defineProperty(exports,"SchmancyNavigationDrawerContent",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerContent}),Object.defineProperty(exports,"SchmancyNavigationDrawerSidebar",{enumerable:!0,get:()=>e.SchmancyNavigationDrawerSidebar}),exports.schmancyNavDrawer=e.schmancyNavDrawer;
2
2
  //# sourceMappingURL=nav-drawer.cjs.map
@@ -1,4 +1,4 @@
1
- import { $ as c, i as e, k as n, l as m, m as s, j as h, n as i, h as t } from "./teleport.component-DgMoPN3L.js";
1
+ import { $ as c, i as e, k as n, l as m, m as s, j as h, n as i, h as t } from "./teleport.component-CexA5J_f.js";
2
2
  export {
3
3
  c as $drawer,
4
4
  e as SchmancyDrawerAppbar,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./outlet-BLqhyQ8l.cjs");exports.$notify=t.$notify,Object.defineProperty(exports,"SchmancyNotification",{enumerable:!0,get:()=>t.SchmancyNotification}),Object.defineProperty(exports,"SchmancyNotificationOutlet",{enumerable:!0,get:()=>t.SchmancyNotificationOutlet}),exports.notify=t.notify;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./outlet-CcJZw_-p.cjs");exports.$notify=t.$notify,Object.defineProperty(exports,"SchmancyNotification",{enumerable:!0,get:()=>t.SchmancyNotification}),Object.defineProperty(exports,"SchmancyNotificationOutlet",{enumerable:!0,get:()=>t.SchmancyNotificationOutlet}),exports.notify=t.notify;
2
2
  //# sourceMappingURL=notification.cjs.map
@@ -1,4 +1,4 @@
1
- import { $ as i, S as o, a as n, n as c } from "./outlet-C_zQSPJ5.js";
1
+ import { $ as i, S as o, a as n, n as c } from "./outlet-Dn_2_r0T.js";
2
2
  export {
3
3
  i as $notify,
4
4
  o as SchmancyNotification,
@@ -1,7 +1,7 @@
1
1
  import "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { T as p } from "./tailwind.mixin-ECkyl80C.js";
4
+ import { T as p } from "./tailwind.mixin-BqYiHta7.js";
5
5
  import { html as u } from "lit";
6
6
  import { property as c, customElement as d } from "lit/decorators.js";
7
7
  var f = Object.defineProperty, h = Object.getOwnPropertyDescriptor, l = (e, t, r, i) => {
@@ -46,4 +46,4 @@ let s = class extends p() {
46
46
  }
47
47
  };
48
48
  l([c({ type: String, reflect: !0 })], s.prototype, "value", 2), l([c({ type: String, reflect: !0 })], s.prototype, "label", 2), l([c({ type: Boolean })], s.prototype, "selected", 2), s = l([d("schmancy-option")], s);
49
- //# sourceMappingURL=option-CxIpiUcJ.js.map
49
+ //# sourceMappingURL=option-BMehxrZp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"option-CxIpiUcJ.js","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancyOptionChangeEvent = CustomEvent<{\n\tvalue: string\n\tlabel: string\n}>\n\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement() {\n\t@property({ type: String, reflect: true }) value: string = ''\n\t@property({ type: String, reflect: true }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\tprivate handleOptionClick() {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyOptionChangeEvent['detail']>('click', {\n\t\t\t\tdetail: {\n\t\t\t\t\tvalue: this.value,\n\t\t\t\t\tlabel: this.label ?? this.textContent?.trim() ?? '',\n\t\t\t\t},\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t// override focus method to focus the native element\n\tfocus() {\n\t\tthis.shadowRoot?.querySelector('li')?.focus()\n\t}\n\n\tprotected render() {\n\t\t// Apply highlight styles if `this.selected` is true\n\t\tconst classes = {\n\t\t\t'outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default':\n\t\t\t\ttrue,\n\t\t\t'font-semibold relative cursor-pointer py-2 px-3': true,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\t\tconst stateLayerClasses = {\n\t\t\t'duration-500 transition-opacity': true,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<li\n\t\t\t\ttabindex=\"0\"\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\trole=\"option\"\n\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t}}\n\t\t\t\t@keydown=${(e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class=\"${this.classMap(stateLayerClasses)}\"></div>\n\t\t\t\t<sch-flex class=\"text-start\" align=\"center\" justify=\"between\" flow=\"row\">\n\t\t\t\t\t<slot class=\"self-start\"></slot>\n\t\t\t\t\t<slot name=\"support\">\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</slot>\n\t\t\t\t</sch-flex>\n\t\t\t</li>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","super","arguments","this","value","selected","handleOptionClick","dispatchEvent","CustomEvent","detail","label","textContent","trim","bubbles","composed","shadowRoot","querySelector","focus","classes","html","classMap","e","stopPropagation","preventDefault","key","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":";;;;;;;;;;AAUA,IAAqBA,IAArB,cAA4CC,EAA5C,EAAA;AAAA,EAAA,cAAAC;AAAAA,UAAAA,GAAAC,SAC4DC,GAAAA,KAAAC,QAAA,IAEVD,KAAAE,WAAAA;AAAAA,EAAA;AAAA,EAEzC,oBAAAC;;AACFH,SAAAI,cACJ,IAAIC,YAAiD,SAAS,EAC7DC,QAAQ,EACPL,OAAOD,KAAKC,OACZM,OAAOP,KAAKO,WAASP,IAAAA,KAAKQ,gBAALR,gBAAAA,EAAkBS,WAAU,GAAA,GAElDC,SAAS,IACTC,UAAU,GAAA,CAAA,CAAA;AAAA,EAEZ;AAAA,EAID,QACCX;;AAAAA,KAAAA,KAAAA,IAAAA,KAAKY,eAALZ,gBAAAA,EAAiBa,cAAc,UAA/Bb,QAAAA,EAAsCc;AAAAA,EAAM;AAAA,EAGnC,SAET;AAAA,UAAMC,IAAU,EACf,oKACC,IACD,mDAAmD,IACnD,qDAAqDf,KAAKE,SAOpD;AAAA,WAAAc;AAAAA;AAAAA;AAAAA,aAGIhB,KAAKiB,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,OAAAA;AACTA,QAAEC,gBAAAA,GACFD,EAAEE,eAAAA,GACFpB,KAAKG,kBAAkB;AAAA,IAAA,CAAA;AAAA,eAEZe,OACG;AAAA,MAAVA,EAAEG,QAAQ,WAAWH,EAAEG,QAAQ,QAClCH,EAAEC,gBACFD,GAAAA,EAAEE,eACFpB,GAAAA,KAAKG,kBAAkB;AAAA,IAAA,CAAA;AAAA;AAAA,kBAIXH,KAAKiB,SAvBK,EACzB,mCAAmC,IACnC,sEAAsE,GAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBvB;AAAA;AArDNK,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAS,GAAA,CAAA,CAAA,GADf9B,EACuB+B,WAAA,SAAA,CACAL,GAAAA,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,GAFN9B,CAAAA,CAAAA,GAAAA,EAEuB+B,WAAA,SAAA,CAAA,GACdL,EAAA,CAA5BC,EAAS,EAAEC,MAAMI,QAHEhC,CAAAA,CAAAA,GAAAA,EAGS+B,WAAA,YAAA,CAAA,GAHT/B,IAArB0B,EAAA,CADCO,EAAc,iBACMjC,CAAAA,GAAAA,CAAAA;"}
1
+ {"version":3,"file":"option-BMehxrZp.js","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancyOptionChangeEvent = CustomEvent<{\n\tvalue: string\n\tlabel: string\n}>\n\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement() {\n\t@property({ type: String, reflect: true }) value: string = ''\n\t@property({ type: String, reflect: true }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\tprivate handleOptionClick() {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyOptionChangeEvent['detail']>('click', {\n\t\t\t\tdetail: {\n\t\t\t\t\tvalue: this.value,\n\t\t\t\t\tlabel: this.label ?? this.textContent?.trim() ?? '',\n\t\t\t\t},\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t// override focus method to focus the native element\n\tfocus() {\n\t\tthis.shadowRoot?.querySelector('li')?.focus()\n\t}\n\n\tprotected render() {\n\t\t// Apply highlight styles if `this.selected` is true\n\t\tconst classes = {\n\t\t\t'outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default':\n\t\t\t\ttrue,\n\t\t\t'font-semibold relative cursor-pointer py-2 px-3': true,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\t\tconst stateLayerClasses = {\n\t\t\t'duration-500 transition-opacity': true,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<li\n\t\t\t\ttabindex=\"0\"\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\trole=\"option\"\n\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t}}\n\t\t\t\t@keydown=${(e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class=\"${this.classMap(stateLayerClasses)}\"></div>\n\t\t\t\t<sch-flex class=\"text-start\" align=\"center\" justify=\"between\" flow=\"row\">\n\t\t\t\t\t<slot class=\"self-start\"></slot>\n\t\t\t\t\t<slot name=\"support\">\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</slot>\n\t\t\t\t</sch-flex>\n\t\t\t</li>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","super","arguments","this","value","selected","handleOptionClick","dispatchEvent","CustomEvent","detail","label","textContent","trim","bubbles","composed","shadowRoot","querySelector","focus","classes","html","classMap","e","stopPropagation","preventDefault","key","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":";;;;;;;;;;AAUA,IAAqBA,IAArB,cAA4CC,EAA5C,EAAA;AAAA,EAAA,cAAAC;AAAAA,UAAAA,GAAAC,SAC4DC,GAAAA,KAAAC,QAAA,IAEVD,KAAAE,WAAAA;AAAAA,EAAA;AAAA,EAEzC,oBAAAC;;AACFH,SAAAI,cACJ,IAAIC,YAAiD,SAAS,EAC7DC,QAAQ,EACPL,OAAOD,KAAKC,OACZM,OAAOP,KAAKO,WAASP,IAAAA,KAAKQ,gBAALR,gBAAAA,EAAkBS,WAAU,GAAA,GAElDC,SAAS,IACTC,UAAU,GAAA,CAAA,CAAA;AAAA,EAEZ;AAAA,EAID,QACCX;;AAAAA,KAAAA,KAAAA,IAAAA,KAAKY,eAALZ,gBAAAA,EAAiBa,cAAc,UAA/Bb,QAAAA,EAAsCc;AAAAA,EAAM;AAAA,EAGnC,SAET;AAAA,UAAMC,IAAU,EACf,oKACC,IACD,mDAAmD,IACnD,qDAAqDf,KAAKE,SAOpD;AAAA,WAAAc;AAAAA;AAAAA;AAAAA,aAGIhB,KAAKiB,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,OAAAA;AACTA,QAAEC,gBAAAA,GACFD,EAAEE,eAAAA,GACFpB,KAAKG,kBAAkB;AAAA,IAAA,CAAA;AAAA,eAEZe,OACG;AAAA,MAAVA,EAAEG,QAAQ,WAAWH,EAAEG,QAAQ,QAClCH,EAAEC,gBACFD,GAAAA,EAAEE,eACFpB,GAAAA,KAAKG,kBAAkB;AAAA,IAAA,CAAA;AAAA;AAAA,kBAIXH,KAAKiB,SAvBK,EACzB,mCAAmC,IACnC,sEAAsE,GAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBvB;AAAA;AArDNK,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAS,GAAA,CAAA,CAAA,GADf9B,EACuB+B,WAAA,SAAA,CACAL,GAAAA,EAAA,CAA1CC,EAAS,EAAEC,MAAMC,QAAQC,SAAAA,GAFN9B,CAAAA,CAAAA,GAAAA,EAEuB+B,WAAA,SAAA,CAAA,GACdL,EAAA,CAA5BC,EAAS,EAAEC,MAAMI,QAHEhC,CAAAA,CAAAA,GAAAA,EAGS+B,WAAA,YAAA,CAAA,GAHT/B,IAArB0B,EAAA,CADCO,EAAc,iBACMjC,CAAAA,GAAAA,CAAAA;"}
@@ -1,4 +1,4 @@
1
- "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./tailwind.mixin-DFM3jd9q.cjs"),u=require("lit"),r=require("lit/decorators.js");var d=Object.defineProperty,y=Object.getOwnPropertyDescriptor,l=(t,e,n,i)=>{for(var a,o=i>1?void 0:i?y(e,n):e,c=t.length-1;c>=0;c--)(a=t[c])&&(o=(i?a(e,n,o):a(o))||o);return i&&o&&d(e,n,o),o};let s=class extends p.TailwindElement(){constructor(){super(...arguments),this.value="",this.selected=!1}handleOptionClick(){var t;this.dispatchEvent(new CustomEvent("click",{detail:{value:this.value,label:this.label??((t=this.textContent)==null?void 0:t.trim())??""},bubbles:!0,composed:!0}))}focus(){var t,e;(e=(t=this.shadowRoot)==null?void 0:t.querySelector("li"))==null||e.focus()}render(){const t={"outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default":!0,"font-semibold relative cursor-pointer py-2 px-3":!0,"bg-secondary-container text-secondery-onContainer":this.selected};return u.html`
1
+ "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const p=require("./tailwind.mixin-HfEdtDL9.cjs"),u=require("lit"),r=require("lit/decorators.js");var d=Object.defineProperty,y=Object.getOwnPropertyDescriptor,l=(t,e,n,i)=>{for(var a,o=i>1?void 0:i?y(e,n):e,c=t.length-1;c>=0;c--)(a=t[c])&&(o=(i?a(e,n,o):a(o))||o);return i&&o&&d(e,n,o),o};let s=class extends p.TailwindElement(){constructor(){super(...arguments),this.value="",this.selected=!1}handleOptionClick(){var t;this.dispatchEvent(new CustomEvent("click",{detail:{value:this.value,label:this.label??((t=this.textContent)==null?void 0:t.trim())??""},bubbles:!0,composed:!0}))}focus(){var t,e;(e=(t=this.shadowRoot)==null?void 0:t.querySelector("li"))==null||e.focus()}render(){const t={"outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default":!0,"font-semibold relative cursor-pointer py-2 px-3":!0,"bg-secondary-container text-secondery-onContainer":this.selected};return u.html`
2
2
  <li
3
3
  tabindex="0"
4
4
  class="${this.classMap(t)}"
@@ -15,4 +15,4 @@
15
15
  </sch-flex>
16
16
  </li>
17
17
  `}};l([r.property({type:String,reflect:!0})],s.prototype,"value",2),l([r.property({type:String,reflect:!0})],s.prototype,"label",2),l([r.property({type:Boolean})],s.prototype,"selected",2),s=l([r.customElement("schmancy-option")],s);
18
- //# sourceMappingURL=option-CLhNC_i9.cjs.map
18
+ //# sourceMappingURL=option-DbUli08g.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"option-CLhNC_i9.cjs","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancyOptionChangeEvent = CustomEvent<{\n\tvalue: string\n\tlabel: string\n}>\n\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement() {\n\t@property({ type: String, reflect: true }) value: string = ''\n\t@property({ type: String, reflect: true }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\tprivate handleOptionClick() {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyOptionChangeEvent['detail']>('click', {\n\t\t\t\tdetail: {\n\t\t\t\t\tvalue: this.value,\n\t\t\t\t\tlabel: this.label ?? this.textContent?.trim() ?? '',\n\t\t\t\t},\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t// override focus method to focus the native element\n\tfocus() {\n\t\tthis.shadowRoot?.querySelector('li')?.focus()\n\t}\n\n\tprotected render() {\n\t\t// Apply highlight styles if `this.selected` is true\n\t\tconst classes = {\n\t\t\t'outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default':\n\t\t\t\ttrue,\n\t\t\t'font-semibold relative cursor-pointer py-2 px-3': true,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\t\tconst stateLayerClasses = {\n\t\t\t'duration-500 transition-opacity': true,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<li\n\t\t\t\ttabindex=\"0\"\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\trole=\"option\"\n\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t}}\n\t\t\t\t@keydown=${(e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class=\"${this.classMap(stateLayerClasses)}\"></div>\n\t\t\t\t<sch-flex class=\"text-start\" align=\"center\" justify=\"between\" flow=\"row\">\n\t\t\t\t\t<slot class=\"self-start\"></slot>\n\t\t\t\t\t<slot name=\"support\">\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</slot>\n\t\t\t\t</sch-flex>\n\t\t\t</li>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","constructor","super","arguments","this","value","selected","handleOptionClick","dispatchEvent","CustomEvent","detail","label","textContent","trim","bubbles","composed","focus","shadowRoot","querySelector","classes","html","classMap","e","stopPropagation","preventDefault","key","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":"4YAUA,IAAqBA,EAArB,cAA4CC,EAAAA,gBAAAA,CAAAA,CAA5C,aAAAC,CAAAC,MAAAC,GAAAA,SAAAA,EAC4DC,KAAAC,MAAA,GAEVD,KAAAE,SAAAA,EAAA,CAEzC,mBAAAC,OACFH,KAAAI,cACJ,IAAIC,YAAiD,QAAS,CAC7DC,OAAQ,CACPL,MAAOD,KAAKC,MACZM,MAAOP,KAAKO,SAASP,EAAAA,KAAKQ,cAALR,YAAAA,EAAkBS,SAAU,EAElDC,EAAAA,QAAAA,GACAC,SAAAA,EAEF,CAAA,CAAA,CAAA,CAID,OAAAC,UACCZ,GAAAA,EAAAA,KAAKa,aAALb,YAAAA,EAAiBc,cAAc,QAA/Bd,MAAAA,EAAsCY,OAAM,CAGnC,QAET,CAAA,MAAMG,EAAU,CACf,mKACC,GACD,kDAAmD,GACnD,oDAAqDf,KAAKE,QAOpD,EAAA,OAAAc,EAAAA;AAAAA;AAAAA;AAAAA,aAGIhB,KAAKiB,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,GAAAA,CACTA,EAAEC,gBAAAA,EACFD,EAAEE,eAAAA,EACFpB,KAAKG,kBAAkB,CAAA,CAAA;AAAA,eAEZe,GACG,CAAVA,EAAEG,MAAQ,SAAWH,EAAEG,MAAQ,MAClCH,EAAEC,gBACFD,EAAAA,EAAEE,eACFpB,EAAAA,KAAKG,kBAAkB,EAAA,CAAA;AAAA;AAAA,kBAIXH,KAAKiB,SAvBK,CACzB,kCAAmC,GACnC,qEAAsE,EAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqBvB,CAAA,EArDNK,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAS,EAAA,CAAA,CAAA,EADf/B,EACuBgC,UAAA,QAAA,GACAL,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAAA,EAFN/B,CAAAA,CAAAA,EAAAA,EAEuBgC,UAAA,QAAA,CAAA,EACdL,EAAA,CAA5BC,WAAS,CAAEC,KAAMI,WAHEjC,EAGSgC,UAAA,WAAA,CAHThC,EAAAA,EAArB2B,EAAA,CADCO,EAAAA,cAAc,iBACMlC,CAAAA,EAAAA,CAAAA"}
1
+ {"version":3,"file":"option-DbUli08g.cjs","sources":["../src/option/option.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type SchmancyOptionChangeEvent = CustomEvent<{\n\tvalue: string\n\tlabel: string\n}>\n\n@customElement('schmancy-option')\nexport default class SchmancyOption extends TailwindElement() {\n\t@property({ type: String, reflect: true }) value: string = ''\n\t@property({ type: String, reflect: true }) label: string | undefined\n\t@property({ type: Boolean }) selected: boolean = false\n\n\tprivate handleOptionClick() {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<SchmancyOptionChangeEvent['detail']>('click', {\n\t\t\t\tdetail: {\n\t\t\t\t\tvalue: this.value,\n\t\t\t\t\tlabel: this.label ?? this.textContent?.trim() ?? '',\n\t\t\t\t},\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\t// override focus method to focus the native element\n\tfocus() {\n\t\tthis.shadowRoot?.querySelector('li')?.focus()\n\t}\n\n\tprotected render() {\n\t\t// Apply highlight styles if `this.selected` is true\n\t\tconst classes = {\n\t\t\t'outline-secondary-default focus-visible:outline-solid focus-visible:outline-2 focus-visible:-outline-offset-2 rounded-md focus-visible:outline-secondary-default':\n\t\t\t\ttrue,\n\t\t\t'font-semibold relative cursor-pointer py-2 px-3': true,\n\t\t\t'bg-secondary-container text-secondery-onContainer': this.selected,\n\t\t}\n\t\tconst stateLayerClasses = {\n\t\t\t'duration-500 transition-opacity': true,\n\t\t\t'hover:bg-surface-on opacity-[0.08] cursor-pointer absolute inset-0': true,\n\t\t}\n\n\t\treturn html`\n\t\t\t<li\n\t\t\t\ttabindex=\"0\"\n\t\t\t\tclass=\"${this.classMap(classes)}\"\n\t\t\t\trole=\"option\"\n\t\t\t\t@click=${(e: MouseEvent) => {\n\t\t\t\t\te.stopPropagation()\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t}}\n\t\t\t\t@keydown=${(e: KeyboardEvent) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tthis.handleOptionClick()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div class=\"${this.classMap(stateLayerClasses)}\"></div>\n\t\t\t\t<sch-flex class=\"text-start\" align=\"center\" justify=\"between\" flow=\"row\">\n\t\t\t\t\t<slot class=\"self-start\"></slot>\n\t\t\t\t\t<slot name=\"support\">\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</slot>\n\t\t\t\t</sch-flex>\n\t\t\t</li>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-option': SchmancyOption\n\t}\n}\n"],"names":["SchmancyOption","TailwindElement","constructor","super","arguments","this","value","selected","handleOptionClick","dispatchEvent","CustomEvent","detail","label","textContent","trim","bubbles","composed","focus","shadowRoot","querySelector","classes","html","classMap","e","stopPropagation","preventDefault","key","__decorateClass","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":"4YAUA,IAAqBA,EAArB,cAA4CC,EAAAA,gBAAAA,CAAAA,CAA5C,aAAAC,CAAAC,MAAAC,GAAAA,SAAAA,EAC4DC,KAAAC,MAAA,GAEVD,KAAAE,SAAAA,EAAA,CAEzC,mBAAAC,OACFH,KAAAI,cACJ,IAAIC,YAAiD,QAAS,CAC7DC,OAAQ,CACPL,MAAOD,KAAKC,MACZM,MAAOP,KAAKO,SAASP,EAAAA,KAAKQ,cAALR,YAAAA,EAAkBS,SAAU,EAElDC,EAAAA,QAAAA,GACAC,SAAAA,EAEF,CAAA,CAAA,CAAA,CAID,OAAAC,UACCZ,GAAAA,EAAAA,KAAKa,aAALb,YAAAA,EAAiBc,cAAc,QAA/Bd,MAAAA,EAAsCY,OAAM,CAGnC,QAET,CAAA,MAAMG,EAAU,CACf,mKACC,GACD,kDAAmD,GACnD,oDAAqDf,KAAKE,QAOpD,EAAA,OAAAc,EAAAA;AAAAA;AAAAA;AAAAA,aAGIhB,KAAKiB,SAASF,CAAAA,CAAAA;AAAAA;AAAAA,aAEbG,GAAAA,CACTA,EAAEC,gBAAAA,EACFD,EAAEE,eAAAA,EACFpB,KAAKG,kBAAkB,CAAA,CAAA;AAAA,eAEZe,GACG,CAAVA,EAAEG,MAAQ,SAAWH,EAAEG,MAAQ,MAClCH,EAAEC,gBACFD,EAAAA,EAAEE,eACFpB,EAAAA,KAAKG,kBAAkB,EAAA,CAAA;AAAA;AAAA,kBAIXH,KAAKiB,SAvBK,CACzB,kCAAmC,GACnC,qEAAsE,EAAA,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqBvB,CAAA,EArDNK,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAS,EAAA,CAAA,CAAA,EADf/B,EACuBgC,UAAA,QAAA,GACAL,EAAA,CAA1CC,EAAAA,SAAS,CAAEC,KAAMC,OAAQC,QAAAA,EAFN/B,CAAAA,CAAAA,EAAAA,EAEuBgC,UAAA,QAAA,CAAA,EACdL,EAAA,CAA5BC,WAAS,CAAEC,KAAMI,WAHEjC,EAGSgC,UAAA,WAAA,CAHThC,EAAAA,EAArB2B,EAAA,CADCO,EAAAA,cAAc,iBACMlC,CAAAA,EAAAA,CAAAA"}
package/dist/option.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./option-CLhNC_i9.cjs");
1
+ "use strict";require("./option-DbUli08g.cjs");
2
2
  //# sourceMappingURL=option.cjs.map
package/dist/option.js CHANGED
@@ -1,2 +1,2 @@
1
- import "./option-CxIpiUcJ.js";
1
+ import "./option-BMehxrZp.js";
2
2
  //# sourceMappingURL=option.js.map
@@ -0,0 +1,24 @@
1
+ "use strict";const d=require("@floating-ui/dom"),a=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const h=require("./tailwind.mixin-HfEdtDL9.cjs"),p=require("lit"),y=require("lit/decorators.js");let u=window.innerWidth/2,m=window.innerHeight/2;async function l(e,t,r){const o=await async function(s,n,i){const c=document.createElement("schmancy-notification");c.type=n,c.innerHTML=s,c.style.visibility="hidden",document.body.appendChild(c);const v=(i==null?void 0:i.referenceElement)||{getBoundingClientRect:()=>({width:0,height:0,x:u,y:m,top:m,right:u,bottom:m,left:u,toJSON:()=>({})})},{x:g,y:b}=await d.computePosition(v,c,{strategy:"fixed",placement:i!=null&&i.referenceElement?"top":"right-start",middleware:[d.offset(8),d.flip(),d.shift({padding:5})]});return c.style.position="fixed",c.style.left=`${g}px`,c.style.top=`${b}px`,c.style.visibility="visible",c.style.zIndex="9999",c}(t,e,r);return a.race(a.fromEvent(o,"close"),a.timer((r==null?void 0:r.duration)??1e3)).subscribe(()=>{o.remove()}),o}a.fromEvent(document,"mousemove").pipe(a.debounceTime(100)).subscribe(e=>{u=e.clientX,m=e.clientY});const w={success:(e,t)=>l("success",e,t),error:(e,t)=>l("error",e,t),warning:(e,t)=>l("warning",e,t),info:(e,t)=>l("info",e,t)};var x=Object.defineProperty,E=Object.getOwnPropertyDescriptor,f=(e,t,r,o)=>{for(var s,n=o>1?void 0:o?E(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(n=(o?s(t,r,n):s(n))||n);return o&&n&&x(t,r,n),n};exports.SchmancyNotification=class extends h.TailwindElement(){constructor(){super(...arguments),this.type="success"}render(){return p.html`
2
+ <div
3
+ class="pointer-events-auto w-full max-w-sm rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5 p-3"
4
+ >
5
+ <!-- Icon + Text + Close Button, etc. -->
6
+ <div class="flex items-center">
7
+ <!-- Icon -->
8
+ <div class="shrink-0 mr-2">
9
+ <!-- Show different icons depending on this.type -->
10
+ </div>
11
+
12
+ <!-- Text slot -->
13
+ <div class="flex-1">
14
+ <slot></slot>
15
+ </div>
16
+
17
+ <!-- Close -->
18
+ <schmancy-icon-button @click=${this.handleClose} variant="outlined" class="ml-2 text-sm">
19
+ Close
20
+ </schmancy-icon-button>
21
+ </div>
22
+ </div>
23
+ `}handleClose(){this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))}},f([y.property({type:String})],exports.SchmancyNotification.prototype,"type",2),exports.SchmancyNotification=f([y.customElement("schmancy-notification")],exports.SchmancyNotification);var S=Object.getOwnPropertyDescriptor;exports.SchmancyNotificationOutlet=class extends h.TailwindElement(){render(){return p.html` <slot></slot> `}},exports.SchmancyNotificationOutlet=((e,t,r,o)=>{for(var s,n=o>1?void 0:o?S(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(n=s(n)||n);return n})([y.customElement("schmancy-notification-outlet")],exports.SchmancyNotificationOutlet),exports.$notify=w,exports.notify=l;
24
+ //# sourceMappingURL=outlet-CcJZw_-p.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outlet-CcJZw_-p.cjs","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\tduration?: number\n\treferenceElement?: HTMLElement\n}\n\n// Track cursor position globally\nlet lastMouseX = window.innerWidth / 2\nlet lastMouseY = window.innerHeight / 2\n\nfromEvent(document, 'mousemove')\n\t.pipe(\n\t\tdebounceTime(100), // Throttle to 10fps\n\t)\n\t.subscribe((e: MouseEvent) => {\n\t\tconsole.count()\n\t\tlastMouseX = e.clientX\n\t\tlastMouseY = e.clientY\n\t})\n\nasync function createNotification(\n\tmessage: string,\n\ttype: TNotification,\n\tconfig?: TNotificationConfig,\n): Promise<SchmancyNotification> {\n\tconst notification = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotification.type = type\n\tnotification.innerHTML = message\n\n\t// Temporarily hide the notification and add to DOM to calculate dimensions\n\tnotification.style.visibility = 'hidden'\n\tdocument.body.appendChild(notification)\n\n\t// Determine reference element (same as before)\n\tconst referenceElement = config?.referenceElement || {\n\t\tgetBoundingClientRect: () => ({\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\tx: lastMouseX,\n\t\t\ty: lastMouseY,\n\t\t\ttop: lastMouseY,\n\t\t\tright: lastMouseX,\n\t\t\tbottom: lastMouseY,\n\t\t\tleft: lastMouseX,\n\t\t\ttoJSON: () => ({}),\n\t\t}),\n\t}\n\n\t// Compute position with accurate dimensions\n\tconst { x, y } = await computePosition(referenceElement, notification, {\n\t\tstrategy: 'fixed',\n\t\tplacement: config?.referenceElement ? 'top' : 'right-start',\n\t\tmiddleware: [offset(8), flip(), shift({ padding: 5 })],\n\t})\n\n\t// Apply positioning and make visible\n\tnotification.style.position = 'fixed'\n\tnotification.style.left = `${x}px`\n\tnotification.style.top = `${y}px`\n\tnotification.style.visibility = 'visible' // Make visible after positioning\n\tnotification.style.zIndex = '9999'\n\n\treturn notification\n}\n\n// Rest of your existing code remains the same...\nexport async function notify(type: TNotification, message: string, config?: TNotificationConfig) {\n\tconst notification = await createNotification(message, type, config)\n\n\t// Remove after duration or close event\n\trace(fromEvent(notification, 'close'), timer(config?.duration ?? 1000)).subscribe(() => {\n\t\tnotification.remove()\n\t})\n\n\treturn notification\n}\n\n// Shorthand API\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => notify('success', message, config),\n\terror: (message: string, config?: TNotificationConfig) => notify('error', message, config),\n\twarning: (message: string, config?: TNotificationConfig) => notify('warning', message, config),\n\tinfo: (message: string, config?: TNotificationConfig) => notify('info', message, config),\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type NotificationType = 'success' | 'error' | 'warning' | 'info'\n\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\tpublic type: NotificationType = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5 p-3\"\n\t\t\t>\n\t\t\t\t<!-- Icon + Text + Close Button, etc. -->\n\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t<div class=\"shrink-0 mr-2\">\n\t\t\t\t\t\t<!-- Show different icons depending on this.type -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Text slot -->\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Close -->\n\t\t\t\t\t<schmancy-icon-button @click=${this.handleClose} variant=\"outlined\" class=\"ml-2 text-sm\">\n\t\t\t\t\t\tClose\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n\n\tprivate handleClose(): void {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('close', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["lastMouseX","window","innerWidth","lastMouseY","innerHeight","async","notify","type","message","config","notification","document","createElement","innerHTML","style","visibility","body","appendChild","referenceElement","getBoundingClientRect","width","height","x","y","top","right","bottom","left","toJSON","computePosition","strategy","placement","middleware","offset","flip","shift","padding","position","zIndex","race","fromEvent","timer","duration","subscribe","remove","pipe","debounceTime","e","clientX","clientY","$notify","success","error","warning","info","SchmancyNotification","TailwindElement","super","arguments","this","html","handleClose","dispatchEvent","CustomEvent","bubbles","composed","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
- import { computePosition as x, offset as E, flip as C, shift as O } from "@floating-ui/dom";
1
+ import { computePosition as x, offset as C, flip as E, shift as O } from "@floating-ui/dom";
2
2
  import { fromEvent as f, debounceTime as T, race as P, timer as S } from "rxjs";
3
3
  import "lit/directives/class-map.js";
4
4
  import "lit/directives/style-map.js";
5
- import { T as y } from "./tailwind.mixin-ECkyl80C.js";
5
+ import { T as y } from "./tailwind.mixin-BqYiHta7.js";
6
6
  import { html as h } from "lit";
7
- import { property as $, customElement as g } from "lit/decorators.js";
7
+ import { property as $, customElement as v } from "lit/decorators.js";
8
8
  let l = window.innerWidth / 2, d = window.innerHeight / 2;
9
9
  async function a(e, t, r) {
10
- const n = await async function(c, i, s) {
10
+ const n = await async function(c, s, i) {
11
11
  const o = document.createElement("schmancy-notification");
12
- o.type = i, o.innerHTML = c, o.style.visibility = "hidden", document.body.appendChild(o);
13
- const v = (s == null ? void 0 : s.referenceElement) || { getBoundingClientRect: () => ({ width: 0, height: 0, x: l, y: d, top: d, right: l, bottom: d, left: l, toJSON: () => ({}) }) }, { x: w, y: b } = await x(v, o, { strategy: "fixed", placement: s != null && s.referenceElement ? "top" : "right-start", middleware: [E(8), C(), O({ padding: 5 })] });
14
- return o.style.position = "fixed", o.style.left = `${w}px`, o.style.top = `${b}px`, o.style.visibility = "visible", o.style.zIndex = "9999", o;
12
+ o.type = s, o.innerHTML = c, o.style.visibility = "hidden", document.body.appendChild(o);
13
+ const g = (i == null ? void 0 : i.referenceElement) || { getBoundingClientRect: () => ({ width: 0, height: 0, x: l, y: d, top: d, right: l, bottom: d, left: l, toJSON: () => ({}) }) }, { x: b, y: w } = await x(g, o, { strategy: "fixed", placement: i != null && i.referenceElement ? "top" : "right-start", middleware: [C(8), E(), O({ padding: 5 })] });
14
+ return o.style.position = "fixed", o.style.left = `${b}px`, o.style.top = `${w}px`, o.style.visibility = "visible", o.style.zIndex = "9999", o;
15
15
  }(t, e, r);
16
16
  return P(f(n, "close"), S((r == null ? void 0 : r.duration) ?? 1e3)).subscribe(() => {
17
17
  n.remove();
@@ -22,8 +22,8 @@ f(document, "mousemove").pipe(T(100)).subscribe((e) => {
22
22
  });
23
23
  const N = { success: (e, t) => a("success", e, t), error: (e, t) => a("error", e, t), warning: (e, t) => a("warning", e, t), info: (e, t) => a("info", e, t) };
24
24
  var j = Object.defineProperty, I = Object.getOwnPropertyDescriptor, p = (e, t, r, n) => {
25
- for (var c, i = n > 1 ? void 0 : n ? I(t, r) : t, s = e.length - 1; s >= 0; s--) (c = e[s]) && (i = (n ? c(t, r, i) : c(i)) || i);
26
- return n && i && j(t, r, i), i;
25
+ for (var c, s = n > 1 ? void 0 : n ? I(t, r) : t, i = e.length - 1; i >= 0; i--) (c = e[i]) && (s = (n ? c(t, r, s) : c(s)) || s);
26
+ return n && s && j(t, r, s), s;
27
27
  };
28
28
  let m = class extends y() {
29
29
  constructor() {
@@ -32,16 +32,13 @@ let m = class extends y() {
32
32
  render() {
33
33
  return h`
34
34
  <div
35
- class="pointer-events-auto w-full max-w-sm
36
- rounded-lg bg-surface-container shadow-lg
37
- ring-1 ring-outlineVariant ring-opacity-5 p-3"
35
+ class="pointer-events-auto w-full max-w-sm rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5 p-3"
38
36
  >
39
37
  <!-- Icon + Text + Close Button, etc. -->
40
38
  <div class="flex items-center">
41
39
  <!-- Icon -->
42
40
  <div class="shrink-0 mr-2">
43
41
  <!-- Show different icons depending on this.type -->
44
- <!-- e.g., success, error, etc. -->
45
42
  </div>
46
43
 
47
44
  <!-- Text slot -->
@@ -50,18 +47,18 @@ let m = class extends y() {
50
47
  </div>
51
48
 
52
49
  <!-- Close -->
53
- <schmancy-icon-button
54
- @click=${() => this.dispatchEvent(new CustomEvent("close"))}
55
- variant="outlined"
56
- class="ml-2 text-sm"
57
- >Close</schmancy-icon-button
58
- >
50
+ <schmancy-icon-button @click=${this.handleClose} variant="outlined" class="ml-2 text-sm">
51
+ Close
52
+ </schmancy-icon-button>
59
53
  </div>
60
54
  </div>
61
55
  `;
62
56
  }
57
+ handleClose() {
58
+ this.dispatchEvent(new CustomEvent("close", { bubbles: !0, composed: !0 }));
59
+ }
63
60
  };
64
- p([$({ type: String })], m.prototype, "type", 2), m = p([g("schmancy-notification")], m);
61
+ p([$({ type: String })], m.prototype, "type", 2), m = p([v("schmancy-notification")], m);
65
62
  var k = Object.getOwnPropertyDescriptor;
66
63
  let u = class extends y() {
67
64
  render() {
@@ -69,13 +66,13 @@ let u = class extends y() {
69
66
  }
70
67
  };
71
68
  u = ((e, t, r, n) => {
72
- for (var c, i = n > 1 ? void 0 : n ? k(t, r) : t, s = e.length - 1; s >= 0; s--) (c = e[s]) && (i = c(i) || i);
73
- return i;
74
- })([g("schmancy-notification-outlet")], u);
69
+ for (var c, s = n > 1 ? void 0 : n ? k(t, r) : t, i = e.length - 1; i >= 0; i--) (c = e[i]) && (s = c(s) || s);
70
+ return s;
71
+ })([v("schmancy-notification-outlet")], u);
75
72
  export {
76
73
  N as $,
77
74
  m as S,
78
75
  u as a,
79
76
  a as n
80
77
  };
81
- //# sourceMappingURL=outlet-C_zQSPJ5.js.map
78
+ //# sourceMappingURL=outlet-Dn_2_r0T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outlet-Dn_2_r0T.js","sources":["../src/notification/$notification.ts","../src/notification/notification.ts","../src/notification/outlet.ts"],"sourcesContent":["import { computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { debounceTime, fromEvent, race, timer } from 'rxjs'\nimport { SchmancyNotification } from './notification'\n\nexport type TNotification = 'success' | 'error' | 'warning' | 'info'\nexport type TNotificationConfig = {\n\tduration?: number\n\treferenceElement?: HTMLElement\n}\n\n// Track cursor position globally\nlet lastMouseX = window.innerWidth / 2\nlet lastMouseY = window.innerHeight / 2\n\nfromEvent(document, 'mousemove')\n\t.pipe(\n\t\tdebounceTime(100), // Throttle to 10fps\n\t)\n\t.subscribe((e: MouseEvent) => {\n\t\tconsole.count()\n\t\tlastMouseX = e.clientX\n\t\tlastMouseY = e.clientY\n\t})\n\nasync function createNotification(\n\tmessage: string,\n\ttype: TNotification,\n\tconfig?: TNotificationConfig,\n): Promise<SchmancyNotification> {\n\tconst notification = document.createElement('schmancy-notification') as SchmancyNotification\n\tnotification.type = type\n\tnotification.innerHTML = message\n\n\t// Temporarily hide the notification and add to DOM to calculate dimensions\n\tnotification.style.visibility = 'hidden'\n\tdocument.body.appendChild(notification)\n\n\t// Determine reference element (same as before)\n\tconst referenceElement = config?.referenceElement || {\n\t\tgetBoundingClientRect: () => ({\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\tx: lastMouseX,\n\t\t\ty: lastMouseY,\n\t\t\ttop: lastMouseY,\n\t\t\tright: lastMouseX,\n\t\t\tbottom: lastMouseY,\n\t\t\tleft: lastMouseX,\n\t\t\ttoJSON: () => ({}),\n\t\t}),\n\t}\n\n\t// Compute position with accurate dimensions\n\tconst { x, y } = await computePosition(referenceElement, notification, {\n\t\tstrategy: 'fixed',\n\t\tplacement: config?.referenceElement ? 'top' : 'right-start',\n\t\tmiddleware: [offset(8), flip(), shift({ padding: 5 })],\n\t})\n\n\t// Apply positioning and make visible\n\tnotification.style.position = 'fixed'\n\tnotification.style.left = `${x}px`\n\tnotification.style.top = `${y}px`\n\tnotification.style.visibility = 'visible' // Make visible after positioning\n\tnotification.style.zIndex = '9999'\n\n\treturn notification\n}\n\n// Rest of your existing code remains the same...\nexport async function notify(type: TNotification, message: string, config?: TNotificationConfig) {\n\tconst notification = await createNotification(message, type, config)\n\n\t// Remove after duration or close event\n\trace(fromEvent(notification, 'close'), timer(config?.duration ?? 1000)).subscribe(() => {\n\t\tnotification.remove()\n\t})\n\n\treturn notification\n}\n\n// Shorthand API\nexport const $notify = {\n\tsuccess: (message: string, config?: TNotificationConfig) => notify('success', message, config),\n\terror: (message: string, config?: TNotificationConfig) => notify('error', message, config),\n\twarning: (message: string, config?: TNotificationConfig) => notify('warning', message, config),\n\tinfo: (message: string, config?: TNotificationConfig) => notify('info', message, config),\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\nexport type NotificationType = 'success' | 'error' | 'warning' | 'info'\n\n@customElement('schmancy-notification')\nexport class SchmancyNotification extends TailwindElement() {\n\t@property({ type: String })\n\tpublic type: NotificationType = 'success'\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"pointer-events-auto w-full max-w-sm rounded-lg bg-surface-container shadow-lg ring-1 ring-outlineVariant ring-opacity-5 p-3\"\n\t\t\t>\n\t\t\t\t<!-- Icon + Text + Close Button, etc. -->\n\t\t\t\t<div class=\"flex items-center\">\n\t\t\t\t\t<!-- Icon -->\n\t\t\t\t\t<div class=\"shrink-0 mr-2\">\n\t\t\t\t\t\t<!-- Show different icons depending on this.type -->\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Text slot -->\n\t\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Close -->\n\t\t\t\t\t<schmancy-icon-button @click=${this.handleClose} variant=\"outlined\" class=\"ml-2 text-sm\">\n\t\t\t\t\t\tClose\n\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n\n\tprivate handleClose(): void {\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('close', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification': SchmancyNotification\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n@customElement('schmancy-notification-outlet')\nexport class SchmancyNotificationOutlet extends TailwindElement() {\n\trender() {\n\t\treturn html` <slot></slot> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-notification-outlet': SchmancyNotificationOutlet\n\t}\n}\n"],"names":["lastMouseX","window","innerWidth","lastMouseY","innerHeight","async","notify","type","message","config","notification","document","createElement","innerHTML","style","visibility","body","appendChild","referenceElement","getBoundingClientRect","width","height","x","y","top","right","bottom","left","toJSON","computePosition","strategy","placement","middleware","offset","flip","shift","padding","position","zIndex","race","fromEvent","timer","duration","subscribe","remove","pipe","debounceTime","e","clientX","clientY","$notify","success","error","warning","info","SchmancyNotification","TailwindElement","super","arguments","this","render","html","handleClose","dispatchEvent","CustomEvent","bubbles","composed","__decorateClass","property","String","prototype","customElement","SchmancyNotificationOutlet"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { $ as P } from "./litElement.mixin-B43tuAsM.js";
5
- import "./tailwind.mixin-ECkyl80C.js";
4
+ import { $ as P } from "./litElement.mixin-CmIssdvT.js";
5
+ import "./tailwind.mixin-BqYiHta7.js";
6
6
  import { html as L } from "lit";
7
7
  import { property as V, state as k, query as D, customElement as M } from "lit/decorators.js";
8
8
  var x = typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, y = function(e, t, r, i, a, n, o, s, m, p) {
@@ -462,4 +462,4 @@ v([V({ type: Object, reflect: !0 })], f.prototype, "value", 2), v([k()], f.proto
462
462
  export {
463
463
  f as S
464
464
  };
465
- //# sourceMappingURL=payment-card-form-BwmcjAMM.js.map
465
+ //# sourceMappingURL=payment-card-form-IuFrmEnf.js.map