@leavepulse/ui 0.57.0 → 0.58.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 (150) hide show
  1. package/dist/chunks/{ContextMenuItems-BtKU7074.js → ContextMenuItems-BY5sTVQF.js} +1 -1
  2. package/dist/chunks/{LayoutCanvas-BkaGXTjx.js → LayoutCanvas-BcGLJVBq.js} +1 -1
  3. package/dist/chunks/{LayoutNode-B3_9E1Xa.js → LayoutNode-BkBn6dvM.js} +1 -1
  4. package/dist/chunks/{LpActionBar-C3hkVsFz.js → LpActionBar-DCN-_pZP.js} +2 -2
  5. package/dist/chunks/{LpAddressInput-NUHmplCd.js → LpAddressInput-Dio6Sqed.js} +7 -7
  6. package/dist/chunks/{LpAlert-B6ilrM7T.js → LpAlert-CXMn1GYE.js} +1 -1
  7. package/dist/chunks/{LpAppShell-Bl1Ch68N.js → LpAppShell-Be6T96td.js} +3 -3
  8. package/dist/chunks/{LpAutocomplete-C8IgSMsi.js → LpAutocomplete-hJ_6CHlh.js} +1 -1
  9. package/dist/chunks/{LpAvatar-LTvy0OkE.js → LpAvatar-BxNs23Xu.js} +2 -2
  10. package/dist/chunks/{LpBreadcrumbs-D4TsoFju.js → LpBreadcrumbs-BLzOEgAF.js} +1 -1
  11. package/dist/chunks/{LpButton-BdfZFNqi.js → LpButton-vhlwmpBy.js} +1 -1
  12. package/dist/chunks/{LpCalendar-DrA2McTU.js → LpCalendar-BLoE8Qm7.js} +1 -1
  13. package/dist/chunks/{LpCard-DbjO5yaF.js → LpCard-DhR7u0d8.js} +1 -1
  14. package/dist/chunks/{LpCheckbox-DvVYeOD-.js → LpCheckbox-B_C8sOoT.js} +1 -1
  15. package/dist/chunks/{LpCodeBlock-ca7ANFyW.js → LpCodeBlock-CXsqJwDy.js} +1 -1
  16. package/dist/chunks/{LpColorPicker-D1sQqtXS.js → LpColorPicker-DQ88niXq.js} +2 -2
  17. package/dist/chunks/{LpConfirmDialog-CrbUZgJE.js → LpConfirmDialog-DxlSdjmk.js} +3 -3
  18. package/dist/chunks/{LpConfirmHost-BgMIV8r9.js → LpConfirmHost-BcrmTNu_.js} +1 -1
  19. package/dist/chunks/{LpContextMenu-EF_90u3g.js → LpContextMenu-B1NGfpp1.js} +2 -2
  20. package/dist/chunks/{LpDatePicker-BrdFtSTy.js → LpDatePicker-B-VMHMgy.js} +3 -3
  21. package/dist/chunks/{LpDateRangePicker-CxV5jW7p.js → LpDateRangePicker-B68KPKPl.js} +2 -2
  22. package/dist/chunks/{LpDisclosure-Cc23-JOT.js → LpDisclosure-Ct-VBHxt.js} +1 -1
  23. package/dist/chunks/{LpDrawer-D9lLOC0C.js → LpDrawer-DSknigxH.js} +1 -1
  24. package/dist/chunks/{LpDropdownMenu-DrpJJBp0.js → LpDropdownMenu-C7oHVlKY.js} +2 -2
  25. package/dist/chunks/{LpEmptyState-BJbZXC8D.js → LpEmptyState-CBwwkkdA.js} +1 -1
  26. package/dist/chunks/{LpFieldNotice-wtieLUTj.js → LpFieldNotice-9hH4ITZa.js} +1 -1
  27. package/dist/chunks/{LpFileTree-3E4w4Rjr.js → LpFileTree-CMA0_rsB.js} +2 -2
  28. package/dist/chunks/{LpFileTreeNode-B4uB8Ks_.js → LpFileTreeNode-B4T258hF.js} +3 -3
  29. package/dist/chunks/{LpFormField-CtVYj6tO.js → LpFormField-BpQ6WJPe.js} +1 -1
  30. package/dist/chunks/{LpHintLayer-CI1oZ9Pd.js → LpHintLayer-B5-6FyEf.js} +1 -1
  31. package/dist/chunks/LpHints-BqoZXHZk.js +109 -0
  32. package/dist/chunks/{LpIcon-DYtaid0K.js → LpIcon-B5guGKrW.js} +1 -1
  33. package/dist/chunks/{LpInput-D-YGQbEv.js → LpInput-WvyP02ID.js} +2 -2
  34. package/dist/chunks/{LpLightbox-EVXzAq62.js → LpLightbox-Dq-e36uT.js} +1 -1
  35. package/dist/chunks/{LpLogViewer-BfgtXVKm.js → LpLogViewer-DwiYE32z.js} +2 -2
  36. package/dist/chunks/{LpMapPicker-Cc84LaM3.js → LpMapPicker-BH5csaBt.js} +1 -1
  37. package/dist/chunks/{LpMediaGallery-BnlkN_1f.js → LpMediaGallery-B1kDypJ-.js} +2 -2
  38. package/dist/chunks/{LpModal-JNa3B_Lr.js → LpModal-BxYssnXg.js} +1 -1
  39. package/dist/chunks/{LpModalNav-DXyAyhQl.js → LpModalNav-Bn2ws64b.js} +4 -4
  40. package/dist/chunks/{LpNotificationBell-DEL-RoHS.js → LpNotificationBell-DJfs4JjQ.js} +4 -4
  41. package/dist/chunks/{LpNumberField-B77O-z28.js → LpNumberField-CJPjmoDz.js} +1 -1
  42. package/dist/chunks/{LpPagination-BcDlo3r_.js → LpPagination-DehAaJLY.js} +1 -1
  43. package/dist/chunks/{LpPasswordInput-eKzQhbQP.js → LpPasswordInput-Bg5uTZbx.js} +2 -2
  44. package/dist/chunks/{LpPhoneInput-BCbrrhgE.js → LpPhoneInput-DStwcbnQ.js} +2 -2
  45. package/dist/chunks/{LpPie-CXka8Jvx.js → LpPie-DeTkbbOK.js} +2 -2
  46. package/dist/chunks/{LpRangeCalendar-DZuaRV0W.js → LpRangeCalendar-D5sDID9W.js} +1 -1
  47. package/dist/chunks/{LpSection-tKEH0jYf.js → LpSection-B19VPYmr.js} +1 -1
  48. package/dist/chunks/{LpSegmented-C09EEam2.js → LpSegmented-D3Eam8sa.js} +1 -1
  49. package/dist/chunks/{LpSelect-DNIL6MB9.js → LpSelect-DynjWK1A.js} +1 -1
  50. package/dist/chunks/{LpSidebar-hZ8D1cVr.js → LpSidebar-CshW0fqC.js} +3 -3
  51. package/dist/chunks/{LpSidebarNav-C9dHu-2b.js → LpSidebarNav-C9b3i9G2.js} +2 -2
  52. package/dist/chunks/{LpStat-B-7udBRP.js → LpStat-BS2TEXYK.js} +1 -1
  53. package/dist/chunks/{LpStepper-C7XiVKZj.js → LpStepper-BSglWF45.js} +1 -1
  54. package/dist/chunks/{LpTableFilter-CrW7_Rj4.js → LpTableFilter-CwHXVxJt.js} +2 -2
  55. package/dist/chunks/{LpTabs-BMSBB78h.js → LpTabs-BBGRHY38.js} +1 -1
  56. package/dist/chunks/{LpTagsInput-D1SuqbhB.js → LpTagsInput-CHbQoAAA.js} +3 -3
  57. package/dist/chunks/{LpTextarea-uuScWo6-.js → LpTextarea-Bz2IWhTH.js} +1 -1
  58. package/dist/chunks/{LpThemeSwitcher-Fz85BCRS.js → LpThemeSwitcher-B_qhSl7q.js} +2 -2
  59. package/dist/chunks/{LpTimeField-Cqe7fXnh.js → LpTimeField-DvGXgdES.js} +1 -1
  60. package/dist/chunks/{LpToaster-DTtWuKvq.js → LpToaster-Bo9Q4QBP.js} +1 -1
  61. package/dist/chunks/{LpTour-C1TC2GyY.js → LpTour-D7m9ZxNk.js} +26 -7
  62. package/dist/chunks/{MenuTitle-J3ZDYjpV.js → MenuTitle-DQP6hc2N.js} +1 -1
  63. package/dist/chunks/{TourCard-BQS3ztqj.js → TourCard-DCHOjr6e.js} +2 -2
  64. package/dist/chunks/icons-QqBscG5I.js +43 -0
  65. package/dist/component-names.d.ts +1 -1
  66. package/dist/components/ContextMenuItems.vue.js +1 -1
  67. package/dist/components/LayoutCanvas.vue.js +1 -1
  68. package/dist/components/LayoutNode.vue.js +1 -1
  69. package/dist/components/LpActionBar.vue.js +1 -1
  70. package/dist/components/LpAddressInput.vue.js +1 -1
  71. package/dist/components/LpAlert.vue.js +1 -1
  72. package/dist/components/LpAppShell.vue.js +1 -1
  73. package/dist/components/LpAutocomplete.vue.js +1 -1
  74. package/dist/components/LpAvatar.vue.js +1 -1
  75. package/dist/components/LpBreadcrumbs.vue.js +1 -1
  76. package/dist/components/LpButton.vue.js +1 -1
  77. package/dist/components/LpCalendar.vue.js +1 -1
  78. package/dist/components/LpCard.vue.js +1 -1
  79. package/dist/components/LpChart.vue.js +2 -2
  80. package/dist/components/LpCheckbox.vue.js +1 -1
  81. package/dist/components/LpCodeBlock.vue.js +1 -1
  82. package/dist/components/LpColorPicker.vue.js +1 -1
  83. package/dist/components/LpCommandPalette.vue.js +2 -2
  84. package/dist/components/LpConfirmDialog.vue.js +1 -1
  85. package/dist/components/LpConfirmHost.vue.js +1 -1
  86. package/dist/components/LpContextMenu.vue.js +1 -1
  87. package/dist/components/LpDatePicker.vue.js +1 -1
  88. package/dist/components/LpDateRangePicker.vue.js +1 -1
  89. package/dist/components/LpDisclosure.vue.js +1 -1
  90. package/dist/components/LpDrawer.vue.js +1 -1
  91. package/dist/components/LpDropdownMenu.vue.js +1 -1
  92. package/dist/components/LpDropzone.vue.js +1 -1
  93. package/dist/components/LpEmptyState.vue.js +1 -1
  94. package/dist/components/LpFieldNotice.vue.js +1 -1
  95. package/dist/components/LpFileTree.vue.js +1 -1
  96. package/dist/components/LpFileTreeNode.vue.js +1 -1
  97. package/dist/components/LpFormField.vue.js +1 -1
  98. package/dist/components/LpHintLayer.vue.js +1 -1
  99. package/dist/components/LpHints.vue.d.ts +20 -0
  100. package/dist/components/LpHints.vue.js +4 -0
  101. package/dist/components/LpIcon.vue.js +1 -1
  102. package/dist/components/LpImageEditor.vue.js +2 -2
  103. package/dist/components/LpInput.vue.js +1 -1
  104. package/dist/components/LpLightbox.vue.js +1 -1
  105. package/dist/components/LpLogViewer.vue.js +1 -1
  106. package/dist/components/LpMapPicker.vue.js +1 -1
  107. package/dist/components/LpMediaGallery.vue.js +1 -1
  108. package/dist/components/LpModal.vue.js +1 -1
  109. package/dist/components/LpModalNav.vue.js +1 -1
  110. package/dist/components/LpNotificationBell.vue.js +1 -1
  111. package/dist/components/LpNumberField.vue.js +1 -1
  112. package/dist/components/LpPagination.vue.js +1 -1
  113. package/dist/components/LpPaletteFacts.vue.js +1 -1
  114. package/dist/components/LpPaletteHeader.vue.js +2 -2
  115. package/dist/components/LpPasswordInput.vue.js +1 -1
  116. package/dist/components/LpPhoneInput.vue.js +1 -1
  117. package/dist/components/LpPie.vue.js +1 -1
  118. package/dist/components/LpRangeCalendar.vue.js +1 -1
  119. package/dist/components/LpSection.vue.js +1 -1
  120. package/dist/components/LpSegmented.vue.js +1 -1
  121. package/dist/components/LpSelect.vue.js +1 -1
  122. package/dist/components/LpShortcutsDialog.vue.js +1 -1
  123. package/dist/components/LpSidebar.vue.js +1 -1
  124. package/dist/components/LpSidebarNav.vue.js +1 -1
  125. package/dist/components/LpStat.vue.js +1 -1
  126. package/dist/components/LpStepper.vue.js +1 -1
  127. package/dist/components/LpTable.vue.js +6 -6
  128. package/dist/components/LpTableFilter.vue.js +1 -1
  129. package/dist/components/LpTabs.vue.js +1 -1
  130. package/dist/components/LpTagsInput.vue.js +1 -1
  131. package/dist/components/LpTextarea.vue.js +1 -1
  132. package/dist/components/LpThemeSwitcher.vue.js +1 -1
  133. package/dist/components/LpTimeField.vue.js +1 -1
  134. package/dist/components/LpToaster.vue.js +1 -1
  135. package/dist/components/LpTour.vue.js +1 -1
  136. package/dist/components/MenuTitle.vue.js +1 -1
  137. package/dist/components/TourCard.vue.js +1 -1
  138. package/dist/composables/useHintSystem.d.ts +195 -0
  139. package/dist/composables/useHintSystem.js +334 -0
  140. package/dist/icons-all.js +1 -1
  141. package/dist/index.d.ts +3 -0
  142. package/dist/index.js +73 -64
  143. package/package.json +1 -1
  144. package/src/component-names.ts +1 -0
  145. package/src/components/LpHints.vue +116 -0
  146. package/src/components/LpTour.vue +26 -6
  147. package/src/composables/useHintSystem.ts +512 -0
  148. package/src/index.ts +17 -0
  149. package/src/kit-icons.ts +1 -1
  150. package/dist/chunks/icons-CkA0njzm.js +0 -43
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpEmptyState-BJbZXC8D.js";
1
+ import { _ as _sfc_main } from "../chunks/LpEmptyState-CBwwkkdA.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpFieldNotice-wtieLUTj.js";
1
+ import { _ as _sfc_main } from "../chunks/LpFieldNotice-9hH4ITZa.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpFileTree-3E4w4Rjr.js";
1
+ import { _ as _sfc_main } from "../chunks/LpFileTree-CMA0_rsB.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpFileTreeNode-B4uB8Ks_.js";
1
+ import { _ as _sfc_main } from "../chunks/LpFileTreeNode-B4T258hF.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpFormField-CtVYj6tO.js";
1
+ import { _ as _sfc_main } from "../chunks/LpFormField-BpQ6WJPe.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpHintLayer-CI1oZ9Pd.js";
1
+ import { _ as _sfc_main } from "../chunks/LpHintLayer-B5-6FyEf.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -0,0 +1,20 @@
1
+ import { type HintSystem } from "../composables/useHintSystem";
2
+ type __VLS_Props = {
3
+ system: HintSystem;
4
+ labels?: Partial<typeof DEFAULT_LABELS>;
5
+ };
6
+ declare const DEFAULT_LABELS: {
7
+ tourTitle: string;
8
+ tourText: string;
9
+ assignedTitle: string;
10
+ assignedText: string;
11
+ newsTitle: string;
12
+ show: string;
13
+ notNow: string;
14
+ never: string;
15
+ gotIt: string;
16
+ noThanks: string;
17
+ };
18
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ declare const _default: typeof __VLS_export;
20
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import { _ as _sfc_main } from "../chunks/LpHints-BqoZXHZk.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpIcon-DYtaid0K.js";
1
+ import { _ as _sfc_main } from "../chunks/LpIcon-B5guGKrW.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -4,9 +4,9 @@ import { isSideways, coverScale, cropGeometry } from "./imageCrop.js";
4
4
  import { useHotkeys } from "../composables/useHotkeys.js";
