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

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 (285) hide show
  1. package/README.md +42 -0
  2. package/README.zh.md +6 -3
  3. package/coverage/base.css +224 -0
  4. package/coverage/block-navigation.js +87 -0
  5. package/coverage/coverage-final.json +106 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +926 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +210 -0
  12. package/dist/font.css +1 -1
  13. package/dist/index.d.ts +1593 -248
  14. package/dist/normalize.css +2 -0
  15. package/dist/pixelium-vue-icon-hn.cjs +1 -1
  16. package/dist/pixelium-vue-icon-hn.css +2 -1
  17. package/dist/pixelium-vue-icon-hn.js +8533 -8154
  18. package/dist/pixelium-vue-icon-hn.umd.cjs +1 -1
  19. package/dist/pixelium-vue-icon-pa.cjs +1 -1
  20. package/dist/pixelium-vue-icon-pa.css +2 -1
  21. package/dist/pixelium-vue-icon-pa.js +10625 -10143
  22. package/dist/pixelium-vue-icon-pa.umd.cjs +1 -1
  23. package/dist/pixelium-vue.cjs +2 -2
  24. package/dist/pixelium-vue.css +2 -1
  25. package/dist/pixelium-vue.js +7402 -5854
  26. package/dist/pixelium-vue.umd.cjs +2 -2
  27. package/es/aside/index.js +46 -151
  28. package/es/auto-complete/draw.d.ts +1 -1
  29. package/es/auto-complete/draw.js +26 -51
  30. package/es/auto-complete/index.css +92 -32
  31. package/es/auto-complete/index.d.ts +12 -15
  32. package/es/auto-complete/index.js +338 -400
  33. package/es/auto-complete/type.d.ts +25 -13
  34. package/es/avatar/css.js +2 -0
  35. package/es/avatar/draw.d.ts +2 -0
  36. package/es/avatar/draw.js +11 -0
  37. package/es/avatar/index.css +49 -0
  38. package/es/avatar/index.d.ts +15 -0
  39. package/es/avatar/index.js +110 -0
  40. package/es/avatar/type.d.ts +34 -0
  41. package/es/button/draw.d.ts +4 -4
  42. package/es/button/draw.js +213 -297
  43. package/es/button/index.css +40 -30
  44. package/es/button/index.d.ts +0 -4
  45. package/es/button/index.js +230 -256
  46. package/es/button/type.d.ts +3 -3
  47. package/es/button-group/index.css +0 -3
  48. package/es/button-group/index.d.ts +1 -2
  49. package/es/button-group/index.js +59 -31
  50. package/es/button-group/type.d.ts +21 -4
  51. package/es/checkbox/css.js +2 -0
  52. package/es/checkbox/draw.d.ts +4 -0
  53. package/es/checkbox/draw.js +46 -0
  54. package/es/checkbox/index.css +85 -0
  55. package/es/checkbox/index.d.ts +31 -0
  56. package/es/checkbox/index.js +206 -0
  57. package/es/checkbox/type.d.ts +88 -0
  58. package/es/checkbox-group/css.js +2 -0
  59. package/es/checkbox-group/index.css +20 -0
  60. package/es/checkbox-group/index.d.ts +23 -0
  61. package/es/checkbox-group/index.js +84 -0
  62. package/es/checkbox-group/type.d.ts +78 -0
  63. package/es/col/index.d.ts +2 -2
  64. package/es/col/index.js +43 -58
  65. package/es/container/index.js +18 -31
  66. package/es/divider/index.js +39 -53
  67. package/es/empty/index.css +4 -4
  68. package/es/empty/index.js +16 -71
  69. package/es/entry.js +102 -0
  70. package/es/footer/index.js +31 -40
  71. package/es/form/css.js +1 -0
  72. package/es/form/index.d.ts +27 -0
  73. package/es/form/index.js +125 -0
  74. package/es/form/type.d.ts +238 -0
  75. package/es/form/use-form.d.ts +4 -0
  76. package/es/form/use-form.js +48 -0
  77. package/es/form-item/css.js +2 -0
  78. package/es/form-item/index.css +77 -0
  79. package/es/form-item/index.d.ts +37 -0
  80. package/es/form-item/index.js +318 -0
  81. package/es/form-item/type.d.ts +96 -0
  82. package/es/grid/index.js +56 -75
  83. package/es/grid-item/css.js +0 -1
  84. package/es/grid-item/index.d.ts +1 -1
  85. package/es/grid-item/index.js +85 -121
  86. package/es/header/index.js +31 -40
  87. package/es/icon/index.js +44 -55
  88. package/es/icons/css-hn.js +0 -1
  89. package/es/icons/css-pa.js +0 -1
  90. package/es/icons/icon-hn.js +10337 -15986
  91. package/es/icons/icon-pa.js +12573 -17447
  92. package/es/image/css.js +2 -0
  93. package/es/image/index.css +69 -0
  94. package/es/image/index.d.ts +35 -0
  95. package/es/image/index.js +199 -0
  96. package/es/image/type.d.ts +126 -0
  97. package/es/index.css +1 -515
  98. package/es/index.d.ts +22 -2
  99. package/es/index.js +143 -123
  100. package/es/input/draw.d.ts +1 -1
  101. package/es/input/draw.js +26 -51
  102. package/es/input/index.css +85 -33
  103. package/es/input/index.d.ts +9 -16
  104. package/es/input/index.js +319 -423
  105. package/es/input/type.d.ts +3 -3
  106. package/es/input-group/index.css +0 -1
  107. package/es/input-group/index.d.ts +2 -2
  108. package/es/input-group/index.js +66 -37
  109. package/es/input-group/type.d.ts +16 -4
  110. package/es/input-group-label/draw.d.ts +1 -1
  111. package/es/input-group-label/draw.js +26 -51
  112. package/es/input-group-label/index.css +33 -22
  113. package/es/input-group-label/index.d.ts +1 -4
  114. package/es/input-group-label/index.js +104 -127
  115. package/es/input-group-label/type.d.ts +3 -3
  116. package/es/input-number/draw.d.ts +1 -1
  117. package/es/input-number/draw.js +26 -51
  118. package/es/input-number/index.css +90 -35
  119. package/es/input-number/index.d.ts +9 -16
  120. package/es/input-number/index.js +428 -536
  121. package/es/input-number/type.d.ts +3 -3
  122. package/es/input-tag/draw.d.ts +1 -1
  123. package/es/input-tag/draw.js +26 -48
  124. package/es/input-tag/index.css +100 -33
  125. package/es/input-tag/index.d.ts +7 -13
  126. package/es/input-tag/index.js +442 -467
  127. package/es/input-tag/type.d.ts +24 -13
  128. package/es/link/index.js +75 -106
  129. package/es/main/index.js +11 -15
  130. package/es/mask/index.js +94 -115
  131. package/es/message/index.css +1 -1
  132. package/es/message/index.js +168 -346
  133. package/es/message-box/css.js +1 -1
  134. package/es/message-box/index.js +98 -114
  135. package/es/message-box/message-box-wrapped.js +33 -46
  136. package/es/message-box/message-box.js +79 -111
  137. package/es/option-list/index.css +13 -13
  138. package/es/option-list/index.d.ts +4 -31
  139. package/es/option-list/index.js +99 -167
  140. package/es/option-list/type.d.ts +5 -1
  141. package/es/pixelate/pixel.d.ts +5 -0
  142. package/es/pixelate/pixel.js +70 -0
  143. package/es/pixelate/pixelate.worker.d.ts +1 -0
  144. package/es/popover/index.d.ts +13 -99
  145. package/es/popover/index.js +75 -238
  146. package/es/popover/type.d.ts +7 -2
  147. package/es/popup/css.js +1 -0
  148. package/es/popup/index.d.ts +210 -0
  149. package/es/popup/index.js +203 -0
  150. package/es/popup/type.d.ts +105 -0
  151. package/es/popup-content/draw.d.ts +2 -2
  152. package/es/popup-content/draw.js +98 -143
  153. package/es/popup-content/index.css +11 -11
  154. package/es/popup-content/index.d.ts +1 -0
  155. package/es/popup-content/index.js +253 -1576
  156. package/es/popup-content/type.d.ts +1 -0
  157. package/es/popup-trigger/index.d.ts +8 -2
  158. package/es/popup-trigger/index.js +122 -95
  159. package/es/popup-trigger/type.d.ts +4 -1
  160. package/es/popup-wrapper/css.js +2 -0
  161. package/es/popup-wrapper/index.css +14 -0
  162. package/es/popup-wrapper/index.d.ts +18 -0
  163. package/es/popup-wrapper/index.js +67 -0
  164. package/es/popup-wrapper/type.d.ts +9 -0
  165. package/es/radio/css.js +1 -0
  166. package/es/radio/draw.d.ts +4 -0
  167. package/es/radio/draw.js +47 -0
  168. package/es/radio/index.d.ts +30 -0
  169. package/es/radio/index.js +190 -0
  170. package/es/radio/style.css +73 -0
  171. package/es/radio/type.d.ts +76 -0
  172. package/es/radio-group/css.js +2 -0
  173. package/es/radio-group/index.css +20 -0
  174. package/es/radio-group/index.d.ts +23 -0
  175. package/es/radio-group/index.js +77 -0
  176. package/es/radio-group/type.d.ts +77 -0
  177. package/es/row/index.js +56 -70
  178. package/es/select/draw.d.ts +1 -1
  179. package/es/select/draw.js +26 -51
  180. package/es/select/index.css +118 -36
  181. package/es/select/index.d.ts +14 -16
  182. package/es/select/index.js +625 -675
  183. package/es/select/type.d.ts +60 -25
  184. package/es/share/const/event-bus-key.js +1 -6
  185. package/es/share/const/index.d.ts +4 -0
  186. package/es/share/const/index.js +22 -24
  187. package/es/share/const/provide-key.d.ts +5 -0
  188. package/es/share/const/provide-key.js +6 -5
  189. package/es/share/const/style.d.ts +6 -0
  190. package/es/share/const/style.js +7 -0
  191. package/es/share/hook/use-cancelable-delay.d.ts +1 -0
  192. package/es/share/hook/use-cancelable-delay.js +42 -0
  193. package/es/share/hook/use-click-outside-listener.d.ts +1 -1
  194. package/es/share/hook/use-click-outside-listener.js +28 -41
  195. package/es/share/hook/use-composition.js +17 -15
  196. package/es/share/hook/use-controlled-mode.d.ts +3 -3
  197. package/es/share/hook/use-controlled-mode.js +20 -23
  198. package/es/share/hook/use-dark-mode.js +51 -65
  199. package/es/share/hook/use-index-of-children.d.ts +2 -1
  200. package/es/share/hook/use-index-of-children.js +47 -45
  201. package/es/share/hook/use-lazy-load.d.ts +10 -0
  202. package/es/share/hook/use-lazy-load.js +133 -0
  203. package/es/share/hook/use-props-detect.d.ts +2 -0
  204. package/es/share/hook/use-resize-observer.d.ts +1 -2
  205. package/es/share/hook/use-resize-observer.js +28 -20
  206. package/es/share/hook/use-screen-width.js +27 -36
  207. package/es/share/hook/use-smooth-transition.d.ts +2 -0
  208. package/es/share/hook/use-smooth-transition.js +65 -0
  209. package/es/share/hook/use-textarea-height.js +86 -92
  210. package/es/share/hook/use-theme-mode.js +41 -42
  211. package/es/share/hook/use-transition-end.d.ts +2 -0
  212. package/es/share/hook/use-transition-end.js +12 -0
  213. package/es/share/hook/use-watch-global-css-var.js +12 -16
  214. package/es/share/hook/use-window-resize-listener.d.ts +1 -0
  215. package/es/share/hook/use-window-resize-listener.js +15 -0
  216. package/es/share/hook/use-z-index.js +30 -27
  217. package/es/share/type/index.d.ts +18 -3
  218. package/es/share/util/color.d.ts +5 -3
  219. package/es/share/util/color.js +156 -149
  220. package/es/share/util/common.d.ts +7 -2
  221. package/es/share/util/common.js +127 -65
  222. package/es/share/util/console.d.ts +3 -3
  223. package/es/share/util/console.js +10 -7
  224. package/es/share/util/dom.d.ts +19 -0
  225. package/es/share/util/dom.js +88 -0
  226. package/es/share/util/env.d.ts +1 -0
  227. package/es/share/util/env.js +5 -4
  228. package/es/share/util/event-bus.js +3 -20
  229. package/es/share/util/lru-cache.js +29 -33
  230. package/es/share/util/pixel.d.ts +4 -0
  231. package/es/share/util/plot.d.ts +8 -3
  232. package/es/share/util/plot.js +457 -229
  233. package/es/share/util/reactivity.d.ts +8 -0
  234. package/es/share/util/reactivity.js +23 -0
  235. package/es/share/util/render.js +31 -41
  236. package/es/share/util/theme.d.ts +3 -0
  237. package/es/share/util/theme.js +77 -57
  238. package/es/slider/css.js +2 -0
  239. package/es/slider/draw.d.ts +25 -0
  240. package/es/slider/draw.js +113 -0
  241. package/es/slider/index.css +119 -0
  242. package/es/slider/index.d.ts +66 -0
  243. package/es/slider/index.js +503 -0
  244. package/es/slider/type.d.ts +162 -0
  245. package/es/slider/util.d.ts +37 -0
  246. package/es/slider/util.js +130 -0
  247. package/es/space/index.css +24 -29
  248. package/es/space/index.js +73 -97
  249. package/es/spin/index.css +18 -17
  250. package/es/spin/index.js +72 -102
  251. package/es/spin/type.d.ts +11 -5
  252. package/es/switch/css.js +2 -0
  253. package/es/switch/draw.d.ts +2 -0
  254. package/es/switch/draw.js +18 -0
  255. package/es/switch/index.css +121 -0
  256. package/es/switch/index.d.ts +42 -0
  257. package/es/switch/index.js +259 -0
  258. package/es/switch/type.d.ts +133 -0
  259. package/es/tag/draw.d.ts +2 -2
  260. package/es/tag/draw.js +80 -127
  261. package/es/tag/index.css +38 -22
  262. package/es/tag/index.d.ts +2 -2
  263. package/es/tag/index.js +121 -190
  264. package/es/tag/type.d.ts +3 -3
  265. package/es/text-outline/css.js +2 -0
  266. package/es/text-outline/index.css +4 -0
  267. package/es/text-outline/index.d.ts +17 -0
  268. package/es/text-outline/index.js +33 -0
  269. package/es/text-outline/type.d.ts +23 -0
  270. package/es/textarea/draw.js +9 -11
  271. package/es/textarea/index.css +37 -23
  272. package/es/textarea/index.d.ts +8 -14
  273. package/es/textarea/index.js +274 -262
  274. package/es/tooltip/index.d.ts +100 -4
  275. package/es/tooltip/index.js +70 -226
  276. package/es/tooltip/type.d.ts +7 -2
  277. package/es/vendor.js +504 -0
  278. package/es/virtual-list/css.js +2 -0
  279. package/es/virtual-list/index.css +25 -0
  280. package/es/virtual-list/index.d.ts +11 -0
  281. package/es/virtual-list/index.js +313 -0
  282. package/es/virtual-list/type.d.ts +26 -0
  283. package/package.json +10 -16
  284. package/es/grid-item/index.css +0 -0
  285. /package/es/message-box/{message-box.css → index.css} +0 -0
