@pixelium/web-vue 0.0.2 → 0.0.3-alpha

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 (284) hide show
  1. package/README.md +42 -0
  2. package/README.zh.md +6 -3
  3. package/dist/font.css +1 -1
  4. package/dist/index.d.ts +1602 -248
  5. package/dist/normalize.css +2 -0
  6. package/dist/pixelium-vue-icon-hn.cjs +1 -1
  7. package/dist/pixelium-vue-icon-hn.css +2 -1
  8. package/dist/pixelium-vue-icon-hn.js +8533 -8154
  9. package/dist/pixelium-vue-icon-hn.umd.cjs +1 -1
  10. package/dist/pixelium-vue-icon-pa.cjs +1 -1
  11. package/dist/pixelium-vue-icon-pa.css +2 -1
  12. package/dist/pixelium-vue-icon-pa.js +10625 -10143
  13. package/dist/pixelium-vue-icon-pa.umd.cjs +1 -1
  14. package/dist/pixelium-vue.cjs +2 -2
  15. package/dist/pixelium-vue.css +2 -1
  16. package/dist/pixelium-vue.js +7407 -5852
  17. package/dist/pixelium-vue.umd.cjs +2 -2
  18. package/es/aside/index.css +1 -0
  19. package/es/aside/index.js +46 -151
  20. package/es/auto-complete/draw.d.ts +1 -1
  21. package/es/auto-complete/draw.js +26 -51
  22. package/es/auto-complete/index.css +92 -32
  23. package/es/auto-complete/index.d.ts +12 -15
  24. package/es/auto-complete/index.js +338 -400
  25. package/es/auto-complete/type.d.ts +25 -13
  26. package/es/avatar/css.js +2 -0
  27. package/es/avatar/draw.d.ts +2 -0
  28. package/es/avatar/draw.js +11 -0
  29. package/es/avatar/index.css +49 -0
  30. package/es/avatar/index.d.ts +15 -0
  31. package/es/avatar/index.js +110 -0
  32. package/es/avatar/type.d.ts +34 -0
  33. package/es/button/draw.d.ts +4 -4
  34. package/es/button/draw.js +213 -297
  35. package/es/button/index.css +40 -30
  36. package/es/button/index.d.ts +0 -4
  37. package/es/button/index.js +230 -256
  38. package/es/button/type.d.ts +3 -3
  39. package/es/button-group/index.css +0 -3
  40. package/es/button-group/index.d.ts +1 -2
  41. package/es/button-group/index.js +59 -31
  42. package/es/button-group/type.d.ts +21 -4
  43. package/es/checkbox/css.js +2 -0
  44. package/es/checkbox/draw.d.ts +4 -0
  45. package/es/checkbox/draw.js +46 -0
  46. package/es/checkbox/index.css +85 -0
  47. package/es/checkbox/index.d.ts +31 -0
  48. package/es/checkbox/index.js +206 -0
  49. package/es/checkbox/type.d.ts +88 -0
  50. package/es/checkbox-group/css.js +2 -0
  51. package/es/checkbox-group/index.css +20 -0
  52. package/es/checkbox-group/index.d.ts +23 -0
  53. package/es/checkbox-group/index.js +84 -0
  54. package/es/checkbox-group/type.d.ts +78 -0
  55. package/es/col/index.d.ts +2 -2
  56. package/es/col/index.js +43 -58
  57. package/es/container/index.css +1 -0
  58. package/es/container/index.js +18 -31
  59. package/es/divider/index.js +39 -53
  60. package/es/empty/index.css +4 -4
  61. package/es/empty/index.js +16 -71
  62. package/es/entry.js +102 -0
  63. package/es/footer/index.css +1 -0
  64. package/es/footer/index.js +31 -40
  65. package/es/form/css.js +1 -0
  66. package/es/form/index.d.ts +27 -0
  67. package/es/form/index.js +125 -0
  68. package/es/form/type.d.ts +238 -0
  69. package/es/form/use-form.d.ts +4 -0
  70. package/es/form/use-form.js +48 -0
  71. package/es/form-item/css.js +2 -0
  72. package/es/form-item/index.css +77 -0
  73. package/es/form-item/index.d.ts +37 -0
  74. package/es/form-item/index.js +318 -0
  75. package/es/form-item/type.d.ts +96 -0
  76. package/es/grid/index.js +56 -75
  77. package/es/grid-item/css.js +0 -1
  78. package/es/grid-item/index.d.ts +1 -1
  79. package/es/grid-item/index.js +85 -121
  80. package/es/header/index.css +1 -0
  81. package/es/header/index.js +31 -40
  82. package/es/icon/index.js +44 -55
  83. package/es/icons/css-hn.js +0 -1
  84. package/es/icons/css-pa.js +0 -1
  85. package/es/icons/icon-hn.js +10337 -15986
  86. package/es/icons/icon-pa.js +12573 -17447
  87. package/es/image/css.js +2 -0
  88. package/es/image/index.css +69 -0
  89. package/es/image/index.d.ts +35 -0
  90. package/es/image/index.js +199 -0
  91. package/es/image/type.d.ts +126 -0
  92. package/es/index.css +1 -515
  93. package/es/index.d.ts +22 -2
  94. package/es/index.js +144 -123
  95. package/es/input/draw.d.ts +1 -1
  96. package/es/input/draw.js +26 -51
  97. package/es/input/index.css +85 -33
  98. package/es/input/index.d.ts +9 -16
  99. package/es/input/index.js +319 -423
  100. package/es/input/type.d.ts +3 -3
  101. package/es/input-group/index.css +0 -1
  102. package/es/input-group/index.d.ts +2 -2
  103. package/es/input-group/index.js +66 -37
  104. package/es/input-group/type.d.ts +16 -4
  105. package/es/input-group-label/draw.d.ts +1 -1
  106. package/es/input-group-label/draw.js +26 -51
  107. package/es/input-group-label/index.css +33 -22
  108. package/es/input-group-label/index.d.ts +1 -4
  109. package/es/input-group-label/index.js +104 -127
  110. package/es/input-group-label/type.d.ts +3 -3
  111. package/es/input-number/draw.d.ts +1 -1
  112. package/es/input-number/draw.js +26 -51
  113. package/es/input-number/index.css +90 -35
  114. package/es/input-number/index.d.ts +9 -16
  115. package/es/input-number/index.js +428 -536
  116. package/es/input-number/type.d.ts +3 -3
  117. package/es/input-tag/draw.d.ts +1 -1
  118. package/es/input-tag/draw.js +26 -48
  119. package/es/input-tag/index.css +100 -33
  120. package/es/input-tag/index.d.ts +7 -13
  121. package/es/input-tag/index.js +442 -467
  122. package/es/input-tag/type.d.ts +24 -13
  123. package/es/link/index.js +75 -106
  124. package/es/main/index.css +4 -0
  125. package/es/main/index.d.ts +4 -1
  126. package/es/main/index.js +15 -15
  127. package/es/main/type.d.ts +7 -0
  128. package/es/mask/index.js +94 -115
  129. package/es/message/index.css +1 -1
  130. package/es/message/index.js +168 -346
  131. package/es/message-box/css.js +1 -1
  132. package/es/message-box/index.js +98 -114
  133. package/es/message-box/message-box-wrapped.js +33 -46
  134. package/es/message-box/message-box.js +79 -111
  135. package/es/option-list/index.css +13 -13
  136. package/es/option-list/index.d.ts +4 -31
  137. package/es/option-list/index.js +99 -167
  138. package/es/option-list/type.d.ts +5 -1
  139. package/es/pixelate/pixel.d.ts +5 -0
  140. package/es/pixelate/pixel.js +70 -0
  141. package/es/pixelate/pixelate.worker.d.ts +1 -0
  142. package/es/popover/index.d.ts +13 -99
  143. package/es/popover/index.js +75 -238
  144. package/es/popover/type.d.ts +7 -2
  145. package/es/popup/css.js +1 -0
  146. package/es/popup/index.d.ts +210 -0
  147. package/es/popup/index.js +203 -0
  148. package/es/popup/type.d.ts +105 -0
  149. package/es/popup-content/draw.d.ts +2 -2
  150. package/es/popup-content/draw.js +98 -143
  151. package/es/popup-content/index.css +11 -11
  152. package/es/popup-content/index.d.ts +1 -0
  153. package/es/popup-content/index.js +253 -1576
  154. package/es/popup-content/type.d.ts +1 -0
  155. package/es/popup-trigger/index.d.ts +8 -2
  156. package/es/popup-trigger/index.js +122 -95
  157. package/es/popup-trigger/type.d.ts +4 -1
  158. package/es/popup-wrapper/css.js +2 -0
  159. package/es/popup-wrapper/index.css +14 -0
  160. package/es/popup-wrapper/index.d.ts +18 -0
  161. package/es/popup-wrapper/index.js +67 -0
  162. package/es/popup-wrapper/type.d.ts +9 -0
  163. package/es/radio/css.js +1 -0
  164. package/es/radio/draw.d.ts +4 -0
  165. package/es/radio/draw.js +47 -0
  166. package/es/radio/index.d.ts +30 -0
  167. package/es/radio/index.js +190 -0
  168. package/es/radio/style.css +73 -0
  169. package/es/radio/type.d.ts +76 -0
  170. package/es/radio-group/css.js +2 -0
  171. package/es/radio-group/index.css +20 -0
  172. package/es/radio-group/index.d.ts +23 -0
  173. package/es/radio-group/index.js +77 -0
  174. package/es/radio-group/type.d.ts +77 -0
  175. package/es/row/index.js +56 -70
  176. package/es/select/draw.d.ts +1 -1
  177. package/es/select/draw.js +26 -51
  178. package/es/select/index.css +118 -36
  179. package/es/select/index.d.ts +14 -16
  180. package/es/select/index.js +625 -672
  181. package/es/select/type.d.ts +60 -25
  182. package/es/share/const/event-bus-key.js +1 -6
  183. package/es/share/const/index.d.ts +4 -0
  184. package/es/share/const/index.js +22 -24
  185. package/es/share/const/provide-key.d.ts +5 -0
  186. package/es/share/const/provide-key.js +6 -5
  187. package/es/share/const/style.d.ts +6 -0
  188. package/es/share/const/style.js +7 -0
  189. package/es/share/hook/use-cancelable-delay.d.ts +1 -0
  190. package/es/share/hook/use-cancelable-delay.js +42 -0
  191. package/es/share/hook/use-click-outside-listener.d.ts +1 -1
  192. package/es/share/hook/use-click-outside-listener.js +28 -41
  193. package/es/share/hook/use-composition.js +17 -15
  194. package/es/share/hook/use-controlled-mode.d.ts +3 -3
  195. package/es/share/hook/use-controlled-mode.js +20 -23
  196. package/es/share/hook/use-dark-mode.js +51 -65
  197. package/es/share/hook/use-index-of-children.d.ts +2 -1
  198. package/es/share/hook/use-index-of-children.js +47 -45
  199. package/es/share/hook/use-lazy-load.d.ts +10 -0
  200. package/es/share/hook/use-lazy-load.js +133 -0
  201. package/es/share/hook/use-props-detect.d.ts +2 -0
  202. package/es/share/hook/use-resize-observer.d.ts +1 -2
  203. package/es/share/hook/use-resize-observer.js +28 -20
  204. package/es/share/hook/use-screen-width.js +27 -36
  205. package/es/share/hook/use-smooth-transition.d.ts +2 -0
  206. package/es/share/hook/use-smooth-transition.js +65 -0
  207. package/es/share/hook/use-textarea-height.js +86 -92
  208. package/es/share/hook/use-theme-mode.js +41 -42
  209. package/es/share/hook/use-transition-end.d.ts +2 -0
  210. package/es/share/hook/use-transition-end.js +12 -0
  211. package/es/share/hook/use-watch-global-css-var.js +12 -16
  212. package/es/share/hook/use-window-resize-listener.d.ts +1 -0
  213. package/es/share/hook/use-window-resize-listener.js +15 -0
  214. package/es/share/hook/use-z-index.js +30 -27
  215. package/es/share/style/index.css +5 -0
  216. package/es/share/type/index.d.ts +18 -3
  217. package/es/share/util/color.d.ts +5 -3
  218. package/es/share/util/color.js +156 -149
  219. package/es/share/util/common.d.ts +7 -2
  220. package/es/share/util/common.js +127 -65
  221. package/es/share/util/console.d.ts +3 -3
  222. package/es/share/util/console.js +10 -7
  223. package/es/share/util/dom.d.ts +19 -0
  224. package/es/share/util/dom.js +88 -0
  225. package/es/share/util/env.d.ts +1 -0
  226. package/es/share/util/env.js +5 -4
  227. package/es/share/util/event-bus.js +3 -20
  228. package/es/share/util/lru-cache.js +29 -33
  229. package/es/share/util/pixel.d.ts +4 -0
  230. package/es/share/util/plot.d.ts +8 -3
  231. package/es/share/util/plot.js +457 -229
  232. package/es/share/util/reactivity.d.ts +8 -0
  233. package/es/share/util/reactivity.js +23 -0
  234. package/es/share/util/render.js +31 -41
  235. package/es/share/util/theme.d.ts +3 -0
  236. package/es/share/util/theme.js +77 -57
  237. package/es/slider/css.js +2 -0
  238. package/es/slider/draw.d.ts +25 -0
  239. package/es/slider/draw.js +113 -0
  240. package/es/slider/index.css +119 -0
  241. package/es/slider/index.d.ts +66 -0
  242. package/es/slider/index.js +503 -0
  243. package/es/slider/type.d.ts +162 -0
  244. package/es/slider/util.d.ts +37 -0
  245. package/es/slider/util.js +130 -0
  246. package/es/space/index.css +24 -29
  247. package/es/space/index.js +73 -97
  248. package/es/spin/index.css +18 -17
  249. package/es/spin/index.js +72 -102
  250. package/es/spin/type.d.ts +11 -5
  251. package/es/switch/css.js +2 -0
  252. package/es/switch/draw.d.ts +2 -0
  253. package/es/switch/draw.js +18 -0
  254. package/es/switch/index.css +121 -0
  255. package/es/switch/index.d.ts +42 -0
  256. package/es/switch/index.js +259 -0
  257. package/es/switch/type.d.ts +133 -0
  258. package/es/tag/draw.d.ts +2 -2
  259. package/es/tag/draw.js +80 -127
  260. package/es/tag/index.css +38 -22
  261. package/es/tag/index.d.ts +2 -2
  262. package/es/tag/index.js +121 -190
  263. package/es/tag/type.d.ts +3 -3
  264. package/es/text-outline/css.js +2 -0
  265. package/es/text-outline/index.css +4 -0
  266. package/es/text-outline/index.d.ts +17 -0
  267. package/es/text-outline/index.js +33 -0
  268. package/es/text-outline/type.d.ts +23 -0
  269. package/es/textarea/draw.js +9 -11
  270. package/es/textarea/index.css +37 -23
  271. package/es/textarea/index.d.ts +8 -14
  272. package/es/textarea/index.js +274 -262
  273. package/es/tooltip/index.d.ts +100 -4
  274. package/es/tooltip/index.js +70 -226
  275. package/es/tooltip/type.d.ts +7 -2
  276. package/es/vendor.js +504 -0
  277. package/es/virtual-list/css.js +2 -0
  278. package/es/virtual-list/index.css +25 -0
  279. package/es/virtual-list/index.d.ts +11 -0
  280. package/es/virtual-list/index.js +313 -0
  281. package/es/virtual-list/type.d.ts +26 -0
  282. package/package.json +10 -16
  283. package/es/grid-item/index.css +0 -0
  284. /package/es/message-box/{message-box.css → index.css} +0 -0
