@leavepulse/ui 0.43.4 → 0.45.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 (437) hide show
  1. package/README.md +121 -7
  2. package/dist/assets/{LpCommandPalette-B-0Est4Z.css → LpCommandPalette-nGNnzXqQ.css} +21 -21
  3. package/dist/assets/{LpDropzone-BBoWvi-J.css → LpDropzone-i4BdMi1H.css} +12 -12
  4. package/dist/assets/{LpImageEditor-Ct7Y3aNu.css → LpImageEditor-CbMA82g8.css} +6 -6
  5. package/dist/assets/{LpRollingText-CR1mb0Vt.css → LpRollingText-BGnE6q9j.css} +3 -0
  6. package/dist/assets/{LpShortcutsDialog-C6YoQ8_M.css → LpShortcutsDialog-CqYX3yy6.css} +28 -7
  7. package/dist/assets/{LpSkeleton-D7xU8IPV.css → LpSkeleton-H3Z5dEIk.css} +4 -1
  8. package/dist/assets/{LpTable-BgPLJOXa.css → LpTable-CPwWxTJS.css} +49 -9
  9. package/dist/chunks/ContextMenuItems-BtKU7074.js +124 -0
  10. package/dist/chunks/{LayoutCanvas-Dd20boUG.js → LayoutCanvas-BkaGXTjx.js} +26 -9
  11. package/dist/chunks/{LayoutNode-DGpZA9LX.js → LayoutNode-B3_9E1Xa.js} +28 -12
  12. package/dist/chunks/{LpActionBar-BlvtGB2P.js → LpActionBar-CnfFVIwC.js} +26 -12
  13. package/dist/chunks/{LpAddressInput-B-Zvxsn7.js → LpAddressInput-BwX8uo4_.js} +54 -49
  14. package/dist/chunks/{LpAlert-BAYHDSS1.js → LpAlert-B6ilrM7T.js} +16 -9
  15. package/dist/chunks/{LpAppShell-BGQVIY-3.js → LpAppShell-C53_RaGF.js} +53 -26
  16. package/dist/chunks/{LpAutocomplete-DExlIZe_.js → LpAutocomplete-C8IgSMsi.js} +52 -24
  17. package/dist/chunks/{LpAvatar-B3-xAOH3.js → LpAvatar-C1XStdOo.js} +19 -10
  18. package/dist/chunks/LpBreadcrumbs-CQJd73Gm.js +95 -0
  19. package/dist/chunks/{LpButton-5VXXCjwF.js → LpButton-CKSwC6Mu.js} +45 -15
  20. package/dist/chunks/{LpCalendar-B7Ko5RdR.js → LpCalendar-DrA2McTU.js} +1 -1
  21. package/dist/chunks/{LpCard-BhI1N_vL.js → LpCard-C2IvucmX.js} +1 -1
  22. package/dist/chunks/{LpCheckbox-CVccKYaH.js → LpCheckbox-Bkj13CbW.js} +8 -4
  23. package/dist/chunks/{LpCodeBlock-Bo0B4TFR.js → LpCodeBlock-ca7ANFyW.js} +49 -17
  24. package/dist/chunks/{LpColorPicker-BlXea7LM.js → LpColorPicker-zz4VGkG4.js} +75 -26
  25. package/dist/chunks/{LpConfirmDialog-Q-bxff8z.js → LpConfirmDialog-DCw5jR1t.js} +59 -17
  26. package/dist/chunks/LpConfirmHost-CbywMpMP.js +49 -0
  27. package/dist/chunks/LpContextMenu-BqkAYa9X.js +69 -0
  28. package/dist/chunks/LpDatePicker-DuusgT69.js +195 -0
  29. package/dist/chunks/LpDateRangePicker-DHeuznfC.js +208 -0
  30. package/dist/chunks/{LpDisclosure-ChQYmjlR.js → LpDisclosure-Cc23-JOT.js} +1 -1
  31. package/dist/chunks/{LpDrawer-BZ6k3hvo.js → LpDrawer-Dt4aB4Fr.js} +65 -28
  32. package/dist/chunks/{LpDropdownMenu-DJpoqRCb.js → LpDropdownMenu-DdJGQzPn.js} +2 -1
  33. package/dist/chunks/{LpEmptyState-Dsdqz1Wj.js → LpEmptyState-BJbZXC8D.js} +1 -1
  34. package/dist/chunks/LpFieldNotice-wtieLUTj.js +64 -0
  35. package/dist/chunks/{LpFileTree-_5vFBgaK.js → LpFileTree-CNurOvkV.js} +25 -10
  36. package/dist/chunks/{LpFileTreeNode-BdcIYKIE.js → LpFileTreeNode-D_qRRdsH.js} +3 -3
  37. package/dist/chunks/LpFormField-CtVYj6tO.js +101 -0
  38. package/dist/chunks/{LpIcon-CCnX5_2j.js → LpIcon-DYtaid0K.js} +20 -6
  39. package/dist/chunks/{LpInput-9EXWUM9B.js → LpInput-D-YGQbEv.js} +58 -20
  40. package/dist/chunks/{LpLightbox-2sYVMY-S.js → LpLightbox-DSDahF23.js} +148 -61
  41. package/dist/chunks/{LpLink-DCND-zyu.js → LpLink-Krkjhe_y.js} +15 -6
  42. package/dist/chunks/{LpLogViewer-CaRy5MeS.js → LpLogViewer-KypbgOyo.js} +300 -72
  43. package/dist/chunks/{LpMapPicker-ul4oYno6.js → LpMapPicker-Cc84LaM3.js} +39 -14
  44. package/dist/chunks/{LpMediaGallery-FF-NquIo.js → LpMediaGallery-YKr-cQPN.js} +7 -4
  45. package/dist/chunks/{LpModal-Bt0pQCI_.js → LpModal-DMMDQHAu.js} +52 -29
  46. package/dist/chunks/{LpModalNav-YaifHrXC.js → LpModalNav-BVPDyIup.js} +10 -7
  47. package/dist/chunks/{LpNotificationBell-DyGGsMAM.js → LpNotificationBell-CCwyJP5C.js} +79 -33
  48. package/dist/chunks/{LpNumberField-CWuX08iX.js → LpNumberField-B77O-z28.js} +21 -8
  49. package/dist/chunks/{LpNumberFlow-amWYaeuA.js → LpNumberFlow-z4WPZcZu.js} +22 -12
  50. package/dist/chunks/{LpOtpInput-y2v-pmiN.js → LpOtpInput-CziPF3Oq.js} +37 -8
  51. package/dist/chunks/{LpPagination-5FxjmmB5.js → LpPagination-BcDlo3r_.js} +31 -20
  52. package/dist/chunks/{LpPasswordInput--sjYCkLS.js → LpPasswordInput-eKzQhbQP.js} +11 -8
  53. package/dist/chunks/LpPhoneInput-BCbrrhgE.js +336 -0
  54. package/dist/chunks/{LpPie-D6OnzwlJ.js → LpPie-BEJ2SfI6.js} +84 -28
  55. package/dist/chunks/{LpPopover-8268UmlC.js → LpPopover-DCKeqiVn.js} +5 -2
  56. package/dist/chunks/{LpProgress-Btq5W4Ut.js → LpProgress-CBU1iI69.js} +5 -4
  57. package/dist/chunks/{LpRadioGroup-xPIuVDO_.js → LpRadioGroup-DmEW0l78.js} +9 -2
  58. package/dist/chunks/LpRangeCalendar-DZuaRV0W.js +331 -0
  59. package/dist/chunks/{LpRollingText-CM5gkSeF.js → LpRollingText-DB7upf-5.js} +1 -1
  60. package/dist/chunks/{LpScrollArea-D8xyKXcF.js → LpScrollArea-Bry1fdOM.js} +14 -2
  61. package/dist/chunks/{LpSection-aM6J_u51.js → LpSection-tKEH0jYf.js} +1 -1
  62. package/dist/chunks/{LpSegmented-fV0Sk92p.js → LpSegmented-C09EEam2.js} +8 -4
  63. package/dist/chunks/{LpSelect-ANIVtrpM.js → LpSelect-DNIL6MB9.js} +50 -31
  64. package/dist/chunks/{LpSidebar-ClBUwoEz.js → LpSidebar-CQNB0-yU.js} +30 -22
  65. package/dist/chunks/{LpSidebarNav-llOcs_Fn.js → LpSidebarNav-kx-LdqNU.js} +16 -11
  66. package/dist/chunks/{LpSkeleton-CTI-vBgW.js → LpSkeleton-BB6XIV-w.js} +1 -1
  67. package/dist/chunks/{LpSlider-BwNIBkAK.js → LpSlider-Cuzmrd7p.js} +7 -2
  68. package/dist/chunks/{LpSparkline-C6xQ2dwv.js → LpSparkline-CB80N8SJ.js} +11 -4
  69. package/dist/chunks/{LpStat-CQaW8R--.js → LpStat-B-7udBRP.js} +2 -2
  70. package/dist/chunks/{LpStepper-Bk-XaQYU.js → LpStepper-C7XiVKZj.js} +34 -19
  71. package/dist/chunks/{LpSwitch-Blizvqyt.js → LpSwitch-OrcOJX9m.js} +41 -27
  72. package/dist/chunks/LpTableFilter-BV8PpLM9.js +158 -0
  73. package/dist/chunks/{LpTableOfContents-CjvxPMpU.js → LpTableOfContents-BUcAfGPQ.js} +36 -41
  74. package/dist/chunks/{LpTabs-Cefe_lys.js → LpTabs-29iW1XOx.js} +20 -6
  75. package/dist/chunks/LpTagsInput-D1SuqbhB.js +300 -0
  76. package/dist/chunks/LpTextarea-uuScWo6-.js +77 -0
  77. package/dist/chunks/LpThemeProvider-Be4r2TQX.js +35 -0
  78. package/dist/chunks/LpThemeSwitcher-B4aVPbNC.js +166 -0
  79. package/dist/chunks/{LpTilt-DuyKbpkA.js → LpTilt-B7KHX1zH.js} +2 -2
  80. package/dist/chunks/{LpTimeField-K6nAGboX.js → LpTimeField-Cqe7fXnh.js} +14 -8
  81. package/dist/chunks/{LpToaster-gDB1EaU3.js → LpToaster-DpJvoCOh.js} +94 -31
  82. package/dist/chunks/{LpTooltip-hCLPAqMG.js → LpTooltip-CXVKcOXT.js} +14 -6
  83. package/dist/chunks/LpTooltipProvider-CftjV7Xc.js +25 -0
  84. package/dist/chunks/{LpTopologyCanvas-Cm1L39uL.js → LpTopologyCanvas-6ozNrQKh.js} +8 -2
  85. package/dist/chunks/{LpUptimeBar-DvAMno0S.js → LpUptimeBar-ugcv25xj.js} +44 -15
  86. package/dist/chunks/icons-CkA0njzm.js +43 -0
  87. package/dist/chunks/{LpThemeSwitcher-Cue-myST.js → useTheme-DJm1JSsY.js} +215 -260
  88. package/dist/component-names.d.ts +1 -1
  89. package/dist/components/ContextMenuItems.vue.d.ts +8 -0
  90. package/dist/components/ContextMenuItems.vue.js +4 -0
  91. package/dist/components/LayoutCanvas.vue.js +1 -1
  92. package/dist/components/LayoutNode.vue.d.ts +4 -0
  93. package/dist/components/LayoutNode.vue.js +1 -1
  94. package/dist/components/LpActionBar.vue.d.ts +3 -0
  95. package/dist/components/LpActionBar.vue.js +1 -1
  96. package/dist/components/LpAddressInput.vue.d.ts +1 -1
  97. package/dist/components/LpAddressInput.vue.js +1 -1
  98. package/dist/components/LpAlert.vue.d.ts +9 -0
  99. package/dist/components/LpAlert.vue.js +1 -1
  100. package/dist/components/LpAppShell.vue.d.ts +10 -0
  101. package/dist/components/LpAppShell.vue.js +1 -1
  102. package/dist/components/LpAutocomplete.vue.d.ts +31 -6
  103. package/dist/components/LpAutocomplete.vue.js +1 -1
  104. package/dist/components/LpAvatar.vue.d.ts +3 -3
  105. package/dist/components/LpAvatar.vue.js +1 -1
  106. package/dist/components/LpBadge.vue.d.ts +2 -2
  107. package/dist/components/LpBreadcrumbs.vue.d.ts +13 -9
  108. package/dist/components/LpBreadcrumbs.vue.js +1 -1
  109. package/dist/components/LpButton.vue.d.ts +35 -98
  110. package/dist/components/LpButton.vue.js +1 -1
  111. package/dist/components/LpCalendar.vue.js +1 -1
  112. package/dist/components/LpCard.vue.js +1 -1
  113. package/dist/components/LpChart.vue.d.ts +47 -3
  114. package/dist/components/LpChart.vue.js +377 -97
  115. package/dist/components/LpCheckbox.vue.js +1 -1
  116. package/dist/components/LpCodeBlock.vue.d.ts +2 -0
  117. package/dist/components/LpCodeBlock.vue.js +1 -1
  118. package/dist/components/LpColorPicker.vue.d.ts +2 -2
  119. package/dist/components/LpColorPicker.vue.js +1 -1
  120. package/dist/components/LpCommandPalette.vue.d.ts +14 -3
  121. package/dist/components/LpCommandPalette.vue.js +142 -77
  122. package/dist/components/LpConfirmDialog.vue.d.ts +15 -3
  123. package/dist/components/LpConfirmDialog.vue.js +1 -1
  124. package/dist/components/LpConfirmHost.vue.d.ts +9 -0
  125. package/dist/components/LpConfirmHost.vue.js +4 -0
  126. package/dist/components/LpContextMenu.vue.d.ts +3 -5
  127. package/dist/components/LpContextMenu.vue.js +1 -1
  128. package/dist/components/LpDatePicker.vue.d.ts +24 -6
  129. package/dist/components/LpDatePicker.vue.js +1 -1
  130. package/dist/components/LpDateRangePicker.vue.d.ts +60 -0
  131. package/dist/components/LpDateRangePicker.vue.js +4 -0
  132. package/dist/components/LpDisclosure.vue.js +1 -1
  133. package/dist/components/LpDrawer.vue.d.ts +10 -0
  134. package/dist/components/LpDrawer.vue.js +1 -1
  135. package/dist/components/LpDropdownMenu.vue.js +1 -1
  136. package/dist/components/LpDropzone.vue.js +23 -7
  137. package/dist/components/LpEmptyState.vue.js +1 -1
  138. package/dist/components/LpFieldNotice.vue.d.ts +8 -0
  139. package/dist/components/LpFieldNotice.vue.js +4 -0
  140. package/dist/components/LpFileTree.vue.d.ts +11 -2
  141. package/dist/components/LpFileTree.vue.js +1 -1
  142. package/dist/components/LpFileTreeNode.vue.js +1 -1
  143. package/dist/components/LpFormField.vue.d.ts +13 -1
  144. package/dist/components/LpFormField.vue.js +1 -1
  145. package/dist/components/LpIcon.vue.d.ts +0 -1
  146. package/dist/components/LpIcon.vue.js +1 -1
  147. package/dist/components/LpImageEditor.vue.js +93 -58
  148. package/dist/components/LpInput.vue.d.ts +22 -3
  149. package/dist/components/LpInput.vue.js +1 -1
  150. package/dist/components/LpLightbox.vue.d.ts +17 -0
  151. package/dist/components/LpLightbox.vue.js +1 -1
  152. package/dist/components/LpLink.vue.d.ts +11 -11
  153. package/dist/components/LpLink.vue.js +1 -1
  154. package/dist/components/LpLogViewer.vue.d.ts +72 -3
  155. package/dist/components/LpLogViewer.vue.js +1 -1
  156. package/dist/components/LpMapPicker.vue.d.ts +4 -4
  157. package/dist/components/LpMapPicker.vue.js +1 -1
  158. package/dist/components/LpMediaGallery.vue.js +1 -1
  159. package/dist/components/LpModal.vue.d.ts +16 -6
  160. package/dist/components/LpModal.vue.js +1 -1
  161. package/dist/components/LpModalNav.vue.d.ts +0 -1
  162. package/dist/components/LpModalNav.vue.js +1 -1
  163. package/dist/components/LpNotificationBell.vue.d.ts +11 -2
  164. package/dist/components/LpNotificationBell.vue.js +1 -1
  165. package/dist/components/LpNumberField.vue.d.ts +2 -0
  166. package/dist/components/LpNumberField.vue.js +1 -1
  167. package/dist/components/LpNumberFlow.vue.js +1 -1
  168. package/dist/components/LpOtpInput.vue.js +1 -1
  169. package/dist/components/LpPagination.vue.d.ts +2 -0
  170. package/dist/components/LpPagination.vue.js +1 -1
  171. package/dist/components/LpPasswordInput.vue.js +1 -1
  172. package/dist/components/LpPhoneInput.vue.d.ts +13 -0
  173. package/dist/components/LpPhoneInput.vue.js +1 -1
  174. package/dist/components/LpPie.vue.d.ts +21 -2
  175. package/dist/components/LpPie.vue.js +1 -1
  176. package/dist/components/LpPopover.vue.d.ts +2 -0
  177. package/dist/components/LpPopover.vue.js +1 -1
  178. package/dist/components/LpProgress.vue.d.ts +1 -1
  179. package/dist/components/LpProgress.vue.js +1 -1
  180. package/dist/components/LpRadioGroup.vue.js +1 -1
  181. package/dist/components/LpRangeCalendar.vue.d.ts +51 -0
  182. package/dist/components/LpRangeCalendar.vue.js +4 -0
  183. package/dist/components/LpRollingText.vue.d.ts +1 -1
  184. package/dist/components/LpRollingText.vue.js +1 -1
  185. package/dist/components/LpScrollArea.vue.d.ts +2 -2
  186. package/dist/components/LpScrollArea.vue.js +1 -1
  187. package/dist/components/LpSection.vue.d.ts +1 -1
  188. package/dist/components/LpSection.vue.js +1 -1
  189. package/dist/components/LpSegmented.vue.d.ts +5 -0
  190. package/dist/components/LpSegmented.vue.js +1 -1
  191. package/dist/components/LpSelect.vue.d.ts +1 -0
  192. package/dist/components/LpSelect.vue.js +1 -1
  193. package/dist/components/LpShortcutsDialog.vue.d.ts +7 -1
  194. package/dist/components/LpShortcutsDialog.vue.js +60 -15
  195. package/dist/components/LpSidebar.vue.d.ts +6 -2
  196. package/dist/components/LpSidebar.vue.js +1 -1
  197. package/dist/components/LpSidebarNav.vue.js +1 -1
  198. package/dist/components/LpSkeleton.vue.js +1 -1
  199. package/dist/components/LpSlider.vue.js +1 -1
  200. package/dist/components/LpSparkline.vue.d.ts +1 -0
  201. package/dist/components/LpSparkline.vue.js +1 -1
  202. package/dist/components/LpStat.vue.js +1 -1
  203. package/dist/components/LpStepper.vue.js +1 -1
  204. package/dist/components/LpSwitch.vue.js +1 -1
  205. package/dist/components/LpTable.vue.d.ts +107 -3
  206. package/dist/components/LpTable.vue.js +540 -128
  207. package/dist/components/LpTableFilter.vue.d.ts +31 -0
  208. package/dist/components/LpTableFilter.vue.js +4 -0
  209. package/dist/components/LpTableOfContents.vue.d.ts +4 -2
  210. package/dist/components/LpTableOfContents.vue.js +1 -1
  211. package/dist/components/LpTabs.vue.d.ts +2 -0
  212. package/dist/components/LpTabs.vue.js +1 -1
  213. package/dist/components/LpTagsInput.vue.d.ts +77 -0
  214. package/dist/components/LpTagsInput.vue.js +4 -0
  215. package/dist/components/LpTextarea.vue.d.ts +19 -6
  216. package/dist/components/LpTextarea.vue.js +1 -1
  217. package/dist/components/LpThemeProvider.vue.d.ts +22 -0
  218. package/dist/components/LpThemeProvider.vue.js +4 -0
  219. package/dist/components/LpThemeSwitcher.vue.d.ts +15 -2
  220. package/dist/components/LpThemeSwitcher.vue.js +1 -1
  221. package/dist/components/LpTilt.vue.js +1 -1
  222. package/dist/components/LpTimeField.vue.js +1 -1
  223. package/dist/components/LpToaster.vue.d.ts +6 -1
  224. package/dist/components/LpToaster.vue.js +1 -1
  225. package/dist/components/LpTooltip.vue.d.ts +1 -2
  226. package/dist/components/LpTooltip.vue.js +1 -1
  227. package/dist/components/LpTooltipProvider.vue.d.ts +22 -0
  228. package/dist/components/LpTooltipProvider.vue.js +4 -0
  229. package/dist/components/LpTopologyCanvas.vue.js +1 -1
  230. package/dist/components/LpUptimeBar.vue.d.ts +4 -0
  231. package/dist/components/LpUptimeBar.vue.js +1 -1
  232. package/dist/components/chart.d.ts +32 -1
  233. package/dist/components/chart.js +42 -6
  234. package/dist/components/codeHighlight.d.ts +6 -0
  235. package/dist/components/codeHighlight.js +92 -20
  236. package/dist/components/color.d.ts +1 -1
  237. package/dist/components/color.js +20 -9
  238. package/dist/components/commandSearch.js +3 -0
  239. package/dist/components/confirm.d.ts +25 -0
  240. package/dist/components/confirm.js +26 -0
  241. package/dist/components/countries.d.ts +6 -0
  242. package/dist/components/countries.js +7 -0
  243. package/dist/components/dateRange.d.ts +43 -0
  244. package/dist/components/dateRange.js +76 -0
  245. package/dist/components/exportData.d.ts +58 -0
  246. package/dist/components/exportData.js +165 -0
  247. package/dist/components/fileTree.js +16 -7
  248. package/dist/components/imageCrop.d.ts +42 -0
  249. package/dist/components/imageCrop.js +47 -0
  250. package/dist/components/link.d.ts +12 -0
  251. package/dist/components/link.js +19 -0
  252. package/dist/components/logSearch.d.ts +18 -0
  253. package/dist/components/logSearch.js +36 -0
  254. package/dist/components/modalDepth.d.ts +18 -2
  255. package/dist/components/modalDepth.js +17 -5
  256. package/dist/components/otp.d.ts +5 -0
  257. package/dist/components/otp.js +10 -0
  258. package/dist/components/phone.d.ts +41 -0
  259. package/dist/components/phone.js +80 -0
  260. package/dist/components/sidebar.d.ts +7 -1
  261. package/dist/components/tableFilter.d.ts +36 -0
  262. package/dist/components/tableFilter.js +84 -0
  263. package/dist/components/tableSort.d.ts +8 -0
  264. package/dist/components/tableSort.js +31 -0
  265. package/dist/components/tags.d.ts +20 -0
  266. package/dist/components/tags.js +37 -0
  267. package/dist/composables/useField.d.ts +38 -0
  268. package/dist/composables/useField.js +45 -0
  269. package/dist/composables/useFieldNotice.d.ts +17 -0
  270. package/dist/composables/useFieldNotice.js +28 -0
  271. package/dist/composables/useForm.d.ts +53 -0
  272. package/dist/composables/useForm.js +207 -0
  273. package/dist/composables/useFormDraft.d.ts +10 -3
  274. package/dist/composables/useFormDraft.js +9 -14
  275. package/dist/composables/useHotkeys.d.ts +81 -5
  276. package/dist/composables/useHotkeys.js +223 -25
  277. package/dist/composables/useInputFilter.d.ts +17 -0
  278. package/dist/composables/useInputFilter.js +47 -10
  279. package/dist/composables/useInputMask.d.ts +59 -0
  280. package/dist/composables/useInputMask.js +170 -0
  281. package/dist/composables/useLpConfig.d.ts +24 -0
  282. package/dist/composables/useLpConfig.js +44 -0
  283. package/dist/composables/usePaintSelect.d.ts +22 -0
  284. package/dist/composables/usePaintSelect.js +169 -0
  285. package/dist/composables/useRovingFocus.js +7 -0
  286. package/dist/composables/useShift.js +7 -2
  287. package/dist/composables/useTilt.d.ts +2 -2
  288. package/dist/composables/useTilt.js +5 -6
  289. package/dist/composables/useToast.d.ts +20 -0
  290. package/dist/composables/useToast.js +28 -4
  291. package/dist/composables/useZoomPan.d.ts +3 -3
  292. package/dist/composables/useZoomPan.js +4 -4
  293. package/dist/icons-all.d.ts +1 -0
  294. package/dist/icons-all.js +3 -0
  295. package/dist/icons.d.ts +14 -1
  296. package/dist/index.d.ts +60 -4
  297. package/dist/index.js +245 -141
  298. package/dist/kit-icons.d.ts +2 -0
  299. package/dist/layout/tree.d.ts +2 -0
  300. package/dist/layout/tree.js +16 -1
  301. package/dist/layout/useLayout.d.ts +15 -0
  302. package/dist/layout/useLayout.js +41 -14
  303. package/dist/theme/backdrop.d.ts +12 -0
  304. package/dist/theme/presets.d.ts +0 -2
  305. package/dist/theme/useTheme.d.ts +32 -9
  306. package/package.json +18 -8
  307. package/src/component-names.ts +9 -7
  308. package/src/components/ContextMenuItems.vue +88 -0
  309. package/src/components/LayoutCanvas.vue +26 -6
  310. package/src/components/LayoutNode.vue +30 -4
  311. package/src/components/LpActionBar.vue +31 -8
  312. package/src/components/LpAddressInput.vue +57 -41
  313. package/src/components/LpAlert.vue +16 -3
  314. package/src/components/LpAppShell.vue +45 -12
  315. package/src/components/LpAutocomplete.vue +47 -10
  316. package/src/components/LpAvatar.vue +20 -6
  317. package/src/components/LpBreadcrumbs.vue +65 -41
  318. package/src/components/LpButton.vue +60 -14
  319. package/src/components/LpChart.vue +351 -28
  320. package/src/components/LpCheckbox.vue +7 -3
  321. package/src/components/LpCodeBlock.vue +50 -14
  322. package/src/components/LpColorPicker.vue +73 -10
  323. package/src/components/LpCommandPalette.vue +115 -20
  324. package/src/components/LpConfirmDialog.vue +68 -17
  325. package/src/components/LpConfirmHost.vue +59 -0
  326. package/src/components/LpContextMenu.vue +15 -116
  327. package/src/components/LpDatePicker.vue +104 -68
  328. package/src/components/LpDateRangePicker.vue +224 -0
  329. package/src/components/LpDrawer.vue +56 -19
  330. package/src/components/LpDropdownMenu.vue +1 -0
  331. package/src/components/LpDropzone.vue +21 -4
  332. package/src/components/LpFieldNotice.vue +65 -0
  333. package/src/components/LpFileTree.vue +33 -7
  334. package/src/components/LpFormField.vue +59 -7
  335. package/src/components/LpIcon.vue +22 -4
  336. package/src/components/LpImageEditor.vue +96 -57
  337. package/src/components/LpInput.vue +62 -11
  338. package/src/components/LpLightbox.vue +140 -29
  339. package/src/components/LpLink.vue +24 -13
  340. package/src/components/LpLogViewer.vue +311 -39
  341. package/src/components/LpMapPicker.vue +36 -13
  342. package/src/components/LpMediaGallery.vue +8 -2
  343. package/src/components/LpModal.vue +54 -28
  344. package/src/components/LpModalNav.vue +5 -2
  345. package/src/components/LpNotificationBell.vue +77 -23
  346. package/src/components/LpNumberField.vue +21 -6
  347. package/src/components/LpNumberFlow.vue +26 -10
  348. package/src/components/LpOtpInput.vue +43 -8
  349. package/src/components/LpPagination.vue +23 -7
  350. package/src/components/LpPasswordInput.vue +4 -1
  351. package/src/components/LpPhoneInput.vue +224 -39
  352. package/src/components/LpPie.vue +102 -20
  353. package/src/components/LpPopover.vue +4 -0
  354. package/src/components/LpProgress.vue +5 -3
  355. package/src/components/LpRadioGroup.vue +9 -2
  356. package/src/components/LpRangeCalendar.vue +365 -0
  357. package/src/components/LpRollingText.vue +3 -0
  358. package/src/components/LpScrollArea.vue +22 -2
  359. package/src/components/LpSegmented.vue +12 -2
  360. package/src/components/LpSelect.vue +0 -0
  361. package/src/components/LpShortcutsDialog.vue +83 -9
  362. package/src/components/LpSidebar.vue +14 -9
  363. package/src/components/LpSidebarNav.vue +17 -5
  364. package/src/components/LpSkeleton.vue +4 -1
  365. package/src/components/LpSlider.vue +7 -1
  366. package/src/components/LpSparkline.vue +11 -3
  367. package/src/components/LpStepper.vue +23 -10
  368. package/src/components/LpSwitch.vue +31 -8
  369. package/src/components/LpTable.vue +668 -90
  370. package/src/components/LpTableFilter.vue +175 -0
  371. package/src/components/LpTableOfContents.vue +50 -32
  372. package/src/components/LpTabs.vue +23 -6
  373. package/src/components/LpTagsInput.vue +364 -0
  374. package/src/components/LpTextarea.vue +44 -6
  375. package/src/components/LpThemeProvider.vue +41 -0
  376. package/src/components/LpThemeSwitcher.vue +76 -33
  377. package/src/components/LpTilt.vue +2 -2
  378. package/src/components/LpTimeField.vue +14 -3
  379. package/src/components/LpToaster.vue +115 -27
  380. package/src/components/LpTooltip.vue +29 -5
  381. package/src/components/LpTooltipProvider.vue +24 -0
  382. package/src/components/LpTopologyCanvas.vue +19 -2
  383. package/src/components/LpUptimeBar.vue +46 -8
  384. package/src/components/chart.ts +82 -8
  385. package/src/components/codeHighlight.ts +111 -15
  386. package/src/components/color.ts +30 -9
  387. package/src/components/commandSearch.ts +6 -0
  388. package/src/components/confirm.ts +58 -0
  389. package/src/components/countries.ts +12 -0
  390. package/src/components/dateRange.ts +134 -0
  391. package/src/components/exportData.ts +228 -0
  392. package/src/components/fileTree.ts +19 -7
  393. package/src/components/imageCrop.ts +107 -0
  394. package/src/components/link.ts +34 -0
  395. package/src/components/logSearch.ts +46 -0
  396. package/src/components/modalDepth.ts +48 -6
  397. package/src/components/otp.ts +16 -0
  398. package/src/components/phone.ts +140 -0
  399. package/src/components/sidebar.ts +7 -1
  400. package/src/components/tableFilter.ts +122 -0
  401. package/src/components/tableSort.ts +37 -0
  402. package/src/components/tags.ts +62 -0
  403. package/src/composables/useField.ts +83 -0
  404. package/src/composables/useFieldNotice.ts +59 -0
  405. package/src/composables/useForm.ts +314 -0
  406. package/src/composables/useFormDraft.ts +25 -20
  407. package/src/composables/useHotkeys.ts +355 -28
  408. package/src/composables/useInputFilter.ts +77 -14
  409. package/src/composables/useInputMask.ts +254 -0
  410. package/src/composables/useLpConfig.ts +87 -0
  411. package/src/composables/usePaintSelect.ts +243 -0
  412. package/src/composables/useRovingFocus.ts +11 -0
  413. package/src/composables/useShift.ts +13 -2
  414. package/src/composables/useTilt.ts +5 -6
  415. package/src/composables/useToast.ts +56 -4
  416. package/src/composables/useZoomPan.ts +6 -6
  417. package/src/iconSubset.d.mts +10 -0
  418. package/src/iconSubset.mjs +51 -0
  419. package/src/icons-all.ts +10 -0
  420. package/src/icons.ts +59 -8
  421. package/src/index.ts +73 -4
  422. package/src/kit-icons.ts +5 -0
  423. package/src/layout/tree.ts +30 -0
  424. package/src/layout/useLayout.ts +68 -18
  425. package/src/nuxt.ts +87 -17
  426. package/src/runtime/config.plugin.ts +14 -0
  427. package/src/runtime/theme.plugin.ts +43 -23
  428. package/src/theme/backdrop.ts +69 -0
  429. package/src/theme/presets.ts +6 -64
  430. package/src/theme/useTheme.ts +206 -100
  431. package/src/tokens/tokens.css +46 -0
  432. package/dist/chunks/LpBreadcrumbs-p4jHe_V-.js +0 -62
  433. package/dist/chunks/LpContextMenu-CwW1QXe_.js +0 -217
  434. package/dist/chunks/LpDatePicker-CwOToxGq.js +0 -164
  435. package/dist/chunks/LpFormField-CazBc2-a.js +0 -62
  436. package/dist/chunks/LpPhoneInput-BDSKVl_z.js +0 -209
  437. package/dist/chunks/LpTextarea-t7F6gv8E.js +0 -47
