@jacshuo/onyx 0.2.1 → 1.0.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 (203) hide show
  1. package/README.md +144 -29
  2. package/README.zh-CN.md +745 -0
  3. package/dist/Accordion.cjs +1 -1
  4. package/dist/Accordion.d.cts +3 -1
  5. package/dist/Accordion.d.ts +3 -1
  6. package/dist/Accordion.js +1 -1
  7. package/dist/Alert.cjs +1 -1
  8. package/dist/Alert.js +1 -1
  9. package/dist/Badge.cjs +1 -1
  10. package/dist/Badge.d.cts +1 -1
  11. package/dist/Badge.d.ts +1 -1
  12. package/dist/Badge.js +1 -1
  13. package/dist/Button.cjs +1 -1
  14. package/dist/Button.js +1 -1
  15. package/dist/Card.cjs +1 -1
  16. package/dist/Card.d.cts +3 -1
  17. package/dist/Card.d.ts +3 -1
  18. package/dist/Card.js +1 -1
  19. package/dist/Checkbox.cjs +1 -1
  20. package/dist/Checkbox.js +1 -1
  21. package/dist/CodeBlock.cjs +1 -1
  22. package/dist/CodeBlock.js +1 -1
  23. package/dist/Dialog.cjs +1 -1
  24. package/dist/Dialog.d.cts +5 -2
  25. package/dist/Dialog.d.ts +5 -2
  26. package/dist/Dialog.js +1 -1
  27. package/dist/Dropdown.cjs +1 -1
  28. package/dist/Dropdown.d.cts +4 -0
  29. package/dist/Dropdown.d.ts +4 -0
  30. package/dist/Dropdown.js +1 -1
  31. package/dist/DropdownButton.cjs +1 -1
  32. package/dist/DropdownButton.d.cts +3 -1
  33. package/dist/DropdownButton.d.ts +3 -1
  34. package/dist/DropdownButton.js +1 -1
  35. package/dist/FileExplorer.cjs +1 -1
  36. package/dist/FileExplorer.js +1 -1
  37. package/dist/Form.cjs +1 -0
  38. package/dist/Form.d.cts +101 -0
  39. package/dist/Form.d.ts +101 -0
  40. package/dist/Form.js +1 -0
  41. package/dist/Header.cjs +1 -1
  42. package/dist/Header.d.cts +7 -1
  43. package/dist/Header.d.ts +7 -1
  44. package/dist/Header.js +1 -1
  45. package/dist/Indicator.cjs +1 -0
  46. package/dist/Indicator.d.cts +19 -0
  47. package/dist/Indicator.d.ts +19 -0
  48. package/dist/Indicator.js +1 -0
  49. package/dist/Input.cjs +1 -1
  50. package/dist/Input.js +1 -1
  51. package/dist/Label.cjs +1 -1
  52. package/dist/Label.js +1 -1
  53. package/dist/List.cjs +1 -1
  54. package/dist/List.d.cts +5 -2
  55. package/dist/List.d.ts +5 -2
  56. package/dist/List.js +1 -1
  57. package/dist/Masonry.cjs +1 -0
  58. package/dist/Masonry.d.cts +41 -0
  59. package/dist/Masonry.d.ts +41 -0
  60. package/dist/Masonry.js +1 -0
  61. package/dist/NavLink.cjs +1 -1
  62. package/dist/NavLink.js +1 -1
  63. package/dist/Panel.cjs +1 -1
  64. package/dist/Panel.js +1 -1
  65. package/dist/ProgressBar.cjs +1 -1
  66. package/dist/ProgressBar.js +1 -1
  67. package/dist/Radio.cjs +1 -1
  68. package/dist/Radio.d.cts +3 -1
  69. package/dist/Radio.d.ts +3 -1
  70. package/dist/Radio.js +1 -1
  71. package/dist/SideNav.cjs +1 -1
  72. package/dist/SideNav.d.cts +14 -1
  73. package/dist/SideNav.d.ts +14 -1
  74. package/dist/SideNav.js +1 -1
  75. package/dist/Spin.cjs +1 -1
  76. package/dist/Spin.js +1 -1
  77. package/dist/Switch.cjs +1 -1
  78. package/dist/Switch.js +1 -1
  79. package/dist/Table.cjs +1 -1
  80. package/dist/Table.d.cts +7 -3
  81. package/dist/Table.d.ts +7 -3
  82. package/dist/Table.js +1 -1
  83. package/dist/Tabs.cjs +1 -1
  84. package/dist/Tabs.d.cts +3 -1
  85. package/dist/Tabs.d.ts +3 -1
  86. package/dist/Tabs.js +1 -1
  87. package/dist/Tooltip.cjs +1 -1
  88. package/dist/Tooltip.d.cts +3 -1
  89. package/dist/Tooltip.d.ts +3 -1
  90. package/dist/Tooltip.js +1 -1
  91. package/dist/Tree.cjs +1 -1
  92. package/dist/Tree.d.cts +3 -1
  93. package/dist/Tree.d.ts +3 -1
  94. package/dist/Tree.js +1 -1
  95. package/dist/chunks/chunk-2JLNRAXS.cjs +1 -0
  96. package/dist/chunks/{chunk-GT56J65P.cjs → chunk-2KVAFCQI.cjs} +1 -1
  97. package/dist/chunks/chunk-3I7Y6FUJ.js +1 -0
  98. package/dist/chunks/chunk-47UMFXDG.js +1 -0
  99. package/dist/chunks/{chunk-GW4C7AV6.cjs → chunk-4D3XBPZX.cjs} +2 -2
  100. package/dist/chunks/{chunk-DCWKY33F.js → chunk-4VFV5U3S.js} +1 -1
  101. package/dist/chunks/{chunk-7DM4FEFY.js → chunk-5FUEJFGY.js} +1 -1
  102. package/dist/chunks/chunk-5XT6TJGF.js +1 -0
  103. package/dist/chunks/{chunk-SJ2HIDEM.cjs → chunk-6BI4QL37.cjs} +1 -1
  104. package/dist/chunks/{chunk-LCLJVRKK.cjs → chunk-6E5ARQBB.cjs} +1 -1
  105. package/dist/chunks/chunk-7CEOIZXK.js +1 -0
  106. package/dist/chunks/chunk-7XPIY2SQ.cjs +1 -0
  107. package/dist/chunks/chunk-A6HIQADJ.cjs +1 -0
  108. package/dist/chunks/{chunk-NFRGBE42.cjs → chunk-AEBULFON.cjs} +1 -1
  109. package/dist/chunks/chunk-AK5IK7ZD.js +1 -0
  110. package/dist/chunks/chunk-AN2R5URJ.js +1 -0
  111. package/dist/chunks/{chunk-3B5OL3PD.cjs → chunk-BTR2N5MO.cjs} +2 -2
  112. package/dist/chunks/{chunk-24YBOQFV.cjs → chunk-BUNOVZ23.cjs} +1 -1
  113. package/dist/chunks/chunk-CEEQE7SY.js +1 -0
  114. package/dist/chunks/chunk-CMHBPMXE.js +1 -0
  115. package/dist/chunks/chunk-DWYAPPDB.cjs +1 -0
  116. package/dist/chunks/chunk-E3DST3QD.cjs +1 -0
  117. package/dist/chunks/{chunk-PC4PVKTK.js → chunk-E4EMAZ6V.js} +2 -2
  118. package/dist/chunks/chunk-E5UKEXJE.js +1 -0
  119. package/dist/chunks/{chunk-A7SZGBY2.cjs → chunk-FDTREGBQ.cjs} +1 -1
  120. package/dist/chunks/chunk-FGUFBTKI.cjs +1 -0
  121. package/dist/chunks/{chunk-K4UGTWDR.js → chunk-FQZX67Z7.js} +1 -1
  122. package/dist/chunks/chunk-G2VO67XY.js +1 -0
  123. package/dist/chunks/{chunk-6DR7FZ4Y.js → chunk-GYFFUCBT.js} +1 -1
  124. package/dist/chunks/chunk-I425OSJL.js +1 -0
  125. package/dist/chunks/chunk-ICDAUJ2G.cjs +1 -0
  126. package/dist/chunks/chunk-IFRKP7M2.js +1 -0
  127. package/dist/chunks/chunk-IHBP6FI4.js +1 -0
  128. package/dist/chunks/{chunk-XOZYC6XB.cjs → chunk-IL5XDMUA.cjs} +1 -1
  129. package/dist/chunks/chunk-IRSGPS7D.cjs +1 -0
  130. package/dist/chunks/chunk-ITWFMFVO.js +1 -0
  131. package/dist/chunks/chunk-JJP23IOG.cjs +1 -0
  132. package/dist/chunks/chunk-JRYYWYGV.cjs +1 -0
  133. package/dist/chunks/chunk-KCIICUZN.cjs +1 -0
  134. package/dist/chunks/chunk-KGRBVUVK.cjs +1 -0
  135. package/dist/chunks/chunk-KY4NDB23.cjs +1 -0
  136. package/dist/chunks/chunk-KZBYFKOH.js +1 -0
  137. package/dist/chunks/chunk-LFJEIO3X.cjs +1 -0
  138. package/dist/chunks/chunk-NY27TTWN.js +1 -0
  139. package/dist/chunks/chunk-OEXZGLB4.js +1 -0
  140. package/dist/chunks/chunk-QC67HOC2.cjs +1 -0
  141. package/dist/chunks/chunk-QLFCH4TD.js +1 -0
  142. package/dist/chunks/chunk-RPBESM5F.cjs +1 -0
  143. package/dist/chunks/{chunk-KG3IXPCM.js → chunk-SC4PNYQT.js} +1 -1
  144. package/dist/chunks/chunk-SLHD7PST.cjs +1 -0
  145. package/dist/chunks/chunk-UEGTVAFV.cjs +1 -0
  146. package/dist/chunks/chunk-V34PT6H4.cjs +1 -0
  147. package/dist/chunks/chunk-VUWT3NFR.js +1 -0
  148. package/dist/chunks/{chunk-A7BECCRP.cjs → chunk-W5UXZVLS.cjs} +1 -1
  149. package/dist/chunks/chunk-WQOSJM7L.js +2 -0
  150. package/dist/chunks/chunk-WRPPKNRG.js +1 -0
  151. package/dist/chunks/chunk-XAOBJSFW.js +1 -0
  152. package/dist/chunks/{chunk-EQXC34N2.cjs → chunk-XK7SMEDO.cjs} +1 -1
  153. package/dist/chunks/chunk-XO6CNALX.js +1 -0
  154. package/dist/chunks/chunk-ZY7GZOBS.js +1 -0
  155. package/dist/index.cjs +1 -1
  156. package/dist/index.d.cts +4 -1
  157. package/dist/index.d.ts +4 -1
  158. package/dist/index.js +1 -1
  159. package/dist/styles/base.css +513 -8
  160. package/dist/styles/tokens.css +159 -0
  161. package/dist/styles.css +607 -8
  162. package/dist/theme.cjs +1 -1
  163. package/dist/theme.d.cts +32 -1
  164. package/dist/theme.d.ts +32 -1
  165. package/dist/theme.js +1 -1
  166. package/package.json +1 -1
  167. package/dist/chunks/chunk-2TTIBHQ3.js +0 -1
  168. package/dist/chunks/chunk-64BRBJ5M.js +0 -1
  169. package/dist/chunks/chunk-7PD2UMAG.cjs +0 -1
  170. package/dist/chunks/chunk-7QV2AV32.cjs +0 -1
  171. package/dist/chunks/chunk-BGUKKSPF.js +0 -1
  172. package/dist/chunks/chunk-GQDGQUKK.js +0 -1
  173. package/dist/chunks/chunk-H35HQKON.js +0 -2
  174. package/dist/chunks/chunk-H6MHL66N.js +0 -1
  175. package/dist/chunks/chunk-HFHOE2PH.cjs +0 -1
  176. package/dist/chunks/chunk-HR4MRHSX.js +0 -1
  177. package/dist/chunks/chunk-HSLG4VVI.cjs +0 -1
  178. package/dist/chunks/chunk-HSWWY3SE.cjs +0 -1
  179. package/dist/chunks/chunk-I327TE7P.js +0 -1
  180. package/dist/chunks/chunk-IPPWOV6D.js +0 -1
  181. package/dist/chunks/chunk-KVV5ZEYV.cjs +0 -1
  182. package/dist/chunks/chunk-LZZTFSBF.js +0 -1
  183. package/dist/chunks/chunk-MSBDCLPM.cjs +0 -1
  184. package/dist/chunks/chunk-MVGDKSBE.js +0 -1
  185. package/dist/chunks/chunk-NI2HVXR2.js +0 -1
  186. package/dist/chunks/chunk-NXWDOFPX.cjs +0 -1
  187. package/dist/chunks/chunk-NYTZZ5ZX.cjs +0 -1
  188. package/dist/chunks/chunk-OMBYGQJE.cjs +0 -1
  189. package/dist/chunks/chunk-P652JDOU.cjs +0 -1
  190. package/dist/chunks/chunk-Q53OOZJ3.cjs +0 -1
  191. package/dist/chunks/chunk-R7ZKMSZ3.js +0 -1
  192. package/dist/chunks/chunk-SCSMM2J4.js +0 -1
  193. package/dist/chunks/chunk-SKZIAHHY.cjs +0 -1
  194. package/dist/chunks/chunk-T3WU6A7R.js +0 -1
  195. package/dist/chunks/chunk-VHOOZBWZ.js +0 -1
  196. package/dist/chunks/chunk-W2JIAB3E.js +0 -1
  197. package/dist/chunks/chunk-WL4AMFUA.cjs +0 -1
  198. package/dist/chunks/chunk-WQA7PVJO.js +0 -1
  199. package/dist/chunks/chunk-X3PUHNVJ.js +0 -1
  200. package/dist/chunks/chunk-X4OS5ODF.cjs +0 -1
  201. package/dist/chunks/chunk-XOO3AGIT.js +0 -1
  202. package/dist/chunks/chunk-YWD2VK35.js +0 -1
  203. package/dist/chunks/chunk-ZEHGTD6Y.cjs +0 -1
