@mhmo91/schmancy 0.9.4 → 0.9.6

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 (1037) hide show
  1. package/.claude-plugin/plugin.json +13 -0
  2. package/README.md +14 -4
  3. package/custom-elements.json +493 -718
  4. package/dist/.claude-plugin/plugin.json +13 -0
  5. package/dist/animation-Bcwh107v.cjs.map +1 -0
  6. package/dist/animation-CXKSuUoE.js.map +1 -0
  7. package/dist/area-BARjKpE9.js +590 -0
  8. package/dist/area-BARjKpE9.js.map +1 -0
  9. package/dist/area-D9b9dHQr.cjs +12 -0
  10. package/dist/area-D9b9dHQr.cjs.map +1 -0
  11. package/dist/area.cjs +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/audio-C7TzWI8M.js +335 -0
  14. package/dist/audio-C7TzWI8M.js.map +1 -0
  15. package/dist/audio-DUVz7Ars.cjs +1 -0
  16. package/dist/audio-DUVz7Ars.cjs.map +1 -0
  17. package/dist/audio.cjs +1 -1
  18. package/dist/audio.js +2 -2
  19. package/dist/autocomplete-AI2CCJmK.cjs +115 -0
  20. package/dist/autocomplete-AI2CCJmK.cjs.map +1 -0
  21. package/dist/autocomplete-DOimwVMP.js +404 -0
  22. package/dist/autocomplete-DOimwVMP.js.map +1 -0
  23. package/dist/autocomplete.cjs +1 -1
  24. package/dist/autocomplete.js +1 -1
  25. package/dist/badge.cjs +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/boat-Bk4u-LzT.cjs +80 -0
  28. package/dist/boat-Bk4u-LzT.cjs.map +1 -0
  29. package/dist/boat-DrghVeWK.js +347 -0
  30. package/dist/boat-DrghVeWK.js.map +1 -0
  31. package/dist/boat.cjs +1 -1
  32. package/dist/boat.js +1 -1
  33. package/dist/breadcrumb.cjs +34 -0
  34. package/dist/breadcrumb.cjs.map +1 -0
  35. package/dist/breadcrumb.js +73 -0
  36. package/dist/breadcrumb.js.map +1 -0
  37. package/dist/busy-BmFfwyz_.js +168 -0
  38. package/dist/busy-BmFfwyz_.js.map +1 -0
  39. package/dist/busy-c_q_F8O0.cjs +134 -0
  40. package/dist/busy-c_q_F8O0.cjs.map +1 -0
  41. package/dist/busy.cjs +1 -1
  42. package/dist/busy.js +1 -1
  43. package/dist/button.cjs +4 -4
  44. package/dist/button.cjs.map +1 -1
  45. package/dist/button.js +25 -6
  46. package/dist/button.js.map +1 -1
  47. package/dist/card-BADJHUMA.js +285 -0
  48. package/dist/card-BADJHUMA.js.map +1 -0
  49. package/dist/card-C_E944_Z.cjs +177 -0
  50. package/dist/card-C_E944_Z.cjs.map +1 -0
  51. package/dist/card.cjs +1 -1
  52. package/dist/card.js +1 -1
  53. package/dist/charts.cjs +3 -3
  54. package/dist/charts.cjs.map +1 -1
  55. package/dist/charts.js +2 -2
  56. package/dist/checkbox-D7rvCrGk.js +629 -0
  57. package/dist/checkbox-D7rvCrGk.js.map +1 -0
  58. package/dist/checkbox-ZqDoCagB.cjs +39 -0
  59. package/dist/checkbox-ZqDoCagB.cjs.map +1 -0
  60. package/dist/checkbox.cjs +1 -1
  61. package/dist/checkbox.js +1 -1
  62. package/dist/chips-Cux635Qs.cjs +253 -0
  63. package/dist/chips-Cux635Qs.cjs.map +1 -0
  64. package/dist/chips-vdzIsesI.js +655 -0
  65. package/dist/chips-vdzIsesI.js.map +1 -0
  66. package/dist/chips.cjs +1 -1
  67. package/dist/chips.js +2 -2
  68. package/dist/code-highlight-C9lKek2p.cjs +190 -0
  69. package/dist/code-highlight-C9lKek2p.cjs.map +1 -0
  70. package/dist/code-highlight-D6yruol6.js +291 -0
  71. package/dist/code-highlight-D6yruol6.js.map +1 -0
  72. package/dist/code-highlight.cjs +1 -1
  73. package/dist/code-highlight.js +1 -1
  74. package/dist/components-ByRyEzz5.cjs +73 -0
  75. package/dist/components-ByRyEzz5.cjs.map +1 -0
  76. package/dist/components-DSvPKR9Q.js +730 -0
  77. package/dist/components-DSvPKR9Q.js.map +1 -0
  78. package/dist/components.cjs +1 -1
  79. package/dist/components.js +1 -1
  80. package/dist/connectivity.cjs +7 -7
  81. package/dist/connectivity.cjs.map +1 -1
  82. package/dist/connectivity.js +5 -4
  83. package/dist/connectivity.js.map +1 -1
  84. package/dist/content-drawer.cjs +1 -1
  85. package/dist/content-drawer.js +1 -1
  86. package/dist/cursor-glow-82y5h3E4.cjs +1 -0
  87. package/dist/cursor-glow-82y5h3E4.cjs.map +1 -0
  88. package/dist/cursor-glow-C2YRrB8Z.js +46 -0
  89. package/dist/cursor-glow-C2YRrB8Z.js.map +1 -0
  90. package/dist/date-range-DJsavigf.cjs +131 -0
  91. package/dist/date-range-DJsavigf.cjs.map +1 -0
  92. package/dist/date-range-inline-B87TDYI6.js +267 -0
  93. package/dist/date-range-inline-B87TDYI6.js.map +1 -0
  94. package/dist/date-range-inline-De-M0VmL.cjs +43 -0
  95. package/dist/date-range-inline-De-M0VmL.cjs.map +1 -0
  96. package/dist/date-range-inline.cjs +1 -1
  97. package/dist/date-range-inline.js +1 -1
  98. package/dist/date-range-tEX2Jx2j.js +946 -0
  99. package/dist/date-range-tEX2Jx2j.js.map +1 -0
  100. package/dist/date-range.cjs +1 -1
  101. package/dist/date-range.js +1 -1
  102. package/dist/delay-BvVdfhAR.cjs +9 -0
  103. package/dist/delay-BvVdfhAR.cjs.map +1 -0
  104. package/dist/delay-CZw37zps.js +347 -0
  105. package/dist/delay-CZw37zps.js.map +1 -0
  106. package/dist/delay.cjs +1 -1
  107. package/dist/delay.js +1 -1
  108. package/dist/details-Bhz8_whd.cjs +168 -0
  109. package/dist/details-Bhz8_whd.cjs.map +1 -0
  110. package/dist/details-D7VTnLOh.js +294 -0
  111. package/dist/details-D7VTnLOh.js.map +1 -0
  112. package/dist/details.cjs +1 -1
  113. package/dist/details.js +1 -1
  114. package/dist/dialog-service-ClFrOWf4.js +193 -0
  115. package/dist/dialog-service-ClFrOWf4.js.map +1 -0
  116. package/dist/dialog-service-DcuAavp2.cjs +1 -0
  117. package/dist/dialog-service-DcuAavp2.cjs.map +1 -0
  118. package/dist/dialog.cjs +18 -11
  119. package/dist/dialog.cjs.map +1 -1
  120. package/dist/dialog.js +66 -43
  121. package/dist/dialog.js.map +1 -1
  122. package/dist/directives.cjs +1 -1
  123. package/dist/directives.js +5 -5
  124. package/dist/divider-S0bHwCCS.cjs +57 -0
  125. package/dist/divider-S0bHwCCS.cjs.map +1 -0
  126. package/dist/divider-zS232JDr.js +87 -0
  127. package/dist/divider-zS232JDr.js.map +1 -0
  128. package/dist/divider.cjs +1 -1
  129. package/dist/divider.js +1 -1
  130. package/dist/dropdown.cjs +4 -4
  131. package/dist/dropdown.cjs.map +1 -1
  132. package/dist/dropdown.js +8 -7
  133. package/dist/dropdown.js.map +1 -1
  134. package/dist/expand-BXt9SqAF.js +337 -0
  135. package/dist/expand-BXt9SqAF.js.map +1 -0
  136. package/dist/expand-Dr7TFXpl.cjs +141 -0
  137. package/dist/expand-Dr7TFXpl.cjs.map +1 -0
  138. package/dist/expand.cjs +1 -1
  139. package/dist/expand.js +1 -1
  140. package/dist/extra-BmZTXAp0.cjs +31 -0
  141. package/dist/extra-BmZTXAp0.cjs.map +1 -0
  142. package/dist/extra-COYhsOyZ.js +3435 -0
  143. package/dist/extra-COYhsOyZ.js.map +1 -0
  144. package/dist/extra.cjs +1 -1
  145. package/dist/extra.js +1 -1
  146. package/dist/float-CSRW-Rrd.cjs +1 -0
  147. package/dist/float-CSRW-Rrd.cjs.map +1 -0
  148. package/dist/float-DCXafWh6.js +5 -0
  149. package/dist/float-DCXafWh6.js.map +1 -0
  150. package/dist/float.cjs +1 -1
  151. package/dist/float.js +1 -1
  152. package/dist/flow-CqgDEIqK.js.map +1 -0
  153. package/dist/flow-DSu4PLt1.cjs.map +1 -0
  154. package/dist/form-CAY9GSCd.cjs +1 -0
  155. package/dist/form-CAY9GSCd.cjs.map +1 -0
  156. package/dist/form-D2cJ58TB.js +68 -0
  157. package/dist/form-D2cJ58TB.js.map +1 -0
  158. package/dist/form.cjs +1 -1
  159. package/dist/form.js +2 -1
  160. package/dist/hashContent-kKvXKFa9.cjs.map +1 -0
  161. package/dist/hashContent-nD2uWwi2.js.map +1 -0
  162. package/dist/icons-BbaI9Zf-.js +162 -0
  163. package/dist/icons-BbaI9Zf-.js.map +1 -0
  164. package/dist/icons-DPUeLS_Y.cjs +52 -0
  165. package/dist/icons-DPUeLS_Y.cjs.map +1 -0
  166. package/dist/icons.cjs +1 -1
  167. package/dist/icons.js +1 -1
  168. package/dist/iframe-CEDOvkql.js +45 -0
  169. package/dist/iframe-CEDOvkql.js.map +1 -0
  170. package/dist/iframe-Ct50FYXq.cjs +24 -0
  171. package/dist/iframe-Ct50FYXq.cjs.map +1 -0
  172. package/dist/iframe.cjs +1 -1
  173. package/dist/iframe.js +1 -1
  174. package/dist/index.cjs +1 -1
  175. package/dist/index.js +65 -59
  176. package/dist/input-DMjpf6V8.cjs +51 -0
  177. package/dist/input-DMjpf6V8.cjs.map +1 -0
  178. package/dist/input-Ri72dn5t.js +364 -0
  179. package/dist/input-Ri72dn5t.js.map +1 -0
  180. package/dist/input-chip-BhjGVpc3.cjs +146 -0
  181. package/dist/input-chip-BhjGVpc3.cjs.map +1 -0
  182. package/dist/input-chip-CI4__N8w.js +305 -0
  183. package/dist/input-chip-CI4__N8w.js.map +1 -0
  184. package/dist/input.cjs +1 -1
  185. package/dist/input.js +1 -1
  186. package/dist/intersection-D1v1UCVv.cjs.map +1 -0
  187. package/dist/intersection-LfEsy29T.js.map +1 -0
  188. package/dist/json.cjs +3 -3
  189. package/dist/json.cjs.map +1 -1
  190. package/dist/json.js +5 -4
  191. package/dist/json.js.map +1 -1
  192. package/dist/kbd.cjs +28 -0
  193. package/dist/kbd.cjs.map +1 -0
  194. package/dist/kbd.js +45 -0
  195. package/dist/kbd.js.map +1 -0
  196. package/dist/layout-BE2ld1IY.js +94 -0
  197. package/dist/layout-BE2ld1IY.js.map +1 -0
  198. package/dist/layout-D7xOqMkJ.cjs +17 -0
  199. package/dist/layout-D7xOqMkJ.cjs.map +1 -0
  200. package/dist/layout-PZCF3kwl.cjs +1 -0
  201. package/dist/layout-PZCF3kwl.cjs.map +1 -0
  202. package/dist/layout-uAQpJN31.js +268 -0
  203. package/dist/layout-uAQpJN31.js.map +1 -0
  204. package/dist/layout.cjs +1 -1
  205. package/dist/layout.js +2 -2
  206. package/dist/lightbox-C0OEHns9.js +679 -0
  207. package/dist/lightbox-C0OEHns9.js.map +1 -0
  208. package/dist/lightbox-cXRnvHMN.cjs +202 -0
  209. package/dist/lightbox-cXRnvHMN.cjs.map +1 -0
  210. package/dist/lightbox.cjs +1 -1
  211. package/dist/lightbox.js +1 -1
  212. package/dist/list-CmJ5h35b.cjs +40 -0
  213. package/dist/list-CmJ5h35b.cjs.map +1 -0
  214. package/dist/list-d1mHar5p.js +106 -0
  215. package/dist/list-d1mHar5p.js.map +1 -0
  216. package/dist/list.cjs +1 -1
  217. package/dist/list.js +1 -1
  218. package/dist/litElement.mixin-Bj2q1yPw.cjs +1 -0
  219. package/dist/litElement.mixin-Bj2q1yPw.cjs.map +1 -0
  220. package/dist/litElement.mixin-CncaUoxz.js +12 -0
  221. package/dist/litElement.mixin-CncaUoxz.js.map +1 -0
  222. package/dist/magnetic-Dj52WplI.js +47 -0
  223. package/dist/magnetic-Dj52WplI.js.map +1 -0
  224. package/dist/magnetic-aBBnj_vk.cjs +1 -0
  225. package/dist/magnetic-aBBnj_vk.cjs.map +1 -0
  226. package/dist/mailbox-BmChskZc.cjs +1142 -0
  227. package/dist/mailbox-BmChskZc.cjs.map +1 -0
  228. package/dist/mailbox-C4-E93be.js +1585 -0
  229. package/dist/mailbox-C4-E93be.js.map +1 -0
  230. package/dist/mailbox.cjs +1 -1
  231. package/dist/mailbox.js +1 -1
  232. package/dist/map-DHyYLhvy.js +206 -0
  233. package/dist/map-DHyYLhvy.js.map +1 -0
  234. package/dist/map-DYEvlNl0.cjs +80 -0
  235. package/dist/map-DYEvlNl0.cjs.map +1 -0
  236. package/dist/map.cjs +1 -1
  237. package/dist/map.js +1 -1
  238. package/dist/menu-BlPTI6H9.cjs +23 -0
  239. package/dist/menu-BlPTI6H9.cjs.map +1 -0
  240. package/dist/menu-DFDBADp4.js +51 -0
  241. package/dist/menu-DFDBADp4.js.map +1 -0
  242. package/dist/menu.cjs +1 -1
  243. package/dist/menu.js +1 -1
  244. package/dist/mixins.cjs +1 -1
  245. package/dist/mixins.cjs.map +1 -1
  246. package/dist/mixins.js +43 -15
  247. package/dist/mixins.js.map +1 -1
  248. package/dist/nav-drawer.cjs +1 -1
  249. package/dist/nav-drawer.js +1 -1
  250. package/dist/navigation-bar.cjs +1 -1
  251. package/dist/navigation-bar.js +1 -1
  252. package/dist/navigation-rail.cjs +3 -3
  253. package/dist/navigation-rail.cjs.map +1 -1
  254. package/dist/navigation-rail.js +2 -2
  255. package/dist/notification-DGpv8g2H.js +304 -0
  256. package/dist/notification-DGpv8g2H.js.map +1 -0
  257. package/dist/notification-DKVWYhqs.cjs +23 -0
  258. package/dist/notification-DKVWYhqs.cjs.map +1 -0
  259. package/dist/notification.cjs +1 -1
  260. package/dist/notification.js +1 -1
  261. package/dist/option-BD2eh458.js +98 -0
  262. package/dist/option-BD2eh458.js.map +1 -0
  263. package/dist/option-LtSDy2xf.cjs +43 -0
  264. package/dist/option-LtSDy2xf.cjs.map +1 -0
  265. package/dist/option.cjs +1 -1
  266. package/dist/option.js +1 -1
  267. package/dist/overlay-stack-CEYGD9T1.cjs.map +1 -0
  268. package/dist/overlay-stack-Ca4EK2Mu.js.map +1 -0
  269. package/dist/page.cjs +2 -2
  270. package/dist/page.cjs.map +1 -1
  271. package/dist/page.js +5 -5
  272. package/dist/progress-B5ChDPbB.cjs +51 -0
  273. package/dist/progress-B5ChDPbB.cjs.map +1 -0
  274. package/dist/progress-CE1Pk2hi.js +128 -0
  275. package/dist/progress-CE1Pk2hi.js.map +1 -0
  276. package/dist/progress.cjs +1 -1
  277. package/dist/progress.js +1 -1
  278. package/dist/provide-BZ9lq_Be.cjs +1 -0
  279. package/dist/provide-BZ9lq_Be.cjs.map +1 -0
  280. package/dist/provide-jn1Fj1vv.js +107 -0
  281. package/dist/provide-jn1Fj1vv.js.map +1 -0
  282. package/dist/qr-scanner.cjs +2 -2
  283. package/dist/qr-scanner.cjs.map +1 -1
  284. package/dist/qr-scanner.js +2 -2
  285. package/dist/radio-group-Cd9pZ2MR.cjs +40 -0
  286. package/dist/radio-group-Cd9pZ2MR.cjs.map +1 -0
  287. package/dist/radio-group-CyRHgIF3.js +106 -0
  288. package/dist/radio-group-CyRHgIF3.js.map +1 -0
  289. package/dist/radio-group.cjs +1 -1
  290. package/dist/radio-group.js +1 -1
  291. package/dist/range.cjs +4 -4
  292. package/dist/range.cjs.map +1 -1
  293. package/dist/range.js +4 -3
  294. package/dist/range.js.map +1 -1
  295. package/dist/reduced-motion-B83yZbcO.js.map +1 -0
  296. package/dist/reduced-motion-DR32yKEO.cjs.map +1 -0
  297. package/dist/rxjs-utils-Bldch1RO.js.map +1 -0
  298. package/dist/rxjs-utils-hAgKC7vk.cjs.map +1 -0
  299. package/dist/rxjs-utils.cjs +1 -1
  300. package/dist/rxjs-utils.js +1 -1
  301. package/dist/scroll-C_iNOi7E.cjs +26 -0
  302. package/dist/scroll-C_iNOi7E.cjs.map +1 -0
  303. package/dist/scroll-DoliwpRu.js +113 -0
  304. package/dist/scroll-DoliwpRu.js.map +1 -0
  305. package/dist/search-BlGJ6uJv.js.map +1 -0
  306. package/dist/search-C8eAOzBm.cjs.map +1 -0
  307. package/dist/select-CWWuZ2iJ.cjs +56 -0
  308. package/dist/select-CWWuZ2iJ.cjs.map +1 -0
  309. package/dist/select-_vHPXi30.js +305 -0
  310. package/dist/select-_vHPXi30.js.map +1 -0
  311. package/dist/select.cjs +1 -1
  312. package/dist/select.js +1 -1
  313. package/dist/sheet-i1KtxGIj.js +168 -0
  314. package/dist/sheet-i1KtxGIj.js.map +1 -0
  315. package/dist/sheet-r0oEYIdi.cjs +35 -0
  316. package/dist/sheet-r0oEYIdi.cjs.map +1 -0
  317. package/dist/sheet.cjs +1 -1
  318. package/dist/sheet.js +2 -2
  319. package/dist/sheet.service-Cr13Oo6G.cjs +1 -0
  320. package/dist/sheet.service-Cr13Oo6G.cjs.map +1 -0
  321. package/dist/sheet.service-DUO5_kmI.js +86 -0
  322. package/dist/sheet.service-DUO5_kmI.js.map +1 -0
  323. package/dist/skeleton.cjs +33 -0
  324. package/dist/skeleton.cjs.map +1 -0
  325. package/dist/skeleton.js +58 -0
  326. package/dist/skeleton.js.map +1 -0
  327. package/dist/skills/INDEX.md +73 -0
  328. package/dist/skills/SKILL.md +120 -0
  329. package/dist/skills/breadcrumb.md +53 -0
  330. package/dist/skills/kbd.md +40 -0
  331. package/dist/skills/schmancy/INDEX.md +73 -0
  332. package/dist/skills/schmancy/SKILL.md +120 -0
  333. package/dist/skills/schmancy/breadcrumb.md +53 -0
  334. package/dist/skills/schmancy/kbd.md +40 -0
  335. package/dist/skills/schmancy/skeleton.md +40 -0
  336. package/dist/skills/schmancy/splash-screen.md +60 -0
  337. package/dist/skills/schmancy/switch.md +58 -0
  338. package/dist/skills/schmancy/tooltip.md +38 -0
  339. package/dist/skills/schmancy/visually-hidden.md +41 -0
  340. package/dist/skills/skeleton.md +40 -0
  341. package/dist/skills/splash-screen.md +60 -0
  342. package/dist/skills/switch.md +58 -0
  343. package/dist/skills/tooltip.md +38 -0
  344. package/dist/skills/visually-hidden.md +41 -0
  345. package/dist/slider.cjs +3 -3
  346. package/dist/slider.cjs.map +1 -1
  347. package/dist/slider.js +2 -2
  348. package/dist/sound.service-BjSoGjmT.cjs +1 -0
  349. package/dist/sound.service-BjSoGjmT.cjs.map +1 -0
  350. package/dist/sound.service-cdkw3Wkv.js +2353 -0
  351. package/dist/sound.service-cdkw3Wkv.js.map +1 -0
  352. package/dist/splash-screen-CquyPP1C.cjs +41 -0
  353. package/dist/splash-screen-CquyPP1C.cjs.map +1 -0
  354. package/dist/splash-screen-CvucPkpD.js +83 -0
  355. package/dist/splash-screen-CvucPkpD.js.map +1 -0
  356. package/dist/splash-screen.cjs +1 -0
  357. package/dist/splash-screen.js +1 -0
  358. package/dist/src-Bemk2C2P.cjs +269 -0
  359. package/dist/src-Bemk2C2P.cjs.map +1 -0
  360. package/dist/src-f5a3W9Mj.js +1251 -0
  361. package/dist/src-f5a3W9Mj.js.map +1 -0
  362. package/dist/steps.cjs +10 -10
  363. package/dist/steps.cjs.map +1 -1
  364. package/dist/steps.js +10 -9
  365. package/dist/steps.js.map +1 -1
  366. package/dist/store-Bmj6rvZY.js.map +1 -0
  367. package/dist/store-CO4nJyGj.cjs.map +1 -0
  368. package/dist/store.cjs +1 -1
  369. package/dist/store.js +1 -1
  370. package/dist/surface-CDufon40.cjs +7 -0
  371. package/dist/surface-CDufon40.cjs.map +1 -0
  372. package/dist/surface-CkEYJCae.js +22 -0
  373. package/dist/surface-CkEYJCae.js.map +1 -0
  374. package/dist/surface.cjs +1 -1
  375. package/dist/surface.js +1 -1
  376. package/dist/surface.mixin-CSKqQH-0.cjs +297 -0
  377. package/dist/surface.mixin-CSKqQH-0.cjs.map +1 -0
  378. package/dist/surface.mixin-DqMwoddO.js +320 -0
  379. package/dist/surface.mixin-DqMwoddO.js.map +1 -0
  380. package/dist/switch.cjs +69 -0
  381. package/dist/switch.cjs.map +1 -0
  382. package/dist/switch.js +132 -0
  383. package/dist/switch.js.map +1 -0
  384. package/dist/table-DWc1mkpj.cjs +63 -0
  385. package/dist/table-DWc1mkpj.cjs.map +1 -0
  386. package/dist/table-P6VGG7NK.js +631 -0
  387. package/dist/table-P6VGG7NK.js.map +1 -0
  388. package/dist/table.cjs +1 -1
  389. package/dist/table.js +1 -1
  390. package/dist/tabs-CjGjGrqY.js +126 -0
  391. package/dist/tabs-CjGjGrqY.js.map +1 -0
  392. package/dist/tabs-DGJEKuhC.cjs +31 -0
  393. package/dist/tabs-DGJEKuhC.cjs.map +1 -0
  394. package/dist/tabs.cjs +1 -1
  395. package/dist/tabs.js +1 -1
  396. package/dist/tailwind.mixin-Cpa-VnnX.cjs +2 -0
  397. package/dist/tailwind.mixin-Cpa-VnnX.cjs.map +1 -0
  398. package/dist/tailwind.mixin-DufHBjmb.js +219 -0
  399. package/dist/tailwind.mixin-DufHBjmb.js.map +1 -0
  400. package/dist/teleport.cjs +1 -1
  401. package/dist/teleport.js +1 -1
  402. package/dist/textarea-DZT_Ofp5.js +209 -0
  403. package/dist/textarea-DZT_Ofp5.js.map +1 -0
  404. package/dist/textarea-jmTOXrzl.cjs +39 -0
  405. package/dist/textarea-jmTOXrzl.cjs.map +1 -0
  406. package/dist/textarea.cjs +1 -1
  407. package/dist/textarea.js +1 -1
  408. package/dist/theme-CCKqaksQ.cjs +181 -0
  409. package/dist/theme-CCKqaksQ.cjs.map +1 -0
  410. package/dist/theme-CEc32pAv.js +4122 -0
  411. package/dist/theme-CEc32pAv.js.map +1 -0
  412. package/dist/theme-button-BsJcv-Zv.cjs +8 -0
  413. package/dist/theme-button-BsJcv-Zv.cjs.map +1 -0
  414. package/dist/theme-button-dOiAvdKU.js +20 -0
  415. package/dist/theme-button-dOiAvdKU.js.map +1 -0
  416. package/dist/theme-button.cjs +1 -1
  417. package/dist/theme-button.js +1 -1
  418. package/dist/theme.cjs +1 -1
  419. package/dist/theme.events-Bw3mYjUA.js.map +1 -0
  420. package/dist/theme.events-EznKK2Y0.cjs.map +1 -0
  421. package/dist/theme.interface-CM26m9te.cjs.map +1 -0
  422. package/dist/theme.interface-FAUIgbIq.js.map +1 -0
  423. package/dist/theme.js +5 -5
  424. package/dist/theme.service-ETiKUwVy.cjs +1 -0
  425. package/dist/theme.service-ETiKUwVy.cjs.map +1 -0
  426. package/dist/theme.service-_qP5WvB9.js +108 -0
  427. package/dist/theme.service-_qP5WvB9.js.map +1 -0
  428. package/dist/tooltip.cjs +1 -6
  429. package/dist/tooltip.cjs.map +1 -1
  430. package/dist/tooltip.js +51 -135
  431. package/dist/tooltip.js.map +1 -1
  432. package/dist/tree.cjs +14 -5
  433. package/dist/tree.cjs.map +1 -1
  434. package/dist/tree.js +28 -6
  435. package/dist/tree.js.map +1 -1
  436. package/dist/tslib.es6-Bd-92OW3.cjs +1 -0
  437. package/dist/tslib.es6-Bd-92OW3.cjs.map +1 -0
  438. package/dist/tslib.es6-CI1onEZb.js +7 -0
  439. package/dist/tslib.es6-CI1onEZb.js.map +1 -0
  440. package/dist/typewriter-ByIL2Mh-.cjs +123 -0
  441. package/dist/typewriter-ByIL2Mh-.cjs.map +1 -0
  442. package/dist/typewriter-vOQ3bDLb.js +701 -0
  443. package/dist/typewriter-vOQ3bDLb.js.map +1 -0
  444. package/dist/typewriter.cjs +1 -1
  445. package/dist/typewriter.js +1 -1
  446. package/dist/typography.cjs +4 -4
  447. package/dist/typography.cjs.map +1 -1
  448. package/dist/typography.js +10 -9
  449. package/dist/typography.js.map +1 -1
  450. package/dist/utils-Cq0m3LYo.js +259 -0
  451. package/dist/utils-Cq0m3LYo.js.map +1 -0
  452. package/dist/utils-D2kE-6zc.cjs +1 -0
  453. package/dist/utils-D2kE-6zc.cjs.map +1 -0
  454. package/dist/utils.cjs +1 -1
  455. package/dist/utils.js +5 -5
  456. package/dist/visually-hidden.cjs +13 -0
  457. package/dist/visually-hidden.cjs.map +1 -0
  458. package/dist/visually-hidden.js +24 -0
  459. package/dist/visually-hidden.js.map +1 -0
  460. package/dist/window-BS7ZQjgH.cjs +59 -0
  461. package/dist/window-BS7ZQjgH.cjs.map +1 -0
  462. package/dist/window-WnAihpsA.js +548 -0
  463. package/dist/window-WnAihpsA.js.map +1 -0
  464. package/dist/window.cjs +1 -1
  465. package/dist/window.js +1 -1
  466. package/mixins/formField.mixin.ts +96 -69
  467. package/mixins/tailwind.css +11 -0
  468. package/package.json +19 -28
  469. package/skills/schmancy/INDEX.md +73 -0
  470. package/skills/schmancy/SKILL.md +120 -0
  471. package/skills/schmancy/animation.md +64 -0
  472. package/skills/schmancy/area.md +141 -0
  473. package/skills/schmancy/audio.md +69 -0
  474. package/skills/schmancy/autocomplete.md +53 -0
  475. package/skills/schmancy/avatar.md +47 -0
  476. package/skills/schmancy/badge.md +41 -0
  477. package/skills/schmancy/boat.md +47 -0
  478. package/skills/schmancy/breadcrumb.md +53 -0
  479. package/skills/schmancy/busy.md +36 -0
  480. package/skills/schmancy/button.md +59 -0
  481. package/skills/schmancy/card.md +53 -0
  482. package/skills/schmancy/charts.md +93 -0
  483. package/skills/schmancy/checkbox.md +36 -0
  484. package/skills/schmancy/chips.md +87 -0
  485. package/skills/schmancy/code-highlight.md +47 -0
  486. package/skills/schmancy/connectivity.md +36 -0
  487. package/skills/schmancy/content-drawer.md +65 -0
  488. package/skills/schmancy/date-range-inline.md +44 -0
  489. package/skills/schmancy/date-range.md +50 -0
  490. package/skills/schmancy/delay.md +50 -0
  491. package/skills/schmancy/details.md +66 -0
  492. package/skills/schmancy/dialog.md +69 -0
  493. package/skills/schmancy/directives.md +298 -0
  494. package/skills/schmancy/discovery.md +67 -0
  495. package/skills/schmancy/divider.md +31 -0
  496. package/skills/schmancy/dropdown.md +47 -0
  497. package/skills/schmancy/expand.md +63 -0
  498. package/skills/schmancy/extra.md +59 -0
  499. package/skills/schmancy/float.md +14 -0
  500. package/skills/schmancy/form.md +49 -0
  501. package/skills/schmancy/icons.md +44 -0
  502. package/skills/schmancy/iframe.md +44 -0
  503. package/skills/schmancy/input.md +56 -0
  504. package/skills/schmancy/json.md +33 -0
  505. package/skills/schmancy/kbd.md +40 -0
  506. package/skills/schmancy/layout.md +63 -0
  507. package/skills/schmancy/lightbox.md +36 -0
  508. package/skills/schmancy/list.md +67 -0
  509. package/skills/schmancy/mailbox.md +102 -0
  510. package/skills/schmancy/map.md +55 -0
  511. package/skills/schmancy/menu.md +39 -0
  512. package/skills/schmancy/mixins.md +99 -0
  513. package/skills/schmancy/nav-drawer.md +52 -0
  514. package/skills/schmancy/navigation-bar.md +48 -0
  515. package/skills/schmancy/navigation-rail.md +62 -0
  516. package/skills/schmancy/notification.md +60 -0
  517. package/skills/schmancy/option.md +43 -0
  518. package/skills/schmancy/page.md +42 -0
  519. package/skills/schmancy/progress.md +30 -0
  520. package/skills/schmancy/qr-scanner.md +51 -0
  521. package/skills/schmancy/radio-group.md +50 -0
  522. package/skills/schmancy/range.md +47 -0
  523. package/skills/schmancy/rxjs-utils.md +60 -0
  524. package/skills/schmancy/select.md +49 -0
  525. package/skills/schmancy/sheet.md +76 -0
  526. package/skills/schmancy/skeleton.md +40 -0
  527. package/skills/schmancy/slider.md +43 -0
  528. package/skills/schmancy/splash-screen.md +60 -0
  529. package/skills/schmancy/steps.md +53 -0
  530. package/skills/schmancy/store.md +126 -0
  531. package/skills/schmancy/surface.md +86 -0
  532. package/skills/schmancy/switch.md +58 -0
  533. package/skills/schmancy/table.md +60 -0
  534. package/skills/schmancy/tabs.md +49 -0
  535. package/skills/schmancy/teleport.md +55 -0
  536. package/skills/schmancy/textarea.md +48 -0
  537. package/skills/schmancy/theme-button.md +26 -0
  538. package/skills/schmancy/theme.md +58 -0
  539. package/skills/schmancy/tooltip.md +38 -0
  540. package/skills/schmancy/tree.md +53 -0
  541. package/skills/schmancy/typewriter.md +46 -0
  542. package/skills/schmancy/typography.md +53 -0
  543. package/skills/schmancy/utils.md +95 -0
  544. package/skills/schmancy/visually-hidden.md +41 -0
  545. package/skills/schmancy/window.md +67 -0
  546. package/src/audio/emotional-sounds.ts +2 -4
  547. package/src/autocomplete/autocomplete.ts +52 -2
  548. package/src/breadcrumb/breadcrumb.ts +109 -0
  549. package/src/breadcrumb/index.ts +1 -0
  550. package/src/button/button.ts +40 -0
  551. package/src/button/icon-button.ts +2 -1
  552. package/src/checkbox/checkbox.test.ts +113 -0
  553. package/src/checkbox/checkbox.ts +41 -1
  554. package/src/chips/filter-chip.ts +15 -0
  555. package/src/chips/input-chip.ts +7 -0
  556. package/src/date-range/date-range-helpers.ts +0 -71
  557. package/src/dialog/dialog-base.mixin.ts +11 -0
  558. package/src/dialog/dialog.component.ts +28 -8
  559. package/src/dropdown/dropdown-content.ts +3 -1
  560. package/src/form/form.test.ts +137 -0
  561. package/src/form/form.ts +142 -158
  562. package/src/form/index.ts +2 -2
  563. package/src/icons/icon.ts +1 -0
  564. package/src/index.ts +6 -0
  565. package/src/kbd/index.ts +1 -0
  566. package/src/kbd/kbd.ts +59 -0
  567. package/src/skeleton/index.ts +1 -0
  568. package/src/skeleton/skeleton.ts +78 -0
  569. package/src/splash-screen/index.ts +1 -0
  570. package/src/splash-screen/splash-screen.ts +154 -0
  571. package/src/switch/index.ts +1 -0
  572. package/src/switch/switch.test.ts +93 -0
  573. package/src/switch/switch.ts +180 -0
  574. package/src/test-utils/a11y.ts +35 -0
  575. package/src/textarea/textarea.ts +32 -2
  576. package/src/tooltip/index.ts +1 -2
  577. package/src/tree/tree.ts +27 -2
  578. package/src/visually-hidden/index.ts +1 -0
  579. package/src/visually-hidden/visually-hidden.ts +39 -0
  580. package/src/window/window-position.ts +1 -74
  581. package/types/mixins/formField.mixin.d.ts +15 -8
  582. package/types/src/audio/emotional-sounds.d.ts +0 -2
  583. package/types/src/autocomplete/autocomplete.d.ts +7 -0
  584. package/types/src/breadcrumb/breadcrumb.d.ts +38 -0
  585. package/types/src/breadcrumb/index.d.ts +1 -0
  586. package/types/src/button/button.d.ts +7 -0
  587. package/types/src/button/icon-button.d.ts +2 -1
  588. package/types/src/checkbox/checkbox.d.ts +6 -0
  589. package/types/src/checkbox/checkbox.test.d.ts +1 -0
  590. package/types/src/chips/filter-chip.d.ts +3 -0
  591. package/types/src/chips/input-chip.d.ts +1 -0
  592. package/types/src/date-range/date-range-helpers.d.ts +0 -12
  593. package/types/src/dialog/dialog.component.d.ts +6 -0
  594. package/types/src/dropdown/dropdown-content.d.ts +3 -1
  595. package/types/src/form/form-v2.d.ts +12 -63
  596. package/types/src/form/form.d.ts +58 -40
  597. package/types/src/form/form.test.d.ts +4 -0
  598. package/types/src/form/index.d.ts +1 -1
  599. package/types/src/icons/icon.d.ts +1 -0
  600. package/types/src/index.d.ts +6 -0
  601. package/types/src/kbd/index.d.ts +1 -0
  602. package/types/src/kbd/kbd.d.ts +25 -0
  603. package/types/src/skeleton/index.d.ts +1 -0
  604. package/types/src/skeleton/skeleton.d.ts +27 -0
  605. package/types/src/splash-screen/index.d.ts +1 -0
  606. package/types/src/splash-screen/splash-screen.d.ts +60 -0
  607. package/types/src/switch/index.d.ts +1 -0
  608. package/types/src/switch/switch.d.ts +54 -0
  609. package/types/src/switch/switch.test.d.ts +1 -0
  610. package/types/src/test-utils/a11y.d.ts +11 -0
  611. package/types/src/textarea/textarea.d.ts +5 -1
  612. package/types/src/tooltip/index.d.ts +0 -1
  613. package/types/src/tree/tree.d.ts +5 -0
  614. package/types/src/visually-hidden/index.d.ts +1 -0
  615. package/types/src/visually-hidden/visually-hidden.d.ts +21 -0
  616. package/types/src/window/window-position.d.ts +1 -35
  617. package/ai/INDEX.md +0 -72
  618. package/ai/tooltip.md +0 -38
  619. package/dist/ai/INDEX.md +0 -72
  620. package/dist/ai/tooltip.md +0 -38
  621. package/dist/animation-BK-8BwY8.js.map +0 -1
  622. package/dist/animation-CO_Csq84.cjs.map +0 -1
  623. package/dist/area-CRoGqD_u.js +0 -590
  624. package/dist/area-CRoGqD_u.js.map +0 -1
  625. package/dist/area-JPykB7A9.cjs +0 -12
  626. package/dist/area-JPykB7A9.cjs.map +0 -1
  627. package/dist/audio-DtYYgzYD.cjs +0 -1
  628. package/dist/audio-DtYYgzYD.cjs.map +0 -1
  629. package/dist/audio-kz8UgPTO.js +0 -335
  630. package/dist/audio-kz8UgPTO.js.map +0 -1
  631. package/dist/autocomplete-5rVhbieU.cjs +0 -111
  632. package/dist/autocomplete-5rVhbieU.cjs.map +0 -1
  633. package/dist/autocomplete-BllPQwr8.js +0 -378
  634. package/dist/autocomplete-BllPQwr8.js.map +0 -1
  635. package/dist/boat-BDTQ-du9.js +0 -347
  636. package/dist/boat-BDTQ-du9.js.map +0 -1
  637. package/dist/boat-DYEAZ8Qj.cjs +0 -80
  638. package/dist/boat-DYEAZ8Qj.cjs.map +0 -1
  639. package/dist/busy-ChDAeaKF.js +0 -167
  640. package/dist/busy-ChDAeaKF.js.map +0 -1
  641. package/dist/busy-Dj7Xn0Z0.cjs +0 -134
  642. package/dist/busy-Dj7Xn0Z0.cjs.map +0 -1
  643. package/dist/card-BvPWVEJX.cjs +0 -177
  644. package/dist/card-BvPWVEJX.cjs.map +0 -1
  645. package/dist/card-DZFPRPqs.js +0 -284
  646. package/dist/card-DZFPRPqs.js.map +0 -1
  647. package/dist/checkbox-BC_37rsG.cjs +0 -39
  648. package/dist/checkbox-BC_37rsG.cjs.map +0 -1
  649. package/dist/checkbox-GSSjqo6w.js +0 -610
  650. package/dist/checkbox-GSSjqo6w.js.map +0 -1
  651. package/dist/chips-B19XS8Xc.cjs +0 -253
  652. package/dist/chips-B19XS8Xc.cjs.map +0 -1
  653. package/dist/chips-B9oAEfE_.js +0 -645
  654. package/dist/chips-B9oAEfE_.js.map +0 -1
  655. package/dist/code-highlight-DCk5lJY-.js +0 -290
  656. package/dist/code-highlight-DCk5lJY-.js.map +0 -1
  657. package/dist/code-highlight-fSLrlgOb.cjs +0 -190
  658. package/dist/code-highlight-fSLrlgOb.cjs.map +0 -1
  659. package/dist/components-COsM6sJZ.js +0 -730
  660. package/dist/components-COsM6sJZ.js.map +0 -1
  661. package/dist/components-CyD6a7gQ.cjs +0 -73
  662. package/dist/components-CyD6a7gQ.cjs.map +0 -1
  663. package/dist/cursor-glow-Ah7VXSj7.js +0 -46
  664. package/dist/cursor-glow-Ah7VXSj7.js.map +0 -1
  665. package/dist/cursor-glow-DtSy_PJd.cjs +0 -1
  666. package/dist/cursor-glow-DtSy_PJd.cjs.map +0 -1
  667. package/dist/date-range-Sfyco9-n.js +0 -946
  668. package/dist/date-range-Sfyco9-n.js.map +0 -1
  669. package/dist/date-range-ZAaQB22I.cjs +0 -131
  670. package/dist/date-range-ZAaQB22I.cjs.map +0 -1
  671. package/dist/date-range-inline-Bl8qbiQF.js +0 -267
  672. package/dist/date-range-inline-Bl8qbiQF.js.map +0 -1
  673. package/dist/date-range-inline-m7nLjOMI.cjs +0 -43
  674. package/dist/date-range-inline-m7nLjOMI.cjs.map +0 -1
  675. package/dist/delay-7boauN6N.cjs +0 -9
  676. package/dist/delay-7boauN6N.cjs.map +0 -1
  677. package/dist/delay-CgX6m0HN.js +0 -346
  678. package/dist/delay-CgX6m0HN.js.map +0 -1
  679. package/dist/details-BHnk8l4q.cjs +0 -168
  680. package/dist/details-BHnk8l4q.cjs.map +0 -1
  681. package/dist/details-BPkUg8Cq.js +0 -293
  682. package/dist/details-BPkUg8Cq.js.map +0 -1
  683. package/dist/dialog-service-NZEvyEK-.js +0 -193
  684. package/dist/dialog-service-NZEvyEK-.js.map +0 -1
  685. package/dist/dialog-service-VnW4gkmE.cjs +0 -1
  686. package/dist/dialog-service-VnW4gkmE.cjs.map +0 -1
  687. package/dist/divider-CW9a7MMj.js +0 -87
  688. package/dist/divider-CW9a7MMj.js.map +0 -1
  689. package/dist/divider-_khrhrZo.cjs +0 -57
  690. package/dist/divider-_khrhrZo.cjs.map +0 -1
  691. package/dist/expand-Cp7-PH8b.cjs +0 -141
  692. package/dist/expand-Cp7-PH8b.cjs.map +0 -1
  693. package/dist/expand-iQ7EOMP7.js +0 -336
  694. package/dist/expand-iQ7EOMP7.js.map +0 -1
  695. package/dist/extra-IKAiJJhv.cjs +0 -31
  696. package/dist/extra-IKAiJJhv.cjs.map +0 -1
  697. package/dist/extra-wEpvEFbK.js +0 -3435
  698. package/dist/extra-wEpvEFbK.js.map +0 -1
  699. package/dist/float-BQ_urmMs.js +0 -5
  700. package/dist/float-BQ_urmMs.js.map +0 -1
  701. package/dist/float-D5rNC82i.cjs +0 -1
  702. package/dist/float-D5rNC82i.cjs.map +0 -1
  703. package/dist/flow-Bbwn6dRN.cjs.map +0 -1
  704. package/dist/flow-CUj0fDT_.js.map +0 -1
  705. package/dist/form-BqN1AGFj.cjs +0 -1
  706. package/dist/form-BqN1AGFj.cjs.map +0 -1
  707. package/dist/form-CajC5HnO.js +0 -270
  708. package/dist/form-CajC5HnO.js.map +0 -1
  709. package/dist/hashContent-DYM21p6t.js.map +0 -1
  710. package/dist/hashContent-DaeGmY-p.cjs.map +0 -1
  711. package/dist/icons-B57_93VV.cjs +0 -52
  712. package/dist/icons-B57_93VV.cjs.map +0 -1
  713. package/dist/icons-BDqiGXrO.js +0 -161
  714. package/dist/icons-BDqiGXrO.js.map +0 -1
  715. package/dist/iframe-DNHL3GIk.cjs +0 -24
  716. package/dist/iframe-DNHL3GIk.cjs.map +0 -1
  717. package/dist/iframe-WnWPIrBG.js +0 -44
  718. package/dist/iframe-WnWPIrBG.js.map +0 -1
  719. package/dist/input-BiSrTcrR.cjs +0 -51
  720. package/dist/input-BiSrTcrR.cjs.map +0 -1
  721. package/dist/input-VaXHFrRn.js +0 -364
  722. package/dist/input-VaXHFrRn.js.map +0 -1
  723. package/dist/input-chip-Dy-AiP55.cjs +0 -146
  724. package/dist/input-chip-Dy-AiP55.cjs.map +0 -1
  725. package/dist/input-chip-QejNcRnS.js +0 -301
  726. package/dist/input-chip-QejNcRnS.js.map +0 -1
  727. package/dist/intersection-BPLpqYEd.js.map +0 -1
  728. package/dist/intersection-CZpaIHeT.cjs.map +0 -1
  729. package/dist/layout-4C-6_cre.cjs +0 -1
  730. package/dist/layout-4C-6_cre.cjs.map +0 -1
  731. package/dist/layout-CnsXeCAy.js +0 -267
  732. package/dist/layout-CnsXeCAy.js.map +0 -1
  733. package/dist/layout-DNYG3phx.cjs +0 -17
  734. package/dist/layout-DNYG3phx.cjs.map +0 -1
  735. package/dist/layout-yxSlLybo.js +0 -94
  736. package/dist/layout-yxSlLybo.js.map +0 -1
  737. package/dist/lightbox-BrI1Z31s.js +0 -678
  738. package/dist/lightbox-BrI1Z31s.js.map +0 -1
  739. package/dist/lightbox-CmACf0t5.cjs +0 -202
  740. package/dist/lightbox-CmACf0t5.cjs.map +0 -1
  741. package/dist/list-Cm-jjXxM.js +0 -105
  742. package/dist/list-Cm-jjXxM.js.map +0 -1
  743. package/dist/list-swIL9VDv.cjs +0 -40
  744. package/dist/list-swIL9VDv.cjs.map +0 -1
  745. package/dist/litElement.mixin-3llHwB-8.cjs +0 -1
  746. package/dist/litElement.mixin-3llHwB-8.cjs.map +0 -1
  747. package/dist/litElement.mixin-6jJYHCrZ.js +0 -12
  748. package/dist/litElement.mixin-6jJYHCrZ.js.map +0 -1
  749. package/dist/magnetic-BZGFxAWG.js +0 -47
  750. package/dist/magnetic-BZGFxAWG.js.map +0 -1
  751. package/dist/magnetic-Dux4QwO4.cjs +0 -1
  752. package/dist/magnetic-Dux4QwO4.cjs.map +0 -1
  753. package/dist/mailbox-BuvsVaAQ.js +0 -1584
  754. package/dist/mailbox-BuvsVaAQ.js.map +0 -1
  755. package/dist/mailbox-D6LkQcN5.cjs +0 -1142
  756. package/dist/mailbox-D6LkQcN5.cjs.map +0 -1
  757. package/dist/map-CQiKAxC3.js +0 -205
  758. package/dist/map-CQiKAxC3.js.map +0 -1
  759. package/dist/map-D5NN4VET.cjs +0 -80
  760. package/dist/map-D5NN4VET.cjs.map +0 -1
  761. package/dist/menu-C1x04YZw.js +0 -51
  762. package/dist/menu-C1x04YZw.js.map +0 -1
  763. package/dist/menu-CkgMO9K5.cjs +0 -23
  764. package/dist/menu-CkgMO9K5.cjs.map +0 -1
  765. package/dist/notification-BnBgxjF-.js +0 -304
  766. package/dist/notification-BnBgxjF-.js.map +0 -1
  767. package/dist/notification-CZFEhWxc.cjs +0 -23
  768. package/dist/notification-CZFEhWxc.cjs.map +0 -1
  769. package/dist/option-BrxCVwSx.cjs +0 -43
  770. package/dist/option-BrxCVwSx.cjs.map +0 -1
  771. package/dist/option-DBO8xZwd.js +0 -97
  772. package/dist/option-DBO8xZwd.js.map +0 -1
  773. package/dist/overlay-stack-DQey9Qph.cjs.map +0 -1
  774. package/dist/overlay-stack-DT1SdaGW.js.map +0 -1
  775. package/dist/progress-Db2e4_Zd.cjs +0 -51
  776. package/dist/progress-Db2e4_Zd.cjs.map +0 -1
  777. package/dist/progress-DeiHxXo7.js +0 -128
  778. package/dist/progress-DeiHxXo7.js.map +0 -1
  779. package/dist/provide-C1aQhxYo.js +0 -107
  780. package/dist/provide-C1aQhxYo.js.map +0 -1
  781. package/dist/provide-DHnhQtCH.cjs +0 -1
  782. package/dist/provide-DHnhQtCH.cjs.map +0 -1
  783. package/dist/radio-group-Cspwd-Vw.cjs +0 -40
  784. package/dist/radio-group-Cspwd-Vw.cjs.map +0 -1
  785. package/dist/radio-group-zSO0AkJf.js +0 -105
  786. package/dist/radio-group-zSO0AkJf.js.map +0 -1
  787. package/dist/reduced-motion-D-L12p7G.js.map +0 -1
  788. package/dist/reduced-motion-Ds05GPyz.cjs.map +0 -1
  789. package/dist/rxjs-utils-BSjmI9-Q.js.map +0 -1
  790. package/dist/rxjs-utils-DCsfzeap.cjs.map +0 -1
  791. package/dist/scroll-QMCmbbDv.cjs +0 -26
  792. package/dist/scroll-QMCmbbDv.cjs.map +0 -1
  793. package/dist/scroll-cBDzye64.js +0 -112
  794. package/dist/scroll-cBDzye64.js.map +0 -1
  795. package/dist/search-C4dFHYbX.js.map +0 -1
  796. package/dist/search-Ds8tt7Et.cjs.map +0 -1
  797. package/dist/select-Ct37l3lg.cjs +0 -56
  798. package/dist/select-Ct37l3lg.cjs.map +0 -1
  799. package/dist/select-c6HbWvKP.js +0 -305
  800. package/dist/select-c6HbWvKP.js.map +0 -1
  801. package/dist/sheet-BMXcUiIm.js +0 -168
  802. package/dist/sheet-BMXcUiIm.js.map +0 -1
  803. package/dist/sheet-CQec-bCV.cjs +0 -35
  804. package/dist/sheet-CQec-bCV.cjs.map +0 -1
  805. package/dist/sheet.service-BcPV3Du4.js +0 -86
  806. package/dist/sheet.service-BcPV3Du4.js.map +0 -1
  807. package/dist/sheet.service-Dumvr1HT.cjs +0 -1
  808. package/dist/sheet.service-Dumvr1HT.cjs.map +0 -1
  809. package/dist/sound.service-Bu3EQLv2.cjs +0 -1
  810. package/dist/sound.service-Bu3EQLv2.cjs.map +0 -1
  811. package/dist/sound.service-m3BrSfuH.js +0 -2353
  812. package/dist/sound.service-m3BrSfuH.js.map +0 -1
  813. package/dist/src-BLngW2bl.js +0 -1244
  814. package/dist/src-BLngW2bl.js.map +0 -1
  815. package/dist/src-BtQVyqMy.cjs +0 -269
  816. package/dist/src-BtQVyqMy.cjs.map +0 -1
  817. package/dist/store-CorvD3bT.cjs.map +0 -1
  818. package/dist/store-DYqDLAvT.js.map +0 -1
  819. package/dist/surface-BjKZoJxK.cjs +0 -7
  820. package/dist/surface-BjKZoJxK.cjs.map +0 -1
  821. package/dist/surface-pK8hME5c.js +0 -21
  822. package/dist/surface-pK8hME5c.js.map +0 -1
  823. package/dist/surface.mixin-C5sDI1-_.cjs +0 -297
  824. package/dist/surface.mixin-C5sDI1-_.cjs.map +0 -1
  825. package/dist/surface.mixin-CBNRpJum.js +0 -320
  826. package/dist/surface.mixin-CBNRpJum.js.map +0 -1
  827. package/dist/table-BXIHX9h4.js +0 -631
  828. package/dist/table-BXIHX9h4.js.map +0 -1
  829. package/dist/table-CiqgZzSd.cjs +0 -63
  830. package/dist/table-CiqgZzSd.cjs.map +0 -1
  831. package/dist/tabs-CKa-W4qA.cjs +0 -31
  832. package/dist/tabs-CKa-W4qA.cjs.map +0 -1
  833. package/dist/tabs-nbV5eblZ.js +0 -125
  834. package/dist/tabs-nbV5eblZ.js.map +0 -1
  835. package/dist/tailwind.mixin-BCJOOX1_.js +0 -225
  836. package/dist/tailwind.mixin-BCJOOX1_.js.map +0 -1
  837. package/dist/tailwind.mixin-BF1Huas7.cjs +0 -2
  838. package/dist/tailwind.mixin-BF1Huas7.cjs.map +0 -1
  839. package/dist/textarea-Cp1ZE60O.cjs +0 -35
  840. package/dist/textarea-Cp1ZE60O.cjs.map +0 -1
  841. package/dist/textarea-D7q8exMg.js +0 -195
  842. package/dist/textarea-D7q8exMg.js.map +0 -1
  843. package/dist/theme-Da4SPq9X.cjs +0 -181
  844. package/dist/theme-Da4SPq9X.cjs.map +0 -1
  845. package/dist/theme-_VPV6Bxh.js +0 -4121
  846. package/dist/theme-_VPV6Bxh.js.map +0 -1
  847. package/dist/theme-button--sX8A-m1.js +0 -19
  848. package/dist/theme-button--sX8A-m1.js.map +0 -1
  849. package/dist/theme-button-Ci8VQ7KW.cjs +0 -8
  850. package/dist/theme-button-Ci8VQ7KW.cjs.map +0 -1
  851. package/dist/theme.events-Cv7N4Toe.js.map +0 -1
  852. package/dist/theme.events-DM4H5F2d.cjs.map +0 -1
  853. package/dist/theme.interface-CXloMUCw.js.map +0 -1
  854. package/dist/theme.interface-Da23QAYb.cjs.map +0 -1
  855. package/dist/theme.service-C_tjlqgy.cjs +0 -1
  856. package/dist/theme.service-C_tjlqgy.cjs.map +0 -1
  857. package/dist/theme.service-D9lEas89.js +0 -108
  858. package/dist/theme.service-D9lEas89.js.map +0 -1
  859. package/dist/tslib.es6-D7BIeDVB.cjs.map +0 -1
  860. package/dist/tslib.es6-ErZEp3OO.js.map +0 -1
  861. package/dist/typewriter-B2TnHPjw.cjs +0 -123
  862. package/dist/typewriter-B2TnHPjw.cjs.map +0 -1
  863. package/dist/typewriter-BrZNa8T-.js +0 -700
  864. package/dist/typewriter-BrZNa8T-.js.map +0 -1
  865. package/dist/utils-BcaKtQuA.cjs +0 -1
  866. package/dist/utils-BcaKtQuA.cjs.map +0 -1
  867. package/dist/utils-CoU7M2YS.js +0 -259
  868. package/dist/utils-CoU7M2YS.js.map +0 -1
  869. package/dist/window-CM1ycigo.js +0 -548
  870. package/dist/window-CM1ycigo.js.map +0 -1
  871. package/dist/window-Uii13x_r.cjs +0 -59
  872. package/dist/window-Uii13x_r.cjs.map +0 -1
  873. package/src/form/form-v2.ts +0 -268
  874. package/src/layout/v2/grid.ts +0 -93
  875. package/src/notification/outlet.ts +0 -16
  876. package/src/store/immer-integration.ts +0 -99
  877. package/src/tooltip/tooltip.ts +0 -216
  878. /package/dist/{animation-CO_Csq84.cjs → animation-Bcwh107v.cjs} +0 -0
  879. /package/dist/{animation-BK-8BwY8.js → animation-CXKSuUoE.js} +0 -0
  880. /package/dist/{tslib.es6-ErZEp3OO.js → decorate-D_utPUsC.js} +0 -0
  881. /package/dist/{tslib.es6-D7BIeDVB.cjs → decorate-F9CuyeHg.cjs} +0 -0
  882. /package/dist/{flow-CUj0fDT_.js → flow-CqgDEIqK.js} +0 -0
  883. /package/dist/{flow-Bbwn6dRN.cjs → flow-DSu4PLt1.cjs} +0 -0
  884. /package/dist/{hashContent-DaeGmY-p.cjs → hashContent-kKvXKFa9.cjs} +0 -0
  885. /package/dist/{hashContent-DYM21p6t.js → hashContent-nD2uWwi2.js} +0 -0
  886. /package/dist/{intersection-CZpaIHeT.cjs → intersection-D1v1UCVv.cjs} +0 -0
  887. /package/dist/{intersection-BPLpqYEd.js → intersection-LfEsy29T.js} +0 -0
  888. /package/dist/{overlay-stack-DQey9Qph.cjs → overlay-stack-CEYGD9T1.cjs} +0 -0
  889. /package/dist/{overlay-stack-DT1SdaGW.js → overlay-stack-Ca4EK2Mu.js} +0 -0
  890. /package/dist/{reduced-motion-D-L12p7G.js → reduced-motion-B83yZbcO.js} +0 -0
  891. /package/dist/{reduced-motion-Ds05GPyz.cjs → reduced-motion-DR32yKEO.cjs} +0 -0
  892. /package/dist/{rxjs-utils-BSjmI9-Q.js → rxjs-utils-Bldch1RO.js} +0 -0
  893. /package/dist/{rxjs-utils-DCsfzeap.cjs → rxjs-utils-hAgKC7vk.cjs} +0 -0
  894. /package/dist/{search-C4dFHYbX.js → search-BlGJ6uJv.js} +0 -0
  895. /package/dist/{search-Ds8tt7Et.cjs → search-C8eAOzBm.cjs} +0 -0
  896. /package/{ai → dist/skills}/animation.md +0 -0
  897. /package/{ai → dist/skills}/area.md +0 -0
  898. /package/{ai → dist/skills}/audio.md +0 -0
  899. /package/{ai → dist/skills}/autocomplete.md +0 -0
  900. /package/{ai → dist/skills}/avatar.md +0 -0
  901. /package/{ai → dist/skills}/badge.md +0 -0
  902. /package/{ai → dist/skills}/boat.md +0 -0
  903. /package/{ai → dist/skills}/busy.md +0 -0
  904. /package/{ai → dist/skills}/button.md +0 -0
  905. /package/{ai → dist/skills}/card.md +0 -0
  906. /package/{ai → dist/skills}/charts.md +0 -0
  907. /package/{ai → dist/skills}/checkbox.md +0 -0
  908. /package/{ai → dist/skills}/chips.md +0 -0
  909. /package/{ai → dist/skills}/code-highlight.md +0 -0
  910. /package/{ai → dist/skills}/connectivity.md +0 -0
  911. /package/{ai → dist/skills}/content-drawer.md +0 -0
  912. /package/{ai → dist/skills}/date-range-inline.md +0 -0
  913. /package/{ai → dist/skills}/date-range.md +0 -0
  914. /package/{ai → dist/skills}/delay.md +0 -0
  915. /package/{ai → dist/skills}/details.md +0 -0
  916. /package/{ai → dist/skills}/dialog.md +0 -0
  917. /package/{ai → dist/skills}/directives.md +0 -0
  918. /package/{ai → dist/skills}/discovery.md +0 -0
  919. /package/{ai → dist/skills}/divider.md +0 -0
  920. /package/{ai → dist/skills}/dropdown.md +0 -0
  921. /package/{ai → dist/skills}/expand.md +0 -0
  922. /package/{ai → dist/skills}/extra.md +0 -0
  923. /package/{ai → dist/skills}/float.md +0 -0
  924. /package/{ai → dist/skills}/form.md +0 -0
  925. /package/{ai → dist/skills}/icons.md +0 -0
  926. /package/{ai → dist/skills}/iframe.md +0 -0
  927. /package/{ai → dist/skills}/input.md +0 -0
  928. /package/{ai → dist/skills}/json.md +0 -0
  929. /package/{ai → dist/skills}/layout.md +0 -0
  930. /package/{ai → dist/skills}/lightbox.md +0 -0
  931. /package/{ai → dist/skills}/list.md +0 -0
  932. /package/{ai → dist/skills}/mailbox.md +0 -0
  933. /package/{ai → dist/skills}/map.md +0 -0
  934. /package/{ai → dist/skills}/menu.md +0 -0
  935. /package/{ai → dist/skills}/mixins.md +0 -0
  936. /package/{ai → dist/skills}/nav-drawer.md +0 -0
  937. /package/{ai → dist/skills}/navigation-bar.md +0 -0
  938. /package/{ai → dist/skills}/navigation-rail.md +0 -0
  939. /package/{ai → dist/skills}/notification.md +0 -0
  940. /package/{ai → dist/skills}/option.md +0 -0
  941. /package/{ai → dist/skills}/page.md +0 -0
  942. /package/{ai → dist/skills}/progress.md +0 -0
  943. /package/{ai → dist/skills}/qr-scanner.md +0 -0
  944. /package/{ai → dist/skills}/radio-group.md +0 -0
  945. /package/{ai → dist/skills}/range.md +0 -0
  946. /package/{ai → dist/skills}/rxjs-utils.md +0 -0
  947. /package/dist/{ai → skills/schmancy}/animation.md +0 -0
  948. /package/dist/{ai → skills/schmancy}/area.md +0 -0
  949. /package/dist/{ai → skills/schmancy}/audio.md +0 -0
  950. /package/dist/{ai → skills/schmancy}/autocomplete.md +0 -0
  951. /package/dist/{ai → skills/schmancy}/avatar.md +0 -0
  952. /package/dist/{ai → skills/schmancy}/badge.md +0 -0
  953. /package/dist/{ai → skills/schmancy}/boat.md +0 -0
  954. /package/dist/{ai → skills/schmancy}/busy.md +0 -0
  955. /package/dist/{ai → skills/schmancy}/button.md +0 -0
  956. /package/dist/{ai → skills/schmancy}/card.md +0 -0
  957. /package/dist/{ai → skills/schmancy}/charts.md +0 -0
  958. /package/dist/{ai → skills/schmancy}/checkbox.md +0 -0
  959. /package/dist/{ai → skills/schmancy}/chips.md +0 -0
  960. /package/dist/{ai → skills/schmancy}/code-highlight.md +0 -0
  961. /package/dist/{ai → skills/schmancy}/connectivity.md +0 -0
  962. /package/dist/{ai → skills/schmancy}/content-drawer.md +0 -0
  963. /package/dist/{ai → skills/schmancy}/date-range-inline.md +0 -0
  964. /package/dist/{ai → skills/schmancy}/date-range.md +0 -0
  965. /package/dist/{ai → skills/schmancy}/delay.md +0 -0
  966. /package/dist/{ai → skills/schmancy}/details.md +0 -0
  967. /package/dist/{ai → skills/schmancy}/dialog.md +0 -0
  968. /package/dist/{ai → skills/schmancy}/directives.md +0 -0
  969. /package/dist/{ai → skills/schmancy}/discovery.md +0 -0
  970. /package/dist/{ai → skills/schmancy}/divider.md +0 -0
  971. /package/dist/{ai → skills/schmancy}/dropdown.md +0 -0
  972. /package/dist/{ai → skills/schmancy}/expand.md +0 -0
  973. /package/dist/{ai → skills/schmancy}/extra.md +0 -0
  974. /package/dist/{ai → skills/schmancy}/float.md +0 -0
  975. /package/dist/{ai → skills/schmancy}/form.md +0 -0
  976. /package/dist/{ai → skills/schmancy}/icons.md +0 -0
  977. /package/dist/{ai → skills/schmancy}/iframe.md +0 -0
  978. /package/dist/{ai → skills/schmancy}/input.md +0 -0
  979. /package/dist/{ai → skills/schmancy}/json.md +0 -0
  980. /package/dist/{ai → skills/schmancy}/layout.md +0 -0
  981. /package/dist/{ai → skills/schmancy}/lightbox.md +0 -0
  982. /package/dist/{ai → skills/schmancy}/list.md +0 -0
  983. /package/dist/{ai → skills/schmancy}/mailbox.md +0 -0
  984. /package/dist/{ai → skills/schmancy}/map.md +0 -0
  985. /package/dist/{ai → skills/schmancy}/menu.md +0 -0
  986. /package/dist/{ai → skills/schmancy}/mixins.md +0 -0
  987. /package/dist/{ai → skills/schmancy}/nav-drawer.md +0 -0
  988. /package/dist/{ai → skills/schmancy}/navigation-bar.md +0 -0
  989. /package/dist/{ai → skills/schmancy}/navigation-rail.md +0 -0
  990. /package/dist/{ai → skills/schmancy}/notification.md +0 -0
  991. /package/dist/{ai → skills/schmancy}/option.md +0 -0
  992. /package/dist/{ai → skills/schmancy}/page.md +0 -0
  993. /package/dist/{ai → skills/schmancy}/progress.md +0 -0
  994. /package/dist/{ai → skills/schmancy}/qr-scanner.md +0 -0
  995. /package/dist/{ai → skills/schmancy}/radio-group.md +0 -0
  996. /package/dist/{ai → skills/schmancy}/range.md +0 -0
  997. /package/dist/{ai → skills/schmancy}/rxjs-utils.md +0 -0
  998. /package/{ai → dist/skills/schmancy}/select.md +0 -0
  999. /package/{ai → dist/skills/schmancy}/sheet.md +0 -0
  1000. /package/{ai → dist/skills/schmancy}/slider.md +0 -0
  1001. /package/{ai → dist/skills/schmancy}/steps.md +0 -0
  1002. /package/{ai → dist/skills/schmancy}/store.md +0 -0
  1003. /package/{ai → dist/skills/schmancy}/surface.md +0 -0
  1004. /package/{ai → dist/skills/schmancy}/table.md +0 -0
  1005. /package/{ai → dist/skills/schmancy}/tabs.md +0 -0
  1006. /package/{ai → dist/skills/schmancy}/teleport.md +0 -0
  1007. /package/{ai → dist/skills/schmancy}/textarea.md +0 -0
  1008. /package/{ai → dist/skills/schmancy}/theme-button.md +0 -0
  1009. /package/{ai → dist/skills/schmancy}/theme.md +0 -0
  1010. /package/{ai → dist/skills/schmancy}/tree.md +0 -0
  1011. /package/{ai → dist/skills/schmancy}/typewriter.md +0 -0
  1012. /package/{ai → dist/skills/schmancy}/typography.md +0 -0
  1013. /package/{ai → dist/skills/schmancy}/utils.md +0 -0
  1014. /package/{ai → dist/skills/schmancy}/window.md +0 -0
  1015. /package/dist/{ai → skills}/select.md +0 -0
  1016. /package/dist/{ai → skills}/sheet.md +0 -0
  1017. /package/dist/{ai → skills}/slider.md +0 -0
  1018. /package/dist/{ai → skills}/steps.md +0 -0
  1019. /package/dist/{ai → skills}/store.md +0 -0
  1020. /package/dist/{ai → skills}/surface.md +0 -0
  1021. /package/dist/{ai → skills}/table.md +0 -0
  1022. /package/dist/{ai → skills}/tabs.md +0 -0
  1023. /package/dist/{ai → skills}/teleport.md +0 -0
  1024. /package/dist/{ai → skills}/textarea.md +0 -0
  1025. /package/dist/{ai → skills}/theme-button.md +0 -0
  1026. /package/dist/{ai → skills}/theme.md +0 -0
  1027. /package/dist/{ai → skills}/tree.md +0 -0
  1028. /package/dist/{ai → skills}/typewriter.md +0 -0
  1029. /package/dist/{ai → skills}/typography.md +0 -0
  1030. /package/dist/{ai → skills}/utils.md +0 -0
  1031. /package/dist/{ai → skills}/window.md +0 -0
  1032. /package/dist/{store-DYqDLAvT.js → store-Bmj6rvZY.js} +0 -0
  1033. /package/dist/{store-CorvD3bT.cjs → store-CO4nJyGj.cjs} +0 -0
  1034. /package/dist/{theme.events-Cv7N4Toe.js → theme.events-Bw3mYjUA.js} +0 -0
  1035. /package/dist/{theme.events-DM4H5F2d.cjs → theme.events-EznKK2Y0.cjs} +0 -0
  1036. /package/dist/{theme.interface-Da23QAYb.cjs → theme.interface-CM26m9te.cjs} +0 -0
  1037. /package/dist/{theme.interface-CXloMUCw.js → theme.interface-FAUIgbIq.js} +0 -0