@@ -36,6 +36,15 @@ export interface NotificationLabels {
36
36
  dismiss?: string;
37
37
  empty?: string;
38
38
  ariaLabel?: string;
39
+ /** Appended to the button's name while there is unread news; `{count}` is filled in. */
40
+ unread?: string;
41
+ /** Screen-reader marker on an unread row. */
42
+ unreadItem?: string;
43
+ /** Relative times; `{n}` is filled in. */
44
+ justNow?: string;
45
+ minutes?: string;
46
+ hours?: string;
47
+ days?: string;
39
48
  }
40
49
  type __VLS_Props = {
41
50
  items?: NotificationItem[];
@@ -66,17 +75,17 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
66
75
  clear: () => any;
67
76
  select: (item: NotificationItem) => any;
68
77
  dismiss: (id: string) => any;
78
+ markAllRead: () => any;
69
79
  markRead: (id: string) => any;
70
80
  markUnread: (id: string) => any;
71
- markAllRead: () => any;
72
81
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
73
82
  onClear?: (() => any) | undefined;
74
83
  onSelect?: ((item: NotificationItem) => any) | undefined;
75
84
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
76
85
  onDismiss?: ((id: string) => any) | undefined;
86
+ onMarkAllRead?: (() => any) | undefined;
77
87
  onMarkRead?: ((id: string) => any) | undefined;
78
88
  onMarkUnread?: ((id: string) => any) | undefined;
79
- onMarkAllRead?: (() => any) | undefined;
80
89
  }>, {
81
90
  items: NotificationItem[];
82
91
  maxBadge: number;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpNotificationBell-DyGGsMAM.js";
1
+ import { _ as _sfc_main } from "../chunks/LpNotificationBell-CCwyJP5C.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -7,6 +7,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
7
7
  step?: number;
8
8
  disabled?: boolean;
9
9
  unit?: string;
10
+ invalid?: boolean;
10
11
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
11
12
  "update:modelValue": (value: number | null) => any;
12
13
  }, string, import("vue").PublicProps, Readonly<{
@@ -16,6 +17,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
16
17
  step?: number;
17
18
  disabled?: boolean;
18
19
  unit?: string;
20
+ invalid?: boolean;
19
21
  }> & Readonly<{
20
22
  "onUpdate:modelValue"?: ((value: number | null) => any) | undefined;
21
23
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpNumberField-CWuX08iX.js";
1
+ import { _ as _sfc_main } from "../chunks/LpNumberField-B77O-z28.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpNumberFlow-amWYaeuA.js";
1
+ import { _ as _sfc_main } from "../chunks/LpNumberFlow-z4WPZcZu.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpOtpInput-y2v-pmiN.js";
1
+ import { _ as _sfc_main } from "../chunks/LpOtpInput-CziPF3Oq.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -11,6 +11,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
11
11
  /** Pages shown on each side of the current one in the inner run. */
12
12
  siblings?: number;
13
13
  disabled?: boolean;
14
+ labels?: Partial<Record<"nav" | "previous" | "next", string>>;
14
15
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
15
16
  change: (value: number) => any;
16
17
  "update:page": (value: number) => any;
@@ -25,6 +26,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
25
26
  /** Pages shown on each side of the current one in the inner run. */
26
27
  siblings?: number;
27
28
  disabled?: boolean;
29
+ labels?: Partial<Record<"nav" | "previous" | "next", string>>;
28
30
  }> & Readonly<{
29
31
  onChange?: ((value: number) => any) | undefined;
30
32
  "onUpdate:page"?: ((value: number) => any) | undefined;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpPagination-5FxjmmB5.js";
1
+ import { _ as _sfc_main } from "../chunks/LpPagination-BcDlo3r_.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpPasswordInput--sjYCkLS.js";
1
+ import { _ as _sfc_main } from "../chunks/LpPasswordInput-eKzQhbQP.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -6,6 +6,17 @@ export interface PhoneDetail {
6
6
  dialCode: string;
7
7
  /** National part (digits after the dial code). */
8
8
  number: string;
9
+ /** Normalised "+380501234567"; empty when there are no digits. */
10
+ e164: string;
11
+ /** The length fits the country. False until the formatter has loaded. */
12
+ possible: boolean;
13
+ /** A real number for the country. False until the formatter has loaded. */
14
+ valid: boolean;
15
+ /**
16
+ * "MOBILE", "FIXED_LINE"… when known. The `min` metadata the field loads does
17
+ * not carry number types, so this stays undefined unless that changes.
18
+ */
19
+ type?: string;
9
20
  }