@@ -62,6 +62,10 @@
62
62
 
63
63
  --animate-fade-in: fade-in 150ms ease-out;
64
64
  --animate-scale-in: scale-in 200ms ease-out;
65
+ --animate-dropdown-item-in: dropdown-item-in 200ms ease-out both;
66
+ --animate-dropdown-item-out: dropdown-item-out 150ms ease-in both;
67
+ --animate-dropdown-container-in: dropdown-container-in 150ms ease-out both;
68
+ --animate-dropdown-container-out: dropdown-container-out 120ms ease-in both;
65
69
  --animate-slide-in-right: slide-in-right 300ms ease-out;
66
70
  --animate-slide-in-left: slide-in-left 300ms ease-out;
67
71
  --animate-slide-in-top: slide-in-top 300ms ease-out;
@@ -70,6 +74,7 @@
70
74
  --animate-progress-shine: progress-shine 2s ease-in-out infinite;
71
75
  --animate-spin-rotate: spin-rotate 1.4s linear infinite;
72
76
  --animate-spin-dash: spin-dash 1.4s ease-in-out infinite;
77
+ --animate-masonry-ripple: masonry-ripple 0.6s ease-out forwards;
73
78
 
74
79
  /* ── Syntax highlighting (semantic) ─────────────────── */
