@pixelium/web-vue 0.0.1-beta → 0.0.2-fix

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 (199) hide show
  1. package/README.md +21 -10
  2. package/README.zh.md +21 -10
  3. package/dist/icon-pa.d.ts +490 -0
  4. package/dist/index.d.ts +1586 -10
  5. package/dist/pixelium-vue-icon-pa.cjs +1 -0
  6. package/dist/pixelium-vue-icon-pa.css +1 -0
  7. package/dist/pixelium-vue-icon-pa.js +10143 -0
  8. package/dist/pixelium-vue-icon-pa.umd.cjs +1 -0
  9. package/dist/pixelium-vue.cjs +12 -1
  10. package/dist/pixelium-vue.css +1 -1
  11. package/dist/pixelium-vue.js +5370 -1093
  12. package/dist/pixelium-vue.umd.cjs +12 -1
  13. package/es/aside/css.js +1 -1
  14. package/es/aside/index.js +60 -13
  15. package/es/auto-complete/css.js +2 -0
  16. package/es/auto-complete/draw.d.ts +2 -0
  17. package/es/auto-complete/draw.js +52 -0
  18. package/es/auto-complete/index.css +123 -0
  19. package/es/auto-complete/index.d.ts +35 -0
  20. package/es/auto-complete/index.js +402 -0
  21. package/es/auto-complete/type.d.ts +192 -0
  22. package/es/button/css.js +1 -1
  23. package/es/button/draw.d.ts +1 -2
  24. package/es/button/draw.js +105 -123
  25. package/es/button/index.css +24 -14
  26. package/es/button/index.js +70 -121
  27. package/es/button-group/css.js +1 -1
  28. package/es/button-group/index.d.ts +0 -1
  29. package/es/button-group/index.js +11 -37
  30. package/es/button-group/type.d.ts +1 -1
  31. package/es/col/css.js +1 -1
  32. package/es/col/index.d.ts +2 -2
  33. package/es/container/css.js +1 -1
  34. package/es/divider/css.js +1 -1
  35. package/es/empty/css.js +2 -0
  36. package/es/empty/index.css +19 -0
  37. package/es/empty/index.d.ts +17 -0
  38. package/es/empty/index.js +73 -0
  39. package/es/empty/type.d.ts +19 -0
  40. package/es/footer/css.js +1 -1
  41. package/es/grid/css.js +1 -1
  42. package/es/grid/index.js +5 -1
  43. package/es/grid-item/css.js +1 -1
  44. package/es/grid-item/index.d.ts +1 -1
  45. package/es/grid-item/index.js +7 -3
  46. package/es/header/css.js +1 -1
  47. package/es/icon/css.js +1 -1
  48. package/es/icon/index.css +0 -3
  49. package/es/icon/index.js +1 -1
  50. package/es/icons/css-pa.js +2 -0
  51. package/es/icons/icon-hn.js +1 -1
  52. package/es/icons/icon-pa.css +9 -0
  53. package/es/icons/icon-pa.d.ts +490 -0
  54. package/es/icons/icon-pa.js +17449 -0
  55. package/es/index.css +22 -8
  56. package/es/index.d.ts +18 -1
  57. package/es/index.js +63 -2
  58. package/es/input/css.js +2 -0
  59. package/es/input/draw.d.ts +2 -0
  60. package/es/input/draw.js +52 -0
  61. package/es/input/index.css +138 -0
  62. package/es/input/index.d.ts +50 -0
  63. package/es/input/index.js +432 -0
  64. package/es/input/type.d.ts +175 -0
  65. package/es/input-group/css.js +2 -0
  66. package/es/input-group/index.css +24 -0
  67. package/es/input-group/index.d.ts +17 -0
  68. package/es/input-group/index.js +40 -0
  69. package/es/input-group/type.d.ts +30 -0
  70. package/es/input-group-label/css.js +2 -0
  71. package/es/input-group-label/draw.d.ts +2 -0
  72. package/es/input-group-label/draw.js +52 -0
  73. package/es/input-group-label/index.css +50 -0
  74. package/es/input-group-label/index.d.ts +16 -0
  75. package/es/input-group-label/index.js +129 -0
  76. package/es/input-group-label/type.d.ts +30 -0
  77. package/es/input-number/css.js +2 -0
  78. package/es/input-number/draw.d.ts +2 -0
  79. package/es/input-number/draw.js +52 -0
  80. package/es/input-number/index.css +161 -0
  81. package/es/input-number/index.d.ts +47 -0
  82. package/es/input-number/index.js +543 -0
  83. package/es/input-number/type.d.ts +183 -0
  84. package/es/input-tag/css.js +2 -0
  85. package/es/input-tag/draw.d.ts +2 -0
  86. package/es/input-tag/draw.js +49 -0
  87. package/es/input-tag/index.css +133 -0
  88. package/es/input-tag/index.d.ts +73 -0
  89. package/es/input-tag/index.js +474 -0
  90. package/es/input-tag/type.d.ts +212 -0
  91. package/es/link/css.js +1 -1
  92. package/es/link/index.css +2 -5
  93. package/es/link/index.js +10 -6
  94. package/es/main/css.js +1 -1
  95. package/es/mask/css.js +2 -0
  96. package/es/mask/index.css +17 -0
  97. package/es/mask/index.d.ts +8 -0
  98. package/es/mask/index.js +117 -0
  99. package/es/mask/type.d.ts +27 -0
  100. package/es/message/css.js +1 -1
  101. package/es/message/index.css +26 -26
  102. package/es/message/index.d.ts +1 -1
  103. package/es/message/index.js +22 -50
  104. package/es/message-box/css.js +1 -1
  105. package/es/message-box/index.js +40 -30
  106. package/es/message-box/message-box-wrapped.d.ts +0 -1
  107. package/es/message-box/message-box-wrapped.js +2 -2
  108. package/es/message-box/message-box.d.ts +2 -1
  109. package/es/message-box/message-box.js +10 -8
  110. package/es/message-box/type.d.ts +14 -4
  111. package/es/option-list/css.js +2 -0
  112. package/es/option-list/index.css +57 -0
  113. package/es/option-list/index.d.ts +38 -0
  114. package/es/option-list/index.js +169 -0
  115. package/es/option-list/type.d.ts +16 -0
  116. package/es/popover/css.js +1 -0
  117. package/es/popover/index.d.ts +203 -0
  118. package/es/popover/index.js +240 -0
  119. package/es/popover/type.d.ts +100 -0
  120. package/es/popup-content/css.js +2 -0
  121. package/es/popup-content/draw.d.ts +6 -0
  122. package/es/popup-content/draw.js +151 -0
  123. package/es/popup-content/index.css +99 -0
  124. package/es/popup-content/index.d.ts +30 -0
  125. package/es/popup-content/index.js +1578 -0
  126. package/es/popup-content/type.d.ts +20 -0
  127. package/es/popup-trigger/css.js +1 -0
  128. package/es/popup-trigger/index.d.ts +22 -0
  129. package/es/popup-trigger/index.js +97 -0
  130. package/es/popup-trigger/type.d.ts +9 -0
  131. package/es/row/css.js +1 -1
  132. package/es/select/css.js +2 -0
  133. package/es/select/draw.d.ts +2 -0
  134. package/es/select/draw.js +52 -0
  135. package/es/select/index.css +152 -0
  136. package/es/select/index.d.ts +44 -0
  137. package/es/select/index.js +677 -0
  138. package/es/select/type.d.ts +252 -0
  139. package/es/share/const/event-bus-key.d.ts +4 -0
  140. package/es/share/const/event-bus-key.js +10 -0
  141. package/es/share/const/index.d.ts +4 -0
  142. package/es/share/const/index.js +11 -2
  143. package/es/share/const/provide-key.d.ts +3 -0
  144. package/es/share/const/provide-key.js +8 -0
  145. package/es/share/hook/use-click-outside-listener.d.ts +4 -0
  146. package/es/share/hook/use-click-outside-listener.js +44 -0
  147. package/es/share/hook/use-composition.d.ts +5 -0
  148. package/es/share/hook/use-composition.js +17 -0
  149. package/es/share/hook/use-controlled-mode.d.ts +6 -0
  150. package/es/share/hook/use-controlled-mode.js +25 -0
  151. package/es/share/hook/use-dark-mode.js +11 -3
  152. package/es/share/hook/use-index-of-children.d.ts +2 -1
  153. package/es/share/hook/use-index-of-children.js +25 -35
  154. package/es/share/hook/use-resize-observer.js +1 -1
  155. package/es/share/hook/use-textarea-height.d.ts +5 -0
  156. package/es/share/hook/use-textarea-height.js +116 -0
  157. package/es/share/hook/use-watch-global-css-var.d.ts +1 -0
  158. package/es/share/hook/use-watch-global-css-var.js +19 -0
  159. package/es/share/hook/use-z-index.d.ts +6 -0
  160. package/es/share/hook/use-z-index.js +32 -0
  161. package/es/share/type/index.d.ts +9 -1
  162. package/es/share/util/color.js +4 -2
  163. package/es/share/util/common.d.ts +5 -0
  164. package/es/share/util/common.js +71 -0
  165. package/es/share/util/event-bus.d.ts +1 -0
  166. package/es/share/util/event-bus.js +20 -0
  167. package/es/share/util/plot.d.ts +15 -2
  168. package/es/share/util/plot.js +200 -30
  169. package/es/share/util/render.d.ts +1 -0
  170. package/es/share/util/render.js +10 -2
  171. package/es/share/util/theme.js +23 -4
  172. package/es/space/css.js +1 -1
  173. package/es/space/index.css +5 -0
  174. package/es/space/index.js +2 -2
  175. package/es/spin/css.js +2 -0
  176. package/es/spin/index.css +66 -0
  177. package/es/spin/index.d.ts +24 -0
  178. package/es/spin/index.js +104 -0
  179. package/es/spin/type.d.ts +54 -0
  180. package/es/tag/css.js +2 -0
  181. package/es/tag/draw.d.ts +6 -0
  182. package/es/tag/draw.js +135 -0
  183. package/es/tag/index.css +372 -0
  184. package/es/tag/index.d.ts +23 -0
  185. package/es/tag/index.js +193 -0
  186. package/es/tag/type.d.ts +58 -0
  187. package/es/textarea/css.js +2 -0
  188. package/es/textarea/draw.d.ts +2 -0
  189. package/es/textarea/draw.js +13 -0
  190. package/es/textarea/index.css +108 -0
  191. package/es/textarea/index.d.ts +49 -0
  192. package/es/textarea/index.js +267 -0
  193. package/es/textarea/type.d.ts +169 -0
  194. package/es/tooltip/css.js +1 -0
  195. package/es/tooltip/index.d.ts +20 -0
  196. package/es/tooltip/index.js +228 -0
  197. package/es/tooltip/type.d.ts +77 -0
  198. package/package.json +17 -3
  199. package/es/icons/{css.js → css-hn.js} +1 -1