5
5
  import { useReveal } from "../composables/useReveal.js";
6
6
  import { useZoomPan } from "../composables/useZoomPan.js";
7
- import { _ as _sfc_main$1 } from "../chunks/LpButton-BdfZFNqi.js";
7
+ import { _ as _sfc_main$1 } from "../chunks/LpButton-vhlwmpBy.js";
8
8
  import "reka-ui";
9
- import { _ as _sfc_main$2 } from "../chunks/LpIcon-DYtaid0K.js";
9
+ import { _ as _sfc_main$2 } from "../chunks/LpIcon-B5guGKrW.js";
10
10
  import { useMergedAttrs } from "../composables/useMergedClass.js";
11
11
  import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper-1tPrXgE0.js";
12
12
  import '../assets/LpImageEditor-CbMA82g8.css';const _hoisted_1 = ["aria-label"];
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpInput-D-YGQbEv.js";
1
+ import { _ as _sfc_main } from "../chunks/LpInput-WvyP02ID.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpLightbox-EVXzAq62.js";
1
+ import { _ as _sfc_main } from "../chunks/LpLightbox-Dq-e36uT.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpLogViewer-BfgtXVKm.js";
1
+ import { _ as _sfc_main } from "../chunks/LpLogViewer-DwiYE32z.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpMapPicker-Cc84LaM3.js";
1
+ import { _ as _sfc_main } from "../chunks/LpMapPicker-BH5csaBt.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpMediaGallery-BnlkN_1f.js";
1
+ import { _ as _sfc_main } from "../chunks/LpMediaGallery-B1kDypJ-.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpModal-JNa3B_Lr.js";
1
+ import { _ as _sfc_main } from "../chunks/LpModal-BxYssnXg.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpModalNav-DXyAyhQl.js";
1
+ import { _ as _sfc_main } from "../chunks/LpModalNav-Bn2ws64b.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpNotificationBell-DEL-RoHS.js";
1
+ import { _ as _sfc_main } from "../chunks/LpNotificationBell-DJfs4JjQ.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpNumberField-B77O-z28.js";
1
+ import { _ as _sfc_main } from "../chunks/LpNumberField-CJPjmoDz.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpPagination-BcDlo3r_.js";
1
+ import { _ as _sfc_main } from "../chunks/LpPagination-DehAaJLY.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, openBlock, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, createElementVNode, Fragment, renderList, normalizeStyle, createBlock, createVNode, renderSlot } from "vue";
2
2
  import { _ as _sfc_main$2 } from "../chunks/HighlightText-BvnYZkhi.js";