package/es/button/draw.js CHANGED
@@ -1,308 +1,224 @@
1
- import { T as TRANSPARENT_RGBA_COLOR_OBJECT } from "../share/const/index.js";
2
- import { r as rgbaColor2string, g as getGlobalThemeColor } from "../share/util/color.js";
3
- import { e as calcWhenLeaveBaseline, d as drawCircle } from "../share/util/plot.js";
1
+ import { l as TRANSPARENT_RGBA_COLOR_OBJECT } from "../share/const/index.js";
2
+ import { a as drawCircle, r as calcWhenLeaveBaseline } from "../share/util/plot.js";
3
+ import { a as rgbaColor2string, n as getGlobalThemeColor } from "../share/util/color.js";
4
4
  function getBackgroundColor(disabled, loading, type, theme = "primary", palette, hoverFlag, activeFlag) {
5
- if (palette) {
6
- switch (type) {
7
- case "text":
8
- if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
9
- if (activeFlag) return palette[1];
10
- if (hoverFlag && !loading) return palette[0];
11
- return TRANSPARENT_RGBA_COLOR_OBJECT;
12
- case "outline":
13
- return TRANSPARENT_RGBA_COLOR_OBJECT;
14
- case "plain":
15
- if (disabled) return palette[0];
16
- if (activeFlag) return palette[2];
17
- if (hoverFlag && !loading) return palette[1];
18
- return palette[0];
19
- default:
20
- if (disabled) return palette[1];
21
- if (activeFlag) return palette[5];
22
- if (hoverFlag && !loading) return palette[4];
23
- return palette[5];
24
- }
25
- } else if (theme !== "info") {
26
- switch (type) {
27
- case "text":
28
- if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
29
- if (activeFlag) return getGlobalThemeColor(theme, 2);
30
- if (hoverFlag && !loading) return getGlobalThemeColor(theme, 1);
31
- return TRANSPARENT_RGBA_COLOR_OBJECT;
32
- case "outline":
33
- return TRANSPARENT_RGBA_COLOR_OBJECT;
34
- case "plain":
35
- if (disabled) return getGlobalThemeColor(theme, 1);
36
- if (activeFlag) return getGlobalThemeColor(theme, 3);
37
- if (hoverFlag && !loading) return getGlobalThemeColor(theme, 2);
38
- return getGlobalThemeColor(theme, 1);
39
- default:
40
- if (disabled) return getGlobalThemeColor(theme, 2);
41
- if (activeFlag) return getGlobalThemeColor(theme, 6);
42
- if (hoverFlag && !loading) return getGlobalThemeColor(theme, 5);
43
- return getGlobalThemeColor(theme, 6);
44
- }
45
- } else {
46
- switch (type) {
47
- case "outline":
48
- return TRANSPARENT_RGBA_COLOR_OBJECT;
49
- case "text":
50
- if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
51
- if (activeFlag) return getGlobalThemeColor("neutral", 3);
52
- if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 2);
53
- return TRANSPARENT_RGBA_COLOR_OBJECT;
54
- case "plain":
55
- if (disabled) return getGlobalThemeColor("neutral", 1);
56
- if (activeFlag) return getGlobalThemeColor("neutral", 4);
57
- if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 3);
58
- return getGlobalThemeColor("neutral", 1);
59
- default:
60
- if (disabled) return getGlobalThemeColor("neutral", 1);
61
- if (activeFlag) return getGlobalThemeColor("neutral", 3);
62
- if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 2);
63
- return getGlobalThemeColor("neutral", 1);
64
- }
65
- }
5
+ if (palette) switch (type) {
6
+ case "text":
7
+ if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
8
+ if (activeFlag) return palette[1];
9
+ if (hoverFlag && !loading) return palette[0];
10
+ return TRANSPARENT_RGBA_COLOR_OBJECT;
11
+ case "outline": return TRANSPARENT_RGBA_COLOR_OBJECT;
12
+ case "plain":
13
+ if (disabled) return palette[0];
14
+ if (activeFlag) return palette[2];
15
+ if (hoverFlag && !loading) return palette[1];
16
+ return palette[0];
17
+ default:
18
+ if (disabled) return palette[1];
19
+ if (activeFlag) return palette[5];
20
+ if (hoverFlag && !loading) return palette[4];
21
+ return palette[5];
22
+ }
23
+ else if (theme !== "info") switch (type) {
24
+ case "text":
25
+ if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
26
+ if (activeFlag) return getGlobalThemeColor(theme, 2);
27
+ if (hoverFlag && !loading) return getGlobalThemeColor(theme, 1);
28
+ return TRANSPARENT_RGBA_COLOR_OBJECT;
29
+ case "outline": return TRANSPARENT_RGBA_COLOR_OBJECT;
30
+ case "plain":
31
+ if (disabled) return getGlobalThemeColor(theme, 1);
32
+ if (activeFlag) return getGlobalThemeColor(theme, 3);
33
+ if (hoverFlag && !loading) return getGlobalThemeColor(theme, 2);
34
+ return getGlobalThemeColor(theme, 1);
35
+ default:
36
+ if (disabled) return getGlobalThemeColor(theme, 2);
37
+ if (activeFlag) return getGlobalThemeColor(theme, 6);
38
+ if (hoverFlag && !loading) return getGlobalThemeColor(theme, 5);
39
+ return getGlobalThemeColor(theme, 6);
40
+ }
41
+ else switch (type) {
42
+ case "outline": return TRANSPARENT_RGBA_COLOR_OBJECT;
43
+ case "text":
44
+ if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
45
+ if (activeFlag) return getGlobalThemeColor("neutral", 3);
46
+ if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 2);
47
+ return TRANSPARENT_RGBA_COLOR_OBJECT;
48
+ case "plain":
49
+ if (disabled) return getGlobalThemeColor("neutral", 1);
50
+ if (activeFlag) return getGlobalThemeColor("neutral", 4);
51
+ if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 3);
52
+ return getGlobalThemeColor("neutral", 1);
53
+ default:
54
+ if (disabled) return getGlobalThemeColor("neutral", 1);
55
+ if (activeFlag) return getGlobalThemeColor("neutral", 3);
56
+ if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 2);
57
+ return getGlobalThemeColor("neutral", 1);
58
+ }
66
59
  }
