@mhmo91/schmancy 0.9.20 → 0.9.22

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 (342) hide show
  1. package/dist/agent/{flow-3RrZM-e7.js.map → flow-CvG1fLW5.js.map} +1 -1
  2. package/dist/agent/schmancy.agent.js +2172 -2168
  3. package/dist/agent/schmancy.agent.js.map +1 -1
  4. package/dist/agent/{vendor-highlight-BmnMldIa.js.map → vendor-highlight-Dow87ZL_.js.map} +1 -1
  5. package/dist/agent/{vendor-jsqr-1wQ5xc49.js.map → vendor-jsqr-Bl4iAtKC.js.map} +1 -1
  6. package/dist/agent/{vendor-material-color-33Mj762T.js.map → vendor-material-color-DcL7ZPxx.js.map} +1 -1
  7. package/dist/{area-DBjAhgjP.cjs → area-CFLFXu0Z.cjs} +1 -1
  8. package/dist/{area-DBjAhgjP.cjs.map → area-CFLFXu0Z.cjs.map} +1 -1
  9. package/dist/{area-Dr4I9R2p.js → area-CfozaCAZ.js} +1 -1
  10. package/dist/{area-Dr4I9R2p.js.map → area-CfozaCAZ.js.map} +1 -1
  11. package/dist/area.cjs +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-CgWUCUU-.js → autocomplete-BNjcQ743.js} +2 -2
  14. package/dist/{autocomplete-CgWUCUU-.js.map → autocomplete-BNjcQ743.js.map} +1 -1
  15. package/dist/{autocomplete-EM0jE7X2.cjs → autocomplete-NDvRW_Xs.cjs} +1 -1
  16. package/dist/{autocomplete-EM0jE7X2.cjs.map → autocomplete-NDvRW_Xs.cjs.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/badge.cjs +1 -1
  20. package/dist/badge.js +1 -1
  21. package/dist/{boat-Dw8TmOzN.js → boat-DxplbTDW.js} +1 -1
  22. package/dist/{boat-Dw8TmOzN.js.map → boat-DxplbTDW.js.map} +1 -1
  23. package/dist/{boat-BjYJI1HS.cjs → boat-ZA47HbKj.cjs} +1 -1
  24. package/dist/{boat-BjYJI1HS.cjs.map → boat-ZA47HbKj.cjs.map} +1 -1
  25. package/dist/boat.cjs +1 -1
  26. package/dist/boat.js +1 -1
  27. package/dist/breadcrumb.cjs +1 -1
  28. package/dist/breadcrumb.js +1 -1
  29. package/dist/{busy-BmiumJpB.cjs → busy-BuHEz1uo.cjs} +1 -1
  30. package/dist/{busy-BmiumJpB.cjs.map → busy-BuHEz1uo.cjs.map} +1 -1
  31. package/dist/{busy-D2hP3fOy.js → busy-QZxs4u8B.js} +1 -1
  32. package/dist/{busy-D2hP3fOy.js.map → busy-QZxs4u8B.js.map} +1 -1
  33. package/dist/busy.cjs +1 -1
  34. package/dist/busy.js +1 -1
  35. package/dist/button.cjs +1 -1
  36. package/dist/button.js +3 -3
  37. package/dist/{card-CEdgK9nb.js → card-CTUaARLm.js} +1 -1
  38. package/dist/{card-CEdgK9nb.js.map → card-CTUaARLm.js.map} +1 -1
  39. package/dist/{card-BslSqOsf.cjs → card-DtN6p1Jq.cjs} +1 -1
  40. package/dist/{card-BslSqOsf.cjs.map → card-DtN6p1Jq.cjs.map} +1 -1
  41. package/dist/card.cjs +1 -1
  42. package/dist/card.js +1 -1
  43. package/dist/charts.cjs +1 -1
  44. package/dist/charts.js +1 -1
  45. package/dist/{checkbox-Br84TiCs.js → checkbox-D4cUb1T3.js} +1 -1
  46. package/dist/{checkbox-Br84TiCs.js.map → checkbox-D4cUb1T3.js.map} +1 -1
  47. package/dist/{checkbox-DtcFMgZL.cjs → checkbox-DEKQLJYR.cjs} +1 -1
  48. package/dist/{checkbox-DtcFMgZL.cjs.map → checkbox-DEKQLJYR.cjs.map} +1 -1
  49. package/dist/checkbox.cjs +1 -1
  50. package/dist/checkbox.js +1 -1
  51. package/dist/{chips-DoCu5YQb.cjs → chips-B-27tj7O.cjs} +1 -1
  52. package/dist/{chips-DoCu5YQb.cjs.map → chips-B-27tj7O.cjs.map} +1 -1
  53. package/dist/{chips-BNYOweGm.js → chips-DhAWrSgi.js} +3 -3
  54. package/dist/{chips-BNYOweGm.js.map → chips-DhAWrSgi.js.map} +1 -1
  55. package/dist/chips.cjs +1 -1
  56. package/dist/chips.js +2 -2
  57. package/dist/{code-highlight-CI_gqXYX.js → code-highlight-DgZKqo4P.js} +1 -1
  58. package/dist/{code-highlight-CI_gqXYX.js.map → code-highlight-DgZKqo4P.js.map} +1 -1
  59. package/dist/{code-highlight-B_l8vDzn.cjs → code-highlight-_ZK6FEjF.cjs} +1 -1
  60. package/dist/{code-highlight-B_l8vDzn.cjs.map → code-highlight-_ZK6FEjF.cjs.map} +1 -1
  61. package/dist/code-highlight.cjs +1 -1
  62. package/dist/code-highlight.js +1 -1
  63. package/dist/{components-TJT8-tva.cjs → components-DUiF-_Ul.cjs} +1 -1
  64. package/dist/{components-TJT8-tva.cjs.map → components-DUiF-_Ul.cjs.map} +1 -1
  65. package/dist/{components-DjKNS9R_.js → components-JHIoVqFd.js} +1 -1
  66. package/dist/{components-DjKNS9R_.js.map → components-JHIoVqFd.js.map} +1 -1
  67. package/dist/components.cjs +1 -1
  68. package/dist/components.js +1 -1
  69. package/dist/connectivity.cjs +1 -1
  70. package/dist/connectivity.js +1 -1
  71. package/dist/content-drawer.cjs +1 -1
  72. package/dist/content-drawer.js +1 -1
  73. package/dist/context-6t-yayy3.cjs +1 -0
  74. package/dist/{context-CAYQh-mx.cjs.map → context-6t-yayy3.cjs.map} +1 -1
  75. package/dist/context-BCFNNkes.js +3 -0
  76. package/dist/{context-D8Q66KPe.js.map → context-BCFNNkes.js.map} +1 -1
  77. package/dist/{date-range-sGkC0KF3.js → date-range-B1FDRGRB.js} +2 -2
  78. package/dist/{date-range-sGkC0KF3.js.map → date-range-B1FDRGRB.js.map} +1 -1
  79. package/dist/{date-range-CIWYm3eS.cjs → date-range-CrAIk8dg.cjs} +1 -1
  80. package/dist/{date-range-CIWYm3eS.cjs.map → date-range-CrAIk8dg.cjs.map} +1 -1
  81. package/dist/date-range.cjs +1 -1
  82. package/dist/date-range.js +1 -1
  83. package/dist/{delay-DwX65fSc.js → delay-Cs0i_CpQ.js} +3 -3
  84. package/dist/{delay-DwX65fSc.js.map → delay-Cs0i_CpQ.js.map} +1 -1
  85. package/dist/{delay-Bu4WMQlV.cjs → delay-DCp_QEct.cjs} +1 -1
  86. package/dist/{delay-Bu4WMQlV.cjs.map → delay-DCp_QEct.cjs.map} +1 -1
  87. package/dist/delay.cjs +1 -1
  88. package/dist/delay.js +1 -1
  89. package/dist/{details-B8p62xmR.cjs → details-BJTR16AV.cjs} +1 -1
  90. package/dist/{details-B8p62xmR.cjs.map → details-BJTR16AV.cjs.map} +1 -1
  91. package/dist/{details-CCW52lzz.js → details-CBoXUDlQ.js} +1 -1
  92. package/dist/{details-CCW52lzz.js.map → details-CBoXUDlQ.js.map} +1 -1
  93. package/dist/details.cjs +1 -1
  94. package/dist/details.js +1 -1
  95. package/dist/dialog.cjs +1 -1
  96. package/dist/dialog.js +1 -1
  97. package/dist/{divider-JyyFw_3J.cjs → divider-D6MRonTS.cjs} +1 -1
  98. package/dist/{divider-JyyFw_3J.cjs.map → divider-D6MRonTS.cjs.map} +1 -1
  99. package/dist/{divider-CbEWg3G_.js → divider-DivkYKa_.js} +1 -1
  100. package/dist/{divider-CbEWg3G_.js.map → divider-DivkYKa_.js.map} +1 -1
  101. package/dist/divider.cjs +1 -1
  102. package/dist/divider.js +1 -1
  103. package/dist/dropdown.cjs +1 -1
  104. package/dist/dropdown.js +2 -2
  105. package/dist/{expand-bFa_qVDT.js → expand-BvAVo29n.js} +2 -2
  106. package/dist/{expand-bFa_qVDT.js.map → expand-BvAVo29n.js.map} +1 -1
  107. package/dist/{expand-BmwIPNjq.cjs → expand-Dd0H6y8Z.cjs} +1 -1
  108. package/dist/{expand-BmwIPNjq.cjs.map → expand-Dd0H6y8Z.cjs.map} +1 -1
  109. package/dist/expand.cjs +1 -1
  110. package/dist/expand.js +1 -1
  111. package/dist/{extra-HwbaUnCD.js → extra-0MZSXbOH.js} +1 -1
  112. package/dist/{extra-HwbaUnCD.js.map → extra-0MZSXbOH.js.map} +1 -1
  113. package/dist/{extra-BUgyMgjl.cjs → extra-CdOUiB0K.cjs} +1 -1
  114. package/dist/{extra-BUgyMgjl.cjs.map → extra-CdOUiB0K.cjs.map} +1 -1
  115. package/dist/extra.cjs +1 -1
  116. package/dist/extra.js +1 -1
  117. package/dist/{float-BQwhfibw.cjs → float-ByW-Gth3.cjs} +1 -1
  118. package/dist/{float-BQwhfibw.cjs.map → float-ByW-Gth3.cjs.map} +1 -1
  119. package/dist/{float-D5ezUurt.js → float-D_u8mDNa.js} +1 -1
  120. package/dist/{float-D5ezUurt.js.map → float-D_u8mDNa.js.map} +1 -1
  121. package/dist/float.cjs +1 -1
  122. package/dist/float.js +1 -1
  123. package/dist/handover/agent-runtime-followups.md +1 -1
  124. package/dist/handover/agent-runtime-v1.md +3 -3
  125. package/dist/handover/agent-runtime-v2-loopback.md +71 -0
  126. package/dist/handover/claude-design-brief.md +131 -0
  127. package/dist/handover/claude-design-v2-paste.md +42 -0
  128. package/dist/{icons-C5-DIjet.js → icons-24zlLf1q.js} +2 -2
  129. package/dist/{icons-C5-DIjet.js.map → icons-24zlLf1q.js.map} +1 -1
  130. package/dist/{icons-B6V3nZ4-.cjs → icons-BpHN4Z8q.cjs} +1 -1
  131. package/dist/{icons-B6V3nZ4-.cjs.map → icons-BpHN4Z8q.cjs.map} +1 -1
  132. package/dist/icons.cjs +1 -1
  133. package/dist/icons.js +1 -1
  134. package/dist/{iframe-C7sHg7RC.cjs → iframe-BXzYZu9_.cjs} +1 -1
  135. package/dist/{iframe-C7sHg7RC.cjs.map → iframe-BXzYZu9_.cjs.map} +1 -1
  136. package/dist/{iframe-BXBsuLwt.js → iframe-B_QrvTmj.js} +1 -1
  137. package/dist/{iframe-BXBsuLwt.js.map → iframe-B_QrvTmj.js.map} +1 -1
  138. package/dist/iframe.cjs +1 -1
  139. package/dist/iframe.js +1 -1
  140. package/dist/index.cjs +1 -1
  141. package/dist/index.js +30 -30
  142. package/dist/{input-chip-CiG61y-N.js → input-chip-C09B0L1y.js} +1 -1
  143. package/dist/{input-chip-CiG61y-N.js.map → input-chip-C09B0L1y.js.map} +1 -1
  144. package/dist/{input-chip-p24lkYtY.cjs → input-chip-FZEpuSaX.cjs} +1 -1
  145. package/dist/{input-chip-p24lkYtY.cjs.map → input-chip-FZEpuSaX.cjs.map} +1 -1
  146. package/dist/json.cjs +1 -1
  147. package/dist/json.js +2 -2
  148. package/dist/kbd.cjs +1 -1
  149. package/dist/kbd.js +1 -1
  150. package/dist/{layout-B0_IXfov.cjs → layout-Bst19YG8.cjs} +1 -1
  151. package/dist/{layout-B0_IXfov.cjs.map → layout-Bst19YG8.cjs.map} +1 -1
  152. package/dist/{layout-Cqghi_rx.js → layout-aTtUdGAi.js} +2 -2
  153. package/dist/{layout-Cqghi_rx.js.map → layout-aTtUdGAi.js.map} +1 -1
  154. package/dist/layout.cjs +1 -1
  155. package/dist/layout.js +2 -2
  156. package/dist/{lightbox-CnCTvqSu.js → lightbox-Cb5-XPWV.js} +2 -2
  157. package/dist/{lightbox-CnCTvqSu.js.map → lightbox-Cb5-XPWV.js.map} +1 -1
  158. package/dist/{lightbox-BWKTzA03.cjs → lightbox-Dk2ICCBB.cjs} +1 -1
  159. package/dist/{lightbox-BWKTzA03.cjs.map → lightbox-Dk2ICCBB.cjs.map} +1 -1
  160. package/dist/lightbox.cjs +1 -1
  161. package/dist/lightbox.js +1 -1
  162. package/dist/{list-CMWHu6cV.cjs → list-DBiecR1i.cjs} +1 -1
  163. package/dist/{list-CMWHu6cV.cjs.map → list-DBiecR1i.cjs.map} +1 -1
  164. package/dist/{list-BpjKUOzM.js → list-DZWoCb3V.js} +2 -2
  165. package/dist/{list-BpjKUOzM.js.map → list-DZWoCb3V.js.map} +1 -1
  166. package/dist/list.cjs +1 -1
  167. package/dist/list.js +1 -1
  168. package/dist/{litElement.mixin-BnNYZ24e.js → litElement.mixin-BuZ28ZzP.js} +1 -1
  169. package/dist/{litElement.mixin-BnNYZ24e.js.map → litElement.mixin-BuZ28ZzP.js.map} +1 -1
  170. package/dist/{litElement.mixin-CtQOmwq6.cjs → litElement.mixin-lYlKxxjR.cjs} +1 -1
  171. package/dist/{litElement.mixin-CtQOmwq6.cjs.map → litElement.mixin-lYlKxxjR.cjs.map} +1 -1
  172. package/dist/{mailbox-Tg1CROVz.cjs → mailbox-BYNmcNIM.cjs} +1 -1
  173. package/dist/{mailbox-Tg1CROVz.cjs.map → mailbox-BYNmcNIM.cjs.map} +1 -1
  174. package/dist/{mailbox-CHIpxS3W.js → mailbox-laG7nvXl.js} +4 -4
  175. package/dist/{mailbox-CHIpxS3W.js.map → mailbox-laG7nvXl.js.map} +1 -1
  176. package/dist/mailbox.cjs +1 -1
  177. package/dist/mailbox.js +1 -1
  178. package/dist/{map-Z_dsu-dv.cjs → map-7_cexh1e.cjs} +1 -1
  179. package/dist/{map-Z_dsu-dv.cjs.map → map-7_cexh1e.cjs.map} +1 -1
  180. package/dist/{map-YY1Q4FWO.js → map-YSAPFrH9.js} +1 -1
  181. package/dist/{map-YY1Q4FWO.js.map → map-YSAPFrH9.js.map} +1 -1
  182. package/dist/map.cjs +1 -1
  183. package/dist/map.js +1 -1
  184. package/dist/{menu-BIBUgS1T.js → menu-DeNdlsSV.js} +1 -1
  185. package/dist/{menu-BIBUgS1T.js.map → menu-DeNdlsSV.js.map} +1 -1
  186. package/dist/{menu-DS8Iz4fJ.cjs → menu-RaeiF4Ja.cjs} +1 -1
  187. package/dist/{menu-DS8Iz4fJ.cjs.map → menu-RaeiF4Ja.cjs.map} +1 -1
  188. package/dist/menu.cjs +1 -1
  189. package/dist/menu.js +1 -1
  190. package/dist/mixins.cjs +1 -1
  191. package/dist/mixins.js +2 -2
  192. package/dist/nav-drawer.cjs +1 -1
  193. package/dist/nav-drawer.js +1 -1
  194. package/dist/navigation-bar.cjs +1 -1
  195. package/dist/navigation-bar.js +1 -1
  196. package/dist/navigation-rail.cjs +1 -1
  197. package/dist/navigation-rail.js +1 -1
  198. package/dist/{notification-ChAvNXf3.js → notification-DRPjMDli.js} +2 -2
  199. package/dist/{notification-ChAvNXf3.js.map → notification-DRPjMDli.js.map} +1 -1
  200. package/dist/{notification-DPUkuifB.cjs → notification-DqWW2oh9.cjs} +1 -1
  201. package/dist/{notification-DPUkuifB.cjs.map → notification-DqWW2oh9.cjs.map} +1 -1
  202. package/dist/notification.cjs +1 -1
  203. package/dist/notification.js +1 -1
  204. package/dist/{option-OIp0joyN.cjs → option-1lYctKVI.cjs} +1 -1
  205. package/dist/{option-OIp0joyN.cjs.map → option-1lYctKVI.cjs.map} +1 -1
  206. package/dist/{option-Ci7C8xxh.js → option-N3wlHTc9.js} +1 -1
  207. package/dist/{option-Ci7C8xxh.js.map → option-N3wlHTc9.js.map} +1 -1
  208. package/dist/option.cjs +1 -1
  209. package/dist/option.js +1 -1
  210. package/dist/overlay.cjs +1 -1
  211. package/dist/overlay.js +1 -1
  212. package/dist/page.cjs +1 -1
  213. package/dist/page.js +2 -2
  214. package/dist/{progress-DGkwPgDX.js → progress-DhcXo8r-.js} +1 -1
  215. package/dist/{progress-DGkwPgDX.js.map → progress-DhcXo8r-.js.map} +1 -1
  216. package/dist/{progress-32Cad1NX.cjs → progress-YOuASkdz.cjs} +1 -1
  217. package/dist/{progress-32Cad1NX.cjs.map → progress-YOuASkdz.cjs.map} +1 -1
  218. package/dist/progress.cjs +1 -1
  219. package/dist/progress.js +1 -1
  220. package/dist/{provide-MvHcXKzT.cjs → provide-B7b5TOCD.cjs} +1 -1
  221. package/dist/{provide-MvHcXKzT.cjs.map → provide-B7b5TOCD.cjs.map} +1 -1
  222. package/dist/{provide-BuzyBLGj.js → provide-uCFRzgWs.js} +1 -1
  223. package/dist/{provide-BuzyBLGj.js.map → provide-uCFRzgWs.js.map} +1 -1
  224. package/dist/qr-scanner.cjs +5 -5
  225. package/dist/qr-scanner.cjs.map +1 -1
  226. package/dist/qr-scanner.js +11 -7
  227. package/dist/qr-scanner.js.map +1 -1
  228. package/dist/{radio-group-B7DuNxUq.cjs → radio-group-DYvIgv3P.cjs} +1 -1
  229. package/dist/{radio-group-B7DuNxUq.cjs.map → radio-group-DYvIgv3P.cjs.map} +1 -1
  230. package/dist/{radio-group-B72sYGnS.js → radio-group-DchZApJl.js} +1 -1
  231. package/dist/{radio-group-B72sYGnS.js.map → radio-group-DchZApJl.js.map} +1 -1
  232. package/dist/radio-group.cjs +1 -1
  233. package/dist/radio-group.js +1 -1
  234. package/dist/range.cjs +1 -1
  235. package/dist/range.js +1 -1
  236. package/dist/{scroll-V1rAZ9fK.cjs → scroll-BKn4essm.cjs} +1 -1
  237. package/dist/{scroll-V1rAZ9fK.cjs.map → scroll-BKn4essm.cjs.map} +1 -1
  238. package/dist/{scroll-CdmXRXh2.js → scroll-G2YnteF9.js} +1 -1
  239. package/dist/{scroll-CdmXRXh2.js.map → scroll-G2YnteF9.js.map} +1 -1
  240. package/dist/{select-wFDKDLQI.js → select-Bydjuia9.js} +1 -1
  241. package/dist/{select-wFDKDLQI.js.map → select-Bydjuia9.js.map} +1 -1
  242. package/dist/{select-DFxoBgEf.cjs → select-CQGKkEZc.cjs} +1 -1
  243. package/dist/{select-DFxoBgEf.cjs.map → select-CQGKkEZc.cjs.map} +1 -1
  244. package/dist/select.cjs +1 -1
  245. package/dist/select.js +1 -1
  246. package/dist/{sheet-DdlZhnDG.cjs → sheet-BCxpHT62.cjs} +1 -1
  247. package/dist/{sheet-DdlZhnDG.cjs.map → sheet-BCxpHT62.cjs.map} +1 -1
  248. package/dist/{sheet-LFVo5iN4.js → sheet-DGfh9VSs.js} +3 -3
  249. package/dist/{sheet-LFVo5iN4.js.map → sheet-DGfh9VSs.js.map} +1 -1
  250. package/dist/sheet.cjs +1 -1
  251. package/dist/sheet.js +2 -2
  252. package/dist/{sheet.service-BfNDB0K0.cjs → sheet.service-B-RxqhpO.cjs} +1 -1
  253. package/dist/{sheet.service-BfNDB0K0.cjs.map → sheet.service-B-RxqhpO.cjs.map} +1 -1
  254. package/dist/{sheet.service-DQE7-_wq.js → sheet.service-Dy_fwQqQ.js} +1 -1
  255. package/dist/{sheet.service-DQE7-_wq.js.map → sheet.service-Dy_fwQqQ.js.map} +1 -1
  256. package/dist/skeleton.cjs +1 -1
  257. package/dist/skeleton.js +1 -1
  258. package/dist/skills/SKILL.md +1 -1
  259. package/dist/skills/schmancy/SKILL.md +1 -1
  260. package/dist/slider.cjs +1 -1
  261. package/dist/slider.js +1 -1
  262. package/dist/{splash-screen-DteUfSV3.cjs → splash-screen-C2xsOEdx.cjs} +1 -1
  263. package/dist/{splash-screen-DteUfSV3.cjs.map → splash-screen-C2xsOEdx.cjs.map} +1 -1
  264. package/dist/{splash-screen-BHgb3c3Q.js → splash-screen-Clv-5vsb.js} +1 -1
  265. package/dist/{splash-screen-BHgb3c3Q.js.map → splash-screen-Clv-5vsb.js.map} +1 -1
  266. package/dist/splash-screen.cjs +1 -1
  267. package/dist/splash-screen.js +1 -1
  268. package/dist/{src-Dw-PjtMH.js → src-B0jLOpqn.js} +39 -39
  269. package/dist/{src-Dw-PjtMH.js.map → src-B0jLOpqn.js.map} +1 -1
  270. package/dist/{src-sG7Ihf0e.cjs → src-C9DpHCWF.cjs} +1 -1
  271. package/dist/{src-sG7Ihf0e.cjs.map → src-C9DpHCWF.cjs.map} +1 -1
  272. package/dist/steps.cjs +1 -1
  273. package/dist/steps.js +3 -3
  274. package/dist/{surface-0XM4DBaT.js → surface-BWcq30OL.js} +2 -2
  275. package/dist/{surface-0XM4DBaT.js.map → surface-BWcq30OL.js.map} +1 -1
  276. package/dist/{surface-B6DA01kL.cjs → surface-fEmoN08Y.cjs} +1 -1
  277. package/dist/{surface-B6DA01kL.cjs.map → surface-fEmoN08Y.cjs.map} +1 -1
  278. package/dist/surface.cjs +1 -1
  279. package/dist/surface.js +1 -1
  280. package/dist/switch.cjs +1 -1
  281. package/dist/switch.js +1 -1
  282. package/dist/{table-Dwt66SR6.js → table-B8H-zioX.js} +1 -1
  283. package/dist/{table-Dwt66SR6.js.map → table-B8H-zioX.js.map} +1 -1
  284. package/dist/{table-DFlJhG5E.cjs → table-ChHS4xby.cjs} +1 -1
  285. package/dist/{table-DFlJhG5E.cjs.map → table-ChHS4xby.cjs.map} +1 -1
  286. package/dist/table.cjs +1 -1
  287. package/dist/table.js +1 -1
  288. package/dist/{tabs-C7r4TqcX.js → tabs-DB5kSuGL.js} +2 -2
  289. package/dist/{tabs-C7r4TqcX.js.map → tabs-DB5kSuGL.js.map} +1 -1
  290. package/dist/{tabs-DZaLZUBy.cjs → tabs-DGmbqqBD.cjs} +1 -1
  291. package/dist/{tabs-DZaLZUBy.cjs.map → tabs-DGmbqqBD.cjs.map} +1 -1
  292. package/dist/tabs.cjs +1 -1
  293. package/dist/tabs.js +1 -1
  294. package/dist/tailwind.mixin-BHX99hgX.cjs +2 -0
  295. package/dist/{tailwind.mixin-Bh58QnlW.cjs.map → tailwind.mixin-BHX99hgX.cjs.map} +1 -1
  296. package/dist/tailwind.mixin-DIEGVcl3.js +219 -0
  297. package/dist/{tailwind.mixin-H5Pn7vSJ.js.map → tailwind.mixin-DIEGVcl3.js.map} +1 -1
  298. package/dist/teleport.cjs +1 -1
  299. package/dist/teleport.js +1 -1
  300. package/dist/{textarea-B2544vx9.cjs → textarea-CfQnghhD.cjs} +1 -1
  301. package/dist/{textarea-B2544vx9.cjs.map → textarea-CfQnghhD.cjs.map} +1 -1
  302. package/dist/{textarea-CS-KdSLz.js → textarea-O9A58OZA.js} +1 -1
  303. package/dist/{textarea-CS-KdSLz.js.map → textarea-O9A58OZA.js.map} +1 -1
  304. package/dist/textarea.cjs +1 -1
  305. package/dist/textarea.js +1 -1
  306. package/dist/{theme-DU5yXaV-.cjs → theme-BjnQjhR0.cjs} +1 -1
  307. package/dist/{theme-DU5yXaV-.cjs.map → theme-BjnQjhR0.cjs.map} +1 -1
  308. package/dist/{theme-Cq_c9IO3.js → theme-DvCKLRkt.js} +3 -3
  309. package/dist/{theme-Cq_c9IO3.js.map → theme-DvCKLRkt.js.map} +1 -1
  310. package/dist/{theme-button-OJl2ma0u.js → theme-button-ByImreDw.js} +1 -1
  311. package/dist/{theme-button-OJl2ma0u.js.map → theme-button-ByImreDw.js.map} +1 -1
  312. package/dist/{theme-button-CPujUbgV.cjs → theme-button-CaxDEneM.cjs} +1 -1
  313. package/dist/{theme-button-CPujUbgV.cjs.map → theme-button-CaxDEneM.cjs.map} +1 -1
  314. package/dist/theme-button.cjs +1 -1
  315. package/dist/theme-button.js +1 -1
  316. package/dist/theme.cjs +1 -1
  317. package/dist/theme.js +2 -2
  318. package/dist/tree.cjs +1 -1
  319. package/dist/tree.js +1 -1
  320. package/dist/typewriter.cjs +1 -1
  321. package/dist/typewriter.js +3 -3
  322. package/dist/typography.cjs +1 -1
  323. package/dist/typography.js +1 -1
  324. package/dist/visually-hidden.cjs +1 -1
  325. package/dist/visually-hidden.js +1 -1
  326. package/dist/{window-Cjv2GqSN.cjs → window-BhrSdbk2.cjs} +1 -1
  327. package/dist/{window-Cjv2GqSN.cjs.map → window-BhrSdbk2.cjs.map} +1 -1
  328. package/dist/{window-BWecg8Ih.js → window-C8kImMiI.js} +1 -1
  329. package/dist/{window-BWecg8Ih.js.map → window-C8kImMiI.js.map} +1 -1
  330. package/dist/window.cjs +1 -1
  331. package/dist/window.js +1 -1
  332. package/package.json +1 -1
  333. package/skills/schmancy/SKILL.md +1 -1
  334. package/src/qr-scanner/qr-scanner.ts +27 -2
  335. package/dist/context-CAYQh-mx.cjs +0 -1
  336. package/dist/context-D8Q66KPe.js +0 -3
  337. package/dist/tailwind.mixin-Bh58QnlW.cjs +0 -2
  338. package/dist/tailwind.mixin-H5Pn7vSJ.js +0 -219
  339. /package/dist/agent/{flow-3RrZM-e7.js → flow-CvG1fLW5.js} +0 -0
  340. /package/dist/agent/{vendor-highlight-BmnMldIa.js → vendor-highlight-Dow87ZL_.js} +0 -0
  341. /package/dist/agent/{vendor-jsqr-1wQ5xc49.js → vendor-jsqr-Bl4iAtKC.js} +0 -0
  342. /package/dist/agent/{vendor-material-color-33Mj762T.js → vendor-material-color-DcL7ZPxx.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"code-highlight-B_l8vDzn.cjs","names":[],"sources":["../src/code-highlight/code-highlight.ts","../src/code-highlight/code-preview.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js'\n\n// highlight.js + all 6 language grammars are loaded lazily on first render.\n// Static imports were previously responsible for ~15 KB gzipped (vendor-\n// highlight chunk) being eagerly fetched on every agent-bundle first paint,\n// even for pages that never rendered <schmancy-code>. See ADR 0014 in the\n// parent monorepo.\ntype Hljs = typeof import('highlight.js/lib/core').default\n\nlet hljsPromise: Promise<Hljs> | null = null\nfunction loadHljs(): Promise<Hljs> {\n\tif (hljsPromise) return hljsPromise\n\thljsPromise = Promise.all([\n\t\timport('highlight.js/lib/core'),\n\t\timport('highlight.js/lib/languages/bash'),\n\t\timport('highlight.js/lib/languages/javascript'),\n\t\timport('highlight.js/lib/languages/markdown'),\n\t\timport('highlight.js/lib/languages/typescript'),\n\t\timport('highlight.js/lib/languages/xml'),\n\t]).then(([core, bash, javascript, markdown, typescript, xml]) => {\n\t\tconst hljs = core.default\n\t\thljs.registerLanguage('javascript', javascript.default)\n\t\thljs.registerLanguage('typescript', typescript.default)\n\t\thljs.registerLanguage('html', xml.default)\n\t\thljs.registerLanguage('xml', xml.default)\n\t\thljs.registerLanguage('markdown', markdown.default)\n\t\thljs.registerLanguage('bash', bash.default)\n\t\treturn hljs\n\t})\n\treturn hljsPromise\n}\n\n/**\n * @element schmancy-code\n * Code highlighting component using highlight.js with schmancy theming support\n */\n@customElement('schmancy-code')\nexport class SchmancyCode extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t}\n\n\t/* Code block styling using schmancy color system */\n\t.hljs {\n\t\tdisplay: block;\n\t\toverflow-x: auto;\n\t\tpadding: 0.5em;\n\t\tcolor: var(--md-sys-color-on-surface-variant);\n\t\tbackground: var(--md-sys-color-surface-container-lowest);\n\t\tfont-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n\t}\n\n\t/* Comments and documentation */\n\t.hljs-comment,\n\t.hljs-quote {\n\t\tcolor: var(--md-sys-color-outline);\n\t\tfont-style: italic;\n\t}\n\n\t/* Keywords, doctags, formulas */\n\t.hljs-doctag,\n\t.hljs-keyword,\n\t.hljs-formula {\n\t\tcolor: var(--md-sys-color-primary);\n\t}\n\n\t/* Tags, sections, names, deletions */\n\t.hljs-section,\n\t.hljs-name,\n\t.hljs-selector-tag,\n\t.hljs-deletion,\n\t.hljs-subst {\n\t\tcolor: var(--md-sys-color-error);\n\t}\n\n\t/* Literals */\n\t.hljs-literal {\n\t\tcolor: var(--md-sys-color-tertiary);\n\t}\n\n\t/* Strings, regex, additions */\n\t.hljs-string,\n\t.hljs-regexp,\n\t.hljs-addition,\n\t.hljs-attribute,\n\t.hljs-meta-string {\n\t\tcolor: var(--md-sys-color-secondary);\n\t}\n\n\t/* Built-ins and class titles */\n\t.hljs-built_in,\n\t.hljs-class .hljs-title {\n\t\tcolor: var(--md-sys-color-tertiary);\n\t}\n\n\t/* Variables, attributes, types */\n\t.hljs-attr,\n\t.hljs-variable,\n\t.hljs-template-variable,\n\t.hljs-type,\n\t.hljs-selector-class,\n\t.hljs-selector-attr,\n\t.hljs-selector-pseudo,\n\t.hljs-number {\n\t\tcolor: var(--md-sys-color-on-surface);\n\t}\n\n\t/* Symbols, bullets, links, meta */\n\t.hljs-symbol,\n\t.hljs-bullet,\n\t.hljs-link,\n\t.hljs-meta,\n\t.hljs-selector-id,\n\t.hljs-title {\n\t\tcolor: var(--md-sys-color-secondary);\n\t}\n\n\t.hljs-emphasis {\n\t\tfont-style: italic;\n\t}\n\n\t.hljs-strong {\n\t\tfont-weight: bold;\n\t}\n\n\t.hljs-link {\n\t\ttext-decoration: underline;\n\t}\n\n\t/* Line features styling */\n\t.code-with-lines {\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t.code-line {\n\t\tdisplay: block;\n\t\tpadding-left: 0;\n\t\ttransition: background-color 0.2s ease;\n\t}\n\n\t.code-line.highlighted {\n\t\tbackground-color: var(--md-sys-color-primary-container);\n\t\topacity: 0.2;\n\t}\n\n\t.line-number {\n\t\tdisplay: inline-block;\n\t\twidth: 3rem;\n\t\tpadding-right: 1rem;\n\t\ttext-align: right;\n\t\tcolor: var(--md-sys-color-outline);\n\t\tuser-select: none;\n\t\tfont-size: inherit;\n\t}\n`) {\n\t/**\n\t * Programming language for syntax highlighting\n\t */\n\t@property({ type: String })\n\tlanguage: string = 'javascript'\n\n\t/**\n\t * Code content to highlight\n\t */\n\t@property({ type: String })\n\tcode: string = ''\n\n\t/**\n\t * Optional filename or title to display in header\n\t */\n\t@property({ type: String })\n\tfilename?: string\n\n\t/**\n\t * Show line numbers\n\t */\n\t@property({ type: Boolean })\n\tlineNumbers: boolean = false\n\n\t/**\n\t * Show copy button\n\t */\n\t@property({ type: Boolean })\n\tcopyButton: boolean = true\n\n\t/**\n\t * Highlighted line numbers (comma-separated or ranges like \"1-3,5,7-9\")\n\t */\n\t@property({ type: String })\n\thighlightLines?: string\n\n\t/**\n\t * Maximum height before scrolling\n\t */\n\t@property({ type: String })\n\tmaxHeight?: string\n\n\t@state()\n\tprivate copied: boolean = false\n\n\t/**\n\t * Fully-rendered highlighted HTML — populated asynchronously after\n\t * `loadHljs()` resolves. Empty on first render (one microtask) for a\n\t * cold component; non-empty from then on.\n\t */\n\t@state()\n\tprivate _highlightedCode: string = ''\n\n\tprotected override updated(changed: Map<string, unknown>): void {\n\t\tsuper.updated?.(changed)\n\t\tif (changed.has('code') || changed.has('language') || changed.has('lineNumbers') || changed.has('highlightLines')) {\n\t\t\tvoid this._rehighlight()\n\t\t}\n\t}\n\n\tprivate async _rehighlight(): Promise<void> {\n\t\tif (!this.code) {\n\t\t\tthis._highlightedCode = ''\n\t\t\treturn\n\t\t}\n\t\tconst hljs = await loadHljs()\n\t\t// Guard against unmount + racing property changes.\n\t\tif (!this.isConnected) return\n\n\t\tlet highlightedHtml = ''\n\t\ttry {\n\t\t\tconst result = hljs.highlight(this.code.trim(), { language: this.language })\n\t\t\thighlightedHtml = result.value\n\t\t} catch {\n\t\t\ttry {\n\t\t\t\tconst result = hljs.highlightAuto(this.code.trim())\n\t\t\t\thighlightedHtml = result.value\n\t\t\t} catch {\n\t\t\t\thighlightedHtml = this.escapeHtml(this.code.trim())\n\t\t\t}\n\t\t}\n\n\t\tif (this.lineNumbers || this.highlightLines) {\n\t\t\tthis._highlightedCode = this.addLineFeatures(highlightedHtml)\n\t\t} else {\n\t\t\tthis._highlightedCode = highlightedHtml\n\t\t}\n\t}\n\n\tprivate escapeHtml(text: string): string {\n\t\tconst div = document.createElement('div')\n\t\tdiv.textContent = text\n\t\treturn div.innerHTML\n\t}\n\n\tprivate getHighlightedLines(): Set<number> {\n\t\tconst lines = new Set<number>()\n\t\tif (!this.highlightLines) return lines\n\n\t\tconst parts = this.highlightLines.split(',')\n\t\tfor (const part of parts) {\n\t\t\tconst trimmed = part.trim()\n\t\t\tif (trimmed.includes('-')) {\n\t\t\t\tconst [start, end] = trimmed.split('-').map(n => parseInt(n.trim()))\n\t\t\t\tif (!isNaN(start) && !isNaN(end)) {\n\t\t\t\t\tfor (let i = start; i <= end; i++) {\n\t\t\t\t\t\tlines.add(i)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst lineNum = parseInt(trimmed)\n\t\t\t\tif (!isNaN(lineNum)) {\n\t\t\t\t\tlines.add(lineNum)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn lines\n\t}\n\n\tprivate addLineFeatures(highlightedHtml: string): string {\n\t\tconst lines = highlightedHtml.split('\\n')\n\t\tconst highlightedLines = this.getHighlightedLines()\n\n\t\treturn lines\n\t\t\t.map((line, index) => {\n\t\t\t\tconst lineNumber = index + 1\n\t\t\t\tconst isHighlighted = highlightedLines.has(lineNumber)\n\t\t\t\tconst lineClass = isHighlighted ? 'code-line highlighted' : 'code-line'\n\n\t\t\t\tlet content = ''\n\t\t\t\tif (this.lineNumbers) {\n\t\t\t\t\tcontent += `<span class=\"line-number\">${lineNumber}</span>`\n\t\t\t\t}\n\t\t\t\tcontent += line\n\n\t\t\t\treturn `<div class=\"${lineClass}\">${content}</div>`\n\t\t\t})\n\t\t\t.join('')\n\t}\n\n\tprivate async copyCode() {\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(this.code)\n\t\t\tthis.copied = true\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.copied = false\n\t\t\t}, 2000)\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to copy code:', err)\n\t\t}\n\t}\n\n\tprivate getLanguageLabel(): string {\n\t\tconst languageMap: Record<string, string> = {\n\t\t\tjavascript: 'JavaScript',\n\t\t\ttypescript: 'TypeScript',\n\t\t\thtml: 'HTML',\n\t\t\tmarkdown: 'Markdown',\n\t\t\tbash: 'Bash',\n\t\t}\n\n\t\tif (this.filename) {\n\t\t\treturn this.filename\n\t\t}\n\n\t\treturn languageMap[this.language.toLowerCase()] || this.language.toUpperCase()\n\t}\n\n\trender() {\n\t\tconst codeClass = this.lineNumbers || this.highlightLines ? 'code-with-lines' : 'hljs'\n\n\t\treturn html`\n\t\t\t<schmancy-details class=\"bg-surface-default\">\n\t\t\t\t<section slot=\"summary\">\n\t\t\t\t\t<!-- Header -->\n\t\t\t\t\t<div class=\"flex items-center justify-between\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<div class=\"flex gap-1.5\">\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-error);\"></div>\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-tertiary);\"></div>\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-secondary);\"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<span class=\"text-xs font-medium opacity-70 ml-2\" style=\"color: var(--md-sys-color-on-surface-variant);\">\n\t\t\t\t\t\t\t\t${this.getLanguageLabel()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t${this.copyButton\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t.variant=\"${this.copied ? 'filled tonal' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t@click=${this.copyCode}\n\t\t\t\t\t\t\t\t\t\tclass=\"transition-all\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<schmancy-icon > ${this.copied ? 'check' : 'content_copy'} </schmancy-icon>\n\t\t\t\t\t\t\t\t\t\t<span class=\"ml-1\">${this.copied ? 'Copied!' : 'Copy'}</span>\n\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t\t<!-- Code -->\n\t\t\t\t<div class=\"overflow-auto\" style=\"${this.maxHeight ? `max-height: ${this.maxHeight}` : ''}\">\n\t\t\t\t\t<pre class=\"m-0\"><code class=\"${codeClass}\">${unsafeHTML(this._highlightedCode)}</code></pre>\n\t\t\t\t</div>\n\t\t\t</schmancy-details>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-code': SchmancyCode\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { timer } from 'rxjs'\nimport { take } from 'rxjs/operators'\n\n/**\n * @element schmancy-code-preview\n * A component that shows code and its rendered preview side by side\n * Takes the content as a slot and displays both the source and rendered result\n */\n@customElement('schmancy-code-preview')\nexport class SchmancyCodePreview extends TailwindElement(\n\tcss`:host{\n\t\tdisplay:block;\n\t\toverflow:hidden;\n\t\tposition:relative;\n\t\tinset:0;\n\t}`\n) {\n\t/**\n\t * Programming language for syntax highlighting\n\t */\n\t@property({ type: String })\n\tlanguage: string = 'html'\n\n\t/**\n\t * Show code on top or side-by-side\n\t */\n\t@property({ type: String })\n\tlayout: 'vertical' | 'horizontal' = 'vertical'\n\n\t/**\n\t * Whether to render/execute the code in preview section\n\t * When false, only shows the code without rendering\n\t */\n\t@property({ type: Boolean })\n\tpreview: boolean = true\n\n\t@state()\n\tprivate slotContent: string = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Capture the slot content as HTML string\n\t\ttimer(0).pipe(take(1)).subscribe(() => {\n\t\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\t\tif (slot) {\n\t\t\t\tconst nodes = slot.assignedNodes({ flatten: true })\n\t\t\t\tconst htmlStrings = nodes.map(node => {\n\t\t\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\t\t\treturn (node as HTMLElement).outerHTML\n\t\t\t\t\t} else if (node.nodeType === Node.TEXT_NODE) {\n\t\t\t\t\t\treturn node.textContent || ''\n\t\t\t\t\t}\n\t\t\t\t\treturn ''\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\t// Clean up the HTML string\n\t\t\t\tconst rawContent = htmlStrings.join('')\n\t\t\t\t\n\t\t\t\t// Find the minimum indentation (excluding empty lines)\n\t\t\t\tconst lines = rawContent.split('\\n')\n\t\t\t\tconst minIndent = lines\n\t\t\t\t\t.filter(line => line.trim().length > 0)\n\t\t\t\t\t.reduce((min, line) => {\n\t\t\t\t\t\tconst indent = line.match(/^(\\s*)/)?.[1].length || 0\n\t\t\t\t\t\treturn Math.min(min, indent)\n\t\t\t\t\t}, Infinity)\n\t\t\t\t\n\t\t\t\t// Remove the minimum indentation from all lines\n\t\t\t\tthis.slotContent = lines\n\t\t\t\t\t.map(line => line.slice(minIndent))\n\t\t\t\t\t.join('\\n')\n\t\t\t\t\t.trim()\n\t\t\t}\n\t\t})\n\t}\n\n\trender() {\n\t\tconst containerClass = this.layout === 'horizontal' \n\t\t\t? 'grid grid-cols-1 lg:grid-cols-2 gap-0' \n\t\t\t: 'flex flex-col'\n\n\t\tconst showPreview = this.preview && this.language.toLowerCase() === 'html'\n\t\t\n\t\treturn html`\n\t\t\t<schmancy-surface class=\"rounded-lg overflow-hidden\">\n\t\t\t\t<div class=\"${showPreview ? containerClass : ''}\">\n\t\t\t\t\t<!-- Code section with proper overflow handling -->\n\t\t\t\t\t<div class=\"min-w-0 overflow-hidden\">\n\t\t\t\t\t\t<schmancy-code\n\t\t\t\t\t\t\tlanguage=\"${this.language}\"\n\t\t\t\t\t\t\t.code=\"${this.slotContent}\"\n\t\t\t\t\t\t\t?copyButton=\"${true}\"\n\t\t\t\t\t\t\tclass=\"block w-full\"\n\t\t\t\t\t\t></schmancy-code>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<!-- Preview section (only visible for HTML and when preview is enabled) -->\n\t\t\t\t\t${showPreview ? html`\n\t\t\t\t\t\t<div class=\"min-w-0 overflow-auto\">\n\t\t\t\t\t\t\t<schmancy-surface type=\"solid\" class=\"p-2 h-full\">\n\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t</schmancy-surface>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t` : html`\n\t\t\t\t\t\t<!-- Hidden slot to capture content -->\n\t\t\t\t\t\t<div class=\"hidden\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`}\n\t\t\t\t</div>\n\t\t\t</schmancy-surface>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-code-preview': SchmancyCodePreview\n\t}\n}"],"mappings":"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"}
1
+ {"version":3,"file":"code-highlight-_ZK6FEjF.cjs","names":[],"sources":["../src/code-highlight/code-highlight.ts","../src/code-highlight/code-preview.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js'\n\n// highlight.js + all 6 language grammars are loaded lazily on first render.\n// Static imports were previously responsible for ~15 KB gzipped (vendor-\n// highlight chunk) being eagerly fetched on every agent-bundle first paint,\n// even for pages that never rendered <schmancy-code>. See ADR 0014 in the\n// parent monorepo.\ntype Hljs = typeof import('highlight.js/lib/core').default\n\nlet hljsPromise: Promise<Hljs> | null = null\nfunction loadHljs(): Promise<Hljs> {\n\tif (hljsPromise) return hljsPromise\n\thljsPromise = Promise.all([\n\t\timport('highlight.js/lib/core'),\n\t\timport('highlight.js/lib/languages/bash'),\n\t\timport('highlight.js/lib/languages/javascript'),\n\t\timport('highlight.js/lib/languages/markdown'),\n\t\timport('highlight.js/lib/languages/typescript'),\n\t\timport('highlight.js/lib/languages/xml'),\n\t]).then(([core, bash, javascript, markdown, typescript, xml]) => {\n\t\tconst hljs = core.default\n\t\thljs.registerLanguage('javascript', javascript.default)\n\t\thljs.registerLanguage('typescript', typescript.default)\n\t\thljs.registerLanguage('html', xml.default)\n\t\thljs.registerLanguage('xml', xml.default)\n\t\thljs.registerLanguage('markdown', markdown.default)\n\t\thljs.registerLanguage('bash', bash.default)\n\t\treturn hljs\n\t})\n\treturn hljsPromise\n}\n\n/**\n * @element schmancy-code\n * Code highlighting component using highlight.js with schmancy theming support\n */\n@customElement('schmancy-code')\nexport class SchmancyCode extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\toverflow: hidden;\n\t}\n\n\t/* Code block styling using schmancy color system */\n\t.hljs {\n\t\tdisplay: block;\n\t\toverflow-x: auto;\n\t\tpadding: 0.5em;\n\t\tcolor: var(--md-sys-color-on-surface-variant);\n\t\tbackground: var(--md-sys-color-surface-container-lowest);\n\t\tfont-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n\t}\n\n\t/* Comments and documentation */\n\t.hljs-comment,\n\t.hljs-quote {\n\t\tcolor: var(--md-sys-color-outline);\n\t\tfont-style: italic;\n\t}\n\n\t/* Keywords, doctags, formulas */\n\t.hljs-doctag,\n\t.hljs-keyword,\n\t.hljs-formula {\n\t\tcolor: var(--md-sys-color-primary);\n\t}\n\n\t/* Tags, sections, names, deletions */\n\t.hljs-section,\n\t.hljs-name,\n\t.hljs-selector-tag,\n\t.hljs-deletion,\n\t.hljs-subst {\n\t\tcolor: var(--md-sys-color-error);\n\t}\n\n\t/* Literals */\n\t.hljs-literal {\n\t\tcolor: var(--md-sys-color-tertiary);\n\t}\n\n\t/* Strings, regex, additions */\n\t.hljs-string,\n\t.hljs-regexp,\n\t.hljs-addition,\n\t.hljs-attribute,\n\t.hljs-meta-string {\n\t\tcolor: var(--md-sys-color-secondary);\n\t}\n\n\t/* Built-ins and class titles */\n\t.hljs-built_in,\n\t.hljs-class .hljs-title {\n\t\tcolor: var(--md-sys-color-tertiary);\n\t}\n\n\t/* Variables, attributes, types */\n\t.hljs-attr,\n\t.hljs-variable,\n\t.hljs-template-variable,\n\t.hljs-type,\n\t.hljs-selector-class,\n\t.hljs-selector-attr,\n\t.hljs-selector-pseudo,\n\t.hljs-number {\n\t\tcolor: var(--md-sys-color-on-surface);\n\t}\n\n\t/* Symbols, bullets, links, meta */\n\t.hljs-symbol,\n\t.hljs-bullet,\n\t.hljs-link,\n\t.hljs-meta,\n\t.hljs-selector-id,\n\t.hljs-title {\n\t\tcolor: var(--md-sys-color-secondary);\n\t}\n\n\t.hljs-emphasis {\n\t\tfont-style: italic;\n\t}\n\n\t.hljs-strong {\n\t\tfont-weight: bold;\n\t}\n\n\t.hljs-link {\n\t\ttext-decoration: underline;\n\t}\n\n\t/* Line features styling */\n\t.code-with-lines {\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t.code-line {\n\t\tdisplay: block;\n\t\tpadding-left: 0;\n\t\ttransition: background-color 0.2s ease;\n\t}\n\n\t.code-line.highlighted {\n\t\tbackground-color: var(--md-sys-color-primary-container);\n\t\topacity: 0.2;\n\t}\n\n\t.line-number {\n\t\tdisplay: inline-block;\n\t\twidth: 3rem;\n\t\tpadding-right: 1rem;\n\t\ttext-align: right;\n\t\tcolor: var(--md-sys-color-outline);\n\t\tuser-select: none;\n\t\tfont-size: inherit;\n\t}\n`) {\n\t/**\n\t * Programming language for syntax highlighting\n\t */\n\t@property({ type: String })\n\tlanguage: string = 'javascript'\n\n\t/**\n\t * Code content to highlight\n\t */\n\t@property({ type: String })\n\tcode: string = ''\n\n\t/**\n\t * Optional filename or title to display in header\n\t */\n\t@property({ type: String })\n\tfilename?: string\n\n\t/**\n\t * Show line numbers\n\t */\n\t@property({ type: Boolean })\n\tlineNumbers: boolean = false\n\n\t/**\n\t * Show copy button\n\t */\n\t@property({ type: Boolean })\n\tcopyButton: boolean = true\n\n\t/**\n\t * Highlighted line numbers (comma-separated or ranges like \"1-3,5,7-9\")\n\t */\n\t@property({ type: String })\n\thighlightLines?: string\n\n\t/**\n\t * Maximum height before scrolling\n\t */\n\t@property({ type: String })\n\tmaxHeight?: string\n\n\t@state()\n\tprivate copied: boolean = false\n\n\t/**\n\t * Fully-rendered highlighted HTML — populated asynchronously after\n\t * `loadHljs()` resolves. Empty on first render (one microtask) for a\n\t * cold component; non-empty from then on.\n\t */\n\t@state()\n\tprivate _highlightedCode: string = ''\n\n\tprotected override updated(changed: Map<string, unknown>): void {\n\t\tsuper.updated?.(changed)\n\t\tif (changed.has('code') || changed.has('language') || changed.has('lineNumbers') || changed.has('highlightLines')) {\n\t\t\tvoid this._rehighlight()\n\t\t}\n\t}\n\n\tprivate async _rehighlight(): Promise<void> {\n\t\tif (!this.code) {\n\t\t\tthis._highlightedCode = ''\n\t\t\treturn\n\t\t}\n\t\tconst hljs = await loadHljs()\n\t\t// Guard against unmount + racing property changes.\n\t\tif (!this.isConnected) return\n\n\t\tlet highlightedHtml = ''\n\t\ttry {\n\t\t\tconst result = hljs.highlight(this.code.trim(), { language: this.language })\n\t\t\thighlightedHtml = result.value\n\t\t} catch {\n\t\t\ttry {\n\t\t\t\tconst result = hljs.highlightAuto(this.code.trim())\n\t\t\t\thighlightedHtml = result.value\n\t\t\t} catch {\n\t\t\t\thighlightedHtml = this.escapeHtml(this.code.trim())\n\t\t\t}\n\t\t}\n\n\t\tif (this.lineNumbers || this.highlightLines) {\n\t\t\tthis._highlightedCode = this.addLineFeatures(highlightedHtml)\n\t\t} else {\n\t\t\tthis._highlightedCode = highlightedHtml\n\t\t}\n\t}\n\n\tprivate escapeHtml(text: string): string {\n\t\tconst div = document.createElement('div')\n\t\tdiv.textContent = text\n\t\treturn div.innerHTML\n\t}\n\n\tprivate getHighlightedLines(): Set<number> {\n\t\tconst lines = new Set<number>()\n\t\tif (!this.highlightLines) return lines\n\n\t\tconst parts = this.highlightLines.split(',')\n\t\tfor (const part of parts) {\n\t\t\tconst trimmed = part.trim()\n\t\t\tif (trimmed.includes('-')) {\n\t\t\t\tconst [start, end] = trimmed.split('-').map(n => parseInt(n.trim()))\n\t\t\t\tif (!isNaN(start) && !isNaN(end)) {\n\t\t\t\t\tfor (let i = start; i <= end; i++) {\n\t\t\t\t\t\tlines.add(i)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst lineNum = parseInt(trimmed)\n\t\t\t\tif (!isNaN(lineNum)) {\n\t\t\t\t\tlines.add(lineNum)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn lines\n\t}\n\n\tprivate addLineFeatures(highlightedHtml: string): string {\n\t\tconst lines = highlightedHtml.split('\\n')\n\t\tconst highlightedLines = this.getHighlightedLines()\n\n\t\treturn lines\n\t\t\t.map((line, index) => {\n\t\t\t\tconst lineNumber = index + 1\n\t\t\t\tconst isHighlighted = highlightedLines.has(lineNumber)\n\t\t\t\tconst lineClass = isHighlighted ? 'code-line highlighted' : 'code-line'\n\n\t\t\t\tlet content = ''\n\t\t\t\tif (this.lineNumbers) {\n\t\t\t\t\tcontent += `<span class=\"line-number\">${lineNumber}</span>`\n\t\t\t\t}\n\t\t\t\tcontent += line\n\n\t\t\t\treturn `<div class=\"${lineClass}\">${content}</div>`\n\t\t\t})\n\t\t\t.join('')\n\t}\n\n\tprivate async copyCode() {\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(this.code)\n\t\t\tthis.copied = true\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.copied = false\n\t\t\t}, 2000)\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to copy code:', err)\n\t\t}\n\t}\n\n\tprivate getLanguageLabel(): string {\n\t\tconst languageMap: Record<string, string> = {\n\t\t\tjavascript: 'JavaScript',\n\t\t\ttypescript: 'TypeScript',\n\t\t\thtml: 'HTML',\n\t\t\tmarkdown: 'Markdown',\n\t\t\tbash: 'Bash',\n\t\t}\n\n\t\tif (this.filename) {\n\t\t\treturn this.filename\n\t\t}\n\n\t\treturn languageMap[this.language.toLowerCase()] || this.language.toUpperCase()\n\t}\n\n\trender() {\n\t\tconst codeClass = this.lineNumbers || this.highlightLines ? 'code-with-lines' : 'hljs'\n\n\t\treturn html`\n\t\t\t<schmancy-details class=\"bg-surface-default\">\n\t\t\t\t<section slot=\"summary\">\n\t\t\t\t\t<!-- Header -->\n\t\t\t\t\t<div class=\"flex items-center justify-between\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<div class=\"flex gap-1.5\">\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-error);\"></div>\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-tertiary);\"></div>\n\t\t\t\t\t\t\t\t<div class=\"w-3 h-3 rounded-full opacity-60\" style=\"background-color: var(--md-sys-color-secondary);\"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<span class=\"text-xs font-medium opacity-70 ml-2\" style=\"color: var(--md-sys-color-on-surface-variant);\">\n\t\t\t\t\t\t\t\t${this.getLanguageLabel()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t${this.copyButton\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t.variant=\"${this.copied ? 'filled tonal' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t@click=${this.copyCode}\n\t\t\t\t\t\t\t\t\t\tclass=\"transition-all\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<schmancy-icon > ${this.copied ? 'check' : 'content_copy'} </schmancy-icon>\n\t\t\t\t\t\t\t\t\t\t<span class=\"ml-1\">${this.copied ? 'Copied!' : 'Copy'}</span>\n\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t</div>\n\t\t\t\t</section>\n\t\t\t\t<!-- Code -->\n\t\t\t\t<div class=\"overflow-auto\" style=\"${this.maxHeight ? `max-height: ${this.maxHeight}` : ''}\">\n\t\t\t\t\t<pre class=\"m-0\"><code class=\"${codeClass}\">${unsafeHTML(this._highlightedCode)}</code></pre>\n\t\t\t\t</div>\n\t\t\t</schmancy-details>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-code': SchmancyCode\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { timer } from 'rxjs'\nimport { take } from 'rxjs/operators'\n\n/**\n * @element schmancy-code-preview\n * A component that shows code and its rendered preview side by side\n * Takes the content as a slot and displays both the source and rendered result\n */\n@customElement('schmancy-code-preview')\nexport class SchmancyCodePreview extends TailwindElement(\n\tcss`:host{\n\t\tdisplay:block;\n\t\toverflow:hidden;\n\t\tposition:relative;\n\t\tinset:0;\n\t}`\n) {\n\t/**\n\t * Programming language for syntax highlighting\n\t */\n\t@property({ type: String })\n\tlanguage: string = 'html'\n\n\t/**\n\t * Show code on top or side-by-side\n\t */\n\t@property({ type: String })\n\tlayout: 'vertical' | 'horizontal' = 'vertical'\n\n\t/**\n\t * Whether to render/execute the code in preview section\n\t * When false, only shows the code without rendering\n\t */\n\t@property({ type: Boolean })\n\tpreview: boolean = true\n\n\t@state()\n\tprivate slotContent: string = ''\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\t// Capture the slot content as HTML string\n\t\ttimer(0).pipe(take(1)).subscribe(() => {\n\t\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\t\tif (slot) {\n\t\t\t\tconst nodes = slot.assignedNodes({ flatten: true })\n\t\t\t\tconst htmlStrings = nodes.map(node => {\n\t\t\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\t\t\treturn (node as HTMLElement).outerHTML\n\t\t\t\t\t} else if (node.nodeType === Node.TEXT_NODE) {\n\t\t\t\t\t\treturn node.textContent || ''\n\t\t\t\t\t}\n\t\t\t\t\treturn ''\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\t// Clean up the HTML string\n\t\t\t\tconst rawContent = htmlStrings.join('')\n\t\t\t\t\n\t\t\t\t// Find the minimum indentation (excluding empty lines)\n\t\t\t\tconst lines = rawContent.split('\\n')\n\t\t\t\tconst minIndent = lines\n\t\t\t\t\t.filter(line => line.trim().length > 0)\n\t\t\t\t\t.reduce((min, line) => {\n\t\t\t\t\t\tconst indent = line.match(/^(\\s*)/)?.[1].length || 0\n\t\t\t\t\t\treturn Math.min(min, indent)\n\t\t\t\t\t}, Infinity)\n\t\t\t\t\n\t\t\t\t// Remove the minimum indentation from all lines\n\t\t\t\tthis.slotContent = lines\n\t\t\t\t\t.map(line => line.slice(minIndent))\n\t\t\t\t\t.join('\\n')\n\t\t\t\t\t.trim()\n\t\t\t}\n\t\t})\n\t}\n\n\trender() {\n\t\tconst containerClass = this.layout === 'horizontal' \n\t\t\t? 'grid grid-cols-1 lg:grid-cols-2 gap-0' \n\t\t\t: 'flex flex-col'\n\n\t\tconst showPreview = this.preview && this.language.toLowerCase() === 'html'\n\t\t\n\t\treturn html`\n\t\t\t<schmancy-surface class=\"rounded-lg overflow-hidden\">\n\t\t\t\t<div class=\"${showPreview ? containerClass : ''}\">\n\t\t\t\t\t<!-- Code section with proper overflow handling -->\n\t\t\t\t\t<div class=\"min-w-0 overflow-hidden\">\n\t\t\t\t\t\t<schmancy-code\n\t\t\t\t\t\t\tlanguage=\"${this.language}\"\n\t\t\t\t\t\t\t.code=\"${this.slotContent}\"\n\t\t\t\t\t\t\t?copyButton=\"${true}\"\n\t\t\t\t\t\t\tclass=\"block w-full\"\n\t\t\t\t\t\t></schmancy-code>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<!-- Preview section (only visible for HTML and when preview is enabled) -->\n\t\t\t\t\t${showPreview ? html`\n\t\t\t\t\t\t<div class=\"min-w-0 overflow-auto\">\n\t\t\t\t\t\t\t<schmancy-surface type=\"solid\" class=\"p-2 h-full\">\n\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t</schmancy-surface>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t` : html`\n\t\t\t\t\t\t<!-- Hidden slot to capture content -->\n\t\t\t\t\t\t<div class=\"hidden\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`}\n\t\t\t\t</div>\n\t\t\t</schmancy-surface>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-code-preview': SchmancyCodePreview\n\t}\n}"],"mappings":"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"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./code-highlight-B_l8vDzn.cjs`);Object.defineProperty(exports,`SchmancyCode`,{enumerable:!0,get:function(){return e.n}}),Object.defineProperty(exports,`SchmancyCodeHighlight`,{enumerable:!0,get:function(){return e.n}}),Object.defineProperty(exports,`SchmancyCodePreview`,{enumerable:!0,get:function(){return e.t}});
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./code-highlight-_ZK6FEjF.cjs`);Object.defineProperty(exports,`SchmancyCode`,{enumerable:!0,get:function(){return e.n}}),Object.defineProperty(exports,`SchmancyCodeHighlight`,{enumerable:!0,get:function(){return e.n}}),Object.defineProperty(exports,`SchmancyCodePreview`,{enumerable:!0,get:function(){return e.t}});
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./code-highlight-CI_gqXYX.js";
1
+ import { n as e, t } from "./code-highlight-DgZKqo4P.js";
2
2
  export { e as SchmancyCode, e as SchmancyCodeHighlight, t as SchmancyCodePreview };
@@ -1,4 +1,4 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`),t=require(`./litElement.mixin-CtQOmwq6.cjs`);require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`);var i=typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},a=function(e,t,n,r,i,o,s,c,l,u){var d=this;d.numeralDecimalMark=e||`.`,d.numeralIntegerScale=t>0?t:0,d.numeralDecimalScale=n>=0?n:2,d.numeralThousandsGroupStyle=r||a.groupStyle.thousand,d.numeralPositiveOnly=!!i,d.stripLeadingZeroes=!1!==o,d.prefix=s||s===``?s:``,d.signBeforePrefix=!!c,d.tailPrefix=!!l,d.delimiter=u||u===``?u:`,`,d.delimiterRE=u?RegExp(`\\`+u,`g`):``};a.groupStyle={thousand:`thousand`,lakh:`lakh`,wan:`wan`,none:`none`},a.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,``).replace(this.numeralDecimalMark,`.`)},format:function(e){var t,n,r,i,o=this,s=``;switch(e=e.replace(/[A-Za-z]/g,``).replace(o.numeralDecimalMark,`M`).replace(/[^\dM-]/g,``).replace(/^\-/,`N`).replace(/\-/g,``).replace(`N`,o.numeralPositiveOnly?``:`-`).replace(`M`,o.numeralDecimalMark),o.stripLeadingZeroes&&(e=e.replace(/^(-)?0+(?=\d)/,`$1`)),n=e.slice(0,1)===`-`?`-`:``,r=o.prefix===void 0?n:o.signBeforePrefix?n+o.prefix:o.prefix+n,i=e,e.indexOf(o.numeralDecimalMark)>=0&&(i=(t=e.split(o.numeralDecimalMark))[0],s=o.numeralDecimalMark+t[1].slice(0,o.numeralDecimalScale)),n===`-`&&(i=i.slice(1)),o.numeralIntegerScale>0&&(i=i.slice(0,o.numeralIntegerScale)),o.numeralThousandsGroupStyle){case a.groupStyle.lakh:i=i.replace(/(\d)(?=(\d\d)+\d$)/g,`$1`+o.delimiter);break;case a.groupStyle.wan:i=i.replace(/(\d)(?=(\d{4})+$)/g,`$1`+o.delimiter);break;case a.groupStyle.thousand:i=i.replace(/(\d)(?=(\d{3})+$)/g,`$1`+o.delimiter)}return o.tailPrefix?n+i.toString()+(o.numeralDecimalScale>0?s.toString():``)+o.prefix:r+i.toString()+(o.numeralDecimalScale>0?s.toString():``)}};var o=a,s=function(e,t,n){var r=this;r.date=[],r.blocks=[],r.datePattern=e,r.dateMin=t.split(`-`).reverse().map(function(e){return parseInt(e,10)}),r.dateMin.length===2&&r.dateMin.unshift(0),r.dateMax=n.split(`-`).reverse().map(function(e){return parseInt(e,10)}),r.dateMax.length===2&&r.dateMax.unshift(0),r.initBlocks()};s.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){t===`Y`?e.blocks.push(4):e.blocks.push(2)})},getISOFormatDate:function(){var e=this,t=e.date;return t[2]?t[2]+`-`+e.addLeadingZero(t[1])+`-`+e.addLeadingZero(t[0]):``},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,n=``;return e=e.replace(/[^\d]/g,``),t.blocks.forEach(function(r,i){if(e.length>0){var a=e.slice(0,r),o=a.slice(0,1),s=e.slice(r);switch(t.datePattern[i]){case`d`:a===`00`?a=`01`:parseInt(o,10)>3?a=`0`+o:parseInt(a,10)>31&&(a=`31`);break;case`m`:a===`00`?a=`01`:parseInt(o,10)>1?a=`0`+o:parseInt(a,10)>12&&(a=`12`)}n+=a,e=s}}),this.getFixedDateString(n)},getFixedDateString:function(e){var t,n,r,i=this,a=i.datePattern,o=[],s=0,c=0,l=0,u=0,d=0,f=0,p=!1;return e.length===4&&a[0].toLowerCase()!==`y`&&a[1].toLowerCase()!==`y`&&(d=2-(u=a[0]===`d`?0:2),t=parseInt(e.slice(u,u+2),10),n=parseInt(e.slice(d,d+2),10),o=this.getFixedDate(t,n,0)),e.length===8&&(a.forEach(function(e,t){switch(e){case`d`:s=t;break;case`m`:c=t;break;default:l=t}}),f=2*l,u=s<=l?2*s:2*s+2,d=c<=l?2*c:2*c+2,t=parseInt(e.slice(u,u+2),10),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+4),10),p=e.slice(f,f+4).length===4,o=this.getFixedDate(t,n,r)),e.length!==4||a[0]!==`y`&&a[1]!==`y`||(f=2-(d=a[0]===`m`?0:2),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+2),10),p=e.slice(f,f+2).length===2,o=[0,n,r]),e.length!==6||a[0]!==`Y`&&a[1]!==`Y`||(f=2-.5*(d=a[0]===`m`?0:4),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+4),10),p=e.slice(f,f+4).length===4,o=[0,n,r]),o=i.getRangeFixedDate(o),i.date=o,o.length===0?e:a.reduce(function(e,t){switch(t){case`d`:return e+(o[0]===0?``:i.addLeadingZero(o[0]));case`m`:return e+(o[1]===0?``:i.addLeadingZero(o[1]));case`y`:return e+(p?i.addLeadingZeroForYear(o[2],!1):``);case`Y`:return e+(p?i.addLeadingZeroForYear(o[2],!0):``)}},``)},getRangeFixedDate:function(e){var t=this,n=t.datePattern,r=t.dateMin||[],i=t.dateMax||[];return!e.length||r.length<3&&i.length<3||n.find(function(e){return e.toLowerCase()===`y`})&&e[2]===0?e:i.length&&(i[2]<e[2]||i[2]===e[2]&&(i[1]<e[1]||i[1]===e[1]&&i[0]<e[0]))?i:r.length&&(r[2]>e[2]||r[2]===e[2]&&(r[1]>e[1]||r[1]===e[1]&&r[0]>e[0]))?r:e},getFixedDate:function(e,t,n){return e=Math.min(e,31),t=Math.min(t,12),n=parseInt(n||0,10),(t<7&&t%2==0||t>8&&t%2==1)&&(e=Math.min(e,t===2?this.isLeapYear(n)?29:28:30)),[e,t,n]},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},addLeadingZero:function(e){return(e<10?`0`:``)+e},addLeadingZeroForYear:function(e,t){return t?(e<10?`000`:e<100?`00`:e<1e3?`0`:``)+e:(e<10?`0`:``)+e}};var c=s,l=function(e,t){var n=this;n.time=[],n.blocks=[],n.timePattern=e,n.timeFormat=t,n.initBlocks()};l.prototype={initBlocks:function(){var e=this;e.timePattern.forEach(function(){e.blocks.push(2)})},getISOFormatTime:function(){var e=this,t=e.time;return t[2]?e.addLeadingZero(t[0])+`:`+e.addLeadingZero(t[1])+`:`+e.addLeadingZero(t[2]):``},getBlocks:function(){return this.blocks},getTimeFormatOptions:function(){return String(this.timeFormat)===`12`?{maxHourFirstDigit:1,maxHours:12,maxMinutesFirstDigit:5,maxMinutes:60}:{maxHourFirstDigit:2,maxHours:23,maxMinutesFirstDigit:5,maxMinutes:60}},getValidatedTime:function(e){var t=this,n=``;e=e.replace(/[^\d]/g,``);var r=t.getTimeFormatOptions();return t.blocks.forEach(function(i,a){if(e.length>0){var o=e.slice(0,i),s=o.slice(0,1),c=e.slice(i);switch(t.timePattern[a]){case`h`:parseInt(s,10)>r.maxHourFirstDigit?o=`0`+s:parseInt(o,10)>r.maxHours&&(o=r.maxHours+``);break;case`m`:case`s`:parseInt(s,10)>r.maxMinutesFirstDigit?o=`0`+s:parseInt(o,10)>r.maxMinutes&&(o=r.maxMinutes+``)}n+=o,e=c}}),this.getFixedTimeString(n)},getFixedTimeString:function(e){var t,n,r,i=this,a=i.timePattern,o=[],s=0,c=0,l=0,u=0,d=0,f=0;return e.length===6&&(a.forEach(function(e,t){switch(e){case`s`:s=2*t;break;case`m`:c=2*t;break;case`h`:l=2*t}}),f=l,d=c,u=s,t=parseInt(e.slice(u,u+2),10),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+2),10),o=this.getFixedTime(r,n,t)),e.length===4&&i.timePattern.indexOf(`s`)<0&&(a.forEach(function(e,t){switch(e){case`m`:c=2*t;break;case`h`:l=2*t}}),f=l,d=c,t=0,n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+2),10),o=this.getFixedTime(r,n,t)),i.time=o,o.length===0?e:a.reduce(function(e,t){switch(t){case`s`:return e+i.addLeadingZero(o[2]);case`m`:return e+i.addLeadingZero(o[1]);case`h`:return e+i.addLeadingZero(o[0])}},``)},getFixedTime:function(e,t,n){return n=Math.min(parseInt(n||0,10),60),t=Math.min(t,60),[e=Math.min(e,60),t,n]},addLeadingZero:function(e){return(e<10?`0`:``)+e}};var u=l,d=function(e,t){var n=this;n.delimiter=t||t===``?t:` `,n.delimiterRE=t?RegExp(`\\`+t,`g`):``,n.formatter=e};d.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear();for(var n,r=``,i=!1,a=0,o=(e=(e=(e=e.replace(/[^\d+]/g,``)).replace(/^\+/,`B`).replace(/\+/g,``).replace(`B`,`+`)).replace(t.delimiterRE,``)).length;a<o;a++)n=t.formatter.inputDigit(e.charAt(a)),/[\s()-]/g.test(n)?(r=n,i=!0):i||(r=n);return r=(r=r.replace(/[()]/g,``)).replace(/[\s-]/g,t.delimiter)}};var f=d,p={blocks:{uatp:[4,5,6],amex:[4,6,5],diners:[4,6,4],discover:[4,4,4,4],mastercard:[4,4,4,4],dankort:[4,4,4,4],instapayment:[4,4,4,4],jcb15:[4,6,5],jcb:[4,4,4,4],maestro:[4,4,4,4],visa:[4,4,4,4],mir:[4,4,4,4],unionPay:[4,4,4,4],general:[4,4,4,4]},re:{uatp:/^(?!1800)1\d{0,14}/,amex:/^3[47]\d{0,13}/,discover:/^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}/,diners:/^3(?:0([0-5]|9)|[689]\d?)\d{0,11}/,mastercard:/^(5[1-5]\d{0,2}|22[2-9]\d{0,1}|2[3-7]\d{0,2})\d{0,12}/,dankort:/^(5019|4175|4571)\d{0,12}/,instapayment:/^63[7-9]\d{0,13}/,jcb15:/^(?:2131|1800)\d{0,11}/,jcb:/^(?:35\d{0,2})\d{0,12}/,maestro:/^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}/,mir:/^220[0-4]\d{0,12}/,visa:/^4\d{0,15}/,unionPay:/^(62|81)\d{0,14}/},getStrictBlocks:function(e){var t=e.reduce(function(e,t){return e+t},0);return e.concat(19-t)},getInfo:function(e,t){var n=p.blocks,r=p.re;for(var i in t=!!t,r)if(r[i].test(e)){var a=n[i];return{type:i,blocks:t?this.getStrictBlocks(a):a}}return{type:`unknown`,blocks:t?this.getStrictBlocks(n.general):n.general}}},m=p,h={noop:function(){},strip:function(e,t){return e.replace(t,``)},getPostDelimiter:function(e,t,n){if(n.length===0)return e.slice(-t.length)===t?t:``;var r=``;return n.forEach(function(t){e.slice(-t.length)===t&&(r=t)}),r},getDelimiterREByDelimiter:function(e){return new RegExp(e.replace(/([.?*+^$[\]\\(){}|-])/g,`\\$1`),`g`)},getNextCursorPosition:function(e,t,n,r,i){return t.length===e?n.length:e+this.getPositionOffset(e,t,n,r,i)},getPositionOffset:function(e,t,n,r,i){var a=this.stripDelimiters(t.slice(0,e),r,i),o=this.stripDelimiters(n.slice(0,e),r,i),s=a.length-o.length;return s===0?0:s/Math.abs(s)},stripDelimiters:function(e,t,n){var r=this;if(n.length===0){var i=t?r.getDelimiterREByDelimiter(t):``;return e.replace(i,``)}return n.forEach(function(t){t.split(``).forEach(function(t){e=e.replace(r.getDelimiterREByDelimiter(t),``)})}),e},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t,n,r,i,a,o,s,c){if(n===0)return e;if(e===t&&e!==``)return``;if(c&&e.slice(0,1)==`-`){var l=r.slice(0,1)==`-`?r.slice(1):r;return`-`+this.getPrefixStrippedValue(e.slice(1),t,n,l,i,a,o,s,c)}if(r.slice(0,n)!==t&&!s||r.slice(-n)!==t&&s)return o&&!r&&e?e:``;var u=this.stripDelimiters(r,i,a);return e.slice(0,n)===t||s?e.slice(-n)!==t&&s?u.slice(0,-n-1):s?e.slice(0,-n):e.slice(n):u.slice(n)},getFirstDiffIndex:function(e,t){for(var n=0;e.charAt(n)===t.charAt(n);)if(e.charAt(n++)===``)return-1;return n},getFormattedValue:function(e,t,n,r,i,a){var o=``,s=i.length>0,c=``;return n===0?e:(t.forEach(function(t,l){if(e.length>0){var u=e.slice(0,t),d=e.slice(t);c=s?i[a?l-1:l]||c:r,a?(l>0&&(o+=c),o+=u):(o+=u,u.length===t&&l<n-1&&(o+=c)),e=d}}),o)},fixPrefixCursor:function(e,t,n,r){if(e){var i=e.value,a=n||r[0]||` `;if(e.setSelectionRange&&t&&!(t.length+a.length<=i.length)){var o=2*i.length;setTimeout(function(){e.setSelectionRange(o,o)},1)}}},checkFullSelection:function(e){try{return(window.getSelection()||document.getSelection()||{}).toString().length===e.length}catch{}return!1},setSelection:function(e,t,n){if(e===this.getActiveElement(n)&&!(e&&e.value.length<=t))if(e.createTextRange){var r=e.createTextRange();r.move(`character`,t),r.select()}else try{e.setSelectionRange(t,t)}catch{}},getActiveElement:function(e){var t=e.activeElement;return t&&t.shadowRoot?this.getActiveElement(t.shadowRoot):t},isAndroid:function(){return navigator&&/android/i.test(navigator.userAgent)},isAndroidBackspaceKeydown:function(e,t){return!!(this.isAndroid()&&e&&t)&&t===e.slice(0,-1)}},g={assign:function(e,t){return t||={},(e||={}).creditCard=!!t.creditCard,e.creditCardStrictMode=!!t.creditCardStrictMode,e.creditCardType=``,e.onCreditCardTypeChanged=t.onCreditCardTypeChanged||function(){},e.phone=!!t.phone,e.phoneRegionCode=t.phoneRegionCode||`AU`,e.phoneFormatter={},e.time=!!t.time,e.timePattern=t.timePattern||[`h`,`m`,`s`],e.timeFormat=t.timeFormat||`24`,e.timeFormatter={},e.date=!!t.date,e.datePattern=t.datePattern||[`d`,`m`,`Y`],e.dateMin=t.dateMin||``,e.dateMax=t.dateMax||``,e.dateFormatter={},e.numeral=!!t.numeral,e.numeralIntegerScale=t.numeralIntegerScale>0?t.numeralIntegerScale:0,e.numeralDecimalScale=t.numeralDecimalScale>=0?t.numeralDecimalScale:2,e.numeralDecimalMark=t.numeralDecimalMark||`.`,e.numeralThousandsGroupStyle=t.numeralThousandsGroupStyle||`thousand`,e.numeralPositiveOnly=!!t.numeralPositiveOnly,e.stripLeadingZeroes=!1!==t.stripLeadingZeroes,e.signBeforePrefix=!!t.signBeforePrefix,e.tailPrefix=!!t.tailPrefix,e.swapHiddenInput=!!t.swapHiddenInput,e.numericOnly=e.creditCard||e.date||!!t.numericOnly,e.uppercase=!!t.uppercase,e.lowercase=!!t.lowercase,e.prefix=e.creditCard||e.date?``:t.prefix||``,e.noImmediatePrefix=!!t.noImmediatePrefix,e.prefixLength=e.prefix.length,e.rawValueTrimPrefix=!!t.rawValueTrimPrefix,e.copyDelimiter=!!t.copyDelimiter,e.initValue=t.initValue!==void 0&&t.initValue!==null?t.initValue.toString():``,e.delimiter=t.delimiter||t.delimiter===``?t.delimiter:t.date?`/`:t.time?`:`:t.numeral?`,`:(t.phone,` `),e.delimiterLength=e.delimiter.length,e.delimiterLazyShow=!!t.delimiterLazyShow,e.delimiters=t.delimiters||[],e.blocks=t.blocks||[],e.blocksLength=e.blocks.length,e.root=typeof i==`object`&&i?i:window,e.document=t.document||e.root.document,e.maxLength=0,e.backspace=!1,e.result=``,e.onValueChanged=t.onValueChanged||function(){},e}},_=function(e,t){var n=this;if(typeof e==`string`?(n.element=document.querySelector(e),document.querySelectorAll(e).length):e.length!==void 0&&e.length>0?(n.element=e[0],e.length):n.element=e,!n.element)throw Error(`[cleave.js] Please check the element`);t.initValue=n.element.value,n.properties=_.DefaultProperties.assign({},t),n.init()};_.prototype={init:function(){var e=this,t=e.properties;t.numeral||t.phone||t.creditCard||t.time||t.date||t.blocksLength!==0||t.prefix?(t.maxLength=_.Util.getMaxLength(t.blocks),e.isAndroid=_.Util.isAndroid(),e.lastInputValue=``,e.isBackward=``,e.onChangeListener=e.onChange.bind(e),e.onKeyDownListener=e.onKeyDown.bind(e),e.onFocusListener=e.onFocus.bind(e),e.onCutListener=e.onCut.bind(e),e.onCopyListener=e.onCopy.bind(e),e.initSwapHiddenInput(),e.element.addEventListener(`input`,e.onChangeListener),e.element.addEventListener(`keydown`,e.onKeyDownListener),e.element.addEventListener(`focus`,e.onFocusListener),e.element.addEventListener(`cut`,e.onCutListener),e.element.addEventListener(`copy`,e.onCopyListener),e.initPhoneFormatter(),e.initDateFormatter(),e.initTimeFormatter(),e.initNumeralFormatter(),(t.initValue||t.prefix&&!t.noImmediatePrefix)&&e.onInput(t.initValue)):e.onInput(t.initValue)},initSwapHiddenInput:function(){var e=this;if(e.properties.swapHiddenInput){var t=e.element.cloneNode(!0);e.element.parentNode.insertBefore(t,e.element),e.elementSwapHidden=e.element,e.elementSwapHidden.type=`hidden`,e.element=t,e.element.id=``}},initNumeralFormatter:function(){var e=this.properties;e.numeral&&(e.numeralFormatter=new _.NumeralFormatter(e.numeralDecimalMark,e.numeralIntegerScale,e.numeralDecimalScale,e.numeralThousandsGroupStyle,e.numeralPositiveOnly,e.stripLeadingZeroes,e.prefix,e.signBeforePrefix,e.tailPrefix,e.delimiter))},initTimeFormatter:function(){var e=this.properties;e.time&&(e.timeFormatter=new _.TimeFormatter(e.timePattern,e.timeFormat),e.blocks=e.timeFormatter.getBlocks(),e.blocksLength=e.blocks.length,e.maxLength=_.Util.getMaxLength(e.blocks))},initDateFormatter:function(){var e=this.properties;e.date&&(e.dateFormatter=new _.DateFormatter(e.datePattern,e.dateMin,e.dateMax),e.blocks=e.dateFormatter.getBlocks(),e.blocksLength=e.blocks.length,e.maxLength=_.Util.getMaxLength(e.blocks))},initPhoneFormatter:function(){var e=this.properties;if(e.phone)try{e.phoneFormatter=new _.PhoneFormatter(new e.root.Cleave.AsYouTypeFormatter(e.phoneRegionCode),e.delimiter)}catch{throw Error(`[cleave.js] Please include phone-type-formatter.{country}.js lib`)}},onKeyDown:function(e){var t=this,n=e.which||e.keyCode;t.lastInputValue=t.element.value,t.isBackward=n===8},onChange:function(e){var t=this,n=t.properties,r=_.Util;t.isBackward=t.isBackward||e.inputType===`deleteContentBackward`;var i=r.getPostDelimiter(t.lastInputValue,n.delimiter,n.delimiters);t.isBackward&&i?n.postDelimiterBackspace=i:n.postDelimiterBackspace=!1,this.onInput(this.element.value)},onFocus:function(){var e=this,t=e.properties;e.lastInputValue=e.element.value,t.prefix&&t.noImmediatePrefix&&!e.element.value&&this.onInput(t.prefix),_.Util.fixPrefixCursor(e.element,t.prefix,t.delimiter,t.delimiters)},onCut:function(e){_.Util.checkFullSelection(this.element.value)&&(this.copyClipboardData(e),this.onInput(``))},onCopy:function(e){_.Util.checkFullSelection(this.element.value)&&this.copyClipboardData(e)},copyClipboardData:function(e){var t=this.properties,n=_.Util,r=this.element.value,i=``;i=t.copyDelimiter?r:n.stripDelimiters(r,t.delimiter,t.delimiters);try{e.clipboardData?e.clipboardData.setData(`Text`,i):window.clipboardData.setData(`Text`,i),e.preventDefault()}catch{}},onInput:function(e){var t=this,n=t.properties,r=_.Util,i=r.getPostDelimiter(e,n.delimiter,n.delimiters);n.numeral||!n.postDelimiterBackspace||i||(e=r.headStr(e,e.length-n.postDelimiterBackspace.length)),n.phone?(!n.prefix||n.noImmediatePrefix&&!e.length?n.result=n.phoneFormatter.format(e):n.result=n.prefix+n.phoneFormatter.format(e).slice(n.prefix.length),t.updateValueState()):n.numeral?(n.prefix&&n.noImmediatePrefix&&e.length===0?n.result=``:n.result=n.numeralFormatter.format(e),t.updateValueState()):(n.date&&(e=n.dateFormatter.getValidatedDate(e)),n.time&&(e=n.timeFormatter.getValidatedTime(e)),e=r.stripDelimiters(e,n.delimiter,n.delimiters),e=r.getPrefixStrippedValue(e,n.prefix,n.prefixLength,n.result,n.delimiter,n.delimiters,n.noImmediatePrefix,n.tailPrefix,n.signBeforePrefix),e=n.numericOnly?r.strip(e,/[^\d]/g):e,e=n.uppercase?e.toUpperCase():e,e=n.lowercase?e.toLowerCase():e,n.prefix&&(n.tailPrefix?e+=n.prefix:e=n.prefix+e,n.blocksLength===0)?(n.result=e,t.updateValueState()):(n.creditCard&&t.updateCreditCardPropsByValue(e),e=r.headStr(e,n.maxLength),n.result=r.getFormattedValue(e,n.blocks,n.blocksLength,n.delimiter,n.delimiters,n.delimiterLazyShow),t.updateValueState()))},updateCreditCardPropsByValue:function(e){var t,n=this.properties,r=_.Util;r.headStr(n.result,4)!==r.headStr(e,4)&&(t=_.CreditCardDetector.getInfo(e,n.creditCardStrictMode),n.blocks=t.blocks,n.blocksLength=n.blocks.length,n.maxLength=r.getMaxLength(n.blocks),n.creditCardType!==t.type&&(n.creditCardType=t.type,n.onCreditCardTypeChanged.call(this,n.creditCardType)))},updateValueState:function(){var e=this,t=_.Util,n=e.properties;if(e.element){var r=e.element.selectionEnd,i=e.element.value,a=n.result;r=t.getNextCursorPosition(r,i,a,n.delimiter,n.delimiters),e.isAndroid?window.setTimeout(function(){e.element.value=a,t.setSelection(e.element,r,n.document,!1),e.callOnValueChanged()},1):(e.element.value=a,n.swapHiddenInput&&(e.elementSwapHidden.value=e.getRawValue()),t.setSelection(e.element,r,n.document,!1),e.callOnValueChanged())}},callOnValueChanged:function(){var e=this,t=e.properties;t.onValueChanged.call(e,{target:{name:e.element.name,value:t.result,rawValue:e.getRawValue()}})},setPhoneRegionCode:function(e){var t=this;t.properties.phoneRegionCode=e,t.initPhoneFormatter(),t.onChange()},setRawValue:function(e){var t=this,n=t.properties;e=e==null?``:e.toString(),n.numeral&&(e=e.replace(`.`,n.numeralDecimalMark)),n.postDelimiterBackspace=!1,t.element.value=e,t.onInput(e)},getRawValue:function(){var e=this.properties,t=_.Util,n=this.element.value;return e.rawValueTrimPrefix&&(n=t.getPrefixStrippedValue(n,e.prefix,e.prefixLength,e.result,e.delimiter,e.delimiters,e.noImmediatePrefix,e.tailPrefix,e.signBeforePrefix)),n=e.numeral?e.numeralFormatter.getRawValue(n):t.stripDelimiters(n,e.delimiter,e.delimiters)},getISOFormatDate:function(){var e=this.properties;return e.date?e.dateFormatter.getISOFormatDate():``},getISOFormatTime:function(){var e=this.properties;return e.time?e.timeFormatter.getISOFormatTime():``},getFormattedValue:function(){return this.element.value},destroy:function(){var e=this;e.element.removeEventListener(`input`,e.onChangeListener),e.element.removeEventListener(`keydown`,e.onKeyDownListener),e.element.removeEventListener(`focus`,e.onFocusListener),e.element.removeEventListener(`cut`,e.onCutListener),e.element.removeEventListener(`copy`,e.onCopyListener)},toString:function(){return`[Cleave Object]`}},_.NumeralFormatter=o,_.DateFormatter=c,_.TimeFormatter=u,_.PhoneFormatter=f,_.CreditCardDetector=m,_.Util=h,_.DefaultProperties=g,(typeof i==`object`&&i?i:window).Cleave=_;var v=_,y=class extends t.t(){constructor(...e){super(...e),this.value={cardName:``,cardNumber:``,expirationDate:``,cvv:``},this.cardType=``,this.isCardNameValid=!0,this.isCardNumberValid=!0,this.isExpirationDateValid=!0,this.isCvvValid=!0}firstUpdated(){new v(this.cardNumberInput,{creditCard:!0,creditCardStrictMode:!0,onCreditCardTypeChanged:e=>{this.cardType=e,e===`unknown`?(this.isCardNumberValid=!1,this.cardNumberInput.setCustomValidity(`Please enter a valid card number.`),this.cardNumberInput.error=!0):(this.isCardNumberValid=!0,this.cardNumberInput.setCustomValidity(``),this.cardNumberInput.error=!1,this.cvvInput.maxlength=e===`amex`?4:3)}}),new v(this.expirationDateInput,{date:!0,datePattern:[`m`,`y`],onValueChanged:e=>{let t=e.target.value;if(!t||t.length<5)this.isExpirationDateValid=!1,this.expirationDateInput.setCustomValidity(`Please enter a valid expiration date (MM/YY).`),this.expirationDateInput.error=!0;else{let[e,n]=t.split(`/`),r=new Date,i=r.getFullYear()%100,a=r.getMonth()+1,o=parseInt(e,10),s=parseInt(n,10);s<i||s===i&&o<a?(this.isExpirationDateValid=!1,this.expirationDateInput.setCustomValidity(`Card has expired.`),this.expirationDateInput.error=!0):(this.isExpirationDateValid=!0,this.expirationDateInput.setCustomValidity(``),this.expirationDateInput.error=!1)}}}),new v(this.cvvInput,{blocks:[4],numericOnly:!0,onValueChanged:e=>{let t=this.cardType===`amex`?4:3;e.target.value.length<t?(this.isCvvValid=!1,this.cvvInput.setCustomValidity(`Please enter a valid ${t}-digit CVV.`),this.cvvInput.error=!0):(this.isCvvValid=!0,this.cvvInput.setCustomValidity(``),this.cvvInput.error=!1)}}),new v(this.cardNameInput,{uppercase:!0,delimiter:` `,onValueChanged:e=>{!e.target.value||e.target.value.length<3?(this.isCardNameValid=!1,this.cardNameInput.setCustomValidity(`Please enter the name as it appears on the card.`),this.cardNameInput.error=!0):(this.isCardNameValid=!0,this.cardNameInput.setCustomValidity(``),this.cardNameInput.error=!1)}})}reportValidity(){return this.form.reportValidity()}checkValidity(){return!!this.form.reportValidity()}emitChange(){this.dispatchEvent(new CustomEvent(`change`,{detail:{...this.value},bubbles:!0}))}render(){let e=this.getCardIcon();return r.html`
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`),t=require(`./litElement.mixin-lYlKxxjR.cjs`);require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`);var i=typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},a=function(e,t,n,r,i,o,s,c,l,u){var d=this;d.numeralDecimalMark=e||`.`,d.numeralIntegerScale=t>0?t:0,d.numeralDecimalScale=n>=0?n:2,d.numeralThousandsGroupStyle=r||a.groupStyle.thousand,d.numeralPositiveOnly=!!i,d.stripLeadingZeroes=!1!==o,d.prefix=s||s===``?s:``,d.signBeforePrefix=!!c,d.tailPrefix=!!l,d.delimiter=u||u===``?u:`,`,d.delimiterRE=u?RegExp(`\\`+u,`g`):``};a.groupStyle={thousand:`thousand`,lakh:`lakh`,wan:`wan`,none:`none`},a.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,``).replace(this.numeralDecimalMark,`.`)},format:function(e){var t,n,r,i,o=this,s=``;switch(e=e.replace(/[A-Za-z]/g,``).replace(o.numeralDecimalMark,`M`).replace(/[^\dM-]/g,``).replace(/^\-/,`N`).replace(/\-/g,``).replace(`N`,o.numeralPositiveOnly?``:`-`).replace(`M`,o.numeralDecimalMark),o.stripLeadingZeroes&&(e=e.replace(/^(-)?0+(?=\d)/,`$1`)),n=e.slice(0,1)===`-`?`-`:``,r=o.prefix===void 0?n:o.signBeforePrefix?n+o.prefix:o.prefix+n,i=e,e.indexOf(o.numeralDecimalMark)>=0&&(i=(t=e.split(o.numeralDecimalMark))[0],s=o.numeralDecimalMark+t[1].slice(0,o.numeralDecimalScale)),n===`-`&&(i=i.slice(1)),o.numeralIntegerScale>0&&(i=i.slice(0,o.numeralIntegerScale)),o.numeralThousandsGroupStyle){case a.groupStyle.lakh:i=i.replace(/(\d)(?=(\d\d)+\d$)/g,`$1`+o.delimiter);break;case a.groupStyle.wan:i=i.replace(/(\d)(?=(\d{4})+$)/g,`$1`+o.delimiter);break;case a.groupStyle.thousand:i=i.replace(/(\d)(?=(\d{3})+$)/g,`$1`+o.delimiter)}return o.tailPrefix?n+i.toString()+(o.numeralDecimalScale>0?s.toString():``)+o.prefix:r+i.toString()+(o.numeralDecimalScale>0?s.toString():``)}};var o=a,s=function(e,t,n){var r=this;r.date=[],r.blocks=[],r.datePattern=e,r.dateMin=t.split(`-`).reverse().map(function(e){return parseInt(e,10)}),r.dateMin.length===2&&r.dateMin.unshift(0),r.dateMax=n.split(`-`).reverse().map(function(e){return parseInt(e,10)}),r.dateMax.length===2&&r.dateMax.unshift(0),r.initBlocks()};s.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){t===`Y`?e.blocks.push(4):e.blocks.push(2)})},getISOFormatDate:function(){var e=this,t=e.date;return t[2]?t[2]+`-`+e.addLeadingZero(t[1])+`-`+e.addLeadingZero(t[0]):``},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,n=``;return e=e.replace(/[^\d]/g,``),t.blocks.forEach(function(r,i){if(e.length>0){var a=e.slice(0,r),o=a.slice(0,1),s=e.slice(r);switch(t.datePattern[i]){case`d`:a===`00`?a=`01`:parseInt(o,10)>3?a=`0`+o:parseInt(a,10)>31&&(a=`31`);break;case`m`:a===`00`?a=`01`:parseInt(o,10)>1?a=`0`+o:parseInt(a,10)>12&&(a=`12`)}n+=a,e=s}}),this.getFixedDateString(n)},getFixedDateString:function(e){var t,n,r,i=this,a=i.datePattern,o=[],s=0,c=0,l=0,u=0,d=0,f=0,p=!1;return e.length===4&&a[0].toLowerCase()!==`y`&&a[1].toLowerCase()!==`y`&&(d=2-(u=a[0]===`d`?0:2),t=parseInt(e.slice(u,u+2),10),n=parseInt(e.slice(d,d+2),10),o=this.getFixedDate(t,n,0)),e.length===8&&(a.forEach(function(e,t){switch(e){case`d`:s=t;break;case`m`:c=t;break;default:l=t}}),f=2*l,u=s<=l?2*s:2*s+2,d=c<=l?2*c:2*c+2,t=parseInt(e.slice(u,u+2),10),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+4),10),p=e.slice(f,f+4).length===4,o=this.getFixedDate(t,n,r)),e.length!==4||a[0]!==`y`&&a[1]!==`y`||(f=2-(d=a[0]===`m`?0:2),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+2),10),p=e.slice(f,f+2).length===2,o=[0,n,r]),e.length!==6||a[0]!==`Y`&&a[1]!==`Y`||(f=2-.5*(d=a[0]===`m`?0:4),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+4),10),p=e.slice(f,f+4).length===4,o=[0,n,r]),o=i.getRangeFixedDate(o),i.date=o,o.length===0?e:a.reduce(function(e,t){switch(t){case`d`:return e+(o[0]===0?``:i.addLeadingZero(o[0]));case`m`:return e+(o[1]===0?``:i.addLeadingZero(o[1]));case`y`:return e+(p?i.addLeadingZeroForYear(o[2],!1):``);case`Y`:return e+(p?i.addLeadingZeroForYear(o[2],!0):``)}},``)},getRangeFixedDate:function(e){var t=this,n=t.datePattern,r=t.dateMin||[],i=t.dateMax||[];return!e.length||r.length<3&&i.length<3||n.find(function(e){return e.toLowerCase()===`y`})&&e[2]===0?e:i.length&&(i[2]<e[2]||i[2]===e[2]&&(i[1]<e[1]||i[1]===e[1]&&i[0]<e[0]))?i:r.length&&(r[2]>e[2]||r[2]===e[2]&&(r[1]>e[1]||r[1]===e[1]&&r[0]>e[0]))?r:e},getFixedDate:function(e,t,n){return e=Math.min(e,31),t=Math.min(t,12),n=parseInt(n||0,10),(t<7&&t%2==0||t>8&&t%2==1)&&(e=Math.min(e,t===2?this.isLeapYear(n)?29:28:30)),[e,t,n]},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},addLeadingZero:function(e){return(e<10?`0`:``)+e},addLeadingZeroForYear:function(e,t){return t?(e<10?`000`:e<100?`00`:e<1e3?`0`:``)+e:(e<10?`0`:``)+e}};var c=s,l=function(e,t){var n=this;n.time=[],n.blocks=[],n.timePattern=e,n.timeFormat=t,n.initBlocks()};l.prototype={initBlocks:function(){var e=this;e.timePattern.forEach(function(){e.blocks.push(2)})},getISOFormatTime:function(){var e=this,t=e.time;return t[2]?e.addLeadingZero(t[0])+`:`+e.addLeadingZero(t[1])+`:`+e.addLeadingZero(t[2]):``},getBlocks:function(){return this.blocks},getTimeFormatOptions:function(){return String(this.timeFormat)===`12`?{maxHourFirstDigit:1,maxHours:12,maxMinutesFirstDigit:5,maxMinutes:60}:{maxHourFirstDigit:2,maxHours:23,maxMinutesFirstDigit:5,maxMinutes:60}},getValidatedTime:function(e){var t=this,n=``;e=e.replace(/[^\d]/g,``);var r=t.getTimeFormatOptions();return t.blocks.forEach(function(i,a){if(e.length>0){var o=e.slice(0,i),s=o.slice(0,1),c=e.slice(i);switch(t.timePattern[a]){case`h`:parseInt(s,10)>r.maxHourFirstDigit?o=`0`+s:parseInt(o,10)>r.maxHours&&(o=r.maxHours+``);break;case`m`:case`s`:parseInt(s,10)>r.maxMinutesFirstDigit?o=`0`+s:parseInt(o,10)>r.maxMinutes&&(o=r.maxMinutes+``)}n+=o,e=c}}),this.getFixedTimeString(n)},getFixedTimeString:function(e){var t,n,r,i=this,a=i.timePattern,o=[],s=0,c=0,l=0,u=0,d=0,f=0;return e.length===6&&(a.forEach(function(e,t){switch(e){case`s`:s=2*t;break;case`m`:c=2*t;break;case`h`:l=2*t}}),f=l,d=c,u=s,t=parseInt(e.slice(u,u+2),10),n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+2),10),o=this.getFixedTime(r,n,t)),e.length===4&&i.timePattern.indexOf(`s`)<0&&(a.forEach(function(e,t){switch(e){case`m`:c=2*t;break;case`h`:l=2*t}}),f=l,d=c,t=0,n=parseInt(e.slice(d,d+2),10),r=parseInt(e.slice(f,f+2),10),o=this.getFixedTime(r,n,t)),i.time=o,o.length===0?e:a.reduce(function(e,t){switch(t){case`s`:return e+i.addLeadingZero(o[2]);case`m`:return e+i.addLeadingZero(o[1]);case`h`:return e+i.addLeadingZero(o[0])}},``)},getFixedTime:function(e,t,n){return n=Math.min(parseInt(n||0,10),60),t=Math.min(t,60),[e=Math.min(e,60),t,n]},addLeadingZero:function(e){return(e<10?`0`:``)+e}};var u=l,d=function(e,t){var n=this;n.delimiter=t||t===``?t:` `,n.delimiterRE=t?RegExp(`\\`+t,`g`):``,n.formatter=e};d.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear();for(var n,r=``,i=!1,a=0,o=(e=(e=(e=e.replace(/[^\d+]/g,``)).replace(/^\+/,`B`).replace(/\+/g,``).replace(`B`,`+`)).replace(t.delimiterRE,``)).length;a<o;a++)n=t.formatter.inputDigit(e.charAt(a)),/[\s()-]/g.test(n)?(r=n,i=!0):i||(r=n);return r=(r=r.replace(/[()]/g,``)).replace(/[\s-]/g,t.delimiter)}};var f=d,p={blocks:{uatp:[4,5,6],amex:[4,6,5],diners:[4,6,4],discover:[4,4,4,4],mastercard:[4,4,4,4],dankort:[4,4,4,4],instapayment:[4,4,4,4],jcb15:[4,6,5],jcb:[4,4,4,4],maestro:[4,4,4,4],visa:[4,4,4,4],mir:[4,4,4,4],unionPay:[4,4,4,4],general:[4,4,4,4]},re:{uatp:/^(?!1800)1\d{0,14}/,amex:/^3[47]\d{0,13}/,discover:/^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}/,diners:/^3(?:0([0-5]|9)|[689]\d?)\d{0,11}/,mastercard:/^(5[1-5]\d{0,2}|22[2-9]\d{0,1}|2[3-7]\d{0,2})\d{0,12}/,dankort:/^(5019|4175|4571)\d{0,12}/,instapayment:/^63[7-9]\d{0,13}/,jcb15:/^(?:2131|1800)\d{0,11}/,jcb:/^(?:35\d{0,2})\d{0,12}/,maestro:/^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}/,mir:/^220[0-4]\d{0,12}/,visa:/^4\d{0,15}/,unionPay:/^(62|81)\d{0,14}/},getStrictBlocks:function(e){var t=e.reduce(function(e,t){return e+t},0);return e.concat(19-t)},getInfo:function(e,t){var n=p.blocks,r=p.re;for(var i in t=!!t,r)if(r[i].test(e)){var a=n[i];return{type:i,blocks:t?this.getStrictBlocks(a):a}}return{type:`unknown`,blocks:t?this.getStrictBlocks(n.general):n.general}}},m=p,h={noop:function(){},strip:function(e,t){return e.replace(t,``)},getPostDelimiter:function(e,t,n){if(n.length===0)return e.slice(-t.length)===t?t:``;var r=``;return n.forEach(function(t){e.slice(-t.length)===t&&(r=t)}),r},getDelimiterREByDelimiter:function(e){return new RegExp(e.replace(/([.?*+^$[\]\\(){}|-])/g,`\\$1`),`g`)},getNextCursorPosition:function(e,t,n,r,i){return t.length===e?n.length:e+this.getPositionOffset(e,t,n,r,i)},getPositionOffset:function(e,t,n,r,i){var a=this.stripDelimiters(t.slice(0,e),r,i),o=this.stripDelimiters(n.slice(0,e),r,i),s=a.length-o.length;return s===0?0:s/Math.abs(s)},stripDelimiters:function(e,t,n){var r=this;if(n.length===0){var i=t?r.getDelimiterREByDelimiter(t):``;return e.replace(i,``)}return n.forEach(function(t){t.split(``).forEach(function(t){e=e.replace(r.getDelimiterREByDelimiter(t),``)})}),e},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t,n,r,i,a,o,s,c){if(n===0)return e;if(e===t&&e!==``)return``;if(c&&e.slice(0,1)==`-`){var l=r.slice(0,1)==`-`?r.slice(1):r;return`-`+this.getPrefixStrippedValue(e.slice(1),t,n,l,i,a,o,s,c)}if(r.slice(0,n)!==t&&!s||r.slice(-n)!==t&&s)return o&&!r&&e?e:``;var u=this.stripDelimiters(r,i,a);return e.slice(0,n)===t||s?e.slice(-n)!==t&&s?u.slice(0,-n-1):s?e.slice(0,-n):e.slice(n):u.slice(n)},getFirstDiffIndex:function(e,t){for(var n=0;e.charAt(n)===t.charAt(n);)if(e.charAt(n++)===``)return-1;return n},getFormattedValue:function(e,t,n,r,i,a){var o=``,s=i.length>0,c=``;return n===0?e:(t.forEach(function(t,l){if(e.length>0){var u=e.slice(0,t),d=e.slice(t);c=s?i[a?l-1:l]||c:r,a?(l>0&&(o+=c),o+=u):(o+=u,u.length===t&&l<n-1&&(o+=c)),e=d}}),o)},fixPrefixCursor:function(e,t,n,r){if(e){var i=e.value,a=n||r[0]||` `;if(e.setSelectionRange&&t&&!(t.length+a.length<=i.length)){var o=2*i.length;setTimeout(function(){e.setSelectionRange(o,o)},1)}}},checkFullSelection:function(e){try{return(window.getSelection()||document.getSelection()||{}).toString().length===e.length}catch{}return!1},setSelection:function(e,t,n){if(e===this.getActiveElement(n)&&!(e&&e.value.length<=t))if(e.createTextRange){var r=e.createTextRange();r.move(`character`,t),r.select()}else try{e.setSelectionRange(t,t)}catch{}},getActiveElement:function(e){var t=e.activeElement;return t&&t.shadowRoot?this.getActiveElement(t.shadowRoot):t},isAndroid:function(){return navigator&&/android/i.test(navigator.userAgent)},isAndroidBackspaceKeydown:function(e,t){return!!(this.isAndroid()&&e&&t)&&t===e.slice(0,-1)}},g={assign:function(e,t){return t||={},(e||={}).creditCard=!!t.creditCard,e.creditCardStrictMode=!!t.creditCardStrictMode,e.creditCardType=``,e.onCreditCardTypeChanged=t.onCreditCardTypeChanged||function(){},e.phone=!!t.phone,e.phoneRegionCode=t.phoneRegionCode||`AU`,e.phoneFormatter={},e.time=!!t.time,e.timePattern=t.timePattern||[`h`,`m`,`s`],e.timeFormat=t.timeFormat||`24`,e.timeFormatter={},e.date=!!t.date,e.datePattern=t.datePattern||[`d`,`m`,`Y`],e.dateMin=t.dateMin||``,e.dateMax=t.dateMax||``,e.dateFormatter={},e.numeral=!!t.numeral,e.numeralIntegerScale=t.numeralIntegerScale>0?t.numeralIntegerScale:0,e.numeralDecimalScale=t.numeralDecimalScale>=0?t.numeralDecimalScale:2,e.numeralDecimalMark=t.numeralDecimalMark||`.`,e.numeralThousandsGroupStyle=t.numeralThousandsGroupStyle||`thousand`,e.numeralPositiveOnly=!!t.numeralPositiveOnly,e.stripLeadingZeroes=!1!==t.stripLeadingZeroes,e.signBeforePrefix=!!t.signBeforePrefix,e.tailPrefix=!!t.tailPrefix,e.swapHiddenInput=!!t.swapHiddenInput,e.numericOnly=e.creditCard||e.date||!!t.numericOnly,e.uppercase=!!t.uppercase,e.lowercase=!!t.lowercase,e.prefix=e.creditCard||e.date?``:t.prefix||``,e.noImmediatePrefix=!!t.noImmediatePrefix,e.prefixLength=e.prefix.length,e.rawValueTrimPrefix=!!t.rawValueTrimPrefix,e.copyDelimiter=!!t.copyDelimiter,e.initValue=t.initValue!==void 0&&t.initValue!==null?t.initValue.toString():``,e.delimiter=t.delimiter||t.delimiter===``?t.delimiter:t.date?`/`:t.time?`:`:t.numeral?`,`:(t.phone,` `),e.delimiterLength=e.delimiter.length,e.delimiterLazyShow=!!t.delimiterLazyShow,e.delimiters=t.delimiters||[],e.blocks=t.blocks||[],e.blocksLength=e.blocks.length,e.root=typeof i==`object`&&i?i:window,e.document=t.document||e.root.document,e.maxLength=0,e.backspace=!1,e.result=``,e.onValueChanged=t.onValueChanged||function(){},e}},_=function(e,t){var n=this;if(typeof e==`string`?(n.element=document.querySelector(e),document.querySelectorAll(e).length):e.length!==void 0&&e.length>0?(n.element=e[0],e.length):n.element=e,!n.element)throw Error(`[cleave.js] Please check the element`);t.initValue=n.element.value,n.properties=_.DefaultProperties.assign({},t),n.init()};_.prototype={init:function(){var e=this,t=e.properties;t.numeral||t.phone||t.creditCard||t.time||t.date||t.blocksLength!==0||t.prefix?(t.maxLength=_.Util.getMaxLength(t.blocks),e.isAndroid=_.Util.isAndroid(),e.lastInputValue=``,e.isBackward=``,e.onChangeListener=e.onChange.bind(e),e.onKeyDownListener=e.onKeyDown.bind(e),e.onFocusListener=e.onFocus.bind(e),e.onCutListener=e.onCut.bind(e),e.onCopyListener=e.onCopy.bind(e),e.initSwapHiddenInput(),e.element.addEventListener(`input`,e.onChangeListener),e.element.addEventListener(`keydown`,e.onKeyDownListener),e.element.addEventListener(`focus`,e.onFocusListener),e.element.addEventListener(`cut`,e.onCutListener),e.element.addEventListener(`copy`,e.onCopyListener),e.initPhoneFormatter(),e.initDateFormatter(),e.initTimeFormatter(),e.initNumeralFormatter(),(t.initValue||t.prefix&&!t.noImmediatePrefix)&&e.onInput(t.initValue)):e.onInput(t.initValue)},initSwapHiddenInput:function(){var e=this;if(e.properties.swapHiddenInput){var t=e.element.cloneNode(!0);e.element.parentNode.insertBefore(t,e.element),e.elementSwapHidden=e.element,e.elementSwapHidden.type=`hidden`,e.element=t,e.element.id=``}},initNumeralFormatter:function(){var e=this.properties;e.numeral&&(e.numeralFormatter=new _.NumeralFormatter(e.numeralDecimalMark,e.numeralIntegerScale,e.numeralDecimalScale,e.numeralThousandsGroupStyle,e.numeralPositiveOnly,e.stripLeadingZeroes,e.prefix,e.signBeforePrefix,e.tailPrefix,e.delimiter))},initTimeFormatter:function(){var e=this.properties;e.time&&(e.timeFormatter=new _.TimeFormatter(e.timePattern,e.timeFormat),e.blocks=e.timeFormatter.getBlocks(),e.blocksLength=e.blocks.length,e.maxLength=_.Util.getMaxLength(e.blocks))},initDateFormatter:function(){var e=this.properties;e.date&&(e.dateFormatter=new _.DateFormatter(e.datePattern,e.dateMin,e.dateMax),e.blocks=e.dateFormatter.getBlocks(),e.blocksLength=e.blocks.length,e.maxLength=_.Util.getMaxLength(e.blocks))},initPhoneFormatter:function(){var e=this.properties;if(e.phone)try{e.phoneFormatter=new _.PhoneFormatter(new e.root.Cleave.AsYouTypeFormatter(e.phoneRegionCode),e.delimiter)}catch{throw Error(`[cleave.js] Please include phone-type-formatter.{country}.js lib`)}},onKeyDown:function(e){var t=this,n=e.which||e.keyCode;t.lastInputValue=t.element.value,t.isBackward=n===8},onChange:function(e){var t=this,n=t.properties,r=_.Util;t.isBackward=t.isBackward||e.inputType===`deleteContentBackward`;var i=r.getPostDelimiter(t.lastInputValue,n.delimiter,n.delimiters);t.isBackward&&i?n.postDelimiterBackspace=i:n.postDelimiterBackspace=!1,this.onInput(this.element.value)},onFocus:function(){var e=this,t=e.properties;e.lastInputValue=e.element.value,t.prefix&&t.noImmediatePrefix&&!e.element.value&&this.onInput(t.prefix),_.Util.fixPrefixCursor(e.element,t.prefix,t.delimiter,t.delimiters)},onCut:function(e){_.Util.checkFullSelection(this.element.value)&&(this.copyClipboardData(e),this.onInput(``))},onCopy:function(e){_.Util.checkFullSelection(this.element.value)&&this.copyClipboardData(e)},copyClipboardData:function(e){var t=this.properties,n=_.Util,r=this.element.value,i=``;i=t.copyDelimiter?r:n.stripDelimiters(r,t.delimiter,t.delimiters);try{e.clipboardData?e.clipboardData.setData(`Text`,i):window.clipboardData.setData(`Text`,i),e.preventDefault()}catch{}},onInput:function(e){var t=this,n=t.properties,r=_.Util,i=r.getPostDelimiter(e,n.delimiter,n.delimiters);n.numeral||!n.postDelimiterBackspace||i||(e=r.headStr(e,e.length-n.postDelimiterBackspace.length)),n.phone?(!n.prefix||n.noImmediatePrefix&&!e.length?n.result=n.phoneFormatter.format(e):n.result=n.prefix+n.phoneFormatter.format(e).slice(n.prefix.length),t.updateValueState()):n.numeral?(n.prefix&&n.noImmediatePrefix&&e.length===0?n.result=``:n.result=n.numeralFormatter.format(e),t.updateValueState()):(n.date&&(e=n.dateFormatter.getValidatedDate(e)),n.time&&(e=n.timeFormatter.getValidatedTime(e)),e=r.stripDelimiters(e,n.delimiter,n.delimiters),e=r.getPrefixStrippedValue(e,n.prefix,n.prefixLength,n.result,n.delimiter,n.delimiters,n.noImmediatePrefix,n.tailPrefix,n.signBeforePrefix),e=n.numericOnly?r.strip(e,/[^\d]/g):e,e=n.uppercase?e.toUpperCase():e,e=n.lowercase?e.toLowerCase():e,n.prefix&&(n.tailPrefix?e+=n.prefix:e=n.prefix+e,n.blocksLength===0)?(n.result=e,t.updateValueState()):(n.creditCard&&t.updateCreditCardPropsByValue(e),e=r.headStr(e,n.maxLength),n.result=r.getFormattedValue(e,n.blocks,n.blocksLength,n.delimiter,n.delimiters,n.delimiterLazyShow),t.updateValueState()))},updateCreditCardPropsByValue:function(e){var t,n=this.properties,r=_.Util;r.headStr(n.result,4)!==r.headStr(e,4)&&(t=_.CreditCardDetector.getInfo(e,n.creditCardStrictMode),n.blocks=t.blocks,n.blocksLength=n.blocks.length,n.maxLength=r.getMaxLength(n.blocks),n.creditCardType!==t.type&&(n.creditCardType=t.type,n.onCreditCardTypeChanged.call(this,n.creditCardType)))},updateValueState:function(){var e=this,t=_.Util,n=e.properties;if(e.element){var r=e.element.selectionEnd,i=e.element.value,a=n.result;r=t.getNextCursorPosition(r,i,a,n.delimiter,n.delimiters),e.isAndroid?window.setTimeout(function(){e.element.value=a,t.setSelection(e.element,r,n.document,!1),e.callOnValueChanged()},1):(e.element.value=a,n.swapHiddenInput&&(e.elementSwapHidden.value=e.getRawValue()),t.setSelection(e.element,r,n.document,!1),e.callOnValueChanged())}},callOnValueChanged:function(){var e=this,t=e.properties;t.onValueChanged.call(e,{target:{name:e.element.name,value:t.result,rawValue:e.getRawValue()}})},setPhoneRegionCode:function(e){var t=this;t.properties.phoneRegionCode=e,t.initPhoneFormatter(),t.onChange()},setRawValue:function(e){var t=this,n=t.properties;e=e==null?``:e.toString(),n.numeral&&(e=e.replace(`.`,n.numeralDecimalMark)),n.postDelimiterBackspace=!1,t.element.value=e,t.onInput(e)},getRawValue:function(){var e=this.properties,t=_.Util,n=this.element.value;return e.rawValueTrimPrefix&&(n=t.getPrefixStrippedValue(n,e.prefix,e.prefixLength,e.result,e.delimiter,e.delimiters,e.noImmediatePrefix,e.tailPrefix,e.signBeforePrefix)),n=e.numeral?e.numeralFormatter.getRawValue(n):t.stripDelimiters(n,e.delimiter,e.delimiters)},getISOFormatDate:function(){var e=this.properties;return e.date?e.dateFormatter.getISOFormatDate():``},getISOFormatTime:function(){var e=this.properties;return e.time?e.timeFormatter.getISOFormatTime():``},getFormattedValue:function(){return this.element.value},destroy:function(){var e=this;e.element.removeEventListener(`input`,e.onChangeListener),e.element.removeEventListener(`keydown`,e.onKeyDownListener),e.element.removeEventListener(`focus`,e.onFocusListener),e.element.removeEventListener(`cut`,e.onCutListener),e.element.removeEventListener(`copy`,e.onCopyListener)},toString:function(){return`[Cleave Object]`}},_.NumeralFormatter=o,_.DateFormatter=c,_.TimeFormatter=u,_.PhoneFormatter=f,_.CreditCardDetector=m,_.Util=h,_.DefaultProperties=g,(typeof i==`object`&&i?i:window).Cleave=_;var v=_,y=class extends t.t(){constructor(...e){super(...e),this.value={cardName:``,cardNumber:``,expirationDate:``,cvv:``},this.cardType=``,this.isCardNameValid=!0,this.isCardNumberValid=!0,this.isExpirationDateValid=!0,this.isCvvValid=!0}firstUpdated(){new v(this.cardNumberInput,{creditCard:!0,creditCardStrictMode:!0,onCreditCardTypeChanged:e=>{this.cardType=e,e===`unknown`?(this.isCardNumberValid=!1,this.cardNumberInput.setCustomValidity(`Please enter a valid card number.`),this.cardNumberInput.error=!0):(this.isCardNumberValid=!0,this.cardNumberInput.setCustomValidity(``),this.cardNumberInput.error=!1,this.cvvInput.maxlength=e===`amex`?4:3)}}),new v(this.expirationDateInput,{date:!0,datePattern:[`m`,`y`],onValueChanged:e=>{let t=e.target.value;if(!t||t.length<5)this.isExpirationDateValid=!1,this.expirationDateInput.setCustomValidity(`Please enter a valid expiration date (MM/YY).`),this.expirationDateInput.error=!0;else{let[e,n]=t.split(`/`),r=new Date,i=r.getFullYear()%100,a=r.getMonth()+1,o=parseInt(e,10),s=parseInt(n,10);s<i||s===i&&o<a?(this.isExpirationDateValid=!1,this.expirationDateInput.setCustomValidity(`Card has expired.`),this.expirationDateInput.error=!0):(this.isExpirationDateValid=!0,this.expirationDateInput.setCustomValidity(``),this.expirationDateInput.error=!1)}}}),new v(this.cvvInput,{blocks:[4],numericOnly:!0,onValueChanged:e=>{let t=this.cardType===`amex`?4:3;e.target.value.length<t?(this.isCvvValid=!1,this.cvvInput.setCustomValidity(`Please enter a valid ${t}-digit CVV.`),this.cvvInput.error=!0):(this.isCvvValid=!0,this.cvvInput.setCustomValidity(``),this.cvvInput.error=!1)}}),new v(this.cardNameInput,{uppercase:!0,delimiter:` `,onValueChanged:e=>{!e.target.value||e.target.value.length<3?(this.isCardNameValid=!1,this.cardNameInput.setCustomValidity(`Please enter the name as it appears on the card.`),this.cardNameInput.error=!0):(this.isCardNameValid=!0,this.cardNameInput.setCustomValidity(``),this.cardNameInput.error=!1)}})}reportValidity(){return this.form.reportValidity()}checkValidity(){return!!this.form.reportValidity()}emitChange(){this.dispatchEvent(new CustomEvent(`change`,{detail:{...this.value},bubbles:!0}))}render(){let e=this.getCardIcon();return r.html`
2
2
  <schmancy-form
3
3
  @change=${e=>{e.stopPropagation(),e.preventDefault()}}
4
4
  >