@leavepulse/ui 0.70.1 → 0.71.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 (321) hide show
  1. package/README.md +91 -0
  2. package/dist/assets/{LpCommandPalette-u-zOxKWa.css → LpCommandPalette-DgPZX0us.css} +24 -17
  3. package/dist/assets/{LpPaletteFacts-B9FdVmIO.css → LpPaletteFacts-CVNh5ICn.css} +16 -16
  4. package/dist/assets/{LpPaletteStats-ClE-37MK.css → LpPaletteStats-ZiZmR6vz.css} +5 -5
  5. package/dist/assets/{LpTable-DHxEQ_-3.css → LpTable-DHvorDiU.css} +19 -19
  6. package/dist/assets/LpTabs-CO3EcsNV.css +18 -0
  7. package/dist/chunks/{ContextMenuItems-6kxEivBI.js → ContextMenuItems-eS7qx9gD.js} +1 -1
  8. package/dist/chunks/{DropzoneLinkField-Bw8Flkhk.js → DropzoneLinkField-DkFhdfEJ.js} +2 -2
  9. package/dist/chunks/{FieldWrapper-BiennROB.js → FieldWrapper-YzbvvC3M.js} +1 -1
  10. package/dist/chunks/{LayoutCanvas-BsJIzhdd.js → LayoutCanvas-Ba4A9QC5.js} +1 -1
  11. package/dist/chunks/{LayoutNode-DJVhkSGk.js → LayoutNode-CTTTLMDM.js} +1 -1
  12. package/dist/chunks/{LpActionBar-CzOFar5t.js → LpActionBar-B7anGlkI.js} +2 -2
  13. package/dist/chunks/{LpAddressInput-Chv_Xf8q.js → LpAddressInput-CD0bzrt-.js} +7 -7
  14. package/dist/chunks/{LpAlert-C5igj802.js → LpAlert-BHi7ARqu.js} +1 -1
  15. package/dist/chunks/{LpAppShell-BiWByLmt.js → LpAppShell-1RmBp6xQ.js} +3 -3
  16. package/dist/chunks/{LpAutocomplete-D92niDHE.js → LpAutocomplete-DDqe2M5g.js} +5 -2
  17. package/dist/chunks/{LpAvatar-CLPl-qOF.js → LpAvatar-DqfKCIdr.js} +1 -1
  18. package/dist/chunks/{LpBadge-BBq1Er9T.js → LpBadge-C8fKEmTF.js} +1 -1
  19. package/dist/chunks/{LpBreadcrumbs-JKEi_yFF.js → LpBreadcrumbs-DhcoStFa.js} +1 -1
  20. package/dist/chunks/{LpButton-CVxBfGjd.js → LpButton-BQDAFXBd.js} +3 -0
  21. package/dist/chunks/{LpCalendar-pVL91-Pl.js → LpCalendar-NmrA47J9.js} +1 -1
  22. package/dist/chunks/{LpCheckbox-DHc2bHDe.js → LpCheckbox-BoOuLnGB.js} +5 -2
  23. package/dist/chunks/{LpCodeBlock-BGsQhxw8.js → LpCodeBlock-Czu-fq1M.js} +2 -2
  24. package/dist/chunks/{LpCodeDisplay-CbJMs-IK.js → LpCodeDisplay-BK2FHbtM.js} +5 -5
  25. package/dist/chunks/{LpColorPicker-B7HSIFmn.js → LpColorPicker-Ee1DZiRd.js} +2 -2
  26. package/dist/chunks/LpCommandScope-ubtWDMa0.js +53 -0
  27. package/dist/chunks/{LpConfirmDialog-CfGCux8m.js → LpConfirmDialog-i15pulMT.js} +3 -3
  28. package/dist/chunks/{LpConfirmHost-exB7JmcO.js → LpConfirmHost-D0oGavtd.js} +1 -1
  29. package/dist/chunks/{LpContextMenu-Cj96ENDC.js → LpContextMenu-DXpFJjlO.js} +13 -3
  30. package/dist/chunks/{LpCopyButton-DzHjnFs0.js → LpCopyButton-Dmq7DmFw.js} +3 -3
  31. package/dist/chunks/{LpCountdown-BQnmB4gq.js → LpCountdown-DTdMF8DL.js} +1 -1
  32. package/dist/chunks/{LpDataList-CHNYQw7h.js → LpDataList-CFPtSsBB.js} +3 -3
  33. package/dist/chunks/{LpDatePicker-ac1_6o5P.js → LpDatePicker-cC9K-Pk8.js} +4 -4
  34. package/dist/chunks/{LpDateRangePicker-B15gYrZJ.js → LpDateRangePicker-BVQKPbvo.js} +2 -2
  35. package/dist/chunks/{LpDisclosure-DOarzlAG.js → LpDisclosure-hRnX3FWL.js} +4 -1
  36. package/dist/chunks/{LpDrawer-DGNKRsGq.js → LpDrawer-u4rxnuR-.js} +1 -1
  37. package/dist/chunks/{LpDropdownMenu-R4aYVtVV.js → LpDropdownMenu-BgZ0Z_Im.js} +13 -3
  38. package/dist/chunks/{LpEditable-Ws3DNQHn.js → LpEditable-CjxuOVh_.js} +2 -2
  39. package/dist/chunks/{LpEmptyState-KTKipws2.js → LpEmptyState-CKFTtQgJ.js} +1 -1
  40. package/dist/chunks/{LpFieldNotice-CurbNuXI.js → LpFieldNotice-CPI8EwtU.js} +1 -1
  41. package/dist/chunks/{LpFileTree-DDNg34tJ.js → LpFileTree-BH0gNlSJ.js} +2 -2
  42. package/dist/chunks/{LpFileTreeNode-DmPuYNZ_.js → LpFileTreeNode-gPVB1oXM.js} +4 -4
  43. package/dist/chunks/{LpFormField-BWwgm1E4.js → LpFormField-gRASfyj2.js} +4 -1
  44. package/dist/chunks/{LpGauge-C14Z9503.js → LpGauge-BdjPGnqw.js} +1 -1
  45. package/dist/chunks/{LpHintLayer-HvwUA5Ec.js → LpHintLayer-C2asBIfs.js} +2 -2
  46. package/dist/chunks/{LpHints-DxbPKOzQ.js → LpHints-CNZQ76JV.js} +3 -3
  47. package/dist/chunks/{LpIcon-HJP5xMz4.js → LpIcon-DkP-9mzK.js} +1 -1
  48. package/dist/chunks/{LpInfraNode-D64hywJI.js → LpInfraNode-yTh4-5qa.js} +2 -2
  49. package/dist/chunks/{LpInput-CDuwODJG.js → LpInput-2H-5ILOB.js} +5 -2
  50. package/dist/chunks/{LpLightbox-XJ0LpTcZ.js → LpLightbox-lAt5uIfx.js} +2 -2
  51. package/dist/chunks/{LpLogViewer-DKK4ySZl.js → LpLogViewer-x78YfhJf.js} +5 -5
  52. package/dist/chunks/{LpMapPicker-BtIl7NOM.js → LpMapPicker-Dp5RSCi9.js} +1 -1
  53. package/dist/chunks/{LpMediaGallery-rmI1DjKN.js → LpMediaGallery-D92oJfY_.js} +3 -3
  54. package/dist/chunks/{LpModal-eBMt2Fqn.js → LpModal-CpH0bNo7.js} +1 -1
  55. package/dist/chunks/{LpModalNav-DiyFCHiZ.js → LpModalNav-BH4ANQGJ.js} +4 -4
  56. package/dist/chunks/{LpNotificationBell-D-WhE5m2.js → LpNotificationBell-BdUQqZhs.js} +6 -6
  57. package/dist/chunks/{LpNumberField-B9k-h2HE.js → LpNumberField-DZY3Z670.js} +4 -1
  58. package/dist/chunks/{LpNumberFlow-Cfyh033Q.js → LpNumberFlow-5khYxsfX.js} +6 -3
  59. package/dist/chunks/{LpPagination-VNCX6pFC.js → LpPagination-DbeACavM.js} +1 -1
  60. package/dist/chunks/LpPaletteTheme-CqWNRwHE.js +104 -0
  61. package/dist/chunks/{LpPasswordInput-GL2KOFK8.js → LpPasswordInput-BzAZsf5V.js} +4 -2
  62. package/dist/chunks/{LpPhoneInput-C60tx1tC.js → LpPhoneInput-BMpd-0QR.js} +2 -2
  63. package/dist/chunks/{LpPie-BgXZ3xmm.js → LpPie-DdFSTbGE.js} +4 -4
  64. package/dist/chunks/{LpPipeline-B31h41Mu.js → LpPipeline-zjEM1Lwc.js} +3 -3
  65. package/dist/chunks/{LpProgress-CE-m5OpD.js → LpProgress-BX33EKkN.js} +1 -1
  66. package/dist/chunks/{LpQuota-DaL8TgNe.js → LpQuota-DqNv1yjs.js} +2 -2
  67. package/dist/chunks/{LpRadioGroup-CGBr5nIp.js → LpRadioGroup-CsXeV9Ct.js} +4 -1
  68. package/dist/chunks/{LpRangeCalendar-c5qj7YcC.js → LpRangeCalendar-l-0nSFmY.js} +1 -1
  69. package/dist/chunks/{LpRangeSlider-Dv6lNvHY.js → LpRangeSlider-CM-0ZITZ.js} +3 -0
  70. package/dist/chunks/{LpRelativeTime-yin9uQP7.js → LpRelativeTime-UM8EkfrN.js} +1 -1
  71. package/dist/chunks/{LpRepeater-D0S7jjwr.js → LpRepeater-OvzByE5L.js} +2 -2
  72. package/dist/chunks/{LpSecretField-CfWyHv9m.js → LpSecretField-DwQiPOko.js} +9 -7
  73. package/dist/chunks/{LpSection-BW4xJ-Li.js → LpSection-DcQsieHG.js} +1 -1
  74. package/dist/chunks/{LpSegmented-BO99Sr4m.js → LpSegmented-D2VST0o3.js} +4 -1
  75. package/dist/chunks/{LpSelect-C_8cJtj6.js → LpSelect-DYX2-u5A.js} +36 -6
  76. package/dist/chunks/{LpSidebar-CZRXtvem.js → LpSidebar-D44peKq2.js} +3 -3
  77. package/dist/chunks/{LpSidebarNav-DBg1U1oW.js → LpSidebarNav--VwkXO_a.js} +3 -3
  78. package/dist/chunks/{LpSlider-DuoRpOrH.js → LpSlider-DxYoCJJO.js} +3 -0
  79. package/dist/chunks/{LpStat-DFKlPJgy.js → LpStat-DIsQfbeD.js} +3 -3
  80. package/dist/chunks/{LpStatus-BsGLrpor.js → LpStatus-BQU1TUsv.js} +1 -1
  81. package/dist/chunks/{LpStepMark-TrzOioa9.js → LpStepMark-CXa7DJy_.js} +1 -1
  82. package/dist/chunks/{LpStepper-BbnS5jUr.js → LpStepper-C9RM_yTG.js} +1 -1
  83. package/dist/chunks/{LpSwitch-DrzKrZZV.js → LpSwitch-bGZxUDSx.js} +3 -0
  84. package/dist/chunks/{LpTableFilter-DyvHGbOk.js → LpTableFilter-CTZMqFDU.js} +2 -2
  85. package/dist/chunks/{LpTableOfContents-rYvo8z5T.js → LpTableOfContents-CraicEs4.js} +2 -2
  86. package/dist/chunks/{LpTagsInput-DZg80W-B.js → LpTagsInput-DrjmrOge.js} +8 -5
  87. package/dist/chunks/{LpTextarea-DiWjeVoJ.js → LpTextarea-BbYqmG1S.js} +4 -1
  88. package/dist/chunks/{LpThemeStudio-DxVZMtzN.js → LpThemeStudio-B2nPaG-h.js} +18 -14
  89. package/dist/chunks/{LpThemeSwitcher-CadVBTBn.js → LpThemeSwitcher-C0A5sg_E.js} +5 -3
  90. package/dist/chunks/{LpTimeField-BFQVf_PW.js → LpTimeField-DQ8WvPr2.js} +4 -1
  91. package/dist/chunks/{LpToaster-Wv9ksj4q.js → LpToaster-BTTl_wuy.js} +2 -2
  92. package/dist/chunks/{LpTooltip-Cz8SQwRt.js → LpTooltip-BcBvIx4z.js} +23 -5
  93. package/dist/chunks/{LpTopologyCanvas-C17A1XCb.js → LpTopologyCanvas-B0wEvAoq.js} +1 -1
  94. package/dist/chunks/{LpTour-CY2bFXge.js → LpTour-BgCfNlaW.js} +1 -1
  95. package/dist/chunks/{LpTruncate-D_5Pfv5B.js → LpTruncate-TcqfkyJM.js} +2 -2
  96. package/dist/chunks/{LpUptimeBar-Tew1Ykx4.js → LpUptimeBar-DRadGq4Y.js} +136 -47
  97. package/dist/chunks/{MenuTitle-BjQZX8tQ.js → MenuTitle-Dab3EGOp.js} +1 -1
  98. package/dist/chunks/{OptionContent-CmYUUeWj.js → OptionContent-DPzNsybd.js} +1 -1
  99. package/dist/chunks/PalettePreviewBoundary-B0Hhu3Yw.js +20 -0
  100. package/dist/chunks/{PickerField-DoHv0WMH.js → PickerField-DwLw7j0L.js} +1 -1
  101. package/dist/chunks/{RevealToggle-C-KzaQGJ.js → RevealToggle-BVFM_FAU.js} +3 -3
  102. package/dist/chunks/{TourCard-BJ8i7dk0.js → TourCard--2IfgnUU.js} +2 -2
  103. package/dist/chunks/icons-CLu1iR1j.js +43 -0
  104. package/dist/chunks/palette-BiY7yQZL.js +29 -0
  105. package/dist/component-names.d.ts +1 -1
  106. package/dist/components/ContextMenuItems.vue.js +1 -1
  107. package/dist/components/DropzoneLinkField.vue.js +1 -1
  108. package/dist/components/FieldWrapper.vue.js +1 -1
  109. package/dist/components/LayoutCanvas.vue.js +1 -1
  110. package/dist/components/LayoutNode.vue.js +1 -1
  111. package/dist/components/LpActionBar.vue.js +1 -1
  112. package/dist/components/LpAddressInput.vue.d.ts +1 -1
  113. package/dist/components/LpAddressInput.vue.js +1 -1
  114. package/dist/components/LpAlert.vue.d.ts +3 -3
  115. package/dist/components/LpAlert.vue.js +1 -1
  116. package/dist/components/LpAppShell.vue.js +1 -1
  117. package/dist/components/LpAutocomplete.vue.d.ts +7 -1
  118. package/dist/components/LpAutocomplete.vue.js +1 -1
  119. package/dist/components/LpAvatar.vue.js +1 -1
  120. package/dist/components/LpBadge.vue.d.ts +2 -2
  121. package/dist/components/LpBadge.vue.js +1 -1
  122. package/dist/components/LpBreadcrumbs.vue.js +1 -1
  123. package/dist/components/LpButton.vue.d.ts +4 -0
  124. package/dist/components/LpButton.vue.js +1 -1
  125. package/dist/components/LpCalendar.vue.js +1 -1
  126. package/dist/components/LpChart.vue.js +2 -2
  127. package/dist/components/LpCheckbox.vue.d.ts +8 -1
  128. package/dist/components/LpCheckbox.vue.js +1 -1
  129. package/dist/components/LpCodeBlock.vue.js +1 -1
  130. package/dist/components/LpCodeDisplay.vue.js +1 -1
  131. package/dist/components/LpColorPicker.vue.d.ts +2 -2
  132. package/dist/components/LpColorPicker.vue.js +1 -1
  133. package/dist/components/LpCommandPalette.vue.d.ts +43 -7
  134. package/dist/components/LpCommandPalette.vue.js +451 -126
  135. package/dist/components/LpCommandScope.vue.d.ts +28 -0
  136. package/dist/components/LpCommandScope.vue.js +4 -0
  137. package/dist/components/LpConfirmDialog.vue.js +1 -1
  138. package/dist/components/LpConfirmHost.vue.js +1 -1
  139. package/dist/components/LpContextMenu.vue.d.ts +5 -1
  140. package/dist/components/LpContextMenu.vue.js +1 -1
  141. package/dist/components/LpCopyButton.vue.d.ts +1 -1
  142. package/dist/components/LpCopyButton.vue.js +1 -1
  143. package/dist/components/LpCountdown.vue.js +1 -1
  144. package/dist/components/LpDataList.vue.js +1 -1
  145. package/dist/components/LpDatePicker.vue.js +1 -1
  146. package/dist/components/LpDateRangePicker.vue.js +1 -1
  147. package/dist/components/LpDisclosure.vue.d.ts +4 -0
  148. package/dist/components/LpDisclosure.vue.js +1 -1
  149. package/dist/components/LpDock.vue.js +2 -2
  150. package/dist/components/LpDrawer.vue.js +1 -1
  151. package/dist/components/LpDropdownMenu.vue.d.ts +5 -1
  152. package/dist/components/LpDropdownMenu.vue.js +1 -1
  153. package/dist/components/LpDropzone.vue.js +2 -2
  154. package/dist/components/LpEditable.vue.js +1 -1
  155. package/dist/components/LpEmptyState.vue.js +1 -1
  156. package/dist/components/LpFieldNotice.vue.js +1 -1
  157. package/dist/components/LpFileTree.vue.d.ts +1 -1
  158. package/dist/components/LpFileTree.vue.js +1 -1
  159. package/dist/components/LpFileTreeNode.vue.js +1 -1
  160. package/dist/components/LpFormField.vue.js +1 -1
  161. package/dist/components/LpGauge.vue.js +1 -1
  162. package/dist/components/LpHintLayer.vue.js +1 -1
  163. package/dist/components/LpHints.vue.js +1 -1
  164. package/dist/components/LpIcon.vue.js +1 -1
  165. package/dist/components/LpImageEditor.vue.js +3 -2
  166. package/dist/components/LpInfraNode.vue.js +1 -1
  167. package/dist/components/LpInput.vue.d.ts +6 -0
  168. package/dist/components/LpInput.vue.js +1 -1
  169. package/dist/components/LpLightbox.vue.js +1 -1
  170. package/dist/components/LpLoader.vue.d.ts +1 -1
  171. package/dist/components/LpLogViewer.vue.js +1 -1
  172. package/dist/components/LpMapPicker.vue.js +1 -1
  173. package/dist/components/LpMediaGallery.vue.d.ts +2 -2
  174. package/dist/components/LpMediaGallery.vue.js +1 -1
  175. package/dist/components/LpModal.vue.js +1 -1
  176. package/dist/components/LpModalNav.vue.js +1 -1
  177. package/dist/components/LpNotificationBell.vue.js +1 -1
  178. package/dist/components/LpNumberField.vue.d.ts +6 -0
  179. package/dist/components/LpNumberField.vue.js +1 -1
  180. package/dist/components/LpNumberFlow.vue.js +1 -1
  181. package/dist/components/LpPagination.vue.js +1 -1
  182. package/dist/components/LpPaletteFacts.vue.d.ts +1 -0
  183. package/dist/components/LpPaletteFacts.vue.js +40 -26
  184. package/dist/components/LpPaletteHeader.vue.js +2 -2
  185. package/dist/components/LpPaletteStats.vue.d.ts +1 -0
  186. package/dist/components/LpPaletteStats.vue.js +45 -21
  187. package/dist/components/LpPaletteTheme.vue.d.ts +7 -0
  188. package/dist/components/LpPaletteTheme.vue.js +4 -0
  189. package/dist/components/LpPasswordInput.vue.js +1 -1
  190. package/dist/components/LpPhoneInput.vue.js +1 -1
  191. package/dist/components/LpPie.vue.js +1 -1
  192. package/dist/components/LpPipeline.vue.js +1 -1
  193. package/dist/components/LpProgress.vue.d.ts +1 -1
  194. package/dist/components/LpProgress.vue.js +1 -1
  195. package/dist/components/LpQuota.vue.js +1 -1
  196. package/dist/components/LpRadioGroup.vue.d.ts +6 -1
  197. package/dist/components/LpRadioGroup.vue.js +1 -1
  198. package/dist/components/LpRangeCalendar.vue.js +1 -1
  199. package/dist/components/LpRangeSlider.vue.d.ts +6 -0
  200. package/dist/components/LpRangeSlider.vue.js +1 -1
  201. package/dist/components/LpRelativeTime.vue.js +1 -1
  202. package/dist/components/LpRepeater.vue.js +1 -1
  203. package/dist/components/LpSecretField.vue.js +1 -1
  204. package/dist/components/LpSection.vue.js +1 -1
  205. package/dist/components/LpSegmented.vue.d.ts +6 -0
  206. package/dist/components/LpSegmented.vue.js +1 -1
  207. package/dist/components/LpSelect.vue.d.ts +3 -0
  208. package/dist/components/LpSelect.vue.js +1 -1
  209. package/dist/components/LpShinyText.vue.d.ts +1 -1
  210. package/dist/components/LpShortcutsDialog.vue.js +1 -1
  211. package/dist/components/LpSidebar.vue.js +1 -1
  212. package/dist/components/LpSidebarNav.vue.js +1 -1
  213. package/dist/components/LpSlider.vue.d.ts +6 -0
  214. package/dist/components/LpSlider.vue.js +1 -1
  215. package/dist/components/LpStat.vue.js +1 -1
  216. package/dist/components/LpStatus.vue.js +1 -1
  217. package/dist/components/LpStepMark.vue.js +1 -1
  218. package/dist/components/LpStepper.vue.js +1 -1
  219. package/dist/components/LpSwitch.vue.d.ts +6 -0
  220. package/dist/components/LpSwitch.vue.js +1 -1
  221. package/dist/components/LpTable.vue.d.ts +6 -0
  222. package/dist/components/LpTable.vue.js +74 -35
  223. package/dist/components/LpTableFilter.vue.js +1 -1
  224. package/dist/components/LpTableOfContents.vue.js +1 -1
  225. package/dist/components/LpTabs.vue.d.ts +1 -1
  226. package/dist/components/LpTabs.vue.js +14 -5
  227. package/dist/components/LpTagsInput.vue.d.ts +6 -0
  228. package/dist/components/LpTagsInput.vue.js +1 -1
  229. package/dist/components/LpTextarea.vue.d.ts +8 -1
  230. package/dist/components/LpTextarea.vue.js +1 -1
  231. package/dist/components/LpThemeStudio.vue.js +1 -1
  232. package/dist/components/LpThemeSwitcher.vue.js +1 -1
  233. package/dist/components/LpTimeField.vue.d.ts +6 -0
  234. package/dist/components/LpTimeField.vue.js +1 -1
  235. package/dist/components/LpToaster.vue.js +1 -1
  236. package/dist/components/LpTooltip.vue.js +1 -1
  237. package/dist/components/LpTopologyCanvas.vue.js +1 -1
  238. package/dist/components/LpTour.vue.js +1 -1
  239. package/dist/components/LpTruncate.vue.js +1 -1
  240. package/dist/components/LpUptimeBar.vue.d.ts +18 -9
  241. package/dist/components/LpUptimeBar.vue.js +1 -1
  242. package/dist/components/MenuTitle.vue.js +1 -1
  243. package/dist/components/OptionContent.vue.js +1 -1
  244. package/dist/components/PalettePreviewBoundary.vue.d.ts +13 -0
  245. package/dist/components/PalettePreviewBoundary.vue.js +4 -0
  246. package/dist/components/PickerField.vue.js +1 -1
  247. package/dist/components/RevealToggle.vue.js +1 -1
  248. package/dist/components/TourCard.vue.js +1 -1
  249. package/dist/components/commandPalette.d.ts +33 -0
  250. package/dist/components/commandPalette.js +21 -1
  251. package/dist/components/commandSearch.d.ts +5 -0
  252. package/dist/components/commandSearch.js +22 -2
  253. package/dist/components/format.d.ts +7 -0
  254. package/dist/components/format.js +4 -0
  255. package/dist/components/menuWhen.js +1 -1
  256. package/dist/components/uptimeBar.d.ts +45 -0
  257. package/dist/components/uptimeBar.js +51 -0
  258. package/dist/composables/scroll.d.ts +5 -0
  259. package/dist/composables/scroll.js +7 -0
  260. package/dist/composables/useField.d.ts +4 -0
  261. package/dist/composables/useField.js +3 -0
  262. package/dist/composables/usePaletteCommands.d.ts +61 -0
  263. package/dist/composables/usePaletteCommands.js +220 -0
  264. package/dist/composables/useReveal.js +21 -0
  265. package/dist/composables/useView.js +5 -1
  266. package/dist/icons-all.js +1 -1
  267. package/dist/index.d.ts +14 -1
  268. package/dist/index.js +101 -85
  269. package/dist/theme/palette.d.ts +9 -0
  270. package/dist/theme/studio.d.ts +12 -1
  271. package/package.json +1 -1
  272. package/src/component-names.ts +2 -0
  273. package/src/components/LpAutocomplete.vue +6 -1
  274. package/src/components/LpButton.vue +5 -1
  275. package/src/components/LpCheckbox.vue +7 -2
  276. package/src/components/LpCommandPalette.vue +263 -29
  277. package/src/components/LpCommandScope.vue +35 -0
  278. package/src/components/LpContextMenu.vue +13 -2
  279. package/src/components/LpDisclosure.vue +5 -1
  280. package/src/components/LpDropdownMenu.vue +13 -2
  281. package/src/components/LpFormField.vue +3 -0
  282. package/src/components/LpInput.vue +6 -1
  283. package/src/components/LpNumberField.vue +6 -1
  284. package/src/components/LpNumberFlow.vue +12 -2
  285. package/src/components/LpPaletteFacts.vue +11 -6
  286. package/src/components/LpPaletteStats.vue +12 -5
  287. package/src/components/LpPaletteTheme.vue +48 -0
  288. package/src/components/LpPasswordInput.vue +3 -0
  289. package/src/components/LpRadioGroup.vue +4 -1
  290. package/src/components/LpRangeSlider.vue +6 -1
  291. package/src/components/LpSecretField.vue +3 -0
  292. package/src/components/LpSegmented.vue +6 -1
  293. package/src/components/LpSelect.vue +41 -2
  294. package/src/components/LpSlider.vue +6 -1
  295. package/src/components/LpSwitch.vue +6 -1
  296. package/src/components/LpTable.vue +35 -2
  297. package/src/components/LpTableOfContents.vue +2 -4
  298. package/src/components/LpTabs.vue +7 -0
  299. package/src/components/LpTagsInput.vue +6 -1
  300. package/src/components/LpTextarea.vue +7 -2
  301. package/src/components/LpThemeStudio.vue +7 -5
  302. package/src/components/LpThemeSwitcher.vue +3 -0
  303. package/src/components/LpTimeField.vue +6 -1
  304. package/src/components/LpTooltip.vue +23 -1
  305. package/src/components/LpUptimeBar.vue +69 -41
  306. package/src/components/PalettePreviewBoundary.vue +5 -0
  307. package/src/components/commandPalette.ts +22 -1
  308. package/src/components/commandSearch.ts +23 -1
  309. package/src/components/format.ts +10 -0
  310. package/src/components/uptimeBar.ts +98 -0
  311. package/src/composables/scroll.ts +11 -0
  312. package/src/composables/useField.ts +7 -0
  313. package/src/composables/usePaletteCommands.ts +220 -0
  314. package/src/composables/useReveal.ts +29 -0
  315. package/src/composables/useView.ts +5 -1
  316. package/src/index.ts +18 -1
  317. package/src/kit-icons.ts +1 -1
  318. package/src/theme/palette.ts +26 -0
  319. package/src/theme/studio.ts +15 -8
  320. package/dist/assets/LpTabs-BJ-nrJuI.css +0 -18
  321. package/dist/chunks/icons-4IywzkHk.js +0 -43