67
60
  function getBorderColor(disabled, loading, type, theme = "primary", palette, hoverFlag, activeFlag) {
68
- if (palette) {
69
- switch (type) {
70
- case "text":
71
- if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
72
- if (activeFlag) return palette[1];
73
- if (hoverFlag && !loading) return palette[0];
74
- return TRANSPARENT_RGBA_COLOR_OBJECT;
75
- case "plain":
76
- if (disabled) return palette[1];
77
- if (activeFlag) return palette[3];
78
- if (hoverFlag && !loading) return palette[2];
79
- return palette[1];
80
- case "outline":
81
- if (disabled) return palette[0];
82
- if (activeFlag) return palette[6];
83
- if (hoverFlag && !loading) return palette[4];
84
- return palette[5];
85
- default:
86
- return disabled ? getGlobalThemeColor("neutral", 8) : getGlobalThemeColor("neutral", 10);
87
- }
88
- } else if (theme !== "info") {
89
- switch (type) {
90
- case "text":
91
- if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
92
- if (activeFlag) return getGlobalThemeColor(theme, 2);
93
- if (hoverFlag && !loading) return getGlobalThemeColor(theme, 1);
94
- return TRANSPARENT_RGBA_COLOR_OBJECT;
95
- case "plain":
96
- if (disabled) return getGlobalThemeColor(theme, 2);
97
- if (activeFlag) return getGlobalThemeColor(theme, 4);
98
- if (hoverFlag && !loading) return getGlobalThemeColor(theme, 3);
99
- return getGlobalThemeColor(theme, 2);
100
- case "outline":
101
- if (disabled) return getGlobalThemeColor(theme, 1);
102
- if (activeFlag) return getGlobalThemeColor(theme, 7);
103
- if (hoverFlag && !loading) return getGlobalThemeColor(theme, 5);
104
- return getGlobalThemeColor(theme, 6);
105
- default:
106
- return disabled ? getGlobalThemeColor("neutral", 8) : getGlobalThemeColor("neutral", 10);
107
- }
108
- } else {
109
- switch (type) {
110
- case "text":
111
- if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
112
- if (activeFlag) return getGlobalThemeColor("neutral", 3);
113
- if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 2);
114
- return TRANSPARENT_RGBA_COLOR_OBJECT;
115
- case "plain":
116
- if (disabled) return getGlobalThemeColor("neutral", 5);
117
- if (activeFlag) return getGlobalThemeColor("neutral", 9);
118
- if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 8);
119
- return getGlobalThemeColor("neutral", 7);
120
- case "outline":
121
- if (disabled) return getGlobalThemeColor("neutral", 6);
122
- if (activeFlag) return getGlobalThemeColor("neutral", 8);
123
- if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 9);
124
- return getGlobalThemeColor("neutral", 10);
125
- }
126
- return disabled ? getGlobalThemeColor("neutral", 8) : getGlobalThemeColor("neutral", 10);
127
- }
61
+ if (palette) switch (type) {
62
+ case "text":
63
+ if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
64
+ if (activeFlag) return palette[1];
65
+ if (hoverFlag && !loading) return palette[0];
66
+ return TRANSPARENT_RGBA_COLOR_OBJECT;
67
+ case "plain":
68
+ if (disabled) return palette[1];
69
+ if (activeFlag) return palette[3];
70
+ if (hoverFlag && !loading) return palette[2];
71
+ return palette[1];
72
+ case "outline":
73
+ if (disabled) return palette[0];
74
+ if (activeFlag) return palette[6];
75
+ if (hoverFlag && !loading) return palette[4];
76
+ return palette[5];
77
+ default: return disabled ? getGlobalThemeColor("neutral", 8) : getGlobalThemeColor("neutral", 10);
78
+ }
79
+ else if (theme !== "info") switch (type) {
80
+ case "text":
81
+ if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
82
+ if (activeFlag) return getGlobalThemeColor(theme, 2);
83
+ if (hoverFlag && !loading) return getGlobalThemeColor(theme, 1);
84
+ return TRANSPARENT_RGBA_COLOR_OBJECT;
85
+ case "plain":
86
+ if (disabled) return getGlobalThemeColor(theme, 2);
87
+ if (activeFlag) return getGlobalThemeColor(theme, 4);
88
+ if (hoverFlag && !loading) return getGlobalThemeColor(theme, 3);
89
+ return getGlobalThemeColor(theme, 2);
90
+ case "outline":
91
+ if (disabled) return getGlobalThemeColor(theme, 1);
92
+ if (activeFlag) return getGlobalThemeColor(theme, 7);
93
+ if (hoverFlag && !loading) return getGlobalThemeColor(theme, 5);
94
+ return getGlobalThemeColor(theme, 6);
95
+ default: return disabled ? getGlobalThemeColor("neutral", 8) : getGlobalThemeColor("neutral", 10);
96
+ }
97
+ else {
98
+ switch (type) {
99
+ case "text":
100
+ if (disabled) return TRANSPARENT_RGBA_COLOR_OBJECT;
101
+ if (activeFlag) return getGlobalThemeColor("neutral", 3);
102
+ if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 2);
103
+ return TRANSPARENT_RGBA_COLOR_OBJECT;
104
+ case "plain":
105
+ if (disabled) return getGlobalThemeColor("neutral", 5);
106
+ if (activeFlag) return getGlobalThemeColor("neutral", 9);
107
+ if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 8);
108
+ return getGlobalThemeColor("neutral", 7);
109
+ case "outline":
110
+ if (disabled) return getGlobalThemeColor("neutral", 6);
111
+ if (activeFlag) return getGlobalThemeColor("neutral", 8);
112
+ if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 9);
113
+ return getGlobalThemeColor("neutral", 10);
114
+ }
115
+ return disabled ? getGlobalThemeColor("neutral", 8) : getGlobalThemeColor("neutral", 10);
116
+ }
128
117
  }
