@hina-ui/vue 1.7.13 → 1.7.14

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 (68) hide show
  1. package/dist/index.js +1295 -283
  2. package/dist/index.js.map +1 -1
  3. package/dist/shared/lib/thumbhash.ts +12 -0
  4. package/dist/shared/lib/tour-engine.ts +721 -0
  5. package/dist/shared/lib/tour.ts +202 -24
  6. package/dist/shared/locale/en-US.ts +1 -0
  7. package/dist/shared/locale/ja-JP.ts +1 -0
  8. package/dist/shared/locale/types.ts +1 -0
  9. package/dist/shared/locale/zh-CN.ts +1 -0
  10. package/dist/shared/primitives/dialog/index.ts +2 -2
  11. package/dist/shared/primitives/dismissable-layer/index.ts +48 -1
  12. package/dist/shared/primitives/focus-scope/index.ts +5 -3
  13. package/dist/shared/styles/semantic.css +1 -0
  14. package/dist/shared/styles/tour.css +107 -2
  15. package/dist/shared/variants/image.ts +28 -0
  16. package/dist/shared/variants/tour.ts +22 -4
  17. package/dist/types/shared/src/lib/thumbhash.d.ts +2 -0
  18. package/dist/types/shared/src/lib/thumbhash.d.ts.map +1 -0
  19. package/dist/types/shared/src/lib/tour-engine.d.ts +47 -0
  20. package/dist/types/shared/src/lib/tour-engine.d.ts.map +1 -0
  21. package/dist/types/shared/src/lib/tour.d.ts +65 -9
  22. package/dist/types/shared/src/lib/tour.d.ts.map +1 -1
  23. package/dist/types/shared/src/locale/en-US.d.ts.map +1 -1
  24. package/dist/types/shared/src/locale/ja-JP.d.ts.map +1 -1
  25. package/dist/types/shared/src/locale/types.d.ts +1 -0
  26. package/dist/types/shared/src/locale/types.d.ts.map +1 -1
  27. package/dist/types/shared/src/locale/zh-CN.d.ts.map +1 -1
  28. package/dist/types/shared/src/primitives/dialog/index.d.ts +1 -1
  29. package/dist/types/shared/src/primitives/dialog/index.d.ts.map +1 -1
  30. package/dist/types/shared/src/primitives/dismissable-layer/index.d.ts +1 -0
  31. package/dist/types/shared/src/primitives/dismissable-layer/index.d.ts.map +1 -1
  32. package/dist/types/shared/src/primitives/focus-scope/index.d.ts.map +1 -1
  33. package/dist/types/shared/src/variants/image.d.ts +35 -0
  34. package/dist/types/shared/src/variants/image.d.ts.map +1 -1
  35. package/dist/types/shared/src/variants/tour.d.ts +9 -4
  36. package/dist/types/shared/src/variants/tour.d.ts.map +1 -1
  37. package/dist/types/vue/src/components/button/Button.vue.d.ts.map +1 -1
  38. package/dist/types/vue/src/components/dialog/Dialog.vue.d.ts +3 -0
  39. package/dist/types/vue/src/components/dialog/Dialog.vue.d.ts.map +1 -1
  40. package/dist/types/vue/src/components/drawer/Drawer.vue.d.ts +3 -0
  41. package/dist/types/vue/src/components/drawer/Drawer.vue.d.ts.map +1 -1
  42. package/dist/types/vue/src/components/image/Image.vue.d.ts +1 -0
  43. package/dist/types/vue/src/components/image/Image.vue.d.ts.map +1 -1
  44. package/dist/types/vue/src/components/image/composables/useImage.d.ts +2 -0
  45. package/dist/types/vue/src/components/image/composables/useImage.d.ts.map +1 -1
  46. package/dist/types/vue/src/components/overlay-branch/OverlayBranch.vue.d.ts +17 -0
  47. package/dist/types/vue/src/components/overlay-branch/OverlayBranch.vue.d.ts.map +1 -0
  48. package/dist/types/vue/src/components/sheet/Sheet.vue.d.ts +3 -0
  49. package/dist/types/vue/src/components/sheet/Sheet.vue.d.ts.map +1 -1
  50. package/dist/types/vue/src/components/tour/Tour.vue.d.ts +10 -1
  51. package/dist/types/vue/src/components/tour/Tour.vue.d.ts.map +1 -1
  52. package/dist/types/vue/src/components/tour/types.d.ts +9 -3
  53. package/dist/types/vue/src/components/tour/types.d.ts.map +1 -1
  54. package/dist/types/vue/src/index.d.ts +2 -1
  55. package/dist/types/vue/src/index.d.ts.map +1 -1
  56. package/dist/types/vue/src/primitives/dismissable-layer/DismissableLayerBranch.d.ts.map +1 -1
  57. package/package.json +2 -1
  58. package/src/components/button/Button.vue +1 -1
  59. package/src/components/dialog/Dialog.vue +14 -1
  60. package/src/components/drawer/Drawer.vue +14 -1
  61. package/src/components/image/Image.vue +58 -24
  62. package/src/components/image/composables/useImage.ts +46 -21
  63. package/src/components/overlay-branch/OverlayBranch.vue +14 -0
  64. package/src/components/sheet/Sheet.vue +14 -1
  65. package/src/components/tour/Tour.vue +302 -141
  66. package/src/components/tour/types.ts +33 -2
  67. package/src/index.ts +11 -0
  68. package/src/primitives/dismissable-layer/DismissableLayerBranch.ts +9 -18
