pxd 0.0.55 → 0.0.60

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 (275) hide show
  1. package/README.md +18 -4
  2. package/dist/components/_internal/fragment-container.vue +3 -2
  3. package/dist/components/active-graph/index.d.vue.ts +2 -3
  4. package/dist/components/active-graph/index.vue +23 -16
  5. package/dist/components/active-graph/types.d.ts +4 -3
  6. package/dist/components/avatar/index.vue +19 -10
  7. package/dist/components/avatar/types.d.ts +0 -12
  8. package/dist/components/avatar-group/index.d.vue.ts +2 -2
  9. package/dist/components/avatar-group/index.vue +4 -3
  10. package/dist/components/avatar-group/types.d.ts +11 -0
  11. package/dist/components/badge/index.d.vue.ts +1 -1
  12. package/dist/components/badge/index.vue +47 -3
  13. package/dist/components/badge/types.d.ts +24 -1
  14. package/dist/components/book/index.vue +3 -2
  15. package/dist/components/browser/index.vue +6 -2
  16. package/dist/components/button/index.d.vue.ts +1 -1
  17. package/dist/components/button/index.vue +60 -12
  18. package/dist/components/carousel/index.d.vue.ts +24 -2
  19. package/dist/components/carousel/index.vue +341 -28
  20. package/dist/components/carousel/types.d.ts +2 -2
  21. package/dist/components/carousel-item/index.d.vue.ts +13 -0
  22. package/dist/components/carousel-item/index.vue +49 -0
  23. package/dist/components/checkbox/index.d.vue.ts +1 -5
  24. package/dist/components/checkbox/index.vue +66 -31
  25. package/dist/components/checkbox/types.d.ts +2 -14
  26. package/dist/components/checkbox-group/index.d.vue.ts +2 -7
  27. package/dist/components/checkbox-group/index.vue +11 -29
  28. package/dist/components/checkbox-group/types.d.ts +12 -0
  29. package/dist/components/chip/index.d.vue.ts +1 -1
  30. package/dist/components/chip/index.vue +31 -2
  31. package/dist/components/choicebox/index.d.vue.ts +11 -5
  32. package/dist/components/choicebox/index.vue +36 -54
  33. package/dist/components/choicebox/types.d.ts +11 -18
  34. package/dist/components/choicebox-item/index.d.vue.ts +16 -0
  35. package/dist/components/choicebox-item/index.vue +67 -0
  36. package/dist/components/choicebox-item/types.d.ts +12 -0
  37. package/dist/components/collapse/index.d.vue.ts +5 -4
  38. package/dist/components/collapse/index.vue +47 -30
  39. package/dist/components/collapse/types.d.ts +2 -5
  40. package/dist/components/collapse-group/index.d.vue.ts +2 -4
  41. package/dist/components/collapse-group/index.vue +8 -20
  42. package/dist/components/collapse-group/types.d.ts +6 -0
  43. package/dist/components/command-menu/index.vue +6 -7
  44. package/dist/components/command-menu/types.d.ts +0 -5
  45. package/dist/components/command-menu-group/index.d.vue.ts +1 -1
  46. package/dist/components/command-menu-group/index.vue +3 -2
  47. package/dist/components/command-menu-group/types.d.ts +5 -0
  48. package/dist/components/config-provider/index.d.vue.ts +2 -2
  49. package/dist/components/config-provider/index.vue +6 -4
  50. package/dist/components/countdown/index.vue +3 -2
  51. package/dist/components/countdown/types.d.ts +2 -2
  52. package/dist/components/dash-line/index.vue +3 -1
  53. package/dist/components/description/index.d.vue.ts +1 -1
  54. package/dist/components/description/index.vue +8 -7
  55. package/dist/components/description/types.d.ts +1 -1
  56. package/dist/components/drawer/index.d.vue.ts +3 -2
  57. package/dist/components/drawer/index.vue +20 -15
  58. package/dist/components/drawer/types.d.ts +3 -3
  59. package/dist/components/ellipsis-text/index.d.vue.ts +14 -0
  60. package/dist/components/ellipsis-text/index.vue +242 -0
  61. package/dist/components/ellipsis-text/types.d.ts +14 -0
  62. package/dist/components/empty-state/index.vue +6 -2
  63. package/dist/components/error/index.d.vue.ts +1 -3
  64. package/dist/components/error/index.vue +21 -6
  65. package/dist/components/error/types.d.ts +7 -1
  66. package/dist/components/fader/index.vue +30 -11
  67. package/dist/components/fader/types.d.ts +2 -2
  68. package/dist/components/gauge/index.vue +7 -2
  69. package/dist/components/grid/index.vue +9 -4
  70. package/dist/components/grid/types.d.ts +0 -5
  71. package/dist/components/grid-item/index.d.vue.ts +1 -1
  72. package/dist/components/grid-item/index.vue +16 -8
  73. package/dist/components/grid-item/types.d.ts +6 -0
  74. package/dist/components/hold-button/index.d.vue.ts +2 -2
  75. package/dist/components/hold-button/index.vue +7 -4
  76. package/dist/components/index.d.ts +7 -3
  77. package/dist/components/index.js +7 -3
  78. package/dist/components/input/index.d.vue.ts +8 -8
  79. package/dist/components/input/index.vue +54 -21
  80. package/dist/components/input/types.d.ts +7 -10
  81. package/dist/components/intersection-observer/index.d.vue.ts +0 -1
  82. package/dist/components/intersection-observer/index.vue +12 -3
  83. package/dist/components/kbd/index.vue +1 -1
  84. package/dist/components/link-button/index.d.vue.ts +1 -1
  85. package/dist/components/link-button/index.vue +5 -4
  86. package/dist/components/link-button/types.d.ts +1 -1
  87. package/dist/components/list/index.d.vue.ts +8 -5
  88. package/dist/components/list/index.vue +50 -54
  89. package/dist/components/list/types.d.ts +3 -20
  90. package/dist/components/list-item/index.d.vue.ts +4 -3
  91. package/dist/components/list-item/index.vue +44 -18
  92. package/dist/components/list-item/types.d.ts +15 -0
  93. package/dist/components/loading-bar/index.vue +33 -2
  94. package/dist/components/loading-bar/types.d.ts +1 -1
  95. package/dist/components/loading-dots/index.vue +3 -2
  96. package/dist/components/menu/index.d.vue.ts +5 -2
  97. package/dist/components/menu/index.vue +4 -1
  98. package/dist/components/menu/types.d.ts +5 -0
  99. package/dist/components/message/index.d.vue.ts +11 -8
  100. package/dist/components/message/index.vue +4 -12
  101. package/dist/components/message/types.d.ts +1 -12
  102. package/dist/components/message-item/index.d.vue.ts +1 -3
  103. package/dist/components/message-item/index.vue +13 -7
  104. package/dist/components/message-item/types.d.ts +11 -0
  105. package/dist/components/modal/index.d.vue.ts +3 -2
  106. package/dist/components/modal/index.vue +17 -13
  107. package/dist/components/modal/types.d.ts +3 -3
  108. package/dist/components/noise-background/index.vue +4 -3
  109. package/dist/components/note/index.d.vue.ts +1 -2
  110. package/dist/components/note/index.vue +81 -29
  111. package/dist/components/note/types.d.ts +10 -2
  112. package/dist/components/number-input/index.d.vue.ts +5 -4
  113. package/dist/components/number-input/index.vue +36 -6
  114. package/dist/components/number-input/types.d.ts +2 -0
  115. package/dist/components/overlay/index.vue +1 -1
  116. package/dist/components/overlay/types.d.ts +1 -1
  117. package/dist/components/pagination/index.vue +5 -3
  118. package/dist/components/pin-input/index.d.vue.ts +7 -2
  119. package/dist/components/pin-input/index.vue +60 -23
  120. package/dist/components/pin-input/types.d.ts +0 -4
  121. package/dist/components/placeholder/index.vue +2 -1
  122. package/dist/components/popover/index.d.vue.ts +1 -1
  123. package/dist/components/popover/index.vue +116 -78
  124. package/dist/components/popover/types.d.ts +2 -0
  125. package/dist/components/progress/index.d.vue.ts +1 -1
  126. package/dist/components/progress/index.vue +15 -2
  127. package/dist/components/project-banner/index.d.vue.ts +18 -0
  128. package/dist/components/project-banner/index.vue +59 -0
  129. package/dist/components/project-banner/types.d.ts +8 -0
  130. package/dist/components/radio/index.vue +62 -20
  131. package/dist/components/radio/types.d.ts +1 -14
  132. package/dist/components/radio-group/index.d.vue.ts +2 -4
  133. package/dist/components/radio-group/index.vue +11 -16
  134. package/dist/components/radio-group/types.d.ts +12 -0
  135. package/dist/components/resizable/types.d.ts +5 -10
  136. package/dist/components/resizable-handle/index.vue +1 -1
  137. package/dist/components/resizable-panel/index.d.vue.ts +1 -1
  138. package/dist/components/resizable-panel/index.vue +7 -2
  139. package/dist/components/resizable-panel/types.d.ts +4 -0
  140. package/dist/components/scrollable/index.d.vue.ts +29 -0
  141. package/dist/components/scrollable/index.vue +98 -83
  142. package/dist/components/scrollable/types.d.ts +19 -5
  143. package/dist/components/skeleton/index.vue +24 -1
  144. package/dist/components/slider/index.d.vue.ts +6 -6
  145. package/dist/components/slider/index.vue +86 -44
  146. package/dist/components/slider/types.d.ts +1 -1
  147. package/dist/components/snippet/index.vue +28 -2
  148. package/dist/components/spinner/index.vue +4 -2
  149. package/dist/components/stack/index.d.vue.ts +2 -2
  150. package/dist/components/stack/index.vue +35 -3
  151. package/dist/components/stack/types.d.ts +1 -1
  152. package/dist/components/status-dot/index.vue +5 -1
  153. package/dist/components/switch/index.d.vue.ts +10 -1
  154. package/dist/components/switch/index.vue +35 -44
  155. package/dist/components/switch/types.d.ts +4 -12
  156. package/dist/components/switch-item/index.d.vue.ts +14 -0
  157. package/dist/components/switch-item/index.vue +79 -0
  158. package/dist/components/switch-item/types.d.ts +9 -0
  159. package/dist/components/teleport/index.d.vue.ts +1 -1
  160. package/dist/components/teleport/index.vue +1 -1
  161. package/dist/components/teleport/types.d.ts +1 -1
  162. package/dist/components/text/index.d.vue.ts +1 -2
  163. package/dist/components/text/index.vue +36 -22
  164. package/dist/components/text/types.d.ts +1 -1
  165. package/dist/components/textarea/index.d.vue.ts +4 -4
  166. package/dist/components/textarea/index.vue +33 -4
  167. package/dist/components/textarea/types.d.ts +0 -1
  168. package/dist/components/time-picker/index.d.vue.ts +1 -2
  169. package/dist/components/time-picker/index.vue +43 -9
  170. package/dist/components/time-picker/types.d.ts +1 -2
  171. package/dist/components/toggle/index.vue +11 -10
  172. package/dist/components/toggle-button/index.d.vue.ts +22 -0
  173. package/dist/components/toggle-button/index.vue +110 -0
  174. package/dist/components/toggle-button/types.d.ts +16 -0
  175. package/dist/components/{choicebox-group → toggle-button-group}/index.d.vue.ts +5 -5
  176. package/dist/components/toggle-button-group/index.vue +68 -0
  177. package/dist/components/toggle-button-group/types.d.ts +22 -0
  178. package/dist/components/tooltip/index.d.vue.ts +2 -0
  179. package/dist/components/tooltip/index.vue +9 -3
  180. package/dist/components/tooltip/types.d.ts +2 -0
  181. package/dist/components/virtual-list/index.d.vue.ts +25 -4
  182. package/dist/components/virtual-list/index.vue +66 -10
  183. package/dist/components/virtual-list/types.d.ts +9 -4
  184. package/dist/composables/index.d.ts +2 -2
  185. package/dist/composables/index.js +2 -2
  186. package/dist/composables/use-browser-observer.d.ts +5 -5
  187. package/dist/composables/use-browser-observer.js +23 -20
  188. package/dist/composables/use-copy-click.js +4 -0
  189. package/dist/composables/use-countdown.d.ts +2 -2
  190. package/dist/composables/use-focus-trap.d.ts +6 -2
  191. package/dist/composables/use-focus-trap.js +19 -7
  192. package/dist/composables/use-forward-ref-expose.d.ts +2 -0
  193. package/dist/composables/use-forward-ref-expose.js +41 -0
  194. package/dist/composables/use-message.d.ts +3 -6
  195. package/dist/composables/use-model-value.d.ts +9 -8
  196. package/dist/composables/use-popover-responsive.d.ts +2 -2
  197. package/dist/composables/use-popover-responsive.js +3 -3
  198. package/dist/composables/use-repeat-action.js +2 -2
  199. package/dist/composables/use-virtual-list.d.ts +21 -12
  200. package/dist/composables/use-virtual-list.js +90 -158
  201. package/dist/composables/use-window-size.d.ts +4 -0
  202. package/dist/composables/use-window-size.js +27 -0
  203. package/dist/contexts/avatar.d.ts +5 -2
  204. package/dist/contexts/carousel.d.ts +4 -4
  205. package/dist/contexts/carousel.js +1 -1
  206. package/dist/contexts/checkbox.d.ts +7 -2
  207. package/dist/contexts/choicebox.d.ts +8 -4
  208. package/dist/contexts/choicebox.js +1 -4
  209. package/dist/contexts/collapse.d.ts +5 -6
  210. package/dist/contexts/collapse.js +1 -1
  211. package/dist/contexts/config-provider.d.ts +5 -0
  212. package/dist/{composables/use-config-provider-context.js → contexts/config-provider.js} +8 -5
  213. package/dist/contexts/radio.d.ts +8 -2
  214. package/dist/contexts/switch.d.ts +8 -4
  215. package/dist/contexts/switch.js +1 -2
  216. package/dist/contexts/toggle-button.d.ts +7 -0
  217. package/dist/contexts/toggle-button.js +2 -0
  218. package/dist/styles/source.css +14 -2
  219. package/dist/styles/styles.css +2 -2
  220. package/dist/styles/tw.css +14 -2
  221. package/dist/types/shared/props.d.ts +1 -3
  222. package/dist/types/shared/utils.d.ts +0 -3
  223. package/dist/utils/context.d.ts +1 -0
  224. package/dist/utils/get.d.ts +1 -0
  225. package/dist/utils/get.js +14 -0
  226. package/dist/utils/responsive.js +2 -1
  227. package/dist/utils/throttle.js +9 -7
  228. package/dist/utils/uid.d.ts +1 -1
  229. package/dist/utils/uid.js +2 -2
  230. package/package.json +23 -21
  231. package/volar.d.ts +7 -3
  232. package/dist/components/badge/cn.d.ts +0 -90
  233. package/dist/components/badge/cn.js +0 -44
  234. package/dist/components/button/cn.d.ts +0 -121
  235. package/dist/components/button/cn.js +0 -55
  236. package/dist/components/carousel-group/index.d.vue.ts +0 -35
  237. package/dist/components/carousel-group/index.vue +0 -368
  238. package/dist/components/checkbox/cn.d.ts +0 -67
  239. package/dist/components/checkbox/cn.js +0 -31
  240. package/dist/components/chip/cn.d.ts +0 -49
  241. package/dist/components/chip/cn.js +0 -26
  242. package/dist/components/choicebox-group/index.vue +0 -65
  243. package/dist/components/error/cn.d.ts +0 -22
  244. package/dist/components/error/cn.js +0 -15
  245. package/dist/components/input/cn.d.ts +0 -73
  246. package/dist/components/input/cn.js +0 -36
  247. package/dist/components/list-item/cn.d.ts +0 -22
  248. package/dist/components/list-item/cn.js +0 -15
  249. package/dist/components/loading-bar/cn.d.ts +0 -70
  250. package/dist/components/loading-bar/cn.js +0 -32
  251. package/dist/components/note/cn.d.ts +0 -121
  252. package/dist/components/note/cn.js +0 -66
  253. package/dist/components/pin-input/cn.d.ts +0 -46
  254. package/dist/components/pin-input/cn.js +0 -25
  255. package/dist/components/progress/cn.d.ts +0 -19
  256. package/dist/components/progress/cn.js +0 -14
  257. package/dist/components/radio/cn.d.ts +0 -46
  258. package/dist/components/radio/cn.js +0 -42
  259. package/dist/components/skeleton/cn.d.ts +0 -43
  260. package/dist/components/skeleton/cn.js +0 -24
  261. package/dist/components/snippet/cn.d.ts +0 -52
  262. package/dist/components/snippet/cn.js +0 -27
  263. package/dist/components/stack/cn.d.ts +0 -70
  264. package/dist/components/stack/cn.js +0 -33
  265. package/dist/components/switch/cn.d.ts +0 -16
  266. package/dist/components/switch/cn.js +0 -13
  267. package/dist/components/switch-group/index.d.vue.ts +0 -23
  268. package/dist/components/switch-group/index.vue +0 -54
  269. package/dist/components/text/cn.d.ts +0 -67
  270. package/dist/components/text/cn.js +0 -34
  271. package/dist/components/textarea/cn.d.ts +0 -58
  272. package/dist/components/textarea/cn.js +0 -30
  273. package/dist/composables/use-config-provider-context.d.ts +0 -3
  274. package/dist/composables/use-unique-id-context.d.ts +0 -2
  275. package/dist/composables/use-unique-id-context.js +0 -11