3
- import { _ as _sfc_main$1 } from "../chunks/LpIcon-DYtaid0K.js";
3
+ import { _ as _sfc_main$1 } from "../chunks/LpIcon-B5guGKrW.js";
4
4
  import { _ as _sfc_main$3 } from "../chunks/LpRollingText-DB7upf-5.js";
5
5
  import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper-1tPrXgE0.js";
6
6
  import '../assets/LpPaletteFacts-B9FdVmIO.css';const _hoisted_1 = {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, createElementVNode, renderSlot, createBlock, createVNode, createCommentVNode, toDisplayString } from "vue";
2
- import { _ as _sfc_main$1 } from "../chunks/LpAvatar-LTvy0OkE.js";
3
- import { _ as _sfc_main$2 } from "../chunks/LpIcon-DYtaid0K.js";
2
+ import { _ as _sfc_main$1 } from "../chunks/LpAvatar-BxNs23Xu.js";
3
+ import { _ as _sfc_main$2 } from "../chunks/LpIcon-B5guGKrW.js";
4
4
  import { _ as _sfc_main$3 } from "../chunks/HighlightText-BvnYZkhi.js";
5
5
  import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper-1tPrXgE0.js";
6
6
  import '../assets/LpPaletteHeader-BVOu1UX5.css';const _hoisted_1 = { class: "lp-palette-header" };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpPasswordInput-eKzQhbQP.js";