package/dist/icons-all.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import lucide from "@iconify-json/lucide/icons.json";
2
- import { a as registerIconCollection } from "./chunks/icons-4IywzkHk.js";
2
+ import { a as registerIconCollection } from "./chunks/icons-CLu1iR1j.js";
3
3
  registerIconCollection(lucide);
package/dist/index.d.ts CHANGED
@@ -291,7 +291,7 @@ export { TONE_ALIASES, TONES, toneLook, toneOf } from "./components/tone";
291
291
  export type { Tone, ToneLook, ToneName } from "./components/tone";
292
292
  export { formatAmount, quotaSegments, quotaState } from "./components/quota";
293
293
  export type { QuotaPart, QuotaSegment, QuotaState, QuotaUnit } from "./components/quota";
294
- export { compactNumber, formatBytes } from "./components/format";
294
+ export { compactNumber, decimalMark, formatBytes } from "./components/format";
295
295
  export type { CompactNumberOptions, FormatBytesOptions } from "./components/format";
296
296
  export { STATUS_LABELS, STATUS_LOOK } from "./components/status";
297
297
  export type { StatusKind, StatusLook } from "./components/status";
@@ -359,3 +359,16 @@ export { default as LpGlowBorder } from "./components/LpGlowBorder.vue";
359
359
  export { default as LpMagnetic } from "./components/LpMagnetic.vue";
