pxd 0.0.61 → 0.0.63

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 (223) hide show
  1. package/LICENSE +21 -0
  2. package/dist/components/_internal/dismiss-container.d.vue.ts +28 -0
  3. package/dist/components/_internal/dismiss-container.vue +162 -0
  4. package/dist/components/_internal/popover-arrow.d.vue.ts +9 -0
  5. package/dist/components/_internal/popover-arrow.vue +38 -0
  6. package/dist/components/active-graph/index.vue +4 -4
  7. package/dist/components/avatar/index.vue +5 -7
  8. package/dist/components/avatar-group/index.d.vue.ts +0 -1
  9. package/dist/components/avatar-group/index.vue +1 -1
  10. package/dist/components/backtop/index.vue +1 -1
  11. package/dist/components/badge/index.d.vue.ts +5 -1
  12. package/dist/components/badge/index.vue +18 -4
  13. package/dist/components/badge/types.d.ts +5 -0
  14. package/dist/components/book/index.vue +1 -1
  15. package/dist/components/browser/index.vue +1 -1
  16. package/dist/components/bubble/index.d.vue.ts +22 -0
  17. package/dist/components/bubble/index.vue +59 -0
  18. package/dist/components/bubble/types.d.ts +6 -0
  19. package/dist/components/button/index.d.vue.ts +0 -2
  20. package/dist/components/button/index.vue +30 -21
  21. package/dist/components/button/types.d.ts +3 -2
  22. package/dist/components/button-group/index.d.vue.ts +14 -0
  23. package/dist/components/button-group/index.vue +26 -0
  24. package/dist/components/button-group/types.d.ts +9 -0
  25. package/dist/components/carousel/index.d.vue.ts +3 -3
  26. package/dist/components/carousel/index.vue +146 -113
  27. package/dist/components/carousel/types.d.ts +1 -1
  28. package/dist/components/carousel-item/index.vue +22 -17
  29. package/dist/components/checkbox/index.vue +6 -6
  30. package/dist/components/checkbox-group/index.d.vue.ts +1 -1
  31. package/dist/components/chip/index.d.vue.ts +1 -5
  32. package/dist/components/chip/index.vue +4 -4
  33. package/dist/components/color-selector/index.d.vue.ts +12 -0
  34. package/dist/components/color-selector/index.vue +64 -0
  35. package/dist/components/color-selector/types.d.ts +12 -0
  36. package/dist/components/command-menu/index.d.vue.ts +6 -6
  37. package/dist/components/command-menu/index.vue +23 -32
  38. package/dist/components/command-menu/types.d.ts +1 -1
  39. package/dist/components/command-menu-group/index.vue +15 -6
  40. package/dist/components/command-menu-group/types.d.ts +1 -1
  41. package/dist/components/countdown/index.d.vue.ts +11 -11
  42. package/dist/components/drawer/index.d.vue.ts +8 -8
  43. package/dist/components/drawer/index.vue +13 -10
  44. package/dist/components/drawer/types.d.ts +4 -3
  45. package/dist/components/ellipsis-text/index.d.vue.ts +4 -1
  46. package/dist/components/ellipsis-text/index.vue +84 -107
  47. package/dist/components/ellipsis-text/types.d.ts +2 -1
  48. package/dist/components/error/index.vue +1 -1
  49. package/dist/components/fader/index.vue +5 -9
  50. package/dist/components/gauge/index.vue +34 -29
  51. package/dist/components/grid/index.vue +1 -1
  52. package/dist/components/grid-item/index.vue +1 -1
  53. package/dist/components/hold-button/index.d.vue.ts +8 -10
  54. package/dist/components/hold-button/index.vue +20 -29
  55. package/dist/components/hold-button/types.d.ts +5 -6
  56. package/dist/components/index.d.ts +7 -0
  57. package/dist/components/index.js +7 -0
  58. package/dist/components/input/index.d.vue.ts +8 -8
  59. package/dist/components/input/index.vue +5 -4
  60. package/dist/components/intersection-observer/index.vue +4 -4
  61. package/dist/components/kbd/index.vue +1 -1
  62. package/dist/components/link-button/index.d.vue.ts +4 -4
  63. package/dist/components/link-button/index.vue +9 -8
  64. package/dist/components/link-button/types.d.ts +0 -3
  65. package/dist/components/list/index.d.vue.ts +10 -15
  66. package/dist/components/list/index.vue +58 -131
  67. package/dist/components/list/types.d.ts +4 -4
  68. package/dist/components/list-item/index.d.vue.ts +2 -2
  69. package/dist/components/list-item/index.vue +44 -39
  70. package/dist/components/loading-bar/index.vue +8 -7
  71. package/dist/components/material/index.vue +24 -46
  72. package/dist/components/menu/index.d.vue.ts +6 -8
  73. package/dist/components/menu/index.vue +18 -24
  74. package/dist/components/menu/types.d.ts +1 -2
  75. package/dist/components/message/composables/use-group-expand.d.ts +13 -0
  76. package/dist/components/message/composables/use-group-expand.js +50 -0
  77. package/dist/components/message/composables/use-message-timer.d.ts +9 -0
  78. package/dist/components/message/composables/use-message-timer.js +61 -0
  79. package/dist/components/message/composables/use-promise-message.d.ts +4 -0
  80. package/dist/components/message/composables/use-promise-message.js +49 -0
  81. package/dist/components/message/index.d.vue.ts +6 -33
  82. package/dist/components/message/index.vue +33 -185
  83. package/dist/components/message/types.d.ts +2 -2
  84. package/dist/components/message-item/index.vue +26 -2
  85. package/dist/components/modal/index.d.vue.ts +7 -7
  86. package/dist/components/modal/index.vue +7 -3
  87. package/dist/components/modal/types.d.ts +7 -3
  88. package/dist/components/note/index.vue +2 -2
  89. package/dist/components/number-input/index.d.vue.ts +5 -4
  90. package/dist/components/number-input/index.vue +3 -0
  91. package/dist/components/number-input/types.d.ts +1 -0
  92. package/dist/components/overlay/index.d.vue.ts +6 -3
  93. package/dist/components/overlay/index.vue +63 -68
  94. package/dist/components/overlay/types.d.ts +5 -4
  95. package/dist/components/pagination/index.vue +2 -2
  96. package/dist/components/pin-input/index.d.vue.ts +1 -1
  97. package/dist/components/pin-input/index.vue +7 -6
  98. package/dist/components/placeholder/index.vue +1 -1
  99. package/dist/components/popover/index.d.vue.ts +7 -8
  100. package/dist/components/popover/index.vue +149 -239
  101. package/dist/components/popover/types.d.ts +5 -5
  102. package/dist/components/progress/index.vue +1 -1
  103. package/dist/components/radio/index.vue +2 -2
  104. package/dist/components/resizable/index.vue +43 -51
  105. package/dist/components/resizable/types.d.ts +1 -1
  106. package/dist/components/resizable-handle/index.d.vue.ts +4 -1
  107. package/dist/components/resizable-handle/index.vue +29 -3
  108. package/dist/components/resizable-panel/index.vue +3 -7
  109. package/dist/components/scalable-text/index.d.vue.ts +9 -0
  110. package/dist/components/scalable-text/index.vue +147 -0
  111. package/dist/components/scalable-text/types.d.ts +12 -0
  112. package/dist/components/scrollable/index.d.vue.ts +2 -2
  113. package/dist/components/scrollable/index.vue +4 -3
  114. package/dist/components/separator/index.d.vue.ts +6 -0
  115. package/dist/components/separator/index.vue +18 -0
  116. package/dist/components/separator/types.d.ts +5 -0
  117. package/dist/components/skeleton/index.d.vue.ts +1 -1
  118. package/dist/components/slider/index.d.vue.ts +1 -1
  119. package/dist/components/slider/index.vue +39 -7
  120. package/dist/components/snippet/index.vue +16 -13
  121. package/dist/components/spinner/index.vue +3 -1
  122. package/dist/components/stack/index.d.vue.ts +1 -1
  123. package/dist/components/stack/index.vue +1 -1
  124. package/dist/components/switch/index.d.vue.ts +1 -1
  125. package/dist/components/switch/index.vue +4 -3
  126. package/dist/components/switch-item/index.vue +1 -1
  127. package/dist/components/tabs/index.d.vue.ts +12 -0
  128. package/dist/components/tabs/index.vue +270 -0
  129. package/dist/components/tabs/types.d.ts +12 -0
  130. package/dist/components/tabs-item/index.d.vue.ts +4 -0
  131. package/dist/components/tabs-item/index.vue +16 -0
  132. package/dist/components/tabs-item/types.d.ts +10 -0
  133. package/dist/components/text/index.vue +1 -1
  134. package/dist/components/textarea/index.d.vue.ts +2 -2
  135. package/dist/components/textarea/index.vue +1 -1
  136. package/dist/components/time-picker/index.d.vue.ts +3 -5
  137. package/dist/components/time-picker/index.vue +53 -45
  138. package/dist/components/time-picker/types.d.ts +1 -2
  139. package/dist/components/toggle/index.d.vue.ts +0 -2
  140. package/dist/components/toggle/index.vue +6 -6
  141. package/dist/components/toggle-button/index.vue +8 -6
  142. package/dist/components/tooltip/index.d.vue.ts +1 -1
  143. package/dist/components/tooltip/index.vue +19 -11
  144. package/dist/components/tooltip/types.d.ts +2 -2
  145. package/dist/components/virtual-list/index.d.vue.ts +8 -8
  146. package/dist/components/virtual-list/index.vue +27 -5
  147. package/dist/components/virtual-list/types.d.ts +3 -0
  148. package/dist/composables/index.d.ts +4 -1
  149. package/dist/composables/index.js +4 -1
  150. package/dist/composables/use-browser-observer.js +2 -2
  151. package/dist/composables/use-client-online.js +2 -2
  152. package/dist/composables/use-color-scheme.js +2 -2
  153. package/dist/composables/use-countdown.js +3 -2
  154. package/dist/composables/use-deferred-value.js +2 -2
  155. package/dist/composables/use-delay-destroy.js +11 -6
  156. package/dist/composables/use-document-hidden.js +2 -2
  157. package/dist/composables/use-focus-trap.js +2 -2
  158. package/dist/composables/use-list-filter.d.ts +11 -0
  159. package/dist/composables/use-list-filter.js +56 -0
  160. package/dist/composables/use-list-navigation.d.ts +27 -0
  161. package/dist/composables/use-list-navigation.js +159 -0
  162. package/dist/composables/use-lock-scroll.js +12 -12
  163. package/dist/composables/use-media-query.js +2 -2
  164. package/dist/composables/use-outside-click.d.ts +1 -1
  165. package/dist/composables/use-outside-click.js +8 -11
  166. package/dist/composables/use-overlay-manager.d.ts +18 -0
  167. package/dist/composables/use-overlay-manager.js +80 -0
  168. package/dist/composables/use-popover-responsive.d.ts +6 -8
  169. package/dist/composables/use-popover-responsive.js +9 -12
  170. package/dist/composables/use-repeat-action.js +2 -2
  171. package/dist/composables/use-swipe-gesture.d.ts +65 -0
  172. package/dist/composables/use-swipe-gesture.js +99 -0
  173. package/dist/composables/use-virtual-list.d.ts +5 -3
  174. package/dist/composables/use-virtual-list.js +25 -14
  175. package/dist/composables/use-window-size.js +2 -2
  176. package/dist/constants/size.d.ts +12 -0
  177. package/dist/constants/size.js +12 -0
  178. package/dist/contexts/button.d.ts +5 -0
  179. package/dist/contexts/button.js +5 -0
  180. package/dist/contexts/carousel.d.ts +2 -1
  181. package/dist/contexts/list.d.ts +23 -3
  182. package/dist/contexts/list.js +6 -2
  183. package/dist/contexts/resizable.d.ts +3 -11
  184. package/dist/contexts/tabs.d.ts +15 -0
  185. package/dist/contexts/tabs.js +2 -0
  186. package/dist/locales/en-us.d.ts +4 -4
  187. package/dist/locales/en-us.js +4 -4
  188. package/dist/locales/zh-cn.d.ts +4 -4
  189. package/dist/locales/zh-cn.js +4 -4
  190. package/dist/plugins/dayjs-millisecond-token.js +1 -1
  191. package/dist/styles/source.css +133 -128
  192. package/dist/styles/styles.css +2 -2
  193. package/dist/styles/tw.css +133 -128
  194. package/dist/types/shared/props.d.ts +1 -0
  195. package/dist/types/shared/utils.d.ts +1 -4
  196. package/dist/utils/date.d.ts +3 -3
  197. package/dist/utils/dom.d.ts +1 -0
  198. package/dist/utils/dom.js +4 -0
  199. package/dist/utils/event.d.ts +2 -1
  200. package/dist/utils/event.js +7 -1
  201. package/dist/utils/format.d.ts +3 -3
  202. package/dist/utils/format.js +5 -4
  203. package/dist/utils/fuzzy-search.d.ts +7 -0
  204. package/dist/utils/fuzzy-search.js +61 -0
  205. package/dist/utils/get.d.ts +2 -0
  206. package/dist/utils/get.js +15 -1
  207. package/dist/utils/index.d.ts +10 -11
  208. package/dist/utils/index.js +2 -3
  209. package/dist/utils/ref.d.ts +2 -2
  210. package/dist/utils/{throttle.d.ts → timing.d.ts} +1 -0
  211. package/dist/utils/{throttle.js → timing.js} +4 -2
  212. package/package.json +40 -37
  213. package/volar.d.ts +7 -0
  214. package/dist/components/overlay/overlay-stack.d.ts +0 -3
  215. package/dist/components/overlay/overlay-stack.js +0 -17
  216. package/dist/composables/use-pointer-gesture.d.ts +0 -180
  217. package/dist/composables/use-pointer-gesture.js +0 -406
  218. package/dist/utils/debounce.d.ts +0 -1
  219. package/dist/utils/debounce.js +0 -1
  220. package/dist/utils/regexp.d.ts +0 -8
  221. package/dist/utils/regexp.js +0 -8
  222. package/dist/utils/responsive.d.ts +0 -3
  223. package/dist/utils/responsive.js +0 -14