1
+ import { _ as _sfc_main } from "../chunks/LpPasswordInput-Bg5uTZbx.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpPhoneInput-BCbrrhgE.js";
1
+ import { _ as _sfc_main } from "../chunks/LpPhoneInput-DStwcbnQ.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpPie-CXka8Jvx.js";
1
+ import { _ as _sfc_main } from "../chunks/LpPie-DeTkbbOK.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpRangeCalendar-DZuaRV0W.js";
1
+ import { _ as _sfc_main } from "../chunks/LpRangeCalendar-D5sDID9W.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSection-tKEH0jYf.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSection-B19VPYmr.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSegmented-C09EEam2.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSegmented-D3Eam8sa.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSelect-DNIL6MB9.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSelect-DynjWK1A.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createBlock, unref, withCtx, createElementVNode, createElementBlock, Fragment, renderList, toDisplayString, createTextVNode, createCommentVNode, createVNode } from "vue";
2
2
  import LpKeys from "./LpKeys.vue.js";
3
- import { _ as _sfc_main$1 } from "../chunks/LpModal-JNa3B_Lr.js";
3
+ import { _ as _sfc_main$1 } from "../chunks/LpModal-BxYssnXg.js";
4
4
  import { mergeShortcutGroups, activeShortcuts, useHotkeys } from "../composables/useHotkeys.js";
