@webority/ui-elements 0.149.0 → 0.150.0

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 (476) hide show
  1. package/dist/WuiCarousel-DthhDxH-.js +1 -0
  2. package/dist/WuiCodeBlock-DHpmEskS.js +1 -0
  3. package/dist/WuiCommandPalette-DqHh4lH6.js +2 -0
  4. package/dist/WuiCommentThread-By-u3c5S.js +1 -0
  5. package/dist/WuiConsentBanner-Bm7tT3_5.js +1 -0
  6. package/dist/WuiContextMenu-sPTmEEVn.js +1 -0
  7. package/dist/WuiDataTable-D8UW2DMH.js +1 -0
  8. package/dist/WuiDatePicker-DLEsnzqG.js +31 -0
  9. package/dist/WuiDateRange-9Xqs5nvv.js +25 -0
  10. package/dist/WuiDock-d5abaLkL.js +1 -0
  11. package/dist/WuiDrawer-B3YFmxl2.js +1 -0
  12. package/dist/WuiHoverCard-CE3dHKaM.js +1 -0
  13. package/dist/WuiImageCrop-ChvH8GKb.js +17 -0
  14. package/dist/WuiInlineEdit-r55qgh8A.js +1 -0
  15. package/dist/WuiLeadPopup-YN4YCbOe.js +382 -0
  16. package/dist/WuiLightbox-D7Nf1SbH.js +1 -0
  17. package/dist/WuiMarkdown-N96OX-To.js +4 -0
  18. package/dist/WuiMentionInput-BFB57FZI.js +1 -0
  19. package/dist/WuiNavigationMenu-CZ3XhFam.js +1 -0
  20. package/dist/WuiNotificationCenter-C6e13nCh.js +1 -0
  21. package/dist/WuiOnboardingChecklist-Cx-TgpBY.js +1 -0
  22. package/dist/WuiOrgTree-DzeLFQxy.js +1 -0
  23. package/dist/{WuiOtp-BqWijfNj.js → WuiOtp-DonxSwVn.js} +2 -2
  24. package/dist/WuiOverflow-CeLUmJR-.js +1 -0
  25. package/dist/WuiPhone-rtex3VDC.js +16 -0
  26. package/dist/WuiRating-DLVduJZ_.js +1 -0
  27. package/dist/WuiRecordPager-7HVGoFlP.js +1 -0
  28. package/dist/WuiRelativeTime-RdC80Zii.js +1 -0
  29. package/dist/WuiResizable-DQZdQVCz.js +1 -0
  30. package/dist/WuiRollingNumber-YRMeRCGW.js +1 -0
  31. package/dist/WuiSavedViews-DtyAoZKb.js +1 -0
  32. package/dist/WuiSelect-D9ABfsdZ.js +9 -0
  33. package/dist/WuiShortcuts-D3rWkaOm.js +1 -0
  34. package/dist/WuiShowMore-CvdNQXrA.js +1 -0
  35. package/dist/WuiSlider-D33Y3_t9.js +51 -0
  36. package/dist/WuiSortable-CBLMNRuZ.js +1 -0
  37. package/dist/WuiTimePicker-DOodgU2O.js +9 -0
  38. package/dist/WuiTour-CrIFLmSK.js +1 -0
  39. package/dist/WuiTree-ZD9GGmtg.js +1 -0
  40. package/dist/WuiTruncate-C2WV1-NN.js +1 -0
  41. package/dist/WuiWhatsNew-dLGyA4g1.js +1 -0
  42. package/dist/WuiWizardStep-Cencr-mT.js +1 -0
  43. package/dist/{anchorOverlay-DDrc2k6y.js → anchorOverlay-CXnWfezA.js} +1 -1
  44. package/dist/buttonClass-GtEi8hAY.js +1 -0
  45. package/dist/calendarMath-D6UUgYTD.js +1 -0
  46. package/dist/chips-2yXiMhK4.js +2 -0
  47. package/dist/commentText-BnX7rA2-.js +1 -0
  48. package/dist/{countries-CvmZ2xpG.js → countries-DQL9nAUt.js} +1 -1
  49. package/dist/country-x5lqC5Xu.js +1 -0
  50. package/dist/customRule-Chp7YwFb.js +1 -0
  51. package/dist/dataTable-D23oUOhU.js +1 -0
  52. package/dist/dom-Do1pAA12.js +1 -0
  53. package/dist/drawerDiscard-CUN8L47U.js +1 -0
  54. package/dist/elementBase-Cxeyx0tU.js +1 -0
  55. package/dist/elements/carousel.js +1 -1
  56. package/dist/elements/code-block.js +1 -1
  57. package/dist/elements/command-palette.js +1 -1
  58. package/dist/elements/comment-thread.js +1 -1
  59. package/dist/elements/consent-banner.js +1 -1
  60. package/dist/elements/context-menu.js +1 -1
  61. package/dist/elements/data-table.js +1 -1
  62. package/dist/elements/date-range.js +1 -1
  63. package/dist/elements/datepicker.js +1 -1
  64. package/dist/elements/dock.js +1 -1
  65. package/dist/elements/drawer.js +1 -1
  66. package/dist/elements/filter-popover.js +1 -1
  67. package/dist/elements/hover-card.js +1 -1
  68. package/dist/elements/image-crop.js +1 -1
  69. package/dist/elements/inline-edit.js +1 -1
  70. package/dist/elements/kanban.js +1 -1
  71. package/dist/elements/lead-popup.js +1 -1
  72. package/dist/elements/lightbox.js +1 -1
  73. package/dist/elements/markdown.js +1 -1
  74. package/dist/elements/mention-input.js +1 -1
  75. package/dist/elements/navigation-menu.js +1 -1
  76. package/dist/elements/notification-center.js +1 -1
  77. package/dist/elements/onboarding-checklist.js +1 -1
  78. package/dist/elements/org-tree.js +1 -1
  79. package/dist/elements/otp.js +1 -1
  80. package/dist/elements/overflow.js +1 -1
  81. package/dist/elements/phone.js +1 -1
  82. package/dist/elements/rating.js +1 -1
  83. package/dist/elements/record-pager.js +1 -1
  84. package/dist/elements/relative-time.js +1 -1
  85. package/dist/elements/resizable.js +1 -1
  86. package/dist/elements/rolling-number.js +1 -1
  87. package/dist/elements/saved-views.js +1 -1
  88. package/dist/elements/select.js +1 -1
  89. package/dist/elements/shortcuts.js +1 -1
  90. package/dist/elements/show-more.js +1 -1
  91. package/dist/elements/slider.js +1 -1
  92. package/dist/elements/sortable.js +1 -1
  93. package/dist/elements/status-icon.js +1 -1
  94. package/dist/elements/timepicker.js +1 -1
  95. package/dist/elements/tour.js +1 -1
  96. package/dist/elements/tree.js +1 -1
  97. package/dist/elements/truncate.js +1 -1
  98. package/dist/elements/whats-new.js +1 -1
  99. package/dist/elements/wizard.js +1 -1
  100. package/dist/{fileViewerImage-CLzN49Fd.js → fileViewerImage-tzF4DDq7.js} +2 -2
  101. package/dist/fileViewerMedia-Bp1uHJvC.js +1 -0
  102. package/dist/{fileViewerPdf-6MAAzmCM.js → fileViewerPdf-BLMhF8NT.js} +11 -11
  103. package/dist/fileViewerUi-ResPjO1o.js +1 -0
  104. package/dist/filterPopover-D8BOb-Hz.js +1 -0
  105. package/dist/formMirror-9IpSgeZb.js +1 -0
  106. package/dist/formatters-C3V6M5zV.js +1 -0
  107. package/dist/helpers.js +1 -1
  108. package/dist/iconGlyphs.g-DPqoOoXy.js +1 -0
  109. package/dist/inlineEditText-H7Pr8IU9.js +1 -0
  110. package/dist/kanban-CJ587-XT.js +1 -0
  111. package/dist/kanbanModel-BdqSa1lJ.js +1 -0
  112. package/dist/listQuery.js +1 -1
  113. package/dist/listboxKeyNav-4LeEjKq6.js +1 -0
  114. package/dist/loader-ByHAB1wi.js +1 -0
  115. package/dist/mentionText-BJsw_opZ.js +1 -0
  116. package/dist/{notificationDays-dNQZGLlB.js → notificationDays-BKVW7xYD.js} +1 -1
  117. package/dist/{optionLabel-CLemms21.js → optionLabel-4xjXWy74.js} +1 -1
  118. package/dist/recents-CmLLdV8O.js +1 -0
  119. package/dist/relativeTime-YTAOONRy.js +1 -0
  120. package/dist/search-BXcvm716.js +1 -0
  121. package/dist/server.js +1 -1
  122. package/dist/shortcutKeys-COVLox98.js +1 -0
  123. package/dist/{statusIcons-Dt2ZVJyk.js → statusIcons-CRtqA_1C.js} +2 -2
  124. package/dist/themeTransition-9LQC6fx8.js +1 -0
  125. package/dist/tourSeenStore-z0Y_Znzx.js +1 -0
  126. package/dist/ui-calendar.global.js +1 -1
  127. package/dist/ui-calendar.js +1 -1
  128. package/dist/ui-chart.global.js +15 -15
  129. package/dist/ui-chart.js +13 -13
  130. package/dist/ui-consent-banner.global.js +1 -1
  131. package/dist/ui-elements/carousel.global.js +1 -1
  132. package/dist/ui-elements/code-block.global.js +1 -1
  133. package/dist/ui-elements/command-palette.global.js +2 -2
  134. package/dist/ui-elements/comment-thread.global.js +1 -1
  135. package/dist/ui-elements/consent-banner.global.js +1 -1
  136. package/dist/ui-elements/context-menu.global.js +1 -1
  137. package/dist/ui-elements/date-range.global.js +4 -4
  138. package/dist/ui-elements/drawer.global.js +1 -1
  139. package/dist/ui-elements/glyphs.global.js +1 -0
  140. package/dist/ui-elements/image-crop.global.js +2 -2
  141. package/dist/ui-elements/inline-edit.global.js +1 -1
  142. package/dist/ui-elements/kanban.global.js +1 -1
  143. package/dist/ui-elements/lead-popup.global.js +3 -3
  144. package/dist/ui-elements/lightbox.global.js +1 -1
  145. package/dist/ui-elements/markdown.global.js +2 -2
  146. package/dist/ui-elements/org-tree.global.js +1 -1
  147. package/dist/ui-elements/phone.global.js +9 -9
  148. package/dist/ui-elements/resizable.global.js +1 -1
  149. package/dist/ui-elements/saved-views.global.js +1 -1
  150. package/dist/ui-elements/select-chips.global.js +2 -2
  151. package/dist/ui-elements/select-recents.global.js +1 -1
  152. package/dist/ui-elements/select-search.global.js +1 -1
  153. package/dist/ui-elements/slider.global.js +2 -2
  154. package/dist/ui-elements/sortable.global.js +1 -1
  155. package/dist/ui-elements/status-icon.global.js +2 -2
  156. package/dist/ui-elements/timepicker.global.js +2 -2
  157. package/dist/ui-elements/tour.global.js +1 -1
  158. package/dist/ui-elements/tree.global.js +1 -1
  159. package/dist/ui-elements/wizard.global.js +1 -1
  160. package/dist/ui-elements.global.js +18 -18
  161. package/dist/ui-elements.js +1 -1
  162. package/dist/ui-file-viewer.global.js +11 -11
  163. package/dist/ui-file-viewer.js +1 -1
  164. package/dist/ui-lead-popup.global.js +1 -1
  165. package/dist/ui-phone.global.js +8 -8
  166. package/dist/ui-rich-text.global.js +57 -57
  167. package/dist/ui-rich-text.js +56 -56
  168. package/dist/ui-tour.global.js +1 -1
  169. package/dist/wuiHttp-523iN_RF.js +1 -0
  170. package/dist/{zone-D82f-GU_.js → zone-BR02ZkHF.js} +1 -1
  171. package/package.json +207 -55
  172. package/types/WuiCalendar.d.ts +69 -0
  173. package/types/WuiCarousel.d.ts +64 -0
  174. package/types/WuiChart.d.ts +77 -0
  175. package/types/WuiCodeBlock.d.ts +27 -0
  176. package/types/WuiCommandPalette.d.ts +135 -0
  177. package/types/WuiCommentThread.d.ts +77 -0
  178. package/types/WuiConsentBanner.d.ts +73 -0
  179. package/types/WuiContextMenu.d.ts +90 -0
  180. package/types/WuiDataTable.d.ts +90 -0
  181. package/types/WuiDatePicker.d.ts +59 -0
  182. package/types/WuiDateRange.d.ts +61 -0
  183. package/types/WuiDock.d.ts +20 -0
  184. package/types/WuiDrawer.d.ts +65 -0
  185. package/types/WuiFileViewer.d.ts +111 -0
  186. package/types/WuiHoverCard.d.ts +29 -0
  187. package/types/WuiImageCrop.d.ts +119 -0
  188. package/types/WuiInlineEdit.d.ts +65 -0
  189. package/types/WuiLeadPopup.d.ts +83 -0
  190. package/types/WuiLightbox.d.ts +80 -0
  191. package/types/WuiMarkdown.d.ts +85 -0
  192. package/types/WuiMentionInput.d.ts +112 -0
  193. package/types/WuiNavigationMenu.d.ts +29 -0
  194. package/types/WuiNotificationCenter.d.ts +34 -0
  195. package/types/WuiOnboardingChecklist.d.ts +34 -0
  196. package/types/WuiOrgTree.d.ts +50 -0
  197. package/types/WuiOtp.d.ts +32 -0
  198. package/types/WuiOverflow.d.ts +29 -0
  199. package/types/WuiPhone.d.ts +37 -0
  200. package/types/WuiRating.d.ts +17 -0
  201. package/types/WuiRecordPager.d.ts +9 -0
  202. package/types/WuiRelativeTime.d.ts +17 -0
  203. package/types/WuiResizable.d.ts +79 -0
  204. package/types/WuiRichText.d.ts +45 -0
  205. package/types/WuiRollingNumber.d.ts +27 -0
  206. package/types/WuiSavedViews.d.ts +41 -0
  207. package/types/WuiSelect.d.ts +138 -0
  208. package/types/WuiShortcuts.d.ts +31 -0
  209. package/types/WuiShowMore.d.ts +16 -0
  210. package/types/WuiSlider.d.ts +126 -0
  211. package/types/WuiSortable.d.ts +127 -0
  212. package/types/WuiTimePicker.d.ts +68 -0
  213. package/types/WuiTour.d.ts +117 -0
  214. package/types/WuiTree.d.ts +112 -0
  215. package/types/WuiTruncate.d.ts +19 -0
  216. package/types/WuiWhatsNew.d.ts +36 -0
  217. package/types/WuiWizard.d.ts +78 -0
  218. package/types/WuiWizardStep.d.ts +5 -0
  219. package/types/anchorOverlay.d.ts +75 -0
  220. package/types/avatarHtml.d.ts +10 -0
  221. package/types/avatarPicker.d.ts +47 -0
  222. package/types/buttonClass.d.ts +8 -0
  223. package/types/calendar.d.ts +3 -0
  224. package/types/calendarAdapter.d.ts +68 -0
  225. package/types/calendarMath.d.ts +40 -0
  226. package/types/calendarModel.d.ts +78 -0
  227. package/types/chart.d.ts +4 -0
  228. package/types/chartAdapter.d.ts +160 -0
  229. package/types/chartSpec.d.ts +382 -0
  230. package/types/codeHighlight.d.ts +25 -0
  231. package/types/collapsibleSearch.d.ts +7 -0
  232. package/types/commandShortcut.d.ts +12 -0
  233. package/types/commentText.d.ts +40 -0
  234. package/types/consentBannerGlobal.d.ts +1 -0
  235. package/types/consentBannerStandalone.d.ts +2 -0
  236. package/types/copyText.d.ts +10 -0
  237. package/types/countries.d.ts +3 -0
  238. package/types/currency.d.ts +6 -0
  239. package/types/dataTable.d.ts +159 -0
  240. package/types/datePresets.d.ts +19 -0
  241. package/types/defaultCountry.d.ts +3 -0
  242. package/types/defineElement.d.ts +6 -0
  243. package/types/devWarn.d.ts +2 -0
  244. package/types/dom.d.ts +8 -0
  245. package/types/drawerSnap.d.ts +24 -0
  246. package/types/elementBase.d.ts +2 -0
  247. package/types/elementRegistry.d.ts +5 -0
  248. package/types/elements/carousel.d.ts +2 -0
  249. package/types/elements/code-block.d.ts +2 -0
  250. package/types/elements/command-palette.d.ts +2 -0
  251. package/types/elements/comment-thread.d.ts +4 -0
  252. package/types/elements/consent-banner.d.ts +2 -0
  253. package/types/elements/context-menu.d.ts +2 -0
  254. package/types/elements/data-table.d.ts +3 -0
  255. package/types/elements/date-range.d.ts +2 -0
  256. package/types/elements/datepicker.d.ts +2 -0
  257. package/types/elements/dock.d.ts +2 -0
  258. package/types/elements/drawer.d.ts +2 -0
  259. package/types/elements/filter-popover.d.ts +2 -0
  260. package/types/elements/hover-card.d.ts +2 -0
  261. package/types/elements/image-crop.d.ts +2 -0
  262. package/types/elements/inline-edit.d.ts +3 -0
  263. package/types/elements/kanban.d.ts +2 -0
  264. package/types/elements/lead-popup.d.ts +2 -0
  265. package/types/elements/lightbox.d.ts +2 -0
  266. package/types/elements/markdown.d.ts +2 -0
  267. package/types/elements/mention-input.d.ts +3 -5
  268. package/types/elements/navigation-menu.d.ts +2 -0
  269. package/types/elements/notification-center.d.ts +2 -0
  270. package/types/elements/onboarding-checklist.d.ts +2 -0
  271. package/types/elements/org-tree.d.ts +2 -0
  272. package/types/elements/otp.d.ts +2 -0
  273. package/types/elements/overflow.d.ts +2 -0
  274. package/types/elements/phone.d.ts +2 -0
  275. package/types/elements/rating.d.ts +2 -0
  276. package/types/elements/record-pager.d.ts +2 -0
  277. package/types/elements/relative-time.d.ts +3 -0
  278. package/types/elements/resizable.d.ts +2 -0
  279. package/types/elements/rolling-number.d.ts +2 -0
  280. package/types/elements/saved-views.d.ts +2 -0
  281. package/types/elements/select.d.ts +2 -0
  282. package/types/elements/shortcuts.d.ts +2 -0
  283. package/types/elements/show-more.d.ts +2 -0
  284. package/types/elements/slider.d.ts +2 -0
  285. package/types/elements/sortable.d.ts +2 -0
  286. package/types/elements/status-icon.d.ts +1 -0
  287. package/types/elements/timepicker.d.ts +2 -0
  288. package/types/elements/tour.d.ts +1 -6
  289. package/types/elements/tree.d.ts +2 -0
  290. package/types/elements/truncate.d.ts +2 -0
  291. package/types/elements/whats-new.d.ts +2 -0
  292. package/types/elements/wizard.d.ts +3 -0
  293. package/types/fieldState.d.ts +4 -0
  294. package/types/fileDrop.d.ts +31 -0
  295. package/types/fileValidation.d.ts +47 -0
  296. package/types/fileViewer.d.ts +3 -0
  297. package/types/fileViewerImage.d.ts +69 -0
  298. package/types/fileViewerMedia.d.ts +62 -0
  299. package/types/fileViewerPdf.d.ts +214 -0
  300. package/types/fileViewerSearch.d.ts +55 -0
  301. package/types/fileViewerUi.d.ts +33 -0
  302. package/types/filterPopover.d.ts +55 -0
  303. package/types/focusOrigin.d.ts +3 -0
  304. package/types/formMirror.d.ts +22 -0
  305. package/types/formatters.d.ts +119 -0
  306. package/types/global/chunks.d.ts +12 -0
  307. package/types/global/core.d.ts +57 -0
  308. package/types/global/glyphs.d.ts +10 -0
  309. package/types/global/loader.d.ts +16 -0
  310. package/types/global/parts/glyphs.d.ts +1 -0
  311. package/types/global/parts/select-chips.d.ts +1 -0
  312. package/types/global/parts/select-country.d.ts +1 -0
  313. package/types/global/parts/select-recents.d.ts +1 -0
  314. package/types/global/parts/select-search.d.ts +1 -0
  315. package/types/global/shared.d.ts +56 -0
  316. package/types/globals.d.ts +238 -0
  317. package/types/helpers.d.ts +29 -3
  318. package/types/iconGlyphs.g.d.ts +7 -0
  319. package/types/iconGlyphsCore.g.d.ts +1 -0
  320. package/types/iconGlyphsLazy.g.d.ts +1 -0
  321. package/types/imageCrop.d.ts +75 -0
  322. package/types/index.d.ts +54 -0
  323. package/types/inlineEditText.d.ts +47 -0
  324. package/types/inputMask.d.ts +70 -0
  325. package/types/kanban.d.ts +157 -0
  326. package/types/kanbanModel.d.ts +77 -0
  327. package/types/leadPopupGlobal.d.ts +1 -0
  328. package/types/leadPopupStandalone.d.ts +2 -0
  329. package/types/listQuery.d.ts +87 -0
  330. package/types/listboxKeyNav.d.ts +63 -0
  331. package/types/mentionText.d.ts +45 -0
  332. package/types/navReveal.d.ts +1 -0
  333. package/types/notificationDays.d.ts +50 -0
  334. package/types/optionLabel.d.ts +27 -0
  335. package/types/overlayRelease.d.ts +12 -0
  336. package/types/pageBarBulk.d.ts +4 -0
  337. package/types/passwordRules.d.ts +50 -0
  338. package/types/phoneData.d.ts +1 -0
  339. package/types/phoneLib.d.ts +15 -0
  340. package/types/phoneLibGlobal.d.ts +3 -0
  341. package/types/razor-js/modules/api.d.ts +33 -0
  342. package/types/razor-js/modules/avatars.d.ts +1 -0
  343. package/types/razor-js/modules/dropZones.d.ts +2 -0
  344. package/types/razor-js/modules/fileHelpers.d.ts +16 -0
  345. package/types/razor-js/modules/filePickers.d.ts +6 -0
  346. package/types/razor-js/modules/filterBars.d.ts +1 -0
  347. package/types/razor-js/modules/imagePickers.d.ts +1 -0
  348. package/types/razor-js/modules/inputs.d.ts +10 -0
  349. package/types/razor-js/modules/look.d.ts +6 -0
  350. package/types/razor-js/modules/overlays.d.ts +5 -0
  351. package/types/razor-js/modules/pageListeners.d.ts +1 -0
  352. package/types/razor-js/modules/popovers.d.ts +1 -0
  353. package/types/razor-js/modules/serverBridge.d.ts +13 -0
  354. package/types/razor-js/modules/shared.d.ts +15 -0
  355. package/types/razor-js/modules/shell.d.ts +1 -0
  356. package/types/razor-js/modules/splitView.d.ts +2 -0
  357. package/types/razor-js/modules/tables.d.ts +9 -0
  358. package/types/razor-js/modules/tabs.d.ts +1 -0
  359. package/types/razor-js/modules/themeCopy.d.ts +2 -0
  360. package/types/razor-js/modules/toast.d.ts +3 -0
  361. package/types/razor-js/modules/validation.d.ts +11 -0
  362. package/types/razor-js/modules/widgets.d.ts +9 -0
  363. package/types/razor-js/webority-ui.d.ts +48 -0
  364. package/types/relativeTime.d.ts +10 -0
  365. package/types/richText.d.ts +2 -0
  366. package/types/richTextAdapter.d.ts +54 -0
  367. package/types/richTextIcons.d.ts +1 -0
  368. package/types/rowDrop.d.ts +12 -0
  369. package/types/scrollEdges.d.ts +10 -0
  370. package/types/select/chips.d.ts +2 -0
  371. package/types/select/country.d.ts +2 -0
  372. package/types/select/customRule.d.ts +3 -0
  373. package/types/select/list.d.ts +32 -0
  374. package/types/select/option.d.ts +21 -0
  375. package/types/select/part.d.ts +103 -0
  376. package/types/select/partRegistry.d.ts +7 -0
  377. package/types/select/parts.d.ts +1 -0
  378. package/types/select/partsGlobal.d.ts +4 -0
  379. package/types/select/recents.d.ts +2 -0
  380. package/types/select/remote.d.ts +2 -0
  381. package/types/select/search.d.ts +5 -0
  382. package/types/server/drawerDiscard.d.ts +9 -0
  383. package/types/server/index.d.ts +9 -0
  384. package/types/server/remoteModal.d.ts +96 -0
  385. package/types/server/serverActions.d.ts +33 -0
  386. package/types/server/serverTable.d.ts +48 -0
  387. package/types/server/shellParts.d.ts +24 -0
  388. package/types/server/toastAction.d.ts +7 -0
  389. package/types/server/toastHeader.d.ts +8 -0
  390. package/types/server/unsavedChanges.d.ts +17 -0
  391. package/types/server/wuiHttp.d.ts +86 -0
  392. package/types/shortcutKeys.d.ts +59 -0
  393. package/types/statusIconImages.d.ts +1 -0
  394. package/types/statusIcons.d.ts +12 -0
  395. package/types/stepperHeader.d.ts +31 -0
  396. package/types/submitOnce.d.ts +3 -0
  397. package/types/tableSelect.d.ts +34 -0
  398. package/types/textMatch.d.ts +9 -0
  399. package/types/themeTransition.d.ts +88 -0
  400. package/types/toastTypes.d.ts +20 -0
  401. package/types/tokenCommit.d.ts +13 -0
  402. package/types/tourAdvance.d.ts +51 -0
  403. package/types/tourEnd.d.ts +17 -0
  404. package/types/tourGlobal.d.ts +4 -0
  405. package/types/tourIsolated.d.ts +2 -0
  406. package/types/tourMedia.d.ts +19 -0
  407. package/types/tourMotion.d.ts +20 -0
  408. package/types/tourOpenMark.d.ts +1 -0
  409. package/types/tourPlacement.d.ts +24 -0
  410. package/types/tourProgress.d.ts +29 -0
  411. package/types/tourSeenStore.d.ts +12 -0
  412. package/types/zone.d.ts +24 -0
  413. package/types/zoneCountries.g.d.ts +1 -0
  414. package/dist/WuiCarousel-C2NWcFxr.js +0 -1
  415. package/dist/WuiCodeBlock-CCCJwsk5.js +0 -1
  416. package/dist/WuiCommandPalette-Bfrbocu6.js +0 -2
  417. package/dist/WuiCommentThread-Dx3vvBWp.js +0 -1
  418. package/dist/WuiConsentBanner-jkeRiC1_.js +0 -1
  419. package/dist/WuiContextMenu-KXD8TFfy.js +0 -1
  420. package/dist/WuiDataTable-DAxAegnG.js +0 -1
  421. package/dist/WuiDatePicker-kEyyILbM.js +0 -31
  422. package/dist/WuiDateRange-B05PsdJ3.js +0 -25
  423. package/dist/WuiDock-Bd2ijOaJ.js +0 -1
  424. package/dist/WuiDrawer-SkxcDhgf.js +0 -1
  425. package/dist/WuiHoverCard-Bqapy8Is.js +0 -1
  426. package/dist/WuiImageCrop-DzzzPagi.js +0 -17
  427. package/dist/WuiInlineEdit-BqgKfVMy.js +0 -1
  428. package/dist/WuiLeadPopup-Dwmg7coE.js +0 -382
  429. package/dist/WuiLightbox-DCTE3ULH.js +0 -1
  430. package/dist/WuiMarkdown-D5vm4sp4.js +0 -4
  431. package/dist/WuiMentionInput-Bi3VQoKo.js +0 -1
  432. package/dist/WuiNavigationMenu-DmH3waKW.js +0 -1
  433. package/dist/WuiNotificationCenter-DawJRGBc.js +0 -1
  434. package/dist/WuiOnboardingChecklist-DXUETu1h.js +0 -1
  435. package/dist/WuiOrgTree-DuaBtFl9.js +0 -1
  436. package/dist/WuiOverflow-DP3qEbDp.js +0 -1
  437. package/dist/WuiPhone-CFne_6XG.js +0 -16
  438. package/dist/WuiRating-DhhqYj5Z.js +0 -1
  439. package/dist/WuiRecordPager-BOaFcs_W.js +0 -1
  440. package/dist/WuiRelativeTime-BG6rgUhw.js +0 -1
  441. package/dist/WuiResizable-mt9EMhjQ.js +0 -1
  442. package/dist/WuiRollingNumber-CF3H6l7t.js +0 -1
  443. package/dist/WuiSavedViews-BMBQUv2K.js +0 -1
  444. package/dist/WuiSelect-oSJPev4N.js +0 -9
  445. package/dist/WuiShortcuts-BEvFCIu9.js +0 -1
  446. package/dist/WuiShowMore-D3VHRZJg.js +0 -1
  447. package/dist/WuiSlider-2kB__6zU.js +0 -51
  448. package/dist/WuiSortable-r5iZtzM1.js +0 -1
  449. package/dist/WuiTimePicker-DqqZPv0T.js +0 -9
  450. package/dist/WuiTour-B-V1PZnw.js +0 -1
  451. package/dist/WuiTree-B3cnH1PG.js +0 -1
  452. package/dist/WuiTruncate-DyDQWMBu.js +0 -1
  453. package/dist/WuiWhatsNew-B5jK2zwZ.js +0 -1
  454. package/dist/WuiWizardStep-CIYuIp4a.js +0 -1
  455. package/dist/buttonClass-Yk0Fwgs6.js +0 -1
  456. package/dist/calendarMath-BC2wGCD-.js +0 -1
  457. package/dist/chips-DbhCYoAp.js +0 -2
  458. package/dist/country-3uo7no9r.js +0 -1
  459. package/dist/customRule-BE7CusA3.js +0 -1
  460. package/dist/dataTable-BoyxeUL4.js +0 -1
  461. package/dist/drawerDiscard-D6YgF59q.js +0 -1
  462. package/dist/elementBase-DV9IZZCu.js +0 -1
  463. package/dist/fileViewerMedia-BQ0lVXy9.js +0 -1
  464. package/dist/fileViewerUi-DQH6_B1a.js +0 -1
  465. package/dist/filterPopover-DniNyLWI.js +0 -1
  466. package/dist/formMirror-BMQTenSi.js +0 -1
  467. package/dist/formatters-Ba0CvsTs.js +0 -1
  468. package/dist/iconGlyphs.g-BlwTSNXS.js +0 -1
  469. package/dist/kanban-BtgxVDE-.js +0 -1
  470. package/dist/listboxKeyNav-DMIvs9d6.js +0 -1
  471. package/dist/loader-Dw3IkGM0.js +0 -1
  472. package/dist/recents-BzN7j9kV.js +0 -1
  473. package/dist/search-CdAH8NGK.js +0 -1
  474. package/dist/shortcutKeys-CvxSh3bV.js +0 -1
  475. package/dist/themeTransition-rHRVbhHB.js +0 -1
  476. package/dist/wuiHttp-BuaTcumE.js +0 -1