@@ -0,0 +1,228 @@
1
+ import './css.js'
2
+ import { defineComponent, computed, ref, shallowRef, watch, onMounted, nextTick, useSlots, createVNode, Fragment } from "vue";
3
+ import { N } from "../aside/index.js";
4
+ import { _ as _sfc_main$2 } from "../popup-content/index.js";
5
+ import { _ as _sfc_main$1 } from "../popup-trigger/index.js";
6
+ import { i as inBrowser } from "../share/util/env.js";
7
+ const BORDER_RADIUS = 16;
8
+ const HOVER_CLOSE_DELAY = 300;
9
+ const _sfc_main = /* @__PURE__ */ defineComponent({
10
+ ...{
11
+ name: "Tooltip"
12
+ },
13
+ __name: "index",
14
+ props: {
15
+ content: null,
16
+ visible: {
17
+ type: Boolean,
18
+ default: void 0
19
+ },
20
+ defaultVisible: {
21
+ type: Boolean,
22
+ default: void 0
23
+ },
24
+ placement: {
25
+ default: "top"
26
+ },
27
+ trigger: {
28
+ default: "hover"
29
+ },
30
+ offset: {
31
+ default: 8
32
+ },
33
+ variant: {
34
+ default: "dark"
35
+ },
36
+ arrow: {
37
+ type: Boolean,
38
+ default: true
39
+ },
40
+ disabled: {
41
+ type: Boolean
42
+ },
43
+ zIndex: null,
44
+ root: {
45
+ default: "body"
46
+ }
47
+ },
48
+ emits: ["update:visible", "close", "open"],
49
+ setup(__props, {
50
+ emit: __emit
51
+ }) {
52
+ const props = __props;
53
+ const controlledMode = computed(() => {
54
+ return props.visible !== void 0;
55
+ });
56
+ const preDisplay = controlledMode.value ? props.visible : props.defaultVisible;
57
+ const display = ref(N(preDisplay) ? false : preDisplay);
58
+ const contentRef = shallowRef();
59
+ const triggerRef = shallowRef();
60
+ const emits = __emit;
61
+ const currentTrigger = shallowRef(null);
62
+ let closeDelayPromiseReject;
63
+ async function openHandler(node, e) {
64
+ if (closeDelayPromiseReject) {
65
+ closeDelayPromiseReject();
66
+ closeDelayPromiseReject = void 0;
67
+ }
68
+ await openHandlerImpl(node);
69
+ emits("open", e);
70
+ }
71
+ async function openHandlerImpl(node, controlled = false) {
72
+ if (inBrowser()) {
73
+ resizeObserver == null ? void 0 : resizeObserver.disconnect();
74
+ if (node.el instanceof HTMLElement) {
75
+ currentTrigger.value = node;
76
+ } else {
77
+ currentTrigger.value = null;
78
+ }
79
+ if (currentTrigger.value && currentTrigger.value.el instanceof HTMLElement) {
80
+ resizeObserver == null ? void 0 : resizeObserver.observe(currentTrigger.value.el);
81
+ }
82
+ }
83
+ if (controlledMode.value && !controlled) {
84
+ emits("update:visible", true);
85
+ await nextTick(() => {
86
+ });
87
+ display.value = !!props.visible;
88
+ } else {
89
+ display.value = true;
90
+ }
91
+ }
92
+ async function closeHandler(e) {
93
+ if (props.trigger === "click") {
94
+ const clickContent = contentRef.value && contentRef.value.content && contentRef.value.content.contains(e.target);
95
+ if (clickContent || !display.value) {
96
+ return;
97
+ }
98
+ } else {
99
+ if (closeDelayPromiseReject) {
100
+ closeDelayPromiseReject();
101
+ closeDelayPromiseReject = void 0;
102
+ }
103
+ const {
104
+ resolve,
105
+ reject,
106
+ promise
107
+ } = Promise.withResolvers();
108
+ closeDelayPromiseReject = reject;
109
+ setTimeout(() => {
110
+ resolve();
111
+ }, HOVER_CLOSE_DELAY);
112
+ try {
113
+ await promise;
114
+ } catch {
115
+ return;
116
+ }
117
+ }
118
+ if (controlledMode.value) {
119
+ emits("update:visible", false);
120
+ await nextTick(() => {
121
+ });
122
+ display.value = !!props.visible;
123
+ } else {
124
+ display.value = false;
125
+ }
126
+ emits("close", e);
127
+ }
128
+ const contentMouseenterHandler = () => {
129
+ if (props.trigger === "click") {
130
+ return;
131
+ }
132
+ if (closeDelayPromiseReject) {
133
+ closeDelayPromiseReject();
134
+ closeDelayPromiseReject = void 0;
135
+ }
136
+ };
137
+ const contentMouseleaveHandler = (e) => {
138
+ if (props.trigger === "click") {
139
+ return;
140
+ }
141
+ closeHandler(e);
142
+ };
143
+ const preprocessCurrentTrigger = () => {
144
+ if (!inBrowser()) {
145
+ return;
146
+ }
147
+ if (!currentTrigger.value && triggerRef.value && triggerRef.value.firstVNode) {
148
+ resizeObserver == null ? void 0 : resizeObserver.disconnect();
149
+ currentTrigger.value = triggerRef.value.firstVNode;
150
+ if (currentTrigger.value.el instanceof HTMLElement) {
151
+ resizeObserver == null ? void 0 : resizeObserver.observe(currentTrigger.value.el);
152
+ }
153
+ }
154
+ };
155
+ const processVisible = (value) => {
156
+ if (value) {
157
+ preprocessCurrentTrigger();
158
+ if (currentTrigger.value) {
159
+ openHandlerImpl(currentTrigger.value, true);
160
+ }
161
+ } else {
162
+ display.value = false;
163
+ }
164
+ };
165
+ watch(() => props.visible, () => {
166
+ processVisible(!!props.visible);
167
+ });
168
+ const resizeObserver = inBrowser() ? new ResizeObserver(() => {
169
+ updateRenderState();
170
+ }) : null;
171
+ onMounted(() => {
172
+ nextTick(() => {
173
+ if (display.value) {
174
+ updateRenderState();
175
+ }
176
+ });
177
+ });
178
+ const updateRenderState = () => {
179
+ var _a;
180
+ preprocessCurrentTrigger();
181
+ if (inBrowser()) {
182
+ (_a = contentRef.value) == null ? void 0 : _a.updateRenderState();
183
+ }
184
+ };
185
+ const slots = useSlots();
186
+ const checkCurrentTrigger = (_) => {
187
+ var _a;
188
+ if (!inBrowser()) {
189
+ return false;
190
+ }
191
+ return ((_a = currentTrigger.value) == null ? void 0 : _a.el) instanceof HTMLElement;
192
+ };
193
+ return () => {
194
+ var _a;
195
+ return createVNode(Fragment, null, [createVNode(_sfc_main$1, {
196
+ "trigger": props.trigger,
197
+ "disabled": props.disabled,
198
+ "onClose": closeHandler,
199
+ "onOpen": openHandler,
200
+ "ref": (node) => triggerRef.value = node
201
+ }, {
202
+ default: () => {
203
+ var _a2;
204
+ return [(_a2 = slots.default) == null ? void 0 : _a2.call(slots)];
205
+ }
206
+ }), createVNode(_sfc_main$2, {
207
+ "visible": display.value,
208
+ "content": props.content,
209
+ "zIndex": props.zIndex,
210
+ "variant": props.variant,
211
+ "placement": props.placement,
212
+ "arrow": props.arrow,
213
+ "offset": props.offset,
214
+ "borderRadius": BORDER_RADIUS,
215
+ "root": props.root,
216
+ "target": checkCurrentTrigger((_a = currentTrigger.value) == null ? void 0 : _a.el) ? currentTrigger.value.el : null,
217
+ "onContentMouseenter": contentMouseenterHandler,
218
+ "onContentMouseleave": contentMouseleaveHandler,
219
+ "ref": (node) => contentRef.value = node
220
+ }, {
221
+ content: slots.content
222
+ })]);
223
+ };
224
+ }
225
+ });
226
+ export {
227
+ _sfc_main as _
228
+ };
@@ -0,0 +1,77 @@
1
+ export type TooltipProps = {
2
+ /**
3
+ * @property {string} [content]
4
+ * @version 0.0.2
5
+ */
6
+ content?: string;
7
+ /**
8
+ * @property {boolean | null} [visible]
9
+ * @version 0.0.2
10
+ */
11
+ visible?: boolean | null;
12
+ /**
13
+ * @property {boolean | null} [defaultVisible]
14
+ * @version 0.0.2
15
+ */
16
+ defaultVisible?: boolean | null;
17
+ /**
18
+ * @property {'top' | 'right' | 'bottom' | 'left' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end'} [placement='top']
19
+ * @version 0.0.2
20
+ */
21
+ placement?: 'top' | 'right' | 'bottom' | 'left' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end';
22
+ /**
23
+ * @property {'hover' | 'click'} [trigger='hover']
24
+ * @version 0.0.2
25
+ */
26
+ trigger?: 'hover' | 'click';
27
+ /**
28
+ * @property {number} [offset=8]
29
+ * @version 0.0.2
30
+ */
31
+ offset?: number;
32
+ /**
33
+ * @property {'dark' | 'light'} [variant='dark']
34
+ * @version 0.0.2
35
+ */
36
+ variant?: 'dark' | 'light';
37
+ /**
38
+ * @property {boolean} [arrow=true]
39
+ * @version 0.0.2
40
+ */
41
+ arrow?: boolean;
42
+ /**
43
+ * @property {boolean} [disabled=false]
44
+ * @version 0.0.2
45
+ */
46
+ disabled?: boolean;
47
+ /**
48
+ * @property {number} [disabled]
49
+ * @version 0.0.2
50
+ */
51
+ zIndex?: number;
52
+ /**
53
+ * @property { HTMLElement | string} [root='body']
54
+ * @version 0.0.2
55
+ */
56
+ root?: HTMLElement | string;
57
+ };
58
+ export type TooltipEvents = {
59
+ /**
60
+ * @event update:visible
61
+ * @param {boolean} value
62
+ * @version 0.0.2
63
+ */
64
+ 'update:visible': [value: boolean];
65
+ /**
66
+ * @event close
67
+ * @param {MouseEvent} e
68
+ * @version 0.0.2
69
+ */
70
+ close: [e: MouseEvent];
71
+ /**
72
+ * @event open
73
+ * @param {MouseEvent} e
74
+ * @version 0.0.2
75
+ */
76
+ open: [e: MouseEvent];
77
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixelium/web-vue",
3
- "version": "0.0.1-beta",
3
+ "version": "0.0.2-fix",
4
4
  "type": "module",
5
5
  "main": "./dist/pixelium-vue.js",
6
6
  "exports": {
@@ -14,6 +14,11 @@
14
14
  "require": "./dist/pixelium-vue-icon-hn.cjs",
15
15
  "types": "./dist/icon-hn.d.ts"
16
16
  },
17
+ "./icon-pa": {
18
+ "import": "./dist/pixelium-vue-icon-pa.js",
19
+ "require": "./dist/pixelium-vue-icon-pa.cjs",
20
+ "types": "./dist/icon-pa.d.ts"
21
+ },
17
22
  "./es": {
18
23
  "import": "./es/index.js",
19
24
  "types": "./es/index.d.ts"
@@ -22,6 +27,10 @@
22
27
  "import": "./es/icons/icon-hn.js",
23
28
  "types": "./es/icons/icon-hn.d.ts"
24
29
  },
30
+ "./icon-pa/es": {
31
+ "import": "./es/icons/icon-pa.js",
32
+ "types": "./es/icons/icon-pa.d.ts"
33
+ },
25
34
  "./*": {
26
35
  "import": "./*"
27
36
  }
@@ -33,13 +42,15 @@
33
42
  "lint": "oxlint lib",
34
43
  "lint:fix": "oxlint ./ --fix && prettier ./ --write",
35
44
  "preview": "vite preview",
36
- "release": "npm run build && npm publish --access public"
45
+ "release": "npm run build && npm publish --access public",
46
+ "release:dry-run": "npm run build && npm publish --dry-run"
37
47
  },
