pxd 0.1.2 → 0.1.3

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 (322) hide show
  1. package/dist/components/_internal/calendar-day.vue +19 -19
  2. package/dist/components/_internal/dismiss-container.d.vue.ts +1 -1
  3. package/dist/components/_internal/dismiss-container.vue +19 -19
  4. package/dist/components/_internal/loading-mask.vue +9 -1
  5. package/dist/components/_internal/mention-editor.d.vue.ts +1 -1
  6. package/dist/components/_internal/mention-editor.vue +1 -1
  7. package/dist/components/_internal/popover-arrow.d.vue.ts +1 -1
  8. package/dist/components/_internal/popover-arrow.vue +1 -1
  9. package/dist/components/{steps → _internal}/step-item.d.vue.ts +1 -1
  10. package/dist/components/{steps → _internal}/step-item.vue +1 -1
  11. package/dist/components/_internal/tree-node.d.vue.ts +20 -20
  12. package/dist/components/_internal/tree-node.vue +53 -45
  13. package/dist/components/active-graph/index.d.vue.ts +2 -2
  14. package/dist/components/approval-card/index.d.vue.ts +1 -1
  15. package/dist/components/approval-card/index.vue +34 -17
  16. package/dist/components/approval-card/types.d.ts +1 -1
  17. package/dist/components/avatar/index.d.vue.ts +2 -2
  18. package/dist/components/avatar/index.vue +1 -1
  19. package/dist/components/backtop/index.d.vue.ts +3 -3
  20. package/dist/components/backtop/index.vue +17 -17
  21. package/dist/components/backtop/types.d.ts +1 -1
  22. package/dist/components/badge/index.d.vue.ts +3 -3
  23. package/dist/components/badge/index.vue +43 -43
  24. package/dist/components/badge/types.d.ts +1 -1
  25. package/dist/components/book/types.d.ts +1 -1
  26. package/dist/components/border-beam/index.vue +1 -1
  27. package/dist/components/border-beam/types.d.ts +1 -1
  28. package/dist/components/bubble/index.vue +1 -1
  29. package/dist/components/bubble-group/index.d.vue.ts +4 -4
  30. package/dist/components/button/index.d.vue.ts +5 -5
  31. package/dist/components/button/index.vue +13 -13
  32. package/dist/components/button/types.d.ts +1 -1
  33. package/dist/components/button-group/types.d.ts +1 -1
  34. package/dist/components/calendar/index.d.vue.ts +2 -2
  35. package/dist/components/calendar/index.vue +5 -5
  36. package/dist/components/calendar/types.d.ts +1 -1
  37. package/dist/components/card/types.d.ts +1 -1
  38. package/dist/components/carousel/index.d.vue.ts +7 -7
  39. package/dist/components/carousel/index.vue +1 -1
  40. package/dist/components/carousel/types.d.ts +1 -1
  41. package/dist/components/checkbox/index.vue +1 -1
  42. package/dist/components/checkbox/types.d.ts +1 -1
  43. package/dist/components/checkbox-group/index.d.vue.ts +2 -2
  44. package/dist/components/checkbox-group/types.d.ts +1 -1
  45. package/dist/components/chip/index.d.vue.ts +1 -1
  46. package/dist/components/chip/types.d.ts +1 -1
  47. package/dist/components/choicebox/index.d.vue.ts +3 -3
  48. package/dist/components/choicebox/types.d.ts +1 -1
  49. package/dist/components/choicebox-item/index.vue +8 -8
  50. package/dist/components/choicebox-item/types.d.ts +1 -1
  51. package/dist/components/collapse/index.vue +2 -2
  52. package/dist/components/collapse-group/index.vue +1 -1
  53. package/dist/components/collapse-group/types.d.ts +1 -1
  54. package/dist/components/command-menu/index.d.vue.ts +5 -5
  55. package/dist/components/command-menu/index.vue +10 -3
  56. package/dist/components/config-provider/index.d.vue.ts +40 -5
  57. package/dist/components/config-provider/types.d.ts +2 -1
  58. package/dist/components/confirm-popover/index.d.vue.ts +39 -0
  59. package/dist/components/confirm-popover/index.vue +177 -0
  60. package/dist/components/confirm-popover/types.d.ts +23 -0
  61. package/dist/components/copy-button/index.d.vue.ts +2 -6
  62. package/dist/components/copy-button/index.vue +4 -6
  63. package/dist/components/dash-line/index.d.vue.ts +1 -1
  64. package/dist/components/dash-line/index.vue +8 -8
  65. package/dist/components/dash-line/types.d.ts +1 -1
  66. package/dist/components/date-picker/index.d.vue.ts +1 -1
  67. package/dist/components/date-picker/index.vue +3 -3
  68. package/dist/components/date-picker/types.d.ts +1 -1
  69. package/dist/components/drawer/index.d.vue.ts +7 -7
  70. package/dist/components/drawer/index.vue +30 -15
  71. package/dist/components/drawer/types.d.ts +2 -2
  72. package/dist/components/effort-slider/index.vue +12 -18
  73. package/dist/components/effort-slider/types.d.ts +1 -1
  74. package/dist/components/ellipsis-text/index.d.vue.ts +2 -2
  75. package/dist/components/ellipsis-text/index.vue +75 -75
  76. package/dist/components/error/types.d.ts +1 -1
  77. package/dist/components/fader/index.vue +2 -2
  78. package/dist/components/fader/types.d.ts +1 -1
  79. package/dist/components/gauge/index.vue +2 -2
  80. package/dist/components/gauge/types.d.ts +1 -1
  81. package/dist/components/grid/types.d.ts +1 -1
  82. package/dist/components/grid-item/types.d.ts +1 -1
  83. package/dist/components/hint/index.d.vue.ts +32 -0
  84. package/dist/components/hint/index.vue +239 -0
  85. package/dist/components/hint/types.d.ts +17 -0
  86. package/dist/components/hold-button/index.d.vue.ts +4 -4
  87. package/dist/components/hold-button/index.vue +10 -10
  88. package/dist/components/index.d.ts +4 -0
  89. package/dist/components/index.js +4 -0
  90. package/dist/components/input/index.d.vue.ts +1 -1
  91. package/dist/components/input/index.vue +14 -7
  92. package/dist/components/input/types.d.ts +1 -1
  93. package/dist/components/intersection-observer/index.vue +3 -3
  94. package/dist/components/kbd/index.vue +2 -2
  95. package/dist/components/kbd/types.d.ts +1 -1
  96. package/dist/components/link-button/index.d.vue.ts +5 -5
  97. package/dist/components/list/index.d.vue.ts +4 -4
  98. package/dist/components/list/index.vue +126 -47
  99. package/dist/components/list/types.d.ts +1 -1
  100. package/dist/components/list-group/types.d.ts +1 -1
  101. package/dist/components/list-item/index.d.vue.ts +2 -2
  102. package/dist/components/list-item/index.vue +26 -8
  103. package/dist/components/loading-bar/index.vue +5 -5
  104. package/dist/components/marching-ants/index.d.vue.ts +2 -2
  105. package/dist/components/marching-ants/index.vue +56 -56
  106. package/dist/components/marching-ants/types.d.ts +1 -1
  107. package/dist/components/marquee/index.d.vue.ts +6 -6
  108. package/dist/components/marquee/index.vue +16 -16
  109. package/dist/components/marquee/types.d.ts +1 -1
  110. package/dist/components/material/index.d.vue.ts +3 -3
  111. package/dist/components/mention/index.d.vue.ts +5 -5
  112. package/dist/components/mention/index.vue +68 -68
  113. package/dist/components/menu/index.d.vue.ts +4 -4
  114. package/dist/components/menu/index.vue +10 -10
  115. package/dist/components/menu/types.d.ts +1 -1
  116. package/dist/components/message/index.d.vue.ts +1 -1
  117. package/dist/components/message/index.vue +19 -25
  118. package/dist/components/message/types.d.ts +1 -1
  119. package/dist/components/message-item/index.vue +2 -6
  120. package/dist/components/modal/index.d.vue.ts +7 -7
  121. package/dist/components/modal/index.vue +26 -11
  122. package/dist/components/modal/types.d.ts +2 -2
  123. package/dist/components/noise-background/types.d.ts +1 -1
  124. package/dist/components/note/index.vue +6 -2
  125. package/dist/components/note/types.d.ts +2 -1
  126. package/dist/components/number-input/index.d.vue.ts +11 -6
  127. package/dist/components/number-input/index.vue +57 -16
  128. package/dist/components/number-input/types.d.ts +2 -1
  129. package/dist/components/overlay/index.d.vue.ts +2 -3
  130. package/dist/components/overlay/index.vue +10 -62
  131. package/dist/components/overlay/types.d.ts +0 -2
  132. package/dist/components/page-number/index.vue +30 -29
  133. package/dist/components/page-number/types.d.ts +1 -1
  134. package/dist/components/pin-input/index.d.vue.ts +1 -1
  135. package/dist/components/pin-input/index.vue +6 -6
  136. package/dist/components/pin-input/types.d.ts +1 -1
  137. package/dist/components/popover/index.vue +49 -21
  138. package/dist/components/popover/types.d.ts +3 -1
  139. package/dist/components/progress/index.d.vue.ts +2 -2
  140. package/dist/components/progress/index.vue +12 -12
  141. package/dist/components/progress/types.d.ts +1 -1
  142. package/dist/components/project-banner/types.d.ts +1 -1
  143. package/dist/components/questionnaire/index.vue +14 -14
  144. package/dist/components/radio/index.vue +1 -1
  145. package/dist/components/radio/types.d.ts +1 -1
  146. package/dist/components/radio-group/index.d.vue.ts +2 -2
  147. package/dist/components/radio-group/types.d.ts +1 -1
  148. package/dist/components/rating/index.vue +28 -28
  149. package/dist/components/rating/types.d.ts +1 -1
  150. package/dist/components/resizable/index.d.vue.ts +1 -0
  151. package/dist/components/resizable/index.vue +130 -195
  152. package/dist/components/resizable/types.d.ts +2 -10
  153. package/dist/components/reveal/index.d.vue.ts +3 -3
  154. package/dist/components/reveal/index.vue +4 -4
  155. package/dist/components/reveal/types.d.ts +1 -1
  156. package/dist/components/rolling-number/index.d.vue.ts +2 -2
  157. package/dist/components/rolling-number/index.vue +15 -15
  158. package/dist/components/scalable-text/index.vue +9 -9
  159. package/dist/components/scroll-text/index.d.vue.ts +3 -3
  160. package/dist/components/scroll-text/index.vue +6 -6
  161. package/dist/components/scroll-text/types.d.ts +1 -1
  162. package/dist/components/scrollable/types.d.ts +2 -1
  163. package/dist/components/search-input/index.d.vue.ts +5 -5
  164. package/dist/components/search-input/index.vue +2 -1
  165. package/dist/components/select/index.d.vue.ts +12 -9
  166. package/dist/components/select/index.vue +165 -42
  167. package/dist/components/select/types.d.ts +3 -1
  168. package/dist/components/separator/index.d.vue.ts +1 -1
  169. package/dist/components/separator/types.d.ts +1 -1
  170. package/dist/components/skeleton/index.d.vue.ts +1 -1
  171. package/dist/components/skeleton/index.vue +11 -11
  172. package/dist/components/skeleton/types.d.ts +1 -1
  173. package/dist/components/slider/index.d.vue.ts +1 -1
  174. package/dist/components/slider/index.vue +1 -1
  175. package/dist/components/slider/types.d.ts +1 -1
  176. package/dist/components/snippet/index.d.vue.ts +3 -3
  177. package/dist/components/snippet/index.vue +7 -5
  178. package/dist/components/snippet/types.d.ts +1 -1
  179. package/dist/components/spinner/index.vue +5 -1
  180. package/dist/components/spinner-dots/index.d.vue.ts +1 -1
  181. package/dist/components/split-button/index.d.vue.ts +5 -5
  182. package/dist/components/split-button/types.d.ts +1 -1
  183. package/dist/components/stack/index.d.vue.ts +3 -3
  184. package/dist/components/stack/index.vue +28 -29
  185. package/dist/components/stack/types.d.ts +1 -1
  186. package/dist/components/status-dot/types.d.ts +1 -1
  187. package/dist/components/steps/index.d.vue.ts +2 -2
  188. package/dist/components/steps/index.vue +6 -6
  189. package/dist/components/steps/types.d.ts +1 -1
  190. package/dist/components/stick-to-bottom/types.d.ts +1 -1
  191. package/dist/components/swipe-cell/index.d.vue.ts +6 -6
  192. package/dist/components/swipe-cell/index.vue +64 -64
  193. package/dist/components/swipe-cell/types.d.ts +2 -1
  194. package/dist/components/switch/index.vue +1 -1
  195. package/dist/components/switch/types.d.ts +1 -1
  196. package/dist/components/switch-item/index.vue +1 -1
  197. package/dist/components/switch-item/types.d.ts +1 -1
  198. package/dist/components/tabs/index.d.vue.ts +1 -1
  199. package/dist/components/tabs/index.vue +48 -51
  200. package/dist/components/tabs/types.d.ts +1 -1
  201. package/dist/components/teleport/index.vue +2 -2
  202. package/dist/components/text/index.d.vue.ts +3 -3
  203. package/dist/components/text/index.vue +11 -11
  204. package/dist/components/text/types.d.ts +1 -1
  205. package/dist/components/textarea/index.vue +1 -1
  206. package/dist/components/textarea/types.d.ts +1 -1
  207. package/dist/components/theme-switcher/index.d.vue.ts +3 -2
  208. package/dist/components/theme-switcher/index.vue +15 -7
  209. package/dist/components/theme-switcher/types.d.ts +2 -2
  210. package/dist/components/time-ago/index.d.vue.ts +6 -0
  211. package/dist/components/time-ago/index.vue +143 -0
  212. package/dist/components/time-ago/types.d.ts +4 -0
  213. package/dist/components/time-picker/index.d.vue.ts +1 -1
  214. package/dist/components/time-picker/index.vue +7 -7
  215. package/dist/components/time-picker/types.d.ts +1 -1
  216. package/dist/components/toc/index.d.vue.ts +2 -2
  217. package/dist/components/toc/index.vue +1 -1
  218. package/dist/components/todo-list/index.d.vue.ts +4 -4
  219. package/dist/components/todo-list/index.vue +15 -15
  220. package/dist/components/todo-list/types.d.ts +1 -1
  221. package/dist/components/toggle/index.vue +3 -3
  222. package/dist/components/toggle/types.d.ts +1 -1
  223. package/dist/components/toggle-button/index.vue +14 -11
  224. package/dist/components/toggle-button/types.d.ts +2 -2
  225. package/dist/components/toggle-button-group/index.d.vue.ts +3 -3
  226. package/dist/components/toggle-button-group/index.vue +2 -2
  227. package/dist/components/toggle-button-group/types.d.ts +2 -2
  228. package/dist/components/tool-call/index.vue +5 -5
  229. package/dist/components/tooltip/index.d.vue.ts +4 -5
  230. package/dist/components/tooltip/index.vue +4 -49
  231. package/dist/components/tooltip/types.d.ts +3 -7
  232. package/dist/components/tour/index.d.vue.ts +33 -0
  233. package/dist/components/tour/index.vue +302 -0
  234. package/dist/components/tour/types.d.ts +29 -0
  235. package/dist/components/tree/index.d.vue.ts +24 -28
  236. package/dist/components/tree/index.vue +290 -223
  237. package/dist/components/tree/types.d.ts +38 -13
  238. package/dist/components/virtual-list/index.d.vue.ts +4 -4
  239. package/dist/composables/_internal/use-list-keyboard-controller.js +9 -10
  240. package/dist/composables/_internal/use-list-rows.d.ts +4 -0
  241. package/dist/composables/_internal/use-list-rows.js +12 -4
  242. package/dist/composables/_internal/use-list-selection.d.ts +1 -1
  243. package/dist/composables/_internal/use-lock-scroll.d.ts +8 -1
  244. package/dist/composables/_internal/use-lock-scroll.js +57 -36
  245. package/dist/composables/_internal/use-mention-editor.js +1 -1
  246. package/dist/composables/_internal/use-message-group.d.ts +22 -0
  247. package/dist/composables/_internal/use-message-group.js +143 -0
  248. package/dist/composables/_internal/use-overlay-dialog.js +1 -3
  249. package/dist/composables/_internal/use-overlay-manager.d.ts +4 -1
  250. package/dist/composables/_internal/use-overlay-manager.js +67 -8
  251. package/dist/composables/_internal/use-swipe-gesture.d.ts +1 -1
  252. package/dist/composables/_internal/use-tour-target.d.ts +29 -0
  253. package/dist/composables/_internal/use-tour-target.js +201 -0
  254. package/dist/composables/_internal/use-tree.d.ts +103 -0
  255. package/dist/composables/_internal/use-tree.js +676 -0
  256. package/dist/composables/_internal/use-word-limit.d.ts +1 -1
  257. package/dist/composables/index.d.ts +1 -0
  258. package/dist/composables/index.js +1 -0
  259. package/dist/composables/use-color-scheme.d.ts +1 -1
  260. package/dist/composables/use-color-scheme.js +7 -6
  261. package/dist/composables/use-delay-destroy.d.ts +1 -1
  262. package/dist/composables/use-document-hidden.d.ts +1 -1
  263. package/dist/composables/use-intersection-observer.d.ts +1 -1
  264. package/dist/composables/use-intersection-observer.js +1 -1
  265. package/dist/composables/{_internal/use-motion-reduce.js → use-motion-reduce.js} +2 -2
  266. package/dist/composables/use-mutation-observer.d.ts +1 -1
  267. package/dist/composables/use-mutation-observer.js +1 -1
  268. package/dist/composables/use-resize-observer.d.ts +1 -1
  269. package/dist/composables/use-resize-observer.js +1 -1
  270. package/dist/composables/use-view-transition.js +1 -0
  271. package/dist/composables/use-virtual-list.d.ts +1 -1
  272. package/dist/constants/tooltip-variants.d.ts +28 -0
  273. package/dist/constants/tooltip-variants.js +27 -0
  274. package/dist/contexts/avatar.js +1 -1
  275. package/dist/contexts/breadcrumb.js +1 -1
  276. package/dist/contexts/button.js +1 -1
  277. package/dist/contexts/checkbox.js +1 -1
  278. package/dist/contexts/choicebox.js +1 -1
  279. package/dist/contexts/collapse.js +1 -1
  280. package/dist/contexts/config-provider.js +1 -1
  281. package/dist/contexts/list.js +1 -1
  282. package/dist/contexts/radio.js +1 -1
  283. package/dist/contexts/switch.js +1 -1
  284. package/dist/contexts/toggle-button.js +1 -1
  285. package/dist/index.d.ts +2 -1
  286. package/dist/locales/en-us.d.ts +35 -0
  287. package/dist/locales/en-us.js +20 -0
  288. package/dist/locales/zh-cn.d.ts +35 -0
  289. package/dist/locales/zh-cn.js +20 -0
  290. package/dist/styles/styles.css +1 -1
  291. package/dist/styles/tw.css +43 -30
  292. package/dist/utils/{context.js → _internal/context.js} +1 -1
  293. package/dist/utils/{observer.d.ts → _internal/observer.d.ts} +1 -1
  294. package/dist/utils/{observer.js → _internal/observer.js} +4 -4
  295. package/dist/{components/swipe-cell/instances.d.ts → utils/_internal/swipe-cell-instances.d.ts} +1 -1
  296. package/dist/utils/event.d.ts +2 -1
  297. package/dist/utils/event.js +3 -0
  298. package/package.json +26 -50
  299. package/volar.d.ts +4 -0
  300. package/dist/components/message/composables/use-group-expand.d.ts +0 -13
  301. package/dist/components/message/composables/use-group-expand.js +0 -50
  302. package/dist/components/message/composables/use-message-timer.d.ts +0 -9
  303. package/dist/components/message/composables/use-message-timer.js +0 -62
  304. package/dist/components/message/composables/use-promise-message.d.ts +0 -4
  305. package/dist/components/message/composables/use-promise-message.js +0 -49
  306. package/dist/components/resizable/utils.d.ts +0 -4
  307. package/dist/components/resizable/utils.js +0 -10
  308. package/dist/composables/_internal/use-tree-drag.d.ts +0 -23
  309. package/dist/composables/_internal/use-tree-drag.js +0 -196
  310. package/dist/composables/_internal/use-tree-move.d.ts +0 -20
  311. package/dist/composables/_internal/use-tree-move.js +0 -96
  312. package/dist/composables/_internal/use-tree-rows.d.ts +0 -46
  313. package/dist/composables/_internal/use-tree-rows.js +0 -101
  314. package/dist/composables/_internal/use-tree-selection.d.ts +0 -22
  315. package/dist/composables/_internal/use-tree-selection.js +0 -87
  316. package/dist/styles/source.css +0 -675
  317. package/dist/types/shared/index.d.ts +0 -2
  318. /package/dist/composables/{_internal/use-motion-reduce.d.ts → use-motion-reduce.d.ts} +0 -0
  319. /package/dist/utils/{context.d.ts → _internal/context.d.ts} +0 -0
  320. /package/dist/utils/{mention-html.d.ts → _internal/mention-html.d.ts} +0 -0
  321. /package/dist/utils/{mention-html.js → _internal/mention-html.js} +0 -0
  322. /package/dist/{components/swipe-cell/instances.js → utils/_internal/swipe-cell-instances.js} +0 -0