5
5
  import { useLabels } from "../composables/useLpConfig.js";
6
6
  import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper-1tPrXgE0.js";
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSidebar-hZ8D1cVr.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSidebar-CshW0fqC.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpSidebarNav-C9dHu-2b.js";
1
+ import { _ as _sfc_main } from "../chunks/LpSidebarNav-C9b3i9G2.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpStat-B-7udBRP.js";
1
+ import { _ as _sfc_main } from "../chunks/LpStat-BS2TEXYK.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpStepper-C7XiVKZj.js";
1
+ import { _ as _sfc_main } from "../chunks/LpStepper-BSglWF45.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,20 +1,20 @@
1
1
  import { defineComponent, computed, useAttrs, ref, shallowRef, watch, onMounted, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, createVNode, withCtx, createTextVNode, toDisplayString, createCommentVNode, Fragment, renderList, createElementVNode, Transition, renderSlot, mergeProps, normalizeStyle, createBlock, TransitionGroup, unref, withModifiers, nextTick } from "vue";
2
- import { _ as _sfc_main$7 } from "../chunks/LpCheckbox-DvVYeOD-.js";
3
- import { _ as _sfc_main$6 } from "../chunks/LpContextMenu-EF_90u3g.js";
4
- import { _ as _sfc_main$2 } from "../chunks/LpIcon-DYtaid0K.js";
5
- import { _ as _sfc_main$a } from "../chunks/LpPagination-BcDlo3r_.js";
2
+ import { _ as _sfc_main$7 } from "../chunks/LpCheckbox-B_C8sOoT.js";
3
+ import { _ as _sfc_main$6 } from "../chunks/LpContextMenu-B1NGfpp1.js";
4
+ import { _ as _sfc_main$2 } from "../chunks/LpIcon-B5guGKrW.js";
5
+ import { _ as _sfc_main$a } from "../chunks/LpPagination-DehAaJLY.js";
6
6
  import { _ as _sfc_main$8 } from "../chunks/LpPopover-DCKeqiVn.js";