38
48
  "peerDependencies": {
39
49
  "vue": "^3.5.17"
40
50
  },
41
51
  "devDependencies": {
42
52
  "@hackernoon/pixel-icon-library": "^1.0.6",
53
+ "@types/node": "^24.5.2",
43
54
  "@vitejs/plugin-vue": "^6.0.0",
44
55
  "@vitejs/plugin-vue-jsx": "^5.1.1",
45
56
  "dts-bundle-generator": "^9.5.1",
@@ -47,6 +58,7 @@
47
58
  "execa": "^9.6.0",
48
59
  "less": "^4.4.0",
49
60
  "oxlint": "^1.12.0",
61
+ "pixelarticons": "^1.8.1",
50
62
  "prettier": "^3.6.2",
51
63
  "rimraf": "^6.0.1",
52
64
  "svgo": "^4.0.0",
@@ -56,8 +68,10 @@
56
68
  "vue-tsc": "3.0.6"
57
69
  },
58
70
  "dependencies": {
71
+ "@floating-ui/dom": "^1.7.4",
72
+ "mitt": "^3.0.1",
59
73
  "nanoid": "^5.1.5",
60
- "parsnip-kit": "^0.0.4"
74
+ "parsnip-kit": "^0.0.5"
61
75
  },
62
76
  "repository": {
63
77
  "type": "git",
@@ -1,2 +1,2 @@
1
- import './icon-hn.css'
2
1
  import '../index.css'
2
+ import './icon-hn.css'