@@ -1,348 +1,170 @@
1
1
  import './css.js'
2
- import { defineComponent, createElementBlock, openBlock, normalizeStyle, createElementVNode, ref, onMounted, onBeforeUnmount, shallowRef, computed, watch, createVNode, Transition } from "vue";
3
- import { p as parseColor, a as generatePalette, r as rgbaColor2string, g as getGlobalThemeColor } from "../share/util/color.js";
4
- import { u as useDarkMode } from "../share/hook/use-dark-mode.js";
5
- import { u as useResizeObserver } from "../share/hook/use-resize-observer.js";
6
- import { S as SpinnerThirdSolid, T as TimesCircleSolid } from "../auto-complete/index.js";
7
- import { p } from "../aside/index.js";
8
- import { u as useWatchGlobalCssVal } from "../share/hook/use-watch-global-css-var.js";
9
- import { a as canvasPreprocess, c as calcPixelSize } from "../share/util/plot.js";
10
- const InfoCircleSolid = /* @__PURE__ */ defineComponent({
11
- props: {
12
- size: {},
13
- color: {}
14
- },
15
- setup(__props) {
16
- const props = __props;
17
- return (_ctx, _cache) => {
18
- return openBlock(), createElementBlock(
19
- "svg",
20
- {
21
- class: "px-icon-hn",
22
- style: normalizeStyle({ color: props.color, fontSize: props.size + "px" }),
23
- xmlns: "http://www.w3.org/2000/svg",
24
- viewBox: "0 0 24 24"
25
- },
26
- [..._cache[0] || (_cache[0] = [
27
- createElementVNode(
28
- "path",
29
- { d: "M22 9V7h-1V5h-1V4h-1V3h-2V2h-2V1H9v1H7v1H5v1H4v1H3v2H2v2H1v6h1v2h1v2h1v1h1v1h2v1h2v1h6v-1h2v-1h2v-1h1v-1h1v-2h1v-2h1V9zM11 6h2v2h-2zm-1 9h1v-5h-1V9h3v6h1v2h-4z" },
30
- null,
31
- -1
32
- /* CACHED */
33
- ),
34
- createElementVNode(
35
- "path",
36
- {
37
- fill: "none",
38
- d: "M0 0h24v24H0z"
39
- },
40
- null,
41
- -1
42
- /* CACHED */
43
- )
44
- ])],
45
- 4
46
- /* STYLE */
47
- );
48
- };
49
- }
2
+ import { B as y, V as spinner_third_solid_default, d as octagon_times_solid_default, f as exclamation_triangle_solid_default, l as times_circle_solid_default, p as info_circle_solid_default, u as check_circle_solid_default } from "../vendor.js";
3
+ import { i as canvasPreprocess, n as calcPixelSize } from "../share/util/plot.js";
4
+ import { a as rgbaColor2string, i as parseColor, n as getGlobalThemeColor, r as getGlobalThemeColorString, t as generatePalette } from "../share/util/color.js";
5
+ import { t as useDarkMode } from "../share/hook/use-dark-mode.js";
6
+ import { t as useResizeObserver } from "../share/hook/use-resize-observer.js";
7
+ import { t as useWatchGlobalCssVal } from "../share/hook/use-watch-global-css-var.js";
8
+ import { t as useTransitionEnd } from "../share/hook/use-transition-end.js";
9
+ import { Transition, computed, createVNode, defineComponent, onBeforeUnmount, onMounted, ref, shallowRef, watch } from "vue";
10
+ var message_default = /* @__PURE__ */ defineComponent({
11
+ __name: "index",
12
+ props: {
13
+ content: { default: "" },
14
+ icon: null,
15
+ duration: { default: 3e3 },
16
+ id: null,
17
+ type: { default: "normal" },
18
+ color: null,
19
+ closable: { type: Boolean }
20
+ },
21
+ emits: ["close"],
22
+ setup(__props, { expose: __expose, emit: __emit }) {
23
+ const props = __props;
24
+ const hoverFlag = ref(false);
25
+ const activeFlag = ref(false);
26
+ const toggleActive = (status) => {
27
+ activeFlag.value = status;
28
+ };
29
+ const toggleHover = (status) => {
30
+ hoverFlag.value = status;
31
+ };
32
+ const visible = ref(false);
33
+ let timer = void 0;
34
+ onMounted(() => {
35
+ visible.value = true;
36
+ startTimer();
37
+ });
38
+ onBeforeUnmount(() => {
39
+ clearTimeout(timer);
40
+ });
41
+ function startTimer() {
42
+ timer = setTimeout(() => close(), props.duration);
43
+ }
44
+ function clearTimer() {
45
+ clearTimeout(timer);
46
+ timer = void 0;
47
+ }
48
+ function close() {
49
+ visible.value = false;
50
+ }
51
+ const emits = __emit;
52
+ const afterLeaveHandler = () => {
53
+ emits("close", props.id);
54
+ clearTimer();
55
+ };
56
+ const canvasRef = shallowRef(null);
57
+ const messageRef = shallowRef(null);
58
+ const themeMap = (type) => {
59
+ if (!type) return "normal";
60
+ switch (type) {
61
+ case "info": return "primary";
62
+ case "error": return "danger";
63
+ default: return type;
64
+ }
65
+ };
66
+ const darkMode = useDarkMode();
67
+ const palette = computed(() => {
68
+ if (!props.color) return null;
69
+ const color = parseColor(props.color);
70
+ if (!color) return null;
71
+ return generatePalette(color.r, color.g, color.b, color.a, darkMode.value);
72
+ });
73
+ const textColor = computed(() => {
74
+ return palette.value ? rgbaColor2string(palette.value[5]) : void 0;
75
+ });
76
+ const closeIconColor = computed(() => {
77
+ if (!palette.value) return;
78
+ return activeFlag.value ? rgbaColor2string(palette.value[6]) : hoverFlag.value ? rgbaColor2string(palette.value[4]) : rgbaColor2string(palette.value[5]);
79
+ });
80
+ function getBorderColor(type = "normal", palette$1) {
81
+ if (palette$1) return palette$1[5];
82
+ else {
83
+ const theme = themeMap(type);
84
+ if (theme === "normal") return getGlobalThemeColor("neutral", 10);
85
+ else if (theme === "loading") return getGlobalThemeColor("neutral", 8);
86
+ else return getGlobalThemeColor(theme, 6);
87
+ }
88
+ }
89
+ const draw = (ctx, width, height, borderColor, pixelSize) => {
90
+ ctx.fillStyle = rgbaColor2string(borderColor);
91
+ ctx.fillRect(pixelSize, 0, width - 2 * pixelSize, pixelSize);
92
+ ctx.fillRect(width - pixelSize, pixelSize, pixelSize, height - 2 * pixelSize);
93
+ ctx.fillRect(pixelSize, height - pixelSize, width - 2 * pixelSize, pixelSize);
94
+ ctx.fillRect(0, pixelSize, pixelSize, height - 2 * pixelSize);
95
+ ctx.fillStyle = getGlobalThemeColorString("neutral", 1);
96
+ ctx.fillRect(pixelSize, pixelSize, width - 2 * pixelSize, height - 2 * pixelSize);
97
+ };
98
+ const drawPixel = () => {
99
+ const preprocessData = canvasPreprocess(messageRef, canvasRef);
100
+ if (!preprocessData) return;
101
+ const { ctx, width, height } = preprocessData;
102
+ const pixelSize = calcPixelSize();
103
+ const borderColor = getBorderColor(props.type, palette.value);
104
+ if (borderColor) draw(ctx, width, height, borderColor, pixelSize);
105
+ };
106
+ useResizeObserver(messageRef, drawPixel);
107
+ useWatchGlobalCssVal(drawPixel);
108
+ useTransitionEnd(messageRef, drawPixel);
109
+ watch([
110
+ () => props.type,
111
+ palette,
112
+ darkMode
113
+ ], () => {
114
+ setTimeout(() => {
115
+ drawPixel();
116
+ });
117
+ });
118
+ __expose({ close });
119
+ return () => {
120
+ return createVNode(Transition, {
121
+ "name": "px-message-fade",
122
+ "onAfterLeave": afterLeaveHandler
123
+ }, { default: () => [visible.value && createVNode("div", {
124
+ "ref": (node) => messageRef.value = node,
125
+ "onMouseenter": clearTimer,
126
+ "onMouseleave": startTimer,
127
+ "class": {
128
+ "px-message": true,
129
+ pixelium: true,
130
+ [`px-message__${props.type || "primary"}`]: true
131
+ }
132
+ }, [
133
+ (!!props.icon || props.type && props.type !== "normal" && props.type !== "sakura") && createVNode("div", { "class": "px-message-icon-wrapper" }, [props.icon ? props.icon() : props.type === "info" ? createVNode(info_circle_solid_default, {
134
+ "class": "px-message-icon",
135
+ "style": { fill: textColor.value }
136
+ }, null) : props.type === "success" ? createVNode(check_circle_solid_default, {
137
+ "class": "px-message-icon",
138
+ "style": { fill: textColor.value }
139
+ }, null) : props.type === "warning" ? createVNode(exclamation_triangle_solid_default, {
140
+ "class": "px-message-icon",
141
+ "style": { fill: textColor.value }
142
+ }, null) : props.type === "error" ? createVNode(octagon_times_solid_default, {
143
+ "class": "px-message-icon",
144
+ "style": { fill: textColor.value }
145
+ }, null) : props.type === "loading" && createVNode(spinner_third_solid_default, {
146
+ "class": "px-message-icon px-animation__loading",
147
+ "style": { fill: textColor.value }
148
+ }, null)]),
149
+ createVNode("span", {
150
+ "class": "px-message-content",
151
+ "style": { color: textColor.value }
152
+ }, [y(props.content) ? props.content : props.content()]),
153
+ props.closable && createVNode("div", { "class": "px-message-close-wrapper" }, [createVNode(times_circle_solid_default, {
154
+ "class": "px-message-icon",
155
+ "style": { fill: closeIconColor.value },
156
+ "onMouseenter": toggleHover(true),
157
+ "onMouseleave": toggleHover(false),
158
+ "onMousedown": toggleActive(true),
159
+ "onMouseup": toggleActive(false),
160
+ "onClick": close
161
+ }, null)]),
162
+ createVNode("canvas", {
163
+ "ref": (node) => canvasRef.value = node,
164
+ "class": "px-message-canvas"
165
+ }, null)
166
+ ])] });
167
+ };
168
+ }
50
169
  });
51
- const ExclamationTriangleSolid = /* @__PURE__ */ defineComponent({
52
- props: {
53
- size: {},
54
- color: {}
55
- },
56
- setup(__props) {
57
- const props = __props;
58
- return (_ctx, _cache) => {
59
- return openBlock(), createElementBlock(
60
- "svg",
61
- {
62
- class: "px-icon-hn",
63
- style: normalizeStyle({ color: props.color, fontSize: props.size + "px" }),
64
- xmlns: "http://www.w3.org/2000/svg",
65
- viewBox: "0 0 24 24"
66
- },
67
- [..._cache[0] || (_cache[0] = [
68
- createElementVNode(
69
- "path",
70
- { d: "M22 20v-2h-1v-2h-1v-2h-1v-2h-1v-2h-1V8h-1V6h-1V4h-1V2h-1V1h-2v1h-1v2H9v2H8v2H7v2H6v2H5v2H4v2H3v2H2v2H1v2h1v1h20v-1h1v-2zm-12-9h4v3h-1v3h-2v-3h-1zm1 7h2v2h-2z" },
71
- null,
72
- -1
73
- /* CACHED */
74
- )
75
- ])],
76
- 4
77
- /* STYLE */
78
- );
79
- };
80
- }
81
- });
82
- const OctagonTimesSolid = /* @__PURE__ */ defineComponent({
83
- props: {
84
- size: {},
85
- color: {}
86
- },
87
- setup(__props) {
88
- const props = __props;
89
- return (_ctx, _cache) => {
90
- return openBlock(), createElementBlock(
91
- "svg",
92
- {
93
- class: "px-icon-hn",
94
- style: normalizeStyle({ color: props.color, fontSize: props.size + "px" }),
95
- xmlns: "http://www.w3.org/2000/svg",
96
- viewBox: "0 0 24 24"
97
- },
98
- [..._cache[0] || (_cache[0] = [
99
- createElementVNode(
100
- "path",
101
- { d: "M22 8V7h-1V6h-1V5h-1V4h-1V3h-1V2h-1V1H8v1H7v1H6v1H5v1H4v1H3v1H2v1H1v8h1v1h1v1h1v1h1v1h1v1h1v1h1v1h8v-1h1v-1h1v-1h1v-1h1v-1h1v-1h1v-1h1V8zm-6 9h-2v-1h-1v-1h-2v1h-1v1H8v-1H7v-2h1v-1h1v-2H8v-1H7V8h1V7h2v1h1v1h2V8h1V7h2v1h1v2h-1v1h-1v2h1v1h1v2h-1z" },
102
- null,
103
- -1
104
- /* CACHED */
105
- )
106
- ])],
107
- 4
108
- /* STYLE */
109
- );
110
- };
111
- }
112
- });
113
- const CheckCircleSolid = /* @__PURE__ */ defineComponent({
114
- props: {
115
- size: {},
116
- color: {}
117
- },
118
- setup(__props) {
119
- const props = __props;
120
- return (_ctx, _cache) => {
121
- return openBlock(), createElementBlock(
122
- "svg",
123
- {
124
- class: "px-icon-hn",
125
- style: normalizeStyle({ color: props.color, fontSize: props.size + "px" }),
126
- xmlns: "http://www.w3.org/2000/svg",
127
- viewBox: "0 0 24 24"
128
- },
129
- [..._cache[0] || (_cache[0] = [
130
- createElementVNode(
131
- "path",
132
- { d: "M22 9V7h-1V5h-1V4h-1V3h-2V2h-2V1H9v1H7v1H5v1H4v1H3v2H2v2H1v6h1v2h1v2h1v1h1v1h2v1h2v1h6v-1h2v-1h2v-1h1v-1h1v-2h1v-2h1V9zm-4 3h-1v1h-1v1h-1v1h-1v1h-1v1h-1v1h-2v-1H9v-1H8v-1H7v-1H6v-2h1v-1h2v1h1v1h2v-1h1v-1h1v-1h1V9h1V8h2v1h1v2h-1z" },
133
- null,
134
- -1
135
- /* CACHED */
136
- )
137
- ])],
138
- 4
139
- /* STYLE */
140
- );
141
- };
142
- }
143
- });
144
- const _sfc_main = /* @__PURE__ */ defineComponent({
145
- __name: "index",
146
- props: {
147
- content: {
148
- default: ""
149
- },
150
- icon: null,
151
- duration: {
152
- default: 3e3
153
- },
154
- id: null,
155
- type: {
156
- default: "normal"
157
- },
158
- color: null,
159
- closable: {
160
- type: Boolean
161
- }
162
- },
163
- emits: ["close"],
164
- setup(__props, {
165
- expose: __expose,
166
- emit: __emit
167
- }) {
168
- const props = __props;
169
- const hoverFlag = ref(false);
170
- const activeFlag = ref(false);
171
- const toggleActive = (status) => {
172
- activeFlag.value = status;
173
- };
174
- const toggleHover = (status) => {
175
- hoverFlag.value = status;
176
- };
177
- const visible = ref(false);
178
- let timer = void 0;
179
- onMounted(() => {
180
- visible.value = true;
181
- startTimer();
182
- });
183
- onBeforeUnmount(() => {
184
- clearTimeout(timer);
185
- });
186
- function startTimer() {
187
- timer = setTimeout(() => close(), props.duration);
188
- }
189
- function clearTimer() {
190
- clearTimeout(timer);
191
- timer = void 0;
192
- }
193
- function close() {
194
- visible.value = false;
195
- }
196
- const emits = __emit;
197
- const afterLeaveHandler = () => {
198
- emits("close", props.id);
199
- clearTimer();
200
- };
201
- const canvasRef = shallowRef(null);
202
- const messageRef = shallowRef(null);
203
- const themeMap = (type) => {
204
- if (!type) {
205
- return "normal";
206
- }
207
- switch (type) {
208
- case "info":
209
- return "primary";
210
- case "error":
211
- return "danger";
212
- default:
213
- return type;
214
- }
215
- };
216
- const darkMode = useDarkMode();
217
- const palette = computed(() => {
218
- if (!props.color) return null;
219
- const color = parseColor(props.color);
220
- const palette2 = generatePalette(color.r, color.g, color.b, color.a, darkMode.value);
221
- return palette2;
222
- });
223
- const textColor = computed(() => {
224
- return palette.value ? rgbaColor2string(palette.value[5]) : void 0;
225
- });
226
- const closeIconColor = computed(() => {
227
- if (!palette.value) {
228
- return void 0;
229
- }
230
- return activeFlag.value ? rgbaColor2string(palette.value[6]) : hoverFlag.value ? rgbaColor2string(palette.value[4]) : rgbaColor2string(palette.value[5]);
231
- });
232
- function getBorderColor(type = "normal", palette2) {
233
- if (palette2) {
234
- return palette2[5];
235
- } else {
236
- const theme = themeMap(type);
237
- if (theme === "normal") {
238
- return getGlobalThemeColor("neutral", 10);
239
- } else if (theme === "loading") {
240
- return getGlobalThemeColor("neutral", 8);
241
- } else {
242
- return getGlobalThemeColor(theme, 6);
243
- }
244
- }
245
- }
246
- const draw = (ctx, width, height, borderColor, pixelSize) => {
247
- ctx.fillStyle = rgbaColor2string(borderColor);
248
- ctx.fillRect(pixelSize, 0, width - 2 * pixelSize, pixelSize);
249
- ctx.fillRect(width - pixelSize, pixelSize, pixelSize, height - 2 * pixelSize);
250
- ctx.fillRect(pixelSize, height - pixelSize, width - 2 * pixelSize, pixelSize);
251
- ctx.fillRect(0, pixelSize, pixelSize, height - 2 * pixelSize);
252
- const backgroundColor = getGlobalThemeColor("neutral", 1);
253
- ctx.fillStyle = rgbaColor2string(backgroundColor);
254
- ctx.fillRect(pixelSize, pixelSize, width - 2 * pixelSize, height - 2 * pixelSize);
255
- };
256
- const drawPixel = () => {
257
- const preprocessData = canvasPreprocess(messageRef, canvasRef);
258
- if (!preprocessData) {
259
- return;
260
- }
261
- const {
262
- ctx,
263
- width,
264
- height
265
- } = preprocessData;
266
- const pixelSize = calcPixelSize();
267
- const borderColor = getBorderColor(props.type, palette.value);
268
- draw(ctx, width, height, borderColor, pixelSize);
269
- };
270
- useResizeObserver(messageRef, drawPixel);
271
- useWatchGlobalCssVal(drawPixel);
272
- watch([() => props.type, palette, darkMode], () => {
273
- setTimeout(() => {
274
- drawPixel();
275
- });
276
- });
277
- __expose({
278
- close
279
- });
280
- return () => {
281
- return createVNode(Transition, {
282
- "name": "px-message-fade",
283
- "onAfterLeave": afterLeaveHandler
284
- }, {
285
- default: () => [visible.value && createVNode("div", {
286
- "ref": (node) => messageRef.value = node,
287
- "onMouseenter": clearTimer,
288
- "onMouseleave": startTimer,
289
- "class": {
290
- "px-message": true,
291
- pixelium: true,
292
- [`px-message__${props.type || "primary"}`]: true
293
- }
294
- }, [(!!props.icon || props.type && props.type !== "normal" && props.type !== "sakura") && createVNode("div", {
295
- "class": "px-message-icon-wrapper"
296
- }, [props.icon ? props.icon() : props.type === "info" ? createVNode(InfoCircleSolid, {
297
- "class": "px-message-icon",
298
- "style": {
299
- fill: textColor.value
300
- }
301
- }, null) : props.type === "success" ? createVNode(CheckCircleSolid, {
302
- "class": "px-message-icon",
303
- "style": {
304
- fill: textColor.value
305
- }
306
- }, null) : props.type === "warning" ? createVNode(ExclamationTriangleSolid, {
307
- "class": "px-message-icon",
308
- "style": {
309
- fill: textColor.value
310
- }
311
- }, null) : props.type === "error" ? createVNode(OctagonTimesSolid, {
312
- "class": "px-message-icon",
313
- "style": {
314
- fill: textColor.value
315
- }
316
- }, null) : props.type === "loading" && createVNode(SpinnerThirdSolid, {
317
- "class": "px-message-icon px-animation__loading",
318
- "style": {
319
- fill: textColor.value
320
- }
321
- }, null)]), createVNode("span", {
322
- "class": "px-message-content",
323
- "style": {
324
- color: textColor.value
325
- }
326
- }, [p(props.content) ? props.content : props.content()]), props.closable && createVNode("div", {
327
- "class": "px-message-close-wrapper"
328
- }, [createVNode(TimesCircleSolid, {
329
- "class": "px-message-icon",
330
- "style": {
331
- fill: closeIconColor.value
332
- },
333
- "onMouseenter": toggleHover(true),
334
- "onMouseleave": toggleHover(false),
335
- "onMousedown": toggleActive(true),
336
- "onMouseup": toggleActive(false),
337
- "onClick": close
338
- }, null)]), createVNode("canvas", {
339
- "ref": (node) => canvasRef.value = node,
340
- "class": "px-message-canvas"
341
- }, null)])]
342
- });
343
- };
344
- }
345
- });
346
- export {
347
- _sfc_main as _
348
- };
170
+ export { message_default as t };
@@ -1,2 +1,2 @@
1
1
  import '../index.css'
2
- import './message-box.css'
2
+ import './index.css'