129
- const drawBorder = (ctx, width, height, center, borderRadius, rad, borderColor, pixelSize, type, inner, first, last) => {
130
- ctx.fillStyle = rgbaColor2string(borderColor);
131
- for (let i = 0; i < 4; i++) {
132
- if (borderRadius[i] > pixelSize) {
133
- if (i === 1 || i === 2 ? inner && (last || type === "text") || !inner : true) {
134
- drawCircle(
135
- ctx,
136
- center[i][0],
137
- center[i][1],
138
- borderRadius[i],
139
- rad[i][0],
140
- rad[i][1],
141
- pixelSize
142
- );
143
- }
144
- }
145
- }
146
- if (center[1][0] + pixelSize > center[0][0]) {
147
- ctx.fillRect(center[0][0], 0, center[1][0] - center[0][0] + pixelSize, pixelSize);
148
- }
149
- if (center[2][1] + pixelSize > center[1][1] && (inner && (last || type === "text") || !inner)) {
150
- ctx.fillRect(
151
- width - pixelSize,
152
- center[1][1],
153
- pixelSize,
154
- center[2][1] - center[1][1] + pixelSize
155
- );
156
- }
157
- if (center[3][0] < center[2][0] + pixelSize) {
158
- ctx.fillRect(
159
- center[3][0],
160
- height - pixelSize,
161
- center[2][0] - center[3][0] + pixelSize,
162
- pixelSize
163
- );
164
- }
165
- const flag = inner && !first && type !== "text";
166
- if (!flag && center[3][1] + pixelSize > center[0][1]) {
167
- ctx.fillRect(0, center[0][1], pixelSize, center[3][1] - center[0][1] + pixelSize);
168
- }
169
- if (inner && !first && type !== "text") {
170
- ctx.fillRect(pixelSize / 2, 0, pixelSize / 2, height);
171
- }
172
- if (inner && !last && type !== "text") {
173
- ctx.fillRect(width - 2 * pixelSize - 1, 0, pixelSize, height);
174
- }
118
+ const drawBorder = (ctx, width, height, center, borderRadius, rad, borderColor, pixelSize, type, inner, first, last, nextIsTextButton) => {
119
+ ctx.fillStyle = rgbaColor2string(borderColor);
120
+ for (let i = 0; i < 4; i++) if (borderRadius[i] > pixelSize) {
121
+ if (i === 1 || i === 2 ? inner && last || !inner : true) drawCircle(ctx, center[i][0], center[i][1], borderRadius[i], rad[i][0], rad[i][1], pixelSize);
122
+ }
123
+ if (center[1][0] + pixelSize > center[0][0]) {
124
+ let length = center[1][0] - center[0][0] + pixelSize;
125
+ if (inner && !last) length -= pixelSize;
126
+ ctx.fillRect(center[0][0], 0, length, pixelSize);
127
+ }
128
+ if (center[2][1] + pixelSize > center[1][1] && (inner && last || !inner)) ctx.fillRect(width - pixelSize, center[1][1], pixelSize, center[2][1] - center[1][1] + pixelSize);
129
+ if (center[3][0] < center[2][0] + pixelSize) {
130
+ let length = center[2][0] - center[3][0] + pixelSize;
131
+ if (inner && !last) length -= pixelSize;
132
+ ctx.fillRect(center[3][0], height - pixelSize, length, pixelSize);
133
+ }
134
+ if ((!inner || first) && center[3][1] + pixelSize > center[0][1]) ctx.fillRect(0, center[0][1], pixelSize, center[3][1] - center[0][1] + pixelSize);
135
+ if (inner && !first) ctx.fillRect(pixelSize / 2, 0, pixelSize / 2, height);
136
+ if (inner && !last) {
137
+ let length = pixelSize;
138
+ if (type === "text" || nextIsTextButton) length /= 2;
139
+ ctx.fillRect(width - 2 * pixelSize - 1, 0, length, height);
140
+ }
175
141
  };
176
142
  function getGradientColor(disabled, loading, theme = "primary", palette, hoverFlag, activeFlag) {
177
- if (palette) {
178
- if (disabled) return palette[0];
179
- if (activeFlag) return palette[6];
180
- if (hoverFlag && !loading) return palette[3];
181
- return palette[4];
182
- }
183
- if (theme !== "info") {
184
- if (disabled) return getGlobalThemeColor(theme, 1);
185
- if (activeFlag) return getGlobalThemeColor(theme, 7);
186
- if (hoverFlag && !loading) return getGlobalThemeColor(theme, 4);
187
- return getGlobalThemeColor(theme, 5);
188
- }
189
- if (disabled) return getGlobalThemeColor("neutral", 2);
190
- if (activeFlag) return getGlobalThemeColor("neutral", 5);
191
- if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 4);
192
- return getGlobalThemeColor("neutral", 3);
143
+ if (palette) {
144
+ if (disabled) return palette[0];
145
+ if (activeFlag) return palette[6];
146
+ if (hoverFlag && !loading) return palette[3];
147
+ return palette[4];
148
+ }
149
+ if (theme !== "info") {
150
+ if (disabled) return getGlobalThemeColor(theme, 1);
151
+ if (activeFlag) return getGlobalThemeColor(theme, 7);
152
+ if (hoverFlag && !loading) return getGlobalThemeColor(theme, 4);
153
+ return getGlobalThemeColor(theme, 5);
154
+ }
155
+ if (disabled) return getGlobalThemeColor("neutral", 2);
156
+ if (activeFlag) return getGlobalThemeColor("neutral", 5);
157
+ if (hoverFlag && !loading) return getGlobalThemeColor("neutral", 4);
158
+ return getGlobalThemeColor("neutral", 3);
193
159
  }