@@ -1,25 +1,53 @@
1
1
  import type {
2
2
  TourAlign,
3
3
  TourBeforeChange,
4
+ TourCloseReason,
5
+ TourPlay,
6
+ TourPlayContext,
7
+ TourPoint,
8
+ TourPointer,
9
+ TourPointerKind,
10
+ TourRectLike,
4
11
  TourSide,
12
+ TourSpotlightOptions,
5
13
  TourStepBase,
6
14
  TourTarget,
15
+ TourTargetItem,
16
+ TourVirtualElement,
7
17
  } from '../../../../shared/src/lib/tour'
8
18
 
9
- export type { TourAlign, TourBeforeChange, TourSide, TourTarget }
19
+ export type {
20
+ TourAlign,
21
+ TourBeforeChange,
22
+ TourCloseReason,
23
+ TourPlay,
24
+ TourPlayContext,
25
+ TourPoint,
26
+ TourPointer,
27
+ TourPointerKind,
28
+ TourRectLike,
29
+ TourSide,
30
+ TourSpotlightOptions,
31
+ TourTarget,
32
+ TourTargetItem,
33
+ TourVirtualElement,
34
+ }
10
35
 
11
36
  export type TourStep = TourStepBase
12
37
 
13
38
  export interface TourProps {
14
39
  steps: TourStep[]
15
- mask?: boolean
40
+ mask?: boolean | 'dim'
16
41
  locked?: boolean
17
42
  beacon?: boolean
18
43
  blockTarget?: boolean
44
+ blockPage?: boolean
45
+ pointer?: 'auto' | TourPointerKind
19
46
  nextText?: string
20
47
  prevText?: string
21
48
  finishText?: string
22
49
  skipText?: string
50
+ replayText?: string
23
51
  beforeChange?: TourBeforeChange
24
52
  dir?: 'ltr' | 'rtl'
25
53
  class?: string
@@ -30,9 +58,11 @@ export interface TourSlotProps {
30
58
  current: number
31
59
  total: number
32
60
  busy: boolean
61
+ playing: boolean
33
62
  next: () => void
34
63
  prev: () => void
35
64
  skip: () => void
65
+ replay: () => void
36
66
  }
37
67
 
38
68
  export interface TourExpose {
@@ -40,4 +70,5 @@ export interface TourExpose {
40
70
  prev: () => Promise<void>
41
71
  goTo: (step: number) => Promise<void>
42
72
  close: () => void
73
+ replay: () => void
43
74
  }
package/src/index.ts CHANGED
@@ -147,12 +147,22 @@ export { default as Tour } from './components/tour/Tour.vue'
147
147
  export type {
148
148
  TourAlign,
149
149
  TourBeforeChange,
150
+ TourCloseReason,
150
151
  TourExpose,
152
+ TourPlay,
153
+ TourPlayContext,
154
+ TourPoint,
155
+ TourPointer,
156
+ TourPointerKind,
151
157
  TourProps,
158
+ TourRectLike,
152
159
  TourSide,
153
160
  TourSlotProps,
161
+ TourSpotlightOptions,
154
162
  TourStep,
155
163
  TourTarget,
164
+ TourTargetItem,
165
+ TourVirtualElement,
156
166
  } from './components/tour/types'
157
167
  export { default as HoverCard } from './components/hover-card/HoverCard.vue'
158
168
  export { default as ContextMenu } from './components/context-menu/ContextMenu.vue'
@@ -292,6 +302,7 @@ export { default as DropdownMenuRadioGroup } from './components/dropdown-menu/Dr
292
302
  export { default as DropdownMenuRadioItem } from './components/dropdown-menu/DropdownMenuRadioItem.vue'
293
303
  export { default as Dialog } from './components/dialog/Dialog.vue'
294
304
  export { default as Drawer } from './components/drawer/Drawer.vue'
305
+ export { default as OverlayBranch } from './components/overlay-branch/OverlayBranch.vue'
295
306
  export { default as SidebarTrigger } from './components/sidebar/SidebarTrigger.vue'
296
307
  export type { SidebarState } from './components/sidebar/context'
297
308
  export { default as Toaster } from './components/toast/Toaster.vue'
@@ -1,13 +1,5 @@
1
- import {
2
- defineComponent,
3
- h,
4
- mergeProps,
5
- onMounted,
6
- onUnmounted,
7
- renderSlot,
8
- withCtx,
9
- type PropType,
10
- } from 'vue'
1
+ import { defineComponent, h, mergeProps, renderSlot, watch, withCtx, type PropType } from 'vue'
2
+ import { isClient } from '@vueuse/core'
11
3
  import { addBranch } from '../../../../shared/src/primitives/dismissable-layer'
12
4
  import { Primitive, type PrimitiveProps } from '../primitive'
13
5
  import { useForwardExpose } from '../utils/useForwardExpose'
@@ -20,14 +12,13 @@ export const DismissableLayerBranch = defineComponent({
20
12
  },
21
13
  setup(props, { slots }) {
22
14
  const { forwardRef, currentElement } = useForwardExpose()
23
- let release: (() => void) | undefined
24
- onMounted(() => {
25
- if (currentElement.value) release = addBranch(currentElement.value)
26
- })
27
- onUnmounted(() => {
28
- release?.()
29
- release = undefined
30
- })
15
+ watch(
16
+ currentElement,
17
+ (element, _, onCleanup) => {
18
+ if (isClient && element instanceof HTMLElement) onCleanup(addBranch(element))
19
+ },
20
+ { immediate: true, flush: 'post' },
21
+ )
31
22
  return () =>
32
23
  h(Primitive, mergeProps({ ref: forwardRef }, props), {
33
24
  default: withCtx(() => [renderSlot(slots, 'default')]),