10
21
  declare const _default: typeof __VLS_export;
11
22
  export default _default;
@@ -16,6 +27,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
16
27
  only?: string[];
17
28
  /** Default country (ISO2) used when the field is empty. */
18
29
  defaultCountry?: string;
30
+ /** Unset shows an example number for the active country. */
19
31
  placeholder?: string;
20
32
  disabled?: boolean;
21
33
  invalid?: boolean;
@@ -32,6 +44,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
32
44
  only?: string[];
33
45
  /** Default country (ISO2) used when the field is empty. */
34
46
  defaultCountry?: string;
47
+ /** Unset shows an example number for the active country. */
35
48
  placeholder?: string;
36
49
  disabled?: boolean;
37
50
  invalid?: boolean;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpPhoneInput-BDSKVl_z.js";
1
+ import { _ as _sfc_main } from "../chunks/LpPhoneInput-BCbrrhgE.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,5 +1,13 @@
1
1
  import { type PieSlice } from "./chart";
2
2
  import { type ContextMenuItemDef } from "./LpContextMenu.vue";
3
+ export interface PieText {
4
+ [key: string]: string;
5
+ empty: string;
6
+ other: string;
7
+ total: string;
8
+ /** "{n} selected"; `{n}` is replaced by the count. */
9
+ selected: string;
10
+ }
3
11
  /** A slice, as reported by every interaction event. */