360
360
  export { spotlightPoint, useSpotlight } from "./composables/useSpotlight";
361
361
  export type { UseSpotlight, UseSpotlightOptions } from "./composables/useSpotlight";
362
+ export { default as LpCommandScope } from "./components/LpCommandScope.vue";
363
+ export { createPaletteRegistry, usePaletteCommands, mergePaletteCommands } from "./composables/usePaletteCommands";
364
+ export type { PaletteRegistry, PaletteControlOptions } from "./composables/usePaletteCommands";
365
+ export { PALETTE_MODES } from "./components/commandPalette";
366
+ export type { PaletteMode } from "./components/commandPalette";
367
+ export { searchCommandItems, swapCommandLayout } from "./components/commandSearch";
368
+ export type { CommandPrompt } from "./components/LpCommandPalette.vue";
369
+ export { usePaletteTheme } from "./theme/palette";
370
+ export { default as LpPaletteTheme } from "./components/LpPaletteTheme.vue";
371
+ export { vPalette } from "./composables/usePaletteCommands";
372
+ export type { PaletteTargetOptions } from "./composables/usePaletteCommands";
373
+ export { menuPaletteCommands } from "./components/commandPalette";
374
+ export type { PreviewableThemeStudio } from "./theme/studio";
package/dist/index.js CHANGED
@@ -1,28 +1,28 @@
1
- import { _ } from "./chunks/LayoutCanvas-BsJIzhdd.js";
2
- import { _ as _2 } from "./chunks/LpAddressInput-Chv_Xf8q.js";
3
- import { _ as _3 } from "./chunks/LpMapPicker-BtIl7NOM.js";
1
+ import { _ } from "./chunks/LayoutCanvas-Ba4A9QC5.js";
2
+ import { _ as _2 } from "./chunks/LpAddressInput-CD0bzrt-.js";
3
+ import { _ as _3 } from "./chunks/LpMapPicker-Dp5RSCi9.js";
4
4
  import { OSM_TILES, createNominatimProvider, emptyAddress, formatAddress, project, tileUrl, unproject } from "./components/address.js";