7
7
  import { _ as _sfc_main$5 } from "../chunks/LpScrollArea-Hz3-JWUG.js";
8
8
  import { _ as _sfc_main$4 } from "../chunks/LpRollingText-DB7upf-5.js";
9
9
  import { _ as _sfc_main$3 } from "../chunks/LpShift-DXNsauQZ.js";
10
- import { _ as _sfc_main$9 } from "../chunks/LpTableFilter-CrW7_Rj4.js";
10
+ import { _ as _sfc_main$9 } from "../chunks/LpTableFilter-CwHXVxJt.js";
11
11
  import { useAsyncTask } from "../composables/useAsyncTask.js";
12
12
  import { useHotkeys } from "../composables/useHotkeys.js";
13
13
  import { usePaintSelect } from "../composables/usePaintSelect.js";
14
14
  import { useRovingFocus } from "../composables/useRovingFocus.js";
15
15
  import { useLabels } from "../composables/useLpConfig.js";
16
16
  import { compareValues } from "./tableSort.js";
17
- import { _ as _sfc_main$1 } from "../chunks/LpButton-BdfZFNqi.js";
17
+ import { _ as _sfc_main$1 } from "../chunks/LpButton-vhlwmpBy.js";
18
18
  import { toCsv, downloadFile, fileStem } from "./exportData.js";
19
19
  import { summarizeShown, parseTableState, serializeTableState, countValues } from "./tableFilter.js";