4
12
  export interface SliceEvent {
5
13
  index: number;
@@ -75,6 +83,12 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
75
83
  */
76
84
  menuItems?: (slice: SliceEvent, selection: SliceEvent[]) => ContextMenuItemDef[];
77
85
  emptyLabel?: string;
86
+ /** Accessible name for the chart. Defaults to a generated summary. */
87
+ ariaLabel?: string;
88
+ /** Render the slices as a visually hidden table for screen readers. */
89
+ dataTable?: boolean;
90
+ /** Text overrides (`labels` is taken by the callout switch). */
91
+ text?: Partial<PieText>;
78
92
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
79
93
  sliceClick: (payload: SliceEvent) => any;
80
94
  selectionChange: (payload: SliceEvent[]) => any;
@@ -145,6 +159,12 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
145
159
  */
146
160
  menuItems?: (slice: SliceEvent, selection: SliceEvent[]) => ContextMenuItemDef[];
147
161
  emptyLabel?: string;
162
+ /** Accessible name for the chart. Defaults to a generated summary. */
163
+ ariaLabel?: string;
164
+ /** Render the slices as a visually hidden table for screen readers. */
165
+ dataTable?: boolean;
166
+ /** Text overrides (`labels` is taken by the callout switch). */
167
+ text?: Partial<PieText>;
148
168
  }> & Readonly<{
149
169
  onSliceClick?: ((payload: SliceEvent) => any) | undefined;
150
170
  onSelectionChange?: ((payload: SliceEvent[]) => any) | undefined;
@@ -154,10 +174,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
154
174
  size: number;
155
175
  animate: boolean;
156
176
  duration: number;
157
- emptyLabel: string;
177
+ dataTable: boolean;
158
178
  innerRatio: number;
159
179
  maxSlices: number;
160
- otherLabel: string;
161
180
  labelWidth: number;
162
181
  showPercent: boolean;
163
182
  showTotal: boolean;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpPie-D6OnzwlJ.js";
1
+ import { _ as _sfc_main } from "../chunks/LpPie-BEJ2SfI6.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -4,6 +4,8 @@ type __VLS_Props = {
4
4
  sideOffset?: number;
5
5
  /** Extra classes for the floating panel (width, padding, overflow). */
6
6
  panelClass?: string;
7
+ /** Accessible name of the panel, which reka exposes as a dialog. */
8
+ ariaLabel?: string;
7
9
  };
