@leavepulse/ui 0.71.2 → 0.72.1

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 (276) hide show
  1. package/dist/assets/{LpKeys-BxRhfQda.css → LpKeys-C5VMcBOW.css} +10 -5
  2. package/dist/assets/LpTabs-CDchzoRL.css +18 -0
  3. package/dist/chunks/{ContextMenuItems-eS7qx9gD.js → ContextMenuItems-BXumicbh.js} +1 -1
  4. package/dist/chunks/{DropzoneLinkField-DkFhdfEJ.js → DropzoneLinkField-DpOB20Lx.js} +2 -2
  5. package/dist/chunks/{FieldWrapper-YzbvvC3M.js → FieldWrapper-DHhRxO5G.js} +1 -1
  6. package/dist/chunks/{LayoutCanvas-Ba4A9QC5.js → LayoutCanvas-CNOAUk7D.js} +1 -1
  7. package/dist/chunks/{LayoutNode-CTTTLMDM.js → LayoutNode-DF5BMN0J.js} +1 -1
  8. package/dist/chunks/{LpActionBar-B7anGlkI.js → LpActionBar-BqicINE_.js} +3 -3
  9. package/dist/chunks/{LpAddressInput-Bu6ws3Fp.js → LpAddressInput-CkbKLufb.js} +7 -7
  10. package/dist/chunks/{LpAlert-BHi7ARqu.js → LpAlert-BigMdAbu.js} +3 -3
  11. package/dist/chunks/{LpAppShell-C5YW5pI7.js → LpAppShell-DIMy-vjP.js} +68 -18
  12. package/dist/chunks/{LpAutocomplete-DDqe2M5g.js → LpAutocomplete-DOu7FN5P.js} +2 -2
  13. package/dist/chunks/{LpAvatar-DqfKCIdr.js → LpAvatar-Cg6Az3wz.js} +1 -1
  14. package/dist/chunks/{LpBadge-C8fKEmTF.js → LpBadge-Huo8EKew.js} +3 -3
  15. package/dist/chunks/LpBottomNav-BZIpahzA.js +89 -0
  16. package/dist/chunks/{LpBreadcrumbs-DhcoStFa.js → LpBreadcrumbs-DGtpBhWt.js} +3 -3
  17. package/dist/chunks/{LpButton-BQDAFXBd.js → LpButton-CW34A1e4.js} +1 -1
  18. package/dist/chunks/{LpCalendar-NmrA47J9.js → LpCalendar-CuoWks-0.js} +1 -1
  19. package/dist/chunks/{LpCard-CqKLnEhl.js → LpCard-B0sFXQzc.js} +1 -1
  20. package/dist/chunks/{LpCheckbox-BoOuLnGB.js → LpCheckbox-iaD63DEF.js} +2 -2
  21. package/dist/chunks/{LpCodeBlock-Czu-fq1M.js → LpCodeBlock-CFFa_pJb.js} +2 -2
  22. package/dist/chunks/{LpCodeDisplay-C9pIMF2R.js → LpCodeDisplay-CFmGMAmP.js} +6 -6
  23. package/dist/chunks/{LpColorPicker-Ee1DZiRd.js → LpColorPicker-1y1QJHZR.js} +56 -28
  24. package/dist/chunks/{LpConfirmDialog-i15pulMT.js → LpConfirmDialog-BDystNtm.js} +3 -3
  25. package/dist/chunks/{LpConfirmHost-D0oGavtd.js → LpConfirmHost-oOsxJHfQ.js} +1 -1
  26. package/dist/chunks/{LpContextMenu-DXpFJjlO.js → LpContextMenu-rx2tCjwk.js} +2 -2
  27. package/dist/chunks/{LpCopyButton-Dmq7DmFw.js → LpCopyButton-BNcGbVXF.js} +2 -2
  28. package/dist/chunks/{LpCountdown-CXrEK0ev.js → LpCountdown-Cak7cq3X.js} +3 -3
  29. package/dist/chunks/{LpDataList-CFPtSsBB.js → LpDataList-B6Meb4M9.js} +3 -3
  30. package/dist/chunks/{LpDatePicker-cC9K-Pk8.js → LpDatePicker-CA0QTfBC.js} +4 -4
  31. package/dist/chunks/{LpDateRangePicker-BVQKPbvo.js → LpDateRangePicker-u3J51xXk.js} +2 -2
  32. package/dist/chunks/{LpDisclosure-hRnX3FWL.js → LpDisclosure-Cpa7Hc5T.js} +1 -1
  33. package/dist/chunks/{LpDrawer-u4rxnuR-.js → LpDrawer-RRamxbLV.js} +1 -1
  34. package/dist/chunks/{LpDropdownMenu-BgZ0Z_Im.js → LpDropdownMenu-Dl7Z4ZhS.js} +2 -2
  35. package/dist/chunks/{LpEditable-CjxuOVh_.js → LpEditable-BNogo5DL.js} +5 -5
  36. package/dist/chunks/{LpEmptyState-CKFTtQgJ.js → LpEmptyState-EQHiRYhG.js} +7 -3
  37. package/dist/chunks/{LpFieldNotice-CPI8EwtU.js → LpFieldNotice-CzQ2_5rQ.js} +1 -1
  38. package/dist/chunks/{LpFileTree-BH0gNlSJ.js → LpFileTree-CHgtVh14.js} +2 -2
  39. package/dist/chunks/{LpFileTreeNode-gPVB1oXM.js → LpFileTreeNode-LqHgHd3B.js} +5 -5
  40. package/dist/chunks/{LpFormField-gRASfyj2.js → LpFormField-CC57DdTi.js} +2 -2
  41. package/dist/chunks/{LpGauge-DFdt33x8.js → LpGauge-BO1PYYqD.js} +2 -2
  42. package/dist/chunks/{LpHintLayer-C2asBIfs.js → LpHintLayer-CvAj4aa6.js} +2 -2
  43. package/dist/chunks/{LpHints-CNZQ76JV.js → LpHints-BtRvHQQ0.js} +3 -3
  44. package/dist/chunks/{LpIcon-DkP-9mzK.js → LpIcon--5WSb3jJ.js} +1 -1
  45. package/dist/chunks/{LpInfraNode-yTh4-5qa.js → LpInfraNode-CxngdQAG.js} +2 -2
  46. package/dist/chunks/{LpInput-2H-5ILOB.js → LpInput-DqmL-438.js} +2 -2
  47. package/dist/chunks/{LpLightbox-lAt5uIfx.js → LpLightbox-7YP6zSDm.js} +3 -3
  48. package/dist/chunks/{LpLoader-DjJEX8hL.js → LpLoader-CUo1MX_0.js} +1 -1
  49. package/dist/chunks/{LpLogViewer-x78YfhJf.js → LpLogViewer-DQOIsnZ1.js} +6 -6
  50. package/dist/chunks/{LpMapPicker-Dp5RSCi9.js → LpMapPicker-Dm3vJHN2.js} +2 -2
  51. package/dist/chunks/{LpMediaGallery-D92oJfY_.js → LpMediaGallery-znEbvIEo.js} +3 -3
  52. package/dist/chunks/{LpModal-CpH0bNo7.js → LpModal-BnjZ2iem.js} +1 -1
  53. package/dist/chunks/{LpModalNav-Cuna8c_3.js → LpModalNav-CH1UE9Ch.js} +4 -4
  54. package/dist/chunks/{LpNotificationBell-BdUQqZhs.js → LpNotificationBell-CrywodQ_.js} +8 -8
  55. package/dist/chunks/{LpNumberField-DZY3Z670.js → LpNumberField-e0IBkWU1.js} +1 -1
  56. package/dist/chunks/{LpNumberFlow-Dwb9MV1A.js → LpNumberFlow-CcxEGUy0.js} +4 -2
  57. package/dist/chunks/{LpPagination-DbeACavM.js → LpPagination-BIIiYHXR.js} +1 -1
  58. package/dist/chunks/{LpPaletteTheme-DkikZ362.js → LpPaletteTheme-BzHBh-mN.js} +4 -4
  59. package/dist/chunks/{LpPasswordInput-BzAZsf5V.js → LpPasswordInput-DVgRgTVx.js} +2 -2
  60. package/dist/chunks/{LpPhoneInput-BMpd-0QR.js → LpPhoneInput-CETEp5W7.js} +2 -2
  61. package/dist/chunks/{LpPie-C1uIUFxu.js → LpPie-BjDbeytx.js} +6 -6
  62. package/dist/chunks/{LpPipeline-zjEM1Lwc.js → LpPipeline-zZUj7I6K.js} +4 -4
  63. package/dist/chunks/{LpProgress-WNaH4emv.js → LpProgress-rOlyafqp.js} +1 -1
  64. package/dist/chunks/{LpQuota-Cz9PvklM.js → LpQuota-B12yijdB.js} +3 -3
  65. package/dist/chunks/{LpRadioGroup-CsXeV9Ct.js → LpRadioGroup-ggaPL92T.js} +1 -1
  66. package/dist/chunks/{LpRangeCalendar-l-0nSFmY.js → LpRangeCalendar-CYYUYqJ7.js} +1 -1
  67. package/dist/chunks/{LpRelativeTime-UM8EkfrN.js → LpRelativeTime-DwgCb5-8.js} +1 -1
  68. package/dist/chunks/{LpRepeater-OvzByE5L.js → LpRepeater-BQB0twJ5.js} +3 -3
  69. package/dist/chunks/LpRollingText-B54Pje7P.js +86 -0
  70. package/dist/chunks/{LpScramble-TDO5Kdou.js → LpScramble-DbQyBjUY.js} +1 -1
  71. package/dist/chunks/{LpSecretField-DwQiPOko.js → LpSecretField-uoD6Fngf.js} +7 -7
  72. package/dist/chunks/{LpSection-DcQsieHG.js → LpSection-DFK_uoJE.js} +1 -1
  73. package/dist/chunks/{LpSegmented-D2VST0o3.js → LpSegmented-CeACsMMA.js} +4 -2
  74. package/dist/chunks/{LpSelect-D3pRJfRY.js → LpSelect-Cxq4yBGd.js} +3 -3
  75. package/dist/chunks/LpShift-C-UGuKMN.js +171 -0
  76. package/dist/chunks/LpSidebar-DXdbvgM6.js +494 -0
  77. package/dist/chunks/LpSidebarNav-CE6CVCb0.js +367 -0
  78. package/dist/chunks/LpSidebarRow-CF9VFZ2w.js +304 -0
  79. package/dist/chunks/{LpStat-Dzn6WFzi.js → LpStat-CjpXrC8R.js} +6 -4
  80. package/dist/chunks/{LpStatus-BQU1TUsv.js → LpStatus-g-8z9b_u.js} +3 -3
  81. package/dist/chunks/{LpStepMark-CXa7DJy_.js → LpStepMark-DU7xalwW.js} +3 -3
  82. package/dist/chunks/{LpStepper-C9RM_yTG.js → LpStepper-CbRXiXNs.js} +1 -1
  83. package/dist/chunks/{LpSwap-DzE6M3Mg.js → LpSwap-Xi4j9PR_.js} +1 -1
  84. package/dist/chunks/{LpSwitch-bGZxUDSx.js → LpSwitch-BWcXEahf.js} +1 -1
  85. package/dist/chunks/LpTabFace-CG0VqD8I.js +77 -0
  86. package/dist/chunks/{LpTableFilter-CTZMqFDU.js → LpTableFilter-CYtK9GsF.js} +3 -3
  87. package/dist/chunks/{LpTagsInput-DrjmrOge.js → LpTagsInput-D1RzCwb5.js} +5 -5
  88. package/dist/chunks/{LpTextarea-BbYqmG1S.js → LpTextarea-MdIzNTjw.js} +32 -7
  89. package/dist/chunks/{useTheme-BOV_-AiY.js → LpThemeProvider-8MG6yqU9.js} +66 -1
  90. package/dist/chunks/{LpThemeStudio-IupHqP0x.js → LpThemeStudio-B0Kk1bX0.js} +138 -104
  91. package/dist/chunks/LpThemeStudioSection-B7bt8Iyg.js +32 -0
  92. package/dist/chunks/{LpThemeSwitcher-DarPHuX8.js → LpThemeSwitcher-CI4I7ygL.js} +6 -6
  93. package/dist/chunks/{LpTimeField-DQ8WvPr2.js → LpTimeField-BawSVsmt.js} +1 -1
  94. package/dist/chunks/{LpToaster-BTTl_wuy.js → LpToaster-C-P1nmMS.js} +2 -2
  95. package/dist/chunks/{LpTopologyCanvas-Cq-MiJwo.js → LpTopologyCanvas-CbEZhsP1.js} +1 -1
  96. package/dist/chunks/{LpTour-BgCfNlaW.js → LpTour-DRyzgpjt.js} +1 -1
  97. package/dist/chunks/{LpTruncate-TcqfkyJM.js → LpTruncate-4WvCWqnW.js} +1 -1
  98. package/dist/chunks/{LpUptimeBar-BbhVTPnL.js → LpUptimeBar-B2LNSNxs.js} +4 -4
  99. package/dist/chunks/{MenuTitle-Dab3EGOp.js → MenuTitle-BmCNNTKH.js} +1 -1
  100. package/dist/chunks/{OptionContent-DPzNsybd.js → OptionContent-22UT8zLn.js} +1 -1
  101. package/dist/chunks/{PickerField-DwLw7j0L.js → PickerField-Bfh8id3d.js} +2 -2
  102. package/dist/chunks/{RevealToggle-BVFM_FAU.js → RevealToggle-jBLJwVwO.js} +2 -2
  103. package/dist/chunks/{TourCard--2IfgnUU.js → TourCard-BOBcGbEo.js} +5 -5
  104. package/dist/chunks/{icons-CLu1iR1j.js → icons-DMITlfw5.js} +1 -1
  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.js +1 -1
  113. package/dist/components/LpAlert.vue.js +1 -1
  114. package/dist/components/LpAppShell.vue.d.ts +67 -2
  115. package/dist/components/LpAppShell.vue.js +1 -1
  116. package/dist/components/LpAutocomplete.vue.js +1 -1
  117. package/dist/components/LpAvatar.vue.js +1 -1
  118. package/dist/components/LpBadge.vue.js +1 -1
  119. package/dist/components/LpBottomNav.vue.d.ts +28 -0
  120. package/dist/components/LpBottomNav.vue.js +4 -0
  121. package/dist/components/LpBreadcrumbs.vue.js +1 -1
  122. package/dist/components/LpButton.vue.js +1 -1
  123. package/dist/components/LpCalendar.vue.js +1 -1
  124. package/dist/components/LpCard.vue.js +1 -1
  125. package/dist/components/LpChart.vue.js +4 -4
  126. package/dist/components/LpCheckbox.vue.js +1 -1
  127. package/dist/components/LpCodeBlock.vue.js +1 -1
  128. package/dist/components/LpCodeDisplay.vue.js +1 -1
  129. package/dist/components/LpColorPicker.vue.d.ts +15 -2
  130. package/dist/components/LpColorPicker.vue.js +1 -1
  131. package/dist/components/LpCommandPalette.vue.js +4 -4
  132. package/dist/components/LpConfirmDialog.vue.js +1 -1
  133. package/dist/components/LpConfirmHost.vue.js +1 -1
  134. package/dist/components/LpContextMenu.vue.js +1 -1
  135. package/dist/components/LpCopyButton.vue.js +1 -1
  136. package/dist/components/LpCountdown.vue.js +1 -1
  137. package/dist/components/LpDataList.vue.js +1 -1
  138. package/dist/components/LpDatePicker.vue.js +1 -1
  139. package/dist/components/LpDateRangePicker.vue.js +1 -1
  140. package/dist/components/LpDisclosure.vue.js +1 -1
  141. package/dist/components/LpDock.vue.js +1 -1
  142. package/dist/components/LpDrawer.vue.js +1 -1
  143. package/dist/components/LpDropdownMenu.vue.js +1 -1
  144. package/dist/components/LpDropzone.vue.js +2 -2
  145. package/dist/components/LpEditable.vue.js +1 -1
  146. package/dist/components/LpEmptyState.vue.d.ts +2 -0
  147. package/dist/components/LpEmptyState.vue.js +1 -1
  148. package/dist/components/LpFieldNotice.vue.js +1 -1
  149. package/dist/components/LpFileTree.vue.js +1 -1
  150. package/dist/components/LpFileTreeNode.vue.js +1 -1
  151. package/dist/components/LpFormField.vue.js +1 -1
  152. package/dist/components/LpGauge.vue.js +1 -1
  153. package/dist/components/LpHintLayer.vue.js +1 -1
  154. package/dist/components/LpHints.vue.js +1 -1
  155. package/dist/components/LpIcon.vue.js +1 -1
  156. package/dist/components/LpImageEditor.vue.js +3 -3
  157. package/dist/components/LpInfraNode.vue.js +1 -1
  158. package/dist/components/LpInput.vue.js +1 -1
  159. package/dist/components/LpKeys.vue.js +13 -10
  160. package/dist/components/LpLightbox.vue.js +1 -1
  161. package/dist/components/LpLoader.vue.js +1 -1
  162. package/dist/components/LpLogViewer.vue.d.ts +1 -1
  163. package/dist/components/LpLogViewer.vue.js +1 -1
  164. package/dist/components/LpMapPicker.vue.js +1 -1
  165. package/dist/components/LpMediaGallery.vue.js +1 -1
  166. package/dist/components/LpModal.vue.js +1 -1
  167. package/dist/components/LpModalNav.vue.js +1 -1
  168. package/dist/components/LpNotificationBell.vue.js +1 -1
  169. package/dist/components/LpNumberField.vue.js +1 -1
  170. package/dist/components/LpNumberFlow.vue.js +1 -1
  171. package/dist/components/LpPagination.vue.js +1 -1
  172. package/dist/components/LpPaletteFacts.vue.js +2 -2
  173. package/dist/components/LpPaletteHeader.vue.js +2 -2
  174. package/dist/components/LpPaletteStats.vue.js +2 -2
  175. package/dist/components/LpPaletteTheme.vue.js +1 -1
  176. package/dist/components/LpPasswordInput.vue.js +1 -1
  177. package/dist/components/LpPhoneInput.vue.js +1 -1
  178. package/dist/components/LpPie.vue.js +1 -1
  179. package/dist/components/LpPipeline.vue.js +1 -1
  180. package/dist/components/LpProgress.vue.js +1 -1
  181. package/dist/components/LpQuota.vue.js +1 -1
  182. package/dist/components/LpRadioGroup.vue.js +1 -1
  183. package/dist/components/LpRangeCalendar.vue.js +1 -1
  184. package/dist/components/LpRelativeTime.vue.js +1 -1
  185. package/dist/components/LpRepeater.vue.js +1 -1
  186. package/dist/components/LpRollingText.vue.d.ts +2 -2
  187. package/dist/components/LpRollingText.vue.js +1 -1
  188. package/dist/components/LpScramble.vue.js +1 -1
  189. package/dist/components/LpSecretField.vue.js +1 -1
  190. package/dist/components/LpSection.vue.js +1 -1
  191. package/dist/components/LpSegmented.vue.js +1 -1
  192. package/dist/components/LpSelect.vue.js +1 -1
  193. package/dist/components/LpShift.vue.d.ts +20 -0
  194. package/dist/components/LpShift.vue.js +1 -1
  195. package/dist/components/LpShortcutsDialog.vue.js +1 -1
  196. package/dist/components/LpSidebar.vue.d.ts +74 -23
  197. package/dist/components/LpSidebar.vue.js +1 -1
  198. package/dist/components/LpSidebarNav.vue.d.ts +31 -3
  199. package/dist/components/LpSidebarNav.vue.js +1 -1
  200. package/dist/components/LpSidebarRow.vue.d.ts +49 -0
  201. package/dist/components/LpSidebarRow.vue.js +4 -0
  202. package/dist/components/LpStat.vue.d.ts +11 -0
  203. package/dist/components/LpStat.vue.js +1 -1
  204. package/dist/components/LpStatus.vue.js +1 -1
  205. package/dist/components/LpStepMark.vue.js +1 -1
  206. package/dist/components/LpStepper.vue.js +1 -1
  207. package/dist/components/LpSwap.vue.js +1 -1
  208. package/dist/components/LpSwitch.vue.js +1 -1
  209. package/dist/components/LpTabFace.vue.d.ts +14 -0
  210. package/dist/components/LpTabFace.vue.js +4 -0
  211. package/dist/components/LpTable.vue.js +11 -11
  212. package/dist/components/LpTableFilter.vue.js +1 -1
  213. package/dist/components/LpTabs.vue.d.ts +4 -4
  214. package/dist/components/LpTabs.vue.js +18 -72
  215. package/dist/components/LpTagsInput.vue.js +1 -1
  216. package/dist/components/LpTextarea.vue.d.ts +19 -1
  217. package/dist/components/LpTextarea.vue.js +1 -1
  218. package/dist/components/LpThemeProvider.vue.js +1 -1
  219. package/dist/components/LpThemeStudio.vue.d.ts +2 -2
  220. package/dist/components/LpThemeStudio.vue.js +1 -1
  221. package/dist/components/LpThemeStudioSection.vue.d.ts +4 -1
  222. package/dist/components/LpThemeStudioSection.vue.js +1 -1
  223. package/dist/components/LpThemeSwitcher.vue.js +1 -1
  224. package/dist/components/LpTimeField.vue.js +1 -1
  225. package/dist/components/LpToaster.vue.js +1 -1
  226. package/dist/components/LpTopologyCanvas.vue.js +1 -1
  227. package/dist/components/LpTour.vue.js +1 -1
  228. package/dist/components/LpTruncate.vue.js +1 -1
  229. package/dist/components/LpUptimeBar.vue.js +1 -1
  230. package/dist/components/MenuTitle.vue.js +1 -1
  231. package/dist/components/OptionContent.vue.js +1 -1
  232. package/dist/components/PickerField.vue.js +1 -1
  233. package/dist/components/RevealToggle.vue.js +1 -1
  234. package/dist/components/TourCard.vue.js +1 -1
  235. package/dist/components/menuWhen.js +1 -1
  236. package/dist/components/rolling.d.ts +5 -0
  237. package/dist/components/rolling.js +23 -0
  238. package/dist/components/sidebar.d.ts +38 -0
  239. package/dist/components/sidebar.js +6 -1
  240. package/dist/components/tabs.d.ts +3 -0
  241. package/dist/components/tabs.js +6 -0
  242. package/dist/icons-all.js +1 -1
  243. package/dist/index.d.ts +1 -0
  244. package/dist/index.js +154 -153
  245. package/package.json +1 -1
  246. package/src/component-names.ts +1 -0
  247. package/src/components/LpAppShell.vue +75 -7
  248. package/src/components/LpBottomNav.vue +84 -0
  249. package/src/components/LpColorPicker.vue +32 -1
  250. package/src/components/LpEmptyState.vue +4 -1
  251. package/src/components/LpKeys.vue +10 -1
  252. package/src/components/LpNumberFlow.vue +4 -2
  253. package/src/components/LpRollingText.vue +27 -2
  254. package/src/components/LpSegmented.vue +3 -1
  255. package/src/components/LpShift.vue +189 -2
  256. package/src/components/LpSidebar.vue +304 -18
  257. package/src/components/LpSidebarNav.vue +211 -78
  258. package/src/components/LpSidebarRow.vue +242 -0
  259. package/src/components/LpStat.vue +7 -1
  260. package/src/components/LpTabFace.vue +52 -0
  261. package/src/components/LpTabs.vue +6 -41
  262. package/src/components/LpTextarea.vue +34 -4
  263. package/src/components/LpThemeStudio.vue +91 -55
  264. package/src/components/LpThemeStudioSection.vue +15 -7
  265. package/src/components/rolling.ts +28 -0
  266. package/src/components/sidebar.ts +41 -0
  267. package/src/components/tabs.ts +9 -0
  268. package/src/index.ts +1 -0
  269. package/src/kit-icons.ts +1 -1
  270. package/dist/assets/LpTabs-DT0XPTc2.css +0 -18
  271. package/dist/chunks/LpRollingText-DiL717LK.js +0 -51
  272. package/dist/chunks/LpShift-DXNsauQZ.js +0 -40
  273. package/dist/chunks/LpSidebar-Bk7b-K4l.js +0 -256
  274. package/dist/chunks/LpSidebarNav-BR2AW3KT.js +0 -216
  275. package/dist/chunks/LpThemeProvider-DcbfOxsU.js +0 -69
  276. package/dist/chunks/LpThemeStudioSection-BwhqYDLf.js +0 -20