75
80
  --color-syntax-keyword: var(--color-primary-600);
@@ -114,6 +119,28 @@
114
119
  to { opacity: 1; transform: scale(1); }
115
120
  }
116
121
 
122
+ /* Dropdown item domino: flip from top edge (rotateX) + fade */
123
+ @keyframes dropdown-item-in {
124
+ from { opacity: 0; transform: perspective(400px) rotateX(-50deg); transform-origin: top center; }
125
+ to { opacity: 1; transform: perspective(400px) rotateX(0deg); transform-origin: top center; }
126
+ }
127
+
128
+ @keyframes dropdown-item-out {
129
+ from { opacity: 1; transform: perspective(400px) rotateX(0deg); transform-origin: top center; }
130
+ to { opacity: 0; transform: perspective(400px) rotateX(-50deg); transform-origin: top center; }
131
+ }
132
+
133
+ /* Dropdown container fade+scale */
134
+ @keyframes dropdown-container-in {
135
+ from { opacity: 0; transform: scaleY(0.96); transform-origin: top center; }
136
+ to { opacity: 1; transform: scaleY(1); transform-origin: top center; }
137
+ }
138
+
139
+ @keyframes dropdown-container-out {
140
+ from { opacity: 1; transform: scaleY(1); transform-origin: top center; }
141
+ to { opacity: 0; transform: scaleY(0.96); transform-origin: top center; }
142
+ }
143
+
117
144
  @keyframes slide-in-right {
118
145
  from { opacity: 0; transform: translateX(100%); }
119
146
  to { opacity: 1; transform: translateX(0); }
@@ -185,3 +212,135 @@
185
212
  }