8
10
  type __VLS_ModelProps = {
9
11
  "open"?: boolean;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpPopover-8268UmlC.js";
1
+ import { _ as _sfc_main } from "../chunks/LpPopover-DCKeqiVn.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -52,9 +52,9 @@ type __VLS_Props = {
52
52
  };
53
53
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
54
54
  size: number;
55
+ duration: number;
55
56
  max: number;
56
57
  value: number;
57
- duration: number;
58
58
  variant: "bar" | "ring";
59
59
  tone: "brand" | "action" | "danger" | "accent" | "auto";
60
60
  animateOnMount: boolean;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpProgress-Btq5W4Ut.js";
1
+ import { _ as _sfc_main } from "../chunks/LpProgress-CBU1iI69.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpRadioGroup-xPIuVDO_.js";
1
+ import { _ as _sfc_main } from "../chunks/LpRadioGroup-DmEW0l78.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -0,0 +1,51 @@
1
+ import { type DateRange } from "./dateRange";
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
4
+ export interface RangeCalendarLabels extends Record<string, string> {
5
+ previous: string;
6
+ next: string;
7
+ }
8
+ /** How a range changed: picked by two clicks, or an end reshaped. */
9
+ export type RangeChange = {
10
+ via: "pick" | "drag" | "keyboard";
11
+ };
12
+ declare const __VLS_export: import("vue").DefineComponent<{
13
+ /** Selected range, ISO "YYYY-MM-DD" ends (v-model). */
14
+ modelValue?: DateRange;
15
+ min?: string;
16
+ max?: string;
17
+ /** Days that cannot be picked at all. */
18
+ isDisabled?: (iso: string) => boolean;
19
+ /** Days a range may not include (struck through, and a range cannot span them). */
20
+ isDateUnavailable?: (iso: string) => boolean;
21
+ /** Months shown side by side. */
22
+ months?: number;
23
+ /** Longest allowed range, in days. */
24
+ maximumDays?: number;
25
+ locale?: string;
26
+ weekdayFormat?: "narrow" | "short" | "long";
27
+ labels?: Partial<RangeCalendarLabels>;
28
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
29
+ "update:modelValue": (value: DateRange, change: RangeChange) => any;
30
+ }, string, import("vue").PublicProps, Readonly<{
31
+ /** Selected range, ISO "YYYY-MM-DD" ends (v-model). */
32
+ modelValue?: DateRange;
33
+ min?: string;
34
+ max?: string;
35
+ /** Days that cannot be picked at all. */
36
+ isDisabled?: (iso: string) => boolean;
37
+ /** Days a range may not include (struck through, and a range cannot span them). */
38
+ isDateUnavailable?: (iso: string) => boolean;
39
+ /** Months shown side by side. */
40
+ months?: number;
41
+ /** Longest allowed range, in days. */
42
+ maximumDays?: number;
43
+ locale?: string;
44
+ weekdayFormat?: "narrow" | "short" | "long";
45
+ labels?: Partial<RangeCalendarLabels>;
46
+ }> & Readonly<{
47
+ "onUpdate:modelValue"?: ((value: DateRange, change: RangeChange) => any) | undefined;
48
+ }>, {
49
+ weekdayFormat: "narrow" | "short" | "long";
50
+ months: number;
51
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,4 @@
1
+ import { _ as _sfc_main } from "../chunks/LpRangeCalendar-DZuaRV0W.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -19,9 +19,9 @@ type __VLS_Slots = {} & {
19
19
  };