20
20
  import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper-1tPrXgE0.js";
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpTableFilter-CrW7_Rj4.js";
1
+ import { _ as _sfc_main } from "../chunks/LpTableFilter-CwHXVxJt.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpTabs-BMSBB78h.js";
1
+ import { _ as _sfc_main } from "../chunks/LpTabs-BBGRHY38.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpTagsInput-D1SuqbhB.js";
1
+ import { _ as _sfc_main } from "../chunks/LpTagsInput-CHbQoAAA.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpTextarea-uuScWo6-.js";
1
+ import { _ as _sfc_main } from "../chunks/LpTextarea-Bz2IWhTH.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpThemeSwitcher-Fz85BCRS.js";
1
+ import { _ as _sfc_main } from "../chunks/LpThemeSwitcher-B_qhSl7q.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpTimeField-Cqe7fXnh.js";
1
+ import { _ as _sfc_main } from "../chunks/LpTimeField-DvGXgdES.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpToaster-DTtWuKvq.js";
1
+ import { _ as _sfc_main } from "../chunks/LpToaster-Bo9Q4QBP.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/LpTour-C1TC2GyY.js";
1
+ import { _ as _sfc_main } from "../chunks/LpTour-D7m9ZxNk.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/MenuTitle-J3ZDYjpV.js";
1
+ import { _ as _sfc_main } from "../chunks/MenuTitle-DQP6hc2N.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../chunks/TourCard-BQS3ztqj.js";
1
+ import { _ as _sfc_main } from "../chunks/TourCard-DCHOjr6e.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -0,0 +1,195 @@
1
+ import { type ComputedRef } from "vue";
2
+ import type { HintNote } from "../components/LpHintLayer.vue";
3
+ import type { TourContext, TourStep } from "../components/LpTour.vue";
4
+ export interface HintFeature {
5
+ page: string;
6
+ title: string;
7
+ text: string;
8
+ order?: number;
9
+ keys?: string;
10
+ try?: boolean;
11
+ side?: TourStep["side"];
12
+ /** Bump to announce a changed feature again: it reads as new to everyone. */
13
+ rev?: number;
14
+ /** Keeps its dot until explained, even after "not now". */
15
+ required?: boolean;
16
+ /**
17
+ * Rendered only in some states (data-dependent, behind a filter). Its first
18
+ * appearance is not news, so it is never marked new for merely showing up;
19
+ * a `rev` bump still announces it.
20
+ */
21
+ conditional?: boolean;
22
+ /** When the `v-hint` id is not the element to light (a column header, an opened menu). */
23
+ target?: () => Element | null;
24
+ enter?: (context: TourContext) => void | Promise<void>;
25
+ }
26
+ export interface HintPage {
27
+ title: string;
28
+ /**
29
+ * A localStorage key prefix that proves the user worked on this page before
30
+ * the system existed (a remembered table layout). Such a page is treated as
31
+ * known on first sight: no tour offer, no dots for what was always there.
32
+ */
33
+ known?: string;
34
+ }
35
+ export interface HintNews {
36
+ id: string;
37
+ date: string;
38
+ page: string;
39
+ text: string;
40
+ feature?: string;
41
+ }
42
+ export interface HintNudge {
43
+ id: string;
44
+ feature: string;
45
+ text: string;
46
+ }
47
+ export type HintLevel = "seen" | "explained" | "used";
48
+ export interface HintRecord {
49
+ state: HintLevel;
50
+ dismissed: boolean;
51
+ count: number;
52
+ assigned?: boolean;
53
+ updatedAt: string;
54
+ }
55
+ export interface HintDelta {
56
+ key: string;
57
+ state?: HintLevel;
58
+ dismissed?: boolean;
59
+ add?: number;
60
+ }
61
+ export interface HintStorage {
62
+ load(): Promise<Record<string, HintRecord>> | Record<string, HintRecord>;
63
+ save(deltas: HintDelta[]): Promise<void> | void;
64
+ /** Last chance on page hide (sendBeacon); falls back to `save`. */
65
+ saveOnLeave?(deltas: HintDelta[]): void;
66
+ }
67
+ export interface HintTiming {
68
+ settle: number;
69
+ offerAgain: number;
70
+ offersMax: number;
71
+ freshLimit: number;
72
+ nudgeAgain: number;
73
+ flush: number;
74
+ }
75
+ export interface HintSystemOptions {
76
+ features: Record<string, HintFeature>;
77
+ pages?: Record<string, HintPage>;
78
+ news?: HintNews[];
79
+ storage?: HintStorage;
80
+ /** The current page id, read reactively (map your route to it). */
81
+ page: () => string;
82
+ sessionKey?: string;
83
+ timing?: Partial<HintTiming>;
84
+ }
85
+ export type HintOffer = {
86
+ kind: "tour" | "assigned";
87
+ page: string;
88
+ } | {
89
+ kind: "news";
90
+ page: string;
91
+ items: HintNews[];
92
+ } | {
93
+ kind: "nudge";
94
+ page: string;
95
+ nudge: HintNudge;
96
+ };
97
+ /** Records in localStorage: for anonymous sessions and apps without a server. */
98
+ export declare function localHintStorage(key?: string): HintStorage;
99
+ /** Record keys, for apps that read or assign records directly (a "who knows what" view). */
100
+ export declare const hintKey: {
101
+ feature: (id: string, rev?: number) => string;
102
+ page: (page: string) => string;
103
+ news: (id: string) => string;
104
+ nudge: (id: string) => string;
105
+ };
106
+ export interface HintSummary {
107
+ tour: "done" | "assigned" | "declined" | "offered" | "never";
108
+ offers: number;
109
+ known: number;
110
+ total: number;
111
+ /** Titles of `required` features this person has not been shown. */
112
+ missing: string[];
113
+ }
114
+ /** What one person knows of a page, from their records: for a manager's view. */
115
+ export declare function hintSummary(records: Map<string, Pick<HintRecord, "state" | "dismissed" | "count" | "assigned">>, features: Record<string, HintFeature>, page: string): HintSummary;
116
+ export declare function createHintSystem(options: HintSystemOptions): {
117
+ state: {
118
+ records: Map<string, {
119
+ state: HintLevel;
120
+ dismissed: boolean;
121
+ count: number;
122
+ assigned?: boolean | undefined;
123
+ updatedAt: string;
124
+ }> & Omit<Map<string, HintRecord>, keyof Map<any, any>>;
125
+ loaded: boolean;
126
+ page: string;
127
+ tour: {
128
+ open: boolean;
129
+ step: number;
130
+ steps: {
131
+ target?: (string | Element | (() => Element | null)) | undefined;
132
+ title: string;
133
+ text?: string | undefined;
134
+ keys?: string | undefined;
135
+ side?: "top" | "right" | "bottom" | "left" | undefined;
136
+ try?: boolean | undefined;
137
+ perform?: (() => void | Promise<void>) | undefined;
138
+ enter?: ((context: TourContext) => void | Promise<void>) | undefined;
139
+ }[];
140
+ ids: string[];
141
+ page: string;
142
+ };
143
+ offer: {
144
+ kind: "tour" | "assigned";
145
+ page: string;
146
+ } | {
147
+ kind: "news";
148
+ page: string;
149
+ items: {
150
+ id: string;
151
+ date: string;
152
+ page: string;
153
+ text: string;
154
+ feature?: string | undefined;
155
+ }[];
156
+ } | {
157
+ kind: "nudge";
158
+ page: string;
159
+ nudge: {
160
+ id: string;
161
+ feature: string;
162
+ text: string;
163
+ };
164
+ } | null;
165
+ candidate: {
166
+ id: string;
167
+ feature: string;
168
+ text: string;
169
+ page: string;
170
+ } | null;
171
+ settledAt: number;
172
+ intent: boolean;
173
+ };
174
+ fresh: ComputedRef<string[]>;
175
+ notes: ComputedRef<Record<string, HintNote>>;
176
+ start: () => void;
177
+ stop: () => void;
178
+ hasTour: (page?: string) => boolean;
179
+ startTour: (page?: string, only?: string[]) => void;
180
+ load(): Promise<void>;
181
+ /** Ask for a nudge; it shows when the budget and the page allow. */
182
+ nudge(n: HintNudge): void;
183
+ /** The user navigated on purpose (palette, notification): do not interrupt this arrival. */
184
+ markIntent(): void;
185
+ unreadNews: (page?: string) => HintNews[];
186
+ readNews: (page: string) => void;
187
+ pageTitle: (page: string) => string;
188
+ readFresh(id: string): void;
189
+ tourShown(index: number): void;
190
+ tourEnded(finished: boolean): void;
191
+ answer(choice: "show" | "later" | "never"): void;
192
+ };
193
+ export type HintSystem = ReturnType<typeof createHintSystem>;
194
+ export declare function provideHintSystem(system: HintSystem): void;
195
+ export declare function useHintSystem(): HintSystem | null;