sakana-element 2.2.0 → 2.3.0

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 (130) hide show
  1. package/README.md +95 -22
  2. package/dist/es/{Alert-C76ZWSVk.js → Alert-BwTsp4X3.js} +2 -2
  3. package/dist/es/Avatar-CJu6JYV3.js +9 -0
  4. package/dist/es/{Badge-CoFWwBwv.js → Badge-BmxZXX8k.js} +2 -2
  5. package/dist/es/{Breadcrumb-BtrwTVKW.js → Breadcrumb-BP8MSklj.js} +2 -2
  6. package/dist/es/{Button-S_31-UWJ.js → Button-BJHtN7gh.js} +2 -2
  7. package/dist/es/{Card-DcW6nHYD.js → Card-DJHkCmsz.js} +2 -2
  8. package/dist/es/Checkbox-DX8L3fyp.js +51 -0
  9. package/dist/es/{Collapse-DsS7M-m3.js → Collapse-Ir3V9CuO.js} +2 -2
  10. package/dist/es/{ConfigProvider-BgIewHXP.js → ConfigProvider-CsbSqwwi.js} +1 -1
  11. package/dist/es/Divider-C7PtODSK.js +9 -0
  12. package/dist/es/Drawer-C2eVmvUp.js +40 -0
  13. package/dist/es/Dropdown-CVg_c2fB.js +104 -0
  14. package/dist/es/{FileInput-BQ59woas.js → FileInput-BE26BmXm.js} +3 -3
  15. package/dist/es/Form-7lZt5ehf.js +122 -0
  16. package/dist/es/{Icon-DpJyuj7c.js → Icon-BLDDdSU-.js} +1 -1
  17. package/dist/es/Indicator-B-en-MgG.js +9 -0
  18. package/dist/es/{Input-CiE4bPJN.js → Input-C5HuVehE.js} +6 -6
  19. package/dist/es/{Link-B9B2APZq.js → Link-Av9RdcFv.js} +1 -1
  20. package/dist/es/{Loading-BW99pE5N.js → Loading-CBNDUWQd.js} +12 -12
  21. package/dist/es/Message-DgnyyuXn.js +152 -0
  22. package/dist/es/Notification-LYRXnVAf.js +69 -0
  23. package/dist/es/{Overlay-BRDSWspM.js → Overlay-CpvMhnuU.js} +1 -1
  24. package/dist/es/Pixelate-BPypBgJU.js +67 -0
  25. package/dist/es/Popconfirm-DvxFdLrw.js +23 -0
  26. package/dist/es/Progress-Bc5INMhJ.js +12 -0
  27. package/dist/es/Radio-263_rtRl.js +33 -0
  28. package/dist/es/{Select-Dwqv8isB.js → Select-7ZxUCS8z.js} +13 -13
  29. package/dist/es/{Switch-B1Gnv1tB.js → Switch-DiCsMJT3.js} +3 -3
  30. package/dist/es/Table-BvA_xzDe.js +10 -0
  31. package/dist/es/Tooltip-J3ji6weH.js +74 -0
  32. package/dist/es/hooks-BqobYUzS.js +171 -0
  33. package/dist/es/index.js +90 -70
  34. package/dist/{theme → es/theme}/Avatar.css +13 -43
  35. package/dist/{theme → es/theme}/Breadcrumb.css +46 -4
  36. package/dist/es/theme/Card.css +347 -0
  37. package/dist/es/theme/Checkbox.css +484 -0
  38. package/dist/es/theme/Divider.css +111 -0
  39. package/dist/es/theme/Drawer.css +206 -0
  40. package/dist/es/theme/Dropdown.css +471 -0
  41. package/dist/es/theme/Indicator.css +159 -0
  42. package/dist/{theme → es/theme}/Input.css +1 -0
  43. package/dist/{theme → es/theme}/Link.css +22 -3
  44. package/dist/{theme → es/theme}/Loading.css +50 -12
  45. package/dist/{theme → es/theme}/Message.css +249 -40
  46. package/dist/es/theme/Notification.css +316 -0
  47. package/dist/es/theme/Popconfirm.css +46 -0
  48. package/dist/es/theme/Progress.css +278 -0
  49. package/dist/es/theme/Radio.css +426 -0
  50. package/dist/es/theme/Table.css +680 -0
  51. package/dist/es/theme/Tooltip.css +235 -0
  52. package/dist/es/utils-BS5vsvlM.js +101 -0
  53. package/dist/index.css +1 -1
  54. package/dist/types/components/Avatar/types.d.ts +0 -2
  55. package/dist/types/components/Checkbox/constants.d.ts +5 -0
  56. package/dist/types/components/Checkbox/index.d.ts +94 -0
  57. package/dist/types/components/Checkbox/types.d.ts +46 -0
  58. package/dist/types/components/Collapse/index.d.ts +5 -5
  59. package/dist/types/components/Divider/index.d.ts +30 -0
  60. package/dist/types/components/Divider/types.d.ts +10 -0
  61. package/dist/types/components/Drawer/constants.d.ts +1 -0
  62. package/dist/types/components/Drawer/index.d.ts +72 -0
  63. package/dist/types/components/Drawer/types.d.ts +20 -0
  64. package/dist/types/components/Dropdown/index.d.ts +11 -1
  65. package/dist/types/components/Dropdown/types.d.ts +3 -0
  66. package/dist/types/components/Dropdown/useDropdownKeyboard.d.ts +8 -0
  67. package/dist/types/components/FileInput/index.d.ts +5 -5
  68. package/dist/types/components/Indicator/constants.d.ts +2 -0
  69. package/dist/types/components/Indicator/index.d.ts +28 -0
  70. package/dist/types/components/Indicator/types.d.ts +10 -0
  71. package/dist/types/components/Input/index.d.ts +10 -10
  72. package/dist/types/components/Message/methods.d.ts +2 -0
  73. package/dist/types/components/Message/types.d.ts +7 -1
  74. package/dist/types/components/MessageBox/types.d.ts +14 -2
  75. package/dist/types/components/Notification/methods.d.ts +3 -0
  76. package/dist/types/components/Notification/types.d.ts +8 -2
  77. package/dist/types/components/Pixelate/constants.d.ts +2 -0
  78. package/dist/types/components/Pixelate/index.d.ts +71 -0
  79. package/dist/types/components/Pixelate/types.d.ts +23 -0
  80. package/dist/types/components/Popconfirm/index.d.ts +16 -7
  81. package/dist/types/components/Popconfirm/types.d.ts +2 -1
  82. package/dist/types/components/Progress/constants.d.ts +2 -0
  83. package/dist/types/components/Progress/index.d.ts +50 -0
  84. package/dist/types/components/Progress/types.d.ts +22 -0
  85. package/dist/types/components/Radio/constants.d.ts +5 -0
  86. package/dist/types/components/Radio/index.d.ts +88 -0
  87. package/dist/types/components/Radio/types.d.ts +43 -0
  88. package/dist/types/components/Select/index.d.ts +30 -21
  89. package/dist/types/components/Switch/index.d.ts +5 -5
  90. package/dist/types/components/Table/index.d.ts +27 -0
  91. package/dist/types/components/Table/types.d.ts +20 -0
  92. package/dist/types/components/Tooltip/index.d.ts +6 -0
  93. package/dist/types/components/Tooltip/types.d.ts +7 -0
  94. package/dist/types/components/index.d.ts +8 -0
  95. package/dist/types/hooks/index.d.ts +3 -1
  96. package/dist/types/hooks/useDraggable.d.ts +7 -0
  97. package/dist/types/hooks/useFocusTrap.d.ts +5 -0
  98. package/dist/types/utils/index.d.ts +1 -0
  99. package/dist/types/utils/instance-management.d.ts +40 -0
  100. package/dist/umd/index.css +1 -1
  101. package/dist/umd/index.css.gz +0 -0
  102. package/dist/umd/index.umd.cjs +4 -4
  103. package/dist/umd/index.umd.cjs.gz +0 -0
  104. package/package.json +59 -59
  105. package/dist/es/Avatar-CxsRW-wl.js +0 -9
  106. package/dist/es/Dropdown-GcomGMAI.js +0 -40
  107. package/dist/es/Form-j90EzLXU.js +0 -122
  108. package/dist/es/Message-DCNnTUje.js +0 -123
  109. package/dist/es/Notification-CBzY5904.js +0 -58
  110. package/dist/es/Popconfirm-DF6d2ORS.js +0 -23
  111. package/dist/es/Tooltip-k6gKnMyt.js +0 -74
  112. package/dist/es/hooks-BaG7l8K5.js +0 -116
  113. package/dist/es/utils-bsCscZfS.js +0 -84
  114. package/dist/theme/Card.css +0 -263
  115. package/dist/theme/Dropdown.css +0 -187
  116. package/dist/theme/Notification.css +0 -126
  117. package/dist/theme/Popconfirm.css +0 -30
  118. package/dist/theme/Tooltip.css +0 -111
  119. /package/dist/{theme → es/theme}/Alert.css +0 -0
  120. /package/dist/{theme → es/theme}/Badge.css +0 -0
  121. /package/dist/{theme → es/theme}/Button.css +0 -0
  122. /package/dist/{theme → es/theme}/Collapse.css +0 -0
  123. /package/dist/{theme → es/theme}/FileInput.css +0 -0
  124. /package/dist/{theme → es/theme}/Form.css +0 -0
  125. /package/dist/{theme → es/theme}/Icon.css +0 -0
  126. /package/dist/{theme → es/theme}/Overlay.css +0 -0
  127. /package/dist/{theme → es/theme}/Select.css +0 -0
  128. /package/dist/{theme → es/theme}/Switch.css +0 -0
  129. /package/dist/{theme → es/theme}/fonts/zpix.woff2 +0 -0
  130. /package/dist/{theme → es/theme}/index.css +0 -0