20
20
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
21
21
  mode: "slide" | "flip";
22
+ duration: number;
22
23
  direction: "up" | "down";
23
24
  align: "start" | "center" | "end";
24
- duration: number;
25
25
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
27
  declare const _default: typeof __VLS_export;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpRollingText-CM5gkSeF.js";
1
+ import { _ as _sfc_main } from "../chunks/LpRollingText-DB7upf-5.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -4,9 +4,9 @@ type __VLS_Props = {
4
4
  contentClass?: string;
5
5
  barInsetTop?: string;
6
6
  };
7
- declare var __VLS_44: {};
7
+ declare var __VLS_46: {};
8
8
  type __VLS_Slots = {} & {
9
- default?: (props: typeof __VLS_44) => any;
9
+ default?: (props: typeof __VLS_46) => any;
10
10
  };
11
11
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
12
12
  viewportEl: import("vue").ComputedRef<HTMLElement | null>;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpScrollArea-D8xyKXcF.js";
1
+ import { _ as _sfc_main } from "../chunks/LpScrollArea-Bry1fdOM.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -108,7 +108,7 @@ type __VLS_Slots = {
108
108
  };
109
109
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
110
110
  as: "h1" | "h2" | "h3" | "h4" | "p";
111
- level: "sm" | "md" | "lg" | "xl";
111
+ level: "md" | "sm" | "lg" | "xl";
112
112
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
113
113
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
114
114
  declare const _default: typeof __VLS_export;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSection-aM6J_u51.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSection-tKEH0jYf.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -3,6 +3,11 @@ export interface SegmentedOption {
3
3
  label?: string;
4
4
  /** Optional iconify name shown before the label (or alone, icon-only). */
5
5
  icon?: string;
6
+ /**
7
+ * Accessible name for an icon-only segment. Without it the raw `value` is
8
+ * announced, which is an identifier rather than words.
9
+ */
10
+ ariaLabel?: string;
6
11
  }