194
160
  const drawGradient = (ctx, width, height, center, borderRadius, rad, pixelSize, disabled, loading, theme = "primary", palette, inner, first, last, hoverFlag, activeFlag) => {
195
- const dxBottomRight = calcWhenLeaveBaseline(pixelSize, borderRadius[2]);
196
- const dxBottomLeft = calcWhenLeaveBaseline(pixelSize, borderRadius[3]);
197
- const dxTopRight = calcWhenLeaveBaseline(pixelSize, borderRadius[1]);
198
- const dxTopLeft = calcWhenLeaveBaseline(pixelSize, borderRadius[0]);
199
- const innerFlag = +!(inner && !first);
200
- const innerAndLastOrNotInner = +!inner || inner && last;
201
- if (!activeFlag || disabled) {
202
- const barColor = getGradientColor(disabled, loading, theme, palette, hoverFlag, activeFlag);
203
- ctx.fillStyle = rgbaColor2string(barColor);
204
- if (borderRadius[1] > pixelSize) {
205
- drawCircle(
206
- ctx,
207
- center[1][0] - pixelSize,
208
- center[1][1],
209
- borderRadius[1],
210
- rad[1][0],
211
- rad[1][1],
212
- pixelSize
213
- );
214
- ctx.globalCompositeOperation = "destination-out";
215
- ctx.fillRect(center[1][0] - pixelSize, 0, dxTopLeft, pixelSize);
216
- ctx.globalCompositeOperation = "source-over";
217
- }
218
- if (borderRadius[2] > pixelSize) {
219
- drawCircle(
220
- ctx,
221
- center[2][0] - pixelSize,
222
- center[2][1],
223
- borderRadius[2],
224
- rad[2][0],
225
- rad[2][1],
226
- pixelSize
227
- );
228
- ctx.globalCompositeOperation = "destination-out";
229
- ctx.fillRect(center[2][0] - pixelSize, height - pixelSize, dxBottomLeft, pixelSize);
230
- ctx.globalCompositeOperation = "source-over";
231
- }
232
- const barLenX = center[2][0] + pixelSize - center[3][0] + dxBottomLeft * innerFlag + dxBottomRight * +innerAndLastOrNotInner - 1 * +!innerAndLastOrNotInner;
233
- barLenX > 0 && ctx.fillRect(
234
- center[3][0] - dxBottomLeft * innerFlag,
235
- height - pixelSize * 2,
236
- barLenX,
237
- pixelSize
238
- );
239
- const barLenY = center[2][1] + pixelSize - center[1][1] + dxTopRight + dxBottomRight;
240
- barLenY > 0 && ctx.fillRect(
241
- width - pixelSize * 2 - (!last ? +inner * pixelSize * 1 : 0),
242
- center[1][1] - dxTopRight,
243
- pixelSize,
244
- barLenY
245
- );
246
- } else {
247
- const barColor = getGradientColor(disabled, loading, theme, palette, hoverFlag, activeFlag);
248
- ctx.fillStyle = rgbaColor2string(barColor);
249
- if (borderRadius[0] > pixelSize) {
250
- drawCircle(
251
- ctx,
252
- center[0][0] + pixelSize,
253
- center[0][1],
254
- borderRadius[0],
255
- rad[0][0],
256
- rad[0][1],
257
- pixelSize
258
- );
259
- ctx.globalCompositeOperation = "destination-out";
260
- ctx.fillRect(center[0][0] + pixelSize, 0, dxTopRight, pixelSize);
261
- ctx.globalCompositeOperation = "source-over";
262
- }
263
- if (borderRadius[3] > pixelSize) {
264
- drawCircle(
265
- ctx,
266
- center[3][0] + pixelSize,
267
- center[3][1],
268
- borderRadius[3],
269
- rad[3][0],
270
- rad[3][1],
271
- pixelSize
272
- );
273
- ctx.globalCompositeOperation = "destination-out";
274
- ctx.fillRect(center[3][0] + pixelSize, height - pixelSize, dxBottomRight, pixelSize);
275
- ctx.globalCompositeOperation = "source-over";
276
- }
277
- const barLenX = center[1][0] + pixelSize - center[0][0] + dxTopRight * +innerAndLastOrNotInner + dxTopLeft * innerFlag - 1 * +!innerAndLastOrNotInner;
278
- barLenX > 0 && ctx.fillRect(center[0][0] - dxTopLeft * innerFlag, pixelSize, barLenX, pixelSize);
279
- const barLenY = pixelSize + center[3][1] - center[0][1] + dxBottomLeft + dxTopLeft;
280
- barLenY > 0 && ctx.fillRect(pixelSize, center[0][1] - dxTopLeft, pixelSize, barLenY);
281
- }
161
+ const dxBottomRight = calcWhenLeaveBaseline(pixelSize, borderRadius[2]);
162
+ const dxBottomLeft = calcWhenLeaveBaseline(pixelSize, borderRadius[3]);
163
+ const dxTopRight = calcWhenLeaveBaseline(pixelSize, borderRadius[1]);
164
+ const dxTopLeft = calcWhenLeaveBaseline(pixelSize, borderRadius[0]);
165
+ const innerAndFirstOrNotInner = +!(inner && !first);
166
+ const innerAndLastOrNotInner = +!inner || +(inner && last);
167
+ if (!activeFlag || disabled) {
168
+ const barColor = getGradientColor(disabled, loading, theme, palette, hoverFlag, activeFlag);
169
+ if (!barColor) return;
170
+ ctx.fillStyle = rgbaColor2string(barColor);
171
+ if (borderRadius[1] > pixelSize) {
172
+ drawCircle(ctx, center[1][0] - pixelSize, center[1][1], borderRadius[1], rad[1][0], rad[1][1], pixelSize);
173
+ ctx.globalCompositeOperation = "destination-out";
174
+ ctx.fillRect(center[1][0] - pixelSize, 0, dxTopLeft, pixelSize);
175
+ ctx.globalCompositeOperation = "source-over";
176
+ }
177
+ if (borderRadius[2] > pixelSize) {
178
+ drawCircle(ctx, center[2][0] - pixelSize, center[2][1], borderRadius[2], rad[2][0], rad[2][1], pixelSize);
179
+ ctx.globalCompositeOperation = "destination-out";
180
+ ctx.fillRect(center[2][0] - pixelSize, height - pixelSize, dxBottomLeft, pixelSize);
181
+ ctx.globalCompositeOperation = "source-over";
182
+ }
183
+ const barLenX = center[2][0] - center[3][0] + dxBottomLeft * innerAndFirstOrNotInner + dxBottomRight * innerAndLastOrNotInner - 1 * +!innerAndLastOrNotInner;
184
+ barLenX > 0 && ctx.fillRect(center[3][0] - dxBottomLeft * innerAndFirstOrNotInner, height - pixelSize * 2, barLenX, pixelSize);
185
+ const barLenY = center[2][1] + pixelSize - center[1][1] + dxTopRight + dxBottomRight;
186
+ barLenY > 0 && ctx.fillRect(width - pixelSize * 2 - (!last ? +inner * pixelSize * 1 : 0), center[1][1] - dxTopRight, pixelSize, barLenY);
187
+ } else {
188
+ const barColor = getGradientColor(disabled, loading, theme, palette, hoverFlag, activeFlag);
189
+ if (!barColor) return;
190
+ ctx.fillStyle = rgbaColor2string(barColor);
191
+ if (borderRadius[0] > pixelSize) {
192
+ drawCircle(ctx, center[0][0] + pixelSize, center[0][1], borderRadius[0], rad[0][0], rad[0][1], pixelSize);
193
+ ctx.globalCompositeOperation = "destination-out";
194
+ ctx.fillRect(center[0][0] + pixelSize, 0, dxTopRight, pixelSize);
195
+ ctx.globalCompositeOperation = "source-over";
196
+ }
197
+ if (borderRadius[3] > pixelSize) {
198
+ drawCircle(ctx, center[3][0] + pixelSize, center[3][1], borderRadius[3], rad[3][0], rad[3][1], pixelSize);
199
+ ctx.globalCompositeOperation = "destination-out";
200
+ ctx.fillRect(center[3][0] + pixelSize, height - pixelSize, dxBottomRight, pixelSize);
201
+ ctx.globalCompositeOperation = "source-over";
202
+ }
203
+ const barLenX = center[1][0] + pixelSize - center[0][0] + dxTopRight * +innerAndLastOrNotInner + dxTopLeft * innerAndFirstOrNotInner - 1 * +!innerAndLastOrNotInner;
204
+ barLenX > 0 && ctx.fillRect(center[0][0] - dxTopLeft * innerAndFirstOrNotInner, pixelSize, barLenX, pixelSize);
205
+ const barLenY = pixelSize + center[3][1] - center[0][1] + dxBottomLeft + dxTopLeft;
206
+ barLenY > 0 && ctx.fillRect(pixelSize, center[0][1] - dxTopLeft, pixelSize, barLenY);
207
+ }
282
208
  };