5
- import { _ as _4 } from "./chunks/LpActionBar-CzOFar5t.js";
6
- import { _ as _5 } from "./chunks/LpAlert-C5igj802.js";
7
- import { _ as _6 } from "./chunks/LpAppShell-BiWByLmt.js";
8
- import { _ as _7 } from "./chunks/LpAutocomplete-D92niDHE.js";
9
- import { _ as _8 } from "./chunks/LpAvatar-CLPl-qOF.js";
10
- import { _ as _9 } from "./chunks/LpBadge-BBq1Er9T.js";
11
- import { _ as _10 } from "./chunks/LpBreadcrumbs-JKEi_yFF.js";
12
- import { _ as _11 } from "./chunks/LpButton-CVxBfGjd.js";
13
- import { _ as _12 } from "./chunks/LpCalendar-pVL91-Pl.js";
5
+ import { _ as _4 } from "./chunks/LpActionBar-B7anGlkI.js";
6
+ import { _ as _5 } from "./chunks/LpAlert-BHi7ARqu.js";
7
+ import { _ as _6 } from "./chunks/LpAppShell-1RmBp6xQ.js";
8
+ import { _ as _7 } from "./chunks/LpAutocomplete-DDqe2M5g.js";
9
+ import { _ as _8 } from "./chunks/LpAvatar-DqfKCIdr.js";
10
+ import { _ as _9 } from "./chunks/LpBadge-C8fKEmTF.js";
11
+ import { _ as _10 } from "./chunks/LpBreadcrumbs-DhcoStFa.js";
12
+ import { _ as _11 } from "./chunks/LpButton-BQDAFXBd.js";
13
+ import { _ as _12 } from "./chunks/LpCalendar-NmrA47J9.js";
14
14
  import { _ as _13 } from "./chunks/LpCard-CqKLnEhl.js";
15
15
  import { default as default2 } from "./components/LpChart.vue.js";
16
16
  import { backgroundOf, csvField, downloadFile, fileStem, inlineSvg, resolveCssColor, svgToPng, toCsv } from "./components/exportData.js";
17
17
  import { CHART_PALETTE, axisTicks, chartSummary, formatTick, markerIndex, niceScale, resolveSlices } from "./components/chart.js";
18
- import { _ as _14 } from "./chunks/LpCheckbox-DHc2bHDe.js";
19
- import { _ as _15 } from "./chunks/LpCodeBlock-BGsQhxw8.js";
18
+ import { _ as _14 } from "./chunks/LpCheckbox-BoOuLnGB.js";
19
+ import { _ as _15 } from "./chunks/LpCodeBlock-Czu-fq1M.js";
20
20
  import { tokenizeLines } from "./components/codeHighlight.js";
21
- import { _ as _16 } from "./chunks/LpColorPicker-B7HSIFmn.js";
21
+ import { _ as _16 } from "./chunks/LpColorPicker-Ee1DZiRd.js";
22
22
  import { DEFAULT_SWATCHES, clampHsv, formatColor, hsvToHsl, hsvToRgb, isLight, normalizeHue, opaqueCss, parseColor, parseHex, rgbToHex, rgbToHsv } from "./components/color.js";
23
23
  import { default as default3 } from "./components/LpCommandPalette.vue.js";
24
- import { applyQueryFilters, highlightParts, parseCommandQuery, parsePaletteQuery, rankCommandItems } from "./components/commandSearch.js";
25
- import { commandHasPreview, pushRecent, readRecent, toRecentItem } from "./components/commandPalette.js";
24
+ import { applyQueryFilters, highlightParts, parseCommandQuery, parsePaletteQuery, rankCommandItems, searchCommandItems, swapCommandLayout } from "./components/commandSearch.js";
25
+ import { PALETTE_MODES, commandHasPreview, menuPaletteCommands, pushRecent, readRecent, toRecentItem } from "./components/commandPalette.js";
26
26
  import { _ as _17 } from "./chunks/LpPalettePreview-BNB8T_MY.js";
27
27
  import { default as default4 } from "./components/LpPaletteHeader.vue.js";
28
28
  import { default as default5 } from "./components/LpPaletteFacts.vue.js";
@@ -30,92 +30,92 @@ import { default as default6 } from "./components/LpPaletteStats.vue.js";
30
30
  import { default as default7 } from "./components/LpPaletteSwatches.vue.js";
31
31
  import { default as default8 } from "./components/LpKeys.vue.js";
32
32
  import { comboKeys, comboSteps } from "./components/keys.js";
33
- import { _ as _18 } from "./chunks/LpConfirmDialog-CfGCux8m.js";
34
- import { _ as _19 } from "./chunks/LpConfirmHost-exB7JmcO.js";
33
+ import { _ as _18 } from "./chunks/LpConfirmDialog-i15pulMT.js";
34
+ import { _ as _19 } from "./chunks/LpConfirmHost-D0oGavtd.js";
35
35
  import { confirm, useConfirm } from "./components/confirm.js";
36
- import { _ as _20 } from "./chunks/LpContextMenu-Cj96ENDC.js";
37
- import { _ as _21 } from "./chunks/LpDatePicker-ac1_6o5P.js";
38
- import { _ as _22 } from "./chunks/LpDateRangePicker-B15gYrZJ.js";
39
- import { _ as _23 } from "./chunks/LpRangeCalendar-c5qj7YcC.js";
36
+ import { _ as _20 } from "./chunks/LpContextMenu-DXpFJjlO.js";
37
+ import { _ as _21 } from "./chunks/LpDatePicker-cC9K-Pk8.js";
38
+ import { _ as _22 } from "./chunks/LpDateRangePicker-BVQKPbvo.js";
39
+ import { _ as _23 } from "./chunks/LpRangeCalendar-l-0nSFmY.js";
40
40
  import { clampRange, dayAllowed, defaultDatePresets, defaultRangePresets, formatRange, normalizeRange, sameRange } from "./components/dateRange.js";
41
- import { _ as _24 } from "./chunks/LpDisclosure-DOarzlAG.js";
41
+ import { _ as _24 } from "./chunks/LpDisclosure-hRnX3FWL.js";
42
42
  import { _ as _25 } from "./chunks/LpDivider-CUX46KR0.js";
43
- import { _ as _26 } from "./chunks/LpDrawer-DGNKRsGq.js";
44
- import { _ as _27 } from "./chunks/LpDropdownMenu-R4aYVtVV.js";
43
+ import { _ as _26 } from "./chunks/LpDrawer-u4rxnuR-.js";
44
+ import { _ as _27 } from "./chunks/LpDropdownMenu-BgZ0Z_Im.js";
45
45
  import { default as default9 } from "./components/LpDropzone.vue.js";
46
- import { _ as _28 } from "./chunks/LpEmptyState-KTKipws2.js";
47
- import { _ as _29 } from "./chunks/LpFileTree-DDNg34tJ.js";
46
+ import { _ as _28 } from "./chunks/LpEmptyState-CKFTtQgJ.js";
47
+ import { _ as _29 } from "./chunks/LpFileTree-BH0gNlSJ.js";
48
48
  import { ancestorIds, checkStateOf, checkedCount, computeStats, fileIcon, formatModified, formatSize, sortNodes, subtreeIds, subtreeSize } from "./components/fileTree.js";
49
- import { _ as _30 } from "./chunks/LpFieldNotice-CurbNuXI.js";
50
- import { _ as _31 } from "./chunks/LpFormField-BWwgm1E4.js";
51
- import { _ as _32 } from "./chunks/LpIcon-HJP5xMz4.js";
52
- import { i, b, a, c } from "./chunks/icons-4IywzkHk.js";
49
+ import { _ as _30 } from "./chunks/LpFieldNotice-CPI8EwtU.js";
50
+ import { _ as _31 } from "./chunks/LpFormField-gRASfyj2.js";
51
+ import { _ as _32 } from "./chunks/LpIcon-DkP-9mzK.js";
52
+ import { i, b, a, c } from "./chunks/icons-CLu1iR1j.js";
53
53
  import { default as default10 } from "./components/LpImageEditor.vue.js";
54
- import { _ as _33 } from "./chunks/LpInfraNode-D64hywJI.js";
55
- import { _ as _34 } from "./chunks/LpInput-CDuwODJG.js";
56
- import { _ as _35 } from "./chunks/LpLightbox-XJ0LpTcZ.js";
54
+ import { _ as _33 } from "./chunks/LpInfraNode-yTh4-5qa.js";
55
+ import { _ as _34 } from "./chunks/LpInput-2H-5ILOB.js";
56
+ import { _ as _35 } from "./chunks/LpLightbox-lAt5uIfx.js";
57
57
  import { fileNameOf } from "./components/lightbox.js";
58
58
  import { _ as _36 } from "./chunks/LpLink-Krkjhe_y.js";
59
- import { _ as _37 } from "./chunks/LpLogViewer-DKK4ySZl.js";
59
+ import { _ as _37 } from "./chunks/LpLogViewer-x78YfhJf.js";
60
60
  import { countLevels, matchPositions, matchesTerm, ringWindow, stepMatch } from "./components/logSearch.js";
61
- import { _ as _38 } from "./chunks/LpMediaGallery-rmI1DjKN.js";
62
- import { _ as _39 } from "./chunks/LpModal-eBMt2Fqn.js";
63
- import { _ as _40 } from "./chunks/LpModalNav-DiyFCHiZ.js";
64
- import { _ as _41 } from "./chunks/LpNotificationBell-D-WhE5m2.js";
65
- import { _ as _42 } from "./chunks/LpNumberField-B9k-h2HE.js";
66
- import { _ as _43 } from "./chunks/LpTimeField-BFQVf_PW.js";
67
- import { _ as _44 } from "./chunks/LpNumberFlow-Cfyh033Q.js";
61
+ import { _ as _38 } from "./chunks/LpMediaGallery-D92oJfY_.js";
62
+ import { _ as _39 } from "./chunks/LpModal-CpH0bNo7.js";
63
+ import { _ as _40 } from "./chunks/LpModalNav-BH4ANQGJ.js";
64
+ import { _ as _41 } from "./chunks/LpNotificationBell-BdUQqZhs.js";
65
+ import { _ as _42 } from "./chunks/LpNumberField-DZY3Z670.js";
66
+ import { _ as _43 } from "./chunks/LpTimeField-DQ8WvPr2.js";
67
+ import { _ as _44 } from "./chunks/LpNumberFlow-5khYxsfX.js";
68
68
  import { _ as _45 } from "./chunks/LpOtpInput-CeBPsM7D.js";