7
12
  declare const _default: typeof __VLS_export;
8
13
  export default _default;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSegmented-fV0Sk92p.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSegmented-C09EEam2.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -14,6 +14,7 @@ declare const __VLS_export: <V extends SelectValue = string>(__VLS_props: NonNul
14
14
  multiple?: boolean;
15
15
  clearable?: boolean;
16
16
  disabled?: boolean;
17
+ invalid?: boolean;
17
18
  emptyText?: string;
18
19
  searchTerm?: string;
19
20
  loading?: boolean;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSelect-ANIVtrpM.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSelect-DNIL6MB9.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -8,6 +8,12 @@ type __VLS_Props = {
8
8
  description?: string;
9
9
  /** Frosted glass panel, passed to LpModal. Follows `provideGlass` when unset. */
10
10
  glass?: boolean;
11
+ /**
12
+ * A key that toggles the reference, e.g. "F1". Bound only while the dialog
13
+ * is mounted, also inside inputs and over other overlays, and the browser's
14
+ * own use of the key (Chrome opens its help page on F1) is suppressed.
15
+ */
16
+ hotkey?: string;
11
17
  };
12
18
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
13
19
  "update:open": (value: boolean) => any;
@@ -17,8 +23,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
17
23
  title: string;
18
24
  open: boolean;
19
25
  glass: boolean;
20
- groups: ShortcutGroup[];
21
26
  live: boolean;
27
+ groups: ShortcutGroup[];
22
28
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
29
  declare const _default: typeof __VLS_export;
24
30
  export default _default;
@@ -1,32 +1,61 @@
1
- import { defineComponent, computed, openBlock, createBlock, withCtx, createElementVNode, createElementBlock, Fragment, renderList, toDisplayString, unref } from "vue";
2
- import { _ as _sfc_main$1 } from "../chunks/LpModal-Bt0pQCI_.js";
3
- import { mergeShortcutGroups, activeShortcuts, appleModifierLabel } from "../composables/useHotkeys.js";
1
+ import { defineComponent, computed, openBlock, createBlock, unref, withCtx, createElementVNode, createElementBlock, Fragment, renderList, toDisplayString, createTextVNode, createCommentVNode } from "vue";
2
+ import { _ as _sfc_main$1 } from "../chunks/LpModal-DMMDQHAu.js";
3
+ import { useAppleKeyboard, mergeShortcutGroups, activeShortcuts, useHotkeys, appleModifierLabel } from "../composables/useHotkeys.js";
4
+ import { useLabels } from "../composables/useLpConfig.js";
4
5
  import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper-1tPrXgE0.js";
5
- import '../assets/LpShortcutsDialog-C6YoQ8_M.css';const _hoisted_1 = { class: "shortcut-groups" };
6
+ import '../assets/LpShortcutsDialog-CqYX3yy6.css';const _hoisted_1 = { class: "shortcut-groups" };
7
+ const _hoisted_2 = ["aria-label", "title"];
8
+ const _hoisted_3 = {
9
+ key: 0,
10
+ class: "shortcut-then"
11
+ };
6
12
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
13
  __name: "LpShortcutsDialog",
8
14
  props: {
9
15
  open: { type: Boolean, default: false },
10
16
  groups: { default: () => [] },
11
17
  live: { type: Boolean, default: false },
12
- title: { default: "Keyboard shortcuts" },
18
+ title: { default: void 0 },
13
19
  description: {},
14
- glass: { type: Boolean, default: void 0 }
20
+ glass: { type: Boolean, default: void 0 },
21
+ hotkey: {}
15
22
  },
16
23
  emits: ["update:open"],
17
24
  setup(__props, { emit: __emit }) {
18
25
  const props = __props;
19
- function keysOf(combo) {
20
- return combo.split(/\+(?!$)/);
26
+ const text = useLabels("shortcuts", {
27
+ title: "Keyboard shortcuts",
28
+ then: "then",
29
+ conflict: "Also bound elsewhere: only one of them runs",
30
+ group: "General"
31
+ });
32
+ const apple = useAppleKeyboard();
33
+ function keysOf(chord) {
34
+ return chord.split(/\+(?!$)/);
35
+ }
36
+ function stepsOf(combo) {
37
+ return combo.trim().split(/\s+/);
21
38
  }
22
39
  const shown = computed(() => props.live ? mergeShortcutGroups(props.groups, activeShortcuts.value) : props.groups);
23
40
  const emit = __emit;
41
+ useHotkeys(
42
+ () => props.hotkey ? [
43
+ {
44
+ key: props.hotkey,
45
+ allowInInput: true,
46
+ overLayers: true,
47
+ repeat: false,
48
+ help: { group: text.value.group, label: props.title ?? text.value.title },
49
+ handler: () => emit("update:open", !props.open)
50
+ }
51
+ ] : []
52
+ );
24
53
  return (_ctx, _cache) => {
25
54
  return openBlock(), createBlock(_sfc_main$1, {
26
55
  glass: props.glass,
27
56
  open: props.open,
28
57
  size: "lg",
29
- title: props.title,
58
+ title: props.title ?? unref(text).title,
30
59
  description: props.description,
31
60
  "onUpdate:open": _cache[0] || (_cache[0] = (value) => emit("update:open", value))
32
61
  }, {
@@ -44,12 +73,28 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
44
73
  key: entry.combo,
45
74
  class: "shortcut-row"
46
75
  }, [
47
- createElementVNode("dt", null, toDisplayString(entry.label), 1),
76
+ createElementVNode("dt", null, [
77
+ createTextVNode(toDisplayString(entry.label) + " ", 1),
78
+ entry.conflict ? (openBlock(), createElementBlock("span", {
79
+ key: 0,
80
+ class: "shortcut-conflict",
81
+ role: "img",
82
+ "aria-label": unref(text).conflict,
83
+ title: unref(text).conflict
84
+ }, "!", 8, _hoisted_2)) : createCommentVNode("", true)
85
+ ]),
48
86
  createElementVNode("dd", null, [
49
- (openBlock(true), createElementBlock(Fragment, null, renderList(keysOf(entry.combo), (key, index) => {
50
- return openBlock(), createElementBlock("kbd", {
51
- key: `${key}-${index}`
52
- }, toDisplayString(unref(appleModifierLabel)(key.trim())), 1);
87
+ (openBlock(true), createElementBlock(Fragment, null, renderList(stepsOf(entry.combo), (step, stepIndex) => {
88
+ return openBlock(), createElementBlock(Fragment, {
89
+ key: `${step}-${stepIndex}`
90
+ }, [
91
+ stepIndex ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(unref(text).then), 1)) : createCommentVNode("", true),
92
+ (openBlock(true), createElementBlock(Fragment, null, renderList(keysOf(step), (key, index) => {
93
+ return openBlock(), createElementBlock("kbd", {
94
+ key: `${key}-${index}`
95
+ }, toDisplayString(unref(appleModifierLabel)(key.trim(), unref(apple))), 1);
96
+ }), 128))
97
+ ], 64);
53
98
  }), 128))
54
99
  ])
55
100
  ]);
@@ -64,7 +109,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
64
109
  };
65
110
  }
66
111
  });
67
- const LpShortcutsDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8af3bafc"]]);
112
+ const LpShortcutsDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1c4cf3fa"]]);
68
113
  export {
69
114
  LpShortcutsDialog as default
70
115
  };
@@ -23,8 +23,13 @@ type __VLS_Props = {
23
23
  * query is active — a hidden match is the same as no match.
24
24
  */
25
25
  searchable?: boolean;
26
- /** Placeholder for that field. */
26
+ /** Placeholder for that field (defaults to the `search` label). */
27
27
  searchPlaceholder?: string;
28
+ /** Text overrides: `nav` names the landmark, `search` the filter field. */
29
+ labels?: Partial<{
30
+ nav: string;
31
+ search: string;
32
+ }>;
28
33
  /** The query, when the app wants to own it (v-model:search). */
29
34
  search?: string;
30
35
  /** Show a skeleton placeholder instead of the items. */
@@ -128,7 +133,6 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
128
133
  "onUpdate:search"?: ((value: string) => any) | undefined;
129
134
  }>, {
130
135
  variant: "rail" | "panel";
131
- searchPlaceholder: string;
132
136
  skeletonRows: number;
133
137
  skeletonHeader: boolean;
134
138
  responsive: boolean;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSidebar-ClBUwoEz.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSidebar-CQNB0-yU.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSidebarNav-llOcs_Fn.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSidebarNav-kx-LdqNU.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSkeleton-CTI-vBgW.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSkeleton-BB6XIV-w.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSlider-BwNIBkAK.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSlider-Cuzmrd7p.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -35,6 +35,7 @@ type __VLS_Props = {
35
35
  * watched being drawn — not a figure mostly spent easing out.
36
36
  */
37
37
  duration?: number;
38
+ labels?: Partial<Record<"empty" | "up" | "down" | "flat" | "latest", string>>;
38
39
  };
39
40
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
40
41
  width: number;
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSparkline-C6xQ2dwv.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSparkline-CB80N8SJ.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpStat-CQaW8R--.js";
1
+ import { _ as _sfc_main } from "../chunks/LpStat-B-7udBRP.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpStepper-Bk-XaQYU.js";
1
+ import { _ as _sfc_main } from "../chunks/LpStepper-C7XiVKZj.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSwitch-Blizvqyt.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSwitch-OrcOJX9m.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };