sakana-element 2.4.2 → 2.5.1

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 (138) hide show
  1. package/README.md +26 -2
  2. package/dist/es/Alert-Cq5F0XNt.js +57 -0
  3. package/dist/es/Avatar-CbgoH75Q.js +5 -0
  4. package/dist/es/Badge-BVu3hO8V.js +7 -0
  5. package/dist/es/Breadcrumb-Bh5y4LbC.js +6 -0
  6. package/dist/es/Button-B1wRI6I7.js +28 -0
  7. package/dist/es/Card-VMxMFix8.js +8 -0
  8. package/dist/es/Carousel-QnDHp3Ka.js +11 -0
  9. package/dist/es/ChatBubble-DYao4l85.js +5 -0
  10. package/dist/es/Checkbox-BbLzAqK2.js +228 -0
  11. package/dist/es/Collapse-BkKmhGQf.js +11 -0
  12. package/dist/es/Collapsible-B56M9eUW.js +12 -0
  13. package/dist/es/Command-CORaZKsJ.js +45 -0
  14. package/dist/es/ConfigProvider-CGLQ9b8M.js +35 -0
  15. package/dist/es/Diff-gDYKT1cl.js +17 -0
  16. package/dist/es/Divider-bI4lEaol.js +5 -0
  17. package/dist/es/Drawer-AnXxT-V6.js +6 -0
  18. package/dist/es/Dropdown-80RoE7gX.js +115 -0
  19. package/dist/es/FileInput-B6CyElTd.js +113 -0
  20. package/dist/es/Filter-CtIs_iO4.js +13 -0
  21. package/dist/es/Icon-hbRhI1iH.js +3 -0
  22. package/dist/es/Indicator-Bs6f41iJ.js +5 -0
  23. package/dist/es/Input-DJsDXAG1.js +8 -0
  24. package/dist/es/Kbd-DZf70Cdz.js +5 -0
  25. package/dist/es/Link-CLXoAvDl.js +5 -0
  26. package/dist/es/Loading-BHzOi8J-.js +27 -0
  27. package/dist/es/Message-DOxtRo8V.js +51 -0
  28. package/dist/es/Notification-F5UfnGWs.js +22 -0
  29. package/dist/es/Pixelate-DFpR42b2.js +12 -0
  30. package/dist/es/Popconfirm-C1LNG9db.js +8 -0
  31. package/dist/es/Progress-CDHJJUVL.js +6 -0
  32. package/dist/es/Radio-HMaWtyx9.js +11 -0
  33. package/dist/es/Resizable-DSYUZwLE.js +59 -0
  34. package/dist/es/Select-DaBVMoMB.js +31 -0
  35. package/dist/es/Skeleton-4hCbgDOF.js +7 -0
  36. package/dist/es/Switch-BCTrn4hn.js +11 -0
  37. package/dist/es/Table-B5twhEZC.js +5 -0
  38. package/dist/es/Tooltip-CDjXpGHn.js +4 -0
  39. package/dist/es/Validator-DoWa9KfA.js +16 -0
  40. package/dist/es/index.js +41 -140
  41. package/dist/index.css +2 -1
  42. package/dist/theme/Alert.css +1 -295
  43. package/dist/theme/Avatar.css +1 -86
  44. package/dist/theme/Badge.css +1 -214
  45. package/dist/theme/Breadcrumb.css +1 -192
  46. package/dist/theme/Button.css +1 -1570
  47. package/dist/theme/Card.css +1 -347
  48. package/dist/theme/Carousel.css +1 -0
  49. package/dist/theme/ChatBubble.css +1 -218
  50. package/dist/theme/Checkbox.css +1 -604
  51. package/dist/theme/Collapse.css +1 -764
  52. package/dist/theme/Collapsible.css +1 -0
  53. package/dist/theme/Command.css +1 -0
  54. package/dist/theme/Diff.css +1 -110
  55. package/dist/theme/Divider.css +1 -150
  56. package/dist/theme/Drawer.css +1 -206
  57. package/dist/theme/Dropdown.css +1 -471
  58. package/dist/theme/FileInput.css +1 -397
  59. package/dist/theme/Filter.css +1 -598
  60. package/dist/theme/Indicator.css +1 -159
  61. package/dist/theme/Input.css +1 -647
  62. package/dist/theme/Kbd.css +1 -104
  63. package/dist/theme/Link.css +1 -69
  64. package/dist/theme/Loading.css +1 -266
  65. package/dist/theme/Message.css +1 -565
  66. package/dist/theme/Notification.css +1 -316
  67. package/dist/theme/Popconfirm.css +1 -46
  68. package/dist/theme/Progress.css +1 -278
  69. package/dist/theme/Radio.css +1 -492
  70. package/dist/theme/Resizable.css +1 -95
  71. package/dist/theme/Select.css +1 -584
  72. package/dist/theme/Skeleton.css +1 -192
  73. package/dist/theme/Switch.css +1 -323
  74. package/dist/theme/Table.css +1 -680
  75. package/dist/theme/Validator.css +1 -25
  76. package/dist/theme/index.css +1 -341
  77. package/dist/types/components/Badge/types.d.ts +2 -0
  78. package/dist/types/components/Carousel/constants.d.ts +6 -0
  79. package/dist/types/components/Carousel/index.d.ts +77 -0
  80. package/dist/types/components/Carousel/types.d.ts +27 -0
  81. package/dist/types/components/Collapsible/constants.d.ts +6 -0
  82. package/dist/types/components/Collapsible/index.d.ts +85 -0
  83. package/dist/types/components/Collapsible/types.d.ts +22 -0
  84. package/dist/types/components/Command/constants.d.ts +4 -0
  85. package/dist/types/components/Command/index.d.ts +216 -0
  86. package/dist/types/components/Command/types.d.ts +59 -0
  87. package/dist/types/components/Validator/index.d.ts +1 -0
  88. package/dist/types/components/index.d.ts +3 -0
  89. package/dist/types/hooks/index.d.ts +1 -1
  90. package/dist/umd/index.css +2 -1
  91. package/dist/umd/index.css.gz +0 -0
  92. package/dist/umd/index.umd.cjs +1255 -5
  93. package/dist/umd/index.umd.cjs.gz +0 -0
  94. package/package.json +15 -3
  95. package/dist/es/Alert-DdAShH-x.js +0 -19
  96. package/dist/es/Avatar-BGTH7x40.js +0 -9
  97. package/dist/es/Badge-CYZ55qNe.js +0 -14
  98. package/dist/es/Breadcrumb-BTWTtzrN.js +0 -15
  99. package/dist/es/Button-GsSCWg5x.js +0 -24
  100. package/dist/es/Card-BhgzwQqo.js +0 -16
  101. package/dist/es/ChatBubble-4F481Agj.js +0 -9
  102. package/dist/es/Checkbox-C7vZGSTh.js +0 -51
  103. package/dist/es/Collapse-CbcSQig5.js +0 -53
  104. package/dist/es/ConfigProvider-K1UzjlRm.js +0 -45
  105. package/dist/es/Diff-B747pgwb.js +0 -64
  106. package/dist/es/Divider-BSu_1-AU.js +0 -9
  107. package/dist/es/Drawer-I2lCgyba.js +0 -40
  108. package/dist/es/Dropdown-B0J_c8Wv.js +0 -104
  109. package/dist/es/FileInput-CFg1wpsH.js +0 -33
  110. package/dist/es/Filter-nA8j-62U.js +0 -40
  111. package/dist/es/Form-C1b8Igns.js +0 -123
  112. package/dist/es/Icon-BulvH9Wm.js +0 -27
  113. package/dist/es/Indicator-BbW4iUkh.js +0 -9
  114. package/dist/es/Input-BUHFulIW.js +0 -42
  115. package/dist/es/Kbd-CeP2wkdE.js +0 -13
  116. package/dist/es/Link-Dks2bXo8.js +0 -11
  117. package/dist/es/Loading-DoBtVGWo.js +0 -92
  118. package/dist/es/Message-Ba_P4Wvy.js +0 -152
  119. package/dist/es/Notification-DzG8dLuk.js +0 -69
  120. package/dist/es/Overlay-DeyTycv0.js +0 -12
  121. package/dist/es/Pixelate-B21HKbSE.js +0 -39
  122. package/dist/es/Popconfirm-BqN3JxJ_.js +0 -23
  123. package/dist/es/Progress--6EJjbbM.js +0 -12
  124. package/dist/es/Radio-CrdrvrFH.js +0 -33
  125. package/dist/es/Resizable-By3ijQf0.js +0 -151
  126. package/dist/es/Select-Cq1Ucs_U.js +0 -133
  127. package/dist/es/Skeleton-ChCVgMSk.js +0 -15
  128. package/dist/es/Switch-DURmSH-T.js +0 -34
  129. package/dist/es/Table-BE2f9u65.js +0 -10
  130. package/dist/es/Tooltip-DR4Mc5Fh.js +0 -74
  131. package/dist/es/Validator-BYn72MYn.js +0 -40
  132. package/dist/es/hooks-dJGu-5DG.js +0 -170
  133. package/dist/es/utils-CnCdZsHG.js +0 -155
  134. package/dist/es/vendor-eombfMkP.js +0 -1351
  135. package/dist/theme/Form.css +0 -83
  136. package/dist/theme/Icon.css +0 -168
  137. package/dist/theme/Overlay.css +0 -12
  138. package/dist/theme/Tooltip.css +0 -235