@@ -0,0 +1,484 @@
1
+ /* Checkbox Variables */
2
+ .px-checkbox {
3
+ --px-checkbox-size: 18px;
4
+ --px-checkbox-checked-color: var(--px-color-primary);
5
+ --px-checkbox-checked-border-color: var(--px-color-primary-dark);
6
+ --px-checkbox-border-color: var(--px-border-color);
7
+ --px-checkbox-bg-color: var(--px-fill-color-blank);
8
+ --px-checkbox-shadow-color: var(--px-shadow-color);
9
+ }
10
+ /* Base Checkbox Styles */
11
+ .px-checkbox {
12
+ display: inline-flex;
13
+ align-items: center;
14
+ font-size: var(--px-font-size-base);
15
+ font-family: var(--px-font-family);
16
+ line-height: 1;
17
+ cursor: pointer;
18
+ user-select: none;
19
+ white-space: nowrap;
20
+ }
21
+ /* Disabled state */
22
+ .px-checkbox.is-disabled {
23
+ opacity: 0.5;
24
+ cursor: not-allowed;
25
+ }
26
+ .px-checkbox.is-disabled .px-checkbox__inner {
27
+ cursor: not-allowed;
28
+ }
29
+ /* Checked & Indeterminate shared styles */
30
+ .px-checkbox.is-checked .px-checkbox__inner::before, .px-checkbox.is-indeterminate .px-checkbox__inner::before {
31
+ background: var(--px-checkbox-checked-border-color);
32
+ }
33
+ .px-checkbox.is-checked .px-checkbox__inner::after, .px-checkbox.is-indeterminate .px-checkbox__inner::after {
34
+ background: var(--px-checkbox-checked-color);
35
+ }
36
+ .px-checkbox.is-checked .px-checkbox__inner .px-checkbox__tick, .px-checkbox.is-indeterminate .px-checkbox__inner .px-checkbox__tick {
37
+ opacity: 1;
38
+ }
39
+ /* Checked state */
40
+ .px-checkbox.is-checked .px-checkbox__input {
41
+ filter: drop-shadow(
42
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-checkbox-checked-border-color)
43
+ );
44
+ }
45
+ /* Indeterminate state */
46
+ .px-checkbox.is-indeterminate .px-checkbox__inner .px-checkbox__tick {
47
+ /* Override checkmark with a pixel-art horizontal dash */
48
+ clip-path: none;
49
+ position: absolute;
50
+ width: 8px;
51
+ height: 2px;
52
+ background: var(--px-fill-color-blank);
53
+ top: 50%;
54
+ left: 50%;
55
+ transform: translate(-50%, -50%);
56
+ }
57
+ .px-checkbox.is-indeterminate .px-checkbox__input {
58
+ filter: none;
59
+ }
60
+ /* Size variants */
61
+ .px-checkbox--large {
62
+ --px-checkbox-size: 22px;
63
+ font-size: var(--px-font-size-base);
64
+ }
65
+ .px-checkbox--large .px-checkbox__tick {
66
+ width: 12px;
67
+ height: 12px;
68
+ }
69
+ .px-checkbox--large.is-indeterminate .px-checkbox__inner .px-checkbox__tick {
70
+ width: 10px;
71
+ height: 2px;
72
+ }
73
+ .px-checkbox--small {
74
+ --px-checkbox-size: 14px;
75
+ font-size: var(--px-font-size-small);
76
+ }
77
+ .px-checkbox--small .px-checkbox__input {
78
+ filter: drop-shadow(2px 2px 0px var(--px-checkbox-shadow-color));
79
+ }
80
+ .px-checkbox--small .px-checkbox__tick {
81
+ width: 8px;
82
+ height: 8px;
83
+ }
84
+ .px-checkbox--small.is-checked .px-checkbox__input {
85
+ filter: drop-shadow(2px 2px 0px var(--px-checkbox-checked-border-color));
86
+ }
87
+ .px-checkbox--small.is-indeterminate .px-checkbox__input {
88
+ filter: none;
89
+ }
90
+ .px-checkbox--small.is-indeterminate .px-checkbox__inner .px-checkbox__tick {
91
+ width: 6px;
92
+ height: 2px;
93
+ }
94
+ /* Hidden native input */
95
+ .px-checkbox__original {
96
+ position: absolute;
97
+ width: 0;
98
+ height: 0;
99
+ opacity: 0;
100
+ margin: 0;
101
+ outline: none;
102
+ }
103
+ .px-checkbox__original:focus-visible ~ .px-checkbox__inner {
104
+ outline: 2px dashed var(--px-checkbox-checked-color);
105
+ outline-offset: 2px;
106
+ }
107
+ /* Input wrapper */
108
+ .px-checkbox__input {
109
+ position: relative;
110
+ display: inline-flex;
111
+ align-items: center;
112
+ justify-content: center;
113
+ flex-shrink: 0;
114
+
115
+ /* Pixel shadow via drop-shadow */
116
+ filter: drop-shadow(
117
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-checkbox-shadow-color)
118
+ );
119
+ }
120
+ /* The pixel-art checkbox box */
121
+ .px-checkbox__inner {
122
+ position: relative;
123
+ display: inline-flex;
124
+ align-items: center;
125
+ justify-content: center;
126
+ width: var(--px-checkbox-size);
127
+ height: var(--px-checkbox-size);
128
+ box-sizing: border-box;
129
+ background: transparent;
130
+
131
+ --px-checkbox-pixel-corners: polygon(
132
+ 0 2px,
133
+ 2px 2px,
134
+ 2px 0,
135
+ calc(100% - 2px) 0,
136
+ calc(100% - 2px) 2px,
137
+ 100% 2px,
138
+ 100% calc(100% - 2px),
139
+ calc(100% - 2px) calc(100% - 2px),
140
+ calc(100% - 2px) 100%,
141
+ 2px 100%,
142
+ 2px calc(100% - 2px),
143
+ 0 calc(100% - 2px)
144
+ );
145
+ }
146
+ /* Border layer - pixel shape */
147
+ .px-checkbox__inner::before {
148
+ content: "";
149
+ position: absolute;
150
+ inset: 0;
151
+ background: var(--px-checkbox-border-color);
152
+ clip-path: var(--px-checkbox-pixel-corners);
153
+ z-index: 0;
154
+ }
155
+ /* Fill layer - pixel shape */
156
+ .px-checkbox__inner::after {
157
+ content: "";
158
+ position: absolute;
159
+ inset: 2px;
160
+ background: var(--px-checkbox-bg-color);
161
+ clip-path: var(--px-checkbox-pixel-corners);
162
+ z-index: 0;
163
+ }
164
+ /* Pixel checkmark */
165
+ .px-checkbox__tick {
166
+ position: relative;
167
+ z-index: 1;
168
+ width: 10px;
169
+ height: 10px;
170
+ opacity: 0;
171
+ /* Pixel-art checkmark (✓) via clip-path */
172
+ clip-path: polygon(
173
+ 15% 50%,
174
+ 35% 70%,
175
+ 85% 20%,
176
+ 85% 40%,
177
+ 35% 90%,
178
+ 15% 70%
179
+ );
180
+ background: var(--px-fill-color-blank);
181
+ }
182
+ /* Label */
183
+ .px-checkbox__label {
184
+ padding-left: 8px;
185
+ font-family: var(--px-font-family);
186
+ font-size: inherit;
187
+ line-height: 1.2;
188
+ color: var(--px-text-color-primary);
189
+ }
190
+ /* Type variants */
191
+ .px-checkbox--primary {
192
+ --px-checkbox-checked-color: var(--px-color-primary);
193
+ --px-checkbox-checked-border-color: var(--px-color-primary-dark);
194
+ }
195
+ .px-checkbox--primary.is-checked .px-checkbox__input {
196
+ filter: drop-shadow(
197
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-primary-dark)
198
+ );
199
+ }
200
+ .px-checkbox--success {
201
+ --px-checkbox-checked-color: var(--px-color-success);
202
+ --px-checkbox-checked-border-color: var(--px-color-success-dark);
203
+ }
204
+ .px-checkbox--success.is-checked .px-checkbox__input {
205
+ filter: drop-shadow(
206
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-success-dark)
207
+ );
208
+ }
209
+ .px-checkbox--info {
210
+ --px-checkbox-checked-color: var(--px-color-info);
211
+ --px-checkbox-checked-border-color: var(--px-color-info-dark);
212
+ }
213
+ .px-checkbox--info.is-checked .px-checkbox__input {
214
+ filter: drop-shadow(
215
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-info-dark)
216
+ );
217
+ }
218
+ .px-checkbox--warning {
219
+ --px-checkbox-checked-color: var(--px-color-warning);
220
+ --px-checkbox-checked-border-color: var(--px-color-warning-dark);
221
+ }
222
+ .px-checkbox--warning.is-checked .px-checkbox__input {
223
+ filter: drop-shadow(
224
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-warning-dark)
225
+ );
226
+ }
227
+ .px-checkbox--danger {
228
+ --px-checkbox-checked-color: var(--px-color-danger);
229
+ --px-checkbox-checked-border-color: var(--px-color-danger-dark);
230
+ }
231
+ .px-checkbox--danger.is-checked .px-checkbox__input {
232
+ filter: drop-shadow(
233
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-danger-dark)
234
+ );
235
+ }
236
+ /* Checkbox Group */
237
+ .px-checkbox-group {
238
+ display: inline-flex;
239
+ flex-wrap: wrap;
240
+ gap: 16px;
241
+ align-items: center;
242
+ }
243
+ /* Checkbox Variables */
244
+ .px-checkbox {
245
+ --px-checkbox-size: 18px;
246
+ --px-checkbox-checked-color: var(--px-color-primary);
247
+ --px-checkbox-checked-border-color: var(--px-color-primary-dark);
248
+ --px-checkbox-border-color: var(--px-border-color);
249
+ --px-checkbox-bg-color: var(--px-fill-color-blank);
250
+ --px-checkbox-shadow-color: var(--px-shadow-color);
251
+ }
252
+ /* Base Checkbox Styles */
253
+ .px-checkbox {
254
+ display: inline-flex;
255
+ align-items: center;
256
+ font-size: var(--px-font-size-base);
257
+ font-family: var(--px-font-family);
258
+ line-height: 1;
259
+ cursor: pointer;
260
+ user-select: none;
261
+ white-space: nowrap;
262
+ }
263
+ /* Disabled state */
264
+ .px-checkbox.is-disabled {
265
+ opacity: 0.5;
266
+ cursor: not-allowed;
267
+ }
268
+ .px-checkbox.is-disabled .px-checkbox__inner {
269
+ cursor: not-allowed;
270
+ }
271
+ /* Checked & Indeterminate shared styles */
272
+ .px-checkbox.is-checked .px-checkbox__inner::before, .px-checkbox.is-indeterminate .px-checkbox__inner::before {
273
+ background: var(--px-checkbox-checked-border-color);
274
+ }
275
+ .px-checkbox.is-checked .px-checkbox__inner::after, .px-checkbox.is-indeterminate .px-checkbox__inner::after {
276
+ background: var(--px-checkbox-checked-color);
277
+ }
278
+ .px-checkbox.is-checked .px-checkbox__inner .px-checkbox__tick, .px-checkbox.is-indeterminate .px-checkbox__inner .px-checkbox__tick {
279
+ opacity: 1;
280
+ }
281
+ /* Checked state */
282
+ .px-checkbox.is-checked .px-checkbox__input {
283
+ filter: drop-shadow(
284
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-checkbox-checked-border-color)
285
+ );
286
+ }
287
+ /* Indeterminate state */
288
+ .px-checkbox.is-indeterminate .px-checkbox__inner .px-checkbox__tick {
289
+ /* Override checkmark with a pixel-art horizontal dash */
290
+ clip-path: none;
291
+ position: absolute;
292
+ width: 8px;
293
+ height: 2px;
294
+ background: var(--px-fill-color-blank);
295
+ top: 50%;
296
+ left: 50%;
297
+ transform: translate(-50%, -50%);
298
+ }
299
+ .px-checkbox.is-indeterminate .px-checkbox__input {
300
+ filter: none;
301
+ }
302
+ /* Size variants */
303
+ .px-checkbox--large {
304
+ --px-checkbox-size: 22px;
305
+ font-size: var(--px-font-size-base);
306
+ }
307
+ .px-checkbox--large .px-checkbox__tick {
308
+ width: 12px;
309
+ height: 12px;
310
+ }
311
+ .px-checkbox--large.is-indeterminate .px-checkbox__inner .px-checkbox__tick {
312
+ width: 10px;
313
+ height: 2px;
314
+ }
315
+ .px-checkbox--small {
316
+ --px-checkbox-size: 14px;
317
+ font-size: var(--px-font-size-small);
318
+ }
319
+ .px-checkbox--small .px-checkbox__input {
320
+ filter: drop-shadow(2px 2px 0px var(--px-checkbox-shadow-color));
321
+ }
322
+ .px-checkbox--small .px-checkbox__tick {
323
+ width: 8px;
324
+ height: 8px;
325
+ }
326
+ .px-checkbox--small.is-checked .px-checkbox__input {
327
+ filter: drop-shadow(2px 2px 0px var(--px-checkbox-checked-border-color));
328
+ }
329
+ .px-checkbox--small.is-indeterminate .px-checkbox__input {
330
+ filter: none;
331
+ }
332
+ .px-checkbox--small.is-indeterminate .px-checkbox__inner .px-checkbox__tick {
333
+ width: 6px;
334
+ height: 2px;
335
+ }
336
+ /* Hidden native input */
337
+ .px-checkbox__original {
338
+ position: absolute;
339
+ width: 0;
340
+ height: 0;
341
+ opacity: 0;
342
+ margin: 0;
343
+ outline: none;
344
+ }
345
+ .px-checkbox__original:focus-visible ~ .px-checkbox__inner {
346
+ outline: 2px dashed var(--px-checkbox-checked-color);
347
+ outline-offset: 2px;
348
+ }
349
+ /* Input wrapper */
350
+ .px-checkbox__input {
351
+ position: relative;
352
+ display: inline-flex;
353
+ align-items: center;
354
+ justify-content: center;
355
+ flex-shrink: 0;
356
+
357
+ /* Pixel shadow via drop-shadow */
358
+ filter: drop-shadow(
359
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-checkbox-shadow-color)
360
+ );
361
+ }
362
+ /* The pixel-art checkbox box */
363
+ .px-checkbox__inner {
364
+ position: relative;
365
+ display: inline-flex;
366
+ align-items: center;
367
+ justify-content: center;
368
+ width: var(--px-checkbox-size);
369
+ height: var(--px-checkbox-size);
370
+ box-sizing: border-box;
371
+ background: transparent;
372
+
373
+ --px-checkbox-pixel-corners: polygon(
374
+ 0 2px,
375
+ 2px 2px,
376
+ 2px 0,
377
+ calc(100% - 2px) 0,
378
+ calc(100% - 2px) 2px,
379
+ 100% 2px,
380
+ 100% calc(100% - 2px),
381
+ calc(100% - 2px) calc(100% - 2px),
382
+ calc(100% - 2px) 100%,
383
+ 2px 100%,
384
+ 2px calc(100% - 2px),
385
+ 0 calc(100% - 2px)
386
+ );
387
+ }
388
+ /* Border layer - pixel shape */
389
+ .px-checkbox__inner::before {
390
+ content: "";
391
+ position: absolute;
392
+ inset: 0;
393
+ background: var(--px-checkbox-border-color);
394
+ clip-path: var(--px-checkbox-pixel-corners);
395
+ z-index: 0;
396
+ }
397
+ /* Fill layer - pixel shape */
398
+ .px-checkbox__inner::after {
399
+ content: "";
400
+ position: absolute;
401
+ inset: 2px;
402
+ background: var(--px-checkbox-bg-color);
403
+ clip-path: var(--px-checkbox-pixel-corners);
404
+ z-index: 0;
405
+ }
406
+ /* Pixel checkmark */
407
+ .px-checkbox__tick {
408
+ position: relative;
409
+ z-index: 1;
410
+ width: 10px;
411
+ height: 10px;
412
+ opacity: 0;
413
+ /* Pixel-art checkmark (✓) via clip-path */
414
+ clip-path: polygon(
415
+ 15% 50%,
416
+ 35% 70%,
417
+ 85% 20%,
418
+ 85% 40%,
419
+ 35% 90%,
420
+ 15% 70%
421
+ );
422
+ background: var(--px-fill-color-blank);
423
+ }
424
+ /* Label */
425
+ .px-checkbox__label {
426
+ padding-left: 8px;
427
+ font-family: var(--px-font-family);
428
+ font-size: inherit;
429
+ line-height: 1.2;
430
+ color: var(--px-text-color-primary);
431
+ }
432
+ /* Type variants */
433
+ .px-checkbox--primary {
434
+ --px-checkbox-checked-color: var(--px-color-primary);
435
+ --px-checkbox-checked-border-color: var(--px-color-primary-dark);
436
+ }
437
+ .px-checkbox--primary.is-checked .px-checkbox__input {
438
+ filter: drop-shadow(
439
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-primary-dark)
440
+ );
441
+ }
442
+ .px-checkbox--success {
443
+ --px-checkbox-checked-color: var(--px-color-success);
444
+ --px-checkbox-checked-border-color: var(--px-color-success-dark);
445
+ }
446
+ .px-checkbox--success.is-checked .px-checkbox__input {
447
+ filter: drop-shadow(
448
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-success-dark)
449
+ );
450
+ }
451
+ .px-checkbox--info {
452
+ --px-checkbox-checked-color: var(--px-color-info);
453
+ --px-checkbox-checked-border-color: var(--px-color-info-dark);
454
+ }
455
+ .px-checkbox--info.is-checked .px-checkbox__input {
456
+ filter: drop-shadow(
457
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-info-dark)
458
+ );
459
+ }
460
+ .px-checkbox--warning {
461
+ --px-checkbox-checked-color: var(--px-color-warning);
462
+ --px-checkbox-checked-border-color: var(--px-color-warning-dark);
463
+ }
464
+ .px-checkbox--warning.is-checked .px-checkbox__input {
465
+ filter: drop-shadow(
466
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-warning-dark)
467
+ );
468
+ }
469
+ .px-checkbox--danger {
470
+ --px-checkbox-checked-color: var(--px-color-danger);
471
+ --px-checkbox-checked-border-color: var(--px-color-danger-dark);
472
+ }
473
+ .px-checkbox--danger.is-checked .px-checkbox__input {
474
+ filter: drop-shadow(
475
+ var(--px-shadow-offset-x) var(--px-shadow-offset-y) 0px var(--px-color-danger-dark)
476
+ );
477
+ }
478
+ /* Checkbox Group */
479
+ .px-checkbox-group {
480
+ display: inline-flex;
481
+ flex-wrap: wrap;
482
+ gap: 16px;
483
+ align-items: center;
484
+ }
@@ -0,0 +1,111 @@
1
+ /* Divider Variables */
2
+ .px-divider {
3
+ --px-divider-line-color: var(--px-border-color);
4
+ --px-divider-text-color: var(--px-text-color-regular);
5
+ }
6
+ /* Base Divider – Horizontal */
7
+ .px-divider {
8
+ display: flex;
9
+ align-items: center;
10
+ margin: 16px 0;
11
+ font-family: var(--px-font-family);
12
+ font-size: var(--px-font-size-small);
13
+ color: var(--px-divider-text-color);
14
+ }
15
+ .px-divider::before,
16
+ .px-divider::after {
17
+ content: "";
18
+ flex: 1;
19
+ height: 2px;
20
+ background: var(--px-divider-line-color);
21
+ }
22
+ /* Vertical mode */
23
+ .px-divider.is-vertical {
24
+ display: inline-flex;
25
+ flex-direction: column;
26
+ height: 1em;
27
+ margin: 0 8px;
28
+ vertical-align: middle;
29
+ }
30
+ .px-divider.is-vertical::before,
31
+ .px-divider.is-vertical::after {
32
+ flex: 1;
33
+ width: 2px;
34
+ height: auto;
35
+ }
36
+ /* Content text */
37
+ .px-divider__text {
38
+ padding: 0 12px;
39
+ white-space: nowrap;
40
+ line-height: 1;
41
+ }
42
+ /* Content position */
43
+ .px-divider--left::before {
44
+ flex: 0 0 5%;
45
+ }
46
+ .px-divider--right::after {
47
+ flex: 0 0 5%;
48
+ }
49
+ /* Border style – dashed (pixel pattern) */
50
+ .px-divider--dashed::before,
51
+ .px-divider--dashed::after {
52
+ background: repeating-linear-gradient(
53
+ to right,
54
+ var(--px-divider-line-color) 0px,
55
+ var(--px-divider-line-color) 6px,
56
+ transparent 6px,
57
+ transparent 12px
58
+ );
59
+ }
60
+ .px-divider--dashed.is-vertical::before,
61
+ .px-divider--dashed.is-vertical::after {
62
+ background: repeating-linear-gradient(
63
+ to bottom,
64
+ var(--px-divider-line-color) 0px,
65
+ var(--px-divider-line-color) 6px,
66
+ transparent 6px,
67
+ transparent 12px
68
+ );
69
+ }
70
+ /* Border style – dotted (pixel pattern) */
71
+ .px-divider--dotted::before,
72
+ .px-divider--dotted::after {
73
+ background: repeating-linear-gradient(
74
+ to right,
75
+ var(--px-divider-line-color) 0px,
76
+ var(--px-divider-line-color) 2px,
77
+ transparent 2px,
78
+ transparent 6px
79
+ );
80
+ }
81
+ .px-divider--dotted.is-vertical::before,
82
+ .px-divider--dotted.is-vertical::after {
83
+ background: repeating-linear-gradient(
84
+ to bottom,
85
+ var(--px-divider-line-color) 0px,
86
+ var(--px-divider-line-color) 2px,
87
+ transparent 2px,
88
+ transparent 6px
89
+ );
90
+ }
91
+ /* Type variants */
92
+ .px-divider--primary {
93
+ --px-divider-line-color: var(--px-color-primary);
94
+ --px-divider-text-color: var(--px-color-primary);
95
+ }
96
+ .px-divider--success {
97
+ --px-divider-line-color: var(--px-color-success);
98
+ --px-divider-text-color: var(--px-color-success);
99
+ }
100
+ .px-divider--info {
101
+ --px-divider-line-color: var(--px-color-info);
102
+ --px-divider-text-color: var(--px-color-info);
103
+ }
104
+ .px-divider--warning {
105
+ --px-divider-line-color: var(--px-color-warning);
106
+ --px-divider-text-color: var(--px-color-warning);
107
+ }
108
+ .px-divider--danger {
109
+ --px-divider-line-color: var(--px-color-danger);
110
+ --px-divider-text-color: var(--px-color-danger);
111
+ }