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,10 +1,12 @@
1
1
  <script setup>
2
+ import CrossIcon from "@gdsicon/vue/cross";
2
3
  import { computed, shallowRef, watch } from "vue";
3
4
  import { useModelValue } from "../../composables/_internal/use-model-value.js";
4
5
  import { useOverlayDialog } from "../../composables/_internal/use-overlay-dialog.js";
5
6
  import { useConfigProvider } from "../../contexts/config-provider.js";
6
7
  import { getCssUnitValue } from "../../utils/format.js";
7
8
  import PLoadingMask from "../_internal/loading-mask.vue";
9
+ import PButton from "../button/index.vue";
8
10
  import POverlay from "../overlay/index.vue";
9
11
  defineOptions({
10
12
  name: "PDrawer",
@@ -49,11 +51,6 @@ const props = defineProps({
49
51
  type: String,
50
52
  required: false
51
53
  },
52
- appendToBody: {
53
- type: Boolean,
54
- required: false,
55
- default: true
56
- },
57
54
  wrapperClass: {
58
55
  type: [
59
56
  String,
@@ -94,6 +91,11 @@ const props = defineProps({
94
91
  type: Boolean,
95
92
  required: false,
96
93
  default: true
94
+ },
95
+ closeable: {
96
+ type: Boolean,
97
+ required: false,
98
+ default: false
97
99
  }
98
100
  });
99
101
  const emits = defineEmits([
@@ -105,8 +107,6 @@ const emits = defineEmits([
105
107
  "update:modelValue"
106
108
  ]);
107
109
  const drawerRef = shallowRef();
108
- const isVisible = useModelValue(props, emits);
109
- const configProvider = useConfigProvider();
110
110
  const ensurePosition = computed(() => {
111
111
  const { position } = props;
112
112
  if ([
@@ -123,6 +123,13 @@ const defaultStyles = computed(() => ({
123
123
  headerClass: props.defaultHeaderStyle ? "pbe-4 sm:pbe-6 border-b bg-background-200 dark:bg-background-100" : "",
124
124
  footerClass: props.defaultFooterStyle ? "border-t pbs-4 bg-background-200 dark:bg-background-100" : ""
125
125
  }));
126
+ const transitionName = computed(() => `pxd-transition--drawer-${ensurePosition.value}`);
127
+ const computedStyle = computed(() => ({
128
+ "--modal-index": props.zIndex,
129
+ "--drawer-size": getCssUnitValue(props.size)
130
+ }));
131
+ const isVisible = useModelValue(props, emits);
132
+ const configProvider = useConfigProvider();
126
133
  const { closeOverlayIfNeed, onOverlayClick } = useOverlayDialog({
127
134
  props,
128
135
  emits,
@@ -131,11 +138,6 @@ const { closeOverlayIfNeed, onOverlayClick } = useOverlayDialog({
131
138
  isVisible.value = false;
132
139
  }
133
140
  });
134
- const transitionName = computed(() => `pxd-transition--drawer-${ensurePosition.value}`);
135
- const computedStyle = computed(() => ({
136
- "--modal-index": props.zIndex,
137
- "--drawer-size": getCssUnitValue(props.size)
138
- }));
139
141
  watch(() => isVisible.value, (visible) => {
140
142
  emits("visible-change", visible);
141
143
  if (visible) {
@@ -149,7 +151,7 @@ watch(() => isVisible.value, (visible) => {
149
151
  <template>
150
152
  <POverlay
151
153
  :model-value="isVisible"
152
- :append-to-body="appendToBody"
154
+ :z-index="zIndex"
153
155
  :close-on-press-escape="closeOnPressEscape"
154
156
  @escape="closeOverlayIfNeed"
155
157
  @click="onOverlayClick"
@@ -177,8 +179,8 @@ watch(() => isVisible.value, (visible) => {
177
179
  v-bind="$attrs"
178
180
  >
179
181
  <header
180
- class="pxd-drawer--header px-6 pbs-4 sm:pbs-6 empty:py-3 relative shrink-0"
181
- :class="defaultStyles.headerClass"
182
+ class="pxd-drawer--header px-6 pbs-4 sm:pbs-6 relative shrink-0 empty:hidden"
183
+ :class="[defaultStyles.headerClass, { 'pe-15': closeable }]"
182
184
  >
183
185
  <slot name="header">
184
186
  <h3
@@ -196,6 +198,19 @@ watch(() => isVisible.value, (visible) => {
196
198
  </slot>
197
199
  </div>
198
200
  </slot>
201
+
202
+ <PButton
203
+ v-if="closeable"
204
+ variant="ghost"
205
+ size="sm"
206
+ icon
207
+ class="top-4 right-6 sm:top-6 size-7 absolute"
208
+ :aria-label="configProvider.locale.interaction.close"
209
+ :title="configProvider.locale.interaction.close"
210
+ @click="closeOverlayIfNeed"
211
+ >
212
+ <CrossIcon class="size-3" aria-hidden="true" />
213
+ </PButton>
199
214
  </header>
200
215
 
201
216
  <div
@@ -1,4 +1,4 @@
1
- import type { BasePosition, ComponentClass, ComponentLabel } from '../../types/shared'
1
+ import type { BasePosition, ComponentClass, ComponentLabel } from '../../types/shared/props'
2
2
 
3
3
  export interface DrawerProps {
4
4
  zIndex?: number
@@ -9,7 +9,6 @@ export interface DrawerProps {
9
9
  position?: BasePosition
10
10
  modelValue?: boolean
11
11
  loadingText?: string
12
- appendToBody?: boolean
13
12
  wrapperClass?: ComponentClass
14
13
  contentClass?: ComponentClass
15
14
  autoFocusElement?: string | boolean
@@ -17,6 +16,7 @@ export interface DrawerProps {
17
16
  defaultFooterStyle?: boolean
18
17
  closeOnPressEscape?: boolean
19
18
  closeOnClickOverlay?: boolean
19
+ closeable?: boolean
20
20
  }
21
21
 
22
22
  export interface DrawerEmits {
@@ -4,6 +4,7 @@ import { useModelValue } from "../../composables/_internal/use-model-value.js";
4
4
  import { createTailwindVariant, useTailwindVariant } from "../../composables/_internal/use-tailwind-variant.js";
5
5
  import { useConfigProvider } from "../../contexts/config-provider.js";
6
6
  import { cachedOn, off, once, throttleByRaf } from "../../utils/event.js";
7
+ import { getColorByThreshold } from "../../utils/helper.js";
7
8
  defineOptions({
8
9
  name: "PEffortSlider",
9
10
  inheritAttrs: false,
@@ -139,21 +140,14 @@ const tickList = computed(() => {
139
140
  };
140
141
  });
141
142
  });
142
- const fillStyle = computed(() => {
143
- const colors = props.colors;
144
- let color = PRIMARY_COLOR;
145
- for (let level = currentIndex.value; colors && level >= 0; level--) {
146
- const candidate = colors[String(level)];
147
- if (candidate) {
148
- color = candidate;
149
- break;
150
- }
151
- }
152
- return {
153
- width: `${percentage.value}%`,
154
- background: color
155
- };
156
- });
143
+ const fillColor = computed(() => getColorByThreshold(currentIndex.value, {
144
+ 0: PRIMARY_COLOR,
145
+ ...props.colors
146
+ }));
147
+ const fillStyle = computed(() => ({
148
+ backgroundColor: fillColor.value,
149
+ clipPath: `inset(0 ${100 - percentage.value}% 0 0)`
150
+ }));
157
151
  function setValue(index) {
158
152
  const option = optionList.value[index];
159
153
  if (!option) {
@@ -301,15 +295,15 @@ onBeforeUnmount(() => {
301
295
  @pointerdown.prevent="onTrackPointerdown"
302
296
  >
303
297
  <div
304
- class="pxd-effort-slider--fill inset-y-0 left-0 pointer-events-none absolute rounded-full motion-safe:transition-[width]"
305
- :class="{ 'motion-safe:transition-none': dragging || focused }"
298
+ class="pxd-effort-slider--fill inset-0 pointer-events-none absolute rounded-full motion-safe:transition-[clip-path,background-color]"
299
+ :class="{ 'motion-safe:transition-colors': dragging || focused }"
306
300
  :style="fillStyle"
307
301
  />
308
302
 
309
303
  <span
310
304
  v-for="tick in tickList"
311
305
  :key="tick.level"
312
- class="pxd-effort-slider--tick size-1 pointer-events-none absolute top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-gray-500"
306
+ class="pxd-effort-slider--tick size-1 pointer-events-none absolute top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-gray-alpha-200"
313
307
  :style="{ left: `${tick.percentage}%` }"
314
308
  />
315
309
 
@@ -1,4 +1,4 @@
1
- import type { ComponentSize, ComponentOption } from '../../types/shared'
1
+ import type { ComponentSize, ComponentOption } from '../../types/shared/props'
2
2
 
3
3
  export interface EffortSliderProps {
4
4
  options: Array<ComponentOption | string>
@@ -7,9 +7,9 @@ declare const __VLS_export: import("vue").DefineComponent<EllipsisTextProps, {
7
7
  }, string, import("vue").PublicProps, Readonly<EllipsisTextProps> & Readonly<{
8
8
  onToggle?: ((expanded: boolean) => any) | undefined;
9
9
  }>, {
10
- rows: number;
11
- position: "start" | "middle" | "end";
10
+ position: "start" | "end" | "middle";
12
11
  dots: string;
12
+ rows: number;
13
13
  moreText: string;
14
14
  lessText: string;
15
15
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -65,6 +65,80 @@ const maxRows = computed(() => {
65
65
  const rows = Number(props.rows ?? 1);
66
66
  return Number.isFinite(rows) && rows > 0 ? Math.floor(rows) : 1;
67
67
  });
68
+ const updateEllipsis = scheduleByRaf(async () => {
69
+ if (isServer()) {
70
+ return;
71
+ }
72
+ const container = containerRef.value;
73
+ if (!container || !container.isConnected) {
74
+ return;
75
+ }
76
+ await nextTick();
77
+ const sourceText = props.text ?? "";
78
+ if (container.clientWidth <= 0) {
79
+ ellipsisText.value = sourceText;
80
+ isOverflow.value = false;
81
+ return;
82
+ }
83
+ if (isExpanded.value || !sourceText) {
84
+ ellipsisText.value = sourceText;
85
+ return;
86
+ }
87
+ const style = getStyle(textRef.value ?? container);
88
+ const lineHeight = getLineHeightPx(style);
89
+ if (lineHeight <= 0) {
90
+ ellipsisText.value = sourceText;
91
+ isOverflow.value = false;
92
+ return;
93
+ }
94
+ const availableWidth = getAvailableWidth(container);
95
+ const textFont = getFontShorthand(style);
96
+ if (measureLineCount(sourceText, textFont, availableWidth) <= maxRows.value) {
97
+ ellipsisText.value = sourceText;
98
+ isOverflow.value = false;
99
+ return;
100
+ }
101
+ isOverflow.value = true;
102
+ const actionText = props.action ? props.moreText : "";
103
+ const actionFont = actionRef.value ? getFontShorthand(getStyle(actionRef.value)) : textFont;
104
+ const dots = props.dots ?? "";
105
+ if (props.position === "end") {
106
+ const prepared = prepareWithSegments(sourceText, textFont);
107
+ const { lines } = layoutWithLines(prepared, availableWidth, lineHeight);
108
+ const baseText = lines.slice(0, maxRows.value).map((l) => l.text).join("");
109
+ const baseChars = [...baseText];
110
+ let low = 0;
111
+ let high = baseChars.length;
112
+ let best = "";
113
+ while (low <= high) {
114
+ const mid = Math.floor((low + high) / 2);
115
+ const candidate = `${joinChars(baseChars, 0, mid)}${dots}`;
116
+ if (measureLineCount(candidate, textFont, availableWidth, actionText, actionFont) <= maxRows.value) {
117
+ best = candidate;
118
+ low = mid + 1;
119
+ } else {
120
+ high = mid - 1;
121
+ }
122
+ }
123
+ ellipsisText.value = best || dots;
124
+ return;
125
+ }
126
+ const chars = [...sourceText];
127
+ let low = 0;
128
+ let high = chars.length;
129
+ let best = "";
130
+ while (low <= high) {
131
+ const mid = Math.floor((low + high) / 2);
132
+ const candidate = buildCandidate(chars, mid, dots, props.position);
133
+ if (measureLineCount(candidate, textFont, availableWidth, actionText, actionFont) <= maxRows.value) {
134
+ best = candidate;
135
+ low = mid + 1;
136
+ } else {
137
+ high = mid - 1;
138
+ }
139
+ }
140
+ ellipsisText.value = best || dots;
141
+ });
68
142
  const computedActionClass = computed(() => {
69
143
  return cn("pxd-ellipsis-text--action cursor-pointer whitespace-nowrap text-blue-900", isExpanded.value ? props.lessActionClass : props.moreActionClass);
70
144
  });
@@ -80,6 +154,7 @@ const displayText = computed(() => {
80
154
  action: props.moreText
81
155
  };
82
156
  });
157
+ useResizeObserver(containerRef, updateEllipsis);
83
158
  function toggleAction() {
84
159
  if (!props.action) {
85
160
  return;
@@ -145,80 +220,6 @@ function buildCandidate(chars, keep, dots, position) {
145
220
  const tailLen = keep - headLen;
146
221
  return `${joinChars(chars, 0, headLen)}${dots}${joinChars(chars, chars.length - tailLen, chars.length)}`;
147
222
  }
148
- const updateEllipsis = scheduleByRaf(async () => {
149
- if (isServer()) {
150
- return;
151
- }
152
- const container = containerRef.value;
153
- if (!container || !container.isConnected) {
154
- return;
155
- }
156
- await nextTick();
157
- const sourceText = props.text ?? "";
158
- if (container.clientWidth <= 0) {
159
- ellipsisText.value = sourceText;
160
- isOverflow.value = false;
161
- return;
162
- }
163
- if (isExpanded.value || !sourceText) {
164
- ellipsisText.value = sourceText;
165
- return;
166
- }
167
- const style = getStyle(textRef.value ?? container);
168
- const lineHeight = getLineHeightPx(style);
169
- if (lineHeight <= 0) {
170
- ellipsisText.value = sourceText;
171
- isOverflow.value = false;
172
- return;
173
- }
174
- const availableWidth = getAvailableWidth(container);
175
- const textFont = getFontShorthand(style);
176
- if (measureLineCount(sourceText, textFont, availableWidth) <= maxRows.value) {
177
- ellipsisText.value = sourceText;
178
- isOverflow.value = false;
179
- return;
180
- }
181
- isOverflow.value = true;
182
- const actionText = props.action ? props.moreText : "";
183
- const actionFont = actionRef.value ? getFontShorthand(getStyle(actionRef.value)) : textFont;
184
- const dots = props.dots ?? "";
185
- if (props.position === "end") {
186
- const prepared = prepareWithSegments(sourceText, textFont);
187
- const { lines } = layoutWithLines(prepared, availableWidth, lineHeight);
188
- const baseText = lines.slice(0, maxRows.value).map((l) => l.text).join("");
189
- const baseChars = [...baseText];
190
- let low = 0;
191
- let high = baseChars.length;
192
- let best = "";
193
- while (low <= high) {
194
- const mid = Math.floor((low + high) / 2);
195
- const candidate = `${joinChars(baseChars, 0, mid)}${dots}`;
196
- if (measureLineCount(candidate, textFont, availableWidth, actionText, actionFont) <= maxRows.value) {
197
- best = candidate;
198
- low = mid + 1;
199
- } else {
200
- high = mid - 1;
201
- }
202
- }
203
- ellipsisText.value = best || dots;
204
- return;
205
- }
206
- const chars = [...sourceText];
207
- let low = 0;
208
- let high = chars.length;
209
- let best = "";
210
- while (low <= high) {
211
- const mid = Math.floor((low + high) / 2);
212
- const candidate = buildCandidate(chars, mid, dots, props.position);
213
- if (measureLineCount(candidate, textFont, availableWidth, actionText, actionFont) <= maxRows.value) {
214
- best = candidate;
215
- low = mid + 1;
216
- } else {
217
- high = mid - 1;
218
- }
219
- }
220
- ellipsisText.value = best || dots;
221
- });
222
223
  watch(() => [
223
224
  props.text,
224
225
  props.rows,
@@ -236,7 +237,6 @@ watch(() => [
236
237
  immediate: true,
237
238
  flush: "post"
238
239
  });
239
- useResizeObserver(containerRef, updateEllipsis);
240
240
  onBeforeUnmount(() => {
241
241
  updateEllipsis.cancel();
242
242
  });
@@ -1,4 +1,4 @@
1
- import type { ComponentLabel, ComponentSizeWithXs } from '../../types/shared'
1
+ import type { ComponentLabel, ComponentSizeWithXs } from '../../types/shared/props'
2
2
 
3
3
  export interface ErrorType {
4
4
  link?: string
@@ -27,14 +27,14 @@ const props = defineProps({
27
27
  default: "both"
28
28
  }
29
29
  });
30
+ const DEFAULT_SIZE = 16;
31
+ const DIFF_THRESHOLD = 16;
30
32
  const fader = shallowRef({
31
33
  top: false,
32
34
  left: false,
33
35
  right: false,
34
36
  bottom: false
35
37
  });
36
- const DEFAULT_SIZE = 16;
37
- const DIFF_THRESHOLD = 16;
38
38
  const computedStyle = computed(() => ({
39
39
  "--fader-color": props.color,
40
40
  "--fader-size": getCssUnitValue(props.size)
@@ -1,4 +1,4 @@
1
- import type { ComponentDirection } from '../../types/shared'
1
+ import type { ComponentDirection } from '../../types/shared/props'
2
2
  import type { ComponentPublicInstance } from 'vue'
3
3
 
4
4
  export interface FaderProps {
@@ -52,8 +52,6 @@ const defaultColors = {
52
52
  30: "var(--color-amber-800)",
53
53
  60: "var(--color-green-700)"
54
54
  };
55
- const configProvider = useConfigProvider();
56
- const computedSize = computed(() => getFallbackValue(props.size, SIZES, configProvider.size));
57
55
  const progress = computed(() => {
58
56
  if (props.indeterminate) {
59
57
  return 0;
@@ -117,6 +115,8 @@ const progressColors = computed(() => {
117
115
  secondary: secondaryColor
118
116
  };
119
117
  });
118
+ const configProvider = useConfigProvider();
119
+ const computedSize = computed(() => getFallbackValue(props.size, SIZES, configProvider.size));
120
120
  </script>
121
121
 
122
122
  <template>
@@ -1,4 +1,4 @@
1
- import type { ComponentSizeWithXs } from '../../types/shared'
1
+ import type { ComponentSizeWithXs } from '../../types/shared/props'
2
2
 
3
3
  export interface GaugeProps {
4
4
  modelValue?: number | null
@@ -1,4 +1,4 @@
1
- import type { ResponsiveValue } from '../../types/shared'
1
+ import type { ResponsiveValue } from '../../types/shared/props'
2
2
 
3
3
  export interface GridProps {
4
4
  debug?: boolean
@@ -1,4 +1,4 @@
1
- import type { ResponsiveValue } from '../../types/shared'
1
+ import type { ResponsiveValue } from '../../types/shared/props'
2
2
 
3
3
  export interface GridItemProps {
4
4
  row?: ResponsiveValue<string | number>
@@ -0,0 +1,32 @@
1
+ import type { HintProps, HintStatus } from './types';
2
+ declare var __VLS_10: {
3
+ status: HintStatus;
4
+ }, __VLS_13: {
5
+ status: HintStatus;
6
+ value: unknown;
7
+ error: unknown;
8
+ activeTrigger: HTMLElement | null;
9
+ activeTriggerIndex: number;
10
+ };
11
+ type __VLS_Slots = {} & {
12
+ default?: (props: typeof __VLS_10) => any;
13
+ } & {
14
+ content?: (props: typeof __VLS_13) => any;
15
+ };
16
+ declare const __VLS_base: import("vue").DefineComponent<HintProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ close: () => any;
18
+ }, string, import("vue").PublicProps, Readonly<HintProps> & Readonly<{
19
+ onClose?: (() => any) | undefined;
20
+ }>, {
21
+ duration: number;
22
+ pauseOnHover: boolean;
23
+ position: import("../../types/shared/props.js").ComponentPosition;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
26
+ declare const _default: typeof __VLS_export;
27
+ export default _default;
28
+ type __VLS_WithSlots<T, S> = T & {
29
+ new (): {
30
+ $slots: S;
31
+ };
32
+ };