186
213
  100% { background-image: none; }
187
214
  }
215
+
216
+ /* ── Accordion size tokens ───────────────────────────── */
217
+ :root {
218
+ --accordion-trigger-py-sm: 0.375rem;
219
+ --accordion-trigger-py-md: 0.75rem;
220
+ --accordion-trigger-py-lg: 1rem;
221
+ --accordion-content-pb-sm: 0.375rem;
222
+ --accordion-content-pb-md: 0.75rem;
223
+ --accordion-content-pb-lg: 1rem;
224
+ --accordion-trigger-text-sm: 0.75rem;
225
+ --accordion-trigger-text-md: 0.875rem;
226
+ --accordion-trigger-text-lg: 1rem;
227
+ --accordion-content-text-sm: 0.75rem;
228
+ --accordion-content-text-md: 0.875rem;
229
+ --accordion-content-text-lg: 1rem;
230
+ }
231
+
232
+ /* ── Badge size tokens ───────────────────────────────── */
233
+ :root {
234
+ --badge-px-sm: 0.375rem;
235
+ --badge-px-md: 0.625rem;
236
+ --badge-px-lg: 0.75rem;
237
+ --badge-py-sm: 0px;
238
+ --badge-py-md: 0.125rem;
239
+ --badge-py-lg: 0.25rem;
240
+ --badge-text-sm: 0.625rem;
241
+ --badge-text-md: 0.75rem;
242
+ --badge-text-lg: 0.875rem;
243
+ --badge-icon-sm: 0.625rem;
244
+ --badge-icon-md: 0.75rem;
245
+ --badge-icon-lg: 0.875rem;
246
+ }
247
+
248
+ /* ── List size tokens ────────────────────────────────── */
249
+ :root {
250
+ --list-item-py-sm: 0.25rem;
251
+ --list-item-py-md: 0.375rem;
252
+ --list-item-py-lg: 0.5rem;
253
+ --list-item-text-sm: 0.75rem;
254
+ --list-item-text-md: 0.875rem;
255
+ --list-item-text-lg: 1rem;
256
+ --list-item-icon-sm: 0.75rem;
257
+ --list-item-icon-md: 0.875rem;
258
+ --list-item-icon-lg: 1rem;
259
+ }
260
+
261
+ /* ── Tree size tokens ────────────────────────────────── */
262
+ :root {
263
+ --tree-item-py-sm: 0.125rem;
264
+ --tree-item-py-md: 0.25rem;
265
+ --tree-item-py-lg: 0.375rem;
266
+ --tree-item-text-sm: 0.75rem;
267
+ --tree-item-text-md: 0.875rem;
268
+ --tree-item-text-lg: 1rem;
269
+ --tree-item-icon-sm: 0.875rem;
270
+ --tree-item-icon-md: 1rem;
271
+ --tree-item-icon-lg: 1.125rem;
272
+ }
273
+
274
+ /* ── Header tokens ───────────────────────────────────── */
275
+ :root {
276
+ --header-mobile-bg: theme(colors.white);
277
+ --header-mobile-border: theme(colors.primary.200);
278
+ }
279
+ .dark {
280
+ --header-mobile-bg: theme(colors.primary.900);
281
+ --header-mobile-border: theme(colors.primary.700);
282
+ }
283
+
284
+ /* ── Table density tokens ────────────────────────────── */
285
+ :root {
286
+ --table-cell-px-compact: 0.5rem;
287
+ --table-cell-py-compact: 0.25rem;
288
+ --table-cell-px-default: 1rem;
289
+ --table-cell-py-default: 0.75rem;
290
+ --table-cell-px-relaxed: 1.5rem;
291
+ --table-cell-py-relaxed: 1.25rem;
292
+ }
293
+
294
+ /* ── Tooltip tokens ──────────────────────────────────── */
295
+ :root {
296
+ --tooltip-max-width: 16rem;
297
+ }
298
+
299
+ /* ── Toast tokens ────────────────────────────────────── */
300
+ :root {
301
+ --toast-width: 20rem;
302
+ }
303
+
304
+ /* ── Dialog bottom-sheet tokens ──────────────────────── */
305
+ :root {
306
+ --dialog-sheet-radius: 0.75rem;
307
+ }
308
+
309
+ /* ── Form / FormItem tokens ──────────────────────────── */
310
+ :root {
311
+ /* label column width in "inline" layout */
312
+ --form-label-w-sm: 5rem;
313
+ --form-label-w-md: 7rem;
314
+ --form-label-w-lg: 9rem;
315
+
316
+ /* row gap between label and control */
317
+ --form-item-gap-sm: 0.5rem;
318
+ --form-item-gap-md: 0.75rem;
319
+ --form-item-gap-lg: 1rem;
320
+
321
+ /* vertical gap between FormItems */
322
+ --form-row-gap-sm: 0.75rem;
323
+ --form-row-gap-md: 1.25rem;
324
+ --form-row-gap-lg: 1.75rem;
325
+
326
+ /* validation message text sizes */
327
+ --form-hint-text: 0.75rem; /* text-xs */
328
+
329
+ /* section spacing */
330
+ --form-header-mb: 1.5rem;
331
+ --form-footer-pt: 1.5rem;
332
+ --form-footer-gap: 0.5rem;
333
+
334
+ /* form border radius */
335
+ --form-radius: 0.5rem;
336
+
337
+ /* row actions — minimum tap target on touch devices */
338
+ --row-action-touch-min: 2.25rem;
339
+ }
340
+
341
+ /* ── Indicator tokens ────────────────────────────────── */
342
+ :root {
343
+ --indicator-dot-size-sm: 0.375rem; /* 6px */
344
+ --indicator-dot-size-md: 0.5rem; /* 8px */
345
+ --indicator-dot-size-lg: 0.625rem; /* 10px */
346
+ }