@@ -2,16 +2,31 @@
2
2
  import ExternalIcon from "@gdsicon/vue/external";
3
3
  import StopIcon from "@gdsicon/vue/stop";
4
4
  import { computed } from "vue";
5
- import { useConfigProvider } from "../../composables/use-config-provider-context";
5
+ import { useConfigProvider } from "../../contexts/config-provider";
6
6
  import { isExternalLink } from "../../utils/format";
7
- import { errorVariant } from "./cn";
7
+ import { tv } from "tailwind-variants";
8
8
  defineOptions({
9
- name: "PError"
9
+ name: "PError",
10
+ inheritAttrs: false
10
11
  });
11
12
  const props = defineProps({
12
- size: { type: String, required: false, default: "md" },
13
+ size: { type: String, required: false },
13
14
  label: { type: [String, Number, Array, null], required: false },
14
- error: { type: null, required: false }
15
+ error: { type: Object, required: false }
16
+ });
17
+ const errorVariant = tv({
18
+ base: "pxd-error flex text-red-900",
19
+ variants: {
20
+ size: {
21
+ xs: "text-xs [--mt:0.125rem]",
22
+ sm: "text-13px [--mt:0.125rem]",
23
+ md: "text-sm [--mt:0.125rem]",
24
+ lg: "text-base [--mt:0.25rem]"
25
+ }
26
+ },
27
+ defaultVariants: {
28
+ size: "md"
29
+ }
15
30
  });
