@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,372 @@
1
+ .px-tag-canvas {
2
+ position: absolute;
3
+ top: 50%;
4
+ left: 50%;
5
+ transform: translate(-50%, -50%);
6
+ z-index: -1;
7
+ pointer-events: none;
8
+ }
9
+ span.px-tag {
10
+ font-size: var(--text-size);
11
+ }
12
+ .px-tag {
13
+ --tag-size: calc(var(--px-medium-size) - var(--px-bit) * 2 - 2px);
14
+ --px-medium-padding-x: var(--px-interval-2);
15
+ --px-large-padding-x: var(--px-interval-3);
16
+ --px-small-padding-x: var(--px-interval-2);
17
+ --padding-x-size: var(--px-medium-padding-x);
18
+ --text-color: var(--px-neutral-1);
19
+ --text-size: var(--px-medium-font-size);
20
+ height: var(--tag-size);
21
+ padding-left: var(--padding-x-size);
22
+ padding-right: var(--padding-x-size);
23
+ background-color: transparent;
24
+ border-color: transparent;
25
+ border-width: var(--px-bit);
26
+ display: inline-flex;
27
+ align-items: center;
28
+ position: relative;
29
+ color: var(--text-color);
30
+ transition: 0.25s;
31
+ z-index: 0;
32
+ font-size: var(--text-size);
33
+ }
34
+ .px-tag__large {
35
+ --padding-x-size: var(--px-large-padding-x);
36
+ --tag-size: calc(var(--px-medium-size));
37
+ --text-size: var(--px-medium-font-size);
38
+ }
39
+ .px-tag__small {
40
+ --padding-x-size: var(--px-small-padding-x);
41
+ --tag-size: calc(var(--px-small-size) - var(--px-bit) * 2);
42
+ --text-size: var(--px-small-font-size);
43
+ }
44
+ .px-tag.px-tag__disabled {
45
+ cursor: not-allowed;
46
+ }
47
+ .px-tag.px-tag__disabled .px-tag-icon {
48
+ cursor: not-allowed;
49
+ }
50
+ .px-tag-icon-wrapper {
51
+ margin-left: var(--px-interval-1);
52
+ display: flex;
53
+ align-items: center;
54
+ }
55
+ .px-tag-icon-wrapper .px-tag-icon {
56
+ height: calc(var(--text-size) - 4px);
57
+ width: calc(var(--text-size) - 4px);
58
+ fill: var(--text-color);
59
+ cursor: pointer;
60
+ }
61
+ .px-tag.px-tag__primary:focus-visible {
62
+ outline-color: var(--px-primary-6);
63
+ outline-offset: var(--px-bit);
64
+ }
65
+ .px-tag.px-tag__primary .px-tag-icon:hover {
66
+ fill: var(--px-primary-2);
67
+ }
68
+ .px-tag.px-tag__primary .px-tag-icon:active {
69
+ fill: var(--px-primary-3);
70
+ }
71
+ .px-tag.px-tag__primary.px-tag__disabled .px-tag-icon:hover {
72
+ fill: var(--px-primary-1);
73
+ }
74
+ .px-tag.px-tag__primary.px-tag__disabled .px-tag-icon:active {
75
+ fill: var(--px-primary-1);
76
+ }
77
+ .px-tag.px-tag__primary.px-tag__plain {
78
+ --text-color: var(--px-primary-6);
79
+ }
80
+ .px-tag.px-tag__primary.px-tag__plain .px-tag-icon:hover {
81
+ fill: var(--px-primary-5);
82
+ }
83
+ .px-tag.px-tag__primary.px-tag__plain .px-tag-icon:active {
84
+ fill: var(--px-primary-7);
85
+ }
86
+ .px-tag.px-tag__primary.px-tag__plain.px-tag__disabled {
87
+ --text-color: var(--px-primary-3);
88
+ }
89
+ .px-tag.px-tag__primary.px-tag__plain.px-tag__disabled .px-tag-icon:hover {
90
+ fill: var(--px-primary-3);
91
+ }
92
+ .px-tag.px-tag__primary.px-tag__plain.px-tag__disabled .px-tag-icon:active {
93
+ fill: var(--px-primary-3);
94
+ }
95
+ .px-tag.px-tag__primary.px-tag__outline {
96
+ --text-color: var(--px-primary-6);
97
+ }
98
+ .px-tag.px-tag__primary.px-tag__outline .px-tag-icon:hover {
99
+ fill: var(--px-primary-5);
100
+ }
101
+ .px-tag.px-tag__primary.px-tag__outline .px-tag-icon:active {
102
+ fill: var(--px-primary-7);
103
+ }
104
+ .px-tag.px-tag__primary.px-tag__outline.px-tag__disabled {
105
+ --text-color: var(--px-primary-2);
106
+ }
107
+ .px-tag.px-tag__primary.px-tag__outline.px-tag__disabled .px-tag-icon:hover {
108
+ fill: var(--px-primary-2);
109
+ }
110
+ .px-tag.px-tag__primary.px-tag__outline.px-tag__disabled .px-tag-icon:active {
111
+ fill: var(--px-primary-2);
112
+ }
113
+ .px-tag.px-tag__sakura:focus-visible {
114
+ outline-color: var(--px-sakura-6);
115
+ outline-offset: var(--px-bit);
116
+ }
117
+ .px-tag.px-tag__sakura .px-tag-icon:hover {
118
+ fill: var(--px-sakura-2);
119
+ }
120
+ .px-tag.px-tag__sakura .px-tag-icon:active {
121
+ fill: var(--px-sakura-3);
122
+ }
123
+ .px-tag.px-tag__sakura.px-tag__disabled .px-tag-icon:hover {
124
+ fill: var(--px-sakura-1);
125
+ }
126
+ .px-tag.px-tag__sakura.px-tag__disabled .px-tag-icon:active {
127
+ fill: var(--px-sakura-1);
128
+ }
129
+ .px-tag.px-tag__sakura.px-tag__plain {
130
+ --text-color: var(--px-sakura-6);
131
+ }
132
+ .px-tag.px-tag__sakura.px-tag__plain .px-tag-icon:hover {
133
+ fill: var(--px-sakura-5);
134
+ }
135
+ .px-tag.px-tag__sakura.px-tag__plain .px-tag-icon:active {
136
+ fill: var(--px-sakura-7);
137
+ }
138
+ .px-tag.px-tag__sakura.px-tag__plain.px-tag__disabled {
139
+ --text-color: var(--px-sakura-3);
140
+ }
141
+ .px-tag.px-tag__sakura.px-tag__plain.px-tag__disabled .px-tag-icon:hover {
142
+ fill: var(--px-sakura-3);
143
+ }
144
+ .px-tag.px-tag__sakura.px-tag__plain.px-tag__disabled .px-tag-icon:active {
145
+ fill: var(--px-sakura-3);
146
+ }
147
+ .px-tag.px-tag__sakura.px-tag__outline {
148
+ --text-color: var(--px-sakura-6);
149
+ }
150
+ .px-tag.px-tag__sakura.px-tag__outline .px-tag-icon:hover {
151
+ fill: var(--px-sakura-5);
152
+ }
153
+ .px-tag.px-tag__sakura.px-tag__outline .px-tag-icon:active {
154
+ fill: var(--px-sakura-7);
155
+ }
156
+ .px-tag.px-tag__sakura.px-tag__outline.px-tag__disabled {
157
+ --text-color: var(--px-sakura-2);
158
+ }
159
+ .px-tag.px-tag__sakura.px-tag__outline.px-tag__disabled .px-tag-icon:hover {
160
+ fill: var(--px-sakura-2);
161
+ }
162
+ .px-tag.px-tag__sakura.px-tag__outline.px-tag__disabled .px-tag-icon:active {
163
+ fill: var(--px-sakura-2);
164
+ }
165
+ .px-tag.px-tag__success:focus-visible {
166
+ outline-color: var(--px-success-6);
167
+ outline-offset: var(--px-bit);
168
+ }
169
+ .px-tag.px-tag__success .px-tag-icon:hover {
170
+ fill: var(--px-success-2);
171
+ }
172
+ .px-tag.px-tag__success .px-tag-icon:active {
173
+ fill: var(--px-success-3);
174
+ }
175
+ .px-tag.px-tag__success.px-tag__disabled .px-tag-icon:hover {
176
+ fill: var(--px-success-1);
177
+ }
178
+ .px-tag.px-tag__success.px-tag__disabled .px-tag-icon:active {
179
+ fill: var(--px-success-1);
180
+ }
181
+ .px-tag.px-tag__success.px-tag__plain {
182
+ --text-color: var(--px-success-6);
183
+ }
184
+ .px-tag.px-tag__success.px-tag__plain .px-tag-icon:hover {
185
+ fill: var(--px-success-5);
186
+ }
187
+ .px-tag.px-tag__success.px-tag__plain .px-tag-icon:active {
188
+ fill: var(--px-success-7);
189
+ }
190
+ .px-tag.px-tag__success.px-tag__plain.px-tag__disabled {
191
+ --text-color: var(--px-success-3);
192
+ }
193
+ .px-tag.px-tag__success.px-tag__plain.px-tag__disabled .px-tag-icon:hover {
194
+ fill: var(--px-success-3);
195
+ }
196
+ .px-tag.px-tag__success.px-tag__plain.px-tag__disabled .px-tag-icon:active {
197
+ fill: var(--px-success-3);
198
+ }
199
+ .px-tag.px-tag__success.px-tag__outline {
200
+ --text-color: var(--px-success-6);
201
+ }
202
+ .px-tag.px-tag__success.px-tag__outline .px-tag-icon:hover {
203
+ fill: var(--px-success-5);
204
+ }
205
+ .px-tag.px-tag__success.px-tag__outline .px-tag-icon:active {
206
+ fill: var(--px-success-7);
207
+ }
208
+ .px-tag.px-tag__success.px-tag__outline.px-tag__disabled {
209
+ --text-color: var(--px-success-2);
210
+ }
211
+ .px-tag.px-tag__success.px-tag__outline.px-tag__disabled .px-tag-icon:hover {
212
+ fill: var(--px-success-2);
213
+ }
214
+ .px-tag.px-tag__success.px-tag__outline.px-tag__disabled .px-tag-icon:active {
215
+ fill: var(--px-success-2);
216
+ }
217
+ .px-tag.px-tag__warning:focus-visible {
218
+ outline-color: var(--px-warning-6);
219
+ outline-offset: var(--px-bit);
220
+ }
221
+ .px-tag.px-tag__warning .px-tag-icon:hover {
222
+ fill: var(--px-warning-2);
223
+ }
224
+ .px-tag.px-tag__warning .px-tag-icon:active {
225
+ fill: var(--px-warning-3);
226
+ }
227
+ .px-tag.px-tag__warning.px-tag__disabled .px-tag-icon:hover {
228
+ fill: var(--px-warning-1);
229
+ }
230
+ .px-tag.px-tag__warning.px-tag__disabled .px-tag-icon:active {
231
+ fill: var(--px-warning-1);
232
+ }
233
+ .px-tag.px-tag__warning.px-tag__plain {
234
+ --text-color: var(--px-warning-6);
235
+ }
236
+ .px-tag.px-tag__warning.px-tag__plain .px-tag-icon:hover {
237
+ fill: var(--px-warning-5);
238
+ }
239
+ .px-tag.px-tag__warning.px-tag__plain .px-tag-icon:active {
240
+ fill: var(--px-warning-7);
241
+ }
242
+ .px-tag.px-tag__warning.px-tag__plain.px-tag__disabled {
243
+ --text-color: var(--px-warning-3);
244
+ }
245
+ .px-tag.px-tag__warning.px-tag__plain.px-tag__disabled .px-tag-icon:hover {
246
+ fill: var(--px-warning-3);
247
+ }
248
+ .px-tag.px-tag__warning.px-tag__plain.px-tag__disabled .px-tag-icon:active {
249
+ fill: var(--px-warning-3);
250
+ }
251
+ .px-tag.px-tag__warning.px-tag__outline {
252
+ --text-color: var(--px-warning-6);
253
+ }
254
+ .px-tag.px-tag__warning.px-tag__outline .px-tag-icon:hover {
255
+ fill: var(--px-warning-5);
256
+ }
257
+ .px-tag.px-tag__warning.px-tag__outline .px-tag-icon:active {
258
+ fill: var(--px-warning-7);
259
+ }
260
+ .px-tag.px-tag__warning.px-tag__outline.px-tag__disabled {
261
+ --text-color: var(--px-warning-2);
262
+ }
263
+ .px-tag.px-tag__warning.px-tag__outline.px-tag__disabled .px-tag-icon:hover {
264
+ fill: var(--px-warning-2);
265
+ }
266
+ .px-tag.px-tag__warning.px-tag__outline.px-tag__disabled .px-tag-icon:active {
267
+ fill: var(--px-warning-2);
268
+ }
269
+ .px-tag.px-tag__danger:focus-visible {
270
+ outline-color: var(--px-danger-6);
271
+ outline-offset: var(--px-bit);
272
+ }
273
+ .px-tag.px-tag__danger .px-tag-icon:hover {
274
+ fill: var(--px-danger-2);
275
+ }
276
+ .px-tag.px-tag__danger .px-tag-icon:active {
277
+ fill: var(--px-danger-3);
278
+ }
279
+ .px-tag.px-tag__danger.px-tag__disabled .px-tag-icon:hover {
280
+ fill: var(--px-danger-1);
281
+ }
282
+ .px-tag.px-tag__danger.px-tag__disabled .px-tag-icon:active {
283
+ fill: var(--px-danger-1);
284
+ }
285
+ .px-tag.px-tag__danger.px-tag__plain {
286
+ --text-color: var(--px-danger-6);
287
+ }
288
+ .px-tag.px-tag__danger.px-tag__plain .px-tag-icon:hover {
289
+ fill: var(--px-danger-5);
290
+ }
291
+ .px-tag.px-tag__danger.px-tag__plain .px-tag-icon:active {
292
+ fill: var(--px-danger-7);
293
+ }
294
+ .px-tag.px-tag__danger.px-tag__plain.px-tag__disabled {
295
+ --text-color: var(--px-danger-3);
296
+ }
297
+ .px-tag.px-tag__danger.px-tag__plain.px-tag__disabled .px-tag-icon:hover {
298
+ fill: var(--px-danger-3);
299
+ }
300
+ .px-tag.px-tag__danger.px-tag__plain.px-tag__disabled .px-tag-icon:active {
301
+ fill: var(--px-danger-3);
302
+ }
303
+ .px-tag.px-tag__danger.px-tag__outline {
304
+ --text-color: var(--px-danger-6);
305
+ }
306
+ .px-tag.px-tag__danger.px-tag__outline .px-tag-icon:hover {
307
+ fill: var(--px-danger-5);
308
+ }
309
+ .px-tag.px-tag__danger.px-tag__outline .px-tag-icon:active {
310
+ fill: var(--px-danger-7);
311
+ }
312
+ .px-tag.px-tag__danger.px-tag__outline.px-tag__disabled {
313
+ --text-color: var(--px-danger-2);
314
+ }
315
+ .px-tag.px-tag__danger.px-tag__outline.px-tag__disabled .px-tag-icon:hover {
316
+ fill: var(--px-danger-2);
317
+ }
318
+ .px-tag.px-tag__danger.px-tag__outline.px-tag__disabled .px-tag-icon:active {
319
+ fill: var(--px-danger-2);
320
+ }
321
+ .px-tag.px-tag__info:focus-visible {
322
+ outline-color: var(--px-neutral-10);
323
+ outline-offset: var(--px-bit);
324
+ }
325
+ .px-tag.px-tag__info .px-tag-icon:hover {
326
+ fill: var(--px-neutral-6);
327
+ }
328
+ .px-tag.px-tag__info .px-tag-icon:active {
329
+ fill: var(--px-neutral-7);
330
+ }
331
+ .px-tag.px-tag__info.px-tag__disabled .px-tag-icon:hover {
332
+ fill: var(--px-neutral-1);
333
+ }
334
+ .px-tag.px-tag__info.px-tag__disabled .px-tag-icon:active {
335
+ fill: var(--px-neutral-1);
336
+ }
337
+ .px-tag.px-tag__info.px-tag__plain {
338
+ --text-color: var(--px-neutral-9);
339
+ }
340
+ .px-tag.px-tag__info.px-tag__plain .px-tag-icon:hover {
341
+ fill: var(--px-neutral-8);
342
+ }
343
+ .px-tag.px-tag__info.px-tag__plain .px-tag-icon:active {
344
+ fill: var(--px-neutral-7);
345
+ }
346
+ .px-tag.px-tag__info.px-tag__plain.px-tag__disabled {
347
+ --text-color: var(--px-neutral-7);
348
+ }
349
+ .px-tag.px-tag__info.px-tag__plain.px-tag__disabled .px-tag-icon:hover {
350
+ fill: var(--px-neutral-7);
351
+ }
352
+ .px-tag.px-tag__info.px-tag__plain.px-tag__disabled .px-tag-icon:active {
353
+ fill: var(--px-neutral-7);
354
+ }
355
+ .px-tag.px-tag__info.px-tag__outline {
356
+ --text-color: var(--px-neutral-10);
357
+ }
358
+ .px-tag.px-tag__info.px-tag__outline .px-tag-icon:hover {
359
+ fill: var(--px-neutral-9);
360
+ }
361
+ .px-tag.px-tag__info.px-tag__outline .px-tag-icon:active {
362
+ fill: var(--px-neutral-8);
363
+ }
364
+ .px-tag.px-tag__info.px-tag__outline.px-tag__disabled {
365
+ --text-color: var(--px-neutral-7);
366
+ }
367
+ .px-tag.px-tag__info.px-tag__outline.px-tag__disabled .px-tag-icon:hover {
368
+ fill: var(--px-neutral-7);
369
+ }
370
+ .px-tag.px-tag__info.px-tag__outline.px-tag__disabled .px-tag-icon:active {
371
+ fill: var(--px-neutral-7);
372
+ }
@@ -0,0 +1,23 @@
1
+ import type { TagProps } from './type';
2
+ declare var __VLS_1: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_1) => any;
5
+ };
6
+ declare const __VLS_component: import("vue").DefineComponent<TagProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ close: (e: MouseEvent) => any;
8
+ }, string, import("vue").PublicProps, Readonly<TagProps> & Readonly<{
9
+ onClose?: ((e: MouseEvent) => any) | undefined;
10
+ }>, {
11
+ shape: "default" | "round";
12
+ size: "medium" | "large" | "small";
13
+ disabled: boolean;
14
+ variant: "primary" | "plain" | "outline";
15
+ theme: "primary" | "sakura" | "success" | "warning" | "danger" | "info";
16
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
18
+ export default _default;
19
+ type __VLS_WithSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -0,0 +1,193 @@
1
+ import './css.js'
2
+ import { defineComponent, createElementBlock, openBlock, normalizeStyle, createElementVNode, ref, shallowRef, onMounted, nextTick, computed, watch, normalizeClass, renderSlot, createCommentVNode, createVNode, unref } from "vue";
3
+ import { a as canvasPreprocess, c as calcPixelSize, g as getBorderRadius, b as calcBorderCornerCenter, f as floodFill } from "../share/util/plot.js";
4
+ import { p as parseColor, a as generatePalette } from "../share/util/color.js";
5
+ import { g as getTextColorWithPalette, a as getBorderColor, d as drawBorder, b as getBackgroundColor } from "./draw.js";
6
+ import { u as useDarkMode } from "../share/hook/use-dark-mode.js";
7
+ import { u as useResizeObserver } from "../share/hook/use-resize-observer.js";
8
+ import { u as useWatchGlobalCssVal } from "../share/hook/use-watch-global-css-var.js";
9
+ import { B as BORDER_CORNER_RAD_RANGE } from "../share/const/index.js";
10
+ const Times = /* @__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: "M14 13h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h-1v1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-1v-1h-2v1h-1v1H9v1H8v1H7v1H6v1H5v1H4v1H3v-1H2v-1h1v-1h1v-1h1v-1h1v-1h1v-1h1v-1h1v-1h1v-2H9v-1H8V9H7V8H6V7H5V6H4V5H3V4H2V3h1V2h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h2V9h1V8h1V7h1V6h1V5h1V4h1V3h1V2h1v1h1v1h-1v1h-1v1h-1v1h-1v1h-1v1h-1v1h-1v1h-1z" },
30
+ null,
31
+ -1
32
+ /* CACHED */
33
+ )
34
+ ])],
35
+ 4
36
+ /* STYLE */
37
+ );
38
+ };
39
+ }
40
+ });
41
+ const _hoisted_1 = {
42
+ key: 0,
43
+ class: "px-tag-icon-wrapper"
44
+ };
45
+ const _sfc_main = /* @__PURE__ */ defineComponent({
46
+ ...{
47
+ name: "Tag"
48
+ },
49
+ __name: "index",
50
+ props: {
51
+ borderRadius: null,
52
+ shape: { default: "default" },
53
+ size: { default: "medium" },
54
+ disabled: { type: Boolean, default: false },
55
+ variant: { default: "primary" },
56
+ theme: { default: "primary" },
57
+ color: null,
58
+ closable: { type: Boolean }
59
+ },
60
+ emits: ["close"],
61
+ setup(__props, { emit: __emit }) {
62
+ const props = __props;
63
+ const emits = __emit;
64
+ const closeHoverFlag = ref(false);
65
+ const closeActiveFlag = ref(false);
66
+ const toggleHover = (value) => {
67
+ closeHoverFlag.value = value;
68
+ };
69
+ const toggleActive = (value) => {
70
+ closeActiveFlag.value = value;
71
+ };
72
+ const darkMode = useDarkMode();
73
+ const canvasRef = shallowRef(null);
74
+ const tagRef = shallowRef(null);
75
+ onMounted(() => {
76
+ nextTick(() => {
77
+ drawPixel();
78
+ });
79
+ });
80
+ const palette = computed(() => {
81
+ if (!props.color) return null;
82
+ const color = parseColor(props.color);
83
+ const palette2 = generatePalette(color.r, color.g, color.b, color.a, darkMode.value);
84
+ return palette2;
85
+ });
86
+ const textColor = computed(() => {
87
+ return getTextColorWithPalette(palette.value, props.variant, props.disabled);
88
+ });
89
+ const closeHandler = (e) => {
90
+ if (!props.disabled) {
91
+ emits("close", e);
92
+ }
93
+ };
94
+ watch(
95
+ [
96
+ () => props.borderRadius,
97
+ () => props.shape,
98
+ () => props.disabled,
99
+ () => props.variant,
100
+ () => props.theme,
101
+ palette,
102
+ darkMode
103
+ ],
104
+ () => {
105
+ drawPixel();
106
+ }
107
+ );
108
+ const drawPixel = () => {
109
+ const preprocessData = canvasPreprocess(tagRef, canvasRef);
110
+ if (!preprocessData) {
111
+ return;
112
+ }
113
+ const { ctx, width, height, canvas } = preprocessData;
114
+ const pixelSize = calcPixelSize();
115
+ const borderRadius = getBorderRadius(
116
+ canvas,
117
+ pixelSize,
118
+ props.borderRadius,
119
+ props.shape,
120
+ "medium",
121
+ false,
122
+ false,
123
+ false
124
+ );
125
+ const borderColor = getBorderColor(props.disabled, props.variant, props.theme, palette.value);
126
+ const center = calcBorderCornerCenter(borderRadius, width, height, pixelSize);
127
+ const rad = BORDER_CORNER_RAD_RANGE;
128
+ drawBorder(ctx, width, height, center, borderRadius, rad, borderColor, pixelSize);
129
+ const backgroundColor = getBackgroundColor(
130
+ props.disabled,
131
+ props.variant,
132
+ props.theme,
133
+ palette.value
134
+ );
135
+ floodFill(ctx, Math.round(width / 2), Math.round(height / 2), backgroundColor);
136
+ };
137
+ useResizeObserver(tagRef, drawPixel);
138
+ useWatchGlobalCssVal(drawPixel);
139
+ return (_ctx, _cache) => {
140
+ return openBlock(), createElementBlock(
141
+ "span",
142
+ {
143
+ class: normalizeClass(["pixelium px-tag", {
144
+ "px-tag__large": props.size === "large",
145
+ "px-tag__small": props.size === "small",
146
+ "px-tag__outline": props.variant === "outline",
147
+ "px-tag__plain": props.variant === "plain",
148
+ "px-tag__disabled": props.disabled,
149
+ "px-tag__custom": palette.value,
150
+ [`px-tag__${props.theme || "primary"}`]: true
151
+ }]),
152
+ style: normalizeStyle({
153
+ color: textColor.value
154
+ }),
155
+ ref_key: "tagRef",
156
+ ref: tagRef
157
+ },
158
+ [
159
+ createElementVNode(
160
+ "canvas",
161
+ {
162
+ ref_key: "canvasRef",
163
+ ref: canvasRef,
164
+ class: "px-tag-canvas"
165
+ },
166
+ null,
167
+ 512
168
+ /* NEED_PATCH */
169
+ ),
170
+ renderSlot(_ctx.$slots, "default"),
171
+ props.closable ? (openBlock(), createElementBlock("div", _hoisted_1, [
172
+ createVNode(unref(Times), {
173
+ onMousedown: _cache[0] || (_cache[0] = ($event) => toggleActive(true)),
174
+ onMouseup: _cache[1] || (_cache[1] = ($event) => toggleActive(false)),
175
+ onMouseenter: _cache[2] || (_cache[2] = ($event) => toggleHover(true)),
176
+ onMouseleave: _cache[3] || (_cache[3] = ($event) => toggleHover(false)),
177
+ onClick: closeHandler,
178
+ class: "px-tag-icon",
179
+ style: normalizeStyle({
180
+ fill: textColor.value
181
+ })
182
+ }, null, 8, ["style"])
183
+ ])) : createCommentVNode("v-if", true)
184
+ ],
185
+ 6
186
+ /* CLASS, STYLE */
187
+ );
188
+ };
189
+ }
190
+ });
191
+ export {
192
+ _sfc_main as _
193
+ };
@@ -0,0 +1,58 @@
1
+ import type { NumberOrPercentage } from '../share/type';
2
+ export type TagProps = {
3
+ /**
4
+ * @property {NumberOrPercentage | NumberOrPercentage[]} [borderRadius]
5
+ * @version 0.0.2
6
+ */
7
+ borderRadius?: NumberOrPercentage | NumberOrPercentage[];
8
+ /**
9
+ * @property {'default' | 'round'} [shape='default']
10
+ * @version 0.0.2
11
+ */
12
+ shape?: 'default' | 'round';
13
+ /**
14
+ * @property {'medium' | 'large' | 'small'} [size='medium']
15
+ * @version 0.0.2
16
+ */
17
+ size?: 'medium' | 'large' | 'small';
18
+ /**
19
+ * @property {boolean} [disabled=false]
20
+ * @version 0.0.2
21
+ */
22
+ disabled?: boolean;
23
+ /**
24
+ * @property {'primary' | 'plain' | 'outline'} [variant='primary']
25
+ * @version 0.0.2
26
+ */
27
+ variant?: 'primary' | 'plain' | 'outline';
28
+ /**
29
+ * @property {'primary' | 'sakura' | 'success' | 'warning' | 'danger' | 'info'} [theme='primary']
30
+ * @version 0.0.2
31
+ */
32
+ theme?: 'primary' | 'sakura' | 'success' | 'warning' | 'danger' | 'info';
33
+ /**
34
+ * @property {string} [color]
35
+ * @version 0.0.2
36
+ */
37
+ color?: string;
38
+ /**
39
+ * @property {boolean} [closable]
40
+ * @version 0.0.2
41
+ */
42
+ closable?: boolean;
43
+ };
44
+ export type TagEvents = {
45
+ /**
46
+ * @event close
47
+ * @version 0.0.2
48
+ * @param {MouseEvent} e
49
+ */
50
+ close: [e: MouseEvent];
51
+ };
52
+ export type TagSlots = {
53
+ /**
54
+ * @slot default
55
+ * @version 0.0.2
56
+ */
57
+ default: {};
58
+ };
@@ -0,0 +1,2 @@
1
+ import '../index.css'
2
+ import './index.css'
@@ -0,0 +1,2 @@
1
+ import type { RgbaColor } from '../share/type';
2
+ export declare const draw: (ctx: CanvasRenderingContext2D, width: number, height: number, borderColor: RgbaColor, backgroundColor: RgbaColor, pixelSize: number) => void;
@@ -0,0 +1,13 @@
1
+ import { r as rgbaColor2string } from "../share/util/color.js";
2
+ const draw = (ctx, width, height, borderColor, backgroundColor, pixelSize) => {
3
+ ctx.fillStyle = rgbaColor2string(borderColor);
4
+ ctx.fillRect(pixelSize, 0, width - 2 * pixelSize, pixelSize);
5
+ ctx.fillRect(width - pixelSize, pixelSize, pixelSize, height - 2 * pixelSize);
6
+ ctx.fillRect(pixelSize, height - pixelSize, width - 2 * pixelSize, pixelSize);
7
+ ctx.fillRect(0, pixelSize, pixelSize, height - 2 * pixelSize);
8
+ ctx.fillStyle = rgbaColor2string(backgroundColor);
9
+ ctx.fillRect(pixelSize, pixelSize, width - 2 * pixelSize, height - 2 * pixelSize);
10
+ };
11
+ export {
12
+ draw as d
13
+ };