@@ -1 +1 @@
1
- import{i as e,o as t,r as n,t as r}from"./fileViewerUi-DQH6_B1a.js";var i=`AppButton`,a=/* @__PURE__ */ new Set([`primary`,`success`,`warning`,`danger`,`info`,`neutral`]),o={solid:e=>`btn-${e}`,soft:e=>`btn-soft-${e}`,outline:e=>`btn-outline-${e}`,ghost:e=>`btn-ghost-${e}`,link:e=>`btn-link-${e}`,glass:()=>`btn-glass`};function s(e=`primary`,t=`solid`,n=`md`){if(!a.has(e))throw RangeError(`buttonClass: unknown tone "${e}"`);if(!Object.hasOwn(o,t))throw RangeError(`buttonClass: unknown variant "${t}"`);let r=o[t](e);return n===`md`?`btn ${r}`:`btn ${r} btn-${n}`}var c=typeof HTMLElement>`u`?class{}:HTMLElement,l={pdf:`pdf`,jpg:`image`,jpeg:`image`,png:`image`,webp:`image`,gif:`image`,avif:`image`,bmp:`image`,svg:`image`,mp4:`video`,m4v:`video`,webm:`video`,ogv:`video`,mp3:`audio`,m4a:`audio`,aac:`audio`,wav:`audio`,ogg:`audio`,oga:`audio`,opus:`audio`,flac:`audio`},u={"application/pdf":`pdf`,"image/jpeg":`image`,"image/png":`image`,"image/webp":`image`,"image/gif":`image`,"image/avif":`image`,"image/bmp":`image`,"image/svg+xml":`image`,"video/mp4":`video`,"video/webm":`video`,"video/ogg":`video`,"audio/mpeg":`audio`,"audio/mp4":`audio`,"audio/aac":`audio`,"audio/wav":`audio`,"audio/x-wav":`audio`,"audio/ogg":`audio`,"audio/opus":`audio`,"audio/webm":`audio`,"audio/flac":`audio`},d=`wui-file-viewer:load`,f=`wui-file-viewer:error`,p=`wui-file-viewer:prefs-change`;function m(e,t){let n=String(e??``).split(`;`)[0].trim().toLowerCase();if(n)return u[n]??null;let r=String(t??``).split(/[?#]/)[0];return l[r.includes(`.`)?r.split(`.`).pop().toLowerCase():``]??null}function h(e){let t=String(e??``).split(/[?#]/)[0].split(`/`).filter(Boolean).pop()??``;try{return decodeURIComponent(t)}catch{return t}}var g={pdf:()=>import(`./fileViewerPdf-6MAAzmCM.js`).then(e=>e.PdfView),image:()=>import(`./fileViewerImage-CLzN49Fd.js`).then(e=>e.ImageView),video:()=>import(`./fileViewerMedia-BQ0lVXy9.js`).then(e=>e.MediaView),audio:()=>import(`./fileViewerMedia-BQ0lVXy9.js`).then(e=>e.MediaView)},_=0,v=class a extends c{static defaultAssetBase=``;static get observedAttributes(){return[`src`,`name`,`type`,`download`,`print`,`worker-src`,`asset-base`,`captions`]}constructor(){super(),_+=1,this.uid=`wui-file-viewer-${_}`,this._prefs={},this._onFullscreen=()=>this._syncFullscreen()}get src(){return this.getAttribute(`src`)??``}set src(e){this.setAttribute(`src`,String(e??``))}get name(){return this.getAttribute(`name`)??``}set name(e){this.setAttribute(`name`,String(e??``))}get type(){return this.getAttribute(`type`)??``}set type(e){this.setAttribute(`type`,String(e??``))}get viewKey(){return this.getAttribute(`view-key`)??``}set viewKey(e){this.setAttribute(`view-key`,String(e??``))}get download(){return this.hasAttribute(`download`)}set download(e){this.toggleAttribute(`download`,e===!0||e===``||e===`true`)}get print(){return this.getAttribute(`print`)!==`false`}set print(e){this.setAttribute(`print`,e===!1||e===`false`?`false`:`true`)}get workerSrc(){return this.getAttribute(`worker-src`)??``}set workerSrc(e){this.setAttribute(`worker-src`,String(e??``))}get captions(){return this.getAttribute(`captions`)??``}set captions(e){this.setAttribute(`captions`,String(e??``))}get assetBase(){return this.getAttribute(`asset-base`)??``}set assetBase(e){this.setAttribute(`asset-base`,String(e??``))}get prefs(){return{...this._prefs}}set prefs(e){this._hostPrefs=!0,this._prefs=e&&typeof e==`object`?{...e}:{}}get actionsContainer(){return this._actionsBox??null}seekTo(e){if(typeof e!=`number`||!Number.isFinite(e))throw TypeError(`[wui-file-viewer] seekTo takes a number of seconds; got ${String(e)}.`);return this._view?.seekTo?(this._view.seekTo(e),!0):!1}displayName(){return this.name||h(this.src)||`Document`}connectedCallback(){if(Object.hasOwn(this,`prefs`)){let e=this.prefs;delete this.prefs,this.prefs=e}document.addEventListener(`fullscreenchange`,this._onFullscreen),this._open()}disconnectedCallback(){document.removeEventListener(`fullscreenchange`,this._onFullscreen),this._close()}attributeChangedCallback(e,t,n){this.isConnected&&this._parts&&t!==n&&(e===`name`?this._parts.name.textContent=this.displayName():e===`download`?this._syncDownload():e===`print`?this._syncPrint():this._open())}_close(){this._view?.destroy(),this._view=null,this._loadId=(this._loadId??0)+1}async _open(){this._close();let e=this._loadId;this._render(),this._prefs=this._readPrefs();let t=m(this.type,this.name||this.src);if(!this.src){this._settle(`No file to show.`);return}if(!t){this._settle(`This file can't be shown here.`,{offerDownload:!0});return}this._status(`Loading...`);let n;try{n=await g[t]()}catch(t){e===this._loadId&&this._fail(t);return}e===this._loadId&&(this._view=new n(this._shell(e),{src:this.src,kind:t,captions:this.captions,workerSrc:this.workerSrc,assetBase:y(this.assetBase||a.defaultAssetBase)}),this._view.load())}_shell(e){let t=()=>e===this._loadId,n=this._parts;return{host:this,start:n.start,center:n.center,end:n.viewEnd,search:n.search,body:n.body,prefs:{...this._prefs},name:()=>this.displayName(),print:()=>this.print,savePrefs:e=>{t()&&this._savePrefs(e)},loaded:e=>{t()&&(n.body.removeAttribute(`aria-busy`),this.dispatchEvent(new CustomEvent(d,{bubbles:!0,detail:e})))},fail:e=>{t()&&this._fail(e)}}}_render(){let t=(e,t)=>{let n=document.createElement(e);return n.className=t,n},i=t(`div`,`wui-file-viewer-toolbar`),a=t(`div`,`wui-file-viewer-group wui-file-viewer-start`),o=t(`span`,`wui-file-viewer-name`);o.textContent=this.displayName(),o.title=this.displayName(),a.append(o);let s=t(`div`,`wui-file-viewer-group wui-file-viewer-center`),c=t(`div`,`wui-file-viewer-group wui-file-viewer-end`),l=t(`div`,`wui-file-viewer-group wui-file-viewer-view-end`),u=t(`a`,`u-action wui-file-viewer-download`);u.style.setProperty(`--wui-action-size`,`32px`),n(u,`download`),e(u,`Download`);let d=r(`maximize-4`,`Full screen`,{className:`wui-file-viewer-fullscreen`});d.addEventListener(`click`,()=>this.toggleFullscreen()),d.hidden=!document.fullscreenEnabled,this._actionsBox??=t(`div`,`wui-file-viewer-actions`);let f=this._actionsBox;f.append(...this.querySelectorAll(`:scope > [slot="actions"]`)),c.append(l,u,d,f);let p=t(`search`,`wui-file-viewer-search`);p.hidden=!0,i.append(a,s,c,p);let m=t(`div`,`wui-file-viewer-body`);m.setAttribute(`aria-busy`,`true`),this.replaceChildren(i,m),this._parts={toolbar:i,start:a,name:o,center:s,end:c,viewEnd:l,downloadLink:u,fullscreen:d,actionsBox:f,search:p,body:m},this._syncDownload(),this._syncFullscreen()}_syncDownload(){let e=this._parts.downloadLink;e.hidden=!this.download||!this.src,e.href=this.src,e.setAttribute(`download`,this.displayName())}_syncPrint(){for(let e of this._parts.toolbar.querySelectorAll(`.wui-file-viewer-print`))e.hidden=!this.print}_status(e,{offerDownload:t=!1}={}){let n=document.createElement(`div`);n.className=`wui-file-viewer-status`;let r=document.createElement(`p`);if(r.textContent=e,n.append(r),t&&this.src){let e=document.createElement(`a`);e.className=s(`neutral`,`outline`,`sm`),e.dataset.wui=i,e.href=this.src,e.setAttribute(`download`,this.displayName()),e.textContent=`Download`,n.append(e)}this._parts.body.replaceChildren(n)}_settle(e,t){this._parts.body.removeAttribute(`aria-busy`),this._status(e,t)}_fail(e){this._view?.destroy(),this._view=null,this._settle(`Couldn't open this file.`,{offerDownload:!0}),this.dispatchEvent(new CustomEvent(f,{bubbles:!0,detail:{message:e?.message??String(e)}}))}toggleFullscreen(){document.fullscreenElement?document.exitFullscreen():this.requestFullscreen().catch(e=>{t(`[wui-file-viewer] full screen refused:`,e?.message)})}_syncFullscreen(){if(!this._parts)return;let t=document.fullscreenElement===this,r=this._parts.fullscreen;n(r,t?`x`:`maximize-4`),e(r,t?`Exit full screen`:`Full screen`),this._parts.actionsBox.hidden=t}_readPrefs(){if(this._hostPrefs||!this.viewKey)return{...this._prefs};try{return JSON.parse(window.localStorage.getItem(`wui-view:${this.viewKey}`)??`{}`)??{}}catch{return{}}}_savePrefs(e){if(this._prefs={...this._prefs,...e},this.dispatchEvent(new CustomEvent(p,{bubbles:!0,detail:{...this._prefs}})),!this._hostPrefs&&this.viewKey)try{window.localStorage.setItem(`wui-view:${this.viewKey}`,JSON.stringify(this._prefs))}catch{}}};function y(e){return e&&new URL(e,document.baseURI).href}var b=typeof document>`u`?null:document.currentScript;b?.src&&(v.defaultAssetBase=new URL(`pdfjs/`,b.src).href),typeof customElements<`u`&&!customElements.get(`wui-file-viewer`)&&customElements.define(`wui-file-viewer`,v);var x=(e,t)=>import(`./fileViewerPdf-6MAAzmCM.js`).then(n=>n.renderFirstPage(e,{assetBase:v.defaultAssetBase||void 0,...t}));export{v as WuiFileViewer,m as fileKind,h as fileNameFromUrl,x as renderPdfFirstPage};
1
+ import{i as e,r as t,s as n,t as r}from"./fileViewerUi-ResPjO1o.js";function i(e,t){if(typeof customElements>`u`||customElements.get(e))return;let n=[];if(typeof document<`u`)for(let r of document.querySelectorAll(e))for(let i of Object.keys(r)){let a=Object.getOwnPropertyDescriptor(t.prototype,i);if(a&&(a.set||a.get)&&(n.push([r,i,Reflect.get(r,i)]),!Reflect.deleteProperty(r,i)))throw Error(`defineElement: could not clear the early "${i}" property on <${e}>.`)}customElements.define(e,t);for(let[t,r,i]of n)if(!Reflect.set(t,r,i))throw Error(`defineElement: could not restore the "${r}" property on <${e}>.`)}var a=`AppButton`,o=/* @__PURE__ */ new Set([`primary`,`success`,`warning`,`danger`,`info`,`neutral`]),s={solid:e=>`btn-${e}`,soft:e=>`btn-soft-${e}`,outline:e=>`btn-outline-${e}`,ghost:e=>`btn-ghost-${e}`,link:e=>`btn-link-${e}`,glass:()=>`btn-glass`};function c(e){return Object.hasOwn(s,e)}function l(e=`primary`,t=`solid`,n=`md`){if(!o.has(e))throw RangeError(`buttonClass: unknown tone "${e}"`);if(!c(t))throw RangeError(`buttonClass: unknown variant "${t}"`);let r=s[t](e);return n===`md`?`btn ${r}`:`btn ${r} btn-${n}`}var u=`@webority/ui-elements needs a browser DOM; import its types or helpers entry on the server`;if(typeof HTMLElement>`u`)throw Error(u);var d=HTMLElement,f={pdf:`pdf`,jpg:`image`,jpeg:`image`,png:`image`,webp:`image`,gif:`image`,avif:`image`,bmp:`image`,svg:`image`,mp4:`video`,m4v:`video`,webm:`video`,ogv:`video`,mp3:`audio`,m4a:`audio`,aac:`audio`,wav:`audio`,ogg:`audio`,oga:`audio`,opus:`audio`,flac:`audio`},p={"application/pdf":`pdf`,"image/jpeg":`image`,"image/png":`image`,"image/webp":`image`,"image/gif":`image`,"image/avif":`image`,"image/bmp":`image`,"image/svg+xml":`image`,"video/mp4":`video`,"video/webm":`video`,"video/ogg":`video`,"audio/mpeg":`audio`,"audio/mp4":`audio`,"audio/aac":`audio`,"audio/wav":`audio`,"audio/x-wav":`audio`,"audio/ogg":`audio`,"audio/opus":`audio`,"audio/webm":`audio`,"audio/flac":`audio`},m=`wui-file-viewer:load`,h=`wui-file-viewer:error`,g=`wui-file-viewer:prefs-change`;function _(e,t){let n=(String(e??``).split(`;`)[0]??``).trim().toLowerCase();if(n)return p[n]??null;let r=String(t??``).split(/[?#]/)[0]??``;return f[r.includes(`.`)?(r.split(`.`).pop()??``).toLowerCase():``]??null}function v(e){let t=(String(e??``).split(/[?#]/)[0]??``).split(`/`).filter(Boolean).pop()??``;try{return decodeURIComponent(t)}catch{return t}}var y={pdf:()=>import(`./fileViewerPdf-BLMhF8NT.js`).then(e=>e.PdfView),image:()=>import(`./fileViewerImage-tzF4DDq7.js`).then(e=>e.ImageView),video:()=>import(`./fileViewerMedia-Bp1uHJvC.js`).then(e=>e.MediaView),audio:()=>import(`./fileViewerMedia-Bp1uHJvC.js`).then(e=>e.MediaView)},b=0,x=class i extends d{static defaultAssetBase=``;static get observedAttributes(){return[`src`,`name`,`type`,`download`,`print`,`worker-src`,`asset-base`,`captions`]}uid;_prefs;_hostPrefs;_onFullscreen;_view;_loadId;_actionsBox;constructor(){super(),b+=1,this.uid=`wui-file-viewer-${b}`,this._prefs={},this._onFullscreen=()=>this._syncFullscreen()}get src(){return this.getAttribute(`src`)??``}set src(e){this.setAttribute(`src`,String(e??``))}get name(){return this.getAttribute(`name`)??``}set name(e){this.setAttribute(`name`,String(e??``))}get type(){return this.getAttribute(`type`)??``}set type(e){this.setAttribute(`type`,String(e??``))}get viewKey(){return this.getAttribute(`view-key`)??``}set viewKey(e){this.setAttribute(`view-key`,String(e??``))}get download(){return this.hasAttribute(`download`)}set download(e){this.toggleAttribute(`download`,e===!0||e===``||e===`true`)}get print(){return this.getAttribute(`print`)!==`false`}set print(e){this.setAttribute(`print`,e===!1||e===`false`?`false`:`true`)}get workerSrc(){return this.getAttribute(`worker-src`)??``}set workerSrc(e){this.setAttribute(`worker-src`,String(e??``))}get captions(){return this.getAttribute(`captions`)??``}set captions(e){this.setAttribute(`captions`,String(e??``))}get assetBase(){return this.getAttribute(`asset-base`)??``}set assetBase(e){this.setAttribute(`asset-base`,String(e??``))}get prefs(){return{...this._prefs}}set prefs(e){this._hostPrefs=!0,this._prefs=e&&typeof e==`object`?{...e}:{}}get actionsContainer(){return this._actionsBox??null}seekTo(e){if(typeof e!=`number`||!Number.isFinite(e))throw TypeError(`[wui-file-viewer] seekTo takes a number of seconds; got ${String(e)}.`);return this._view?.seekTo?(this._view.seekTo(e),!0):!1}displayName(){return this.name||v(this.src)||`Document`}connectedCallback(){if(Object.hasOwn(this,`prefs`)){let e=this.prefs;Reflect.deleteProperty(this,`prefs`),this.prefs=e}document.addEventListener(`fullscreenchange`,this._onFullscreen),this._open()}disconnectedCallback(){document.removeEventListener(`fullscreenchange`,this._onFullscreen),this._close()}attributeChangedCallback(e,t,n){this.isConnected&&this._parts&&t!==n&&(e===`name`?this._parts.name.textContent=this.displayName():e===`download`?this._syncDownload():e===`print`?this._syncPrint():this._open())}_close(){this._view?.destroy(),this._view=null,this._loadId=(this._loadId??0)+1}async _open(){this._close();let e=this._loadId;this._render(),this._prefs=this._readPrefs();let t=_(this.type,this.name||this.src);if(!this.src){this._settle(`No file to show.`);return}if(!t){this._settle(`This file can't be shown here.`,{offerDownload:!0});return}this._status(`Loading...`);let n;try{n=await y[t]()}catch(t){e===this._loadId&&this._fail(t);return}e===this._loadId&&(this._view=new n(this._shell(e),{src:this.src,kind:t,captions:this.captions,workerSrc:this.workerSrc,assetBase:C(this.assetBase||i.defaultAssetBase)}),this._view.load())}_shell(e){let t=()=>e===this._loadId,n=this._parts;return{host:this,start:n.start,center:n.center,end:n.viewEnd,search:n.search,body:n.body,prefs:{...this._prefs},name:()=>this.displayName(),print:()=>this.print,savePrefs:e=>{t()&&this._savePrefs(e)},loaded:e=>{t()&&(n.body.removeAttribute(`aria-busy`),this.dispatchEvent(new CustomEvent(m,{bubbles:!0,detail:e})))},fail:e=>{t()&&this._fail(e)}}}_render(){let n=(e,t)=>{let n=document.createElement(e);return n.className=t,n},i=n(`div`,`wui-file-viewer-toolbar`),a=n(`div`,`wui-file-viewer-group wui-file-viewer-start`),o=n(`span`,`wui-file-viewer-name`);o.textContent=this.displayName(),o.title=this.displayName(),a.append(o);let s=n(`div`,`wui-file-viewer-group wui-file-viewer-center`),c=n(`div`,`wui-file-viewer-group wui-file-viewer-end`),l=n(`div`,`wui-file-viewer-group wui-file-viewer-view-end`),u=document.createElement(`a`);u.className=`u-action wui-file-viewer-download`,u.style.setProperty(`--wui-action-size`,`32px`),t(u,`download`),e(u,`Download`);let d=r(`maximize-4`,`Full screen`,{className:`wui-file-viewer-fullscreen`});d.addEventListener(`click`,()=>this.toggleFullscreen()),d.hidden=!document.fullscreenEnabled,this._actionsBox??=n(`div`,`wui-file-viewer-actions`);let f=this._actionsBox;f.append(...this.querySelectorAll(`:scope > [slot="actions"]`)),c.append(l,u,d,f);let p=n(`search`,`wui-file-viewer-search`);p.hidden=!0,i.append(a,s,c,p);let m=n(`div`,`wui-file-viewer-body`);m.setAttribute(`aria-busy`,`true`),this.replaceChildren(i,m),this._parts={toolbar:i,start:a,name:o,center:s,end:c,viewEnd:l,downloadLink:u,fullscreen:d,actionsBox:f,search:p,body:m},this._syncDownload(),this._syncFullscreen()}_syncDownload(){let e=this._parts.downloadLink;e.hidden=!this.download||!this.src,e.href=this.src,e.setAttribute(`download`,this.displayName())}_syncPrint(){for(let e of this._parts.toolbar.querySelectorAll(`.wui-file-viewer-print`))e instanceof HTMLElement&&(e.hidden=!this.print)}_status(e,{offerDownload:t=!1}={}){let n=document.createElement(`div`);n.className=`wui-file-viewer-status`;let r=document.createElement(`p`);if(r.textContent=e,n.append(r),t&&this.src){let e=document.createElement(`a`);e.className=l(`neutral`,`outline`,`sm`),e.dataset.wui=a,e.href=this.src,e.setAttribute(`download`,this.displayName()),e.textContent=`Download`,n.append(e)}this._parts.body.replaceChildren(n)}_settle(e,t){this._parts.body.removeAttribute(`aria-busy`),this._status(e,t)}_fail(e){this._view?.destroy(),this._view=null,this._settle(`Couldn't open this file.`,{offerDownload:!0});let t=typeof e==`object`&&e&&`message`in e?e.message:void 0;this.dispatchEvent(new CustomEvent(h,{bubbles:!0,detail:{message:t??String(e)}}))}toggleFullscreen(){document.fullscreenElement?document.exitFullscreen():this.requestFullscreen().catch(e=>{n(`[wui-file-viewer] full screen refused:`,e?.message)})}_syncFullscreen(){if(!this._parts)return;let n=document.fullscreenElement===this,r=this._parts.fullscreen;t(r,n?`x`:`maximize-4`),e(r,n?`Exit full screen`:`Full screen`),this._parts.actionsBox.hidden=n}_readPrefs(){if(this._hostPrefs||!this.viewKey)return{...this._prefs};try{let e=JSON.parse(window.localStorage.getItem(`wui-view:${this.viewKey}`)??`{}`);return S(e)?e:{}}catch{return{}}}_savePrefs(e){if(this._prefs={...this._prefs,...e},this.dispatchEvent(new CustomEvent(g,{bubbles:!0,detail:{...this._prefs}})),!this._hostPrefs&&this.viewKey)try{window.localStorage.setItem(`wui-view:${this.viewKey}`,JSON.stringify(this._prefs))}catch{}}};function S(e){return typeof e==`object`&&!!e}function C(e){return e&&new URL(e,document.baseURI).href}var w=typeof document>`u`?null:document.currentScript;w instanceof HTMLScriptElement&&w.src&&(x.defaultAssetBase=new URL(`pdfjs/`,w.src).href),i(`wui-file-viewer`,x);var T=(e,t)=>import(`./fileViewerPdf-BLMhF8NT.js`).then(n=>n.renderFirstPage(e,{assetBase:x.defaultAssetBase||void 0,...t}));export{x as WuiFileViewer,_ as fileKind,v as fileNameFromUrl,T as renderPdfFirstPage};
@@ -1 +1 @@
1
- (function(){function e(e,...t){console.warn(e,...t)}var t=typeof HTMLElement>`u`?class{}:HTMLElement,n={"--color-primary":`#4F46E5`,"--color-primary-hover":`#4338CA`,"--color-primary-soft":`#E0E7FF`,"--color-primary-text":`#4F46E5`,"--color-on-primary":`#FFFFFF`,"--color-text":`#071437`,"--color-text-muted":`#4B5675`,"--color-border":`#EBEDF3`,"--color-border-strong":`#C4CADA`,"--color-surface":`#FFFFFF`,"--wui-radius-sm":`8px`,"--wui-radius-lg":`14px`,"--wui-shadow-modal":`0px 24px 60px -16px rgba(7, 20, 55, 0.28)`,"--wui-z-modal":`1505`},r=e=>`var(${e}, ${n[e]})`,i=` :host { all: initial; display: contents; font-family: inherit; font-size: 16px; line-height: 1.5; color: ${r(`--color-text`)}; } *, *::before, *::after { box-sizing: border-box; } [hidden] { display: none !important; } dialog { z-index: ${r(`--wui-z-modal`)}; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: inherit; } dialog[open] { display: flex; align-items: center; justify-content: center; } :host([preview]) dialog { position: static; height: auto; } dialog::backdrop { background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(5px); } dialog[open]::backdrop { animation: wlp-fade 0.3s ease-out; } .wlp-card { position: relative; width: 90%; max-width: 440px; max-height: calc(100dvh - 32px); overflow-y: auto; padding: 24px; background: ${r(`--color-surface`)}; color: ${r(`--color-text`)}; border: 1px solid ${r(`--color-border`)}; border-radius: ${r(`--wui-radius-lg`)}; box-shadow: ${r(`--wui-shadow-modal`)}; text-align: start; } dialog[open] .wlp-card { animation: wlp-card-in 0.2s ease-out; } .wlp-close { position: absolute; top: 12px; inset-inline-end: 12px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: ${r(`--color-text-muted`)}; font: inherit; font-size: 22px; line-height: 1; cursor: pointer; } .wlp-close:focus-visible, .wlp-button:focus-visible, .wlp-input:focus-visible, .wlp-secondary:focus-visible { outline: 2px solid ${r(`--color-primary`)}; outline-offset: 2px; } .wlp-heading { margin: 0 32px 8px 0; font-size: 20px; font-weight: 600; line-height: 1.3; color: ${r(`--color-text`)}; } .wlp-description { margin: 0 0 16px; font-size: 14px; color: ${r(`--color-text-muted`)}; } .wlp-form { display: grid; gap: 14px; margin: 0; } .wlp-field { display: grid; gap: 4px; } .wlp-label { font-size: 14px; font-weight: 500; color: ${r(`--color-text`)}; } .wlp-req { margin-inline-start: 2px; color: ${r(`--color-primary`)}; } .wlp-input { width: 100%; padding: 9px 12px; border: 1px solid ${r(`--color-border`)}; border-radius: 8px; background: ${r(`--color-surface`)}; color: ${r(`--color-text`)}; font: inherit; font-size: 15px; } textarea.wlp-input { resize: vertical; min-height: 96px; } .wlp-input[aria-invalid="true"] { border-color: var(--color-danger, #B42318); } .wlp-error { margin: 0; font-size: 13px; color: var(--color-danger, #B42318); } .wlp-form-error { margin: 0; font-size: 14px; color: var(--color-danger, #B42318); } /* The consent field uses the theme's checkbox markup; its look is restated here because the theme's rules cannot reach the shadow root. */ .form-check { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 12px; font-size: 14px; line-height: 1.4; color: ${r(`--color-text`)}; } .form-check-input { flex: none; width: 20px; height: 20px; margin: 0; appearance: none; -webkit-appearance: none; border: 1.6px solid ${r(`--color-border-strong`)}; border-radius: ${r(`--wui-radius-sm`)}; corner-shape: squircle; background-color: ${r(`--color-surface`)}; background-repeat: no-repeat; background-position: center; background-size: 15px 15px; cursor: pointer; transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease; } .form-check-input:hover:not(:checked) { border-color: ${r(`--color-primary`)}; box-shadow: 0 0 0 2px ${r(`--color-primary-soft`)}; } .form-check-input:checked { border-color: ${r(`--color-primary`)}; background-color: ${r(`--color-primary`)}; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E"); } .form-check-input:focus-visible { outline: 2px solid ${r(`--color-primary`)}; outline-offset: 2px; box-shadow: none; } .form-check-input[aria-invalid="true"] { border-color: var(--color-danger, #B42318); } .form-check-label { min-width: 0; cursor: pointer; } .wlp-field-consent .wlp-error { margin-inline-start: 32px; } .wlp-consent-link { grid-column: 2; justify-self: start; color: ${r(`--color-primary-text`)}; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; } .wlp-consent-link:focus-visible { outline: 2px solid ${r(`--color-primary`)}; outline-offset: 2px; border-radius: 4px; } .wlp-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .wlp-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; } .wlp-actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin-top: 4px; } .wlp-button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 8px 16px; border: 1px solid ${r(`--color-primary`)}; border-radius: 8px; background: ${r(`--color-primary`)}; color: ${r(`--color-on-primary`)}; font: inherit; font-size: 15px; font-weight: 500; cursor: pointer; } .wlp-button:hover { background: ${r(`--color-primary-hover`)}; border-color: ${r(`--color-primary-hover`)}; } .wlp-button:disabled { opacity: 0.6; cursor: default; } .wlp-notice { margin: 4px 0 0; font-size: 12px; line-height: 1.4; color: ${r(`--color-text-muted`)}; } .wlp-notice a { color: inherit; text-decoration: underline; } .wlp-secondary-row { display: flex; align-items: center; gap: 10px; margin-top: 14px; font-size: 14px; color: ${r(`--color-text-muted`)}; } .wlp-secondary-row::before, .wlp-secondary-row::after { content: ""; flex: 1; height: 1px; background: ${r(`--color-border`)}; } .wlp-secondary { display: block; margin-top: 10px; text-align: center; color: ${r(`--color-primary`)}; font-weight: 500; } .wlp-success-title { margin: 0 32px 8px 0; font-size: 20px; font-weight: 600; color: ${r(`--color-text`)}; } .wlp-success-text { margin: 0 0 16px; color: ${r(`--color-text-muted`)}; } .wlp-success-view .wlp-button { width: 100%; } @keyframes wlp-fade { from { opacity: 0; } to { opacity: 1; } } @keyframes wlp-card-in { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } } @media (max-width: 575.98px) { .wlp-card { width: calc(100% - 32px); max-width: none; padding: 20px 16px; } .wlp-input { font-size: 16px; } .wlp-button, .wlp-close { min-height: 44px; } .wlp-close { min-width: 44px; } } @media (prefers-reduced-motion: reduce) { dialog[open]::backdrop, dialog[open] .wlp-card { animation: none; } } `,a=[`name`,`email`,`phone`,`company`,`message`,`consent`],o=[`name`,`email`],s={name:`Name`,email:`Email`,phone:`Phone number`,company:`Company`,message:`Message`,consent:`I agree to be contacted about my enquiry`,consentLink:`Privacy policy`},c={name:100,email:320,phone:40,company:150,message:1e3},l={name:`name`,email:`email`,phone:`tel`,company:`organization`},u=`input:not([type=hidden]), textarea, select, button, a[href]`,d=[`exit`,`delay`,`scroll`,`pages`],f=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,p=864e5,m=`comment_subject`,h=`__RequestVerificationToken`,g=`__FormStamp`,_=`__CaptchaToken`,v=`Something went wrong. Please try again or contact us directly.`,y=`Tick the box to continue`,b=`action.public-form.heading.description.fields.required.field-prefix.field-names.labels.max-lengths.submit-label.success-title.success-text.error-text.close-label.secondary-label.secondary-href.secondary-divider.consent-href.triggers.delay-seconds.scroll-percent.pages-viewed.storage-key.dismiss-days.submitted-days.success-close-seconds.preview`.split(`.`),x=new Set;function S(t,n){x.has(t)||(x.add(t),e(n))}var C=0;function w(e){return(e??``).split(/\s+/).map(e=>e.trim()).filter(Boolean)}function T(e){let t={};for(let n of(e??``).split(`;`)){let e=n.indexOf(`=`);if(e<0)continue;let r=n.slice(0,e).trim();r&&(t[r]=n.slice(e+1).trim())}return t}function E(e){return String(e??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}var D=null;function O(e){D||(D=new CSSStyleSheet,D.replaceSync(i)),e.adoptedStyleSheets=[D]}function k(e,t){return e instanceof Error&&e.message?e.message:t}var A=class extends t{static get observedAttributes(){return b}constructor(){super(),C+=1,this._uid=`wlp-${C}`,this._rendered=!1,this._open=!1,this._opened=!1,this._posting=!1,this._stale=!1,this._armed=!1,this._session=null,this._returnTo=null,this._prevOverflow=``,this._delayTimer=null,this._closeTimer=null,this._onMouseLeave=e=>{!this._fine()||e.clientY>0||!this._engaged()||this.open(`exit`)},this._onVisibility=()=>{document.visibilityState===`hidden`&&!this._fine()&&this._engaged()&&this.open(`exit`)},this._onScroll=()=>this._trackScroll()}get isOpen(){return this._open}set isOpen(e){e?this.open(`manual`):this.close(`dismiss`)}connectedCallback(){this._rendered||this._render(),this._arm(),this.preview&&!this._open&&this.open(`manual`)}disconnectedCallback(){this._disarm(),this._open&&this._release()}attributeChangedCallback(){this._rendered&&(this._open?this._stale=!0:this._render())}open(e=`manual`){this._open||e!==`manual`&&(this._opened||this._blocked()||document.querySelector(`dialog[open], .modal.show`))||(this._rendered||this._render(),this._opened=!0,this._open=!0,clearTimeout(this._delayTimer),this._showForm(),this._modal=!this.preview,this._modal?(this._returnTo=document.activeElement,this._prevOverflow=document.documentElement.style.overflow,document.documentElement.style.overflow=`hidden`,this._dialog().showModal(),this._dialog().querySelector(`[data-wlp-field] [data-wlp-input]`)?.focus()):this._dialog().setAttribute(`open`,``),this._remember(`shown`),this._emit(`wui-lead-popup-shown`,{trigger:e}))}close(e=`dismiss`){if(!this._open)return;clearTimeout(this._closeTimer),this._release();let t=this._returnTo;this._returnTo=null,t?.isConnected&&typeof t.focus==`function`&&t.focus(),this._stale&&this._render(),this._emit(`wui-lead-popup-closed`,{reason:e})}_release(){this._open=!1,this._dialog().close(),this._modal&&(document.documentElement.style.overflow=this._prevOverflow)}_root(){return this.shadowRoot??this.attachShadow({mode:`open`})}_dialog(){return this._root().querySelector(`dialog`)}_emit(e,t){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0,detail:t}))}_text(e,t=``){return this.getAttribute(e)||t}_number(e,t){let n=this.getAttribute(e);if(n===null||n.trim()===``)return t;let r=Number(n);return Number.isFinite(r)&&r>=0?r:t}get preview(){return this.hasAttribute(`preview`)}set preview(e){this.toggleAttribute(`preview`,e===!0||e===``||e===`true`)}_fieldKeys(){let e=w(this.getAttribute(`fields`)).filter(e=>a.includes(e)?!0:(S(`field:${e}`,`[@webority/ui-elements] <wui-lead-popup> has no field "${e}". It is ignored.`),!1));return e.length?e:o}_requiredKeys(){let e=this._fieldKeys();return w(this.getAttribute(`required`)).filter(t=>e.includes(t))}_label(e){return T(this.getAttribute(`labels`))[e]||s[e]}_postedName(e){return this._text(`field-prefix`)+(T(this.getAttribute(`field-names`))[e]||e)}_maxLength(e){let t=Number(T(this.getAttribute(`max-lengths`))[e]);return Number.isInteger(t)&&t>0?t:c[e]}_triggers(){if(this.preview)return[];let e=(this.getAttribute(`triggers`)??``).split(/\s+/).filter(e=>d.includes(e));return e.length?this.getAttribute(`storage-key`)?e:(S(`storage-key`,`[@webority/ui-elements] <wui-lead-popup> has triggers but no storage-key. The triggers are off.`),[]):[]}_render(){let e=this._root();O(e);let t=this._uid,n=this._fieldKeys(),r=new Set(this._requiredKeys()),i=this._text(`heading`),a=this._text(`description`),o=this._text(`secondary-label`),s=this._text(`secondary-href`),c=n.map(e=>this._fieldMarkup(e,r.has(e))).join(``),l=document.createElement(`template`);l.innerHTML=` <dialog class="wlp-dialog" aria-labelledby="${t}-h"${a?` aria-describedby="${t}-d"`:``}> <div class="wlp-card"> <button type="button" class="wlp-close" aria-label="${E(this._text(`close-label`,`Close`))}" data-wlp-close>&times;</button> <div class="wlp-form-view"> <h2 class="wlp-heading" id="${t}-h">${E(i)}</h2> ${a?`<p class="wlp-description" id="${t}-d">${E(a)}</p>`:``} <form class="wlp-form" novalidate data-wlp-form> ${c} <p class="wlp-form-error" role="alert" hidden data-wlp-form-error></p> <div class="wlp-actions"> <button type="submit" class="wlp-button" data-wlp-submit>${E(this._text(`submit-label`,`Send`))}</button> </div> <input type="text" name="${m}" class="wlp-honeypot" tabindex="-1" autocomplete="off" aria-hidden="true" data-wlp-honeypot> <p class="wlp-notice" data-recaptcha-notice>This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Privacy Policy</a> and <a href="https://policies.google.com/terms" target="_blank" rel="noopener">Terms of Service</a> apply.</p> </form> ${o&&s?`<div class="wlp-secondary-row"><span>${E(this._text(`secondary-divider`,`or`))}</span></div><a class="wlp-secondary" href="${E(s)}" data-wlp-secondary>${E(o)}</a>`:``} </div> <div class="wlp-success-view" hidden> <h2 class="wlp-success-title" role="status" tabindex="-1" data-wlp-success-title>${E(this._text(`success-title`,`Thank you`))}</h2> ${this._text(`success-text`)?`<p class="wlp-success-text">${E(this._text(`success-text`))}</p>`:``} <button type="button" class="wlp-button" data-wlp-done>${E(this._text(`close-label`,`Close`))}</button> </div> </div> </dialog>`,e.replaceChildren(l.content),this._rendered=!0,this._stale=!1,this._wire()}_fieldMarkup(e,t){let n=`${this._uid}-f-${e}`,r=`${this._uid}-e-${e}`,i=this._label(e),a=E(this._postedName(e)),o=t?`<span class="wlp-req" aria-hidden="true">*</span><span class="wlp-visually-hidden">required</span>`:``,s=t?` aria-required="true"`:``;if(e===`consent`){let t=this._text(`consent-href`),c=t?`<a class="wlp-consent-link" href="${E(t)}">${E(this._label(`consentLink`))}</a>`:``;return` <div class="wlp-field wlp-field-consent" data-wlp-field="${e}"> <div class="form-check"> <input class="form-check-input" type="checkbox" id="${n}" data-wlp-input="${e}" name="${a}"${s}> <label class="form-check-label" for="${n}">${E(i)}${o}</label> ${c} </div> <p class="wlp-error" id="${r}" hidden></p> </div>`}let c=`id="${n}" data-wlp-input="${e}" name="${a}" maxlength="${this._maxLength(e)}"${s}`,u=e===`message`?`<textarea class="wlp-input" rows="4" ${c}></textarea>`:`<input class="wlp-input" type="${e===`email`?`email`:e===`phone`?`tel`:`text`}" ${c}${l[e]?` autocomplete="${l[e]}"`:``}>`;return` <div class="wlp-field" data-wlp-field="${e}"> <label class="wlp-label" for="${n}">${E(i)}${o}</label> ${u} <p class="wlp-error" id="${r}" hidden></p> </div>`}_wire(){let e=this._dialog();e.addEventListener(`cancel`,e=>{e.preventDefault(),this.close(`escape`)}),e.addEventListener(`click`,t=>{t.target===e&&this.close(`backdrop`)}),e.addEventListener(`keydown`,t=>{if(t.key!==`Tab`||!this._modal)return;let n=Array.from(e.querySelectorAll(u)).filter(e=>!e.disabled&&e.getClientRects().length>0);if(!n.length)return;let r=n.indexOf(this._root().activeElement);t.preventDefault(),n[r===-1?t.shiftKey?n.length-1:0:(r+(t.shiftKey?-1:1)+n.length)%n.length].focus()});for(let t of e.querySelectorAll(`[data-wlp-close]`))t.addEventListener(`click`,()=>this.close(`dismiss`));e.querySelector(`[data-wlp-done]`)?.addEventListener(`click`,()=>this.close(`submitted`)),e.querySelector(`[data-wlp-secondary]`)?.addEventListener(`click`,()=>this.close(`secondary`)),e.querySelector(`[data-wlp-form]`).addEventListener(`submit`,e=>this._onSubmit(e))}_showForm(){let e=this._root();e.querySelector(`.wlp-form-view`).hidden=!1,e.querySelector(`.wlp-success-view`).hidden=!0}_showSuccess(){let e=this._root();e.querySelector(`.wlp-form-view`).hidden=!0;let t=e.querySelector(`.wlp-success-view`);t.hidden=!1,e.querySelector(`[data-wlp-success-title]`).focus()}_setFieldError(e,t){let n=this._root(),r=n.querySelector(`[data-wlp-input="${e}"]`),i=n.querySelector(`#${this._uid}-e-${e}`);return i.textContent=t,i.hidden=!t,t?(r.setAttribute(`aria-invalid`,`true`),r.setAttribute(`aria-describedby`,i.id)):(r.removeAttribute(`aria-invalid`),r.removeAttribute(`aria-describedby`)),r}_validate(){let e=new Set(this._requiredKeys()),t=null,n={};for(let r of this._fieldKeys()){let i=this._root().querySelector(`[data-wlp-input="${r}"]`),a=r===`consent`?i.checked:i.value.trim();n[r]=a;let o=``;!a&&e.has(r)?o=r===`consent`?y:`Enter your ${this._label(r).toLowerCase()}`:r===`email`&&a&&!f.test(a)&&(o=`Enter a valid email address`);let s=this._setFieldError(r,o);o&&!t&&(t=s)}return t?(t.focus(),null):n}_setBusy(e){this._posting=e;let t=this._root().querySelector(`[data-wlp-form]`);e?t.setAttribute(`aria-busy`,`true`):t.removeAttribute(`aria-busy`),this._root().querySelector(`[data-wlp-submit]`).disabled=e}_fail(e,t){this._setBusy(!1);let n=this._root().querySelector(`[data-wlp-form-error]`);n.textContent=t,n.hidden=!t,this._emit(`wui-lead-popup-error`,{message:t,reason:e})}async _onSubmit(e){if(e.preventDefault(),this._posting)return;this._root().querySelector(`[data-wlp-form-error]`).hidden=!0;let t=this._validate();t&&!this.preview&&await this._post(t)}async _post(e){let t=globalThis.WeborityPublicForms;if(!t){S(`gate`,`[@webority/ui-elements] <wui-lead-popup> needs window.WeborityPublicForms. Load Webority.Security.Razor's public-form.js.`),this._fail(`gate`,this._text(`error-text`,v));return}let n=this._text(`error-text`,v),r=this._text(`public-form`);this._setBusy(!0);let i,a;try{i=await t.session(),a=await t.mintToken(r)}catch(e){this._fail(`gate`,k(e,n));return}let o=this._root(),s=new FormData;for(let t of this._fieldKeys())s.append(this._postedName(t),e[t]);s.set(h,i.token),s.set(g,i.formStamp),s.set(_,a),s.set(m,o.querySelector(`[data-wlp-honeypot]`).value),this._emit(`wui-lead-popup-before-submit`,{formData:s});let c;try{c=await fetch(this._text(`action`),{method:`POST`,body:s,credentials:`same-origin`,headers:{"X-Requested-With":`XMLHttpRequest`}})}catch{this._fail(`network`,n);return}if(!c.ok){let e=await c.json().catch(()=>null),t=typeof e?.detail==`string`?e.detail.trim():``;this._fail(`server`,t||n);return}let l=await c.json().catch(()=>null);this._succeed(e,l)}_succeed(e,t){this._setBusy(!1),this._remember(`submitted`),this._emit(`wui-lead-popup-submitted`,{values:e,response:t}),this._showSuccess();let n=this._number(`success-close-seconds`,5);n>0&&(this._closeTimer=setTimeout(()=>this.close(`submitted`),n*1e3))}_arm(){if(this._armed)return;this._armed=!0;let e=this._triggers();if(!e.length)return;this._session=this._loadSession();let t=location.pathname+location.search;if(this._session.pages.includes(t)||this._session.pages.push(t),this._saveSession(),e.includes(`exit`)&&(document.documentElement.addEventListener(`mouseleave`,this._onMouseLeave),document.addEventListener(`visibilitychange`,this._onVisibility)),e.includes(`delay`)){let e=Math.max(0,this._number(`delay-seconds`,30)*1e3-(Date.now()-this._session.start));this._delayTimer=setTimeout(()=>this.open(`delay`),e)}e.includes(`scroll`)&&(window.addEventListener(`scroll`,this._onScroll,{passive:!0}),this._trackScroll()),e.includes(`pages`)&&this._session.pages.length>this._number(`pages-viewed`,2)&&this.open(`pages`)}_disarm(){this._armed=!1,clearTimeout(this._delayTimer),clearTimeout(this._closeTimer),document.documentElement.removeEventListener(`mouseleave`,this._onMouseLeave),document.removeEventListener(`visibilitychange`,this._onVisibility),window.removeEventListener(`scroll`,this._onScroll)}_trackScroll(){let e=document.documentElement.scrollHeight;if(this._session&&e>0){let t=(window.scrollY+window.innerHeight)/e*100;t>this._session.maxScroll&&(this._session.maxScroll=t,this._saveSession()),this._session.maxScroll>this._number(`scroll-percent`,50)&&this.open(`scroll`)}}_fine(){return typeof matchMedia!=`function`||matchMedia(`(pointer: fine)`).matches}_engaged(){let e=this._session;return e?Date.now()-e.start>this._number(`delay-seconds`,30)*1e3||e.maxScroll>this._number(`scroll-percent`,50)||e.pages.length>this._number(`pages-viewed`,2):!1}_sessionKey(){return`wui-lead-popup:${this.getAttribute(`storage-key`)}`}_loadSession(){let e={start:Date.now(),maxScroll:0,pages:[]};try{let e=sessionStorage.getItem(this._sessionKey());if(e){let t=JSON.parse(e);if(Number.isFinite(t.start)&&Number.isFinite(t.maxScroll)&&Array.isArray(t.pages))return t}}catch{return e}return e}_saveSession(){try{sessionStorage.setItem(this._sessionKey(),JSON.stringify(this._session))}catch{}}_readMemory(){let e=this.getAttribute(`storage-key`);if(!e)return null;try{let t=JSON.parse(localStorage.getItem(e)??`null`);if((t?.state===`shown`||t?.state===`submitted`)&&Number.isFinite(Date.parse(t.at)))return t}catch{return null}return null}_blocked(){let e=this._readMemory();if(!e)return!1;let t=e.state===`shown`?this._number(`dismiss-days`,30):this._number(`submitted-days`,365);return Date.now()-Date.parse(e.at)<t*p}_remember(e){let t=this.getAttribute(`storage-key`);if(t&&!this.preview)try{localStorage.setItem(t,JSON.stringify({state:e,at:new Date().toISOString()}))}catch{}}};typeof customElements<`u`&&!customElements.get(`wui-lead-popup`)&&customElements.define(`wui-lead-popup`,A)})();
1
+ (function(){function e(e,t){if(typeof customElements>`u`||customElements.get(e))return;let n=[];if(typeof document<`u`)for(let r of document.querySelectorAll(e))for(let i of Object.keys(r)){let a=Object.getOwnPropertyDescriptor(t.prototype,i);if(a&&(a.set||a.get)&&(n.push([r,i,Reflect.get(r,i)]),!Reflect.deleteProperty(r,i)))throw Error(`defineElement: could not clear the early "${i}" property on <${e}>.`)}customElements.define(e,t);for(let[t,r,i]of n)if(!Reflect.set(t,r,i))throw Error(`defineElement: could not restore the "${r}" property on <${e}>.`)}function t(e,...t){console.warn(e,...t)}function n(e,...t){console.error(e,...t)}var r=`@webority/ui-elements needs a browser DOM; import its types or helpers entry on the server`;if(typeof HTMLElement>`u`)throw Error(r);var i=HTMLElement,a={"--color-primary":`#4F46E5`,"--color-primary-hover":`#4338CA`,"--color-primary-soft":`#E0E7FF`,"--color-primary-text":`#4F46E5`,"--color-on-primary":`#FFFFFF`,"--color-text":`#071437`,"--color-text-muted":`#4B5675`,"--color-border":`#EBEDF3`,"--color-border-strong":`#C4CADA`,"--color-surface":`#FFFFFF`,"--wui-radius-sm":`8px`,"--wui-radius-lg":`14px`,"--wui-shadow-modal":`0px 24px 60px -16px rgba(7, 20, 55, 0.28)`,"--wui-z-modal":`1505`},o=e=>`var(${e}, ${a[e]})`,s=` :host { all: initial; display: contents; font-family: inherit; font-size: 16px; line-height: 1.5; color: ${o(`--color-text`)}; } *, *::before, *::after { box-sizing: border-box; } [hidden] { display: none !important; } dialog { z-index: ${o(`--wui-z-modal`)}; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: inherit; } dialog[open] { display: flex; align-items: center; justify-content: center; } :host([preview]) dialog { position: static; height: auto; } dialog::backdrop { background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(5px); } dialog[open]::backdrop { animation: wlp-fade 0.3s ease-out; } .wlp-card { position: relative; width: 90%; max-width: 440px; max-height: calc(100dvh - 32px); overflow-y: auto; padding: 24px; background: ${o(`--color-surface`)}; color: ${o(`--color-text`)}; border: 1px solid ${o(`--color-border`)}; border-radius: ${o(`--wui-radius-lg`)}; box-shadow: ${o(`--wui-shadow-modal`)}; text-align: start; } dialog[open] .wlp-card { animation: wlp-card-in 0.2s ease-out; } .wlp-close { position: absolute; top: 12px; inset-inline-end: 12px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: ${o(`--color-text-muted`)}; font: inherit; font-size: 22px; line-height: 1; cursor: pointer; } .wlp-close:focus-visible, .wlp-button:focus-visible, .wlp-input:focus-visible, .wlp-secondary:focus-visible { outline: 2px solid ${o(`--color-primary`)}; outline-offset: 2px; } .wlp-heading { margin: 0 32px 8px 0; font-size: 20px; font-weight: 600; line-height: 1.3; color: ${o(`--color-text`)}; } .wlp-description { margin: 0 0 16px; font-size: 14px; color: ${o(`--color-text-muted`)}; } .wlp-form { display: grid; gap: 14px; margin: 0; } .wlp-field { display: grid; gap: 4px; } .wlp-label { font-size: 14px; font-weight: 500; color: ${o(`--color-text`)}; } .wlp-req { margin-inline-start: 2px; color: ${o(`--color-primary`)}; } .wlp-input { width: 100%; padding: 9px 12px; border: 1px solid ${o(`--color-border`)}; border-radius: 8px; background: ${o(`--color-surface`)}; color: ${o(`--color-text`)}; font: inherit; font-size: 15px; } textarea.wlp-input { resize: vertical; min-height: 96px; } .wlp-input[aria-invalid="true"] { border-color: var(--color-danger, #B42318); } .wlp-error { margin: 0; font-size: 13px; color: var(--color-danger, #B42318); } .wlp-form-error { margin: 0; font-size: 14px; color: var(--color-danger, #B42318); } /* The consent field uses the theme's checkbox markup; its look is restated here because the theme's rules cannot reach the shadow root. */ .form-check { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 12px; font-size: 14px; line-height: 1.4; color: ${o(`--color-text`)}; } .form-check-input { flex: none; width: 20px; height: 20px; margin: 0; appearance: none; -webkit-appearance: none; border: 1.6px solid ${o(`--color-border-strong`)}; border-radius: ${o(`--wui-radius-sm`)}; corner-shape: squircle; background-color: ${o(`--color-surface`)}; background-repeat: no-repeat; background-position: center; background-size: 15px 15px; cursor: pointer; transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease; } .form-check-input:hover:not(:checked) { border-color: ${o(`--color-primary`)}; box-shadow: 0 0 0 2px ${o(`--color-primary-soft`)}; } .form-check-input:checked { border-color: ${o(`--color-primary`)}; background-color: ${o(`--color-primary`)}; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E"); } .form-check-input:focus-visible { outline: 2px solid ${o(`--color-primary`)}; outline-offset: 2px; box-shadow: none; } .form-check-input[aria-invalid="true"] { border-color: var(--color-danger, #B42318); } .form-check-label { min-width: 0; cursor: pointer; } .wlp-field-consent .wlp-error { margin-inline-start: 32px; } .wlp-consent-link { grid-column: 2; justify-self: start; color: ${o(`--color-primary-text`)}; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; } .wlp-consent-link:focus-visible { outline: 2px solid ${o(`--color-primary`)}; outline-offset: 2px; border-radius: 4px; } .wlp-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .wlp-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; } .wlp-actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin-top: 4px; } .wlp-button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 8px 16px; border: 1px solid ${o(`--color-primary`)}; border-radius: 8px; background: ${o(`--color-primary`)}; color: ${o(`--color-on-primary`)}; font: inherit; font-size: 15px; font-weight: 500; cursor: pointer; } .wlp-button:hover { background: ${o(`--color-primary-hover`)}; border-color: ${o(`--color-primary-hover`)}; } .wlp-button:disabled { opacity: 0.6; cursor: default; } .wlp-notice { margin: 4px 0 0; font-size: 12px; line-height: 1.4; color: ${o(`--color-text-muted`)}; } .wlp-notice a { color: inherit; text-decoration: underline; } .wlp-secondary-row { display: flex; align-items: center; gap: 10px; margin-top: 14px; font-size: 14px; color: ${o(`--color-text-muted`)}; } .wlp-secondary-row::before, .wlp-secondary-row::after { content: ""; flex: 1; height: 1px; background: ${o(`--color-border`)}; } .wlp-secondary { display: block; margin-top: 10px; text-align: center; color: ${o(`--color-primary`)}; font-weight: 500; } .wlp-success-title { margin: 0 32px 8px 0; font-size: 20px; font-weight: 600; color: ${o(`--color-text`)}; } .wlp-success-text { margin: 0 0 16px; color: ${o(`--color-text-muted`)}; } .wlp-success-view .wlp-button { width: 100%; } @keyframes wlp-fade { from { opacity: 0; } to { opacity: 1; } } @keyframes wlp-card-in { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } } @media (max-width: 575.98px) { .wlp-card { width: calc(100% - 32px); max-width: none; padding: 20px 16px; } .wlp-input { font-size: 16px; } .wlp-button, .wlp-close { min-height: 44px; } .wlp-close { min-width: 44px; } } @media (prefers-reduced-motion: reduce) { dialog[open]::backdrop, dialog[open] .wlp-card { animation: none; } } `,c=[`name`,`email`,`phone`,`company`,`message`,`consent`],l=[`name`,`email`],u={name:`Name`,email:`Email`,phone:`Phone number`,company:`Company`,message:`Message`,consent:`I agree to be contacted about my enquiry`,consentLink:`Privacy policy`},d={name:100,email:320,phone:40,company:150,message:1e3},f={name:`name`,email:`email`,phone:`tel`,company:`organization`},p=`input:not([type=hidden]), textarea, select, button, a[href]`,m=[`exit`,`delay`,`scroll`,`pages`],h=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,g=864e5,_=`comment_subject`,v=`__RequestVerificationToken`,y=`__FormStamp`,b=`__CaptchaToken`,x=`Something went wrong. Please try again or contact us directly.`,S=`Tick the box to continue`,C=`action.public-form.heading.description.fields.required.field-prefix.field-names.labels.max-lengths.submit-label.success-title.success-text.error-text.close-label.secondary-label.secondary-href.secondary-divider.consent-href.triggers.delay-seconds.scroll-percent.pages-viewed.storage-key.dismiss-days.submitted-days.success-close-seconds.preview`.split(`.`),w=new Set;function T(e,n){w.has(e)||(w.add(e),t(n))}var E=0;function D(e){return(e??``).split(/\s+/).map(e=>e.trim()).filter(Boolean)}function O(e){let t={};for(let n of(e??``).split(`;`)){let e=n.indexOf(`=`);if(e<0)continue;let r=n.slice(0,e).trim();r&&(t[r]=n.slice(e+1).trim())}return t}function k(e){return String(e??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}var A=null;function j(e){A||(A=new CSSStyleSheet,A.replaceSync(s)),e.adoptedStyleSheets=[A]}function M(e,t){return e instanceof Error&&e.message?e.message:t}function N(e){return c.some(t=>t===e)}function P(e){return m.some(t=>t===e)}function F(e,t,n){if(e instanceof t)return e;throw Error(`${n} missing`)}e(`wui-lead-popup`,class extends i{_uid;_rendered;_open;_opened;_posting;_stale;_armed;_session;_returnTo;_prevOverflow;_delayTimer;_closeTimer;_modal;_onMouseLeave;_onVisibility;_onScroll;static get observedAttributes(){return C}constructor(){super(),E+=1,this._uid=`wlp-${E}`,this._rendered=!1,this._open=!1,this._opened=!1,this._posting=!1,this._stale=!1,this._armed=!1,this._session=null,this._returnTo=null,this._prevOverflow=``,this._delayTimer=null,this._closeTimer=null,this._onMouseLeave=e=>{!this._fine()||e.clientY>0||!this._engaged()||this.open(`exit`)},this._onVisibility=()=>{document.visibilityState===`hidden`&&!this._fine()&&this._engaged()&&this.open(`exit`)},this._onScroll=()=>this._trackScroll()}get isOpen(){return this._open}set isOpen(e){e?this.open(`manual`):this.close(`dismiss`)}connectedCallback(){this._rendered||this._render(),this._arm(),this.preview&&!this._open&&this.open(`manual`)}disconnectedCallback(){this._disarm(),this._open&&this._release()}attributeChangedCallback(){this._rendered&&(this._open?this._stale=!0:this._render())}open(e=`manual`){if(!this._open&&!(e!==`manual`&&(this._opened||this._blocked()||document.querySelector(`dialog[open], .modal.show`)))){if(this._rendered||this._render(),this._opened=!0,this._open=!0,clearTimeout(this._delayTimer??void 0),this._showForm(),this._modal=!this.preview,this._modal){let e=document.activeElement;this._returnTo=e instanceof HTMLElement||e instanceof SVGElement?e:null,this._prevOverflow=document.documentElement.style.overflow,document.documentElement.style.overflow=`hidden`;let t=this._dialog();t.showModal();let n=t.querySelector(`[data-wlp-field] [data-wlp-input]`);n instanceof HTMLElement&&n.focus()}else this._dialog().setAttribute(`open`,``);this._remember(`shown`),this._emit(`wui-lead-popup-shown`,{trigger:e})}}close(e=`dismiss`){if(!this._open)return;clearTimeout(this._closeTimer??void 0),this._release();let t=this._returnTo;this._returnTo=null,t?.isConnected&&typeof t.focus==`function`&&t.focus(),this._stale&&this._render(),this._emit(`wui-lead-popup-closed`,{reason:e})}_release(){this._open=!1,this._dialog().close(),this._modal&&(document.documentElement.style.overflow=this._prevOverflow)}_root(){return this.shadowRoot??this.attachShadow({mode:`open`})}_dialog(){return F(this._root().querySelector(`dialog`),HTMLDialogElement,`dialog`)}_emit(e,t){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0,detail:t}))}_text(e,t=``){return this.getAttribute(e)||t}_number(e,t){let n=this.getAttribute(e);if(n===null||n.trim()===``)return t;let r=Number(n);return Number.isFinite(r)&&r>=0?r:t}get preview(){return this.hasAttribute(`preview`)}set preview(e){this.toggleAttribute(`preview`,e===!0||e===``||e===`true`)}_fieldKeys(){let e=D(this.getAttribute(`fields`)).filter(e=>N(e)?!0:(T(`field:${e}`,`[@webority/ui-elements] <wui-lead-popup> has no field "${e}". It is ignored.`),!1));return e.length?e:l}_requiredKeys(){let e=this._fieldKeys();return D(this.getAttribute(`required`)).filter(t=>N(t)&&e.includes(t))}_label(e){return O(this.getAttribute(`labels`))[e]||u[e]}_postedName(e){return this._text(`field-prefix`)+(O(this.getAttribute(`field-names`))[e]||e)}_maxLength(e){let t=Number(O(this.getAttribute(`max-lengths`))[e]);return Number.isInteger(t)&&t>0?t:d[e]}_triggers(){if(this.preview)return[];let e=(this.getAttribute(`triggers`)??``).split(/\s+/).filter(P);return e.length?this.getAttribute(`storage-key`)?e:(T(`storage-key`,`[@webority/ui-elements] <wui-lead-popup> has triggers but no storage-key. The triggers are off.`),[]):[]}_render(){let e=this._root();j(e);let t=this._uid,n=this._fieldKeys(),r=new Set(this._requiredKeys()),i=this._text(`heading`),a=this._text(`description`),o=this._text(`secondary-label`),s=this._text(`secondary-href`),c=n.map(e=>this._fieldMarkup(e,r.has(e))).join(``),l=document.createElement(`template`);l.innerHTML=` <dialog class="wlp-dialog" aria-labelledby="${t}-h"${a?` aria-describedby="${t}-d"`:``}> <div class="wlp-card"> <button type="button" class="wlp-close" aria-label="${k(this._text(`close-label`,`Close`))}" data-wlp-close>&times;</button> <div class="wlp-form-view"> <h2 class="wlp-heading" id="${t}-h">${k(i)}</h2> ${a?`<p class="wlp-description" id="${t}-d">${k(a)}</p>`:``} <form class="wlp-form" novalidate data-wlp-form> ${c} <p class="wlp-form-error" role="alert" hidden data-wlp-form-error></p> <div class="wlp-actions"> <button type="submit" class="wlp-button" data-wlp-submit>${k(this._text(`submit-label`,`Send`))}</button> </div> <input type="text" name="${_}" class="wlp-honeypot" tabindex="-1" autocomplete="off" aria-hidden="true" data-wlp-honeypot> <p class="wlp-notice" data-recaptcha-notice>This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Privacy Policy</a> and <a href="https://policies.google.com/terms" target="_blank" rel="noopener">Terms of Service</a> apply.</p> </form> ${o&&s?`<div class="wlp-secondary-row"><span>${k(this._text(`secondary-divider`,`or`))}</span></div><a class="wlp-secondary" href="${k(s)}" data-wlp-secondary>${k(o)}</a>`:``} </div> <div class="wlp-success-view" hidden> <h2 class="wlp-success-title" role="status" tabindex="-1" data-wlp-success-title>${k(this._text(`success-title`,`Thank you`))}</h2> ${this._text(`success-text`)?`<p class="wlp-success-text">${k(this._text(`success-text`))}</p>`:``} <button type="button" class="wlp-button" data-wlp-done>${k(this._text(`close-label`,`Close`))}</button> </div> </div> </dialog>`,e.replaceChildren(l.content),this._rendered=!0,this._stale=!1,this._wire()}_fieldMarkup(e,t){let n=`${this._uid}-f-${e}`,r=`${this._uid}-e-${e}`,i=this._label(e),a=k(this._postedName(e)),o=t?`<span class="wlp-req" aria-hidden="true">*</span><span class="wlp-visually-hidden">required</span>`:``,s=t?` aria-required="true"`:``;if(e===`consent`){let t=this._text(`consent-href`),c=t?`<a class="wlp-consent-link" href="${k(t)}">${k(this._label(`consentLink`))}</a>`:``;return` <div class="wlp-field wlp-field-consent" data-wlp-field="${e}"> <div class="form-check"> <input class="form-check-input" type="checkbox" id="${n}" data-wlp-input="${e}" name="${a}"${s}> <label class="form-check-label" for="${n}">${k(i)}${o}</label> ${c} </div> <p class="wlp-error" id="${r}" hidden></p> </div>`}let c=`id="${n}" data-wlp-input="${e}" name="${a}" maxlength="${this._maxLength(e)}"${s}`,l=e===`message`?`<textarea class="wlp-input" rows="4" ${c}></textarea>`:`<input class="wlp-input" type="${e===`email`?`email`:e===`phone`?`tel`:`text`}" ${c}${f[e]?` autocomplete="${f[e]}"`:``}>`;return` <div class="wlp-field" data-wlp-field="${e}"> <label class="wlp-label" for="${n}">${k(i)}${o}</label> ${l} <p class="wlp-error" id="${r}" hidden></p> </div>`}_wire(){let e=this._dialog();e.addEventListener(`cancel`,e=>{e.preventDefault(),this.close(`escape`)}),e.addEventListener(`click`,t=>{t.target===e&&this.close(`backdrop`)}),e.addEventListener(`keydown`,t=>{if(t.key!==`Tab`||!this._modal)return;let n=Array.from(e.querySelectorAll(p)).filter(e=>e instanceof HTMLElement&&!(`disabled`in e&&e.disabled===!0)&&e.getClientRects().length>0);if(!n.length)return;let r=this._root().activeElement,i=r instanceof HTMLElement?n.indexOf(r):-1;t.preventDefault();let a=n[i===-1?t.shiftKey?n.length-1:0:(i+(t.shiftKey?-1:1)+n.length)%n.length];if(!a)throw Error(`tab stop missing`);a.focus()});for(let t of e.querySelectorAll(`[data-wlp-close]`))t.addEventListener(`click`,()=>this.close(`dismiss`));e.querySelector(`[data-wlp-done]`)?.addEventListener(`click`,()=>this.close(`submitted`)),e.querySelector(`[data-wlp-secondary]`)?.addEventListener(`click`,()=>this.close(`secondary`)),F(e.querySelector(`[data-wlp-form]`),HTMLFormElement,`form`).addEventListener(`submit`,e=>this._onSubmit(e))}_showForm(){let e=this._root();F(e.querySelector(`.wlp-form-view`),HTMLElement,`form view`).hidden=!1,F(e.querySelector(`.wlp-success-view`),HTMLElement,`success view`).hidden=!0}_showSuccess(){let e=this._root();F(e.querySelector(`.wlp-form-view`),HTMLElement,`form view`).hidden=!0;let t=F(e.querySelector(`.wlp-success-view`),HTMLElement,`success view`);t.hidden=!1,F(e.querySelector(`[data-wlp-success-title]`),HTMLElement,`success title`).focus()}_setFieldError(e,t){let n=this._root(),r=F(n.querySelector(`[data-wlp-input="${e}"]`),HTMLElement,`${e} field`),i=F(n.querySelector(`#${this._uid}-e-${e}`),HTMLElement,`${e} error`);return i.textContent=t,i.hidden=!t,t?(r.setAttribute(`aria-invalid`,`true`),r.setAttribute(`aria-describedby`,i.id)):(r.removeAttribute(`aria-invalid`),r.removeAttribute(`aria-describedby`)),r}_validate(){let e=new Set(this._requiredKeys()),t=null,n={};for(let r of this._fieldKeys()){let i=this._root().querySelector(`[data-wlp-input="${r}"]`);if(!(i instanceof HTMLInputElement||i instanceof HTMLTextAreaElement))throw Error(`${r} field missing`);let a=r===`consent`&&i instanceof HTMLInputElement?i.checked:i.value.trim();n[r]=a;let o=``;!a&&e.has(r)?o=r===`consent`?S:`Enter your ${this._label(r).toLowerCase()}`:r===`email`&&a&&!h.test(String(a))&&(o=`Enter a valid email address`);let s=this._setFieldError(r,o);o&&!t&&(t=s)}return t?(t.focus(),null):n}_setBusy(e){this._posting=e;let t=F(this._root().querySelector(`[data-wlp-form]`),HTMLElement,`form`);e?t.setAttribute(`aria-busy`,`true`):t.removeAttribute(`aria-busy`),F(this._root().querySelector(`[data-wlp-submit]`),HTMLButtonElement,`submit button`).disabled=e}_fail(e,t){this._setBusy(!1);let n=F(this._root().querySelector(`[data-wlp-form-error]`),HTMLElement,`form error`);n.textContent=t,n.hidden=!t,this._emit(`wui-lead-popup-error`,{message:t,reason:e})}async _onSubmit(e){if(e.preventDefault(),this._posting)return;F(this._root().querySelector(`[data-wlp-form-error]`),HTMLElement,`form error`).hidden=!0;let t=this._validate();t&&!this.preview&&await this._post(t)}async _post(e){let t=globalThis.WeborityPublicForms;if(!t){T(`gate`,`[@webority/ui-elements] <wui-lead-popup> needs window.WeborityPublicForms. Load Webority.Security.Razor's public-form.js.`),this._fail(`gate`,this._text(`error-text`,x));return}let r=this._text(`error-text`,x),i=this._text(`public-form`);this._setBusy(!0);let a,o;try{a=await t.session(),o=await t.mintToken(i)}catch(e){this._fail(`gate`,M(e,r));return}let s=this._root(),c=new FormData;for(let t of this._fieldKeys())c.append(this._postedName(t),String(e[t]));c.set(v,a.token),c.set(y,a.formStamp),c.set(b,o),c.set(_,F(s.querySelector(`[data-wlp-honeypot]`),HTMLInputElement,`honeypot`).value),this._emit(`wui-lead-popup-before-submit`,{formData:c});let l;try{l=await fetch(this._text(`action`),{method:`POST`,body:c,credentials:`same-origin`,headers:{"X-Requested-With":`XMLHttpRequest`}})}catch{this._fail(`network`,r);return}let u;try{u=await this._readJson(l)}catch(e){n(`<wui-lead-popup> could not read the response body`,e),this._fail(`server`,r);return}if(l.ok)this._succeed(e,u);else{let e=typeof u==`object`&&u&&`detail`in u&&typeof u.detail==`string`?u.detail.trim():``;this._fail(`server`,e||r)}}async _readJson(e){return e.json()}_succeed(e,t){this._setBusy(!1),this._remember(`submitted`),this._emit(`wui-lead-popup-submitted`,{values:e,response:t}),this._showSuccess();let n=this._number(`success-close-seconds`,5);n>0&&(this._closeTimer=setTimeout(()=>this.close(`submitted`),n*1e3))}_arm(){if(this._armed)return;this._armed=!0;let e=this._triggers();if(!e.length)return;this._session=this._loadSession();let t=location.pathname+location.search;if(this._session.pages.includes(t)||this._session.pages.push(t),this._saveSession(),e.includes(`exit`)&&(document.documentElement.addEventListener(`mouseleave`,this._onMouseLeave),document.addEventListener(`visibilitychange`,this._onVisibility)),e.includes(`delay`)){let e=Math.max(0,this._number(`delay-seconds`,30)*1e3-(Date.now()-this._session.start));this._delayTimer=setTimeout(()=>this.open(`delay`),e)}e.includes(`scroll`)&&(window.addEventListener(`scroll`,this._onScroll,{passive:!0}),this._trackScroll()),e.includes(`pages`)&&this._session.pages.length>this._number(`pages-viewed`,2)&&this.open(`pages`)}_disarm(){this._armed=!1,clearTimeout(this._delayTimer??void 0),clearTimeout(this._closeTimer??void 0),document.documentElement.removeEventListener(`mouseleave`,this._onMouseLeave),document.removeEventListener(`visibilitychange`,this._onVisibility),window.removeEventListener(`scroll`,this._onScroll)}_trackScroll(){let e=document.documentElement.scrollHeight;if(this._session&&e>0){let t=(window.scrollY+window.innerHeight)/e*100;t>this._session.maxScroll&&(this._session.maxScroll=t,this._saveSession()),this._session.maxScroll>this._number(`scroll-percent`,50)&&this.open(`scroll`)}}_fine(){return typeof matchMedia!=`function`||matchMedia(`(pointer: fine)`).matches}_engaged(){let e=this._session;return e?Date.now()-e.start>this._number(`delay-seconds`,30)*1e3||e.maxScroll>this._number(`scroll-percent`,50)||e.pages.length>this._number(`pages-viewed`,2):!1}_sessionKey(){return`wui-lead-popup:${this.getAttribute(`storage-key`)}`}_loadSession(){let e={start:Date.now(),maxScroll:0,pages:[]};try{let e=sessionStorage.getItem(this._sessionKey());if(e){let t=JSON.parse(e);if(Number.isFinite(t.start)&&Number.isFinite(t.maxScroll)&&Array.isArray(t.pages))return t}}catch{return e}return e}_saveSession(){try{sessionStorage.setItem(this._sessionKey(),JSON.stringify(this._session))}catch{}}_readMemory(){let e=this.getAttribute(`storage-key`);if(!e)return null;try{let t=JSON.parse(localStorage.getItem(e)??`null`);if((t?.state===`shown`||t?.state===`submitted`)&&Number.isFinite(Date.parse(t.at)))return t}catch{return null}return null}_blocked(){let e=this._readMemory();if(!e)return!1;let t=e.state===`shown`?this._number(`dismiss-days`,30):this._number(`submitted-days`,365);return Date.now()-Date.parse(e.at)<t*g}_remember(e){let t=this.getAttribute(`storage-key`);if(t&&!this.preview)try{localStorage.setItem(t,JSON.stringify({state:e,at:new Date().toISOString()}))}catch{}}})})();