16
31
  const configProvider = useConfigProvider();
17
32
  const computedClasses = computed(() => {
@@ -20,7 +35,7 @@ const computedClasses = computed(() => {
20
35
  </script>
21
36
 
22
37
  <template>
23
- <div :class="computedClasses">
38
+ <div :class="computedClasses" v-bind="$attrs">
24
39
  <StopIcon class="size-4 mr-2 mt-(--mt) shrink-0" />
25
40
 
26
41
  <div class="flex-1 shrink-0">
@@ -1,6 +1,12 @@
1
- import type { ErrorType } from '../../types/components/error'
2
1
  import type { ComponentLabel, ComponentSizeWithXs } from '../../types/shared'
3
2
 
3
+ export interface ErrorType {
4
+ link?: string
5
+ label?: string
6
+ action?: string
7
+ message: string
8
+ }
9
+
4
10
  export interface ErrorProps {
5
11
  size?: ComponentSizeWithXs
6
12
  label?: ComponentLabel
@@ -6,12 +6,13 @@ import { getCssUnitValue } from "../../utils/format";
6
6
  import { unrefElement } from "../../utils/ref";
7
7
  import { throttleByRaf } from "../../utils/throttle";
8
8
  defineOptions({
9
- name: "PFader"
9
+ name: "PFader",
10
+ inheritAttrs: false
10
11
  });
11
12
  const props = defineProps({
12
13
  size: { type: Number, required: false },
13
14
  color: { type: String, required: false },
14
- container: { type: null, required: false },
15
+ container: { type: [String, Object], required: false },
15
16
  direction: { type: String, required: false, default: "both" }
16
17
  });
17
18
  const fader = shallowRef({
@@ -21,7 +22,7 @@ const fader = shallowRef({
21
22
  bottom: false
22
23
  });
23
24
  const DEFAULT_SIZE = 16;
24
- const DIFF_THRESHOLD = 1;
25
+ const DIFF_THRESHOLD = 16;
25
26
  const computedStyle = computed(() => ({
26
27
  "--fader-color": props.color,
27
28
  "--fader-size": getCssUnitValue(props.size)
@@ -36,7 +37,7 @@ const formattedContainer = computed(() => {
36
37
  });
37
38
  const onContainerScroll = throttleByRaf(() => {
38
39
  const container = formattedContainer.value;
39
- if (!container) {
40
+ if (!container || !container.isConnected) {
40
41
  return;
41
42
  }
42
43
  const { size = DEFAULT_SIZE } = props;
@@ -59,7 +60,7 @@ watch(
59
60
  if (!container) {
60
61
  return;
61
62
  }
62
- cachedOn(container, "scroll", onContainerScroll);
63
+ cachedOn(container, "scroll", onContainerScroll, { passive: true });
63
64
  },
64
65
  { immediate: true }
65
66
  );
@@ -73,22 +74,24 @@ onBeforeUnmount(() => {
73
74
  aria-hidden="true"
74
75
  class="pxd-fader inset-0 pointer-events-none absolute size-full rounded-inherit"
75
76
  :style="computedStyle"
77
+ v-bind="$attrs"
76
78
  >
77
79
  <div
78
80
  v-if="['both', 'horizontal'].includes(direction)"
79
- class="pxd-fader--item horizontal inset-0 absolute rounded-inherit before:default-transition-duration before:default-transition-timing-function"
81
+ class="pxd-fader--item horizontal inset-0 absolute rounded-inherit before:default-transition-duration before:default-transition-timing-function after:default-transition-duration after:default-transition-timing-function"
80
82
  :class="{ left: fader.left, right: fader.right }"
81
83
  />
82
84
  <div
83
85
  v-if="['both', 'vertical'].includes(direction)"
84
- class="pxd-fader--item vertical inset-0 absolute rounded-inherit before:default-transition-duration before:default-transition-timing-function"
86
+ class="pxd-fader--item vertical inset-0 absolute rounded-inherit before:default-transition-duration before:default-transition-timing-function after:default-transition-duration after:default-transition-timing-function"
85
87
  :class="{ top: fader.top, bottom: fader.bottom }"
86
88
  />
87
89
  </div>
88
90
  </template>
89
91
 
90
92
  <style lang="postcss">
91
- .pxd-fader--item::before {
93
+ .pxd-fader--item::before,
94
+ .pxd-fader--item::after {
92
95
  content: '';
93
96
  position: absolute;
94
97
  border-radius: inherit;
@@ -103,12 +106,15 @@ onBeforeUnmount(() => {
103
106
  }
104
107
 
105
108
  .pxd-fader--item.left::before,
106
- .pxd-fader--item.top::before {
109
+ .pxd-fader--item.top::before,
110
+ .pxd-fader--item.right::after,
111
+ .pxd-fader--item.bottom::after {
107
112
  opacity: 1;
108
113
  }
109
114
 
110
115
  .pxd-fader--item.horizontal {
111
- &::before {
116
+ &::before,
117
+ &::after {
112
118
  top: 0;
113
119
  width: var(--fader-size, 16px);
114
120
  height: 100%;
@@ -119,10 +125,17 @@ onBeforeUnmount(() => {
119
125
  --dir: to left;
120
126
  --dir-revert: to right;
121
127
  }
128
+
129
+ &::after {
130
+ right: 0;
131
+ --dir: to right;
132
+ --dir-revert: to left;
133
+ }
122
134
  }
123
135
 
124
136
  .pxd-fader--item.vertical {
125
- &::before {
137
+ &::before,
138
+ &::after {
126
139
  left: 0;
127
140
  width: 100%;
128
141
  height: var(--fader-size, 16px);
@@ -133,5 +146,11 @@ onBeforeUnmount(() => {
133
146
  --dir: to top;
134
147
  --dir-revert: to bottom;
135
148
  }
149
+
150
+ &::after {
151
+ bottom: 0;
152
+ --dir: to bottom;
153
+ --dir-revert: to top;
154
+ }
136
155
  }
137
156
  </style>
@@ -1,8 +1,8 @@
1
- import type { ComponentDirection } from '../../types/shared/props'
1
+ import type { ComponentDirection } from '../../types/shared'
2
2
 
3
3
  export interface FaderProps {
4
4
  size?: number
5
5
  color?: string
6
- container?: string | HTMLElement
6
+ container?: string | object
7
7
  direction?: ComponentDirection | 'both'
8
8
  }
@@ -1,10 +1,11 @@
1
1
  <script setup>
2
2
  import ChartActivityIcon from "@gdsicon/vue/chart-activity";
3
3
  import { computed } from "vue";
4
- import { useConfigProvider } from "../../composables/use-config-provider-context";
4
+ import { useConfigProvider } from "../../contexts/config-provider";
5
5
  import { getColorByThreshold, getFallbackValue } from "../../utils/get";
6
6
  defineOptions({
7
7
  name: "PGauge",
8
+ inheritAttrs: false,
8
9
  model: {
9
10
  prop: "modelValue",
10
11
  event: "update:modelValue"
@@ -99,7 +100,11 @@ const progressColors = computed(() => {
99
100
  </script>
100
101
 
101
102
  <template>
102
- <div class="pxd-gauge relative size-max" :style="`--gauge-size: ${computedSize}px`">
103
+ <div
104
+ class="pxd-gauge relative size-max"
105
+ :style="`--gauge-size: ${computedSize}px`"
106
+ v-bind="$attrs"
107
+ >
103
108
  <svg
104
109
  class="pxd-gauge--svg block size-(--gauge-size) -rotate-85 overflow-visible"
105
110
  aria-hidden="true"
@@ -52,7 +52,6 @@ const formattedCols = computed(() => {
52
52
  });
53
53
  const computedClasses = computed(() => {
54
54
  return [
55
- "pxd-grid relative grid max-w-full",
56
55
  ...Object.keys(formattedRows.value).map(
57
56
  (bp) => presetGridRows[bp]
58
57
  ),
@@ -71,11 +70,17 @@ const computedStyle = computed(() => {
71
70
  </script>
72
71
 
73
72
  <template>
74
- <div :class="computedClasses" :style="computedStyle" v-bind="$attrs">
75
- <slot />
73
+ <div class="pxd-grid relative w-full max-w-full" v-bind="$attrs">
74
+ <section
75
+ class="pxd-grid-section [container-type:inline-size] grid h-full max-h-inherit min-h-inherit w-full max-w-inherit min-w-inherit"
76
+ :class="computedClasses"
77
+ :style="computedStyle"
78
+ >
79
+ <slot />
80
+ </section>
76
81
  </div>
77
82
  </template>
78
83
 
79
84
  <style>
80
- .pxd-grid.debug{--grid-line-color:var(--color-amber-400);background-image:linear-gradient(to right,var(--grid-line-color) 0 1px,transparent 1px 100%),linear-gradient(to bottom,var(--grid-line-color) 0 1px,transparent 1px 100%),linear-gradient(to right,transparent calc(100% - 1px),var(--grid-line-color) 0),linear-gradient(to bottom,transparent calc(100% - 1px),var(--grid-line-color) 0);background-origin:padding-box;background-repeat:repeat,repeat,no-repeat,no-repeat;background-size:calc(100%/var(--cols-count)) 100%,100% calc(100%/var(--rows-count)),100% 100%,100% 100%}
85
+ .pxd-grid-section.debug{--grid-line-color:var(--color-amber-400);background-image:linear-gradient(to right,var(--grid-line-color) 0 1px,transparent 1px 100%),linear-gradient(to bottom,var(--grid-line-color) 0 1px,transparent 1px 100%),linear-gradient(to right,transparent calc(100% - 1px),var(--grid-line-color) 0),linear-gradient(to bottom,transparent calc(100% - 1px),var(--grid-line-color) 0);background-origin:padding-box;background-repeat:repeat,repeat,no-repeat,no-repeat;background-size:calc(100%/var(--cols-count)) 100%,100% calc(100%/var(--rows-count)),100% 100%,100% 100%}
81
86
  </style>
@@ -5,8 +5,3 @@ export interface GridProps {
5
5
  rows?: ResponsiveValue<string | number>
6
6
  columns?: ResponsiveValue<string | number>
7
7
  }
8
-
9
- export interface GridItemProps {
10
- row?: ResponsiveValue<string | number>
11
- column?: ResponsiveValue<string | number>
12
- }
@@ -1,4 +1,4 @@
1
- import type { GridItemProps } from '../grid/types';
1
+ import type { GridItemProps } from './types';
2
2
  declare var __VLS_1: {};
3
3
  type __VLS_Slots = {} & {
4
4
  default?: (props: typeof __VLS_1) => any;
@@ -2,7 +2,8 @@
2
2
  import { computed } from "vue";
3
3
  import { getResponsiveValue } from "../../utils/responsive";
4
4
  defineOptions({
5
- name: "PGridItem"
5
+ name: "PGridItem",
6
+ inheritAttrs: false
6
7
  });
7
8
  const props = defineProps({
8
9
  row: { type: [String, Number, Object], required: false },
@@ -27,7 +28,9 @@ const formattedRow = computed(() => {
27
28
  return getResponsiveValue(
28
29
  row,
29
30
  (typeof row === "object" ? row.xs : row) ?? "auto",
30
- (acc, bp, value) => acc[`--${bp}-row`] = value
31
+ (acc, bp, value) => {
32
+ acc[`--${bp}-row`] = value;
33
+ }
31
34
  );
32
35
  });
33
36
  const formattedCol = computed(() => {
@@ -35,16 +38,16 @@ const formattedCol = computed(() => {
35
38
  return getResponsiveValue(
36
39
  column,
37
40
  (typeof column === "object" ? column.xs : column) ?? "auto",
38
- (acc, bp, value) => acc[`--${bp}-col`] = value
41
+ (acc, bp, value) => {
42
+ acc[`--${bp}-col`] = value;
43
+ }
39
44
  );
40
45
  });
41
46
  const computedClasses = computed(() => {
42
- const classes = ["pxd-grid-item overflow-hidden"];
43
- classes.push(
47
+ return [
44
48
  ...Object.keys(formattedRow.value).map((bp) => presetGridRow[bp]),
45
49
  ...Object.keys(formattedCol.value).map((bp) => presetGridCol[bp])
46
- );
47
- return classes.join(" ");
50
+ ].join(" ");
48
51
  });
49
52
  const gridItemStyle = computed(() => {
50
53
  return {
@@ -55,7 +58,12 @@ const gridItemStyle = computed(() => {
55
58
  </script>
56
59
 
57
60
  <template>
58
- <div :class="computedClasses" :style="gridItemStyle" v-bind="$attrs">
61
+ <div
62
+ class="pxd-grid-item overflow-hidden"
63
+ :class="computedClasses"
64
+ :style="gridItemStyle"
65
+ v-bind="$attrs"
66
+ >
59
67
  <slot />
60
68
  </div>
61
69
  </template>
@@ -0,0 +1,6 @@
1
+ import type { ResponsiveValue } from '../../types/shared'
2
+
3
+ export interface GridItemProps {
4
+ row?: ResponsiveValue<string | number>
5
+ column?: ResponsiveValue<string | number>
6
+ }
@@ -10,15 +10,15 @@ type __VLS_Slots = {} & {
10
10
  declare const __VLS_base: import("vue").DefineComponent<HoldButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
11
  pointerdown: (args_0: PointerEvent) => any;
12
12
  pointerup: (args_0: PointerEvent) => any;
13
+ finished: (args_0: boolean) => any;
13
14
  confirm: () => any;
14
15
  canceled: () => any;
15
- finished: (args_0: boolean) => any;
16
16
  }, string, import("vue").PublicProps, Readonly<HoldButtonProps> & Readonly<{
17
17
  onPointerdown?: ((args_0: PointerEvent) => any) | undefined;
18
18
  onPointerup?: ((args_0: PointerEvent) => any) | undefined;
19
+ onFinished?: ((args_0: boolean) => any) | undefined;
19
20
  onConfirm?: (() => any) | undefined;
20
21
  onCanceled?: (() => any) | undefined;
21
- onFinished?: ((args_0: boolean) => any) | undefined;
22
22
  }>, {
23
23
  durations: number | string;
24
24
  vibrate: boolean;
@@ -1,10 +1,11 @@
1
1
  <script setup>
2
- import { computed, onBeforeUnmount, shallowRef } from "vue";
2
+ import { computed, onBeforeUnmount, shallowRef, useAttrs } from "vue";
3
3
  import { getStyle } from "../../utils/dom";
4
4
  import { off, once } from "../../utils/event";
5
5
  import PButton from "../button/index.vue";
6
6
  defineOptions({
7
- name: "PHoldButton"
7
+ name: "PHoldButton",
8
+ inheritAttrs: false
8
9
  });
9
10
  const props = defineProps({
10
11
  vibrate: { type: Boolean, required: false, default: true },
@@ -22,6 +23,7 @@ const props = defineProps({
22
23
  fullWidth: { type: Boolean, required: false }
23
24
  });
24
25
  const emits = defineEmits(["confirm", "canceled", "finished", "pointerup", "pointerdown"]);
26
+ const attrs = useAttrs();
25
27
  const status = shallowRef("idle");
26
28
  const computedAttrs = computed(() => {
27
29
  const { scalable, durations, maskColor, cancelable, ...rest } = props;
@@ -33,7 +35,8 @@ const computedAttrs = computed(() => {
33
35
  effective: status.value !== "canceled"
34
36
  }
35
37
  ],
36
- ...rest
38
+ ...rest,
39
+ ...attrs
37
40
  };
38
41
  });
39
42
  const computedStyle = computed(() => {
@@ -177,7 +180,7 @@ onBeforeUnmount(() => {
177
180
  clip-path: inset(0px);
178
181
  transition:
179
182
  clip-path var(--hold-button-durations),
180
- opacity var(--default-transition-duration);
183
+ opacity 0.1s;
181
184
  }
182
185
  }
183
186
  </style>
@@ -7,12 +7,12 @@ export { default as Book } from './book/index.vue';
7
7
  export { default as Browser } from './browser/index.vue';
8
8
  export { default as Button } from './button/index.vue';
9
9
  export { default as Carousel } from './carousel/index.vue';
10
- export { default as CarouselGroup } from './carousel-group/index.vue';
10
+ export { default as CarouselItem } from './carousel-item/index.vue';
11
11
  export { default as Checkbox } from './checkbox/index.vue';
12
12
  export { default as CheckboxGroup } from './checkbox-group/index.vue';
13
13
  export { default as Chip } from './chip/index.vue';
14
14
  export { default as Choicebox } from './choicebox/index.vue';
15
- export { default as ChoiceboxGroup } from './choicebox-group/index.vue';
15
+ export { default as ChoiceboxItem } from './choicebox-item/index.vue';
16
16
  export { default as Collapse } from './collapse/index.vue';
17
17
  export { default as CollapseGroup } from './collapse-group/index.vue';
18
18
  export { default as CommandMenu } from './command-menu/index.vue';
@@ -22,6 +22,7 @@ export { default as Countdown } from './countdown/index.vue';
22
22
  export { default as DashLine } from './dash-line/index.vue';
23
23
  export { default as Description } from './description/index.vue';
24
24
  export { default as Drawer } from './drawer/index.vue';
25
+ export { default as EllipsisText } from './ellipsis-text/index.vue';
25
26
  export { default as EmptyState } from './empty-state/index.vue';
26
27
  export { default as Error } from './error/index.vue';
27
28
  export { default as Fader } from './fader/index.vue';
@@ -53,6 +54,7 @@ export { default as PinInput } from './pin-input/index.vue';
53
54
  export { default as Placeholder } from './placeholder/index.vue';
54
55
  export { default as Popover } from './popover/index.vue';
55
56
  export { default as Progress } from './progress/index.vue';
57
+ export { default as ProjectBanner } from './project-banner/index.vue';
56
58
  export { default as Radio } from './radio/index.vue';
57
59
  export { default as RadioGroup } from './radio-group/index.vue';
58
60
  export { default as Resizable } from './resizable/index.vue';
@@ -66,12 +68,14 @@ export { default as Spinner } from './spinner/index.vue';
66
68
  export { default as Stack } from './stack/index.vue';
67
69
  export { default as StatusDot } from './status-dot/index.vue';
68
70
  export { default as Switch } from './switch/index.vue';
69
- export { default as SwitchGroup } from './switch-group/index.vue';
71
+ export { default as SwitchItem } from './switch-item/index.vue';
70
72
  export { default as Teleport } from './teleport/index.vue';
71
73
  export { default as Text } from './text/index.vue';
72
74
  export { default as Textarea } from './textarea/index.vue';
73
75
  export { default as ThemeSwitcher } from './theme-switcher/index.vue';
74
76
  export { default as TimePicker } from './time-picker/index.vue';
75
77
  export { default as Toggle } from './toggle/index.vue';
78
+ export { default as ToggleButton } from './toggle-button/index.vue';
79
+ export { default as ToggleButtonGroup } from './toggle-button-group/index.vue';
76
80
  export { default as Tooltip } from './tooltip/index.vue';
77
81
  export { default as VirtualList } from './virtual-list/index.vue';
@@ -7,12 +7,12 @@ export { default as Book } from "./book/index.vue";
7
7
  export { default as Browser } from "./browser/index.vue";
8
8
  export { default as Button } from "./button/index.vue";
9
9
  export { default as Carousel } from "./carousel/index.vue";
10
- export { default as CarouselGroup } from "./carousel-group/index.vue";
10
+ export { default as CarouselItem } from "./carousel-item/index.vue";
11
11
  export { default as Checkbox } from "./checkbox/index.vue";
12
12
  export { default as CheckboxGroup } from "./checkbox-group/index.vue";
13
13
  export { default as Chip } from "./chip/index.vue";
14
14
  export { default as Choicebox } from "./choicebox/index.vue";
15
- export { default as ChoiceboxGroup } from "./choicebox-group/index.vue";
15
+ export { default as ChoiceboxItem } from "./choicebox-item/index.vue";
16
16
  export { default as Collapse } from "./collapse/index.vue";
17
17
  export { default as CollapseGroup } from "./collapse-group/index.vue";
18
18
  export { default as CommandMenu } from "./command-menu/index.vue";
@@ -22,6 +22,7 @@ export { default as Countdown } from "./countdown/index.vue";
22
22
  export { default as DashLine } from "./dash-line/index.vue";
23
23
  export { default as Description } from "./description/index.vue";
24
24
  export { default as Drawer } from "./drawer/index.vue";
25
+ export { default as EllipsisText } from "./ellipsis-text/index.vue";
25
26
  export { default as EmptyState } from "./empty-state/index.vue";
26
27
  export { default as Error } from "./error/index.vue";
27
28
  export { default as Fader } from "./fader/index.vue";
@@ -53,6 +54,7 @@ export { default as PinInput } from "./pin-input/index.vue";
53
54
  export { default as Placeholder } from "./placeholder/index.vue";
54
55
  export { default as Popover } from "./popover/index.vue";
55
56
  export { default as Progress } from "./progress/index.vue";
57
+ export { default as ProjectBanner } from "./project-banner/index.vue";
56
58
  export { default as Radio } from "./radio/index.vue";
57
59
  export { default as RadioGroup } from "./radio-group/index.vue";
58
60
  export { default as Resizable } from "./resizable/index.vue";
@@ -66,12 +68,14 @@ export { default as Spinner } from "./spinner/index.vue";
66
68
  export { default as Stack } from "./stack/index.vue";
67
69
  export { default as StatusDot } from "./status-dot/index.vue";
68
70
  export { default as Switch } from "./switch/index.vue";
69
- export { default as SwitchGroup } from "./switch-group/index.vue";
71
+ export { default as SwitchItem } from "./switch-item/index.vue";
70
72
  export { default as Teleport } from "./teleport/index.vue";
71
73
  export { default as Text } from "./text/index.vue";
72
74
  export { default as Textarea } from "./textarea/index.vue";
73
75
  export { default as ThemeSwitcher } from "./theme-switcher/index.vue";
74
76
  export { default as TimePicker } from "./time-picker/index.vue";
75
77
  export { default as Toggle } from "./toggle/index.vue";
78
+ export { default as ToggleButton } from "./toggle-button/index.vue";
79
+ export { default as ToggleButtonGroup } from "./toggle-button-group/index.vue";
76
80
  export { default as Tooltip } from "./tooltip/index.vue";
77
81
  export { default as VirtualList } from "./virtual-list/index.vue";
@@ -17,29 +17,29 @@ declare const __VLS_base: import("vue").DefineComponent<InputProps, {
17
17
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
18
  input: (args_0: string) => any;
19
19
  click: (args_0: MouseEvent) => any;
20
- blur: (args_0: FocusEvent) => any;
21
20
  change: (args_0: string, args_1: Event) => any;
21
+ "update:modelValue": (args_0: string) => any;
22
+ keydown: (args_0: KeyboardEvent) => any;
23
+ blur: (args_0: FocusEvent) => any;
22
24
  compositionend: (args_0: CompositionEvent) => any;
23
25
  compositionstart: (args_0: CompositionEvent) => any;
24
26
  compositionupdate: (args_0: CompositionEvent) => any;
25
27
  focus: (args_0: FocusEvent) => any;
26
- keydown: (args_0: KeyboardEvent) => any;
27
- "update:modelValue": (args_0: string) => any;
28
28
  }, string, import("vue").PublicProps, Readonly<InputProps> & Readonly<{
29
29
  onInput?: ((args_0: string) => any) | undefined;
30
30
  onClick?: ((args_0: MouseEvent) => any) | undefined;
31
- onBlur?: ((args_0: FocusEvent) => any) | undefined;
32
31
  onChange?: ((args_0: string, args_1: Event) => any) | undefined;
32
+ "onUpdate:modelValue"?: ((args_0: string) => any) | undefined;
33
+ onKeydown?: ((args_0: KeyboardEvent) => any) | undefined;
34
+ onBlur?: ((args_0: FocusEvent) => any) | undefined;
33
35
  onCompositionend?: ((args_0: CompositionEvent) => any) | undefined;
34
36
  onCompositionstart?: ((args_0: CompositionEvent) => any) | undefined;
35
37
  onCompositionupdate?: ((args_0: CompositionEvent) => any) | undefined;
36
38
  onFocus?: ((args_0: FocusEvent) => any) | undefined;
37
- onKeydown?: ((args_0: KeyboardEvent) => any) | undefined;
38
- "onUpdate:modelValue"?: ((args_0: string) => any) | undefined;
39
39
  }>, {
40
40
  align: "left" | "center" | "right";
41
- prefixStyle: boolean;
42
- suffixStyle: boolean;
41
+ defaultPrefixStyle: boolean;
42
+ defaultSuffixStyle: boolean;
43
43
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
44
44
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
45
45
  declare const _default: typeof __VLS_export;