283
209
  const getTextColorWithPalette = (palette, type, disabled, loading, hoverFlag, activeFlag) => {
284
- if (!palette || type === "primary") return void 0;
285
- if (disabled) {
286
- if (type === "plain") return rgbaColor2string(palette[2]);
287
- return rgbaColor2string(palette[1]);
288
- }
289
- if (loading) return rgbaColor2string(palette[5]);
290
- if (activeFlag && type !== "plain") return rgbaColor2string(palette[6]);
291
- switch (type) {
292
- case "text":
293
- return rgbaColor2string(palette[5]);
294
- case "outline":
295
- return hoverFlag ? rgbaColor2string(palette[4]) : rgbaColor2string(palette[5]);
296
- case "plain":
297
- return rgbaColor2string(palette[5]);
298
- default:
299
- return void 0;
300
- }
301
- };
302
- export {
303
- getBorderColor as a,
304
- drawBorder as b,
305
- getBackgroundColor as c,
306
- drawGradient as d,
307
- getTextColorWithPalette as g
210
+ if (!palette || type === "primary") return void 0;
211
+ if (disabled) {
212
+ if (type === "plain") return rgbaColor2string(palette[2]);
213
+ return rgbaColor2string(palette[1]);
214
+ }
215
+ if (loading) return rgbaColor2string(palette[5]);
216
+ if (activeFlag && type !== "plain") return rgbaColor2string(palette[6]);
217
+ switch (type) {
218
+ case "text": return rgbaColor2string(palette[5]);
219
+ case "outline": return hoverFlag ? rgbaColor2string(palette[4]) : rgbaColor2string(palette[5]);
220
+ case "plain": return rgbaColor2string(palette[5]);
221
+ default: return;
222
+ }
308
223
  };