@@ -1,4 +1,4 @@
1
- import type { ComponentLabel, ComponentValue } from '../../types/shared'
1
+ import type { ComponentLabel, ComponentValue } from '../../types/shared/props'
2
2
 
3
3
  export interface ChoiceboxItemProps {
4
4
  label?: ComponentLabel
@@ -8,7 +8,6 @@ defineOptions({
8
8
  name: "PCollapse",
9
9
  inheritAttrs: false
10
10
  });
11
- const uid = getUniqueId();
12
11
  const props = defineProps({
13
12
  title: {
14
13
  type: String,
@@ -20,9 +19,10 @@ const props = defineProps({
20
19
  }
21
20
  });
22
21
  const emits = defineEmits(["toggle"]);
23
- const collapseGroup = useCollapseGroupContext();
22
+ const uid = getUniqueId();
24
23
  const internalExpand = shallowRef(props.expand);
25
24
  const contentRef = shallowRef();
25
+ const collapseGroup = useCollapseGroupContext();
26
26
  const isExpanded = computed(() => collapseGroup ? collapseGroup.expandedIds.value.has(uid) : internalExpand.value);
27
27
  const { detailsOpen, isLeaving, skipEnterMotion } = useCollapseMotion(contentRef, isExpanded);
28
28
  function setExpanded(expanded, exclusive = false) {
@@ -34,8 +34,8 @@ const SIZES = {
34
34
  fontWeight: "600"
35
35
  }
36
36
  };
37
- const configProvider = useConfigProvider();
38
37
  const expandedIds = ref(new Set());
38
+ const configProvider = useConfigProvider();
39
39
  const computedStyle = computed(() => {
40
40
  const { padding, fontSize, fontWeight } = getFallbackValue(props.size, SIZES, configProvider.size);
41
41
  return {
@@ -1,4 +1,4 @@
1
- import type { ComponentSize } from '../../types/shared'
1
+ import type { ComponentSize } from '../../types/shared/props'
2
2
 
3
3
  export interface CollapseGroupProps {
4
4
  multiple?: boolean
@@ -1,14 +1,14 @@
1
1
  import type { CommandMenuProps } from './types';
2
- declare var __VLS_23: {
2
+ declare var __VLS_21: {
3
3
  item: import("../list/types.js").ListOption;
4
4
  index: number;
5
5
  group: import("../list/types.js").ListOptionGroup | undefined;
6
6
  groupIndex: number | undefined;
7
- }, __VLS_26: {};
7
+ }, __VLS_24: {};
8
8
  type __VLS_Slots = {} & {
9
- item?: (props: typeof __VLS_23) => any;
9
+ item?: (props: typeof __VLS_21) => any;
10
10
  } & {
11
- footer?: (props: typeof __VLS_26) => any;
11
+ footer?: (props: typeof __VLS_24) => any;
12
12
  };
13
13
  declare const __VLS_base: import("vue").DefineComponent<CommandMenuProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
14
  change: (args_0: boolean) => any;
@@ -21,10 +21,10 @@ declare const __VLS_base: import("vue").DefineComponent<CommandMenuProps, {}, {}
21
21
  onShow?: (() => any) | undefined;
22
22
  onHide?: (() => any) | undefined;
23
23
  }>, {
24
- placeholder: string;
25
24
  width: string | number;
26
25
  modelValue: boolean;
27
26
  closeOnPressEscape: boolean;
27
+ placeholder: string;
28
28
  closeOnClickOverlay: boolean;
29
29
  closeOnSelectItem: boolean;
30
30
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -63,10 +63,11 @@ const emits = defineEmits([
63
63
  "hide"
64
64
  ]);
65
65
  const uniqueId = getUniqueId();
66
- const configProvider = useConfigProvider();
67
- const modelValue = useModelValue(props, emits);
68
66
  const filterKeyword = shallowRef("");
69
67
  const listRef = shallowRef();
68
+ const configProvider = useConfigProvider();
69
+ const modelValue = useModelValue(props, emits);
70
+ const isSmallScreen = useMediaQuery(PRESET_MEDIA_QUERIES.IS_XS);
70
71
  const { filteredOptions } = useListFilter(() => props.options ?? [], filterKeyword);
71
72
  const { onKeydown: onListKeydown } = useListKeyboardController({
72
73
  enabled: () => modelValue.value,
@@ -79,7 +80,12 @@ const { onKeydown: onListKeydown } = useListKeyboardController({
79
80
  End: "last"
80
81
  }
81
82
  });
82
- const isSmallScreen = useMediaQuery(PRESET_MEDIA_QUERIES.IS_XS);
83
+ function onModalKeydown(ev) {
84
+ // On small screens the modal wrapper owns the focus, not the input.
85
+ if (ev.target === ev.currentTarget) {
86
+ onListKeydown(ev);
87
+ }
88
+ }
83
89
  function hideModal() {
84
90
  filterKeyword.value = "";
85
91
  emits("hide");
@@ -117,6 +123,7 @@ watch(filteredOptions, async () => {
117
123
  :close-on-press-escape="closeOnPressEscape"
118
124
  :close-on-click-overlay="closeOnClickOverlay"
119
125
  v-bind="$attrs"
126
+ @keydown="onModalKeydown"
120
127
  @show="showModal"
121
128
  @hide="hideModal"
122
129
  >
@@ -1,4 +1,4 @@
1
- import type { ComponentAs } from '../../types/shared';
1
+ import type { ComponentAs } from '../../types/shared/props';
2
2
  import type { ConfigProviderProps } from './types';
3
3
  interface Props {
4
4
  as?: ComponentAs;
@@ -7,18 +7,46 @@ interface Props {
7
7
  enterMotion?: ConfigProviderProps['enterMotion'];
8
8
  leaveMotion?: ConfigProviderProps['leaveMotion'];
9
9
  }
10
- declare var __VLS_10: {};
10
+ declare var __VLS_9: {};
11
11
  type __VLS_Slots = {} & {
12
- default?: (props: typeof __VLS_10) => any;
12
+ default?: (props: typeof __VLS_9) => any;
13
13
  };
14
14
  declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
15
- locale: import("../../types/shared").DeepPartial<{
15
+ locale: import("../../types/shared/utils.js").DeepPartial<{
16
16
  date: {
17
17
  now: string;
18
18
  today: string;
19
19
  day: string[];
20
20
  month: string[];
21
21
  };
22
+ timeAgo: {
23
+ now: string;
24
+ invalid: string;
25
+ past: string;
26
+ future: string;
27
+ unit: {
28
+ minute: {
29
+ one: string;
30
+ other: string;
31
+ };
32
+ hour: {
33
+ one: string;
34
+ other: string;
35
+ };
36
+ day: {
37
+ one: string;
38
+ other: string;
39
+ };
40
+ month: {
41
+ one: string;
42
+ other: string;
43
+ };
44
+ year: {
45
+ one: string;
46
+ other: string;
47
+ };
48
+ };
49
+ };
22
50
  compare: {
23
51
  less: string;
24
52
  more: string;
@@ -27,6 +55,7 @@ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, i
27
55
  };
28
56
  interaction: {
29
57
  cancel: string;
58
+ close: string;
30
59
  confirm: string;
31
60
  skip: string;
32
61
  submit: string;
@@ -38,6 +67,12 @@ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, i
38
67
  prev: string;
39
68
  next: string;
40
69
  };
70
+ tour: {
71
+ next: string;
72
+ prev: string;
73
+ done: string;
74
+ skip: string;
75
+ };
41
76
  results: {
42
77
  searchText: string;
43
78
  noData: string;
@@ -82,7 +117,7 @@ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, i
82
117
  close: string;
83
118
  };
84
119
  }>;
85
- size: import("../../types/shared").ComponentSize;
120
+ size: import("../../types/shared/props").ComponentSize;
86
121
  enterMotion: boolean;
87
122
  leaveMotion: boolean;
88
123
  as: ComponentAs;
@@ -1,5 +1,6 @@
1
1
  import type { Locale } from '../../locales'
2
- import type { ComponentSize, DeepPartial } from '../../types/shared'
2
+ import type { ComponentSize } from '../../types/shared/props'
3
+ import type { DeepPartial } from '../../types/shared/utils'
3
4
 
4
5
  export interface ConfigProviderProps {
5
6
  size?: ComponentSize
@@ -0,0 +1,39 @@
1
+ import type { ConfirmPopoverProps } from './types';
2
+ declare function onConfirm(): Promise<void>;
3
+ declare function onCancel(): void;
4
+ declare var __VLS_9: {}, __VLS_12: {
5
+ confirm: typeof onConfirm;
6
+ cancel: typeof onCancel;
7
+ pending: boolean;
8
+ }, __VLS_14: {
9
+ confirm: typeof onConfirm;
10
+ cancel: typeof onCancel;
11
+ pending: boolean;
12
+ };
13
+ type __VLS_Slots = {} & {
14
+ default?: (props: typeof __VLS_9) => any;
15
+ } & {
16
+ content?: (props: typeof __VLS_12) => any;
17
+ } & {
18
+ actions?: (props: typeof __VLS_14) => any;
19
+ };
20
+ declare const __VLS_base: import("vue").DefineComponent<ConfirmPopoverProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
21
+ "update:modelValue": (visible: boolean) => any;
22
+ cancel: () => any;
23
+ confirm: () => any;
24
+ }, string, import("vue").PublicProps, Readonly<ConfirmPopoverProps> & Readonly<{
25
+ "onUpdate:modelValue"?: ((visible: boolean) => any) | undefined;
26
+ onCancel?: (() => any) | undefined;
27
+ onConfirm?: (() => any) | undefined;
28
+ }>, {
29
+ position: import("../../types/shared/props.js").ComponentPosition;
30
+ confirmVariant: import("../button/types.js").ButtonVariant;
31
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
33
+ declare const _default: typeof __VLS_export;
34
+ export default _default;
35
+ type __VLS_WithSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
@@ -0,0 +1,177 @@
1
+ <script setup>
2
+ import { computed, shallowRef, watch } from "vue";
3
+ import { usePopoverResponsive } from "../../composables/_internal/use-popover-responsive.js";
4
+ import { useConfigProvider } from "../../contexts/config-provider.js";
5
+ import { getUniqueId } from "../../utils/helper.js";
6
+ import PButton from "../button/index.vue";
7
+ import PPopover from "../popover/index.vue";
8
+ defineOptions({
9
+ name: "PConfirmPopover",
10
+ inheritAttrs: false,
11
+ model: {
12
+ prop: "modelValue",
13
+ event: "update:modelValue"
14
+ }
15
+ });
16
+ const props = defineProps({
17
+ modelValue: {
18
+ type: Boolean,
19
+ required: false
20
+ },
21
+ title: {
22
+ type: String,
23
+ required: false
24
+ },
25
+ description: {
26
+ type: String,
27
+ required: false
28
+ },
29
+ confirmText: {
30
+ type: String,
31
+ required: false
32
+ },
33
+ cancelText: {
34
+ type: String,
35
+ required: false
36
+ },
37
+ confirmVariant: {
38
+ type: String,
39
+ required: false,
40
+ default: "primary"
41
+ },
42
+ position: {
43
+ type: null,
44
+ required: false,
45
+ default: "top"
46
+ },
47
+ disabled: {
48
+ type: Boolean,
49
+ required: false
50
+ },
51
+ beforeConfirm: {
52
+ type: Function,
53
+ required: false
54
+ }
55
+ });
56
+ const emits = defineEmits([
57
+ "confirm",
58
+ "cancel",
59
+ "update:modelValue"
60
+ ]);
61
+ const titleId = getUniqueId("confirm-popover-title");
62
+ // Bumped on every open and close, so a confirm that settles after the popover
63
+ // was dismissed cannot confirm an action the user already abandoned.
64
+ let sessionId = 0;
65
+ const isPending = shallowRef(false);
66
+ const localVisible = shallowRef(props.modelValue ?? false);
67
+ const configProvider = useConfigProvider();
68
+ const computedConfirmText = computed(() => {
69
+ return props.confirmText ?? configProvider.locale.interaction.confirm;
70
+ });
71
+ const computedCancelText = computed(() => {
72
+ return props.cancelText ?? configProvider.locale.interaction.cancel;
73
+ });
74
+ const { isAdaptive, responsiveClasses } = usePopoverResponsive();
75
+ function applyVisible(value) {
76
+ if (localVisible.value === value) {
77
+ return;
78
+ }
79
+ sessionId++;
80
+ localVisible.value = value;
81
+ }
82
+ // The popover owns the trigger, so its own state is authoritative: mirror it
83
+ // locally and forward it, otherwise a controlled parent that never writes back
84
+ // would leave the popover impossible to close.
85
+ function onVisibleChange(value) {
86
+ applyVisible(value);
87
+ emits("update:modelValue", value);
88
+ }
89
+ function close() {
90
+ applyVisible(false);
91
+ emits("update:modelValue", false);
92
+ }
93
+ async function onConfirm() {
94
+ if (isPending.value) {
95
+ return;
96
+ }
97
+ const session = sessionId;
98
+ isPending.value = true;
99
+ try {
100
+ const isAllowed = await props.beforeConfirm?.();
101
+ if (isAllowed === false || session !== sessionId) {
102
+ return;
103
+ }
104
+ close();
105
+ emits("confirm");
106
+ } catch {
107
+ return;
108
+ } finally {
109
+ isPending.value = false;
110
+ }
111
+ }
112
+ function onCancel() {
113
+ if (isPending.value) {
114
+ return;
115
+ }
116
+ close();
117
+ emits("cancel");
118
+ }
119
+ watch(() => props.modelValue, (value) => {
120
+ if (value !== undefined) {
121
+ applyVisible(value);
122
+ }
123
+ });
124
+ watch(() => localVisible.value, (value) => {
125
+ if (!value) {
126
+ isPending.value = false;
127
+ }
128
+ });
129
+ </script>
130
+
131
+ <template>
132
+ <PPopover
133
+ data-confirm-popover
134
+ class="pxd-confirm-popover"
135
+ trigger="click"
136
+ :model-value="localVisible"
137
+ :position="position"
138
+ :disabled="disabled"
139
+ :adaptive="isAdaptive"
140
+ :fill-trigger-width="false"
141
+ :auto-focus-element="true"
142
+ :wrapper-class="responsiveClasses.wrapper"
143
+ :content-class="responsiveClasses.content"
144
+ :close-on-press-escape="!isPending"
145
+ :lock-scroll-on-visible="isAdaptive"
146
+ v-bind="$attrs"
147
+ @update:model-value="onVisibleChange"
148
+ >
149
+ <slot />
150
+
151
+ <template #content>
152
+ <div class="p-3">
153
+ <slot name="content" :confirm="onConfirm" :cancel="onCancel" :pending="isPending">
154
+ <h3 v-if="title" :id="titleId" class="m-0 text-sm font-medium">
155
+ {{ title }}
156
+ </h3>
157
+
158
+ <p v-if="description" class="m-0 text-13 text-foreground-secondary">
159
+ {{ description }}
160
+ </p>
161
+ </slot>
162
+ </div>
163
+
164
+ <div class="gap-1.5 px-2 pbe-2 flex items-center justify-end">
165
+ <slot name="actions" :confirm="onConfirm" :cancel="onCancel" :pending="isPending">
166
+ <PButton size="sm" variant="ghost" :disabled="isPending" @click="onCancel">
167
+ {{ computedCancelText }}
168
+ </PButton>
169
+
170
+ <PButton size="sm" :variant="confirmVariant" :loading="isPending" @click="onConfirm">
171
+ {{ computedConfirmText }}
172
+ </PButton>
173
+ </slot>
174
+ </div>
175
+ </template>
176
+ </PPopover>
177
+ </template>
@@ -0,0 +1,23 @@
1
+ import type { ComponentPosition } from '../../types/shared/props'
2
+ import type { Awaitable } from '../../types/shared/utils'
3
+ import type { ButtonVariant } from '../button/types'
4
+
5
+ export type ConfirmBeforeConfirm = () => Awaitable<boolean | void>
6
+
7
+ export interface ConfirmPopoverProps {
8
+ modelValue?: boolean
9
+ title?: string
10
+ description?: string
11
+ confirmText?: string
12
+ cancelText?: string
13
+ confirmVariant?: ButtonVariant
14
+ position?: ComponentPosition
15
+ disabled?: boolean
16
+ beforeConfirm?: ConfirmBeforeConfirm
17
+ }
18
+
19
+ export interface ConfirmPopoverEmits {
20
+ confirm: []
21
+ cancel: []
22
+ 'update:modelValue': [visible: boolean]
23
+ }
@@ -1,13 +1,9 @@
1
1
  import type { CopyButtonProps } from './types';
2
- declare var __VLS_10: {
3
- copied: boolean;
4
- }, __VLS_12: {
2
+ declare var __VLS_9: {
5
3
  copied: boolean;
6
4
  };
7
5
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_10) => any;
9
- } & {
10
- icon?: (props: typeof __VLS_12) => any;
6
+ default?: (props: typeof __VLS_9) => any;
11
7
  };
12
8
  declare const __VLS_base: import("vue").DefineComponent<CopyButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
9
  copy: (args_0: string, args_1: PointerEvent) => any;
@@ -22,19 +22,17 @@ async function onCopyClick(ev) {
22
22
 
23
23
  <template>
24
24
  <PButton data-copy-button class="pxd-copy-button" v-bind="$attrs" @click="onCopyClick">
25
- <span v-if="$slots.default" class="pxd-copy-button--text">
26
- <slot :copied="isCopied" />
27
- </span>
25
+ <slot v-if="$slots.default" :copied="isCopied" />
28
26
 
29
- <slot name="icon" :copied="isCopied">
27
+ <template #suffix>
30
28
  <Transition
31
29
  name="pxd-transition--fade-scale"
32
30
  mode="out-in"
33
- class="pxd-copy-button--icon not-first:ms-1.5 pointer-events-none"
31
+ class="pxd-copy-button--icon pointer-events-none"
34
32
  >
35
33
  <CheckIcon v-if="isCopied" />
36
34
  <CopyIcon v-else />
37
35
  </Transition>
38
- </slot>
36
+ </template>
39
37
  </PButton>
40
38
  </template>
@@ -1,4 +1,4 @@
1
- import type { BasePosition } from '../../types/shared';
1
+ import type { BasePosition } from '../../types/shared/props';
2
2
  import type { DashLineProps } from './types';
3
3
  declare const __VLS_export: import("vue").DefineComponent<DashLineProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DashLineProps> & Readonly<{}>, {
4
4
  position: BasePosition | BasePosition[];
@@ -28,14 +28,6 @@ const props = defineProps({
28
28
  required: false
29
29
  }
30
30
  });
31
- const positions = computed(() => Array.isArray(props.position) ? props.position : [props.position]);
32
- const strokeColor = computed(() => props.color ?? "var(--color-gray-600)");
33
- const strokeWidth = computed(() => getCssUnitValue(props.lineSize, "1px"));
34
- const dashArray = computed(() => {
35
- const dash = parseFloat(getCssUnitValue(props.dashSize) ?? "8");
36
- const gap = parseFloat(getCssUnitValue(props.gap) ?? "8");
37
- return `${dash},${gap}`;
38
- });
39
31
  const lineMap = {
40
32
  top: {
41
33
  x1: "0",
@@ -62,6 +54,14 @@ const lineMap = {
62
54
  y2: "100%"
63
55
  }
64
56
  };
57
+ const positions = computed(() => Array.isArray(props.position) ? props.position : [props.position]);
58
+ const strokeColor = computed(() => props.color ?? "var(--color-gray-600)");
59
+ const strokeWidth = computed(() => getCssUnitValue(props.lineSize, "1px"));
60
+ const dashArray = computed(() => {
61
+ const dash = parseFloat(getCssUnitValue(props.dashSize) ?? "8");
62
+ const gap = parseFloat(getCssUnitValue(props.gap) ?? "8");
63
+ return `${dash},${gap}`;
64
+ });
65
65
  const lines = computed(() => positions.value.map((pos) => lineMap[pos]));
66
66
  </script>
67
67
 
@@ -1,4 +1,4 @@
1
- import type { BasePosition } from '../../types/shared'
1
+ import type { BasePosition } from '../../types/shared/props'
2
2
 
3
3
  export interface DashLineProps {
4
4
  position?: BasePosition | BasePosition[]
@@ -1,4 +1,4 @@
1
- import type { ComponentDateTimeValue } from '../../types/shared';
1
+ import type { ComponentDateTimeValue } from '../../types/shared/props';
2
2
  import type { DatePickerProps } from './types';
3
3
  declare const __VLS_export: import("vue").DefineComponent<DatePickerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4
4
  change: (args_0: ComponentDateTimeValue) => any;
@@ -16,8 +16,6 @@ defineOptions({
16
16
  event: "update:modelValue"
17
17
  }
18
18
  });
19
- const DATE_FORMAT_TOKEN_RE = /(YYYY|YY|MM|DD|M|D)/;
20
- const YEAR_FORMAT_TOKEN_RE = /YYYY|YY/;
21
19
  const props = defineProps({
22
20
  size: {
23
21
  type: String,
@@ -74,11 +72,13 @@ const props = defineProps({
74
72
  }
75
73
  });
76
74
  const emits = defineEmits(["change", "update:modelValue"]);
77
- const { isAdaptive, responsiveClasses } = usePopoverResponsive();
75
+ const DATE_FORMAT_TOKEN_RE = /(YYYY|YY|MM|DD|M|D)/;
76
+ const YEAR_FORMAT_TOKEN_RE = /YYYY|YY/;
78
77
  const popoverVisible = shallowRef(false);
79
78
  const draftInput = shallowRef(null);
80
79
  const dayjsDateTime = shallowRef(null);
81
80
  const calendarModelValue = computed(() => dayjsDateTime.value?.valueOf() ?? null);
81
+ const { isAdaptive, responsiveClasses } = usePopoverResponsive();
82
82
  const modelValue = useModelValue(props, emits, { get() {
83
83
  if (draftInput.value !== null) {
84
84
  return draftInput.value;
@@ -1,4 +1,4 @@
1
- import type { ComponentDateTimeValue, ComponentSize } from '../../types/shared'
1
+ import type { ComponentDateTimeValue, ComponentSize } from '../../types/shared/props'
2
2
 
3
3
  export interface DatePickerProps {
4
4
  size?: ComponentSize
@@ -1,15 +1,15 @@
1
1
  import type { DrawerProps } from './types';
2
- declare var __VLS_17: {}, __VLS_19: {}, __VLS_21: {}, __VLS_23: {}, __VLS_25: {};
2
+ declare var __VLS_16: {}, __VLS_18: {}, __VLS_20: {}, __VLS_35: {}, __VLS_37: {};
3
3
  type __VLS_Slots = {} & {
4
- header?: (props: typeof __VLS_17) => any;
4
+ header?: (props: typeof __VLS_16) => any;
5
5
  } & {
6
- title?: (props: typeof __VLS_19) => any;
6
+ title?: (props: typeof __VLS_18) => any;
7
7
  } & {
8
- subtitle?: (props: typeof __VLS_21) => any;
8
+ subtitle?: (props: typeof __VLS_20) => any;
9
9
  } & {
10
- default?: (props: typeof __VLS_23) => any;
10
+ default?: (props: typeof __VLS_35) => any;
11
11
  } & {
12
- footer?: (props: typeof __VLS_25) => any;
12
+ footer?: (props: typeof __VLS_37) => any;
13
13
  };
14
14
  declare const __VLS_base: import("vue").DefineComponent<DrawerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
15
  change: (args_0: boolean) => any;
@@ -26,9 +26,9 @@ declare const __VLS_base: import("vue").DefineComponent<DrawerProps, {}, {}, {},
26
26
  onHide?: (() => any) | undefined;
27
27
  "onVisible-change"?: ((visible: boolean) => any) | undefined;
28
28
  }>, {
29
+ closeable: boolean;
29
30
  modelValue: boolean;
30
31
  closeOnPressEscape: boolean;
31
- appendToBody: boolean;
32
32
  autoFocusElement: string | boolean;
33
33
  closeOnClickOverlay: boolean;
34
34
  defaultHeaderStyle: boolean;