@@ -1,17 +1,17 @@
1
1
  import { defineComponent, computed, useModel, getCurrentInstance, openBlock, createBlock, withCtx, createElementVNode, toDisplayString, createElementBlock, createCommentVNode, createVNode, Fragment, renderList, resolveDynamicComponent, normalizeClass, unref, createTextVNode, Transition, mergeModels } from "vue";
2
2
  import { useLabels } from "../composables/useLpConfig.js";
3
3
  import { useNow } from "../composables/useNow.js";
4
- import { _ as _sfc_main$a } from "./LpBadge-C8fKEmTF.js";
5
- import { _ as _sfc_main$9 } from "./LpButton-BQDAFXBd.js";
6
- import { _ as _sfc_main$6 } from "./LpContextMenu-DXpFJjlO.js";
7
- import { _ as _sfc_main$4 } from "./LpEmptyState-CKFTtQgJ.js";
8
- import { _ as _sfc_main$7 } from "./LpIcon-DkP-9mzK.js";
4
+ import { _ as _sfc_main$a } from "./LpBadge-Huo8EKew.js";
5
+ import { _ as _sfc_main$9 } from "./LpButton-CW34A1e4.js";
6
+ import { _ as _sfc_main$6 } from "./LpContextMenu-rx2tCjwk.js";
7
+ import { _ as _sfc_main$4 } from "./LpEmptyState-EQHiRYhG.js";
8
+ import { _ as _sfc_main$7 } from "./LpIcon--5WSb3jJ.js";
9
9
  import { _ as _sfc_main$1 } from "./LpPopover-DmZ3wUtP.js";