@@ -1,12 +1,11 @@
1
1
  <script setup>
2
2
  import { computed, nextTick, onBeforeUnmount, shallowRef, watch } from "vue";
3
- import { useLockScroll } from "../../composables";
4
- import { cachedOff, cachedOn, NOOP } from "../../utils/event";
5
- import { isTruthyProp } from "../../utils/format";
3
+ import { useLockScroll } from "../../composables/use-lock-scroll";
4
+ import { useOverlayManager } from "../../composables/use-overlay-manager";
5
+ import { NOOP } from "../../utils/event";
6
6
  import { isServer } from "../../utils/is";
7
7
  import { unrefElement } from "../../utils/ref";
8
8
  import PTeleport from "../teleport/index.vue";
9
- import { isTopOverlay, pushOverlay, removeOverlay } from "./overlay-stack";
10
9
  defineOptions({
11
10
  name: "POverlay",
12
11
  inheritAttrs: false,
@@ -16,57 +15,38 @@ defineOptions({
16
15
  }
17
16
  });
18
17
  const props = defineProps({
19
- blurred: { type: Boolean, required: false },
20
18
  zIndex: { type: Number, required: false },
19
+ variant: { type: String, required: false },
21
20
  modelValue: { type: Boolean, required: false, default: false },
22
- transparent: { type: Boolean, required: false },
21
+ showOverlay: { type: Boolean, required: false, default: true },
23
22
  appendToBody: { type: Boolean, required: false, default: true },
23
+ shownElement: { type: [String, Object], required: false },
24
24
  closeOnPressEscape: { type: Boolean, required: false, default: true },
25
- closeOnClickOverlay: { type: Boolean, required: false },
26
- shownElement: { type: [String, Object], required: false }
25
+ closeOnClickOverlay: { type: Boolean, required: false, default: false },
26
+ lockScrollOnVisible: { type: Boolean, required: false, default: true }
27
27
  });
28
28
  const emits = defineEmits(["click", "escape", "update:modelValue"]);
29
- const { lockScroll, unlockScroll } = useLockScroll();
30
- const overlayId = Symbol("pxd-overlay");
31
29
  const clipPath = shallowRef("");
32
30
  const computedStyle = computed(() => ({
33
- "--overlay-z-index": props.zIndex,
31
+ "--overlay-index": props.zIndex,
34
32
  "clip-path": clipPath.value
35
33
  }));
36
- let shownElementEl = null;
37
- function onOverlayClick(ev) {
38
- emits("click", ev);
39
- if (!isTruthyProp(props.closeOnClickOverlay)) {
40
- return;
41
- }
42
- emits("update:modelValue", false);
43
- }
44
- function onOverlayKeydown(ev) {
45
- if (!props.modelValue || !isTruthyProp(props.closeOnPressEscape)) {
46
- return;
47
- }
48
- if (!isTopOverlay(overlayId)) {
49
- return;
50
- }
51
- if (ev.ctrlKey || ev.metaKey || ev.altKey || ev.shiftKey) {
52
- return;
53
- }
54
- if (ev.key !== "Escape") {
55
- return;
56
- }
57
- emits("escape", ev);
58
- emits("update:modelValue", false);
59
- }
60
- function tryGetShownElementIfNeed() {
61
- const { shownElement } = props;
62
- if (!shownElement) {
63
- return;
64
- }
65
- const el = typeof shownElement === "string" ? document.querySelector(shownElement) : unrefElement(shownElement);
66
- if (!el) {
67
- return;
34
+ let cacheShownElement = null;
35
+ const { lockScroll, unlockScroll } = useLockScroll();
36
+ const { registerOverlay, unregisterOverlay } = useOverlayManager({
37
+ enabled: () => props.modelValue,
38
+ lockScrollOnVisible: () => props.lockScrollOnVisible,
39
+ lockScroll,
40
+ unlockScroll,
41
+ onPressEscape: (ev) => {
42
+ emits("escape", ev);
43
+ if (!props.closeOnPressEscape) {
44
+ return;
45
+ }
46
+ emits("update:modelValue", false);
68
47
  }
69
- shownElementEl = el;
48
+ });
49
+ function getShownElementClipPath(el) {
70
50
  const { top, left, right, bottom } = el.getBoundingClientRect();
71
51
  clipPath.value = `polygon(
72
52
  0% 0%,
@@ -81,31 +61,49 @@ function tryGetShownElementIfNeed() {
81
61
  100% 0%
82
62
  )`;
83
63
  }
64
+ async function getShownElementIfNeed() {
65
+ const { shownElement, modelValue } = props;
66
+ if (!modelValue || !shownElement) {
67
+ toggleShownElementClasses();
68
+ clipPath.value = "";
69
+ return;
70
+ }
71
+ await nextTick();
72
+ const el = typeof shownElement === "string" ? document.querySelector(shownElement) : unrefElement(shownElement);
73
+ if (!el) {
74
+ return;
75
+ }
76
+ cacheShownElement = el;
77
+ getShownElementClipPath(el);
78
+ toggleShownElementClasses(true);
79
+ }
80
+ function toggleShownElementClasses(force = false) {
81
+ cacheShownElement?.classList.toggle("pointer-events-auto!", force);
82
+ }
84
83
  function onOverlayVisibleChange(visible) {
85
84
  if (isServer()) {
86
85
  return;
87
86
  }
88
87
  if (visible) {
89
- pushOverlay(overlayId);
90
- nextTick(() => {
91
- lockScroll();
92
- tryGetShownElementIfNeed();
93
- cachedOn(document, "keydown", onOverlayKeydown);
94
- shownElementEl?.classList.add("pointer-events-auto");
95
- });
88
+ registerOverlay();
89
+ getShownElementIfNeed();
90
+ return;
91
+ }
92
+ unregisterOverlay();
93
+ toggleShownElementClasses();
94
+ }
95
+ function onOverlayClick(ev) {
96
+ emits("click", ev);
97
+ if (!props.closeOnClickOverlay) {
96
98
  return;
97
99
  }
98
- unlockScroll();
99
- removeOverlay(overlayId);
100
- cachedOff(document, "keydown", onOverlayKeydown);
101
- shownElementEl?.classList.remove("pointer-events-auto");
100
+ emits("update:modelValue", false);
102
101
  }
103
102
  watch(() => props.modelValue, onOverlayVisibleChange, { immediate: true });
104
- watch(() => props.shownElement, tryGetShownElementIfNeed);
103
+ watch(() => props.shownElement, getShownElementIfNeed);
105
104
  onBeforeUnmount(() => {
106
- cachedOff(document, "keydown", onOverlayKeydown);
107
- removeOverlay(overlayId);
108
- unlockScroll();
105
+ toggleShownElementClasses();
106
+ cacheShownElement = null;
109
107
  });
110
108
  </script>
111
109
 
@@ -113,21 +111,18 @@ onBeforeUnmount(() => {
113
111
  <PTeleport :disabled="!appendToBody">
114
112
  <Transition name="pxd-transition--fade" mode="out-in" appear>
115
113
  <div
116
- v-if="modelValue"
117
- :data-blurred="blurred"
118
- :data-transparent="transparent"
119
- class="pxd-overlay inset-0 bg-black/40 sm:bg-background-100/80 pointer-events-auto fixed motion-safe:transition-colors"
114
+ v-if="showOverlay && modelValue"
115
+ role="presentation"
116
+ aria-hidden="true"
117
+ :data-variant="variant"
118
+ class="pxd-overlay inset-0 bg-black/60 sm:bg-background-100/80 data-[variant='blurred']:backdrop-blur-sm pointer-events-auto fixed z-(--overlay-index) select-none data-[variant='transparent']:opacity-0 motion-safe:transition-colors"
120
119
  :style="computedStyle"
121
120
  v-bind="$attrs"
122
- @touchmove.prevent.stop="NOOP"
123
121
  @click="onOverlayClick"
122
+ @touchmove.prevent.stop="NOOP"
124
123
  />
125
124
  </Transition>
126
125
 
127
126
  <slot />
128
127
  </PTeleport>
129
128
  </template>
130
-
131
- <style>
132
- .pxd-overlay{z-index:var(--overlay-z-index,10)}.pxd-overlay[data-blurred=true]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pxd-overlay[data-transparent=true]{opacity:0}
133
- </style>
@@ -1,16 +1,17 @@
1
1
  export interface OverlayProps {
2
- blurred?: boolean
3
2
  zIndex?: number
3
+ variant?: 'default' | 'blurred' | 'transparent'
4
4
  modelValue?: boolean
5
- transparent?: boolean
5
+ showOverlay?: boolean
6
6
  appendToBody?: boolean
7
+ shownElement?: string | object
7
8
  closeOnPressEscape?: boolean
8
9
  closeOnClickOverlay?: boolean
9
- shownElement?: string | object
10
+ lockScrollOnVisible?: boolean
10
11
  }
11
12
 
12
13
  export interface OverlayEmits {
13
- click: [MouseEvent]
14
+ click: [PointerEvent]
14
15
  escape: [KeyboardEvent]
15
16
  'update:modelValue': [boolean]
16
17
  }
@@ -25,7 +25,7 @@ const configProvider = useConfigProvider();
25
25
  >
26
26
  <span
27
27
  secondary
28
- class="text-13px text-foreground-secondary group-hover:text-foreground motion-safe:transition-colors"
28
+ class="text-13 text-foreground-secondary group-hover:text-foreground motion-safe:transition-colors"
29
29
  >
30
30
  {{ configProvider.locale.compare.prev }}
31
31
  </span>
@@ -47,7 +47,7 @@ const configProvider = useConfigProvider();
47
47
  >
48
48
  <span
49
49
  secondary
50
- class="text-13px text-foreground-secondary group-hover:text-foreground motion-safe:transition-colors"
50
+ class="text-13 text-foreground-secondary group-hover:text-foreground motion-safe:transition-colors"
51
51
  >
52
52
  {{ configProvider.locale.compare.next }}
53
53
  </span>
@@ -11,10 +11,10 @@ declare const __VLS_export: import("vue").DefineComponent<PinInputProps, {
11
11
  onChange?: ((args_0: string) => any) | undefined;
12
12
  "onUpdate:modelValue"?: ((args_0: string) => any) | undefined;
13
13
  }>, {
14
+ modelValue: string;
14
15
  length: number;
15
16
  type: "numeric" | "alphabetic" | "alphanumeric" | "numeric-password" | "alphabetic-password" | "alphanumeric-password";
16
17
  placeholder: string;
17
- modelValue: string;
18
18
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
19
  declare const _default: typeof __VLS_export;
20
20
  export default _default;
@@ -2,6 +2,7 @@
2
2
  import { tv } from "tailwind-variants";
3
3
  import { computed, shallowRef, watch } from "vue";
4
4
  import { useModelValue } from "../../composables/use-model-value";
5
+ import { BASIC_HEIGHTS } from "../../constants/size";
5
6
  import { useConfigProvider } from "../../contexts/config-provider";
6
7
  import { isTruthyProp } from "../../utils/format";
7
8
  defineOptions({
@@ -24,13 +25,13 @@ const props = defineProps({
24
25
  });
25
26
  const emits = defineEmits(["change", "update:modelValue"]);
26
27
  const pinInputVariant = tv({
27
- base: "pxd-input--border rounded-md motion-safe:transition-all",
28
+ base: "pxd-input--border rounded-md motion-safe:transition-appearance",
28
29
  variants: {
29
30
  size: {
30
- xs: "w-6 text-xs",
31
- sm: "w-7.5 text-sm",
32
- md: "w-9 text-sm",
33
- lg: "w-10 text-base"
31
+ xs: `${BASIC_HEIGHTS.xs} text-xs`,
32
+ sm: `${BASIC_HEIGHTS.sm} text-sm`,
33
+ md: `${BASIC_HEIGHTS.md} text-sm`,
34
+ lg: `${BASIC_HEIGHTS.lg} text-base`
34
35
  },
35
36
  error: {
36
37
  true: "is-error",
@@ -234,7 +235,7 @@ defineExpose({
234
235
  :aria-label="`pin code ${n} of ${length}`"
235
236
  :type="computedInputType"
236
237
  :data-index="i"
237
- class="aspect-square size-full appearance-none rounded-inherit border-none bg-transparent text-center font-inherit outline-none placeholder:text-gray-600 placeholder:select-none focus:placeholder:opacity-0 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-700 disabled:placeholder:text-gray-400 motion-safe:transition-all"
238
+ class="aspect-square size-full appearance-none rounded-inherit border-none bg-transparent text-center font-inherit outline-none placeholder:text-gray-600 placeholder:select-none focus:placeholder:opacity-0 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-700 disabled:placeholder:text-gray-400 motion-safe:transition-appearance"
238
239
  name="pin-input"
239
240
  minlength="1"
240
241
  maxlength="1"
@@ -49,6 +49,6 @@ const computedStyle = computed(() => {
49
49
  );
50
50
  background-clip: padding-box;
51
51
  background-position: 0 0;
52
- background-size: var(--placeholder-gap, 12px) var(--placeholder-gap, 12px);
52
+ background-size: var(--placeholder-gap) var(--placeholder-gap);
53
53
  }
54
54
  </style>
@@ -1,40 +1,39 @@
1
1
  import type { PopoverProps, PopoverTrigger } from './types';
2
2
  declare function handlePopoverShow(): Promise<void>;
3
3
  declare function handlePopoverHide(immediate?: boolean): Promise<void>;
4
- declare var __VLS_1: {}, __VLS_9: {};
4
+ declare var __VLS_1: {}, __VLS_11: {};
5
5
  type __VLS_Slots = {} & {
6
6
  default?: (props: typeof __VLS_1) => any;
7
7
  } & {
8
- content?: (props: typeof __VLS_9) => any;
8
+ content?: (props: typeof __VLS_11) => any;
9
9
  };
10
10
  declare const __VLS_base: import("vue").DefineComponent<PopoverProps, {
11
11
  show: typeof handlePopoverShow;
12
12
  hide: typeof handlePopoverHide;
13
13
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ "update:modelValue": (visible: boolean) => any;
14
15
  escape: (args_0: KeyboardEvent) => any;
15
16
  show: () => any;
16
17
  hide: () => any;
18
+ "outside-click": (args_0: PointerEvent) => any;
17
19
  "visible-change": (visible: boolean) => any;
18
- "outside-click": (args_0: MouseEvent) => any;
19
20
  "trigger-click": (args_0: PointerEvent) => any;
20
21
  }, string, import("vue").PublicProps, Readonly<PopoverProps> & Readonly<{
22
+ "onUpdate:modelValue"?: ((visible: boolean) => any) | undefined;
21
23
  onEscape?: ((args_0: KeyboardEvent) => any) | undefined;
22
24
  onShow?: (() => any) | undefined;
23
25
  onHide?: (() => any) | undefined;
26
+ "onOutside-click"?: ((args_0: PointerEvent) => any) | undefined;
24
27
  "onVisible-change"?: ((visible: boolean) => any) | undefined;
25
- "onOutside-click"?: ((args_0: MouseEvent) => any) | undefined;
26
28
  "onTrigger-click"?: ((args_0: PointerEvent) => any) | undefined;
27
29
  }>, {
28
30
  position: import("../../types/shared").ComponentPosition;
29
- offset: number;
31
+ closeOnPressEscape: boolean;
30
32
  trigger: PopoverTrigger | PopoverTrigger[];
31
33
  showDelay: number;
32
34
  hideDelay: number;
33
- arrowColor: string;
34
35
  interactive: boolean;
35
36
  autoPosition: boolean;
36
- unsetPosition: boolean;
37
- transitionType: "fade" | "fade-scale" | "fade-slide";
38
37
  toggleOnTrigger: boolean;
39
38
  closeOnInvisible: boolean;
40
39
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;