224
+ export { getTextColorWithPalette as a, getBorderColor as i, drawGradient as n, getBackgroundColor as r, drawBorder as t };
@@ -6,20 +6,12 @@
6
6
  z-index: -1;
7
7
  pointer-events: none;
8
8
  }
9
- button.px-button {
10
- font-size: var(--text-size);
11
- }
12
9
  .px-button {
13
10
  --button-size: var(--px-medium-size);
14
- --px-medium-padding-x: var(--px-interval-4);
15
- --px-large-padding-x: var(--px-interval-5);
16
- --px-small-padding-x: var(--px-interval-3);
17
- --padding-x-size: var(--px-medium-padding-x);
18
11
  --text-color: var(--px-neutral-1);
19
- --text-size: var(--px-medium-font-size);
20
12
  height: var(--button-size);
21
- padding-left: var(--padding-x-size);
22
- padding-right: var(--padding-x-size);
13
+ padding-left: 16px;
14
+ padding-right: 16px;
23
15
  background-color: transparent;
24
16
  border-color: transparent;
25
17
  border-width: var(--px-bit);
@@ -32,38 +24,46 @@ button.px-button {
32
24
  user-select: none;
33
25
  transition: 0.25s;
34
26
  z-index: 0;
35
- font-size: var(--text-size);
36
27
  box-sizing: border-box;
37
28
  }
38
- .px-button__inner {
39
- transition: color 0.25s;
40
- padding-right: calc(var(--padding-x-size) + 1px + 1 * var(--px-bit));
29
+ .px-button.px-button {
30
+ font-size: 14px;
41
31
  }
42
- .px-button__inner:last-child {
43
- padding-right: var(--padding-x-size);
32
+ .px-button.px-button__small.px-button__inner {
33
+ padding-right: calc(12px + 1px + 1 * var(--px-bit));
44
34
  }
45
- .px-button__inner.px-button__text {
46
- padding-right: var(--padding-x-size);
47
- margin-right: calc(1px + 1 * var(--px-bit));
35
+ .px-button.px-button__small.px-button__inner:last-child {
36
+ padding-right: 12px;
48
37
  }
49
- .px-button__inner.px-button__text:last-child {
50
- margin-right: 0;
38
+ .px-button.px-button__medium.px-button__inner {
39
+ padding-right: calc(16px + 1px + 1 * var(--px-bit));
40
+ }
41
+ .px-button.px-button__medium.px-button__inner:last-child {
42
+ padding-right: 16px;
43
+ }
44
+ .px-button.px-button__large.px-button__inner {
45
+ padding-right: calc(20px + 1px + 1 * var(--px-bit));
46
+ }
47
+ .px-button.px-button__large.px-button__inner:last-child {
48
+ padding-right: 20px;
51
49
  }
52
50
  .px-button__circle,
53
51
  .px-button__square {
54
52
  width: var(--button-size);
55
- --padding-x-size: 0px;
53
+ padding: 0px;
56
54
  justify-content: center;
57
55
  }
58
56
  .px-button__large {
59
- --padding-x-size: var(--px-large-padding-x);
57
+ padding-left: 20px;
58
+ padding-right: 20px;
60
59
  --button-size: var(--px-large-size);
61
- --text-size: var(--px-large-font-size);
60
+ font-size: 15px;
62
61
  }
63
62
  .px-button__small {
64
- --padding-x-size: var(--px-small-padding-x);
63
+ padding-left: 12px;
64
+ padding-right: 12px;
65
65
  --button-size: var(--px-small-size);
66
- --text-size: var(--px-small-font-size);
66
+ font-size: 15px;
67
67
  }
68
68
  .px-button__loading {
69
69
  cursor: auto;
@@ -77,16 +77,26 @@ button.px-button {
77
77
  cursor: not-allowed;
78
78
  }
79
79
  .px-button-icon-wrapper {
80
- margin-right: var(--px-interval-2);
80
+ margin-right: 8px;
81
81
  display: flex;
82
82
  align-items: center;
83
83
  }
84
84
  .px-button-icon-wrapper__last {
85
85
  margin-right: 0;
86
86
  }
87
- .px-button-icon {
88
- height: var(--text-size);
89
- width: var(--text-size);
87
+ .px-button.px-button__small .px-button-icon {
88
+ height: 12px;
89
+ width: 12px;
90
+ fill: var(--text-color);
91
+ }
92
+ .px-button.px-button__medium .px-button-icon {
93
+ height: 14px;
94
+ width: 14px;
95
+ fill: var(--text-color);
96
+ }
97
+ .px-button.px-button__large .px-button-icon {
98
+ height: 15px;
99
+ width: 15px;
90
100
  fill: var(--text-color);
91
101
  }
92
102
  .px-button.px-button__primary:focus-visible {