69
- import { _ as _46 } from "./chunks/LpPagination-VNCX6pFC.js";
70
- import { _ as _47 } from "./chunks/LpPasswordInput-GL2KOFK8.js";
71
- import { _ as _48 } from "./chunks/LpPie-BgXZ3xmm.js";
72
- import { _ as _49 } from "./chunks/LpPhoneInput-C60tx1tC.js";
69
+ import { _ as _46 } from "./chunks/LpPagination-DbeACavM.js";
70
+ import { _ as _47 } from "./chunks/LpPasswordInput-BzAZsf5V.js";
71
+ import { _ as _48 } from "./chunks/LpPie-DdFSTbGE.js";
72
+ import { _ as _49 } from "./chunks/LpPhoneInput-BMpd-0QR.js";
73
73
  import { filterCountries, flagEmoji, loadCountries, matchCountryByValue } from "./components/countries.js";
74
74
  import { _ as _50 } from "./chunks/LpPopover-DmZ3wUtP.js";
75
- import { _ as _51 } from "./chunks/LpProgress-CE-m5OpD.js";
75
+ import { _ as _51 } from "./chunks/LpProgress-BX33EKkN.js";
76
76
  import { _ as _52 } from "./chunks/LpRadio-CWA5Eb3M.js";
77
- import { _ as _53 } from "./chunks/LpRadioGroup-CGBr5nIp.js";
77
+ import { _ as _53 } from "./chunks/LpRadioGroup-CsXeV9Ct.js";
78
78
  import { _ as _54 } from "./chunks/LpRollingText-DiL717LK.js";
79
79
  import { _ as _55 } from "./chunks/LpScrollArea-Hz3-JWUG.js";
80
- import { _ as _56 } from "./chunks/LpSegmented-BO99Sr4m.js";
81
- import { _ as _57 } from "./chunks/LpSection-BW4xJ-Li.js";
82
- import { _ as _58 } from "./chunks/LpSelect-C_8cJtj6.js";
80
+ import { _ as _56 } from "./chunks/LpSegmented-D2VST0o3.js";
81
+ import { _ as _57 } from "./chunks/LpSection-DcQsieHG.js";
82
+ import { _ as _58 } from "./chunks/LpSelect-DYX2-u5A.js";
83
83
  import { fitChips, toggledValues } from "./components/select.js";
84
84
  import { _ as _59 } from "./chunks/LpServiceNode-D8uJ8sGk.js";
85
85
  import { _ as _60 } from "./chunks/LpShift-DXNsauQZ.js";
86
86
  import { _ as _61 } from "./chunks/LpSwap-DzE6M3Mg.js";
87
87
  import { _ as _62 } from "./chunks/LpHintExample-9Py0wc-L.js";
88
88
  import { default as default11 } from "./components/LpShortcutsDialog.vue.js";
89
- import { _ as _63 } from "./chunks/LpSidebar-CZRXtvem.js";
89
+ import { _ as _63 } from "./chunks/LpSidebar-D44peKq2.js";
90
90
  import { _ as _64 } from "./chunks/LpSkeleton-BB6XIV-w.js";
91
- import { _ as _65 } from "./chunks/LpSlider-DuoRpOrH.js";
92
- import { _ as _66 } from "./chunks/LpRangeSlider-Dv6lNvHY.js";
91
+ import { _ as _65 } from "./chunks/LpSlider-DxYoCJJO.js";
92
+ import { _ as _66 } from "./chunks/LpRangeSlider-CM-0ZITZ.js";
93
93
  import { _ as _67 } from "./chunks/LpVideoBackdrop-DS1wGv-X.js";
94
94
  import { formatClipTime, isNativeLoop, planLoop, seamProgress, seamReached } from "./components/videoBackdrop.js";
95
95
  import { _ as _68 } from "./chunks/LpSparkline-CExIRDb3.js";
96
- import { _ as _69 } from "./chunks/LpStat-DFKlPJgy.js";
97
- import { _ as _70 } from "./chunks/LpStepper-BbnS5jUr.js";
98
- import { _ as _71 } from "./chunks/LpSwitch-DrzKrZZV.js";
96
+ import { _ as _69 } from "./chunks/LpStat-DIsQfbeD.js";
97
+ import { _ as _70 } from "./chunks/LpStepper-C9RM_yTG.js";
98
+ import { _ as _71 } from "./chunks/LpSwitch-bGZxUDSx.js";
99
99
  import { default as default12 } from "./components/LpTable.vue.js";
100
100
  import { compareValues } from "./components/tableSort.js";
101
101
  import { resolveRowMenu } from "./components/tableRowMenu.js";
102
- import { _ as _72 } from "./chunks/LpTableOfContents-rYvo8z5T.js";
102
+ import { _ as _72 } from "./chunks/LpTableOfContents-CraicEs4.js";
103
103
  import { default as default13 } from "./components/LpTabs.vue.js";
104
- import { _ as _73 } from "./chunks/LpTagsInput-DZg80W-B.js";
104
+ import { _ as _73 } from "./chunks/LpTagsInput-DrjmrOge.js";
105
105
  import { addTags, splitTags } from "./components/tags.js";
106
- import { _ as _74 } from "./chunks/LpTextarea-DiWjeVoJ.js";
107
- import { _ as _75 } from "./chunks/LpThemeSwitcher-CadVBTBn.js";
106
+ import { _ as _74 } from "./chunks/LpTextarea-BbYqmG1S.js";
107
+ import { _ as _75 } from "./chunks/LpThemeSwitcher-C0A5sg_E.js";
108
108
  import { _ as _76 } from "./chunks/LpTilt-B7KHX1zH.js";
109
- import { _ as _77 } from "./chunks/LpToaster-Wv9ksj4q.js";
110
- import { _ as _78 } from "./chunks/LpTooltip-Cz8SQwRt.js";
111
- import { _ as _79 } from "./chunks/LpTour-CY2bFXge.js";
109
+ import { _ as _77 } from "./chunks/LpToaster-BTTl_wuy.js";
110
+ import { _ as _78 } from "./chunks/LpTooltip-BcBvIx4z.js";
111
+ import { _ as _79 } from "./chunks/LpTour-BgCfNlaW.js";
112
112
  import { holeOf, openContextMenu, panelsAround } from "./components/tour.js";
113
- import { _ as _80 } from "./chunks/LpHintLayer-HvwUA5Ec.js";
114
- import { _ as _81 } from "./chunks/LpHints-DxbPKOzQ.js";
113
+ import { _ as _80 } from "./chunks/LpHintLayer-C2asBIfs.js";
114
+ import { _ as _81 } from "./chunks/LpHints-CNZQ76JV.js";
115
115
  import { HINT_SIGNALS, contextMenuTip, createHintSystem, dropzoneTip, hintKey, hintSummary, hotkeyTip, localHintStorage, noteDropzone, noteHotkeyTarget, paletteTip, provideHintSystem, runningHintSystem, useHintSystem } from "./composables/useHintSystem.js";
116
116
  import { _ as _82 } from "./chunks/LpTooltipProvider-CftjV7Xc.js";
117
- import { _ as _83 } from "./chunks/LpTopologyCanvas-C17A1XCb.js";
118
- import { _ as _84 } from "./chunks/LpUptimeBar-Tew1Ykx4.js";
117
+ import { _ as _83 } from "./chunks/LpTopologyCanvas-B0wEvAoq.js";
118
+ import { _ as _84 } from "./chunks/LpUptimeBar-DRadGq4Y.js";
119
119
  import { deserializeLayout, serializeLayout } from "./layout/tree.js";
120
120
  import { addLeaf, addTab, countBlocks, countLeaves, makeLayout, moveLeaf, removeBlock, removeLeaf, reorderTab, resizeAt, setActiveTab } from "./layout/tree.js";
121
121
  import { blockTitle, defineBlocks } from "./layout/registry.js";
@@ -123,7 +123,7 @@ import { layoutController, useLayout } from "./layout/useLayout.js";
123
123
  import { a as parseTheme, s as serializeTheme } from "./chunks/useTheme-BOV_-AiY.js";
124
124
  import { D, T, b as b2, c as c2, d, e, f, g, l, h, n, i as i2, j, p, r, k, t, m, o, q, u, v } from "./chunks/useTheme-BOV_-AiY.js";
125
125
  import { G, N, d as d2, i as i3, s } from "./chunks/backdrop-Dkf2vM81.js";
126
- import { _ as _85, a as a2, b as b3, c as c3, d as d3, e as e2, u as u2, w } from "./chunks/LpThemeStudio-DxVZMtzN.js";
126
+ import { _ as _85, a as a2, b as b3, c as c3, d as d3, e as e2, u as u2, w } from "./chunks/LpThemeStudio-B2nPaG-h.js";
127
127
  import { useClipboard } from "./composables/useClipboard.js";