@@ -0,0 +1,193 @@
1
+ import { n as e, t } from "./theme.events-Bw3mYjUA.js";
2
+ import { t as n } from "./overlay-stack-Ca4EK2Mu.js";
3
+ import { Subject as r, defaultIfEmpty as i, forkJoin as a, fromEvent as o, map as s, of as c, switchMap as l, takeUntil as u, tap as d, timer as f } from "rxjs";
4
+ import { render as p } from "lit";
5
+ var m = "are-you-there-dialog", h = "yes-dialog-here", g = class g {
6
+ static {
7
+ this.DEFAULT_OPTIONS = {
8
+ title: void 0,
9
+ subtitle: void 0,
10
+ confirmText: void 0,
11
+ cancelText: void 0,
12
+ variant: "default"
13
+ };
14
+ }
15
+ constructor() {
16
+ this.activeDialogs = [], this.dialogSubject = new r(), this.dismissSubject = new r(), this.lastClickPosition = null, this.clickTrackingInitialized = !1, this.setupDialogOpeningLogic(), this.setupDialogDismissLogic(), this.setupClickPositionTracking();
17
+ }
18
+ setupClickPositionTracking() {
19
+ this.clickTrackingInitialized || typeof document > "u" || (this.clickTrackingInitialized = !0, o(document, "pointerdown", {
20
+ capture: !0,
21
+ passive: !0
22
+ }).pipe(d((e) => {
23
+ this.lastClickPosition = {
24
+ x: e.clientX,
25
+ y: e.clientY
26
+ };
27
+ })).subscribe());
28
+ }
29
+ static getInstance() {
30
+ return g.instance ||= new g(), g.instance;
31
+ }
32
+ setupDialogOpeningLogic() {
33
+ this.dialogSubject.pipe(l((n) => a([o(window, t).pipe(u(f(50)), s((e) => e.detail.theme), i(void 0)), c(n).pipe(d(() => {
34
+ let t = `dialog-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
35
+ window.dispatchEvent(new CustomEvent(e, {
36
+ bubbles: !0,
37
+ composed: !0
38
+ })), n.uid = t;
39
+ }))])), s(([e, t]) => {
40
+ let r = e || t.options.targetContainer || document.querySelector("schmancy-theme") || document.body, i = t.uid, a = document.createElement("schmancy-dialog");
41
+ return a.setAttribute("uid", i), a.style.setProperty("--schmancy-overlay-z", String(n.getNextZIndex())), r.appendChild(a), {
42
+ dialog: a,
43
+ target: t
44
+ };
45
+ }), d(({ dialog: e, target: t }) => {
46
+ let n = t.options;
47
+ if (t.type === "confirm") {
48
+ if (e.title = n.title, e.subtitle = n.subtitle, e.message = n.message, e.confirmText = n.confirmText ?? "Confirm", e.cancelText = n.cancelText ?? "Cancel", e.variant = n.variant ?? "default", n.content) {
49
+ let t = document.createElement("div");
50
+ if (t.slot = "content", typeof n.content == "function") {
51
+ let e = n.content();
52
+ e instanceof HTMLElement ? t.appendChild(e) : p(e, t);
53
+ } else n.content instanceof HTMLElement ? t.appendChild(n.content) : p(n.content, t);
54
+ e.appendChild(t);
55
+ }
56
+ } else if (e.hideActions = !0, t.content) {
57
+ let n = document.createElement("div");
58
+ if (n.style.display = "contents", n.classList.add("schmancy-dialog-content-container"), typeof t.content == "function") {
59
+ let e = t.content();
60
+ e instanceof HTMLElement ? n.appendChild(e) : p(e, n);
61
+ } else t.content instanceof HTMLElement ? n.appendChild(t.content) : p(t.content, n);
62
+ e.appendChild(n);
63
+ }
64
+ this.activeDialogs.push(e);
65
+ }), d(({ dialog: e, target: t }) => {
66
+ let r = t.options.position || this.getDefaultPosition();
67
+ e.show(r).then((r) => {
68
+ t.resolve?.(r);
69
+ let i = this.activeDialogs.indexOf(e);
70
+ i !== -1 && this.activeDialogs.splice(i, 1), n.release();
71
+ let a = e.querySelector("[slot=\"content\"]");
72
+ a && e.removeChild(a);
73
+ let o = e.querySelector(".schmancy-dialog-content-container");
74
+ o?.parentNode && o.parentNode.removeChild(o), e._eventSubscriptions?.forEach((e) => e.unsubscribe()), e.parentElement?.removeChild(e);
75
+ }).catch((e) => {
76
+ t.reject?.(e);
77
+ });
78
+ let i = [];
79
+ if (t.options.onConfirm) {
80
+ let n = o(e, "confirm").subscribe(() => {
81
+ t.options.onConfirm(), n.unsubscribe();
82
+ });
83
+ i.push(n);
84
+ }
85
+ if (t.options.onCancel) {
86
+ let n = o(e, "cancel").subscribe(() => {
87
+ t.options.onCancel(), n.unsubscribe();
88
+ });
89
+ i.push(n);
90
+ }
91
+ e._eventSubscriptions = i;
92
+ })).subscribe();
93
+ }
94
+ setupDialogDismissLogic() {
95
+ this.dismissSubject.pipe(l((e) => a([o(window, h).pipe(u(f(100)), s((e) => e.detail), i(void 0)), c(e).pipe(d(() => {
96
+ window.dispatchEvent(new CustomEvent(m, {
97
+ detail: { uid: e },
98
+ bubbles: !0,
99
+ composed: !0
100
+ }));
101
+ }))])), d(([e]) => {
102
+ if (e?.dialog) {
103
+ e.dialog.hide(!1), e.dialog._eventSubscriptions?.forEach((e) => e.unsubscribe());
104
+ let t = this.activeDialogs.indexOf(e.dialog);
105
+ t !== -1 && this.activeDialogs.splice(t, 1), n.release(), e.dialog.parentElement?.removeChild(e.dialog);
106
+ }
107
+ })).subscribe();
108
+ }
109
+ confirm(e) {
110
+ return new Promise((t, n) => {
111
+ let r = {
112
+ ...g.DEFAULT_OPTIONS,
113
+ ...e
114
+ };
115
+ r.position ||= this.getDefaultPosition(), this.dialogSubject.next({
116
+ options: r,
117
+ type: "confirm",
118
+ content: r.content,
119
+ resolve: t,
120
+ reject: n
121
+ });
122
+ });
123
+ }
124
+ component(e, t = {}) {
125
+ return new Promise((n, r) => {
126
+ t.position ||= this.getDefaultPosition(), this.dialogSubject.next({
127
+ options: t,
128
+ type: "component",
129
+ content: e,
130
+ resolve: n,
131
+ reject: r
132
+ });
133
+ });
134
+ }
135
+ dismiss() {
136
+ if (this.activeDialogs.length > 0) {
137
+ let e = this.activeDialogs[this.activeDialogs.length - 1].getAttribute("uid");
138
+ if (e) return this.dismissSubject.next(e), !0;
139
+ }
140
+ return !1;
141
+ }
142
+ close() {
143
+ return this.dismiss();
144
+ }
145
+ ask(e, t) {
146
+ return this.confirm({
147
+ message: e,
148
+ confirmText: "Confirm",
149
+ cancelText: "Cancel",
150
+ position: t
151
+ });
152
+ }
153
+ danger(e) {
154
+ return this.confirm({
155
+ ...e,
156
+ variant: "danger"
157
+ });
158
+ }
159
+ prompt(e) {
160
+ return new Promise((t) => {
161
+ let n = e.defaultValue || "", r = document.createElement("div");
162
+ r.style.width = "100%", r.style.minWidth = "280px";
163
+ let i = document.createElement("schmancy-input");
164
+ i.setAttribute("type", e.inputType || "text"), e.label && i.setAttribute("label", e.label), e.placeholder && i.setAttribute("placeholder", e.placeholder), e.defaultValue && i.setAttribute("value", e.defaultValue), i.addEventListener("input", (e) => {
165
+ n = e.target.value;
166
+ }), r.appendChild(i), this.confirm({
167
+ title: e.title,
168
+ message: e.message,
169
+ confirmText: e.confirmText ?? "OK",
170
+ cancelText: e.cancelText ?? "Cancel",
171
+ position: e.position,
172
+ content: r
173
+ }).then((e) => {
174
+ t(e ? n : null);
175
+ });
176
+ });
177
+ }
178
+ getDefaultPosition() {
179
+ return this.lastClickPosition ? { ...this.lastClickPosition } : {
180
+ x: window.innerWidth / 2,
181
+ y: window.innerHeight / 2
182
+ };
183
+ }
184
+ }, _ = g.getInstance(), v = {
185
+ confirm: (e) => _.confirm(e),
186
+ ask: (e, t) => _.ask(e, t),
187
+ danger: (e) => _.danger(e),
188
+ prompt: (e) => _.prompt(e),
189
+ component: (e, t) => _.component(e, t),
190
+ dismiss: () => _.dismiss(),
191
+ close: () => _.close()
192
+ };
193
+ export { m as i, g as n, h as r, v as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-service-ClFrOWf4.js","names":[],"sources":["../src/dialog/dialog-events.ts","../src/dialog/dialog-service.ts"],"sourcesContent":["// Dialog discovery event constants\r\nexport const DialogWhereAreYouRicky = 'are-you-there-dialog'\r\nexport const DialogHereMorty = 'yes-dialog-here'\r\n\r\n// Event interfaces\r\nexport interface DialogWhereAreYouRickyEvent extends CustomEvent {\r\n detail: {\r\n uid: string\r\n }\r\n}\r\n\r\nexport interface DialogHereMortyEvent extends CustomEvent {\r\n detail: {\r\n dialog: any // Will be schmancy-dialog instance\r\n theme?: any // Will be schmancy-theme instance\r\n }\r\n}","import { render, TemplateResult } from 'lit'\nimport {\n\tdefaultIfEmpty,\n\tforkJoin,\n\tfromEvent,\n\tmap,\n\tof,\n\tSubject,\n\tSubscription,\n\tswitchMap,\n\ttakeUntil,\n\ttap,\n\ttimer,\n} from 'rxjs'\nimport { ThemeHereIAm, ThemeHereIAmEvent, ThemeWhereAreYou } from '../theme/theme.events'\nimport { overlayStack } from '../utils/overlay-stack'\nimport { SchmancyDialog } from './dialog.component'\nimport { DialogHereMorty, DialogHereMortyEvent, DialogWhereAreYouRicky } from './dialog-events'\n\n/**\n * Dialog service options interface\n */\nexport interface DialogOptions {\n\ttitle?: string\n\tsubtitle?: string\n\tmessage?: string\n\tconfirmText?: string\n\tcancelText?: string\n\tvariant?: 'default' | 'danger'\n\tposition?: { x: number; y: number } | MouseEvent | TouchEvent\n\tcontent?: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult)\n\tonConfirm?: () => void\n\tonCancel?: () => void\n\thideActions?: boolean\n\ttargetContainer?: HTMLElement\n}\n\n/**\n * Prompt dialog options\n */\nexport interface PromptOptions {\n\ttitle?: string\n\tmessage?: string\n\tlabel?: string\n\tplaceholder?: string\n\tdefaultValue?: string\n\tinputType?: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url'\n\tconfirmText?: string\n\tcancelText?: string\n\tposition?: { x: number; y: number } | MouseEvent | TouchEvent\n}\n\ninterface DialogTarget {\n\toptions: DialogOptions\n\ttype: 'confirm' | 'component'\n\tcontent?: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult)\n\tresolve?: (value: boolean) => void\n\treject?: (reason?: unknown) => void\n}\n\n/**\n * Dialog service for centralized dialog management.\n * Uses a single unified SchmancyDialog component for all dialog types.\n */\nexport class DialogService {\n\tprivate static instance: DialogService\n\n\tprivate static DEFAULT_OPTIONS: Partial<DialogOptions> = {\n\t\ttitle: undefined,\n\t\tsubtitle: undefined,\n\t\tconfirmText: undefined,\n\t\tcancelText: undefined,\n\t\tvariant: 'default',\n\t}\n\n\t// Single array to track all dialogs\n\tprivate activeDialogs: SchmancyDialog[] = []\n\n\tprivate dialogSubject = new Subject<DialogTarget>()\n\tprivate dismissSubject = new Subject<string>()\n\n\t// Lazy click position tracking - only initialized when first dialog opens\n\tprivate lastClickPosition: { x: number; y: number } | null = null\n\tprivate clickTrackingInitialized = false\n\n\tprivate constructor() {\n\t\tthis.setupDialogOpeningLogic()\n\t\tthis.setupDialogDismissLogic()\n\t\tthis.setupClickPositionTracking()\n\t}\n\n\tprivate setupClickPositionTracking() {\n\t\tif (this.clickTrackingInitialized || typeof document === 'undefined') return\n\t\tthis.clickTrackingInitialized = true\n\n\t\tfromEvent<PointerEvent>(document, 'pointerdown', { capture: true, passive: true })\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tthis.lastClickPosition = { x: event.clientX, y: event.clientY }\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tpublic static getInstance(): DialogService {\n\t\tif (!DialogService.instance) {\n\t\t\tDialogService.instance = new DialogService()\n\t\t}\n\t\treturn DialogService.instance\n\t}\n\n\tprivate setupDialogOpeningLogic() {\n\t\tthis.dialogSubject\n\t\t\t.pipe(\n\t\t\t\tswitchMap(target =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<ThemeHereIAmEvent>(window, ThemeHereIAm).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(50)),\n\t\t\t\t\t\t\tmap(e => e.detail.theme),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(target).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\tconst uid = `dialog-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`\n\t\t\t\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent(ThemeWhereAreYou, {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t;(target as { uid?: string }).uid = uid\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\tmap(([theme, target]) => {\n\t\t\t\t\tconst targetContainer =\n\t\t\t\t\t\ttheme ||\n\t\t\t\t\t\ttarget.options.targetContainer ||\n\t\t\t\t\t\t(document.querySelector('schmancy-theme') as HTMLElement) ||\n\t\t\t\t\t\tdocument.body\n\n\t\t\t\t\tconst uid = (target as { uid?: string }).uid!\n\t\t\t\t\tconst dialog = document.createElement('schmancy-dialog') as SchmancyDialog\n\t\t\t\t\tdialog.setAttribute('uid', uid)\n\t\t\t\t\tdialog.style.setProperty('--schmancy-overlay-z', String(overlayStack.getNextZIndex()))\n\t\t\t\t\ttargetContainer.appendChild(dialog)\n\n\t\t\t\t\treturn { dialog, target }\n\t\t\t\t}),\n\t\t\t\ttap(({ dialog, target }) => {\n\t\t\t\t\tconst options = target.options\n\n\t\t\t\t\tif (target.type === 'confirm') {\n\t\t\t\t\t\t// Configure for confirm mode\n\t\t\t\t\t\tdialog.title = options.title\n\t\t\t\t\t\tdialog.subtitle = options.subtitle\n\t\t\t\t\t\tdialog.message = options.message\n\t\t\t\t\t\tdialog.confirmText = options.confirmText ?? 'Confirm'\n\t\t\t\t\t\tdialog.cancelText = options.cancelText ?? 'Cancel'\n\t\t\t\t\t\tdialog.variant = options.variant ?? 'default'\n\n\t\t\t\t\t\t// Handle custom content slot\n\t\t\t\t\t\tif (options.content) {\n\t\t\t\t\t\t\tconst contentContainer = document.createElement('div')\n\t\t\t\t\t\t\tcontentContainer.slot = 'content'\n\n\t\t\t\t\t\t\tif (typeof options.content === 'function') {\n\t\t\t\t\t\t\t\tconst result = options.content()\n\t\t\t\t\t\t\t\tif (result instanceof HTMLElement) {\n\t\t\t\t\t\t\t\t\tcontentContainer.appendChild(result)\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\trender(result, contentContainer)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (options.content instanceof HTMLElement) {\n\t\t\t\t\t\t\t\tcontentContainer.appendChild(options.content)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trender(options.content, contentContainer)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdialog.appendChild(contentContainer)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Configure for content mode\n\t\t\t\t\t\tdialog.hideActions = true\n\n\t\t\t\t\t\tif (target.content) {\n\t\t\t\t\t\t\tconst contentContainer = document.createElement('div')\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tcontentContainer.style.display = 'contents'\n\t\t\t\t\t\t\tcontentContainer.classList.add('schmancy-dialog-content-container')\n\n\t\t\t\t\t\t\tif (typeof target.content === 'function') {\n\t\t\t\t\t\t\t\tconst result = target.content()\n\t\t\t\t\t\t\t\tif (result instanceof HTMLElement) {\n\t\t\t\t\t\t\t\t\tcontentContainer.appendChild(result)\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\trender(result, contentContainer)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (target.content instanceof HTMLElement) {\n\t\t\t\t\t\t\t\tcontentContainer.appendChild(target.content)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trender(target.content, contentContainer)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdialog.appendChild(contentContainer)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.activeDialogs.push(dialog)\n\t\t\t\t}),\n\t\t\t\ttap(({ dialog, target }) => {\n\t\t\t\t\tconst position = target.options.position || this.getDefaultPosition()\n\n\t\t\t\t\tdialog\n\t\t\t\t\t\t.show(position)\n\t\t\t\t\t\t.then((result: boolean) => {\n\t\t\t\t\t\t\ttarget.resolve?.(result)\n\n\t\t\t\t\t\t\t// Cleanup\n\t\t\t\t\t\t\tconst index = this.activeDialogs.indexOf(dialog)\n\t\t\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\t\t\tthis.activeDialogs.splice(index, 1)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toverlayStack.release()\n\n\t\t\t\t\t\t\t// Clean up content\n\t\t\t\t\t\t\tconst contentEl = dialog.querySelector('[slot=\"content\"]')\n\t\t\t\t\t\t\tif (contentEl) dialog.removeChild(contentEl)\n\n\t\t\t\t\t\t\tconst contentContainer = dialog.querySelector('.schmancy-dialog-content-container')\n\t\t\t\t\t\t\tif (contentContainer?.parentNode) {\n\t\t\t\t\t\t\t\tcontentContainer.parentNode.removeChild(contentContainer)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Clean up event subscriptions\n\t\t\t\t\t\t\tconst eventSubscriptions = (dialog as unknown as { _eventSubscriptions?: Subscription[] })\n\t\t\t\t\t\t\t\t._eventSubscriptions\n\t\t\t\t\t\t\teventSubscriptions?.forEach(sub => sub.unsubscribe())\n\n\t\t\t\t\t\t\t// Remove from DOM\n\t\t\t\t\t\t\tdialog.parentElement?.removeChild(dialog)\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((error: unknown) => {\n\t\t\t\t\t\t\ttarget.reject?.(error)\n\t\t\t\t\t\t})\n\n\t\t\t\t\t// Set up event listeners\n\t\t\t\t\tconst eventSubscriptions: Subscription[] = []\n\n\t\t\t\t\tif (target.options.onConfirm) {\n\t\t\t\t\t\tconst confirmSub = fromEvent(dialog, 'confirm').subscribe(() => {\n\t\t\t\t\t\t\ttarget.options.onConfirm!()\n\t\t\t\t\t\t\tconfirmSub.unsubscribe()\n\t\t\t\t\t\t})\n\t\t\t\t\t\teventSubscriptions.push(confirmSub)\n\t\t\t\t\t}\n\n\t\t\t\t\tif (target.options.onCancel) {\n\t\t\t\t\t\tconst cancelSub = fromEvent(dialog, 'cancel').subscribe(() => {\n\t\t\t\t\t\t\ttarget.options.onCancel!()\n\t\t\t\t\t\t\tcancelSub.unsubscribe()\n\t\t\t\t\t\t})\n\t\t\t\t\t\teventSubscriptions.push(cancelSub)\n\t\t\t\t\t}\n\n\t\t\t\t\t;(dialog as unknown as { _eventSubscriptions: Subscription[] })._eventSubscriptions = eventSubscriptions\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tprivate setupDialogDismissLogic() {\n\t\tthis.dismissSubject\n\t\t\t.pipe(\n\t\t\t\tswitchMap(uid =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<DialogHereMortyEvent>(window, DialogHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(100)),\n\t\t\t\t\t\t\tmap(e => e.detail),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(uid).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent(DialogWhereAreYouRicky, {\n\t\t\t\t\t\t\t\t\t\tdetail: { uid },\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\ttap(([response]) => {\n\t\t\t\t\tif (response?.dialog) {\n\t\t\t\t\t\tresponse.dialog.hide(false)\n\n\t\t\t\t\t\tconst eventSubscriptions = (response.dialog as unknown as { _eventSubscriptions?: Subscription[] })\n\t\t\t\t\t\t\t._eventSubscriptions\n\t\t\t\t\t\teventSubscriptions?.forEach(sub => sub.unsubscribe())\n\n\t\t\t\t\t\tconst index = this.activeDialogs.indexOf(response.dialog as SchmancyDialog)\n\t\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\t\tthis.activeDialogs.splice(index, 1)\n\t\t\t\t\t\t}\n\t\t\t\t\t\toverlayStack.release()\n\n\t\t\t\t\t\tresponse.dialog.parentElement?.removeChild(response.dialog)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tpublic confirm(options: DialogOptions): Promise<boolean> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst completeOptions = {\n\t\t\t\t...DialogService.DEFAULT_OPTIONS,\n\t\t\t\t...options,\n\t\t\t}\n\n\t\t\tif (!completeOptions.position) {\n\t\t\t\tcompleteOptions.position = this.getDefaultPosition()\n\t\t\t}\n\n\t\t\tthis.dialogSubject.next({\n\t\t\t\toptions: completeOptions,\n\t\t\t\ttype: 'confirm',\n\t\t\t\tcontent: completeOptions.content,\n\t\t\t\tresolve,\n\t\t\t\treject,\n\t\t\t})\n\t\t})\n\t}\n\n\tpublic component(\n\t\tcontent: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult),\n\t\toptions: Omit<DialogOptions, 'content' | 'message'> = {},\n\t): Promise<boolean> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (!options.position) {\n\t\t\t\toptions.position = this.getDefaultPosition()\n\t\t\t}\n\n\t\t\tthis.dialogSubject.next({\n\t\t\t\toptions: options as DialogOptions,\n\t\t\t\ttype: 'component',\n\t\t\t\tcontent,\n\t\t\t\tresolve,\n\t\t\t\treject,\n\t\t\t})\n\t\t})\n\t}\n\n\tpublic dismiss(): boolean {\n\t\tif (this.activeDialogs.length > 0) {\n\t\t\tconst dialog = this.activeDialogs[this.activeDialogs.length - 1]\n\t\t\tconst uid = dialog.getAttribute('uid')\n\n\t\t\tif (uid) {\n\t\t\t\tthis.dismissSubject.next(uid)\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\n\tpublic close(): boolean {\n\t\treturn this.dismiss()\n\t}\n\n\tpublic ask(message: string, event?: MouseEvent | TouchEvent): Promise<boolean> {\n\t\treturn this.confirm({\n\t\t\tmessage,\n\t\t\tconfirmText: 'Confirm',\n\t\t\tcancelText: 'Cancel',\n\t\t\tposition: event,\n\t\t})\n\t}\n\n\tpublic danger(options: Omit<DialogOptions, 'variant'>): Promise<boolean> {\n\t\treturn this.confirm({\n\t\t\t...options,\n\t\t\tvariant: 'danger',\n\t\t})\n\t}\n\n\t/**\n\t * Shows a prompt dialog with an input field.\n\t * Returns the input value if confirmed, null if cancelled.\n\t */\n\tpublic prompt(options: PromptOptions): Promise<string | null> {\n\t\treturn new Promise(resolve => {\n\t\t\tlet inputValue = options.defaultValue || ''\n\n\t\t\t// Create container for input\n\t\t\tconst container = document.createElement('div')\n\t\t\tcontainer.style.width = '100%'\n\t\t\tcontainer.style.minWidth = '280px'\n\n\t\t\tconst input = document.createElement('schmancy-input') as HTMLElement\n\t\t\tinput.setAttribute('type', options.inputType || 'text')\n\t\t\tif (options.label) input.setAttribute('label', options.label)\n\t\t\tif (options.placeholder) input.setAttribute('placeholder', options.placeholder)\n\t\t\tif (options.defaultValue) input.setAttribute('value', options.defaultValue)\n\n\t\t\tinput.addEventListener('input', (e: Event) => {\n\t\t\t\tinputValue = (e.target as HTMLInputElement).value\n\t\t\t})\n\n\t\t\tcontainer.appendChild(input)\n\n\t\t\tthis.confirm({\n\t\t\t\ttitle: options.title,\n\t\t\t\tmessage: options.message,\n\t\t\t\tconfirmText: options.confirmText ?? 'OK',\n\t\t\t\tcancelText: options.cancelText ?? 'Cancel',\n\t\t\t\tposition: options.position,\n\t\t\t\tcontent: container,\n\t\t\t}).then(confirmed => {\n\t\t\t\tresolve(confirmed ? inputValue : null)\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate getDefaultPosition(): { x: number; y: number } {\n\t\t// Use last click position if available, otherwise center of screen\n\t\tif (this.lastClickPosition) {\n\t\t\treturn { ...this.lastClickPosition }\n\t\t}\n\t\treturn {\n\t\t\tx: window.innerWidth / 2,\n\t\t\ty: window.innerHeight / 2,\n\t\t}\n\t}\n}\n\n/**\n * Eagerly instantiate so click tracking starts immediately on import,\n * not on first dialog open (which would miss the triggering click).\n */\nconst service = DialogService.getInstance()\n\n/**\n * Global dialog utility\n */\nexport const $dialog = {\n\tconfirm: (options: DialogOptions): Promise<boolean> => {\n\t\treturn service.confirm(options)\n\t},\n\n\task: (message: string, event?: MouseEvent | TouchEvent): Promise<boolean> => {\n\t\treturn service.ask(message, event)\n\t},\n\n\tdanger: (options: Omit<DialogOptions, 'variant'>): Promise<boolean> => {\n\t\treturn service.danger(options)\n\t},\n\n\tprompt: (options: PromptOptions): Promise<string | null> => {\n\t\treturn service.prompt(options)\n\t},\n\n\tcomponent: (\n\t\tcontent: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult),\n\t\toptions?: Omit<DialogOptions, 'content' | 'message'>,\n\t): Promise<boolean> => {\n\t\treturn service.component(content, options)\n\t},\n\n\tdismiss: (): boolean => {\n\t\treturn service.dismiss()\n\t},\n\n\tclose: (): boolean => {\n\t\treturn service.close()\n\t},\n}\n\nexport default DialogService\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ require(`./chunk-BCfY8kxB.cjs`);const e=require(`./theme.events-EznKK2Y0.cjs`),t=require(`./overlay-stack-CEYGD9T1.cjs`);let n=require(`rxjs`),r=require(`lit`);var i=`are-you-there-dialog`,a=`yes-dialog-here`,o=class o{static{this.DEFAULT_OPTIONS={title:void 0,subtitle:void 0,confirmText:void 0,cancelText:void 0,variant:`default`}}constructor(){this.activeDialogs=[],this.dialogSubject=new n.Subject,this.dismissSubject=new n.Subject,this.lastClickPosition=null,this.clickTrackingInitialized=!1,this.setupDialogOpeningLogic(),this.setupDialogDismissLogic(),this.setupClickPositionTracking()}setupClickPositionTracking(){this.clickTrackingInitialized||typeof document>`u`||(this.clickTrackingInitialized=!0,(0,n.fromEvent)(document,`pointerdown`,{capture:!0,passive:!0}).pipe((0,n.tap)(e=>{this.lastClickPosition={x:e.clientX,y:e.clientY}})).subscribe())}static getInstance(){return o.instance||=new o,o.instance}setupDialogOpeningLogic(){this.dialogSubject.pipe((0,n.switchMap)(t=>(0,n.forkJoin)([(0,n.fromEvent)(window,e.t).pipe((0,n.takeUntil)((0,n.timer)(50)),(0,n.map)(e=>e.detail.theme),(0,n.defaultIfEmpty)(void 0)),(0,n.of)(t).pipe((0,n.tap)(()=>{let n=`dialog-${Date.now()}-${Math.random().toString(36).substring(2,9)}`;window.dispatchEvent(new CustomEvent(e.n,{bubbles:!0,composed:!0})),t.uid=n}))])),(0,n.map)(([e,n])=>{let r=e||n.options.targetContainer||document.querySelector(`schmancy-theme`)||document.body,i=n.uid,a=document.createElement(`schmancy-dialog`);return a.setAttribute(`uid`,i),a.style.setProperty(`--schmancy-overlay-z`,String(t.t.getNextZIndex())),r.appendChild(a),{dialog:a,target:n}}),(0,n.tap)(({dialog:e,target:t})=>{let n=t.options;if(t.type===`confirm`){if(e.title=n.title,e.subtitle=n.subtitle,e.message=n.message,e.confirmText=n.confirmText??`Confirm`,e.cancelText=n.cancelText??`Cancel`,e.variant=n.variant??`default`,n.content){let t=document.createElement(`div`);if(t.slot=`content`,typeof n.content==`function`){let e=n.content();e instanceof HTMLElement?t.appendChild(e):(0,r.render)(e,t)}else n.content instanceof HTMLElement?t.appendChild(n.content):(0,r.render)(n.content,t);e.appendChild(t)}}else if(e.hideActions=!0,t.content){let n=document.createElement(`div`);if(n.style.display=`contents`,n.classList.add(`schmancy-dialog-content-container`),typeof t.content==`function`){let e=t.content();e instanceof HTMLElement?n.appendChild(e):(0,r.render)(e,n)}else t.content instanceof HTMLElement?n.appendChild(t.content):(0,r.render)(t.content,n);e.appendChild(n)}this.activeDialogs.push(e)}),(0,n.tap)(({dialog:e,target:r})=>{let i=r.options.position||this.getDefaultPosition();e.show(i).then(n=>{r.resolve?.(n);let i=this.activeDialogs.indexOf(e);i!==-1&&this.activeDialogs.splice(i,1),t.t.release();let a=e.querySelector(`[slot="content"]`);a&&e.removeChild(a);let o=e.querySelector(`.schmancy-dialog-content-container`);o?.parentNode&&o.parentNode.removeChild(o),e._eventSubscriptions?.forEach(e=>e.unsubscribe()),e.parentElement?.removeChild(e)}).catch(e=>{r.reject?.(e)});let a=[];if(r.options.onConfirm){let t=(0,n.fromEvent)(e,`confirm`).subscribe(()=>{r.options.onConfirm(),t.unsubscribe()});a.push(t)}if(r.options.onCancel){let t=(0,n.fromEvent)(e,`cancel`).subscribe(()=>{r.options.onCancel(),t.unsubscribe()});a.push(t)}e._eventSubscriptions=a})).subscribe()}setupDialogDismissLogic(){this.dismissSubject.pipe((0,n.switchMap)(e=>(0,n.forkJoin)([(0,n.fromEvent)(window,a).pipe((0,n.takeUntil)((0,n.timer)(100)),(0,n.map)(e=>e.detail),(0,n.defaultIfEmpty)(void 0)),(0,n.of)(e).pipe((0,n.tap)(()=>{window.dispatchEvent(new CustomEvent(i,{detail:{uid:e},bubbles:!0,composed:!0}))}))])),(0,n.tap)(([e])=>{if(e?.dialog){e.dialog.hide(!1),e.dialog._eventSubscriptions?.forEach(e=>e.unsubscribe());let n=this.activeDialogs.indexOf(e.dialog);n!==-1&&this.activeDialogs.splice(n,1),t.t.release(),e.dialog.parentElement?.removeChild(e.dialog)}})).subscribe()}confirm(e){return new Promise((t,n)=>{let r={...o.DEFAULT_OPTIONS,...e};r.position||=this.getDefaultPosition(),this.dialogSubject.next({options:r,type:`confirm`,content:r.content,resolve:t,reject:n})})}component(e,t={}){return new Promise((n,r)=>{t.position||=this.getDefaultPosition(),this.dialogSubject.next({options:t,type:`component`,content:e,resolve:n,reject:r})})}dismiss(){if(this.activeDialogs.length>0){let e=this.activeDialogs[this.activeDialogs.length-1].getAttribute(`uid`);if(e)return this.dismissSubject.next(e),!0}return!1}close(){return this.dismiss()}ask(e,t){return this.confirm({message:e,confirmText:`Confirm`,cancelText:`Cancel`,position:t})}danger(e){return this.confirm({...e,variant:`danger`})}prompt(e){return new Promise(t=>{let n=e.defaultValue||``,r=document.createElement(`div`);r.style.width=`100%`,r.style.minWidth=`280px`;let i=document.createElement(`schmancy-input`);i.setAttribute(`type`,e.inputType||`text`),e.label&&i.setAttribute(`label`,e.label),e.placeholder&&i.setAttribute(`placeholder`,e.placeholder),e.defaultValue&&i.setAttribute(`value`,e.defaultValue),i.addEventListener(`input`,e=>{n=e.target.value}),r.appendChild(i),this.confirm({title:e.title,message:e.message,confirmText:e.confirmText??`OK`,cancelText:e.cancelText??`Cancel`,position:e.position,content:r}).then(e=>{t(e?n:null)})})}getDefaultPosition(){return this.lastClickPosition?{...this.lastClickPosition}:{x:window.innerWidth/2,y:window.innerHeight/2}}},s=o.getInstance(),c={confirm:e=>s.confirm(e),ask:(e,t)=>s.ask(e,t),danger:e=>s.danger(e),prompt:e=>s.prompt(e),component:(e,t)=>s.component(e,t),dismiss:()=>s.dismiss(),close:()=>s.close()};Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-service-DcuAavp2.cjs","names":[],"sources":["../src/dialog/dialog-events.ts","../src/dialog/dialog-service.ts"],"sourcesContent":["// Dialog discovery event constants\r\nexport const DialogWhereAreYouRicky = 'are-you-there-dialog'\r\nexport const DialogHereMorty = 'yes-dialog-here'\r\n\r\n// Event interfaces\r\nexport interface DialogWhereAreYouRickyEvent extends CustomEvent {\r\n detail: {\r\n uid: string\r\n }\r\n}\r\n\r\nexport interface DialogHereMortyEvent extends CustomEvent {\r\n detail: {\r\n dialog: any // Will be schmancy-dialog instance\r\n theme?: any // Will be schmancy-theme instance\r\n }\r\n}","import { render, TemplateResult } from 'lit'\nimport {\n\tdefaultIfEmpty,\n\tforkJoin,\n\tfromEvent,\n\tmap,\n\tof,\n\tSubject,\n\tSubscription,\n\tswitchMap,\n\ttakeUntil,\n\ttap,\n\ttimer,\n} from 'rxjs'\nimport { ThemeHereIAm, ThemeHereIAmEvent, ThemeWhereAreYou } from '../theme/theme.events'\nimport { overlayStack } from '../utils/overlay-stack'\nimport { SchmancyDialog } from './dialog.component'\nimport { DialogHereMorty, DialogHereMortyEvent, DialogWhereAreYouRicky } from './dialog-events'\n\n/**\n * Dialog service options interface\n */\nexport interface DialogOptions {\n\ttitle?: string\n\tsubtitle?: string\n\tmessage?: string\n\tconfirmText?: string\n\tcancelText?: string\n\tvariant?: 'default' | 'danger'\n\tposition?: { x: number; y: number } | MouseEvent | TouchEvent\n\tcontent?: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult)\n\tonConfirm?: () => void\n\tonCancel?: () => void\n\thideActions?: boolean\n\ttargetContainer?: HTMLElement\n}\n\n/**\n * Prompt dialog options\n */\nexport interface PromptOptions {\n\ttitle?: string\n\tmessage?: string\n\tlabel?: string\n\tplaceholder?: string\n\tdefaultValue?: string\n\tinputType?: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url'\n\tconfirmText?: string\n\tcancelText?: string\n\tposition?: { x: number; y: number } | MouseEvent | TouchEvent\n}\n\ninterface DialogTarget {\n\toptions: DialogOptions\n\ttype: 'confirm' | 'component'\n\tcontent?: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult)\n\tresolve?: (value: boolean) => void\n\treject?: (reason?: unknown) => void\n}\n\n/**\n * Dialog service for centralized dialog management.\n * Uses a single unified SchmancyDialog component for all dialog types.\n */\nexport class DialogService {\n\tprivate static instance: DialogService\n\n\tprivate static DEFAULT_OPTIONS: Partial<DialogOptions> = {\n\t\ttitle: undefined,\n\t\tsubtitle: undefined,\n\t\tconfirmText: undefined,\n\t\tcancelText: undefined,\n\t\tvariant: 'default',\n\t}\n\n\t// Single array to track all dialogs\n\tprivate activeDialogs: SchmancyDialog[] = []\n\n\tprivate dialogSubject = new Subject<DialogTarget>()\n\tprivate dismissSubject = new Subject<string>()\n\n\t// Lazy click position tracking - only initialized when first dialog opens\n\tprivate lastClickPosition: { x: number; y: number } | null = null\n\tprivate clickTrackingInitialized = false\n\n\tprivate constructor() {\n\t\tthis.setupDialogOpeningLogic()\n\t\tthis.setupDialogDismissLogic()\n\t\tthis.setupClickPositionTracking()\n\t}\n\n\tprivate setupClickPositionTracking() {\n\t\tif (this.clickTrackingInitialized || typeof document === 'undefined') return\n\t\tthis.clickTrackingInitialized = true\n\n\t\tfromEvent<PointerEvent>(document, 'pointerdown', { capture: true, passive: true })\n\t\t\t.pipe(\n\t\t\t\ttap(event => {\n\t\t\t\t\tthis.lastClickPosition = { x: event.clientX, y: event.clientY }\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tpublic static getInstance(): DialogService {\n\t\tif (!DialogService.instance) {\n\t\t\tDialogService.instance = new DialogService()\n\t\t}\n\t\treturn DialogService.instance\n\t}\n\n\tprivate setupDialogOpeningLogic() {\n\t\tthis.dialogSubject\n\t\t\t.pipe(\n\t\t\t\tswitchMap(target =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<ThemeHereIAmEvent>(window, ThemeHereIAm).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(50)),\n\t\t\t\t\t\t\tmap(e => e.detail.theme),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(target).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\tconst uid = `dialog-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`\n\t\t\t\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent(ThemeWhereAreYou, {\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t;(target as { uid?: string }).uid = uid\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\tmap(([theme, target]) => {\n\t\t\t\t\tconst targetContainer =\n\t\t\t\t\t\ttheme ||\n\t\t\t\t\t\ttarget.options.targetContainer ||\n\t\t\t\t\t\t(document.querySelector('schmancy-theme') as HTMLElement) ||\n\t\t\t\t\t\tdocument.body\n\n\t\t\t\t\tconst uid = (target as { uid?: string }).uid!\n\t\t\t\t\tconst dialog = document.createElement('schmancy-dialog') as SchmancyDialog\n\t\t\t\t\tdialog.setAttribute('uid', uid)\n\t\t\t\t\tdialog.style.setProperty('--schmancy-overlay-z', String(overlayStack.getNextZIndex()))\n\t\t\t\t\ttargetContainer.appendChild(dialog)\n\n\t\t\t\t\treturn { dialog, target }\n\t\t\t\t}),\n\t\t\t\ttap(({ dialog, target }) => {\n\t\t\t\t\tconst options = target.options\n\n\t\t\t\t\tif (target.type === 'confirm') {\n\t\t\t\t\t\t// Configure for confirm mode\n\t\t\t\t\t\tdialog.title = options.title\n\t\t\t\t\t\tdialog.subtitle = options.subtitle\n\t\t\t\t\t\tdialog.message = options.message\n\t\t\t\t\t\tdialog.confirmText = options.confirmText ?? 'Confirm'\n\t\t\t\t\t\tdialog.cancelText = options.cancelText ?? 'Cancel'\n\t\t\t\t\t\tdialog.variant = options.variant ?? 'default'\n\n\t\t\t\t\t\t// Handle custom content slot\n\t\t\t\t\t\tif (options.content) {\n\t\t\t\t\t\t\tconst contentContainer = document.createElement('div')\n\t\t\t\t\t\t\tcontentContainer.slot = 'content'\n\n\t\t\t\t\t\t\tif (typeof options.content === 'function') {\n\t\t\t\t\t\t\t\tconst result = options.content()\n\t\t\t\t\t\t\t\tif (result instanceof HTMLElement) {\n\t\t\t\t\t\t\t\t\tcontentContainer.appendChild(result)\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\trender(result, contentContainer)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (options.content instanceof HTMLElement) {\n\t\t\t\t\t\t\t\tcontentContainer.appendChild(options.content)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trender(options.content, contentContainer)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdialog.appendChild(contentContainer)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Configure for content mode\n\t\t\t\t\t\tdialog.hideActions = true\n\n\t\t\t\t\t\tif (target.content) {\n\t\t\t\t\t\t\tconst contentContainer = document.createElement('div')\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tcontentContainer.style.display = 'contents'\n\t\t\t\t\t\t\tcontentContainer.classList.add('schmancy-dialog-content-container')\n\n\t\t\t\t\t\t\tif (typeof target.content === 'function') {\n\t\t\t\t\t\t\t\tconst result = target.content()\n\t\t\t\t\t\t\t\tif (result instanceof HTMLElement) {\n\t\t\t\t\t\t\t\t\tcontentContainer.appendChild(result)\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\trender(result, contentContainer)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (target.content instanceof HTMLElement) {\n\t\t\t\t\t\t\t\tcontentContainer.appendChild(target.content)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\trender(target.content, contentContainer)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdialog.appendChild(contentContainer)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.activeDialogs.push(dialog)\n\t\t\t\t}),\n\t\t\t\ttap(({ dialog, target }) => {\n\t\t\t\t\tconst position = target.options.position || this.getDefaultPosition()\n\n\t\t\t\t\tdialog\n\t\t\t\t\t\t.show(position)\n\t\t\t\t\t\t.then((result: boolean) => {\n\t\t\t\t\t\t\ttarget.resolve?.(result)\n\n\t\t\t\t\t\t\t// Cleanup\n\t\t\t\t\t\t\tconst index = this.activeDialogs.indexOf(dialog)\n\t\t\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\t\t\tthis.activeDialogs.splice(index, 1)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toverlayStack.release()\n\n\t\t\t\t\t\t\t// Clean up content\n\t\t\t\t\t\t\tconst contentEl = dialog.querySelector('[slot=\"content\"]')\n\t\t\t\t\t\t\tif (contentEl) dialog.removeChild(contentEl)\n\n\t\t\t\t\t\t\tconst contentContainer = dialog.querySelector('.schmancy-dialog-content-container')\n\t\t\t\t\t\t\tif (contentContainer?.parentNode) {\n\t\t\t\t\t\t\t\tcontentContainer.parentNode.removeChild(contentContainer)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Clean up event subscriptions\n\t\t\t\t\t\t\tconst eventSubscriptions = (dialog as unknown as { _eventSubscriptions?: Subscription[] })\n\t\t\t\t\t\t\t\t._eventSubscriptions\n\t\t\t\t\t\t\teventSubscriptions?.forEach(sub => sub.unsubscribe())\n\n\t\t\t\t\t\t\t// Remove from DOM\n\t\t\t\t\t\t\tdialog.parentElement?.removeChild(dialog)\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((error: unknown) => {\n\t\t\t\t\t\t\ttarget.reject?.(error)\n\t\t\t\t\t\t})\n\n\t\t\t\t\t// Set up event listeners\n\t\t\t\t\tconst eventSubscriptions: Subscription[] = []\n\n\t\t\t\t\tif (target.options.onConfirm) {\n\t\t\t\t\t\tconst confirmSub = fromEvent(dialog, 'confirm').subscribe(() => {\n\t\t\t\t\t\t\ttarget.options.onConfirm!()\n\t\t\t\t\t\t\tconfirmSub.unsubscribe()\n\t\t\t\t\t\t})\n\t\t\t\t\t\teventSubscriptions.push(confirmSub)\n\t\t\t\t\t}\n\n\t\t\t\t\tif (target.options.onCancel) {\n\t\t\t\t\t\tconst cancelSub = fromEvent(dialog, 'cancel').subscribe(() => {\n\t\t\t\t\t\t\ttarget.options.onCancel!()\n\t\t\t\t\t\t\tcancelSub.unsubscribe()\n\t\t\t\t\t\t})\n\t\t\t\t\t\teventSubscriptions.push(cancelSub)\n\t\t\t\t\t}\n\n\t\t\t\t\t;(dialog as unknown as { _eventSubscriptions: Subscription[] })._eventSubscriptions = eventSubscriptions\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tprivate setupDialogDismissLogic() {\n\t\tthis.dismissSubject\n\t\t\t.pipe(\n\t\t\t\tswitchMap(uid =>\n\t\t\t\t\tforkJoin([\n\t\t\t\t\t\tfromEvent<DialogHereMortyEvent>(window, DialogHereMorty).pipe(\n\t\t\t\t\t\t\ttakeUntil(timer(100)),\n\t\t\t\t\t\t\tmap(e => e.detail),\n\t\t\t\t\t\t\tdefaultIfEmpty(undefined),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tof(uid).pipe(\n\t\t\t\t\t\t\ttap(() => {\n\t\t\t\t\t\t\t\twindow.dispatchEvent(\n\t\t\t\t\t\t\t\t\tnew CustomEvent(DialogWhereAreYouRicky, {\n\t\t\t\t\t\t\t\t\t\tdetail: { uid },\n\t\t\t\t\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\ttap(([response]) => {\n\t\t\t\t\tif (response?.dialog) {\n\t\t\t\t\t\tresponse.dialog.hide(false)\n\n\t\t\t\t\t\tconst eventSubscriptions = (response.dialog as unknown as { _eventSubscriptions?: Subscription[] })\n\t\t\t\t\t\t\t._eventSubscriptions\n\t\t\t\t\t\teventSubscriptions?.forEach(sub => sub.unsubscribe())\n\n\t\t\t\t\t\tconst index = this.activeDialogs.indexOf(response.dialog as SchmancyDialog)\n\t\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\t\tthis.activeDialogs.splice(index, 1)\n\t\t\t\t\t\t}\n\t\t\t\t\t\toverlayStack.release()\n\n\t\t\t\t\t\tresponse.dialog.parentElement?.removeChild(response.dialog)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\tpublic confirm(options: DialogOptions): Promise<boolean> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst completeOptions = {\n\t\t\t\t...DialogService.DEFAULT_OPTIONS,\n\t\t\t\t...options,\n\t\t\t}\n\n\t\t\tif (!completeOptions.position) {\n\t\t\t\tcompleteOptions.position = this.getDefaultPosition()\n\t\t\t}\n\n\t\t\tthis.dialogSubject.next({\n\t\t\t\toptions: completeOptions,\n\t\t\t\ttype: 'confirm',\n\t\t\t\tcontent: completeOptions.content,\n\t\t\t\tresolve,\n\t\t\t\treject,\n\t\t\t})\n\t\t})\n\t}\n\n\tpublic component(\n\t\tcontent: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult),\n\t\toptions: Omit<DialogOptions, 'content' | 'message'> = {},\n\t): Promise<boolean> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (!options.position) {\n\t\t\t\toptions.position = this.getDefaultPosition()\n\t\t\t}\n\n\t\t\tthis.dialogSubject.next({\n\t\t\t\toptions: options as DialogOptions,\n\t\t\t\ttype: 'component',\n\t\t\t\tcontent,\n\t\t\t\tresolve,\n\t\t\t\treject,\n\t\t\t})\n\t\t})\n\t}\n\n\tpublic dismiss(): boolean {\n\t\tif (this.activeDialogs.length > 0) {\n\t\t\tconst dialog = this.activeDialogs[this.activeDialogs.length - 1]\n\t\t\tconst uid = dialog.getAttribute('uid')\n\n\t\t\tif (uid) {\n\t\t\t\tthis.dismissSubject.next(uid)\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\n\tpublic close(): boolean {\n\t\treturn this.dismiss()\n\t}\n\n\tpublic ask(message: string, event?: MouseEvent | TouchEvent): Promise<boolean> {\n\t\treturn this.confirm({\n\t\t\tmessage,\n\t\t\tconfirmText: 'Confirm',\n\t\t\tcancelText: 'Cancel',\n\t\t\tposition: event,\n\t\t})\n\t}\n\n\tpublic danger(options: Omit<DialogOptions, 'variant'>): Promise<boolean> {\n\t\treturn this.confirm({\n\t\t\t...options,\n\t\t\tvariant: 'danger',\n\t\t})\n\t}\n\n\t/**\n\t * Shows a prompt dialog with an input field.\n\t * Returns the input value if confirmed, null if cancelled.\n\t */\n\tpublic prompt(options: PromptOptions): Promise<string | null> {\n\t\treturn new Promise(resolve => {\n\t\t\tlet inputValue = options.defaultValue || ''\n\n\t\t\t// Create container for input\n\t\t\tconst container = document.createElement('div')\n\t\t\tcontainer.style.width = '100%'\n\t\t\tcontainer.style.minWidth = '280px'\n\n\t\t\tconst input = document.createElement('schmancy-input') as HTMLElement\n\t\t\tinput.setAttribute('type', options.inputType || 'text')\n\t\t\tif (options.label) input.setAttribute('label', options.label)\n\t\t\tif (options.placeholder) input.setAttribute('placeholder', options.placeholder)\n\t\t\tif (options.defaultValue) input.setAttribute('value', options.defaultValue)\n\n\t\t\tinput.addEventListener('input', (e: Event) => {\n\t\t\t\tinputValue = (e.target as HTMLInputElement).value\n\t\t\t})\n\n\t\t\tcontainer.appendChild(input)\n\n\t\t\tthis.confirm({\n\t\t\t\ttitle: options.title,\n\t\t\t\tmessage: options.message,\n\t\t\t\tconfirmText: options.confirmText ?? 'OK',\n\t\t\t\tcancelText: options.cancelText ?? 'Cancel',\n\t\t\t\tposition: options.position,\n\t\t\t\tcontent: container,\n\t\t\t}).then(confirmed => {\n\t\t\t\tresolve(confirmed ? inputValue : null)\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate getDefaultPosition(): { x: number; y: number } {\n\t\t// Use last click position if available, otherwise center of screen\n\t\tif (this.lastClickPosition) {\n\t\t\treturn { ...this.lastClickPosition }\n\t\t}\n\t\treturn {\n\t\t\tx: window.innerWidth / 2,\n\t\t\ty: window.innerHeight / 2,\n\t\t}\n\t}\n}\n\n/**\n * Eagerly instantiate so click tracking starts immediately on import,\n * not on first dialog open (which would miss the triggering click).\n */\nconst service = DialogService.getInstance()\n\n/**\n * Global dialog utility\n */\nexport const $dialog = {\n\tconfirm: (options: DialogOptions): Promise<boolean> => {\n\t\treturn service.confirm(options)\n\t},\n\n\task: (message: string, event?: MouseEvent | TouchEvent): Promise<boolean> => {\n\t\treturn service.ask(message, event)\n\t},\n\n\tdanger: (options: Omit<DialogOptions, 'variant'>): Promise<boolean> => {\n\t\treturn service.danger(options)\n\t},\n\n\tprompt: (options: PromptOptions): Promise<string | null> => {\n\t\treturn service.prompt(options)\n\t},\n\n\tcomponent: (\n\t\tcontent: TemplateResult | HTMLElement | (() => HTMLElement | TemplateResult),\n\t\toptions?: Omit<DialogOptions, 'content' | 'message'>,\n\t): Promise<boolean> => {\n\t\treturn service.component(content, options)\n\t},\n\n\tdismiss: (): boolean => {\n\t\treturn service.dismiss()\n\t},\n\n\tclose: (): boolean => {\n\t\treturn service.close()\n\t},\n}\n\nexport default DialogService\n"],"mappings":"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"}
package/dist/dialog.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-BF1Huas7.cjs`),t=require(`./litElement.mixin-3llHwB-8.cjs`);require(`./mixins.cjs`);const n=require(`./animation-CO_Csq84.cjs`),r=require(`./reduced-motion-Ds05GPyz.cjs`),i=require(`./cursor-glow-DtSy_PJd.cjs`),a=require(`./dialog-service-VnW4gkmE.cjs`);let o=require(`rxjs`),s=require(`rxjs/operators`),c=require(`lit/decorators.js`),l=require(`lit`),u=require(`lit/directives/ref.js`),d=require(`lit/directives/when.js`),f=require(`@floating-ui/dom`);var p=e=>class extends e{constructor(...e){super(...e),this.position={x:0,y:0},this.isMobile=!1,this.dragOffset=0,this.stopSwipe$=new o.Subject,this.lastFocusedElement=null,this.inertSiblings=[],this.animating=!1}isAnimating(){return this.animating}getDialogElement(){return null}getBackdropElement(){return null}getDragHandleElement(){return null}connectedCallback(){super.connectedCallback(),this.setupResizeListener()}setupResizeListener(){(0,o.fromEvent)(window,`resize`).pipe((0,o.map)(()=>window.innerWidth<640),(0,o.distinctUntilChanged)(),(0,o.filter)(()=>this.hasAttribute(`active`)),(0,o.tap)(e=>{if(this.isMobile!==e){this.isMobile=e,this.requestUpdate();let t=this.getDialogElement();t&&(e?(this.applyBottomSheetStyles(t),this.setupSwipeGesture(t)):(this.stopSwipe$.next(),this.setupPositioning()))}}),(0,o.takeUntil)(this.disconnecting)).subscribe()}setupSwipeGesture(e){this.stopSwipe$.next();let t=0,n=!1,r=0,i=this.getDragHandleElement();(0,o.merge)((0,o.fromEvent)(i||e,`touchstart`,{passive:!0}).pipe((0,o.tap)(a=>{let o=a.touches[0],s=e.getBoundingClientRect();o.clientY-s.top>80&&!i||(n=!0,t=o.clientY,r=0,this.dragOffset=0,e.style.transition=`none`,e.style.willChange=`transform`)})),(0,o.fromEvent)(e,`touchmove`,{passive:!1}).pipe((0,o.filter)(()=>n),(0,o.tap)(n=>{let i=n.touches[0].clientY-t;r=i<0?.2*i:i,this.dragOffset=Math.max(0,i),e.style.transform=`translateY(${r}px)`,n.preventDefault()})),(0,o.merge)((0,o.fromEvent)(e,`touchend`,{passive:!0}),(0,o.fromEvent)(e,`touchcancel`,{passive:!0})).pipe((0,o.filter)(()=>n),(0,o.tap)(()=>{n=!1,e.style.transition=`transform 0.3s cubic-bezier(0.16, 1, 0.3, 1)`,e.style.willChange=``;let t=e.getBoundingClientRect().height,r=Math.min(100,.25*t);this.dragOffset>r?(e.style.transform=`translateY(100%)`,this.hide(!1)):(e.style.transform=`translateY(0)`,this.dragOffset=0)}))).pipe((0,o.takeUntil)((0,o.merge)(this.stopSwipe$,this.disconnecting))).subscribe()}applyBottomSheetStyles(e){this.cleanupAutoUpdate&&=(this.cleanupAutoUpdate(),void 0),Object.assign(e.style,{position:``,left:``,top:``,transform:``,maxWidth:``})}async show(e){let t,n;if(this.cleanupAutoUpdate&&=(this.cleanupAutoUpdate(),void 0),this.isMobile=window.innerWidth<640,e)if(`clientX`in e)t=e.clientX,n=e.clientY;else if(`touches`in e&&e.touches.length)t=e.touches[0].clientX,n=e.touches[0].clientY;else{let r=e;t=r.x,n=r.y}else t=window.innerWidth/2,n=window.innerHeight/2;this.position={x:t,y:n},this.virtualReference={getBoundingClientRect:()=>new DOMRect(t,n,0,0)},this.requestUpdate(),await this.updateComplete,this.setAttribute(`active`,``),await this.updateComplete,this.lastFocusedElement=document.activeElement;let r=this.parentElement;if(r){this.inertSiblings=[];for(let e=0;e<r.children.length;e++){let t=r.children[e];t!==this&&`inert`in t&&(t.inert=!0,this.inertSiblings.push(t))}}(0,o.fromEvent)(document,`keydown`).pipe((0,o.filter)(e=>e.key===`Escape`),(0,o.tap)(e=>{e.preventDefault(),this.hide(!1)}),(0,o.takeUntil)((0,o.merge)(this.stopSwipe$,this.disconnecting))).subscribe();let i=this.getDialogElement(),a=window.innerWidth<1024?.6:.8;return!this.isMobile&&i&&(i.scrollHeight>window.innerHeight*a||i.scrollWidth>window.innerWidth*a)&&(this.isMobile=!0,this.requestUpdate(),await this.updateComplete),this.isMobile?i&&(this.applyBottomSheetStyles(i),this.setupSwipeGesture(i)):this.setupPositioning(),this.animating=!0,await this.animateIn(),this.animating=!1,new Promise(e=>{this.resolvePromise=e})}async animateIn(){let e=this.getDialogElement(),t=this.getBackdropElement();if(r.t.value)return t&&(t.style.opacity=`1`),void(e&&(e.style.opacity=`1`));if(t?.animate([{opacity:0},{opacity:1}],{duration:200,easing:n.s,fill:`forwards`}),e){let t=this.isMobile?[{opacity:0,transform:`translateY(100%)`},{opacity:1,transform:`translateY(0)`}]:[{opacity:0,transform:`scale(0.92) translateY(16px)`},{opacity:1,transform:`scale(1) translateY(0)`}];await e.animate(t,{duration:n.i,easing:n.n,fill:`forwards`}).finished}}async animateOut(){let e=this.getDialogElement(),t=this.getBackdropElement();if(r.t.value)return t&&(t.style.opacity=`0`),void(e&&(e.style.opacity=`0`));let i=[];if(t&&i.push(t.animate([{opacity:1},{opacity:0}],{duration:150,easing:n.s,fill:`forwards`}).finished),e){let t=this.isMobile?[{opacity:1,transform:`translateY(0)`},{opacity:0,transform:`translateY(100%)`}]:[{opacity:1,transform:`scale(1) translateY(0)`},{opacity:0,transform:`scale(0.95) translateY(8px)`}];i.push(e.animate(t,{duration:150,easing:n.o,fill:`forwards`}).finished)}await Promise.all(i)}async hide(e=!1){this.stopSwipe$.next(),this.animating=!0,await this.animateOut(),this.animating=!1,this.removeAttribute(`active`);for(let e of this.inertSiblings)e.inert=!1;if(this.inertSiblings=[],this.lastFocusedElement){let e=this.lastFocusedElement;typeof e.focus==`function`&&e.focus(),this.lastFocusedElement=null}this.cleanupAutoUpdate&&=(this.cleanupAutoUpdate(),void 0),this.resolvePromise&&=(this.resolvePromise(e),void 0)}isCentered(){let e=.05*window.innerWidth,t=.05*window.innerHeight;return Math.abs(this.position.x-window.innerWidth/2)<e&&Math.abs(this.position.y-window.innerHeight/2)<t}setupPositioning(){let e=this.getDialogElement();e&&(this.isCentered()||this.virtualReference&&(this.cleanupAutoUpdate=(0,f.autoUpdate)(this.virtualReference,e,()=>this.updatePosition(e),{ancestorScroll:!0,ancestorResize:!0,elementResize:!0}),this.updatePosition(e)))}async updatePosition(e){if(!this.virtualReference)return;let{x:t,y:n}=await(0,f.computePosition)(this.virtualReference,e,{strategy:`fixed`,middleware:[(0,f.offset)(8),(0,f.autoPlacement)({padding:16,allowedPlacements:[`top-start`,`top-end`,`bottom-start`,`bottom-end`,`left-start`,`left-end`,`right-start`,`right-end`]}),(0,f.shift)({padding:16}),(0,f.size)({padding:16,apply({availableWidth:e,elements:t}){t.floating.style.maxWidth=`${e}px`}})]});Object.assign(e.style,{position:`fixed`,left:`${Math.round(t)}px`,top:`${Math.round(n)}px`,transform:`none`})}disconnectedCallback(){this.stopSwipe$.next(),this.cleanupAutoUpdate&&=(this.cleanupAutoUpdate(),void 0),super.disconnectedCallback()}},m=class extends p(t.t(l.css`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-BCfY8kxB.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`),t=require(`./litElement.mixin-Bj2q1yPw.cjs`);require(`./mixins.cjs`);const n=require(`./animation-Bcwh107v.cjs`),r=require(`./reduced-motion-DR32yKEO.cjs`),i=require(`./cursor-glow-82y5h3E4.cjs`),a=require(`./dialog-service-DcuAavp2.cjs`);let o=require(`rxjs`),s=require(`rxjs/operators`),c=require(`lit/decorators.js`),l=require(`lit`),u=require(`lit/directives/ref.js`),d=require(`lit/directives/when.js`),f=require(`@floating-ui/dom`);var p=e=>class extends e{constructor(...e){super(...e),this.position={x:0,y:0},this.isMobile=!1,this.dragOffset=0,this.stopSwipe$=new o.Subject,this.lastFocusedElement=null,this.inertSiblings=[],this.animating=!1,this.dialogInternals=(()=>{try{return this.attachInternals()}catch{return}})()}isAnimating(){return this.animating}getDialogElement(){return null}getBackdropElement(){return null}getDragHandleElement(){return null}connectedCallback(){super.connectedCallback(),this.setupResizeListener()}setupResizeListener(){(0,o.fromEvent)(window,`resize`).pipe((0,o.map)(()=>window.innerWidth<640),(0,o.distinctUntilChanged)(),(0,o.filter)(()=>this.hasAttribute(`active`)),(0,o.tap)(e=>{if(this.isMobile!==e){this.isMobile=e,this.requestUpdate();let t=this.getDialogElement();t&&(e?(this.applyBottomSheetStyles(t),this.setupSwipeGesture(t)):(this.stopSwipe$.next(),this.setupPositioning()))}}),(0,o.takeUntil)(this.disconnecting)).subscribe()}setupSwipeGesture(e){this.stopSwipe$.next();let t=0,n=!1,r=0,i=this.getDragHandleElement();(0,o.merge)((0,o.fromEvent)(i||e,`touchstart`,{passive:!0}).pipe((0,o.tap)(a=>{let o=a.touches[0],s=e.getBoundingClientRect();o.clientY-s.top>80&&!i||(n=!0,t=o.clientY,r=0,this.dragOffset=0,e.style.transition=`none`,e.style.willChange=`transform`)})),(0,o.fromEvent)(e,`touchmove`,{passive:!1}).pipe((0,o.filter)(()=>n),(0,o.tap)(n=>{let i=n.touches[0].clientY-t;r=i<0?.2*i:i,this.dragOffset=Math.max(0,i),e.style.transform=`translateY(${r}px)`,n.preventDefault()})),(0,o.merge)((0,o.fromEvent)(e,`touchend`,{passive:!0}),(0,o.fromEvent)(e,`touchcancel`,{passive:!0})).pipe((0,o.filter)(()=>n),(0,o.tap)(()=>{n=!1,e.style.transition=`transform 0.3s cubic-bezier(0.16, 1, 0.3, 1)`,e.style.willChange=``;let t=e.getBoundingClientRect().height,r=Math.min(100,.25*t);this.dragOffset>r?(e.style.transform=`translateY(100%)`,this.hide(!1)):(e.style.transform=`translateY(0)`,this.dragOffset=0)}))).pipe((0,o.takeUntil)((0,o.merge)(this.stopSwipe$,this.disconnecting))).subscribe()}applyBottomSheetStyles(e){this.cleanupAutoUpdate&&=(this.cleanupAutoUpdate(),void 0),Object.assign(e.style,{position:``,left:``,top:``,transform:``,maxWidth:``})}async show(e){let t,n;if(this.cleanupAutoUpdate&&=(this.cleanupAutoUpdate(),void 0),this.isMobile=window.innerWidth<640,e)if(`clientX`in e)t=e.clientX,n=e.clientY;else if(`touches`in e&&e.touches.length)t=e.touches[0].clientX,n=e.touches[0].clientY;else{let r=e;t=r.x,n=r.y}else t=window.innerWidth/2,n=window.innerHeight/2;this.position={x:t,y:n},this.virtualReference={getBoundingClientRect:()=>new DOMRect(t,n,0,0)},this.requestUpdate(),await this.updateComplete,this.setAttribute(`active`,``),this.dialogInternals?.states.add(`open`),await this.updateComplete,this.lastFocusedElement=document.activeElement;let r=this.parentElement;if(r){this.inertSiblings=[];for(let e=0;e<r.children.length;e++){let t=r.children[e];t!==this&&`inert`in t&&(t.inert=!0,this.inertSiblings.push(t))}}(0,o.fromEvent)(document,`keydown`).pipe((0,o.filter)(e=>e.key===`Escape`),(0,o.tap)(e=>{e.preventDefault(),this.hide(!1)}),(0,o.takeUntil)((0,o.merge)(this.stopSwipe$,this.disconnecting))).subscribe();let i=this.getDialogElement(),a=window.innerWidth<1024?.6:.8;return!this.isMobile&&i&&(i.scrollHeight>window.innerHeight*a||i.scrollWidth>window.innerWidth*a)&&(this.isMobile=!0,this.requestUpdate(),await this.updateComplete),this.isMobile?i&&(this.applyBottomSheetStyles(i),this.setupSwipeGesture(i)):this.setupPositioning(),this.animating=!0,await this.animateIn(),this.animating=!1,new Promise(e=>{this.resolvePromise=e})}async animateIn(){let e=this.getDialogElement(),t=this.getBackdropElement();if(r.t.value)return t&&(t.style.opacity=`1`),void(e&&(e.style.opacity=`1`));if(t?.animate([{opacity:0},{opacity:1}],{duration:200,easing:n.s,fill:`forwards`}),e){let t=this.isMobile?[{opacity:0,transform:`translateY(100%)`},{opacity:1,transform:`translateY(0)`}]:[{opacity:0,transform:`scale(0.92) translateY(16px)`},{opacity:1,transform:`scale(1) translateY(0)`}];await e.animate(t,{duration:n.i,easing:n.n,fill:`forwards`}).finished}}async animateOut(){let e=this.getDialogElement(),t=this.getBackdropElement();if(r.t.value)return t&&(t.style.opacity=`0`),void(e&&(e.style.opacity=`0`));let i=[];if(t&&i.push(t.animate([{opacity:1},{opacity:0}],{duration:150,easing:n.s,fill:`forwards`}).finished),e){let t=this.isMobile?[{opacity:1,transform:`translateY(0)`},{opacity:0,transform:`translateY(100%)`}]:[{opacity:1,transform:`scale(1) translateY(0)`},{opacity:0,transform:`scale(0.95) translateY(8px)`}];i.push(e.animate(t,{duration:150,easing:n.o,fill:`forwards`}).finished)}await Promise.all(i)}async hide(e=!1){this.stopSwipe$.next(),this.animating=!0,await this.animateOut(),this.animating=!1,this.removeAttribute(`active`),this.dialogInternals?.states.delete(`open`);for(let e of this.inertSiblings)e.inert=!1;if(this.inertSiblings=[],this.lastFocusedElement){let e=this.lastFocusedElement;typeof e.focus==`function`&&e.focus(),this.lastFocusedElement=null}this.cleanupAutoUpdate&&=(this.cleanupAutoUpdate(),void 0),this.resolvePromise&&=(this.resolvePromise(e),void 0)}isCentered(){let e=.05*window.innerWidth,t=.05*window.innerHeight;return Math.abs(this.position.x-window.innerWidth/2)<e&&Math.abs(this.position.y-window.innerHeight/2)<t}setupPositioning(){let e=this.getDialogElement();e&&(this.isCentered()||this.virtualReference&&(this.cleanupAutoUpdate=(0,f.autoUpdate)(this.virtualReference,e,()=>this.updatePosition(e),{ancestorScroll:!0,ancestorResize:!0,elementResize:!0}),this.updatePosition(e)))}async updatePosition(e){if(!this.virtualReference)return;let{x:t,y:n}=await(0,f.computePosition)(this.virtualReference,e,{strategy:`fixed`,middleware:[(0,f.offset)(8),(0,f.autoPlacement)({padding:16,allowedPlacements:[`top-start`,`top-end`,`bottom-start`,`bottom-end`,`left-start`,`left-end`,`right-start`,`right-end`]}),(0,f.shift)({padding:16}),(0,f.size)({padding:16,apply({availableWidth:e,elements:t}){t.floating.style.maxWidth=`${e}px`}})]});Object.assign(e.style,{position:`fixed`,left:`${Math.round(t)}px`,top:`${Math.round(n)}px`,transform:`none`})}disconnectedCallback(){this.stopSwipe$.next(),this.cleanupAutoUpdate&&=(this.cleanupAutoUpdate(),void 0),super.disconnectedCallback()}},m=class extends p(t.t(l.css`
2
2
  :host {
3
3
  position: fixed;
4
4
  z-index: var(--schmancy-overlay-z, 10000);
@@ -21,14 +21,21 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./ch
21
21
  @media (prefers-reduced-motion: reduce) {
22
22
  .dialog { box-shadow: var(--schmancy-sys-elevation-2); }
23
23
  }
24
- `)){constructor(...e){super(...e),this.title=void 0,this.subtitle=void 0,this.message=void 0,this.confirmText=void 0,this.cancelText=void 0,this.variant=`default`,this.hideActions=!1,this._confirmDialogRef=(0,u.createRef)(),this._contentDialogRef=(0,u.createRef)(),this._backdropRef=(0,u.createRef)(),this._dragHandleRef=(0,u.createRef)()}getDialogElement(){return this._contentDialogRef.value?this._contentDialogRef.value:this._confirmDialogRef.value??null}getBackdropElement(){return this._backdropRef.value??null}getDragHandleElement(){return this._dragHandleRef.value??null}get isConfirmMode(){return!this.hideActions&&!(!this.confirmText?.trim()||!this.cancelText?.trim())}connectedCallback(){super.connectedCallback(),(0,o.fromEvent)(window,a.i).pipe((0,o.tap)(e=>{e.detail.uid===this.uid&&this.announcePresence()}),(0,s.takeUntil)(this.disconnecting)).subscribe()}announcePresence(){this.dispatchEvent(new CustomEvent(a.r,{detail:{dialog:this},bubbles:!0,composed:!0}))}handleConfirm(){this.hide(!0),this.dispatchEvent(new CustomEvent(`confirm`,{bubbles:!0,composed:!0}))}handleClose(){this.isAnimating()||(this.hide(!1),this.dispatchEvent(new CustomEvent(this.isConfirmMode?`cancel`:`close`,{bubbles:!0,composed:!0})))}renderDragHandle(){return l.html`
24
+ `)){constructor(...e){super(...e),this.title=void 0,this.subtitle=void 0,this.message=void 0,this.confirmText=void 0,this.cancelText=void 0,this.variant=`default`,this.hideActions=!1,this._confirmDialogRef=(0,u.createRef)(),this._contentDialogRef=(0,u.createRef)(),this._backdropRef=(0,u.createRef)(),this._dragHandleRef=(0,u.createRef)(),this._a11yId=`schmancy-dialog-${Math.random().toString(36).slice(2,10)}`}get _titleId(){return`${this._a11yId}-title`}get _descId(){return`${this._a11yId}-desc`}getDialogElement(){return this._contentDialogRef.value?this._contentDialogRef.value:this._confirmDialogRef.value??null}getBackdropElement(){return this._backdropRef.value??null}getDragHandleElement(){return this._dragHandleRef.value??null}get isConfirmMode(){return!this.hideActions&&!(!this.confirmText?.trim()||!this.cancelText?.trim())}connectedCallback(){super.connectedCallback(),(0,o.fromEvent)(window,a.i).pipe((0,o.tap)(e=>{e.detail.uid===this.uid&&this.announcePresence()}),(0,s.takeUntil)(this.disconnecting)).subscribe()}announcePresence(){this.dispatchEvent(new CustomEvent(a.r,{detail:{dialog:this},bubbles:!0,composed:!0}))}handleConfirm(){this.hide(!0),this.dispatchEvent(new CustomEvent(`confirm`,{bubbles:!0,composed:!0}))}handleClose(){this.isAnimating()||(this.hide(!1),this.dispatchEvent(new CustomEvent(this.isConfirmMode?`cancel`:`close`,{bubbles:!0,composed:!0})))}renderDragHandle(){return l.html`
25
25
  <div ${(0,u.ref)(this._dragHandleRef)} class="dialog-drag-handle flex justify-center pt-2 pb-1 cursor-grab active:cursor-grabbing touch-none">
26
26
  <div class="w-10 h-1 rounded-full bg-outline-variant"></div>
27
27
  </div>
28
- `}render(){let e=this.isCentered(),t=this._contentSlotElements?.length>0,n={dialog:!0,fixed:!0,"w-[var(--dialog-width)]":!0,"max-w-[calc(100vw-2rem)]":!0,"max-h-[90dvh]":!0,"overflow-hidden":!0,"top-1/2":e,"left-1/2":e,"-translate-x-1/2":e,"-translate-y-1/2":e},r=this.isMobile?{dialog:!0,fixed:!0,"inset-x-0":!0,"bottom-0":!0,"w-full":!0,"max-h-[90dvh]":!0,"overflow-hidden":!0,"pb-[env(safe-area-inset-bottom)]":!0}:n,a=this.isMobile?`flex flex-col-reverse gap-2 w-full`:`flex justify-end gap-3`;return this.isConfirmMode?l.html`
28
+ `}render(){let e=this.isCentered(),t=this._contentSlotElements?.length>0,n={dialog:!0,fixed:!0,"w-[var(--dialog-width)]":!0,"max-w-[calc(100vw-2rem)]":!0,"max-h-[90dvh]":!0,"overflow-hidden":!0,"top-1/2":e,"left-1/2":e,"-translate-x-1/2":e,"-translate-y-1/2":e},r=this.isMobile?{dialog:!0,fixed:!0,"inset-x-0":!0,"bottom-0":!0,"w-full":!0,"max-h-[90dvh]":!0,"overflow-hidden":!0,"pb-[env(safe-area-inset-bottom)]":!0}:n,a=this.isMobile?`flex flex-col-reverse gap-2 w-full`:`flex justify-end gap-3`;if(this.isConfirmMode){let e=!!this.title?.trim(),n=!!this.subtitle?.trim(),o=!!this.message?.trim(),s=[n&&this._descId+`-sub`,o&&this._descId+`-msg`].filter(Boolean).join(` `)||``;return l.html`
29
29
  <div ${(0,u.ref)(this._backdropRef)} class="fixed inset-0 bg-surface-container/10 backdrop-blur-lg backdrop-saturate-150 backdrop-brightness-105" @click=${this.handleClose}></div>
30
30
 
31
- <div ${(0,u.ref)(this._confirmDialogRef)} class=${this.classMap(r)} role="alertdialog" aria-modal="true">
31
+ <div
32
+ ${(0,u.ref)(this._confirmDialogRef)}
33
+ class=${this.classMap(r)}
34
+ role="alertdialog"
35
+ aria-modal="true"
36
+ aria-labelledby=${e?this._titleId:l.nothing}
37
+ aria-describedby=${s||l.nothing}
38
+ >
32
39
  <schmancy-surface
33
40
  ${i.t({radius:250,intensity:.1})}
34
41
  rounded=${this.isMobile?`top`:`all`}
@@ -39,15 +46,15 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./ch
39
46
  ${this.isMobile?this.renderDragHandle():null}
40
47
  <schmancy-scroll direction="vertical" hide class="p-4 pt-2">
41
48
  <schmancy-form @submit=${this.handleConfirm}>
42
- ${(0,d.when)(this.title?.trim(),()=>l.html`
43
- <schmancy-typography type="title" token="md" class="mb-1">${this.title}</schmancy-typography>
44
- ${(0,d.when)(this.subtitle?.trim(),()=>l.html`
45
- <schmancy-typography type="subtitle" token="xs" class="mb-2">
49
+ ${(0,d.when)(e,()=>l.html`
50
+ <schmancy-typography id=${this._titleId} type="title" token="md" class="mb-1">${this.title}</schmancy-typography>
51
+ ${(0,d.when)(n,()=>l.html`
52
+ <schmancy-typography id="${this._descId}-sub" type="subtitle" token="xs" class="mb-2">
46
53
  ${this.subtitle}
47
54
  </schmancy-typography>
48
55
  `)}
49
56
  `)}
50
- ${t?l.html`<div class="mb-4"><slot name="content"></slot></div>`:(0,d.when)(this.message?.trim(),()=>l.html`<schmancy-typography type="body" class="mb-4">${this.message}</schmancy-typography>`)}
57
+ ${t?l.html`<div class="mb-4"><slot name="content"></slot></div>`:(0,d.when)(o,()=>l.html`<schmancy-typography id="${this._descId}-msg" type="body" class="mb-4">${this.message}</schmancy-typography>`)}
51
58
  <div class=${a}>
52
59
  <schmancy-button
53
60
  variant="outlined"
@@ -68,7 +75,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./ch
68
75
  </schmancy-scroll>
69
76
  </schmancy-surface>
70
77
  </div>
71
- `:l.html`
78
+ `}return l.html`
72
79
  <div ${(0,u.ref)(this._backdropRef)} class="fixed inset-0 bg-surface-container/10 backdrop-blur-lg backdrop-saturate-150 backdrop-brightness-105" @click=${this.handleClose}></div>
73
80
 
74
81
  <section ${(0,u.ref)(this._contentDialogRef)} class=${this.classMap(r)} role="dialog" aria-modal="true">
@@ -79,4 +86,4 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./ch
79
86
  </schmancy-scroll>
80
87
  </schmancy-surface>
81
88
  </section>
82
- `}static async confirm(e){let t=document.querySelector(`schmancy-dialog[data-static-confirm]`);return t||(t=document.createElement(`schmancy-dialog`),t.setAttribute(`data-static-confirm`,``),document.body.appendChild(t)),t.title=e.title,t.subtitle=e.subtitle,t.message=e.message,t.confirmText=e.confirmText??`Confirm`,t.cancelText=e.cancelText??`Cancel`,t.variant=e.variant??`default`,e.width&&t.style.setProperty(`--dialog-width`,e.width),t.show(e.position)}static async ask(e,t){return this.confirm({message:e,position:t})}};e.i([(0,c.property)({type:String,reflect:!0})],m.prototype,`uid`,void 0),e.i([(0,c.property)({type:String})],m.prototype,`title`,void 0),e.i([(0,c.property)({type:String})],m.prototype,`subtitle`,void 0),e.i([(0,c.property)({type:String})],m.prototype,`message`,void 0),e.i([(0,c.property)({type:String,attribute:`confirm-text`})],m.prototype,`confirmText`,void 0),e.i([(0,c.property)({type:String,attribute:`cancel-text`})],m.prototype,`cancelText`,void 0),e.i([(0,c.property)({type:String})],m.prototype,`variant`,void 0),e.i([(0,c.property)({type:Boolean,attribute:`hide-actions`})],m.prototype,`hideActions`,void 0),e.i([(0,c.queryAssignedElements)({slot:`content`,flatten:!0})],m.prototype,`_contentSlotElements`,void 0),m=e.i([(0,c.customElement)(`schmancy-dialog`)],m),exports.$dialog=a.t,Object.defineProperty(exports,`ConfirmDialog`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`SchmancyDialog`,{enumerable:!0,get:function(){return m}}),exports.DialogBase=p,exports.DialogService=a.n;
89
+ `}static async confirm(e){let t=document.querySelector(`schmancy-dialog[data-static-confirm]`);return t||(t=document.createElement(`schmancy-dialog`),t.setAttribute(`data-static-confirm`,``),document.body.appendChild(t)),t.title=e.title,t.subtitle=e.subtitle,t.message=e.message,t.confirmText=e.confirmText??`Confirm`,t.cancelText=e.cancelText??`Cancel`,t.variant=e.variant??`default`,e.width&&t.style.setProperty(`--dialog-width`,e.width),t.show(e.position)}static async ask(e,t){return this.confirm({message:e,position:t})}};e.t([(0,c.property)({type:String,reflect:!0})],m.prototype,`uid`,void 0),e.t([(0,c.property)({type:String})],m.prototype,`title`,void 0),e.t([(0,c.property)({type:String})],m.prototype,`subtitle`,void 0),e.t([(0,c.property)({type:String})],m.prototype,`message`,void 0),e.t([(0,c.property)({type:String,attribute:`confirm-text`})],m.prototype,`confirmText`,void 0),e.t([(0,c.property)({type:String,attribute:`cancel-text`})],m.prototype,`cancelText`,void 0),e.t([(0,c.property)({type:String})],m.prototype,`variant`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`hide-actions`})],m.prototype,`hideActions`,void 0),e.t([(0,c.queryAssignedElements)({slot:`content`,flatten:!0})],m.prototype,`_contentSlotElements`,void 0),m=e.t([(0,c.customElement)(`schmancy-dialog`)],m),exports.$dialog=a.t,Object.defineProperty(exports,`ConfirmDialog`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`SchmancyDialog`,{enumerable:!0,get:function(){return m}}),exports.DialogBase=p,exports.DialogService=a.n;