10
- import { _ as _sfc_main$8 } from "./LpRelativeTime-UM8EkfrN.js";
11
- import { _ as _sfc_main$b } from "./LpRollingText-DiL717LK.js";
10
+ import { _ as _sfc_main$8 } from "./LpRelativeTime-DwgCb5-8.js";
11
+ import { _ as _sfc_main$b } from "./LpRollingText-B54Pje7P.js";
12
12
  import { _ as _sfc_main$5 } from "./LpScrollArea-Hz3-JWUG.js";
13
13
  import { _ as _sfc_main$3 } from "./LpSkeleton-BB6XIV-w.js";
14
- import { _ as _sfc_main$2 } from "./LpShift-DXNsauQZ.js";
14
+ import { _ as _sfc_main$2 } from "./LpShift-C-UGuKMN.js";
15
15
  import { toneLook } from "../components/tone.js";
16
16
  const _hoisted_1 = { class: "flex items-center justify-between gap-2 px-3 py-2.5" };
17
17
  const _hoisted_2 = { class: "text-sm font-semibold" };
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, useId, useAttrs, computed, openBlock, createBlock, unref, normalizeStyle, normalizeClass, withCtx, createVNode, createCommentVNode, mergeProps, createElementBlock, toDisplayString } from "vue";
2
2
  import { usePaletteControl } from "../composables/usePaletteCommands.js";