128
128
  import { activeShortcuts, appleModifierLabel, findHotkeyConflicts, hotkeyConflicts, hotkeySteps, isAppleKeyboard, matchesHotkey, mergeShortcutGroups, parseCombo, pendingHotkey, sequenceProgress, useAppleKeyboard, useHotkeys } from "./composables/useHotkeys.js";
129
129
  import { anyModalOpen, topModalElement, useModalLayer } from "./components/modalDepth.js";
@@ -163,32 +163,32 @@ import { _ as _86 } from "./chunks/LpThemeProvider-DcbfOxsU.js";
163
163
  import { _ as _87 } from "./chunks/LpFrame-BVQCQLDI.js";
164
164
  import { _ as _88 } from "./chunks/LpThemeStudioSection-BwhqYDLf.js";
165
165
  import { isInternalHref, resolveLink } from "./components/link.js";
166
- import { _ as _89 } from "./chunks/LpRepeater-D0S7jjwr.js";
167
- import { _ as _90 } from "./chunks/LpGauge-C14Z9503.js";
168
- import { _ as _91 } from "./chunks/LpQuota-DaL8TgNe.js";
169
- import { _ as _92 } from "./chunks/LpStatus-BsGLrpor.js";
170
- import { _ as _93 } from "./chunks/LpRelativeTime-yin9uQP7.js";
166
+ import { _ as _89 } from "./chunks/LpRepeater-OvzByE5L.js";
167
+ import { _ as _90 } from "./chunks/LpGauge-BdjPGnqw.js";
168
+ import { _ as _91 } from "./chunks/LpQuota-DqNv1yjs.js";
169
+ import { _ as _92 } from "./chunks/LpStatus-BQU1TUsv.js";
170
+ import { _ as _93 } from "./chunks/LpRelativeTime-UM8EkfrN.js";
171
171
  import { _ as _94 } from "./chunks/LpActivityLine-CJvzrNpj.js";
172
172
  import { TONE_COLOR, TONE_SOFT, arcPath, capacityThresholds, meterFraction, toneAt } from "./components/meter.js";
173
173
  import { TONES, TONE_ALIASES, toneLook, toneOf } from "./components/tone.js";
174
174
  import { formatAmount, quotaSegments, quotaState } from "./components/quota.js";
175
- import { compactNumber, formatBytes } from "./components/format.js";
175
+ import { compactNumber, decimalMark, formatBytes } from "./components/format.js";
176
176
  import { STATUS_LABELS, STATUS_LOOK } from "./components/status.js";
177
177
  import { formatRelativeTime } from "./components/relativeTime.js";
178
- import { _ as _95 } from "./chunks/LpPipeline-B31h41Mu.js";
179
- import { _ as _96 } from "./chunks/LpStepMark-TrzOioa9.js";
178
+ import { _ as _95 } from "./chunks/LpPipeline-zjEM1Lwc.js";
179
+ import { _ as _96 } from "./chunks/LpStepMark-CXa7DJy_.js";
180
180
  import { childProgress, connectorFilled, currentStepIndex, isSettled, overallStatus, stepElapsed } from "./components/pipeline.js";
181
181
  import { _ as _97 } from "./chunks/LpLoader-DjJEX8hL.js";
182
182
  import { useLoadingGate } from "./composables/useLoadingGate.js";
183
183
  import { useNow } from "./composables/useNow.js";
184
- import { _ as _98 } from "./chunks/LpCountdown-BQnmB4gq.js";
184
+ import { _ as _98 } from "./chunks/LpCountdown-DTdMF8DL.js";
185
185
  import { DEFAULT_MILESTONES, DEFAULT_UNIT_LABELS, ceilToSecond, crossedMilestone, formatElapsed, formatTime, msToNextSecond, splitTime, timeParts } from "./components/timeSpan.js";
186
- import { _ as _99 } from "./chunks/LpCopyButton-DzHjnFs0.js";
187
- import { _ as _100 } from "./chunks/LpSecretField-CfWyHv9m.js";
188
- import { _ as _101 } from "./chunks/LpDataList-CHNYQw7h.js";
189
- import { _ as _102 } from "./chunks/LpEditable-Ws3DNQHn.js";
190
- import { _ as _103 } from "./chunks/LpTruncate-D_5Pfv5B.js";
191
- import { _ as _104 } from "./chunks/LpCodeDisplay-CbJMs-IK.js";
186
+ import { _ as _99 } from "./chunks/LpCopyButton-Dmq7DmFw.js";
187
+ import { _ as _100 } from "./chunks/LpSecretField-DwQiPOko.js";
188
+ import { _ as _101 } from "./chunks/LpDataList-CFPtSsBB.js";
189
+ import { _ as _102 } from "./chunks/LpEditable-CjxuOVh_.js";
190
+ import { _ as _103 } from "./chunks/LpTruncate-TcqfkyJM.js";
191
+ import { _ as _104 } from "./chunks/LpCodeDisplay-BK2FHbtM.js";
192
192
  import { formatRemaining, groupCode, middleTruncate, normalizeCode } from "./components/fieldText.js";
193
193
  import { _ as _105 } from "./chunks/LpHoverCard-spGxyw7T.js";
194
194
  import { _ as _106 } from "./chunks/LpIdenticon-BzdC_qz9.js";
@@ -214,6 +214,10 @@ import { _ as _115 } from "./chunks/LpSpotlight-4F3NeUMY.js";
214
214
  import { _ as _116 } from "./chunks/LpGlowBorder-B8V-QzIl.js";
215
215
  import { _ as _117 } from "./chunks/LpMagnetic-CtXKLa2Y.js";
216
216
  import { spotlightPoint, useSpotlight } from "./composables/useSpotlight.js";
217
+ import { _ as _118 } from "./chunks/LpCommandScope-ubtWDMa0.js";
218
+ import { createPaletteRegistry, mergePaletteCommands, usePaletteCommands, vPalette } from "./composables/usePaletteCommands.js";
219
+ import { u as u3 } from "./chunks/palette-BiY7yQZL.js";
220
+ import { _ as _119 } from "./chunks/LpPaletteTheme-CqWNRwHE.js";
217
221
  const UI_CONFIG_VERSION = 1;
