@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
@@ -0,0 +1,157 @@
1
+ import { ElementBase } from "./elementBase.ts";
2
+ import { type SummaryFormat } from "./kanbanModel.ts";
3
+ interface Verdict {
4
+ ok: boolean;
5
+ source?: boolean;
6
+ reason: string | null;
7
+ }
8
+ interface MoveDetail {
9
+ key: string | null;
10
+ card: HTMLElement;
11
+ from: string | null;
12
+ to: string | null;
13
+ index: number;
14
+ }
15
+ interface Snapshot {
16
+ parent: Node | null;
17
+ next: Node | null;
18
+ column: Element;
19
+ revealed: boolean;
20
+ }
21
+ interface PressState {
22
+ card: HTMLElement;
23
+ id: number;
24
+ x: number;
25
+ y: number;
26
+ type: string;
27
+ timer: ReturnType<typeof setTimeout> | 0;
28
+ }
29
+ interface DragState {
30
+ card: HTMLElement;
31
+ from: string | null;
32
+ ghost: HTMLElement;
33
+ dx: number;
34
+ dy: number;
35
+ x: number;
36
+ y: number;
37
+ over: HTMLElement | null;
38
+ verdicts: Map<string | null, Verdict>;
39
+ }
40
+ interface KeyboardLift {
41
+ card: HTMLElement;
42
+ from: string | null;
43
+ target: number;
44
+ verdicts: Map<string | null, Verdict>;
45
+ }
46
+ export declare class WuiKanban extends ElementBase {
47
+ accept?: (card: HTMLElement, from: string | null, to: string | null) => boolean | string | undefined;
48
+ _wired: boolean;
49
+ _filter: ((card: HTMLElement) => boolean) | null;
50
+ _expanded: Set<string | null>;
51
+ _revealed: Set<string | null>;
52
+ _press: PressState | null;
53
+ _drag: DragState | null;
54
+ _kbd: KeyboardLift | null;
55
+ _suppressClick: boolean;
56
+ _observer: MutationObserver | null;
57
+ _refreshQueued: boolean;
58
+ _scrollTimer: ReturnType<typeof setTimeout> | 0;
59
+ _onPointerMove: (e: PointerEvent) => void;
60
+ _onPointerUp: (e: PointerEvent) => void;
61
+ _onPointerCancel: () => void;
62
+ _onDocKeyDown: (e: KeyboardEvent) => void;
63
+ _onScroll: () => void;
64
+ constructor();
65
+ /** True when the host owns the cards (React): the element reports moves and never makes them. */
66
+ _controlled(): boolean;
67
+ connectedCallback(): void;
68
+ disconnectedCallback(): void;
69
+ /** Show only the cards for which `fn(card)` returns true; null shows every card. */
70
+ setFilter(fn: ((card: HTMLElement) => boolean) | null): void;
71
+ /**
72
+ * Recount every column, recompute summaries and empty states, re-apply the filter and each
73
+ * column's visible-card cap.
74
+ */
75
+ refresh(): void;
76
+ /**
77
+ * Move a card by key to a column, through the same rules and persistence as a drop. Resolves
78
+ * true when the move was made (and saved, in server mode), false when it was refused or failed.
79
+ */
80
+ moveCard(key: string, toKey: string, index?: number): Promise<boolean>;
81
+ _columns(): HTMLElement[];
82
+ _columnByKey(key: string | null): HTMLElement | null;
83
+ _columnOf(card: Element): HTMLElement | null;
84
+ _titleOf(column: Element): string;
85
+ _bodyOf(column: Element): HTMLElement | null;
86
+ _cardsIn(column: Element): HTMLElement[];
87
+ _visibleCardsIn(column: Element): HTMLElement[];
88
+ _allCards(): HTMLElement[];
89
+ _cardByKey(key: string | null): HTMLElement | null;
90
+ _countsOf(column: Element): Element[];
91
+ _scroller(): HTMLElement | null;
92
+ _summaryFormat(): SummaryFormat | null;
93
+ _queueRefresh(): void;
94
+ _prepareCard(card: HTMLElement): void;
95
+ _announce(message: string | null | undefined): void;
96
+ _fire(type: string, detail: unknown, cancelable?: boolean): boolean;
97
+ /** Whether a card may leave its column at all; announces why not. */
98
+ _canLift(card: HTMLElement): boolean;
99
+ /** `{ ok, reason }` for a move of `card` from `fromKey` into the column `toKey`. */
100
+ _check(card: HTMLElement, fromKey: string | null, toKey: string | null): Verdict;
101
+ _markTargets(card: HTMLElement, fromKey: string | null): Map<string | null, Verdict>;
102
+ _clearTargets(): void;
103
+ /**
104
+ * Make (or, in controlled mode, request) a move already known to be allowed by the marks, or
105
+ * check it here for a programmatic move. Resolves true once the move stands.
106
+ */
107
+ _commit(card: HTMLElement, toKey: string | null, index?: number): Promise<boolean>;
108
+ _runStep(card: HTMLElement, detail: MoveDetail, snapshot: Snapshot, url: string, size: string | null): Promise<boolean>;
109
+ _lock(card: HTMLElement, on: boolean): void;
110
+ _rollback(card: HTMLElement, snapshot: Snapshot): void;
111
+ /**
112
+ * Apply a server fragment: every `[data-wui-card]` in it replaces the card with the same key
113
+ * where it stands, and every `template[data-wui-kanban-summary="col"]` becomes that column's
114
+ * summary. Returns the fresh element of the first card replaced, or null.
115
+ */
116
+ _applyFragment(html: string): HTMLElement | null;
117
+ _refocusSoon(key: string | null): void;
118
+ /** Focus a card a keyboard move just placed, scrolled into view inside its column's own scroll. */
119
+ _focusMoved(card: HTMLElement): void;
120
+ _pointerDown(e: PointerEvent): void;
121
+ _pointerMove(e: PointerEvent): void;
122
+ _pointerUp(e: PointerEvent): void;
123
+ _startDrag(press: PressState, x: number, y: number): void;
124
+ _dragTo(x: number, y: number): void;
125
+ /** The column under a viewport point, by layout boxes (the ghost never gets in the way). */
126
+ _columnAt(x: number, y: number): HTMLElement | null;
127
+ /** Where in `column` a drop at viewport height `y` lands, counted over its visible cards. */
128
+ _indexAt(column: HTMLElement, y: number): number;
129
+ _autoScroll(x: number, y: number, over: HTMLElement | null): void;
130
+ /**
131
+ * Scroll a column's card list one step when `y` is near its top or bottom edge and the list
132
+ * can still move that way. True when it scrolled. A list that does not overflow (any board
133
+ * without `fill`) never scrolls here.
134
+ */
135
+ _scrollColumn(column: HTMLElement, y: number): boolean;
136
+ _endPointer(drop: boolean): void;
137
+ _click(e: MouseEvent): void;
138
+ _keyDown(e: KeyboardEvent): void;
139
+ _liftedKey(e: KeyboardEvent, kbd: KeyboardLift): void;
140
+ _endKeyboard(): void;
141
+ _restoreCollapsed(): void;
142
+ _setCollapsed(column: HTMLElement, collapsed: boolean | undefined, remember: boolean): void;
143
+ /** "Show N more" opens the column; "Show fewer" puts the cap back, dropped cards included. */
144
+ _toggleMore(column: HTMLElement | null): void;
145
+ /** Cards a server-paged column holds past the ones on the page; 0 for any other column. */
146
+ _unloadedIn(column: HTMLElement): number;
147
+ /**
148
+ * Fetch the next cards of a server-paged column and append those the board does not hold yet.
149
+ * A failed load leaves the column as it was and says so in a toast.
150
+ */
151
+ _loadMore(column: HTMLElement | null): Promise<void>;
152
+ _loadOnScroll(target: Element): void;
153
+ _isPhone(): boolean;
154
+ _showColumn(key: string | null, scroll?: boolean): void;
155
+ _syncSwitcherFromScroll(): void;
156
+ }
157
+ export {};
@@ -0,0 +1,77 @@
1
+ /** Column tones (the dot beside a column title). */
2
+ export declare const KANBAN_TONES: readonly string[];
3
+ /** Formats a column summary can be computed in: the sum of the visible cards' values. */
4
+ export declare const KANBAN_SUMMARY_FORMATS: readonly string[];
5
+ /** localStorage key prefix of a board's remembered collapsed columns. */
6
+ export declare const KANBAN_STORAGE_PREFIX = "wui-kanban:";
7
+ /** Below this width the board shows one column per screen with a switcher. */
8
+ export declare const KANBAN_PHONE_QUERY = "(max-width: 767.98px)";
9
+ /** How long a finger rests on a card before it lifts (a shorter touch is a scroll). */
10
+ export declare const KANBAN_LONG_PRESS_MS = 400;
11
+ /** How far a mouse or pen moves before a press becomes a drag. */
12
+ export declare const KANBAN_DRAG_THRESHOLD_PX = 6;
13
+ /** The words the board says on its own. */
14
+ export declare const KANBAN_TEXT: Readonly<{
15
+ help: "Press Space to pick up the card. Use the Left and Right arrow keys to choose a column, then Space to drop it, or Escape to cancel.";
16
+ empty: "Nothing here";
17
+ collapse: (column: string) => string;
18
+ expand: (column: string) => string;
19
+ lifted: (card: string, column: string) => string;
20
+ over: (column: string, count: number) => string;
21
+ overSource: (column: string) => string;
22
+ overRefused: (column: string, reason: string) => string;
23
+ dropHere: (card: string, column: string) => string;
24
+ refused: (from: string, to: string) => string;
25
+ moved: (card: string, column: string) => string;
26
+ saving: (card: string, column: string) => string;
27
+ cancelled: (card: string) => string;
28
+ rolledBack: (card: string, column: string) => string;
29
+ locked: (card: string) => string;
30
+ more: (count: number) => string;
31
+ fewer: "Show fewer";
32
+ loadMore: (n: number) => string;
33
+ loading: "Loading…";
34
+ loadFailed: "More cards could not be loaded. Try again.";
35
+ swipeHint: "Swipe sideways or tap a column";
36
+ busy: "This card is still saving. Try again in a moment.";
37
+ failed: Readonly<{
38
+ forbidden: "You do not have permission to move this card.";
39
+ client: "This card could not be moved. Refresh the board and try again.";
40
+ validation: "This card could not be moved. Refresh the board and try again.";
41
+ server: "Something went wrong on our side, so the card went back. Try again in a moment.";
42
+ network: "Could not reach the server, so the card went back. Check your connection and try again.";
43
+ }>;
44
+ }>;
45
+ export interface SummaryFormat {
46
+ style: string;
47
+ currency?: string;
48
+ unit?: string;
49
+ decimals?: number;
50
+ }
51
+ /**
52
+ * A column's visible-card cap from its attribute or prop: null when unset, else a whole number of
53
+ * 1 or more. Throws on anything else: a wrong cap is the caller's bug, never guessed at.
54
+ */
55
+ export declare function kanbanVisibleLimit(value: unknown): number | null;
56
+ /**
57
+ * Which of a column's shown cards wait behind its "Show N more" button. `keys` are the cards the
58
+ * filter lets through, in order; the first `limit` show, and so does every key in `revealed`
59
+ * (cards just dropped there), on top of the cap. Returns the set of keys held back; empty when
60
+ * there is no cap or the column is expanded.
61
+ */
62
+ export declare function kanbanOverflow(keys: readonly (string | null)[], limit: number | null, expanded: boolean, revealed: ReadonlySet<string | null>): Set<string | null>;
63
+ /** Name of a card for announcements: its aria-label, else its text, trimmed. */
64
+ export declare function kanbanCardLabel(card: Element): string;
65
+ /** The storage key of a board's remembered state, or null when the board has no id. */
66
+ export declare function kanbanStorageKey(boardId: string | null | undefined): string | null;
67
+ /** Read the remembered collapsed state: `{ [columnKey]: boolean }`, empty when nothing is stored. */
68
+ export declare function readKanbanCollapsed(boardId: string | null | undefined, storage?: Storage | undefined): Record<string, boolean>;
69
+ /** Remember one column's collapsed state; other columns keep theirs. */
70
+ export declare function writeKanbanCollapsed(boardId: string | null | undefined, columnKey: string | null, collapsed: boolean | undefined, storage?: Storage | undefined): void;
71
+ /**
72
+ * The format object `formatValue` takes for a computed summary. Throws on a value outside the
73
+ * vocabulary: a wrong format is the caller's bug, never mapped to a right one.
74
+ */
75
+ export declare function kanbanSummaryFormat(format: string, unit?: string | null): SummaryFormat;
76
+ /** Sum of numeric values, ignoring blanks and anything that is not a finite number. */
77
+ export declare function sumKanbanValues(values: readonly unknown[]): number;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare const THEME_DEFAULTS: Record<string, string>;
2
+ export declare const LEAD_POPUP_CSS: string;
@@ -0,0 +1,87 @@
1
+ export type SortOrder = "asc" | "desc";
2
+ export type FacetType = "enum" | "multiEnum" | "dateRange" | "text";
3
+ export interface ListFacet {
4
+ key: string;
5
+ type: FacetType;
6
+ }
7
+ type FilterScalar = string | number | boolean | Date | null | undefined;
8
+ export type FacetValue = FilterScalar | FilterScalar[] | {
9
+ from?: FilterScalar;
10
+ to?: FilterScalar;
11
+ };
12
+ export interface BuildListQueryOptions {
13
+ page?: number;
14
+ pageSize?: number;
15
+ sortBy?: string;
16
+ sortOrder?: unknown;
17
+ search?: string;
18
+ filters?: Record<string, FacetValue>;
19
+ }
20
+ export interface ListQueryDefaults {
21
+ page?: number;
22
+ pageSize?: number;
23
+ sortBy?: string;
24
+ sortOrder?: SortOrder;
25
+ filters?: Record<string, FacetValue>;
26
+ }
27
+ export interface ParseListQueryOptions {
28
+ facets?: ListFacet[];
29
+ defaults?: ListQueryDefaults;
30
+ }
31
+ export interface ParsedListQuery {
32
+ page: number;
33
+ pageSize: number | undefined;
34
+ sortBy: string | undefined;
35
+ sortOrder: SortOrder;
36
+ search: string;
37
+ filters: Record<string, FacetValue>;
38
+ }
39
+ /** The list-query params the table itself owns; every other param is a filter. */
40
+ export declare const LIST_QUERY_RESERVED: readonly string[];
41
+ /** The filter param a search box writes (Webority.Ui.Razor ListQuery.SearchKey). */
42
+ export declare const SEARCH_PARAM = "search";
43
+ /**
44
+ * Builds the flat query string for one page of a list.
45
+ *
46
+ * A filter value is a scalar, an array (one param per item) or a date range `{ from, to }`
47
+ * (written as `<name>From` / `<name>To`). Empty values are left out. A `Date` is written as
48
+ * yyyy-MM-dd.
49
+ *
50
+ * @param [query]
51
+ * @param [query.page] 1-based.
52
+ * @param [query.pageSize]
53
+ * @param [query.sortBy]
54
+ * @param [query.sortOrder='asc'] Written only with `sortBy`.
55
+ * @param [query.search] Free text, trimmed, written as the `search` param and left out when blank.
56
+ * @param [query.filters]
57
+ * @throws When a filter is named page, pageSize, sortBy, sortOrder or search, or `sortOrder` is not asc or desc.
58
+ */
59
+ export declare function buildListQuery({ page, pageSize, sortBy, sortOrder, search, filters }?: BuildListQueryOptions): URLSearchParams;
60
+ /** The empty value of a facet: "" (enum, text), [] (multiEnum) or { from: "", to: "" } (dateRange). */
61
+ export declare function emptyFacetValue(facet: Pick<ListFacet, "type">): string | string[] | {
62
+ from: string;
63
+ to: string;
64
+ };
65
+ /** True when a facet's value narrows the list. */
66
+ export declare function isFacetActive(facet: Pick<ListFacet, "type">, value: FacetValue): boolean;
67
+ /** Every query param name a list owns: the reserved five plus each facet's own (`<key>From`/`<key>To` for a date range). */
68
+ export declare function listQueryParamNames(facets?: readonly ListFacet[]): Set<string>;
69
+ /**
70
+ * Reads a list query back out of the URL's search params: the inverse of `buildListQuery`.
71
+ * Anything missing or invalid falls back to `defaults`. Every facet gets a value, empty when the
72
+ * URL has none, so the result is always safe to render.
73
+ *
74
+ * `defaults.filters` apply only when the URL carries no list param at all (the first landing on
75
+ * the page). After that the URL is the truth, so clearing a filter that has a default stays cleared.
76
+ *
77
+ * `search` is read from the URL only: trimmed, and empty when the URL has none. `pageSize` is
78
+ * undefined when neither the URL nor `defaults.pageSize` names one, so the request omits it and
79
+ * the server default applies.
80
+ *
81
+ * @param searchParams
82
+ * @param [options]
83
+ * @param [options.facets]
84
+ * @param [options.defaults]
85
+ */
86
+ export declare function parseListQuery(searchParams: URLSearchParams | string, { facets, defaults }?: ParseListQueryOptions): ParsedListQuery;
87
+ export {};
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Shared keyboard-navigation handler for listbox controls (select, autocomplete, multiselect).
3
+ * Encapsulates the common pattern: cursor movement (arrows, home/end, page up/down), typeahead
4
+ * buffer + 500ms clear, and Escape dismissal. Behavior that differs per control (what Enter does,
5
+ * what Escape does beyond close) is passed as callbacks.
6
+ *
7
+ * **Invariant:** The `visible()` callback and the `setActive()` mechanism must already exist on
8
+ * the caller's instance; this module provides only the keydown handler and typeahead management.
9
+ *
10
+ * **Signature:**
11
+ * ```
12
+ * const handler = createListboxKeyNav({
13
+ * getVisibleOptions: () => [...non-hidden option elements],
14
+ * getActive: () => this._active,
15
+ * setActive: (i) => { ... },
16
+ * onEnter: (activeOption, opts) => { ... }, // fired when Enter pressed & active option exists
17
+ * onEscape: () => { ... }, // fired when Escape pressed
18
+ * onTypeahead: (char) => { ... }, // optional: invoked for printable keys outside input
19
+ * typeaheadMs: 500, // optional: buffer clear timeout (default 500)
20
+ * });
21
+ * // Then bind: element.addEventListener('keydown', handler);
22
+ * // On unmount: handler.teardown();
23
+ * ```
24
+ *
25
+ * **Key contract:** setActive(-1) on close and on Escape is the caller's responsibility
26
+ * (or part of onEscape). This module manages the cursor AND the typeahead buffer lifecycle,
27
+ * but does NOT know how to open/close, those are element-specific (control button, menu div).
28
+ */
29
+ export interface ListboxKeyNavConfig {
30
+ getVisibleOptions: () => HTMLElement[];
31
+ getActive: () => number;
32
+ setActive: (index: number) => void;
33
+ onEnter?: (activeOption: HTMLElement | undefined, visibleOptions: HTMLElement[]) => void;
34
+ onEscape?: () => void;
35
+ onTypeahead?: (char: string, activeIndex: number, visibleOptions: HTMLElement[]) => void;
36
+ typeaheadMs?: number;
37
+ }
38
+ export interface ListboxKeyNav {
39
+ handler: (e: KeyboardEvent) => void;
40
+ clearTypeahead: () => void;
41
+ teardown: () => void;
42
+ }
43
+ /**
44
+ * Factory: creates a keydown handler + typeahead management for a listbox.
45
+ * @param config
46
+ * @param config.getVisibleOptions - returns array of currently visible option elements
47
+ * @param config.getActive - returns current active index
48
+ * @param config.setActive - (index) => void, sets the active cursor
49
+ * @param [config.onEnter] - (activeOption, visibleOptions) => void, Enter key action
50
+ * @param [config.onEscape] - () => void, Escape key action (may include close + teardown)
51
+ * @param [config.onTypeahead] - (char, activeIndex, visibleOptions) => void, char matched to option
52
+ * @param [config.typeaheadMs] - clear buffer timeout (default 500)
53
+ * @returns { handler: (KeyboardEvent) => void, teardown: () => void, clearTypeahead: () => void }
54
+ */
55
+ export declare function createListboxKeyNav(config: ListboxKeyNavConfig): ListboxKeyNav;
56
+ /**
57
+ * Moves the `is-active` highlight inside `container` to `next` (null clears it), touching only the
58
+ * row that had it and the row that gets it. A pointer moving through a long list calls this many
59
+ * times a second, so it must not walk every option.
60
+ * @param container the element holding the option rows
61
+ * @param next the row to highlight
62
+ */
63
+ export declare function moveActiveRow(container: Element, next: Element | null): void;
@@ -0,0 +1,45 @@
1
+ /** An id a mention may carry: an opaque public id, never markup. */
2
+ export declare const MENTION_ID_PATTERN: RegExp;
3
+ export type MentionPart = {
4
+ text: string;
5
+ } | {
6
+ id: string;
7
+ label: string;
8
+ };
9
+ export interface MentionSpan {
10
+ start: number;
11
+ end: number;
12
+ id: string;
13
+ label: string;
14
+ }
15
+ /** The label as a token can hold it: no brackets or line breaks, trimmed, at most 100 characters. */
16
+ export declare function mentionLabel(label: unknown): string;
17
+ /**
18
+ * Split a stored value into what reads as text and the people it mentions.
19
+ * @param value
20
+ * @returns In order; adjacent text is joined.
21
+ */
22
+ export declare function parseMentionValue(value: string): MentionPart[];
23
+ /**
24
+ * What a value reads as in a text box, with where each mention sits in it.
25
+ * @param value
26
+ * @returns The text and the mention spans in it.
27
+ */
28
+ export declare function mentionTextFromValue(value: string): {
29
+ text: string;
30
+ mentions: MentionSpan[];
31
+ };
32
+ /**
33
+ * The stored value for text and the mentions placed in it. A mention whose span no longer reads
34
+ * "@Label" is dropped and its text kept as typed.
35
+ * @param text
36
+ * @param mentions
37
+ * @returns
38
+ */
39
+ export declare function mentionValueFromText(text: string, mentions?: MentionSpan[]): string;
40
+ /**
41
+ * The ids a value mentions, each once, in the order first mentioned.
42
+ * @param value
43
+ * @returns
44
+ */
45
+ export declare function mentionedIds(value: string): string[];
@@ -0,0 +1 @@
1
+ export declare function revealActiveNavItem(scroller: HTMLElement | null | undefined): void;
@@ -0,0 +1,50 @@
1
+ /** A count above this shows as "99+". */
2
+ export declare const NOTIFICATION_COUNT_CAP = 99;
3
+ export type NotificationTime = string | number | Date;
4
+ export interface DatedNotification {
5
+ id: string;
6
+ at: NotificationTime;
7
+ }
8
+ export interface NotificationDayGroup<T extends DatedNotification> {
9
+ key: string;
10
+ heading: string;
11
+ items: T[];
12
+ }
13
+ /** The words the centre says on its own. */
14
+ export declare const NOTIFICATION_TEXT: Readonly<{
15
+ label: "Notifications";
16
+ empty: "You are all caught up.";
17
+ markAll: "Mark all read";
18
+ viewAll: "View all";
19
+ unreadPrefix: "Unread: ";
20
+ today: "Today";
21
+ yesterday: "Yesterday";
22
+ allRead: "All notifications marked as read.";
23
+ noneUnread: "No unread notifications";
24
+ failed: Readonly<{
25
+ forbidden: "You do not have permission to mark these as read.";
26
+ client: "These could not be marked as read. Refresh the page and try again.";
27
+ validation: "These could not be marked as read. Refresh the page and try again.";
28
+ server: "Something went wrong on our side, so these were not marked as read. Try again in a moment.";
29
+ network: "Could not reach the server, so these were not marked as read. Check your connection and try again.";
30
+ }>;
31
+ }>;
32
+ /** "99+" above the cap, otherwise the number. */
33
+ export declare function notificationCountText(unread: number): string;
34
+ /** The bell's name: the badge is hidden from assistive tech, so the name carries the count. */
35
+ export declare function notificationTriggerLabel(label: string, unread: number): string;
36
+ /** What a screen reader hears when the count changes. */
37
+ export declare function notificationUnreadAnnouncement(unread: number): string;
38
+ /** The IST time of day an item shows, 14:05. A bare day has none: read as midnight IST it would show 00:00. */
39
+ export declare function notificationTime(at: string): string;
40
+ /** "Today", "Yesterday" or the date (04-Oct-2026) of an instant, by India's calendar days. */
41
+ export declare function notificationDayHeading(at: NotificationTime, now?: NotificationTime): string;
42
+ /**
43
+ * Items grouped by India's calendar day of `at`, in the order each day first appears (newest first
44
+ * in, newest first out). A group is `{ key, heading, items }`; `key` is the date and is stable
45
+ * across the day, `heading` is Today, Yesterday or the date.
46
+ *
47
+ * @param items
48
+ * @param [now] The clock for Today and Yesterday; defaults to the time of the call.
49
+ */
50
+ export declare function groupNotificationsByDay<T extends DatedNotification>(items: T[], now?: NotificationTime): NotificationDayGroup<T>[];
@@ -0,0 +1,27 @@
1
+ /** Set by _snapshotDeclared() on options read from author-written <wui-option> children, and by withTrustedLabel(). */
2
+ export declare const TRUSTED_HTML: unique symbol;
3
+ export interface SelectOptionLabel {
4
+ label?: unknown;
5
+ icon?: unknown;
6
+ flag?: unknown;
7
+ value?: unknown;
8
+ [TRUSTED_HTML]?: boolean;
9
+ }
10
+ /**
11
+ * A copy of the option whose label is markup to render as-is. Only for markup a wrapper
12
+ * rendered itself from author code (a React node label); never for option data from a request.
13
+ */
14
+ export declare const withTrustedLabel: <T extends SelectOptionLabel>(o: T) => T;
15
+ declare const escapeHtml: (v: unknown) => string;
16
+ /** HTML for an option's label. Author markup passes through; everything else is escaped. */
17
+ export declare const optionLabelHtml: (o: SelectOptionLabel | null | undefined) => string;
18
+ /** Drops tags from a plain string. Entities are left as written; use optionText for a trusted label. */
19
+ export declare const stripTags: (html: unknown) => string;
20
+ /**
21
+ * The visible text of an option's label: display text after a pick, search matching and
22
+ * accessible names. A trusted label is markup, so its entities (&nbsp; &amp;) are decoded
23
+ * through an inert template, the way WuiSelect reads textContent; any other label is data
24
+ * and keeps the tag strip. Cached per option, since a search runs this on every keystroke.
25
+ */
26
+ export declare const optionText: (o: SelectOptionLabel | null | undefined) => string;
27
+ export { escapeHtml };
@@ -0,0 +1,12 @@
1
+ export interface OverlayInstance {
2
+ tip?: Element | null;
3
+ hide(): void;
4
+ dispose(): void;
5
+ }
6
+ /** Bootstrap's Tooltip or Popover class: its event namespace and its instance lookup. */
7
+ export interface OverlayComponent {
8
+ readonly EVENT_KEY: string;
9
+ getInstance(element: Element): OverlayInstance | null;
10
+ }
11
+ /** Dispose the `kind` (Tooltip or Popover) instance on `el` without cutting its hide transition short. */
12
+ export declare function releaseOverlay(kind: OverlayComponent, el: Element): void;
@@ -0,0 +1,4 @@
1
+ export declare const BAR_BULK_IN_BAR_ATTRIBUTE: string;
2
+ export declare function barBulkCountText(n: number): string;
3
+ export declare function applyBarBulk(header: HTMLElement, selected: number): void;
4
+ export declare function initPageBarBulk(root?: ParentNode): void;
@@ -0,0 +1,50 @@
1
+ export interface CustomPasswordRule {
2
+ label: string;
3
+ pattern: string;
4
+ }
5
+ export interface PasswordRules {
6
+ minLength: number;
7
+ uppercase: boolean;
8
+ lowercase: boolean;
9
+ digit: boolean;
10
+ special: boolean;
11
+ uniqueChars: number;
12
+ customRules: ReadonlyArray<CustomPasswordRule>;
13
+ }
14
+ export type PasswordRuleOptions = true | Partial<PasswordRules> | null | undefined;
15
+ export interface PasswordRule {
16
+ key: string;
17
+ label: string;
18
+ test: (value: string) => boolean;
19
+ }
20
+ export interface PasswordRuleResult {
21
+ key: string;
22
+ label: string;
23
+ met: boolean;
24
+ }
25
+ /** The default policy. A product whose server accepts fewer characters sets `minLength` itself. */
26
+ export declare const DEFAULT_PASSWORD_RULES: PasswordRules;
27
+ /** Popover heading, so both surfaces read the same. */
28
+ export declare const DEFAULT_REQUIREMENTS_TITLE: string;
29
+ /**
30
+ * Build the ordered rule list from an options object. Each rule is `{ key, label, test }`.
31
+ * A rule is included only when its option is on (a positive `minLength`/`uniqueChars`, a truthy
32
+ * boolean), so a host that does not require, say, a special character simply omits that line.
33
+ *
34
+ * `customRules` is a list of `{ label, pattern }`: a product's own rule, ticked when the regular
35
+ * expression `pattern` (a JavaScript RegExp source string, e.g. `"^\\S*$"` for no spaces) matches the
36
+ * password. They follow the built-in rules, keyed `custom-0`, `custom-1`, and so on.
37
+ *
38
+ * @param options `true` for the defaults, or an override object.
39
+ */
40
+ export declare function buildPasswordRules(options?: PasswordRuleOptions): PasswordRule[];
41
+ /**
42
+ * Evaluate a password against the built rules. Returns `[{ key, label, met }]` in rule order,
43
+ * the exact shape both the React list and the Razor JS list render from.
44
+ *
45
+ * @param password
46
+ * @param options `true` for the defaults, or an override object.
47
+ */
48
+ export declare function evaluatePassword(password: unknown, options?: PasswordRuleOptions): PasswordRuleResult[];
49
+ /** True only when every rule is met: a cheap "is this password strong enough yet?" for callers. */
50
+ export declare function passwordSatisfies(password: unknown, options?: PasswordRuleOptions): boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import type * as LibPhone from "libphonenumber-js/max";
2
+ export type PhoneCore = Pick<typeof LibPhone, "AsYouType" | "getExampleNumber" | "isSupportedCountry" | "isValidPhoneNumber" | "parsePhoneNumber">;
3
+ export type PhoneExamples = Parameters<typeof LibPhone.getExampleNumber>[1];
4
+ /** The slice of libphonenumber-js <wui-phone> calls, in one shape for both builds. */
5
+ export interface PhoneLib extends PhoneCore {
6
+ examples: PhoneExamples;
7
+ }
8
+ declare global {
9
+ interface Window {
10
+ WeborityPhone?: PhoneLib;
11
+ }
12
+ }
13
+ export declare function importPhoneLib(): Promise<PhoneLib>;
14
+ /** The slice of libphonenumber-js <wui-phone> calls, in one shape for both builds. */
15
+ export declare function phoneLib(core: PhoneCore, examples: PhoneExamples): PhoneLib;
@@ -0,0 +1,3 @@
1
+ import type { PhoneLib } from "./phoneLib.ts";
2
+ export declare const PHONE_SCRIPT: string;
3
+ export declare function importPhoneLib(): Promise<PhoneLib>;
@@ -0,0 +1,33 @@
1
+ export type RemoteOptions = Parameters<typeof window.WeborityUiElements.loadRemoteModal>[1];
2
+ export declare const modal: {
3
+ open: (id: string) => void;
4
+ close: (id: string) => void;
5
+ load: (url: string, options?: RemoteOptions) => Promise<import("../../server/remoteModal.ts").ModalHandle>;
6
+ };
7
+ export declare const drawer: {
8
+ load: (url: string, options?: RemoteOptions) => Promise<import("../../server/remoteModal.ts").ModalHandle>;
9
+ };
10
+ export declare const pane: {
11
+ load: (url: string, options?: RemoteOptions) => Promise<import("../../server/remoteModal.ts").ModalHandle>;
12
+ close: (target: string | Element) => void;
13
+ };
14
+ export interface TourSeenStore {
15
+ isSeen(tourId: string): Promise<boolean>;
16
+ markSeen(tourId: string, outcome: "finished" | "skipped"): Promise<void>;
17
+ }
18
+ export declare const tour: {
19
+ seenStore: TourSeenStore | null;
20
+ start: (id: string) => unknown;
21
+ };
22
+ export declare const table: {
23
+ get: (target: string | Element) => import("../../server/serverTable.ts").ServerTableHandle;
24
+ };
25
+ export declare const shell: {
26
+ get: (target?: string | Element) => import("../../server/shellParts.ts").ShellHandle;
27
+ };
28
+ export declare const filePicker: {
29
+ setLoading: (target: string | Element, on: boolean) => void;
30
+ };
31
+ export declare const unsaved: {
32
+ reset: (target: string | Element) => void;
33
+ };
@@ -0,0 +1 @@
1
+ export declare const initAvatarPhotos: (root?: Document | Element) => void;
@@ -0,0 +1,2 @@
1
+ export declare const initDropZones: (root?: Document | Element) => void;
2
+ export declare const initFileAttachments: (root?: Document | Element) => void;