3
3
  import { NumberFieldRoot, NumberFieldDecrement, NumberFieldInput, NumberFieldIncrement } from "reka-ui";
4
- import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
4
+ import { _ as _sfc_main$1 } from "./LpIcon--5WSb3jJ.js";
5
5
  import { useFieldControl, focusLeft } from "../composables/useField.js";
6
6
  import { useLabels } from "../composables/useLpConfig.js";
7
7
  import { useMergedClass } from "../composables/useMergedClass.js";
@@ -6,7 +6,8 @@ import { useRevealedValue } from "../composables/useRevealedValue.js";
6
6
  import '../assets/LpNumberFlow-Chp9pEDe.css';const _hoisted_1 = { class: "sr-only" };
7
7
  const _hoisted_2 = {
8
8
  key: 0,
9
- "aria-hidden": "true"
9
+ "aria-hidden": "true",
10
+ class: "whitespace-pre"
10
11
  };
11
12
  const _hoisted_3 = {
12
13
  class: "lp-nf__track inline-flex items-baseline",
@@ -14,7 +15,8 @@ const _hoisted_3 = {
14
15
  };
15
16
  const _hoisted_4 = {
16
17
  key: 1,
17
- "aria-hidden": "true"
18
+ "aria-hidden": "true",
19
+ class: "whitespace-pre"
18
20
  };
19
21
  const _sfc_main = /* @__PURE__ */ defineComponent({
20
22
  __name: "LpNumberFlow",
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, computed, ref, useId, openBlock, createElementBlock, mergeProps, unref, createElementVNode, normalizeClass, createVNode, Fragment, renderList, createBlock, createCommentVNode, toDisplayString } from "vue";
2
2
  import { Motion } from "motion-v";
3
3
  import { usePillTransition } from "../composables/usePillTransition.js";
4
- import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
4
+ import { _ as _sfc_main$1 } from "./LpIcon--5WSb3jJ.js";
5
5
  import { useMergedAttrs } from "../composables/useMergedClass.js";
6
6
  import { useLabels } from "../composables/useLpConfig.js";
7
7
  import { useResizeObserver } from "../composables/useResizeObserver.js";
@@ -1,10 +1,10 @@
1
1
  import { defineComponent, ref, computed, openBlock, createElementBlock, createElementVNode, createVNode, withCtx, createTextVNode, toDisplayString, unref } from "vue";
2
2
  import { useLabels } from "../composables/useLpConfig.js";
3
3
  import { suppressPaletteDiscovery } from "../composables/usePaletteCommands.js";
4
- import { _ as _sfc_main$4 } from "./LpThemeStudio-IupHqP0x.js";
5
- import { _ as _sfc_main$2 } from "./LpThemeProvider-DcbfOxsU.js";
6
- import { _ as _sfc_main$1 } from "./LpButton-BQDAFXBd.js";
7
- import { _ as _sfc_main$3 } from "./LpInput-2H-5ILOB.js";
4
+ import { _ as _sfc_main$4 } from "./LpThemeStudio-B0Kk1bX0.js";
5
+ import { _ as _sfc_main$2 } from "./LpThemeProvider-8MG6yqU9.js";
6
+ import { _ as _sfc_main$1 } from "./LpButton-CW34A1e4.js";
7
+ import { _ as _sfc_main$3 } from "./LpInput-DqmL-438.js";
8
8
  const _hoisted_1 = { class: "flex min-w-0 flex-col gap-4" };
9
9
  const _hoisted_2 = { class: "sticky top-0 z-10 flex gap-2 border-b border-line bg-surface-overlay pb-3" };
10
10
  const _hoisted_3 = { class: "text-sm font-semibold" };
@@ -2,8 +2,8 @@ import { defineComponent, useModel, ref, openBlock, createBlock, mergeProps, unr
2
2
  import { suppressPaletteDiscovery } from "../composables/usePaletteCommands.js";
3
3
  import { useFieldControl } from "../composables/useField.js";
4
4
  import { useLabels } from "../composables/useLpConfig.js";
5
- import { _ as _sfc_main$1 } from "./LpInput-2H-5ILOB.js";
6
- import { _ as _sfc_main$2 } from "./RevealToggle-BVFM_FAU.js";
5
+ import { _ as _sfc_main$1 } from "./LpInput-DqmL-438.js";
6
+ import { _ as _sfc_main$2 } from "./RevealToggle-jBLJwVwO.js";
7
7
  const __default__ = { inheritAttrs: false };
8
8
  const _sfc_main = /* @__PURE__ */ defineComponent({
9
9
  ...__default__,
@@ -6,8 +6,8 @@ import { useInputFilter } from "../composables/useInputFilter.js";
6
6
  import { useLabels } from "../composables/useLpConfig.js";
7
7
  import { matchCountryByValue, filterCountries, loadCountries, flagEmoji } from "../components/countries.js";
8
8
  import { POPOVER_PANEL, OPTION_ITEM, optionStagger } from "../components/dropdown.js";
9
- import { _ as _sfc_main$2 } from "./LpFieldNotice-CPI8EwtU.js";
10
- import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
9
+ import { _ as _sfc_main$2 } from "./LpFieldNotice-CzQ2_5rQ.js";
10
+ import { _ as _sfc_main$1 } from "./LpIcon--5WSb3jJ.js";
11
11
  import { loadPhoneLib, formatPhone, loadPhoneExamples, digitsBefore, caretAfterDigits, digitsOf } from "../components/phone.js";
12
12
  import { useMergedAttrs } from "../composables/useMergedClass.js";
13
13
  import { usePortalTarget, useOutsideGuard } from "../composables/useView.js";
@@ -4,13 +4,13 @@ import { useReveal } from "../composables/useReveal.js";
4
4
  import { useTween, lerp, mixColor } from "../composables/useTween.js";
5
5
  import { resolveSlices, arcPath, calloutLabels, formatTick } from "../components/chart.js";
6
6
  import { _ as _sfc_main$9 } from "./LegendSwatch-BhRjrtzv.js";
7
- import { _ as _sfc_main$4 } from "./LpContextMenu-DXpFJjlO.js";
8
- import { _ as _sfc_main$3 } from "./LpEmptyState-CKFTtQgJ.js";
9
- import { _ as _sfc_main$6 } from "./LpNumberFlow-Dwb9MV1A.js";
10
- import { _ as _sfc_main$7 } from "./LpRollingText-DiL717LK.js";
11
- import { _ as _sfc_main$8 } from "./LpShift-DXNsauQZ.js";
7
+ import { _ as _sfc_main$4 } from "./LpContextMenu-rx2tCjwk.js";
8
+ import { _ as _sfc_main$3 } from "./LpEmptyState-EQHiRYhG.js";
9
+ import { _ as _sfc_main$6 } from "./LpNumberFlow-CcxEGUy0.js";
10
+ import { _ as _sfc_main$7 } from "./LpRollingText-B54Pje7P.js";
11
+ import { _ as _sfc_main$8 } from "./LpShift-C-UGuKMN.js";
12
12
  import { _ as _sfc_main$2 } from "./LpSkeleton-BB6XIV-w.js";
13
- import { _ as _sfc_main$1 } from "./LpSwap-DzE6M3Mg.js";
13
+ import { _ as _sfc_main$1 } from "./LpSwap-Xi4j9PR_.js";
14
14
  import { _ as _sfc_main$5 } from "./LpTooltip-BcBvIx4z.js";
15
15
  import { useMergedAttrs } from "../composables/useMergedClass.js";
16
16
  import { useLabels } from "../composables/useLpConfig.js";
@@ -4,10 +4,10 @@ import { useLabels } from "../composables/useLpConfig.js";
4
4
  import { useMergedAttrs } from "../composables/useMergedClass.js";
5
5
  import { useNow } from "../composables/useNow.js";
6
6
  import { _ as _sfc_main$6 } from "./LpCollapse-CWS9M_lm.js";
7
- import { _ as _sfc_main$5 } from "./LpIcon-DkP-9mzK.js";
8
- import { _ as _sfc_main$4 } from "./LpRollingText-DiL717LK.js";
9
- import { _ as _sfc_main$3 } from "./LpShift-DXNsauQZ.js";
10
- import { _ as _sfc_main$1 } from "./LpStepMark-CXa7DJy_.js";
7
+ import { _ as _sfc_main$5 } from "./LpIcon--5WSb3jJ.js";
8
+ import { _ as _sfc_main$4 } from "./LpRollingText-B54Pje7P.js";
9
+ import { _ as _sfc_main$3 } from "./LpShift-C-UGuKMN.js";
10
+ import { _ as _sfc_main$1 } from "./LpStepMark-DU7xalwW.js";
11
11
  import { _ as _sfc_main$7 } from "./LpTooltip-BcBvIx4z.js";
12
12
  import { _ as _sfc_main$2 } from "./StepConnector-37OgEOXA.js";
13
13
  import { stepKey, connectorFilled, currentStepIndex, stepElapsed, childProgress } from "../components/pipeline.js";
@@ -2,7 +2,7 @@ import { defineComponent, computed, openBlock, createBlock, unref, mergeProps, w
2
2
  import { ProgressRoot, ProgressIndicator } from "reka-ui";
3
3
  import { useMergedAttrs } from "../composables/useMergedClass.js";
4
4
  import { useRevealedValue } from "../composables/useRevealedValue.js";
5
- import { _ as _sfc_main$1 } from "./LpNumberFlow-Dwb9MV1A.js";
5
+ import { _ as _sfc_main$1 } from "./LpNumberFlow-CcxEGUy0.js";
6
6
  import { meterFraction, toneAt, capacityThresholds, METER_HEADER, METER_TRACK } from "../components/meter.js";
7
7
  import { toneLook } from "../components/tone.js";
8
8
  const _hoisted_1 = ["width", "height"];
@@ -3,9 +3,9 @@ import { useLabels } from "../composables/useLpConfig.js";
3
3
  import { useLocale } from "../composables/useLocale.js";
4
4
  import { useMergedAttrs } from "../composables/useMergedClass.js";
5
5
  import { useRevealedValue } from "../composables/useRevealedValue.js";
6
- import { _ as _sfc_main$2 } from "./LpIcon-DkP-9mzK.js";
7
- import { _ as _sfc_main$1 } from "./LpNumberFlow-Dwb9MV1A.js";
8
- import { _ as _sfc_main$3 } from "./LpRollingText-DiL717LK.js";
6
+ import { _ as _sfc_main$2 } from "./LpIcon--5WSb3jJ.js";
7
+ import { _ as _sfc_main$1 } from "./LpNumberFlow-CcxEGUy0.js";
8
+ import { _ as _sfc_main$3 } from "./LpRollingText-B54Pje7P.js";
9
9
  import { METER_HEADER, METER_TRACK } from "../components/meter.js";
10
10
  import { quotaState, quotaSegments, formatAmount } from "../components/quota.js";
11
11
  import { toneLook } from "../components/tone.js";
@@ -3,7 +3,7 @@ import { usePaletteControl } from "../composables/usePaletteCommands.js";
3
3
  import { RadioGroupRoot, RadioGroupItem, RadioGroupIndicator } from "reka-ui";
4
4
  import { useFieldControl } from "../composables/useField.js";
5
5
  import { useMergedAttrs } from "../composables/useMergedClass.js";
6
- import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
6
+ import { _ as _sfc_main$1 } from "./LpIcon--5WSb3jJ.js";
7
7
  const _hoisted_1 = {
8
8
  key: 1,
9
9
  class: "flex min-w-0 flex-col"
@@ -5,7 +5,7 @@ import { useLabels } from "../composables/useLpConfig.js";
5
5
  import { useMergedAttrs } from "../composables/useMergedClass.js";
6
6
  import { CALENDAR_LABELS, CALENDAR_NAV, CALENDAR_FRAME } from "../components/calendar.js";
7
7
  import { normalizeRange, parseIsoDay, reshapeRange } from "../components/dateRange.js";
8
- import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
8
+ import { _ as _sfc_main$1 } from "./LpIcon--5WSb3jJ.js";
9
9
  const _hoisted_1 = { class: "flex gap-4" };
10
10
  const __default__ = { inheritAttrs: false };
11
11
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -2,7 +2,7 @@ import { defineComponent, computed, openBlock, createBlock, withCtx, createEleme
2
2
  import { useLocale } from "../composables/useLocale.js";
3
3
  import { useMergedAttrs } from "../composables/useMergedClass.js";
4
4
  import { useNow } from "../composables/useNow.js";
5
- import { _ as _sfc_main$2 } from "./LpRollingText-DiL717LK.js";
5
+ import { _ as _sfc_main$2 } from "./LpRollingText-B54Pje7P.js";
6
6
  import { _ as _sfc_main$1 } from "./LpTooltip-BcBvIx4z.js";
7
7
  import { formatRelativeTime } from "../components/relativeTime.js";
8
8
  import { toEpoch } from "../components/timeSpan.js";
@@ -4,9 +4,9 @@ import { useLabels } from "../composables/useLpConfig.js";
4
4
  import { useMergedAttrs } from "../composables/useMergedClass.js";
5
5
  import { useRepeater } from "../composables/useRepeater.js";
6
6
  import { usePrefersReducedMotion } from "../composables/useReducedMotion.js";
7
- import { _ as _sfc_main$1 } from "./LpButton-BQDAFXBd.js";
8
- import { _ as _sfc_main$2 } from "./LpIcon-DkP-9mzK.js";
9
- import { _ as _sfc_main$3 } from "./LpShift-DXNsauQZ.js";
7
+ import { _ as _sfc_main$1 } from "./LpButton-CW34A1e4.js";
8
+ import { _ as _sfc_main$2 } from "./LpIcon--5WSb3jJ.js";
9
+ import { _ as _sfc_main$3 } from "./LpShift-C-UGuKMN.js";
10
10
  import '../assets/LpRepeater-C1Cw27hj.css';const _hoisted_1 = { class: "flex items-center justify-between gap-2" };
11
11
  const _hoisted_2 = {
12
12
  key: 0,
@@ -0,0 +1,86 @@
1
+ import { defineComponent, computed, useSlots, ref, watch, openBlock, createElementBlock, normalizeStyle, normalizeClass, Fragment, toDisplayString, createCommentVNode, createElementVNode, createVNode, Transition, withCtx, createBlock, renderSlot, createTextVNode } from "vue";
2
+ import { splitChange } from "../components/rolling.js";
3
+ import '../assets/LpRollingText-dyOXedGO.css';const _hoisted_1 = {
4
+ key: 0,
5
+ class: "whitespace-pre"
6
+ };
7
+ const _hoisted_2 = { class: "relative inline-flex overflow-hidden" };
8
+ const _hoisted_3 = {
9
+ key: 1,
10
+ class: "whitespace-pre"
11
+ };
12
+ const _sfc_main = /* @__PURE__ */ defineComponent({
13
+ __name: "LpRollingText",
14
+ props: {
15
+ value: {},
16
+ mode: { default: "slide" },
17
+ direction: { default: "up" },
18
+ duration: { default: 320 },
19
+ align: { default: "center" },
20
+ wrap: { type: Boolean }
21
+ },
22
+ setup(__props) {
23
+ const props = __props;
24
+ const key = computed(() => String(props.value));
25
+ const slots = useSlots();
26
+ const partial = computed(() => !slots.default && !props.wrap);
27
+ const parts = ref({ head: "", mid: String(props.value), tail: "" });
28
+ watch(
29
+ () => String(props.value),
30
+ (next, was) => parts.value = splitChange(was, next)
31
+ );
32
+ const midKey = computed(() => `${parts.value.head.length}:${parts.value.mid}`);
33
+ const name = computed(
34
+ () => props.mode === "flip" ? "lp-roll-flip" : `lp-roll-${props.direction}`
35
+ );
36
+ const justify = computed(
37
+ () => ({ start: "justify-start", center: "justify-center", end: "justify-end" })[props.align]
38
+ );
39
+ const style = computed(() => ({
40
+ "--lp-roll-duration": `${props.duration}ms`,
41
+ // The leaving copy is taken out of flow so both can occupy the same line;
42
+ // without this the box would grow to hold two lines mid-transition.
43
+ "--lp-roll-perspective": props.mode === "flip" ? "300px" : "none"
44
+ }));
45
+ return (_ctx, _cache) => {
46
+ return openBlock(), createElementBlock("span", {
47
+ class: normalizeClass(["lp-roll relative inline-flex overflow-hidden align-bottom", [justify.value, __props.wrap && "lp-roll--wrap"]]),
48
+ style: normalizeStyle(style.value)
49
+ }, [
50
+ partial.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
51
+ parts.value.head ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(parts.value.head), 1)) : createCommentVNode("", true),
52
+ createElementVNode("span", _hoisted_2, [
53
+ createVNode(Transition, { name: name.value }, {
54
+ default: withCtx(() => [
55
+ (openBlock(), createElementBlock("span", {
56
+ key: midKey.value,
57
+ class: "lp-roll__item whitespace-pre"
58
+ }, toDisplayString(parts.value.mid), 1))
59
+ ]),
60
+ _: 1
61
+ }, 8, ["name"])
62
+ ]),
63
+ parts.value.tail ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(parts.value.tail), 1)) : createCommentVNode("", true)
64
+ ], 64)) : (openBlock(), createBlock(Transition, {
65
+ key: 1,
66
+ name: name.value
67
+ }, {
68
+ default: withCtx(() => [
69
+ (openBlock(), createElementBlock("span", {
70
+ key: key.value,
71
+ class: "lp-roll__item"
72
+ }, [
73
+ renderSlot(_ctx.$slots, "default", { value: __props.value }, () => [
74
+ createTextVNode(toDisplayString(__props.value), 1)
75
+ ])
76
+ ]))
77
+ ]),
78
+ _: 3
79
+ }, 8, ["name"]))
80
+ ], 6);
81
+ };
82
+ }
83
+ });
84
+ export {
85
+ _sfc_main as _
86
+ };
@@ -3,7 +3,7 @@ import { prefersReducedMotion } from "../composables/easing.js";
3
3
  import { useMergedAttrs } from "../composables/useMergedClass.js";
4
4
  import { useReveal } from "../composables/useReveal.js";
5
5
  import { useScramble } from "../composables/useScramble.js";
6
- import { _ as _sfc_main$1 } from "./LpShift-DXNsauQZ.js";
6
+ import { _ as _sfc_main$1 } from "./LpShift-C-UGuKMN.js";
7
7
  const _hoisted_1 = { class: "sr-only" };
8
8
  const _hoisted_2 = {
9
9
  key: 1,
@@ -5,14 +5,14 @@ import { useScramble } from "../composables/useScramble.js";
5
5
  import { useLabels } from "../composables/useLpConfig.js";
6
6
  import { useFieldControl } from "../composables/useField.js";
7
7
  import { mergeClass } from "../composables/useMergedClass.js";
8
- import { _ as _sfc_main$5 } from "./FieldWrapper-YzbvvC3M.js";
9
- import { _ as _sfc_main$3 } from "./LpButton-BQDAFXBd.js";
10
- import { _ as _sfc_main$2 } from "./LpCopyButton-Dmq7DmFw.js";
11
- import { _ as _sfc_main$4 } from "./LpIcon-DkP-9mzK.js";
12
- import { _ as _sfc_main$1 } from "./LpPasswordInput-BzAZsf5V.js";
13
- import { _ as _sfc_main$6 } from "./LpShift-DXNsauQZ.js";
8
+ import { _ as _sfc_main$5 } from "./FieldWrapper-DHhRxO5G.js";
9
+ import { _ as _sfc_main$3 } from "./LpButton-CW34A1e4.js";
10
+ import { _ as _sfc_main$2 } from "./LpCopyButton-BNcGbVXF.js";
11
+ import { _ as _sfc_main$4 } from "./LpIcon--5WSb3jJ.js";
12
+ import { _ as _sfc_main$1 } from "./LpPasswordInput-DVgRgTVx.js";
13
+ import { _ as _sfc_main$6 } from "./LpShift-C-UGuKMN.js";
14
14
  import { _ as _sfc_main$8 } from "./LpTooltip-BcBvIx4z.js";
15
- import { _ as _sfc_main$7 } from "./RevealToggle-BVFM_FAU.js";
15
+ import { _ as _sfc_main$7 } from "./RevealToggle-jBLJwVwO.js";
16
16
  const _hoisted_1 = ["id", "aria-label"];
17
17
  const _hoisted_2 = {
18
18
  key: "empty",
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, useSlots, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createBlock, createCommentVNode, resolveDynamicComponent, withCtx, renderSlot, createTextVNode, toDisplayString } from "vue";
2
2
  import { tv } from "tailwind-variants";
3
- import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
3
+ import { _ as _sfc_main$1 } from "./LpIcon--5WSb3jJ.js";
4
4
  const _hoisted_1 = { class: "min-w-0 flex-1 break-words" };
5
5
  const _hoisted_2 = { class: "flex flex-wrap items-center gap-2" };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -6,7 +6,7 @@ import { useFieldControl } from "../composables/useField.js";
6
6
  import { useMergedAttrs } from "../composables/useMergedClass.js";
7
7
  import { usePillTransition } from "../composables/usePillTransition.js";
8
8
  import { _ as _sfc_main$2 } from "./AttentionDot-DCBf4aWg.js";
9
- import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
9
+ import { _ as _sfc_main$1 } from "./LpIcon--5WSb3jJ.js";
10
10
  const _hoisted_1 = {
11
11
  key: 1,
12
12
  class: "relative z-10 inline-flex shrink-0"
@@ -44,7 +44,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
44
44
  () => [
45
45
  "inline-flex items-center gap-1 rounded-control border border-line bg-surface-soft p-1",
46
46
  sizeCls[props.size],
47
- props.block ? "flex w-full" : ""
47
+ // `w-fit`, not left to the parent: in a column a flex item stretches, and
48
+ // the options sat on the left of an empty bar (the theme studio met it).
49
+ props.block ? "flex w-full" : "w-fit"
48
50
  ].join(" ")
49
51
  );
50
52
  const field = useFieldControl(() => ({ wrapped: false, disabled: props.disabled }));
@@ -5,9 +5,9 @@ import { useFieldControl, useFieldBlur } from "../composables/useField.js";
5
5
  import { useLabels } from "../composables/useLpConfig.js";
6
6
  import { useMergedAttrs } from "../composables/useMergedClass.js";
7
7
  import { POPOVER_PANEL, OPTION_ITEM, optionStagger } from "../components/dropdown.js";
8
- import { _ as _sfc_main$1 } from "./LpIcon-DkP-9mzK.js";
9
- import { _ as _sfc_main$3 } from "./OptionContent-DPzNsybd.js";
10
- import { _ as _sfc_main$2 } from "./LpRollingText-DiL717LK.js";
8
+ import { _ as _sfc_main$1 } from "./LpIcon--5WSb3jJ.js";
9
+ import { _ as _sfc_main$3 } from "./OptionContent-22UT8zLn.js";
10
+ import { _ as _sfc_main$2 } from "./LpRollingText-B54Pje7P.js";
11
11
  import { fitChips, toggledValues } from "../components/select.js";
12
12
  import { usePortalTarget, useOutsideGuard } from "../composables/useView.js";
13
13
  import { useResizeObserver } from "../composables/useResizeObserver.js";
@@ -0,0 +1,171 @@
1
+ import { defineComponent, computed, watch, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, unref, renderSlot } from "vue";
2
+ import { prefersReducedMotion } from "../composables/easing.js";
3
+ import { useShift } from "../composables/useShift.js";
4
+ const PRESENCE_MS = 200;
5
+ const MOVE_MS = 160;
6
+ const EASE = "cubic-bezier(0.2, 0, 0, 1)";
7
+ const GHOST = "data-lp-shift-ghost";
8
+ const _sfc_main = /* @__PURE__ */ defineComponent({
9
+ __name: "LpShift",
10
+ props: {
11
+ axis: { default: "height" },
12
+ duration: {},
13
+ disabled: { type: Boolean, default: false },
14
+ anchor: { default: "start" },
15
+ presence: { type: Boolean, default: false }
16
+ },
17
+ setup(__props, { expose: __expose }) {
18
+ const props = __props;
19
+ const { el, tweening, resizing } = useShift({
20
+ axis: () => props.axis,
21
+ duration: () => props.duration,
22
+ enabled: () => !props.disabled
23
+ });
24
+ const TRANSITION_CLASS = {
25
+ height: "transition-[height]",
26
+ width: "transition-[width]",
27
+ both: "transition-[height,width]"
28
+ };
29
+ const transitionClass = computed(() => TRANSITION_CLASS[props.axis]);
30
+ const seen = /* @__PURE__ */ new WeakMap();
31
+ let presenceObserver;
32
+ let rememberTimer;
33
+ let presenceSize;
34
+ function rememberSoon(box, wait = PRESENCE_MS + 80) {
35
+ clearTimeout(rememberTimer);
36
+ rememberTimer = setTimeout(() => remember(box), wait);
37
+ }
38
+ function elementsOf(box) {
39
+ return [...box.querySelectorAll("*")].filter((node) => !node.closest(`[${GHOST}]`) && !(node instanceof SVGElement && !(node instanceof SVGSVGElement)));
40
+ }
41
+ function remember(box) {
42
+ const outer = box.getBoundingClientRect();
43
+ for (const node of elementsOf(box)) {
44
+ const r = node.getBoundingClientRect();
45
+ seen.set(node, {
46
+ from: props.anchor === "end" ? outer.right - r.right : r.left - outer.left,
47
+ top: r.top - outer.top,
48
+ width: r.width,
49
+ height: r.height,
50
+ x: r.left,
51
+ y: r.top
52
+ });
53
+ }
54
+ }
55
+ const offset = () => props.anchor === "end" ? -6 : 6;
56
+ function ghost(box, node) {
57
+ const at = seen.get(node);
58
+ if (!at || !(node instanceof HTMLElement) || node.hasAttribute(GHOST) || at.width === 0) return;
59
+ const copy = node.cloneNode(true);
60
+ copy.setAttribute(GHOST, "");
61
+ copy.setAttribute("aria-hidden", "true");
62
+ copy.inert = true;
63
+ Object.assign(copy.style, {
64
+ position: "absolute",
65
+ top: `${at.top}px`,
66
+ [props.anchor === "end" ? "right" : "left"]: `${at.from}px`,
67
+ width: `${at.width}px`,
68
+ height: `${at.height}px`,
69
+ margin: "0",
70
+ pointerEvents: "none"
71
+ });
72
+ box.appendChild(copy);
73
+ copy.animate(
74
+ [
75
+ { opacity: 1, transform: "none", filter: "blur(0)" },
76
+ { opacity: 0, transform: `translateX(${offset()}px) scale(0.96)`, filter: "blur(2px)" }
77
+ ],
78
+ { duration: PRESENCE_MS, easing: EASE }
79
+ ).finished.catch(() => void 0).finally(() => copy.remove());
80
+ }
81
+ function arrive(node) {
82
+ if (!(node instanceof HTMLElement) || node.hasAttribute(GHOST)) return;
83
+ node.animate(
84
+ [
85
+ { opacity: 0, transform: `translateX(${offset()}px) scale(0.96)`, filter: "blur(2px)" },
86
+ { opacity: 1, transform: "none", filter: "blur(0)" }
87
+ ],
88
+ { duration: PRESENCE_MS, delay: 40, easing: EASE, fill: "backwards" }
89
+ );
90
+ }
91
+ function glide(node) {
92
+ const was = seen.get(node);
93
+ if (!was || !(node instanceof HTMLElement)) return;
94
+ const now = node.getBoundingClientRect();
95
+ const dx = was.x - now.left;
96
+ const dy = was.y - now.top;
97
+ if (Math.abs(dx) < 0.5 && Math.abs(dy) < 0.5) return;
98
+ node.animate([{ transform: `translate(${dx}px, ${dy}px)` }, { transform: "none" }], { duration: MOVE_MS, easing: EASE });
99
+ }
100
+ watch(
101
+ [el, () => props.presence && !props.disabled],
102
+ ([box, on]) => {
103
+ presenceObserver?.disconnect();
104
+ presenceObserver = void 0;
105
+ presenceSize?.disconnect();
106
+ presenceSize = void 0;
107
+ if (!box || !on) return;
108
+ remember(box);
109
+ presenceObserver = new MutationObserver((records) => {
110
+ const real = records.filter(
111
+ (r) => ![...r.addedNodes, ...r.removedNodes].every((n) => n instanceof Element && n.hasAttribute(GHOST))
112
+ );
113
+ if (real.length && !prefersReducedMotion()) {
114
+ const added = /* @__PURE__ */ new Set();
115
+ for (const record of real) {
116
+ record.removedNodes.forEach((node) => node instanceof Element && ghost(box, node));
117
+ record.addedNodes.forEach((node) => {
118
+ added.add(node);
119
+ if (node instanceof Element) arrive(node);
120
+ });
121
+ }
122
+ const parents = real.map((r) => r.target).filter((t) => t instanceof Element && !t.hasAttribute(GHOST));
123
+ requestAnimationFrame(() => {
124
+ for (const parent of parents) for (const child of parent.children) if (!added.has(child)) glide(child);
125
+ });
126
+ }
127
+ rememberSoon(box);
128
+ });
129
+ presenceObserver.observe(box, { childList: true, subtree: true });
130
+ presenceSize = new ResizeObserver(() => rememberSoon(box, 60));
131
+ presenceSize.observe(box);
132
+ void document.fonts?.ready.then(() => rememberSoon(box, 0));
133
+ },
134
+ { flush: "post" }
135
+ );
136
+ watch(resizing, (now) => {
137
+ const box = el.value;
138
+ if (!now || !box || !presenceObserver || prefersReducedMotion()) return;
139
+ requestAnimationFrame(() => {
140
+ for (const child of box.children) if (!child.hasAttribute(GHOST)) glide(child);
141
+ });
142
+ });
143
+ onBeforeUnmount(() => {
144
+ presenceObserver?.disconnect();
145
+ presenceSize?.disconnect();
146
+ clearTimeout(rememberTimer);
147
+ });
148
+ __expose({ resizing });
149
+ return (_ctx, _cache) => {
150
+ return openBlock(), createElementBlock("div", {
151
+ ref_key: "el",
152
+ ref: el,
153
+ class: normalizeClass([
154
+ unref(tweening) && !__props.disabled ? `${transitionClass.value} duration-fast ease-[var(--ease-emphasized)] motion-reduce:transition-none` : "",
155
+ unref(resizing) ? "overflow-hidden" : "",
156
+ // While the box holds a width its content has outgrown, a flex row would
157
+ // squeeze its children to fit (a button's keys folding into a column)
158
+ // instead of letting the easing edge clip them.
159
+ unref(resizing) && __props.axis !== "height" ? "[&>*]:shrink-0" : "",
160
+ unref(resizing) && __props.anchor === "end" ? "justify-end" : "",
161
+ __props.presence ? "relative" : ""
162
+ ])
163
+ }, [
164
+ renderSlot(_ctx.$slots, "default", { resizing: unref(resizing) })
165
+ ], 2);
166
+ };
167
+ }
168
+ });
169
+ export {
170
+ _sfc_main as _
171
+ };