218
222
  function serializeConfig(config) {
219
223
  const out = {
@@ -264,6 +268,7 @@ export {
264
268
  _108 as LpCollapse,
265
269
  _16 as LpColorPicker,
266
270
  default3 as LpCommandPalette,
271
+ _118 as LpCommandScope,
267
272
  _18 as LpConfirmDialog,
268
273
  _19 as LpConfirmHost,
269
274
  _20 as LpContextMenu,
@@ -316,6 +321,7 @@ export {
316
321
  _17 as LpPalettePreview,
317
322
  default6 as LpPaletteStats,
318
323
  default7 as LpPaletteSwatches,
324
+ _119 as LpPaletteTheme,
319
325
  _47 as LpPasswordInput,
320
326
  _49 as LpPhoneInput,
321
327
  _48 as LpPie,
@@ -376,6 +382,7 @@ export {
376
382
  _67 as LpVideoBackdrop,
377
383
  N as NO_BACKDROP_ATTR,
378
384
  OSM_TILES,
385
+ PALETTE_MODES,
379
386
  SCRAMBLE_GLYPHS,
380
387
  PRESET_NAMES as SHADER_PRESETS,
381
388
  STATUS_LABELS,
@@ -432,11 +439,13 @@ export {
432
439
  countLevels,
433
440
  createHintSystem,
434
441
  createNominatimProvider,
442
+ createPaletteRegistry,
435
443
  crossedMilestone,
436
444
  csvField,
437
445
  currentStepIndex,
438
446
  g as dark,
439
447
  dayAllowed,
448
+ decimalMark,
440
449
  deepEqual,
441
450
  defaultDatePresets,
442
451
  defaultRangePresets,
@@ -512,8 +521,10 @@ export {
512
521
  matchPositions,
513
522
  matchesHotkey,
514
523
  matchesTerm,
524
+ menuPaletteCommands,
515
525
  mergeClass,
516
526
  mergeConfig,
527
+ mergePaletteCommands,
517
528
  mergeShortcutGroups,
518
529
  meterFraction,
519
530
  middleTruncate,
@@ -585,6 +596,7 @@ export {
585
596
  scrollToElement,
586
597
  seamProgress,
587
598
  seamReached,
599
+ searchCommandItems,
588
600
  seededRandom,
589
601
  sequenceProgress,
590
602
  serializeConfig,
@@ -604,6 +616,7 @@ export {
604
616
  subtreeIds,
605
617
  subtreeSize,
606
618
  svgToPng,
619
+ swapCommandLayout,
607
620
  t as themeEntries,
608
621
  m as themeFromCookie,
609
622
  o as themeToCssRule,
@@ -649,6 +662,8 @@ export {
649
662
  useNow,
650
663
  useOptimisticToggle,
651
664
  usePaintSelect,
665
+ usePaletteCommands,
666
+ u3 as usePaletteTheme,
652
667
  usePersisted,
653
668
  usePointerFrame,
654
669
  usePortalTarget,
@@ -668,6 +683,7 @@ export {
668
683
  useView,
669
684
  useZoomPan,
670
685
  vHint,
686
+ vPalette,
671
687
  viewDocument,
672
688
  viewWindow,
673
689
  v as violet,
@@ -0,0 +1,9 @@
1
+ import { type MaybeRefOrGetter } from "vue";
2
+ import { type PaletteScope } from "../composables/usePaletteCommands";
3
+ import type { ThemeStudio } from "./studio";
4
+ /** Registers the studio itself; no second list of theme options in the app. */
5
+ export declare function usePaletteTheme(studio: MaybeRefOrGetter<ThemeStudio | undefined>, options?: {
6
+ id?: string;
7
+ label?: string;
8
+ scope?: PaletteScope;
9
+ }): void;
@@ -82,9 +82,20 @@ export interface ThemeStudio {
82
82
  tune(patch: Partial<Omit<StudioState, "theme">>): void;
83
83
  reset(origin?: RevealOrigin): void;
84
84
  }
85
+ export interface PreviewableThemeStudio extends ThemeStudio {
86
+ /** Build a draft for a scoped preview, without applying or persisting it. */
87
+ preview(state: StudioState): {
88
+ theme: TokenSet;
89
+ exported: {
90
+ code: string;
91
+ json: string;
92
+ css: string;
93
+ };
94
+ };
95
+ }
85
96
  /**
86
97
  * The studio state for `storageKey`, made on first use and shared after. A
87
98
  * later caller's `themes` or `system` fill in what the first one left out:
88
99
  * the page may make the studio before the switcher that offers "System".
89
100
  */
90
- export declare function useThemeStudio(options?: ThemeStudioOptions): ThemeStudio;
101
+ export declare function useThemeStudio(options?: ThemeStudioOptions): PreviewableThemeStudio;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leavepulse/ui",
3
- "version": "0.70.1",
3
+ "version": "0.71.0",
4
4
  "type": "module",
5
5
  "description": "LeavePulse token-driven Vue component kit.",
6
6
  "repository": {
@@ -22,6 +22,7 @@ export const COMPONENT_NAMES = [
22
22
  "LpCollapse",
23
23
  "LpColorPicker",
24
24
  "LpCommandPalette",
25
+ "LpCommandScope",
25
26
  "LpConfirmDialog",
26
27
  "LpConfirmHost",
27
28
  "LpContextMenu",
@@ -74,6 +75,7 @@ export const COMPONENT_NAMES = [
74
75
  "LpPalettePreview",
75
76
  "LpPaletteStats",
76
77
  "LpPaletteSwatches",
78
+ "LpPaletteTheme",
77
79
  "LpPasswordInput",
78
80
  "LpPhoneInput",
79
81
  "LpPie",
@@ -10,6 +10,7 @@ export type AutocompleteLabels = {
10
10
  </script>
11
11
 
12
12
  <script setup lang="ts">
13
+ import { usePaletteControl, type PaletteControlOptions } from "../composables/usePaletteCommands"
13
14
  /*
14
15
  * Free-text autocomplete — a text field that suggests as you type but never
15
16
  * forces a choice. Unlike LpSelect (which binds to an option value and requires
@@ -49,6 +50,8 @@ export type AutocompleteSelection = OptionSelection
49
50
 
50
51
  const props = withDefaults(
51
52
  defineProps<{
53
+ /** Contextual palette metadata; false excludes this control. */
54
+ palette?: PaletteControlOptions
52
55
  /** The free text. This is the model — bind with v-model. */
53
56
  modelValue?: string
54
57
  /** Suggestions. Strings or {value,label,description}. */
@@ -85,7 +88,7 @@ const props = withDefaults(
85
88
  selected?: AutocompleteSelection | null
86
89
  labels?: Partial<AutocompleteLabels>
87
90
  }>(),
88
- {
91
+ { palette: undefined,
89
92
  size: "md",
90
93
  clearable: false,
91
94
  filter: true,
@@ -270,6 +273,8 @@ const portalTo = usePortalTarget()
270
273
  // What happens in another document (the page around a frame, or a frame in
271
274
  // the page) is not "outside" for this layer.
272
275
  const guardOutside = useOutsideGuard()
276
+
277
+ usePaletteControl({ disabled: () => field.value.disabled, invalid: () => field.value.invalid })
273
278
  </script>
274
279
 
275
280
  <template>
@@ -5,6 +5,7 @@ export default { inheritAttrs: false }
5
5
  </script>
6
6
 
7
7
  <script setup lang="ts">
8
+ import { usePaletteAction, type PaletteControlOptions } from "../composables/usePaletteCommands"
8
9
  import { tv, type VariantProps } from "tailwind-variants"
9
10
  import { computed, getCurrentInstance, onMounted, onUpdated, ref, useAttrs, type Component, type ComponentPublicInstance } from "vue"
10
11
  import { HINT_SIGNALS, noteHotkeyTarget } from "../composables/useHintSystem"
@@ -86,6 +87,7 @@ type ButtonVariants = VariantProps<typeof button>
86
87
 
87
88
  const props = withDefaults(
88
89
  defineProps<{
90
+ palette?: PaletteControlOptions
89
91
  variant?: ButtonVariants["variant"]
90
92
  size?: ButtonVariants["size"]
91
93
  block?: boolean
@@ -126,7 +128,7 @@ const props = withDefaults(
126
128
  hotkeyGroup?: string
127
129
  labels?: Partial<{ group: string }>
128
130
  }>(),
129
- { type: "button" },
131
+ { palette: undefined, type: "button" },
130
132
  )
131
133
 
132
134
  const emit = defineEmits<{
@@ -282,6 +284,8 @@ const { class: classes, attrs: rest } = useMergedAttrs(() =>
282
284
  loading: busy.value,
283
285
  }),
284
286
  )
287
+
288
+ usePaletteAction({ label: () => typeof attrs["aria-label"] === "string" ? attrs["aria-label"] : undefined, element: () => rootEl(), disabled: () => props.disabled || busy.value })
285
289
  </script>
286
290
 
287
291
  <template>
@@ -6,6 +6,7 @@ export default { inheritAttrs: false }
6
6
  </script>
7
7
 
8
8
  <script setup lang="ts">
9
+ import { usePaletteControl, type PaletteControlOptions } from "../composables/usePaletteCommands"
9
10
  import { CheckboxIndicator, CheckboxRoot } from "reka-ui"
10
11
  import { computed, useId } from "vue"
11
12
  import LpIcon from "./LpIcon.vue"
@@ -14,7 +15,9 @@ import { useFieldControl } from "../composables/useField"
14
15
  import { useOptimisticToggle } from "../composables/useOptimisticToggle"
15
16
  import { useMergedAttrs } from "../composables/useMergedClass"
16
17
 
17
- const props = defineProps<{
18
+ const props = withDefaults(defineProps<{
19
+ /** Contextual palette metadata; false excludes this control. */
20
+ palette?: PaletteControlOptions
18
21
  modelValue?: boolean
19
22
  /** Mixed state (e.g. a "select all" with a partial selection). Shows a dash. */
20
23
  indeterminate?: boolean
@@ -30,7 +33,7 @@ const props = defineProps<{
30
33
  * (or the `error` event, when the app listens).
31
34
  */
32
35
  action?: (value: boolean) => unknown
33
- }>()
36
+ }>(), { palette: undefined })
34
37
  const emit = defineEmits<{
35
38
  (e: "update:modelValue", value: boolean): void
36
39
  (e: "change", value: boolean): void
@@ -63,6 +66,8 @@ const { class: rootClass, attrs: rest } = useMergedAttrs(() =>
63
66
  props.description ? "items-start" : "items-center",
64
67
  ].join(" "),
65
68
  )
69
+
70
+ usePaletteControl({ label: () => props.label, disabled: () => field.value.disabled || pending.value, editorProps: () => ({ action: undefined, 'onUpdate:modelValue': onUpdate, onChange: undefined }) })
66
71
  </script>
67
72
 
68
73
  <template>