@@ -1,316 +1 @@
1
- /* Notification Variables */
2
- .px-notification[data-v-5c4c1be5] {
3
- --px-notification-width: 330px;
4
- --px-notification-padding: 14px 20px;
5
- --px-notification-border-color: var(--px-border-color);
6
- --px-notification-bg-color: var(--px-bg-color-overlay);
7
- --px-notification-icon-size: 24px;
8
- --px-notification-close-font-size: var(--px-font-size-base);
9
- --px-notification-content-font-size: var(--px-font-size-base);
10
- --px-notification-content-color: var(--px-text-color-regular);
11
- --px-notification-title-font-size: var(--px-font-size-large);
12
- --px-notification-title-color: var(--px-text-color-primary);
13
- --px-notification-close-color: var(--px-text-color-secondary);
14
- --px-notification-close-hover-color: var(--px-text-color-primary);
15
- --px-notification-shadow-color: var(--px-shadow-color);
16
- --px-notification-divider-color: var(--px-border-color-light);
17
-
18
- /* Beveled inset for 3D raised-panel depth */
19
- --px-notification-inset-highlight: inset 2px 2px 0 0 rgba(255, 255, 255, 0.35);
20
- --px-notification-inset-shadow: inset -2px -2px 0 0 rgba(0, 0, 0, 0.08);
21
- }
22
- /* Base Notification Styles - Pixel Game Aesthetic */
23
- .px-notification[data-v-5c4c1be5] {
24
- display: flex;
25
- width: var(--px-notification-width);
26
- padding: var(--px-notification-padding);
27
- box-sizing: border-box;
28
- position: fixed;
29
- overflow-wrap: anywhere;
30
- overflow: hidden;
31
- z-index: 9999;
32
- font-family: var(--px-font-family);
33
-
34
- /* Remove traditional styling — pseudo-elements handle visuals */
35
- background: transparent;
36
- border: none;
37
-
38
- /* Pixel shadow via drop-shadow (respects clip-path shape) */
39
- filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-notification-shadow-color));
40
-
41
- /* No smooth transitions for pixel feel */
42
- transition: none;
43
- }
44
- /* Border layer — 3-step staircase clip (8px corners) */
45
- .px-notification[data-v-5c4c1be5]::before {
46
- content: '';
47
- position: absolute;
48
- inset: 0;
49
- background: var(--px-notification-border-color);
50
- clip-path: polygon(
51
- 0 8px, 2px 8px, 2px 4px, 4px 4px, 4px 2px, 8px 2px, 8px 0,
52
- calc(100% - 8px) 0, calc(100% - 8px) 2px, calc(100% - 4px) 2px, calc(100% - 4px) 4px, calc(100% - 2px) 4px, calc(100% - 2px) 8px, 100% 8px,
53
- 100% calc(100% - 8px), calc(100% - 2px) calc(100% - 8px), calc(100% - 2px) calc(100% - 4px), calc(100% - 4px) calc(100% - 4px), calc(100% - 4px) calc(100% - 2px), calc(100% - 8px) calc(100% - 2px), calc(100% - 8px) 100%,
54
- 8px 100%, 8px calc(100% - 2px), 4px calc(100% - 2px), 4px calc(100% - 4px), 2px calc(100% - 4px), 2px calc(100% - 8px), 0 calc(100% - 8px)
55
- );
56
- z-index: 0;
57
- }
58
- /* Fill layer — 4px inset, 2-step staircase chamfer, beveled */
59
- .px-notification[data-v-5c4c1be5]::after {
60
- content: '';
61
- position: absolute;
62
- inset: 4px;
63
- background: var(--px-notification-bg-color);
64
- clip-path: polygon(
65
- 0 4px, 2px 4px, 2px 2px, 4px 2px, 4px 0,
66
- calc(100% - 4px) 0, calc(100% - 4px) 2px, calc(100% - 2px) 2px, calc(100% - 2px) 4px, 100% 4px,
67
- 100% calc(100% - 4px), calc(100% - 2px) calc(100% - 4px), calc(100% - 2px) calc(100% - 2px), calc(100% - 4px) calc(100% - 2px), calc(100% - 4px) 100%,
68
- 4px 100%, 4px calc(100% - 2px), 2px calc(100% - 2px), 2px calc(100% - 4px), 0 calc(100% - 4px)
69
- );
70
- box-shadow: var(--px-notification-inset-highlight), var(--px-notification-inset-shadow);
71
- z-index: 0;
72
- }
73
- .px-notification.right[data-v-5c4c1be5] {
74
- right: 16px;
75
- }
76
- .px-notification.left[data-v-5c4c1be5] {
77
- left: 16px;
78
- }
79
- .px-notification .px-notification__text[data-v-5c4c1be5] {
80
- position: relative;
81
- z-index: 1;
82
- margin: 0 10px;
83
- flex: 1;
84
- }
85
- .px-notification .px-notification__icon[data-v-5c4c1be5] {
86
- position: relative;
87
- z-index: 1;
88
- height: var(--px-notification-icon-size);
89
- width: var(--px-notification-icon-size);
90
- font-size: var(--px-notification-icon-size);
91
- color: var(--px-notification-icon-color);
92
- flex-shrink: 0;
93
- }
94
- .px-notification .px-notification__title[data-v-5c4c1be5] {
95
- position: relative;
96
- z-index: 1;
97
- font-weight: 500;
98
- font-size: var(--px-notification-title-font-size);
99
- font-family: var(--px-font-family);
100
- line-height: var(--px-notification-icon-size);
101
- color: var(--px-notification-title-color);
102
- margin: 0;
103
- padding-bottom: 8px;
104
- }
105
- /* Pixel-dashed divider at bottom */
106
- .px-notification .px-notification__title[data-v-5c4c1be5]::after {
107
- content: "";
108
- position: absolute;
109
- bottom: 0;
110
- left: 0;
111
- right: 0;
112
- height: 2px;
113
- background-image: repeating-linear-gradient(
114
- to right,
115
- var(--px-notification-divider-color) 0px,
116
- var(--px-notification-divider-color) 6px,
117
- transparent 6px,
118
- transparent 12px
119
- );
120
- }
121
- .px-notification .px-notification__content[data-v-5c4c1be5] {
122
- position: relative;
123
- z-index: 1;
124
- font-size: var(--px-notification-content-font-size);
125
- font-family: var(--px-font-family);
126
- line-height: 1.5;
127
- margin: 8px 0 0;
128
- color: var(--px-notification-content-color);
129
- text-align: left;
130
- }
131
- .px-notification .px-notification__close[data-v-5c4c1be5] {
132
- position: absolute;
133
- top: 14px;
134
- right: 14px;
135
- cursor: pointer;
136
- color: var(--px-notification-close-color);
137
- font-size: var(--px-notification-close-font-size);
138
- z-index: 1;
139
- transition: none;
140
- }
141
- .px-notification .px-notification__close .px-icon[data-v-5c4c1be5] {
142
- cursor: pointer;
143
- transition: none;
144
- }
145
- .px-notification .px-notification__close .px-icon[data-v-5c4c1be5]:hover {
146
- color: var(--px-notification-close-hover-color);
147
- transform: translate(-1px, -1px);
148
- }
149
- .px-notification .px-notification__close .px-icon[data-v-5c4c1be5]:active {
150
- transform: translate(1px, 1px);
151
- }
152
- /* Map error type to danger color palette so @each loops handle both */
153
- .px-notification--error[data-v-5c4c1be5] {
154
- --px-color-error: var(--px-color-danger);
155
- --px-color-error-dark: var(--px-color-danger-dark);
156
- --px-color-error-light-5: var(--px-color-danger-light-5);
157
- --px-color-error-light-9: var(--px-color-danger-light-9);
158
- }
159
- /* Type variants with colored borders and shadows */
160
- .px-notification--info[data-v-5c4c1be5] {
161
- --px-notification-icon-color: var(--px-color-info);
162
- --px-notification-border-color: var(--px-color-info);
163
- --px-notification-shadow-color: var(--px-color-info-dark);
164
- --px-notification-divider-color: var(--px-color-info-light-5, var(--px-color-info));
165
- }
166
- .px-notification--success[data-v-5c4c1be5] {
167
- --px-notification-icon-color: var(--px-color-success);
168
- --px-notification-border-color: var(--px-color-success);
169
- --px-notification-shadow-color: var(--px-color-success-dark);
170
- --px-notification-divider-color: var(--px-color-success-light-5, var(--px-color-success));
171
- }
172
- .px-notification--warning[data-v-5c4c1be5] {
173
- --px-notification-icon-color: var(--px-color-warning);
174
- --px-notification-border-color: var(--px-color-warning);
175
- --px-notification-shadow-color: var(--px-color-warning-dark);
176
- --px-notification-divider-color: var(--px-color-warning-light-5, var(--px-color-warning));
177
- }
178
- .px-notification--danger[data-v-5c4c1be5] {
179
- --px-notification-icon-color: var(--px-color-danger);
180
- --px-notification-border-color: var(--px-color-danger);
181
- --px-notification-shadow-color: var(--px-color-danger-dark);
182
- --px-notification-divider-color: var(--px-color-danger-light-5, var(--px-color-danger));
183
- }
184
- .px-notification--error[data-v-5c4c1be5] {
185
- --px-notification-icon-color: var(--px-color-error);
186
- --px-notification-border-color: var(--px-color-error);
187
- --px-notification-shadow-color: var(--px-color-error-dark);
188
- --px-notification-divider-color: var(--px-color-error-light-5, var(--px-color-error));
189
- }
190
- /* ─── Plain variant ─── */
191
- .px-notification.is-plain[data-v-5c4c1be5] {
192
- --px-notification-shadow-color: var(--px-border-color-light);
193
- --px-notification-bg-color: var(--px-fill-color-blank);
194
- }
195
- .px-notification--info.is-plain[data-v-5c4c1be5] {
196
- --px-notification-bg-color: var(--px-color-info-light-9);
197
- --px-notification-border-color: var(--px-color-info-light-5, var(--px-color-info));
198
- --px-notification-icon-color: var(--px-color-info);
199
- --px-notification-title-color: var(--px-color-info-dark);
200
- --px-notification-content-color: var(--px-color-info);
201
- --px-notification-shadow-color: var(--px-color-info-light-5, var(--px-color-info));
202
- --px-notification-divider-color: var(--px-color-info-light-5, var(--px-color-info));
203
- }
204
- .px-notification--success.is-plain[data-v-5c4c1be5] {
205
- --px-notification-bg-color: var(--px-color-success-light-9);
206
- --px-notification-border-color: var(--px-color-success-light-5, var(--px-color-success));
207
- --px-notification-icon-color: var(--px-color-success);
208
- --px-notification-title-color: var(--px-color-success-dark);
209
- --px-notification-content-color: var(--px-color-success);
210
- --px-notification-shadow-color: var(--px-color-success-light-5, var(--px-color-success));
211
- --px-notification-divider-color: var(--px-color-success-light-5, var(--px-color-success));
212
- }
213
- .px-notification--warning.is-plain[data-v-5c4c1be5] {
214
- --px-notification-bg-color: var(--px-color-warning-light-9);
215
- --px-notification-border-color: var(--px-color-warning-light-5, var(--px-color-warning));
216
- --px-notification-icon-color: var(--px-color-warning);
217
- --px-notification-title-color: var(--px-color-warning-dark);
218
- --px-notification-content-color: var(--px-color-warning);
219
- --px-notification-shadow-color: var(--px-color-warning-light-5, var(--px-color-warning));
220
- --px-notification-divider-color: var(--px-color-warning-light-5, var(--px-color-warning));
221
- }
222
- .px-notification--danger.is-plain[data-v-5c4c1be5] {
223
- --px-notification-bg-color: var(--px-color-danger-light-9);
224
- --px-notification-border-color: var(--px-color-danger-light-5, var(--px-color-danger));
225
- --px-notification-icon-color: var(--px-color-danger);
226
- --px-notification-title-color: var(--px-color-danger-dark);
227
- --px-notification-content-color: var(--px-color-danger);
228
- --px-notification-shadow-color: var(--px-color-danger-light-5, var(--px-color-danger));
229
- --px-notification-divider-color: var(--px-color-danger-light-5, var(--px-color-danger));
230
- }
231
- .px-notification--error.is-plain[data-v-5c4c1be5] {
232
- --px-notification-bg-color: var(--px-color-error-light-9);
233
- --px-notification-border-color: var(--px-color-error-light-5, var(--px-color-error));
234
- --px-notification-icon-color: var(--px-color-error);
235
- --px-notification-title-color: var(--px-color-error-dark);
236
- --px-notification-content-color: var(--px-color-error);
237
- --px-notification-shadow-color: var(--px-color-error-light-5, var(--px-color-error));
238
- --px-notification-divider-color: var(--px-color-error-light-5, var(--px-color-error));
239
- }
240
- /* ─── Ghost variant ─── */
241
- .px-notification.is-ghost[data-v-5c4c1be5] {
242
- --px-notification-bg-color: var(--px-fill-color-blank);
243
- --px-notification-shadow-color: transparent;
244
- filter: none;
245
- }
246
- .px-notification.is-ghost[data-v-5c4c1be5]::before, .px-notification.is-ghost[data-v-5c4c1be5]::after { display: none;
247
- }
248
- .px-notification--info.is-ghost[data-v-5c4c1be5] {
249
- --px-notification-icon-color: var(--px-color-info);
250
- --px-notification-title-color: var(--px-color-info-dark);
251
- --px-notification-content-color: var(--px-color-info);
252
- }
253
- .px-notification--success.is-ghost[data-v-5c4c1be5] {
254
- --px-notification-icon-color: var(--px-color-success);
255
- --px-notification-title-color: var(--px-color-success-dark);
256
- --px-notification-content-color: var(--px-color-success);
257
- }
258
- .px-notification--warning.is-ghost[data-v-5c4c1be5] {
259
- --px-notification-icon-color: var(--px-color-warning);
260
- --px-notification-title-color: var(--px-color-warning-dark);
261
- --px-notification-content-color: var(--px-color-warning);
262
- }
263
- .px-notification--danger.is-ghost[data-v-5c4c1be5] {
264
- --px-notification-icon-color: var(--px-color-danger);
265
- --px-notification-title-color: var(--px-color-danger-dark);
266
- --px-notification-content-color: var(--px-color-danger);
267
- }
268
- .px-notification--error.is-ghost[data-v-5c4c1be5] {
269
- --px-notification-icon-color: var(--px-color-error);
270
- --px-notification-title-color: var(--px-color-error-dark);
271
- --px-notification-content-color: var(--px-color-error);
272
- }
273
- /* ─── Timer bar ─── */
274
- .px-notification__timer[data-v-5c4c1be5] {
275
- position: absolute;
276
- bottom: 4px;
277
- left: 8px;
278
- right: 8px;
279
- height: 2px;
280
- z-index: 1;
281
- background: var(--px-notification-icon-color, var(--px-text-color-secondary));
282
- opacity: 0.5;
283
- animation: px-notification-timer-5c4c1be5 linear forwards;
284
- transform-origin: left;
285
- }
286
- /* Pause timer bar animation when notification is hovered (matches JS timer pause) */
287
- .px-notification:hover .px-notification__timer[data-v-5c4c1be5] {
288
- animation-play-state: paused;
289
- }
290
- @keyframes px-notification-timer-5c4c1be5 {
291
- 0% { transform: scaleX(1);
292
- }
293
- 100% { transform: scaleX(0);
294
- }
295
- }
296
- /* Dark mode — invert bevel highlights */
297
- .px-dark .px-notification[data-v-5c4c1be5] {
298
- --px-notification-inset-highlight: inset 2px 2px 0 0 rgba(255, 255, 255, 0.10);
299
- --px-notification-inset-shadow: inset -2px -2px 0 0 rgba(0, 0, 0, 0.25);
300
- }
301
- /* Animation */
302
- .px-notification-fade-enter-from.right[data-v-5c4c1be5] {
303
- right: 0;
304
- transform: translateX(100%);
305
- }
306
- .px-notification-fade-enter-from.left[data-v-5c4c1be5] {
307
- left: 0;
308
- transform: translateX(-100%);
309
- }
310
- .px-notification-fade-leave-to[data-v-5c4c1be5] {
311
- opacity: 0;
312
- }
313
- .px-notification-fade-enter-active[data-v-5c4c1be5],
314
- .px-notification-fade-leave-active[data-v-5c4c1be5] {
315
- transition: opacity 0.15s steps(3), transform 0.15s steps(3);
316
- }
1
+ .px-notification[data-v-5c4c1be5]{--px-notification-width:330px;--px-notification-padding:14px 20px;--px-notification-border-color:var(--px-border-color);--px-notification-bg-color:var(--px-bg-color-overlay);--px-notification-icon-size:24px;--px-notification-close-font-size:var(--px-font-size-base);--px-notification-content-font-size:var(--px-font-size-base);--px-notification-content-color:var(--px-text-color-regular);--px-notification-title-font-size:var(--px-font-size-large);--px-notification-title-color:var(--px-text-color-primary);--px-notification-close-color:var(--px-text-color-secondary);--px-notification-close-hover-color:var(--px-text-color-primary);--px-notification-shadow-color:var(--px-shadow-color);--px-notification-divider-color:var(--px-border-color-light);--px-notification-inset-highlight:inset 2px 2px 0 0 #ffffff59;--px-notification-inset-shadow:inset -2px -2px 0 0 #00000014;width:var(--px-notification-width);padding:var(--px-notification-padding);box-sizing:border-box;overflow-wrap:anywhere;z-index:9999;font-family:var(--px-font-family);filter:drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-notification-shadow-color));background:0 0;border:none;transition:none;display:flex;position:fixed;overflow:hidden}.px-notification[data-v-5c4c1be5]:before{content:"";background:var(--px-notification-border-color);clip-path:polygon(0 8px,2px 8px,2px 4px,4px 4px,4px 2px,8px 2px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 2px,calc(100% - 4px) 2px,calc(100% - 4px) 4px,calc(100% - 2px) 4px,calc(100% - 2px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 2px) calc(100% - 8px),calc(100% - 2px) calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) calc(100% - 2px),calc(100% - 8px) calc(100% - 2px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 2px),4px calc(100% - 2px),4px calc(100% - 4px),2px calc(100% - 4px),2px calc(100% - 8px),0 calc(100% - 8px));z-index:0;position:absolute;inset:0}.px-notification[data-v-5c4c1be5]:after{content:"";background:var(--px-notification-bg-color);clip-path:polygon(0 4px,2px 4px,2px 2px,4px 2px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 2px,calc(100% - 2px) 2px,calc(100% - 2px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 2px) calc(100% - 4px),calc(100% - 2px) calc(100% - 2px),calc(100% - 4px) calc(100% - 2px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 2px),2px calc(100% - 2px),2px calc(100% - 4px),0 calc(100% - 4px));box-shadow:var(--px-notification-inset-highlight), var(--px-notification-inset-shadow);z-index:0;position:absolute;inset:4px}.px-notification.right[data-v-5c4c1be5]{right:16px}.px-notification.left[data-v-5c4c1be5]{left:16px}.px-notification .px-notification__text[data-v-5c4c1be5]{z-index:1;flex:1;margin:0 10px;position:relative}.px-notification .px-notification__icon[data-v-5c4c1be5]{z-index:1;height:var(--px-notification-icon-size);width:var(--px-notification-icon-size);font-size:var(--px-notification-icon-size);color:var(--px-notification-icon-color);flex-shrink:0;position:relative}.px-notification .px-notification__title[data-v-5c4c1be5]{z-index:1;font-weight:500;font-size:var(--px-notification-title-font-size);font-family:var(--px-font-family);line-height:var(--px-notification-icon-size);color:var(--px-notification-title-color);margin:0;padding-bottom:8px;position:relative}.px-notification .px-notification__title[data-v-5c4c1be5]:after{content:"";background-image:repeating-linear-gradient(to right, var(--px-notification-divider-color) 0px, var(--px-notification-divider-color) 6px, transparent 6px, transparent 12px);height:2px;position:absolute;bottom:0;left:0;right:0}.px-notification .px-notification__content[data-v-5c4c1be5]{z-index:1;font-size:var(--px-notification-content-font-size);font-family:var(--px-font-family);color:var(--px-notification-content-color);text-align:left;margin:8px 0 0;line-height:1.5;position:relative}.px-notification .px-notification__close[data-v-5c4c1be5]{cursor:pointer;color:var(--px-notification-close-color);font-size:var(--px-notification-close-font-size);z-index:1;transition:none;position:absolute;top:14px;right:14px}.px-notification .px-notification__close .px-icon[data-v-5c4c1be5]{cursor:pointer;transition:none}.px-notification .px-notification__close .px-icon[data-v-5c4c1be5]:hover{color:var(--px-notification-close-hover-color);transform:translate(-1px,-1px)}.px-notification .px-notification__close .px-icon[data-v-5c4c1be5]:active{transform:translate(1px,1px)}.px-notification--error[data-v-5c4c1be5]{--px-color-error:var(--px-color-danger);--px-color-error-dark:var(--px-color-danger-dark);--px-color-error-light-5:var(--px-color-danger-light-5);--px-color-error-light-9:var(--px-color-danger-light-9)}.px-notification--info[data-v-5c4c1be5]{--px-notification-icon-color:var(--px-color-info);--px-notification-border-color:var(--px-color-info);--px-notification-shadow-color:var(--px-color-info-dark);--px-notification-divider-color:var(--px-color-info-light-5,var(--px-color-info))}.px-notification--success[data-v-5c4c1be5]{--px-notification-icon-color:var(--px-color-success);--px-notification-border-color:var(--px-color-success);--px-notification-shadow-color:var(--px-color-success-dark);--px-notification-divider-color:var(--px-color-success-light-5,var(--px-color-success))}.px-notification--warning[data-v-5c4c1be5]{--px-notification-icon-color:var(--px-color-warning);--px-notification-border-color:var(--px-color-warning);--px-notification-shadow-color:var(--px-color-warning-dark);--px-notification-divider-color:var(--px-color-warning-light-5,var(--px-color-warning))}.px-notification--danger[data-v-5c4c1be5]{--px-notification-icon-color:var(--px-color-danger);--px-notification-border-color:var(--px-color-danger);--px-notification-shadow-color:var(--px-color-danger-dark);--px-notification-divider-color:var(--px-color-danger-light-5,var(--px-color-danger))}.px-notification--error[data-v-5c4c1be5]{--px-notification-icon-color:var(--px-color-error);--px-notification-border-color:var(--px-color-error);--px-notification-shadow-color:var(--px-color-error-dark);--px-notification-divider-color:var(--px-color-error-light-5,var(--px-color-error))}.px-notification.is-plain[data-v-5c4c1be5]{--px-notification-shadow-color:var(--px-border-color-light);--px-notification-bg-color:var(--px-fill-color-blank)}.px-notification--info.is-plain[data-v-5c4c1be5]{--px-notification-bg-color:var(--px-color-info-light-9);--px-notification-border-color:var(--px-color-info-light-5,var(--px-color-info));--px-notification-icon-color:var(--px-color-info);--px-notification-title-color:var(--px-color-info-dark);--px-notification-content-color:var(--px-color-info);--px-notification-shadow-color:var(--px-color-info-light-5,var(--px-color-info));--px-notification-divider-color:var(--px-color-info-light-5,var(--px-color-info))}.px-notification--success.is-plain[data-v-5c4c1be5]{--px-notification-bg-color:var(--px-color-success-light-9);--px-notification-border-color:var(--px-color-success-light-5,var(--px-color-success));--px-notification-icon-color:var(--px-color-success);--px-notification-title-color:var(--px-color-success-dark);--px-notification-content-color:var(--px-color-success);--px-notification-shadow-color:var(--px-color-success-light-5,var(--px-color-success));--px-notification-divider-color:var(--px-color-success-light-5,var(--px-color-success))}.px-notification--warning.is-plain[data-v-5c4c1be5]{--px-notification-bg-color:var(--px-color-warning-light-9);--px-notification-border-color:var(--px-color-warning-light-5,var(--px-color-warning));--px-notification-icon-color:var(--px-color-warning);--px-notification-title-color:var(--px-color-warning-dark);--px-notification-content-color:var(--px-color-warning);--px-notification-shadow-color:var(--px-color-warning-light-5,var(--px-color-warning));--px-notification-divider-color:var(--px-color-warning-light-5,var(--px-color-warning))}.px-notification--danger.is-plain[data-v-5c4c1be5]{--px-notification-bg-color:var(--px-color-danger-light-9);--px-notification-border-color:var(--px-color-danger-light-5,var(--px-color-danger));--px-notification-icon-color:var(--px-color-danger);--px-notification-title-color:var(--px-color-danger-dark);--px-notification-content-color:var(--px-color-danger);--px-notification-shadow-color:var(--px-color-danger-light-5,var(--px-color-danger));--px-notification-divider-color:var(--px-color-danger-light-5,var(--px-color-danger))}.px-notification--error.is-plain[data-v-5c4c1be5]{--px-notification-bg-color:var(--px-color-error-light-9);--px-notification-border-color:var(--px-color-error-light-5,var(--px-color-error));--px-notification-icon-color:var(--px-color-error);--px-notification-title-color:var(--px-color-error-dark);--px-notification-content-color:var(--px-color-error);--px-notification-shadow-color:var(--px-color-error-light-5,var(--px-color-error));--px-notification-divider-color:var(--px-color-error-light-5,var(--px-color-error))}.px-notification.is-ghost[data-v-5c4c1be5]{--px-notification-bg-color:var(--px-fill-color-blank);--px-notification-shadow-color:transparent;filter:none}.px-notification.is-ghost[data-v-5c4c1be5]:before,.px-notification.is-ghost[data-v-5c4c1be5]:after{display:none}.px-notification--info.is-ghost[data-v-5c4c1be5]{--px-notification-icon-color:var(--px-color-info);--px-notification-title-color:var(--px-color-info-dark);--px-notification-content-color:var(--px-color-info)}.px-notification--success.is-ghost[data-v-5c4c1be5]{--px-notification-icon-color:var(--px-color-success);--px-notification-title-color:var(--px-color-success-dark);--px-notification-content-color:var(--px-color-success)}.px-notification--warning.is-ghost[data-v-5c4c1be5]{--px-notification-icon-color:var(--px-color-warning);--px-notification-title-color:var(--px-color-warning-dark);--px-notification-content-color:var(--px-color-warning)}.px-notification--danger.is-ghost[data-v-5c4c1be5]{--px-notification-icon-color:var(--px-color-danger);--px-notification-title-color:var(--px-color-danger-dark);--px-notification-content-color:var(--px-color-danger)}.px-notification--error.is-ghost[data-v-5c4c1be5]{--px-notification-icon-color:var(--px-color-error);--px-notification-title-color:var(--px-color-error-dark);--px-notification-content-color:var(--px-color-error)}.px-notification__timer[data-v-5c4c1be5]{z-index:1;background:var(--px-notification-icon-color,var(--px-text-color-secondary));opacity:.5;transform-origin:0;height:2px;animation:linear forwards px-notification-timer-5c4c1be5;position:absolute;bottom:4px;left:8px;right:8px}.px-notification:hover .px-notification__timer[data-v-5c4c1be5]{animation-play-state:paused}@keyframes px-notification-timer-5c4c1be5{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.px-dark .px-notification[data-v-5c4c1be5]{--px-notification-inset-highlight:inset 2px 2px 0 0 #ffffff1a;--px-notification-inset-shadow:inset -2px -2px 0 0 #00000040}.px-notification-fade-enter-from.right[data-v-5c4c1be5]{right:0;transform:translate(100%)}.px-notification-fade-enter-from.left[data-v-5c4c1be5]{left:0;transform:translate(-100%)}.px-notification-fade-leave-to[data-v-5c4c1be5]{opacity:0}.px-notification-fade-enter-active[data-v-5c4c1be5],.px-notification-fade-leave-active[data-v-5c4c1be5]{transition:opacity .15s steps(3,end),transform .15s steps(3,end)}
@@ -1,46 +1 @@
1
- /* Popconfirm Variables */
2
- .px-popconfirm[data-v-68772965] {
3
- --px-popconfirm-icon-size: 16px;
4
- --px-popconfirm-font-size: var(--px-font-size-base);
5
- }
6
- /* Base Popconfirm Styles - Pixel Dialog */
7
- .px-popconfirm[data-v-68772965] {
8
- font-family: var(--px-font-family);
9
- }
10
- .px-popconfirm .px-popconfirm__main[data-v-68772965] {
11
- display: flex;
12
- align-items: flex-start;
13
- gap: 8px;
14
- font-size: var(--px-popconfirm-font-size);
15
- color: inherit;
16
- line-height: 1.5;
17
- }
18
- .px-popconfirm .px-popconfirm__main i[data-v-68772965] {
19
- font-size: var(--px-popconfirm-icon-size);
20
- flex-shrink: 0;
21
- margin-top: 2px;
22
- }
23
- .px-popconfirm .px-popconfirm__action[data-v-68772965] {
24
- display: flex;
25
- justify-content: flex-end;
26
- gap: 8px;
27
- margin-top: 12px;
28
- padding-top: 12px;
29
- position: relative;
30
- }
31
- /* Pixel-dashed divider */
32
- .px-popconfirm .px-popconfirm__action[data-v-68772965]::before {
33
- content: "";
34
- position: absolute;
35
- top: 0;
36
- left: 0;
37
- right: 0;
38
- height: 2px;
39
- background-image: repeating-linear-gradient(
40
- to right,
41
- var(--px-border-color-lighter) 0px,
42
- var(--px-border-color-lighter) 6px,
43
- transparent 6px,
44
- transparent 12px
45
- );
46
- }
1
+ .px-popconfirm[data-v-68772965]{--px-popconfirm-icon-size:16px;--px-popconfirm-font-size:var(--px-font-size-base);font-family:var(--px-font-family)}.px-popconfirm .px-popconfirm__main[data-v-68772965]{font-size:var(--px-popconfirm-font-size);color:inherit;align-items:flex-start;gap:8px;line-height:1.5;display:flex}.px-popconfirm .px-popconfirm__main i[data-v-68772965]{font-size:var(--px-popconfirm-icon-size);flex-shrink:0;margin-top:2px}.px-popconfirm .px-popconfirm__action[data-v-68772965]{justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;display:flex;position:relative}.px-popconfirm .px-popconfirm__action[data-v-68772965]:before{content:"";background-image:repeating-linear-gradient(to right, var(--px-border-color-lighter) 0px, var(--px-border-color-lighter) 6px, transparent 6px, transparent 12px);height:2px;position:absolute;top:0;left:0;right:0}
@@ -1,278 +1 @@
1
- /* Progress Variables */
2
- .px-progress {
3
- --px-progress-height: 14px;
4
- --px-progress-fill-color: var(--px-color-primary);
5
- --px-progress-fill-border-color: var(--px-color-primary-dark);
6
- --px-progress-track-bg-color: var(--px-fill-color-blank);
7
- --px-progress-track-border-color: var(--px-border-color-dark);
8
- --px-progress-text-color: var(--px-text-color-primary);
9
- --px-progress-shadow-color: var(--px-color-primary-dark);
10
- --px-progress-text-size: var(--px-font-size-small);
11
- --px-progress-text-gap: 10px;
12
-
13
- /* Pixel-art chunked fill */
14
- --px-progress-chunk-width: 8px;
15
- --px-progress-chunk-gap: 2px;
16
-
17
- /* Beveled 3D depth on fill bar */
18
- --px-progress-fill-highlight: inset 1px 1px 0 0 rgba(255, 255, 255, 0.35);
19
- --px-progress-fill-shadow: inset -1px -1px 0 0 rgba(0, 0, 0, 0.15);
20
- }
21
- /* Base Progress Styles */
22
- .px-progress {
23
- display: flex;
24
- align-items: center;
25
- width: 100%;
26
- line-height: 1;
27
- font-family: var(--px-font-family);
28
- }
29
- /* Track — the outer container */
30
- .px-progress__track {
31
- flex: 1;
32
- height: var(--px-progress-height);
33
- position: relative;
34
- background: transparent;
35
- border: none;
36
- overflow: hidden;
37
- padding: 2px;
38
- box-sizing: border-box;
39
-
40
- /* Clip all children (including fill bar) to the pixel-art border shape */
41
- clip-path: polygon(
42
- 0 2px, 2px 2px, 2px 0,
43
- calc(100% - 2px) 0, calc(100% - 2px) 2px, 100% 2px,
44
- 100% calc(100% - 2px), calc(100% - 2px) calc(100% - 2px), calc(100% - 2px) 100%,
45
- 2px 100%, 2px calc(100% - 2px), 0 calc(100% - 2px)
46
- );
47
-
48
- /* Pixel shadow via drop-shadow */
49
- filter: drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-progress-shadow-color));
50
- }
51
- /* Border layer — filled with border color, clipped to pixel shape */
52
- .px-progress__track::before {
53
- content: '';
54
- position: absolute;
55
- inset: 0;
56
- background: var(--px-progress-track-border-color);
57
- clip-path: polygon(
58
- 0 2px, 2px 2px, 2px 0,
59
- calc(100% - 2px) 0, calc(100% - 2px) 2px, 100% 2px,
60
- 100% calc(100% - 2px), calc(100% - 2px) calc(100% - 2px), calc(100% - 2px) 100%,
61
- 2px 100%, 2px calc(100% - 2px), 0 calc(100% - 2px)
62
- );
63
- z-index: 0;
64
- }
65
- /* Fill layer — recessed pixel container with subtle grid texture */
66
- .px-progress__track::after {
67
- content: '';
68
- position: absolute;
69
- inset: 2px;
70
- background:
71
- /* Simulated inset shadow — top edge darker */
72
- linear-gradient(to bottom, rgba(0, 0, 0, 0.10) 0, transparent 2px),
73
- /* Simulated inset shadow — left edge darker */
74
- linear-gradient(to right, rgba(0, 0, 0, 0.10) 0, transparent 2px),
75
- /* Simulated inset shadow — bottom edge lighter */
76
- linear-gradient(to top, rgba(255, 255, 255, 0.06) 0, transparent 2px),
77
- /* Simulated inset shadow — right edge lighter */
78
- linear-gradient(to left, rgba(255, 255, 255, 0.06) 0, transparent 2px),
79
- /* Subtle vertical pixel-dot pattern */
80
- repeating-linear-gradient(
81
- to right,
82
- rgba(0, 0, 0, 0.04) 0,
83
- rgba(0, 0, 0, 0.04) 2px,
84
- transparent 2px,
85
- transparent 4px
86
- ),
87
- /* Base track color */
88
- var(--px-progress-track-bg-color);
89
- clip-path: polygon(
90
- 0 2px, 2px 2px, 2px 0,
91
- calc(100% - 2px) 0, calc(100% - 2px) 2px, 100% 2px,
92
- 100% calc(100% - 2px), calc(100% - 2px) calc(100% - 2px), calc(100% - 2px) 100%,
93
- 2px 100%, 2px calc(100% - 2px), 0 calc(100% - 2px)
94
- );
95
- z-index: 0;
96
- }
97
- /* Fill bar — chunked pixel-block inner bar */
98
- .px-progress__fill {
99
- height: 100%;
100
- position: relative;
101
- z-index: 1;
102
- transition: none;
103
- display: flex;
104
- align-items: center;
105
- justify-content: flex-end;
106
- box-sizing: border-box;
107
-
108
- /* Segmented chunked fill using repeating gradient */
109
- background: repeating-linear-gradient(
110
- to right,
111
- var(--px-progress-fill-color) 0,
112
- var(--px-progress-fill-color) var(--px-progress-chunk-width),
113
- transparent var(--px-progress-chunk-width),
114
- transparent calc(var(--px-progress-chunk-width) + var(--px-progress-chunk-gap))
115
- );
116
-
117
- /* Beveled 3D depth — raised-panel highlight/shadow */
118
- box-shadow:
119
- var(--px-progress-fill-highlight),
120
- var(--px-progress-fill-shadow);
121
- }
122
- /* Inner text */
123
- .px-progress__inner-text {
124
- padding: 0 4px;
125
- font-size: 10px;
126
- font-family: var(--px-font-family);
127
- color: var(--px-color-white);
128
- white-space: nowrap;
129
- line-height: var(--px-progress-height);
130
- text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
131
- }
132
- /* External text */
133
- .px-progress__text {
134
- flex-shrink: 0;
135
- margin-left: var(--px-progress-text-gap);
136
- font-size: var(--px-progress-text-size);
137
- font-family: var(--px-font-family);
138
- color: var(--px-progress-text-color);
139
- white-space: nowrap;
140
- min-width: 36px;
141
- }
142
- /* ─── Type variants ─── */
143
- .px-progress--primary {
144
- --px-progress-fill-color: var(--px-color-primary);
145
- --px-progress-fill-border-color: var(--px-color-primary-dark);
146
- --px-progress-shadow-color: var(--px-color-primary-dark);
147
- --px-progress-text-color: var(--px-color-primary-dark);
148
- }
149
- .px-progress--success {
150
- --px-progress-fill-color: var(--px-color-success);
151
- --px-progress-fill-border-color: var(--px-color-success-dark);
152
- --px-progress-shadow-color: var(--px-color-success-dark);
153
- --px-progress-text-color: var(--px-color-success-dark);
154
- }
155
- .px-progress--info {
156
- --px-progress-fill-color: var(--px-color-info);
157
- --px-progress-fill-border-color: var(--px-color-info-dark);
158
- --px-progress-shadow-color: var(--px-color-info-dark);
159
- --px-progress-text-color: var(--px-color-info-dark);
160
- }
161
- .px-progress--warning {
162
- --px-progress-fill-color: var(--px-color-warning);
163
- --px-progress-fill-border-color: var(--px-color-warning-dark);
164
- --px-progress-shadow-color: var(--px-color-warning-dark);
165
- --px-progress-text-color: var(--px-color-warning-dark);
166
- }
167
- .px-progress--danger {
168
- --px-progress-fill-color: var(--px-color-danger);
169
- --px-progress-fill-border-color: var(--px-color-danger-dark);
170
- --px-progress-shadow-color: var(--px-color-danger-dark);
171
- --px-progress-text-color: var(--px-color-danger-dark);
172
- }
173
- /* ─── Status overrides (override type) ─── */
174
- .px-progress--success.px-progress--success {
175
- --px-progress-fill-color: var(--px-color-success);
176
- --px-progress-fill-border-color: var(--px-color-success-dark);
177
- --px-progress-shadow-color: var(--px-color-success-dark);
178
- --px-progress-text-color: var(--px-color-success-dark);
179
- }
180
- .px-progress--warning.px-progress--warning {
181
- --px-progress-fill-color: var(--px-color-warning);
182
- --px-progress-fill-border-color: var(--px-color-warning-dark);
183
- --px-progress-shadow-color: var(--px-color-warning-dark);
184
- --px-progress-text-color: var(--px-color-warning-dark);
185
- }
186
- .px-progress--danger.px-progress--danger {
187
- --px-progress-fill-color: var(--px-color-danger);
188
- --px-progress-fill-border-color: var(--px-color-danger-dark);
189
- --px-progress-shadow-color: var(--px-color-danger-dark);
190
- --px-progress-text-color: var(--px-color-danger-dark);
191
- }
192
- /* ─── Size variants ─── */
193
- .px-progress--large {
194
- --px-progress-height: 20px;
195
- --px-progress-text-size: var(--px-font-size-base);
196
- --px-progress-chunk-width: 10px;
197
- }
198
- .px-progress--small {
199
- --px-progress-height: 8px;
200
- --px-progress-text-size: var(--px-font-size-extra-small);
201
- --px-progress-chunk-width: 6px;
202
- }
203
- /* ─── Striped variant ─── */
204
- .px-progress--striped .px-progress__fill {
205
- background:
206
- /* Diagonal stripe overlay (top layer) */
207
- repeating-linear-gradient(
208
- -45deg,
209
- transparent,
210
- transparent 4px,
211
- rgba(255, 255, 255, 0.25) 4px,
212
- rgba(255, 255, 255, 0.25) 8px
213
- ),
214
- /* Chunked fill underneath (bottom layer) */
215
- repeating-linear-gradient(
216
- to right,
217
- var(--px-progress-fill-color) 0,
218
- var(--px-progress-fill-color) var(--px-progress-chunk-width),
219
- transparent var(--px-progress-chunk-width),
220
- transparent calc(var(--px-progress-chunk-width) + var(--px-progress-chunk-gap))
221
- );
222
- background-size: 16px 16px, auto;
223
- }
224
- /* Striped flow animation */
225
- .px-progress.is-striped-flow .px-progress__fill {
226
- animation: px-progress-striped-flow 0.6s steps(4) infinite;
227
- }
228
- @keyframes px-progress-striped-flow {
229
- 0% { background-position: 0 0, 0 0;
230
- }
231
- 100% { background-position: 16px 0, 0 0;
232
- }
233
- }
234
- /* ─── Checkered variant ─── */
235
- .px-progress--checkered .px-progress__fill {
236
- background:
237
- /* Checkerboard overlay (4 gradient layers) */
238
- linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%),
239
- linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%),
240
- linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.2) 75%),
241
- linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.2) 75%),
242
- /* Chunked fill (bottom layer) */
243
- repeating-linear-gradient(
244
- to right,
245
- var(--px-progress-fill-color) 0,
246
- var(--px-progress-fill-color) var(--px-progress-chunk-width),
247
- transparent var(--px-progress-chunk-width),
248
- transparent calc(var(--px-progress-chunk-width) + var(--px-progress-chunk-gap))
249
- );
250
- background-size: 4px 4px, 4px 4px, 4px 4px, 4px 4px, auto;
251
- background-position: 0 0, 0 2px, 2px -2px, -2px 0px, 0 0;
252
- }
253
- /* ─── Indeterminate animation ─── */
254
- .px-progress.is-indeterminate .px-progress__fill {
255
- width: 30% !important;
256
- animation:
257
- px-progress-indeterminate 1.2s steps(8) infinite,
258
- px-progress-chunk-pulse 0.6s steps(2) infinite;
259
- }
260
- @keyframes px-progress-indeterminate {
261
- 0% { margin-left: 0;
262
- }
263
- 50% { margin-left: 70%;
264
- }
265
- 100% { margin-left: 0;
266
- }
267
- }
268
- @keyframes px-progress-chunk-pulse {
269
- 0%, 100% { opacity: 1;
270
- }
271
- 50% { opacity: 0.7;
272
- }
273
- }
274
- /* ─── Text inside ─── */
275
- .px-progress.is-text-inside {
276
- --px-progress-height: 20px;
277
- --px-progress-chunk-width: 10px;
278
- }
1
+ .px-progress{--px-progress-height:14px;--px-progress-fill-color:var(--px-color-primary);--px-progress-fill-border-color:var(--px-color-primary-dark);--px-progress-track-bg-color:var(--px-fill-color-blank);--px-progress-track-border-color:var(--px-border-color-dark);--px-progress-text-color:var(--px-text-color-primary);--px-progress-shadow-color:var(--px-color-primary-dark);--px-progress-text-size:var(--px-font-size-small);--px-progress-text-gap:10px;--px-progress-chunk-width:8px;--px-progress-chunk-gap:2px;--px-progress-fill-highlight:inset 1px 1px 0 0 #ffffff59;--px-progress-fill-shadow:inset -1px -1px 0 0 #00000026;width:100%;line-height:1;font-family:var(--px-font-family);align-items:center;display:flex}.px-progress__track{height:var(--px-progress-height);box-sizing:border-box;clip-path:polygon(0 2px,2px 2px,2px 0,calc(100% - 2px) 0,calc(100% - 2px) 2px,100% 2px,100% calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,2px calc(100% - 2px),0 calc(100% - 2px));filter:drop-shadow(var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-progress-shadow-color));background:0 0;border:none;flex:1;padding:2px;position:relative;overflow:hidden}.px-progress__track:before{content:"";background:var(--px-progress-track-border-color);clip-path:polygon(0 2px,2px 2px,2px 0,calc(100% - 2px) 0,calc(100% - 2px) 2px,100% 2px,100% calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,2px calc(100% - 2px),0 calc(100% - 2px));z-index:0;position:absolute;inset:0}.px-progress__track:after{content:"";background: linear-gradient(to bottom, #0000001a 0, transparent 2px), linear-gradient(to right, #0000001a 0, transparent 2px), linear-gradient(to top, #ffffff0f 0, transparent 2px), linear-gradient(to left, #ffffff0f 0, transparent 2px), repeating-linear-gradient(to right, #0000000a 0, #0000000a 2px, transparent 2px, transparent 4px), var(--px-progress-track-bg-color);clip-path:polygon(0 2px,2px 2px,2px 0,calc(100% - 2px) 0,calc(100% - 2px) 2px,100% 2px,100% calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,2px calc(100% - 2px),0 calc(100% - 2px));z-index:0;position:absolute;inset:2px}.px-progress__fill{z-index:1;box-sizing:border-box;background:repeating-linear-gradient(to right, var(--px-progress-fill-color) 0, var(--px-progress-fill-color) var(--px-progress-chunk-width), transparent var(--px-progress-chunk-width), transparent calc(var(--px-progress-chunk-width) + var(--px-progress-chunk-gap)));height:100%;box-shadow:var(--px-progress-fill-highlight), var(--px-progress-fill-shadow);justify-content:flex-end;align-items:center;transition:none;display:flex;position:relative}.px-progress__inner-text{font-size:10px;font-family:var(--px-font-family);color:var(--px-color-white);white-space:nowrap;line-height:var(--px-progress-height);text-shadow:1px 1px #00000080;padding:0 4px}.px-progress__text{margin-left:var(--px-progress-text-gap);font-size:var(--px-progress-text-size);font-family:var(--px-font-family);color:var(--px-progress-text-color);white-space:nowrap;flex-shrink:0;min-width:36px}.px-progress--primary{--px-progress-fill-color:var(--px-color-primary);--px-progress-fill-border-color:var(--px-color-primary-dark);--px-progress-shadow-color:var(--px-color-primary-dark);--px-progress-text-color:var(--px-color-primary-dark)}.px-progress--success{--px-progress-fill-color:var(--px-color-success);--px-progress-fill-border-color:var(--px-color-success-dark);--px-progress-shadow-color:var(--px-color-success-dark);--px-progress-text-color:var(--px-color-success-dark)}.px-progress--info{--px-progress-fill-color:var(--px-color-info);--px-progress-fill-border-color:var(--px-color-info-dark);--px-progress-shadow-color:var(--px-color-info-dark);--px-progress-text-color:var(--px-color-info-dark)}.px-progress--warning{--px-progress-fill-color:var(--px-color-warning);--px-progress-fill-border-color:var(--px-color-warning-dark);--px-progress-shadow-color:var(--px-color-warning-dark);--px-progress-text-color:var(--px-color-warning-dark)}.px-progress--danger{--px-progress-fill-color:var(--px-color-danger);--px-progress-fill-border-color:var(--px-color-danger-dark);--px-progress-shadow-color:var(--px-color-danger-dark);--px-progress-text-color:var(--px-color-danger-dark)}.px-progress--success.px-progress--success{--px-progress-fill-color:var(--px-color-success);--px-progress-fill-border-color:var(--px-color-success-dark);--px-progress-shadow-color:var(--px-color-success-dark);--px-progress-text-color:var(--px-color-success-dark)}.px-progress--warning.px-progress--warning{--px-progress-fill-color:var(--px-color-warning);--px-progress-fill-border-color:var(--px-color-warning-dark);--px-progress-shadow-color:var(--px-color-warning-dark);--px-progress-text-color:var(--px-color-warning-dark)}.px-progress--danger.px-progress--danger{--px-progress-fill-color:var(--px-color-danger);--px-progress-fill-border-color:var(--px-color-danger-dark);--px-progress-shadow-color:var(--px-color-danger-dark);--px-progress-text-color:var(--px-color-danger-dark)}.px-progress--large{--px-progress-height:20px;--px-progress-text-size:var(--px-font-size-base);--px-progress-chunk-width:10px}.px-progress--small{--px-progress-height:8px;--px-progress-text-size:var(--px-font-size-extra-small);--px-progress-chunk-width:6px}.px-progress--striped .px-progress__fill{background: repeating-linear-gradient(-45deg, transparent, transparent 4px, #ffffff40 4px, #ffffff40 8px), repeating-linear-gradient(to right, var(--px-progress-fill-color) 0, var(--px-progress-fill-color) var(--px-progress-chunk-width), transparent var(--px-progress-chunk-width), transparent calc(var(--px-progress-chunk-width) + var(--px-progress-chunk-gap)));background-size:16px 16px,auto}.px-progress.is-striped-flow .px-progress__fill{animation:.6s steps(4,end) infinite px-progress-striped-flow}@keyframes px-progress-striped-flow{0%{background-position:0 0,0 0}to{background-position:16px 0,0 0}}.px-progress--checkered .px-progress__fill{background: linear-gradient(45deg, #fff3 25%, transparent 25%), linear-gradient(-45deg, #fff3 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #fff3 75%), linear-gradient(-45deg, transparent 75%, #fff3 75%), repeating-linear-gradient(to right, var(--px-progress-fill-color) 0, var(--px-progress-fill-color) var(--px-progress-chunk-width), transparent var(--px-progress-chunk-width), transparent calc(var(--px-progress-chunk-width) + var(--px-progress-chunk-gap)));background-position:0 0,0 2px,2px -2px,-2px 0,0 0;background-size:4px 4px,4px 4px,4px 4px,4px 4px,auto}.px-progress.is-indeterminate .px-progress__fill{animation:1.2s steps(8,end) infinite px-progress-indeterminate,.6s steps(2,end) infinite px-progress-chunk-pulse;width:30%!important}@keyframes px-progress-indeterminate{0%{margin-left:0}50%{margin-left:70%}to{margin-left:0}}@keyframes px-progress-chunk-pulse{0%,to{opacity:1}50%{opacity:.7}}.px-progress.is-text-inside{--px-progress-height:20px;--px-progress-chunk-width:10px}