@beehexa/design-rules 2611.3.2 → 2611.4.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 (68) hide show
  1. package/README.md +1 -1
  2. package/dist/AGENTS.md +1 -7
  3. package/dist/catalog.json +153 -125
  4. package/dist/docs/scripts/color-pairs.mjs +5 -1
  5. package/dist/docs/scripts/token-utils.mjs +16 -1
  6. package/dist/docs/src/components/ColorDemo.astro +5 -5
  7. package/dist/docs/src/components/ElevationDemo.astro +196 -0
  8. package/dist/docs/src/components/LayoutDemo.astro +1 -1
  9. package/dist/docs/src/components/OpacityDemo.astro +95 -0
  10. package/dist/docs/src/components/ShapeDemo.astro +11 -10
  11. package/dist/docs/src/components/ShapePin.astro +5 -3
  12. package/dist/docs/src/components/ZIndexDemo.astro +102 -0
  13. package/dist/docs/src/content/foundations/styles/border.mdx +3 -3
  14. package/dist/docs/src/content/foundations/styles/color/usage.mdx +11 -4
  15. package/dist/docs/src/content/foundations/styles/data-visualization.mdx +74 -6
  16. package/dist/docs/src/content/foundations/styles/elevation.mdx +66 -3
  17. package/dist/docs/src/content/foundations/styles/icons/usage.mdx +9 -6
  18. package/dist/docs/src/content/foundations/styles/layout/app-frame.mdx +10 -0
  19. package/dist/docs/src/content/foundations/styles/opacity.mdx +43 -5
  20. package/dist/docs/src/content/foundations/styles/size-and-density.mdx +7 -0
  21. package/dist/docs/src/content/foundations/styles/typography/code.mdx +1 -1
  22. package/dist/docs/src/content/foundations/styles/z-index.mdx +63 -5
  23. package/dist/docs/src/content/tools/ant-design-vue-theme.mdx +125 -18
  24. package/dist/docs/src/content/tools/application-content.mdx +42 -0
  25. package/dist/docs/src/content/tools/editors.mdx +27 -0
  26. package/dist/docs/src/content/tools/mermaid.mdx +95 -0
  27. package/dist/docs/src/content/tools/vueflow.mdx +121 -0
  28. package/dist/docs/src/content-vi/foundations/styles/border.mdx +3 -3
  29. package/dist/docs/src/content-vi/foundations/styles/color/usage.mdx +11 -4
  30. package/dist/docs/src/content-vi/foundations/styles/data-visualization.mdx +75 -6
  31. package/dist/docs/src/content-vi/foundations/styles/elevation.mdx +75 -0
  32. package/dist/docs/src/content-vi/foundations/styles/icons/usage.mdx +9 -6
  33. package/dist/docs/src/content-vi/foundations/styles/layout/app-frame.mdx +10 -0
  34. package/dist/docs/src/content-vi/foundations/styles/opacity.mdx +43 -5
  35. package/dist/docs/src/content-vi/foundations/styles/size-and-density.mdx +7 -0
  36. package/dist/docs/src/content-vi/foundations/styles/typography/code.mdx +1 -1
  37. package/dist/docs/src/content-vi/foundations/styles/z-index.mdx +63 -5
  38. package/dist/docs/src/lib/token-descriptions-vi.ts +21 -5
  39. package/dist/docs/src/styles/chrome.css +14 -14
  40. package/dist/docs/src/styles/color.css +19 -32
  41. package/dist/docs/src/styles/docs.css +18 -34
  42. package/dist/docs/src/styles/elevation.css +83 -0
  43. package/dist/docs/src/styles/global.css +1 -10
  44. package/dist/docs/src/styles/icons.css +11 -15
  45. package/dist/docs/src/styles/kit.css +112 -0
  46. package/dist/docs/src/styles/layout.css +1 -6
  47. package/dist/docs/src/styles/opacity.css +43 -0
  48. package/dist/docs/src/styles/shapes.css +15 -19
  49. package/dist/docs/src/styles/tokens.css +1282 -3
  50. package/dist/docs/src/styles/tokens.js +358 -3
  51. package/dist/docs/src/styles/typography.css +4 -7
  52. package/dist/docs/src/styles/zindex.css +56 -0
  53. package/dist/docs/tokens/border.json +1 -1
  54. package/dist/docs/tokens/color.json +57 -3
  55. package/dist/docs/tokens/content.json +19 -0
  56. package/dist/docs/tokens/diagram.json +48 -0
  57. package/dist/docs/tokens/editor.json +129 -0
  58. package/dist/docs/tokens/elevation.json +15 -5
  59. package/dist/docs/tokens/flow.json +497 -0
  60. package/dist/docs/tokens/opacity.json +9 -0
  61. package/dist/docs/tokens/resize.json +67 -0
  62. package/dist/docs/tokens/size.json +6 -0
  63. package/dist/docs/tokens/spacing.json +4 -4
  64. package/dist/docs/tokens/typography.json +5 -0
  65. package/dist/docs/tokens/visualization.json +123 -0
  66. package/dist/docs/tokens/z-index.json +49 -0
  67. package/dist/index.js +153 -125
  68. package/package.json +6 -1
@@ -153,6 +153,11 @@ export const tokens = {
153
153
  "color.surface": "#ffffff",
154
154
  "color.surface.page": "#ffffff",
155
155
  "color.surface.subtle": "#f8f8f8",
156
+ "color.surface.overlay": "#ffffff",
157
+ "color.surface.overlay.hover": "#f8f8f8",
158
+ "color.surface.overlay.pressed": "#f2f2f1",
159
+ "color.surface.overlay.selected": "#f2f2f1",
160
+ "color.surface.overlay.selected.hover": "#e8e8e7",
156
161
  "color.surface.inverse": "#2b2a28",
157
162
  "color.surface.scrim": "rgb(43 42 40 / 40%)",
158
163
  "color.border": "#d0cfce",
@@ -174,8 +179,156 @@ export const tokens = {
174
179
  "color.skeleton.subtle": "#f2f2f1",
175
180
  "color.code.background": "#2b2a28",
176
181
  "color.code.text": "#f8f8f8",
182
+ "content.partner-logo.size": "2.5rem",
183
+ "content.partner-logo.image-size": "1.75rem",
184
+ "content.avatar.size": "2.5rem",
185
+ "content.identity-mark.size": "2.75rem",
186
+ "content.identity-mark.image-size": "1.5rem",
187
+ "content.empty-illustration.size": "6rem",
188
+ "diagram.canvas": "#ffffff",
189
+ "diagram.node-fill": "#ffffff",
190
+ "diagram.node-border": "#878582",
191
+ "diagram.node-title": "#2b2a28",
192
+ "diagram.node-desc": "#494846",
193
+ "diagram.tile-bg": "#f2f2f1",
194
+ "diagram.tile-glyph": "#494846",
195
+ "diagram.state-ran-ok": "#494846",
196
+ "diagram.ran-ok-fill": "#ffffff",
197
+ "diagram.fail-stroke": "#d83b39",
198
+ "diagram.fail-fill": "#feebe9",
199
+ "diagram.fail-title": "#9b1e20",
200
+ "diagram.fail-desc": "#9b1e20",
201
+ "diagram.unreached-fill": "#f8f8f8",
202
+ "diagram.unreached-stroke": "#878582",
203
+ "diagram.unreached-title": "#494846",
204
+ "diagram.unreached-desc": "#494846",
205
+ "diagram.nottaken-stroke": "#494846",
206
+ "diagram.nottaken-fill": "#ffffff",
207
+ "diagram.nottaken-title": "#2b2a28",
208
+ "diagram.nottaken-desc": "#494846",
209
+ "diagram.badge-bg": "#ffffff",
210
+ "diagram.badge-text": "#494846",
211
+ "diagram.badge-border": "#878582",
212
+ "diagram.edge": "#878582",
213
+ "diagram.edge-label-text": "#494846",
214
+ "diagram.edge-label-bg": "#ffffff",
215
+ "diagram.panel-bg": "#ffffff",
216
+ "diagram.panel-border": "#d0cfce",
217
+ "diagram.code-bg": "#ffffff",
218
+ "diagram.code-key": "#494846",
219
+ "diagram.code-value": "#2b2a28",
220
+ "diagram.selection-ring": "#005195",
221
+ "diagram.node-font": "400 0.875rem/1.25rem Inter, \"Noto Sans\", system-ui, sans-serif",
222
+ "diagram.card-width": "15rem",
223
+ "diagram.tile-size": "2.75rem",
224
+ "diagram.glyph-size": "2rem",
225
+ "diagram.preview-height": "45rem",
226
+ "diagram.minimum-height": "20rem",
227
+ "diagram.evidence-height": "13.75rem",
228
+ "diagram.evidence-minimum-height": "12rem",
229
+ "diagram.padding": "0.5rem",
230
+ "diagram.export-padding": "1.5rem",
231
+ "editor.background": "#ffffff",
232
+ "editor.text": "#2b2a28",
233
+ "editor.gutter": "#f8f8f8",
234
+ "editor.lineNumber": "#676663",
235
+ "editor.selection": "#f2f2f1",
236
+ "editor.lineHighlight": "#f8f8f8",
237
+ "editor.cursor": "#2b2a28",
238
+ "editor.border": "#d0cfce",
239
+ "editor.syntax.comment": "#676663",
240
+ "editor.syntax.string": "#005c3a",
241
+ "editor.syntax.number": "#8a3600",
242
+ "editor.syntax.keyword": "#005195",
243
+ "editor.syntax.type": "#2b2a28",
244
+ "editor.syntax.delimiter": "#494846",
245
+ "editor.diff.inserted.background": "#e6f6eb",
246
+ "editor.diff.inserted.text": "#005c3a",
247
+ "editor.diff.removed.background": "#feebe9",
248
+ "editor.diff.removed.text": "#9b1e20",
249
+ "editor.font.family": "\"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
250
+ "editor.font.size": "0.875rem",
251
+ "editor.font.lineHeight": "1.25rem",
252
+ "editor.font.weight": "400",
177
253
  "elevation.shadow.raised": "0 1px 2px rgb(43 42 40 / 8%), 0 1px 3px rgb(43 42 40 / 6%)",
178
- "elevation.shadow.overlay": "0 24px 80px rgb(43 42 40 / 14%)",
254
+ "elevation.shadow.overlay": "0 4px 12px rgb(43 42 40 / 15%)",
255
+ "elevation.shadow.modal": "0 8px 24px rgb(43 42 40 / 15%)",
256
+ "flow.category.task.foreground": "#005195",
257
+ "flow.category.task.background": "#e6f4fe",
258
+ "flow.category.task.border": "#0077d5",
259
+ "flow.category.task.hover": "#d5efff",
260
+ "flow.category.dependency.foreground": "#9b1e20",
261
+ "flow.category.dependency.background": "#feebe9",
262
+ "flow.category.dependency.border": "#d83b39",
263
+ "flow.category.dependency.hover": "#ffdbd7",
264
+ "flow.category.transformation.foreground": "#005c3a",
265
+ "flow.category.transformation.background": "#e6f6eb",
266
+ "flow.category.transformation.border": "#008753",
267
+ "flow.category.transformation.hover": "#d6f1df",
268
+ "flow.category.validation.foreground": "#9b1e20",
269
+ "flow.category.validation.background": "#feebe9",
270
+ "flow.category.validation.border": "#9b1e20",
271
+ "flow.category.validation.hover": "#ffdbd7",
272
+ "flow.category.pushStep.foreground": "#764400",
273
+ "flow.category.pushStep.background": "#fff1bd",
274
+ "flow.category.pushStep.border": "#a96700",
275
+ "flow.category.pushStep.hover": "#ffe59c",
276
+ "flow.category.decision.foreground": "#087f8c",
277
+ "flow.category.decision.background": "#e8f8fa",
278
+ "flow.category.decision.border": "#087f8c",
279
+ "flow.category.decision.hover": "#e8f8fa",
280
+ "flow.category.loop.foreground": "#ad2171",
281
+ "flow.category.loop.background": "#fcecf5",
282
+ "flow.category.loop.border": "#ad2171",
283
+ "flow.category.loop.hover": "#fcecf5",
284
+ "flow.category.grouped.foreground": "#7040a0",
285
+ "flow.category.grouped.background": "#f3ecfa",
286
+ "flow.category.grouped.border": "#7040a0",
287
+ "flow.category.grouped.hover": "#f3ecfa",
288
+ "flow.geometry.task.width": "450px",
289
+ "flow.geometry.task.height": "130px",
290
+ "flow.geometry.task_dependency.width": "450px",
291
+ "flow.geometry.task_dependency.height": "130px",
292
+ "flow.geometry.task_transformation.width": "450px",
293
+ "flow.geometry.task_transformation.height": "130px",
294
+ "flow.geometry.task_data.width": "450px",
295
+ "flow.geometry.task_data.height": "130px",
296
+ "flow.geometry.validationGroup.width": "350px",
297
+ "flow.geometry.validationGroup.height": "130px",
298
+ "flow.geometry.transformationGroup.width": "350px",
299
+ "flow.geometry.transformationGroup.height": "130px",
300
+ "flow.geometry.pushStepsGroup.width": "350px",
301
+ "flow.geometry.pushStepsGroup.height": "130px",
302
+ "flow.geometry.validation.width": "200px",
303
+ "flow.geometry.validation.height": "130px",
304
+ "flow.geometry.transformation.width": "200px",
305
+ "flow.geometry.transformation.height": "130px",
306
+ "flow.geometry.push_step.width": "200px",
307
+ "flow.geometry.push_step.height": "130px",
308
+ "flow.geometry.decision.width": "160px",
309
+ "flow.geometry.decision.height": "160px",
310
+ "flow.geometry.loop.width": "120px",
311
+ "flow.geometry.loop.height": "120px",
312
+ "flow.geometry.profile.width": "240px",
313
+ "flow.geometry.profile.height": "100px",
314
+ "flow.grid.HORIZONTAL": "80px",
315
+ "flow.grid.VERTICAL": "40px",
316
+ "flow.grid.TASK_DATA_X_GAP": "300px",
317
+ "flow.grid.GROUP_Y_OFFSET": "200px",
318
+ "flow.layout.VALIDATION_NODE_Y_GAP": "100px",
319
+ "flow.layout.TRANSFORMATION_NODE_Y_GAP": "100px",
320
+ "flow.layout.PUSH_STEP_NODE_Y_GAP": "80px",
321
+ "flow.layout.PUSH_STEP_NODE_X_GAP": "120px",
322
+ "flow.layout.PUSH_STEP_BRANCH_X_GAP": "200px",
323
+ "flow.layout.EXPANDED_GROUP_X": "50px",
324
+ "flow.layout.EXPANDED_GROUP_Y_START": "50px",
325
+ "flow.layout.TREE_LEVEL_Y_GAP": "150px",
326
+ "flow.layout.TREE_SIBLING_X_GAP": "250px",
327
+ "flow.layout.TREE_MIN_WIDTH": "200px",
328
+ "flow.edge.width": "2px",
329
+ "flow.edge.marker": "15px",
330
+ "flow.edge.radius": "20px",
331
+ "flow.edge.handle": "12px",
179
332
  "layout.header.height": "3rem",
180
333
  "layout.sidebar.expanded": "17.5rem",
181
334
  "layout.sidebar.collapsed": "4rem",
@@ -192,6 +345,7 @@ export const tokens = {
192
345
  "motion.duration.default": "200ms",
193
346
  "motion.duration.slow": "300ms",
194
347
  "motion.easing.standard": "cubic-bezier(0.2, 0, 0, 1)",
348
+ "opacity.disabled": "0.4",
195
349
  "radius.0": "0",
196
350
  "radius.100": "0.5rem",
197
351
  "radius.150": "0.75rem",
@@ -200,6 +354,22 @@ export const tokens = {
200
354
  "radius.050": "0.25rem",
201
355
  "radius.075": "0.375rem",
202
356
  "radius.full": "999px",
357
+ "resize.divider": "4px",
358
+ "resize.target": "1.5rem",
359
+ "resize.touchTarget": "2.75rem",
360
+ "resize.handle.width": "1rem",
361
+ "resize.handle.height": "2rem",
362
+ "resize.handle.radius": "0.25rem",
363
+ "resize.handle.background": "#ffffff",
364
+ "resize.handle.activeBackground": "#2b2a28",
365
+ "resize.color": "#878582",
366
+ "resize.active": "#005195",
367
+ "resize.grip": "#494846",
368
+ "resize.activeGrip": "#fdfdfc",
369
+ "size.icon.default": "1rem",
370
+ "size.icon.medium": "1.25rem",
371
+ "size.icon.large": "1.5rem",
372
+ "size.icon.empty": "2rem",
203
373
  "size.control.small": "1.5rem",
204
374
  "size.control.default": "2rem",
205
375
  "size.control.large": "2.5rem",
@@ -220,6 +390,7 @@ export const tokens = {
220
390
  "space.050": "0.25rem",
221
391
  "space.075": "0.375rem",
222
392
  "state.focus.offset": "2px",
393
+ "font.features": "\"cv05\", \"cv08\"",
223
394
  "font.family.sans": "Inter, \"Noto Sans\", system-ui, sans-serif",
224
395
  "font.family.mono": "\"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
225
396
  "font.size.100": "0.75rem",
@@ -248,7 +419,66 @@ export const tokens = {
248
419
  "font.body.small": "400 0.75rem/1rem Inter, \"Noto Sans\", system-ui, sans-serif",
249
420
  "font.label.default": "500 0.875rem/1.25rem Inter, \"Noto Sans\", system-ui, sans-serif",
250
421
  "font.label.small": "500 0.75rem/1rem Inter, \"Noto Sans\", system-ui, sans-serif",
251
- "font.code.default": "400 0.875rem/1.25rem \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"
422
+ "font.code.default": "400 0.875rem/1.25rem \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
423
+ "visualization.metric.total-jobs": "#005195",
424
+ "visualization.metric.success-rate": "#005c3a",
425
+ "visualization.metric.completed": "#005c3a",
426
+ "visualization.metric.failed": "#9b1e20",
427
+ "visualization.metric.active-jobs": "#005195",
428
+ "visualization.metric.avg-execution-time": "#494846",
429
+ "visualization.metric.queue-depth": "#2b2a28",
430
+ "visualization.job-type.queue-status": "#005195",
431
+ "visualization.job-type.sync-history": "#005c3a",
432
+ "visualization.job-type.polling-jobs": "#8a3600",
433
+ "visualization.job-type.generic-jobs": "#494846",
434
+ "visualization.priority.1": "#9b1e20",
435
+ "visualization.priority.2": "#8a3600",
436
+ "visualization.priority.3": "#005195",
437
+ "visualization.priority.4": "#494846",
438
+ "visualization.priority.5": "#676663",
439
+ "visualization.traffic.healthy.fill": "#e6f6eb",
440
+ "visualization.traffic.healthy.outline": "#008753",
441
+ "visualization.traffic.attention.fill": "#ffefd6",
442
+ "visualization.traffic.attention.outline": "#ba4e00",
443
+ "visualization.traffic.degraded.fill": "#ffefd6",
444
+ "visualization.traffic.degraded.outline": "#ba4e00",
445
+ "visualization.traffic.critical.fill": "#feebe9",
446
+ "visualization.traffic.critical.outline": "#d83b39",
447
+ "visualization.traffic.unavailable.fill": "#f8f8f8",
448
+ "visualization.traffic.unavailable.outline": "#878582",
449
+ "visualization.traffic.fault.fill": "#feebe9",
450
+ "visualization.traffic.fault.outline": "#d83b39",
451
+ "visualization.line-width": "2px",
452
+ "visualization.sparkline-width": "1.5px",
453
+ "visualization.grid-width": "1px",
454
+ "visualization.sparkline-point-radius": "2px",
455
+ "visualization.timeline-node-size": "16px",
456
+ "visualization.timeline-node-inner-size": "8px",
457
+ "visualization.timeline-node-touch-size": "18px",
458
+ "visualization.timeline-node-touch-inner-size": "10px",
459
+ "visualization.timeline-node-tablet-inner-size": "9px",
460
+ "visualization.timeline-cluster-size": "24px",
461
+ "visualization.chart-height": "120px",
462
+ "visualization.chart-initial-width": "400px",
463
+ "visualization.sparkline-height": "40px",
464
+ "visualization.sparkline-compact-height": "32px",
465
+ "visualization.sparkline-initial-width": "100px",
466
+ "visualization.point-radius": "3px",
467
+ "visualization.hover-point-radius": "5px",
468
+ "visualization.ring-width": "10",
469
+ "visualization.ring-size": "140px",
470
+ "visualization.ring-gap": "75",
471
+ "visualization.timeline-track-height": "6px",
472
+ "visualization.activity-track-height": "10px",
473
+ "z-index.sticky": "100",
474
+ "z-index.navigation": "200",
475
+ "z-index.overlay": "300",
476
+ "z-index.modal": "400",
477
+ "z-index.fullscreen": "450",
478
+ "z-index.spotlight": "500",
479
+ "z-index.tooltip": "600",
480
+ "z-index.toast": "700",
481
+ "z-index.loading": "650"
252
482
  },
253
483
  "dark": {
254
484
  "color.graphite.1": "#181717",
@@ -387,6 +617,11 @@ export const tokens = {
387
617
  "color.surface": "#201f1f",
388
618
  "color.surface.page": "#181717",
389
619
  "color.surface.subtle": "#201f1f",
620
+ "color.surface.overlay": "#282827",
621
+ "color.surface.overlay.hover": "#302f2e",
622
+ "color.surface.overlay.pressed": "#373735",
623
+ "color.surface.overlay.selected": "#373735",
624
+ "color.surface.overlay.selected.hover": "#373735",
390
625
  "color.surface.inverse": "#eeeeed",
391
626
  "color.surface.scrim": "rgb(0 0 0 / 60%)",
392
627
  "color.border": "#434241",
@@ -406,10 +641,130 @@ export const tokens = {
406
641
  "color.skeleton.subtle": "#282827",
407
642
  "color.code.background": "#181717",
408
643
  "color.code.text": "#eeeeed",
644
+ "diagram.canvas": "#181717",
645
+ "diagram.node-fill": "#201f1f",
646
+ "diagram.node-border": "#878682",
647
+ "diagram.node-title": "#eeeeed",
648
+ "diagram.node-desc": "#cac9c6",
649
+ "diagram.tile-bg": "#282827",
650
+ "diagram.tile-glyph": "#cac9c6",
651
+ "diagram.state-ran-ok": "#cac9c6",
652
+ "diagram.ran-ok-fill": "#201f1f",
653
+ "diagram.fail-stroke": "#ff615a",
654
+ "diagram.fail-fill": "#3b1310",
655
+ "diagram.fail-title": "#ff8e84",
656
+ "diagram.fail-desc": "#ff8e84",
657
+ "diagram.unreached-fill": "#201f1f",
658
+ "diagram.unreached-stroke": "#878682",
659
+ "diagram.unreached-title": "#cac9c6",
660
+ "diagram.unreached-desc": "#cac9c6",
661
+ "diagram.nottaken-stroke": "#cac9c6",
662
+ "diagram.nottaken-fill": "#201f1f",
663
+ "diagram.nottaken-title": "#eeeeed",
664
+ "diagram.nottaken-desc": "#cac9c6",
665
+ "diagram.badge-bg": "#201f1f",
666
+ "diagram.badge-text": "#cac9c6",
667
+ "diagram.badge-border": "#878682",
668
+ "diagram.edge": "#878682",
669
+ "diagram.edge-label-text": "#cac9c6",
670
+ "diagram.edge-label-bg": "#181717",
671
+ "diagram.panel-bg": "#201f1f",
672
+ "diagram.panel-border": "#434241",
673
+ "diagram.code-bg": "#201f1f",
674
+ "diagram.code-key": "#cac9c6",
675
+ "diagram.code-value": "#eeeeed",
676
+ "diagram.selection-ring": "#6bb3fa",
677
+ "editor.background": "#201f1f",
678
+ "editor.text": "#eeeeed",
679
+ "editor.gutter": "#201f1f",
680
+ "editor.lineNumber": "#a8a6a3",
681
+ "editor.selection": "#302f2e",
682
+ "editor.lineHighlight": "#201f1f",
683
+ "editor.cursor": "#eeeeed",
684
+ "editor.border": "#434241",
685
+ "editor.syntax.comment": "#a8a6a3",
686
+ "editor.syntax.string": "#5ec18a",
687
+ "editor.syntax.number": "#f5974e",
688
+ "editor.syntax.keyword": "#6bb3fa",
689
+ "editor.syntax.type": "#eeeeed",
690
+ "editor.syntax.delimiter": "#cac9c6",
691
+ "editor.diff.inserted.background": "#132d21",
692
+ "editor.diff.inserted.text": "#5ec18a",
693
+ "editor.diff.removed.background": "#3b1310",
694
+ "editor.diff.removed.text": "#ff8e84",
409
695
  "elevation.shadow.raised": "0 1px 2px rgb(0 0 0 / 40%), 0 1px 3px rgb(0 0 0 / 30%)",
410
- "elevation.shadow.overlay": "0 24px 80px rgb(0 0 0 / 50%)"
696
+ "elevation.shadow.overlay": "0 4px 12px rgb(0 0 0 / 50%)",
697
+ "elevation.shadow.modal": "0 8px 24px rgb(0 0 0 / 50%)",
698
+ "flow.category.task.foreground": "#6bb3fa",
699
+ "flow.category.task.background": "#0d2847",
700
+ "flow.category.task.border": "#0088f1",
701
+ "flow.category.task.hover": "#003362",
702
+ "flow.category.dependency.foreground": "#ff8e84",
703
+ "flow.category.dependency.background": "#3b1310",
704
+ "flow.category.dependency.border": "#ef4c48",
705
+ "flow.category.dependency.hover": "#50100f",
706
+ "flow.category.transformation.foreground": "#5ec18a",
707
+ "flow.category.transformation.background": "#132d21",
708
+ "flow.category.transformation.border": "#1f9962",
709
+ "flow.category.transformation.hover": "#113b29",
710
+ "flow.category.validation.foreground": "#ff8e84",
711
+ "flow.category.validation.background": "#3b1310",
712
+ "flow.category.validation.border": "#ff8e84",
713
+ "flow.category.validation.hover": "#50100f",
714
+ "flow.category.pushStep.foreground": "#fcb017",
715
+ "flow.category.pushStep.background": "#32210a",
716
+ "flow.category.pushStep.border": "#bd7e1b",
717
+ "flow.category.pushStep.hover": "#422902",
718
+ "flow.category.decision.foreground": "#7bdce5",
719
+ "flow.category.decision.background": "#123c43",
720
+ "flow.category.decision.border": "#7bdce5",
721
+ "flow.category.decision.hover": "#123c43",
722
+ "flow.category.loop.foreground": "#f3a0d1",
723
+ "flow.category.loop.background": "#411b34",
724
+ "flow.category.loop.border": "#f3a0d1",
725
+ "flow.category.loop.hover": "#411b34",
726
+ "flow.category.grouped.foreground": "#c9a2ee",
727
+ "flow.category.grouped.background": "#30213f",
728
+ "flow.category.grouped.border": "#c9a2ee",
729
+ "flow.category.grouped.hover": "#30213f",
730
+ "resize.handle.background": "#201f1f",
731
+ "resize.handle.activeBackground": "#eeeeed",
732
+ "resize.color": "#878682",
733
+ "resize.active": "#6bb3fa",
734
+ "resize.grip": "#cac9c6",
735
+ "resize.activeGrip": "#181717",
736
+ "visualization.metric.total-jobs": "#6bb3fa",
737
+ "visualization.metric.success-rate": "#5ec18a",
738
+ "visualization.metric.completed": "#5ec18a",
739
+ "visualization.metric.failed": "#ff8e84",
740
+ "visualization.metric.active-jobs": "#6bb3fa",
741
+ "visualization.metric.avg-execution-time": "#cac9c6",
742
+ "visualization.metric.queue-depth": "#eeeeed",
743
+ "visualization.job-type.queue-status": "#6bb3fa",
744
+ "visualization.job-type.sync-history": "#5ec18a",
745
+ "visualization.job-type.polling-jobs": "#f5974e",
746
+ "visualization.job-type.generic-jobs": "#cac9c6",
747
+ "visualization.priority.1": "#ff8e84",
748
+ "visualization.priority.2": "#f5974e",
749
+ "visualization.priority.3": "#6bb3fa",
750
+ "visualization.priority.4": "#cac9c6",
751
+ "visualization.priority.5": "#a8a6a3",
752
+ "visualization.traffic.healthy.fill": "#132d21",
753
+ "visualization.traffic.healthy.outline": "#37a971",
754
+ "visualization.traffic.attention.fill": "#331e0b",
755
+ "visualization.traffic.attention.outline": "#ef7200",
756
+ "visualization.traffic.degraded.fill": "#331e0b",
757
+ "visualization.traffic.degraded.outline": "#ef7200",
758
+ "visualization.traffic.critical.fill": "#3b1310",
759
+ "visualization.traffic.critical.outline": "#ff615a",
760
+ "visualization.traffic.unavailable.fill": "#201f1f",
761
+ "visualization.traffic.unavailable.outline": "#878682",
762
+ "visualization.traffic.fault.fill": "#3b1310",
763
+ "visualization.traffic.fault.outline": "#ff615a"
411
764
  },
412
765
  "vi": {
766
+ "diagram.node-font": "400 0.875rem/1.5rem Inter, \"Noto Sans\", system-ui, sans-serif",
767
+ "editor.font.lineHeight": "1.5rem",
413
768
  "font.display.large": "700 4.5rem/6.75rem Inter, \"Noto Sans\", system-ui, sans-serif",
414
769
  "font.display.medium": "700 3.75rem/5.5rem Inter, \"Noto Sans\", system-ui, sans-serif",
415
770
  "font.display.small": "700 3rem/4.5rem Inter, \"Noto Sans\", system-ui, sans-serif",
@@ -31,20 +31,17 @@
31
31
  .ui-crumb, .ui-meta { color: var(--bh-color-text-subtlest); }
32
32
  .ui-card > span:first-child { color: var(--bh-color-text-subtle); }
33
33
  .ui-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bh-space-150); }
34
- .ui-card { display: grid; gap: var(--bh-space-025); padding: calc(var(--bh-space-150) - 1px); border: 1px solid var(--bh-color-border); border-radius: var(--bh-radius-100); }
34
+ .ui-card { display: grid; gap: var(--bh-space-025); }
35
35
  .ui-panel { gap: var(--bh-space-100); padding-left: var(--bh-space-150); }
36
36
  .ui-panel-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--bh-space-150) var(--bh-space-400); }
37
- .ui-btn { display: inline-flex; align-items: center; height: var(--bh-size-control-default); padding: 0 var(--bh-space-150); border-radius: var(--bh-radius-100); background: var(--bh-color-background-neutral-bold); color: var(--bh-color-text-inverse); white-space: nowrap; }
38
37
  .prose .ui-desc { margin: 0; color: var(--bh-color-text-subtle); }
39
38
  .prose .ui-table { width: 100%; margin: var(--bh-space-050) 0 0; }
40
- .prose .ui-table th { padding: var(--bh-space-075) var(--bh-space-100); color: var(--bh-color-text-subtle); border-bottom: 1px solid var(--bh-color-border); }
41
- .prose .ui-table td { padding: var(--bh-space-100); border-bottom: 1px solid var(--bh-color-border); vertical-align: baseline; } /* cells share one baseline, whatever their style */
39
+ .prose .ui-table th { padding: var(--bh-space-100) var(--bh-space-150); color: var(--bh-color-text-subtle); background: var(--bh-color-surface-subtle); border-bottom: var(--bh-border-width-default) solid var(--bh-color-border); font: var(--bh-font-label-small); }
40
+ .prose .ui-table td { padding: var(--bh-space-100) var(--bh-space-150); border-bottom: var(--bh-border-width-default) solid var(--bh-color-border); vertical-align: baseline; } /* cells share one baseline, whatever their style */
42
41
  /* The mock-up is a light screen in both themes, so it uses the light values of the role tokens
43
42
  as fixed colours: border.success / text.success (green 9 / 11) and border.danger / text.danger (red 9 / 11). */
44
- .ui-badge { display: inline-flex; align-items: center; height: 20px; padding: 0 calc(var(--bh-space-100) - 1px); border: 1px solid var(--bh-color-border-success); border-radius: var(--bh-radius-full); color: var(--bh-color-text-success); }
45
- .ui-badge.is-error { border-color: var(--bh-color-border-danger); color: var(--bh-color-text-danger); }
46
43
  .type-ui [data-n] { position: relative; }
47
- .type-ui [data-n]::after { content: attr(data-n); position: absolute; top: 50%; right: calc(100% + var(--bh-space-100)); translate: 0 -50%; display: grid; place-items: center; box-sizing: border-box; min-width: 20px; height: 20px; padding: 0 var(--bh-space-050); border-radius: var(--bh-radius-100); background: var(--bh-color-background-brand-bold); color: var(--bh-color-text-on-brand); font: var(--bh-font-label-small); font-variant-numeric: tabular-nums; }
44
+ .type-ui [data-n]::after { content: attr(data-n); position: absolute; top: 50%; right: calc(100% + var(--bh-space-100)); translate: 0 -50%; display: grid; place-items: center; box-sizing: border-box; min-width: 20px; height: 20px; padding: 0 var(--bh-space-050); border-radius: var(--bh-radius-100); background: var(--bh-color-background-neutral-bold); color: var(--bh-color-text-inverse); font: var(--bh-font-label-small); font-variant-numeric: tabular-nums; }
48
45
  .prose .type-ui-legend { align-self: start; display: grid; gap: var(--bh-space-075); margin: 0; padding-left: var(--bh-space-250); font: var(--bh-font-body-small); }
49
46
  .prose .type-ui-legend li { margin: 0; color: var(--c-muted); }
50
47
  .prose .type-ui-legend li::marker { color: var(--c-ink); }
@@ -0,0 +1,56 @@
1
+ /* Illustrations for the Z-index page. Layers use the z-index tokens; colours, shadows and sizes are tokens. */
2
+ .zi-stack-fig { margin: var(--bh-space-300) 0; overflow: hidden; border: var(--bh-border-width-default) solid var(--bh-color-border); border-radius: var(--bh-radius-150); }
3
+ .zi-stack-fig figcaption { padding: var(--bh-space-100) var(--bh-space-200); border-top: var(--bh-border-width-default) solid var(--bh-color-border); color: var(--bh-color-text-subtle); font: var(--bh-font-body-small); }
4
+ .zi-stack { position: relative; isolation: isolate; height: calc(8 * var(--bh-space-400) + 7 * var(--bh-space-100) + var(--bh-space-600)); background: var(--bh-color-surface-subtle); }
5
+ .zi-plate { position: absolute; left: calc(var(--bh-space-300) + var(--i, 0) * var(--bh-space-300)); bottom: calc(var(--bh-space-300) + var(--i, 0) * (var(--bh-space-400) + var(--bh-space-100))); display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: var(--bh-space-150); width: min(calc(100% - 9 * var(--bh-space-300)), 24rem); min-width: 14rem; height: calc(var(--bh-space-400) + var(--bh-space-200)); padding: 0 var(--bh-space-150); border: var(--bh-border-width-default) solid var(--bh-color-border); border-radius: var(--bh-radius-100); background: var(--bh-color-surface); }
6
+ .zi-plate b { color: var(--bh-color-text); font: var(--bh-font-label-default); }
7
+ .zi-plate code { color: var(--bh-color-text-subtle); font: var(--bh-font-code-default); font-size: var(--bh-font-size-100); font-variant-numeric: tabular-nums; }
8
+ .zi-plate em { overflow: hidden; color: var(--bh-color-text-subtle); font: var(--bh-font-body-small); font-style: normal; white-space: nowrap; text-overflow: ellipsis; }
9
+ .zi-plate.is-page { left: var(--bh-space-300); bottom: var(--bh-space-300); background: var(--bh-color-surface-page); border-style: dashed; border-color: var(--bh-color-border-bold); }
10
+ .zi-plate.is-sticky, .zi-plate.is-navigation { background: var(--bh-color-surface-subtle); }
11
+ .zi-plate.is-tooltip { border-color: transparent; background: var(--bh-color-surface-inverse); }
12
+ .zi-plate.is-tooltip :is(b, code, em) { color: var(--bh-color-text-inverse); }
13
+ .zi-plate.is-overlay, .zi-plate.is-toast { background: var(--bh-color-surface-overlay); border-color: transparent; box-shadow: var(--bh-elevation-shadow-overlay); }
14
+ .zi-plate.is-modal, .zi-plate.is-spotlight { background: var(--bh-color-surface-overlay); border-color: transparent; box-shadow: var(--bh-elevation-shadow-modal); }
15
+ @container prose (max-width: 560px) { .zi-plate em { display: none; } .zi-plate { min-width: 0; grid-template-columns: auto auto; } }
16
+
17
+ /* A product screen with numbered layers and a legend. */
18
+ .zi-screen-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--bh-space-200); margin: var(--bh-space-300) 0; }
19
+ @container prose (min-width: 640px) { .zi-screen-wrap { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; } }
20
+ .zi-screen { position: relative; isolation: isolate; overflow: hidden; border: var(--bh-border-width-default) solid var(--bh-color-border); border-radius: var(--bh-radius-150); background: var(--bh-color-surface-page); }
21
+ .zi-head { position: relative; z-index: var(--bh-z-index-navigation); display: flex; align-items: center; gap: var(--bh-space-100); height: var(--bh-space-600); padding: 0 var(--bh-space-200); border-bottom: var(--bh-border-width-default) solid var(--bh-color-border); background: var(--bh-color-surface-page); color: var(--bh-color-text); font: var(--bh-font-label-default); }
22
+ .zi-head-r { margin-left: auto; }
23
+ .zi-icon { display: inline-grid; place-items: center; width: var(--bh-size-control-default); height: var(--bh-size-control-default); border-radius: var(--bh-radius-100); color: var(--bh-color-icon-subtle); }
24
+ .zi-body { position: relative; display: grid; gap: var(--bh-space-150); padding: var(--bh-space-200); min-height: calc(5 * var(--bh-space-600)); }
25
+ .zi-table { overflow: hidden; border: var(--bh-border-width-default) solid var(--bh-color-border); border-radius: var(--bh-radius-150); }
26
+ .zi-th, .zi-tr { display: grid; grid-template-columns: auto 1fr 1fr 1fr; align-items: center; gap: var(--bh-space-100); padding: var(--bh-space-100) var(--bh-space-150); font: var(--bh-font-body-default); color: var(--bh-color-text); }
27
+ .zi-tr { grid-template-columns: 1fr 1fr 1fr; border-top: var(--bh-border-width-default) solid var(--bh-color-border); }
28
+ .zi-th { position: relative; z-index: var(--bh-z-index-sticky); background: var(--bh-color-surface-subtle); color: var(--bh-color-text-subtle); font: var(--bh-font-label-small); }
29
+ .zi-menu { position: absolute; z-index: var(--bh-z-index-overlay); top: calc(var(--bh-size-control-small) + var(--bh-space-250)); left: var(--bh-space-200); min-width: 10rem; }
30
+ .zi-tip { position: absolute; z-index: var(--bh-z-index-tooltip); top: calc(-1 * var(--bh-space-050)); right: var(--bh-space-150); display: inline-flex; align-items: center; gap: var(--bh-space-050); }
31
+ .zi-toast { position: absolute; z-index: var(--bh-z-index-toast); right: var(--bh-space-200); bottom: var(--bh-space-200); gap: var(--bh-space-100); align-items: center; font: var(--bh-font-body-default); }
32
+ .zi-menu > .zi-n { position: absolute; top: calc(-1 * var(--bh-space-100)); left: calc(-1 * var(--bh-space-100)); }
33
+ .zi-legend { display: grid; gap: var(--bh-space-100); margin: 0; padding: 0; list-style: none; }
34
+ .zi-legend li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 var(--bh-space-100); align-items: center; }
35
+ .zi-legend li > span:last-child { grid-column: 2; color: var(--bh-color-text-subtle); font: var(--bh-font-body-small); }
36
+ .zi-legend code { font: var(--bh-font-code-default); font-size: var(--bh-font-size-100); }
37
+
38
+ /* Do and don't: a small dialog scene. */
39
+ .zi-dd { padding: var(--bh-space-150); }
40
+ .zi-mini { position: relative; isolation: isolate; width: 100%; height: calc(5 * var(--bh-space-600)); overflow: hidden; border-radius: var(--bh-radius-100); background: var(--bh-color-surface-page); }
41
+ .zi-mini .el-lines { position: absolute; inset: 0 0 auto; }
42
+ .zi-mini-scrim { z-index: var(--bh-z-index-modal); }
43
+ .zi-mini-dialog { position: absolute; z-index: var(--bh-z-index-modal); top: var(--bh-space-300); left: 50%; width: min(85%, 18rem); transform: translateX(-50%); }
44
+ .zi-mini-text { color: var(--bh-color-text-subtle); font: var(--bh-font-body-default); }
45
+ .zi-field { position: relative; }
46
+ .zi-input { display: flex; align-items: center; justify-content: space-between; gap: var(--bh-space-050); height: var(--bh-size-control-default); padding: 0 var(--bh-space-150); border: var(--bh-border-width-default) solid var(--bh-color-border-bold); border-radius: var(--bh-radius-100); font: var(--bh-font-body-default); }
47
+ .zi-mini-list { position: absolute; top: calc(100% + var(--bh-space-050)); left: 0; right: 0; min-width: 0; }
48
+ .zi-mini.is-inside .zi-mini-dialog { top: var(--bh-space-200); }
49
+ .zi-mini.is-inside.is-dont .zi-mini-dialog { overflow: hidden; height: calc(2 * var(--bh-space-600) + var(--bh-space-200)); }
50
+ .zi-mini-toast { position: absolute; right: var(--bh-space-150); bottom: var(--bh-space-150); }
51
+ .zi-mini.is-toast.is-do .zi-mini-toast { z-index: var(--bh-z-index-toast); }
52
+ .zi-mini.is-toast.is-dont .zi-mini-toast { z-index: var(--bh-z-index-overlay); }
53
+ .zi-mini.is-scrim.is-dont .zi-mini-scrim { z-index: calc(var(--bh-z-index-modal) + 1); }
54
+ .prose .zi-plate code, .zi-plate code { padding: 0; background: transparent; }
55
+ .prose .zi-legend code, .zi-legend code { padding: 0; background: transparent; }
56
+ .zi-input svg { flex: none; color: var(--bh-color-icon-subtle); }
@@ -19,7 +19,7 @@
19
19
  "accent": {
20
20
  "$type": "dimension",
21
21
  "$value": "4px",
22
- "$description": "4 px. A status or emphasis bar on one edge: alerts, banners, rows with an error, callouts and quotes. Pair with a status or brand border colour."
22
+ "$description": "4 px. A status or emphasis bar on one edge: rows with an error, callouts and quotes. Pair with a status or brand border colour."
23
23
  }
24
24
  }
25
25
  }
@@ -1166,7 +1166,7 @@
1166
1166
  "$root": {
1167
1167
  "$type": "color",
1168
1168
  "$value": "{color.brand.white}",
1169
- "$description": "Cards, panels, dialogs. One step lighter than the page in dark.",
1169
+ "$description": "Cards and panels. One step lighter than the page in dark.",
1170
1170
  "$extensions": {
1171
1171
  "design.beehexa": {
1172
1172
  "dark": "{color.graphite.2}"
@@ -1186,12 +1186,66 @@
1186
1186
  "subtle": {
1187
1187
  "$type": "color",
1188
1188
  "$value": "{color.graphite.2}",
1189
- "$description": "Sidebars, table headers, quiet areas."
1189
+ "$description": "Shared global header/sidebar shell surface, mobile navigation drawer, table headers and quiet areas."
1190
+ },
1191
+ "overlay": {
1192
+ "$root": {
1193
+ "$type": "color",
1194
+ "$value": "{color.brand.white}",
1195
+ "$description": "Menus, popovers, select lists, toasts, dialogs and drawers. One step lighter than color.surface in dark, so a floating layer reads above cards.",
1196
+ "$extensions": {
1197
+ "design.beehexa": {
1198
+ "dark": "{color.graphite.3}"
1199
+ }
1200
+ }
1201
+ },
1202
+ "hover": {
1203
+ "$type": "color",
1204
+ "$value": "{color.graphite.2}",
1205
+ "$description": "Menu item or option on hover, inside color.surface.overlay.",
1206
+ "$extensions": {
1207
+ "design.beehexa": {
1208
+ "dark": "{color.graphite.4}"
1209
+ }
1210
+ }
1211
+ },
1212
+ "pressed": {
1213
+ "$type": "color",
1214
+ "$value": "{color.graphite.3}",
1215
+ "$description": "Menu item or option when pressed, inside color.surface.overlay.",
1216
+ "$extensions": {
1217
+ "design.beehexa": {
1218
+ "dark": "{color.graphite.5}"
1219
+ }
1220
+ }
1221
+ },
1222
+ "selected": {
1223
+ "$root": {
1224
+ "$type": "color",
1225
+ "$value": "{color.graphite.3}",
1226
+ "$description": "Selected option inside color.surface.overlay. Always add a second cue: a check or bold text.",
1227
+ "$extensions": {
1228
+ "design.beehexa": {
1229
+ "dark": "{color.graphite.5}"
1230
+ }
1231
+ }
1232
+ },
1233
+ "hover": {
1234
+ "$type": "color",
1235
+ "$value": "{color.graphite.4}",
1236
+ "$description": "Selected option on hover, inside color.surface.overlay. In dark it stays on graphite 5, as graphite 6 fails text and border contrast; the check mark carries the state.",
1237
+ "$extensions": {
1238
+ "design.beehexa": {
1239
+ "dark": "{color.graphite.5}"
1240
+ }
1241
+ }
1242
+ }
1243
+ }
1190
1244
  },
1191
1245
  "inverse": {
1192
1246
  "$type": "color",
1193
1247
  "$value": "{color.graphite.12}",
1194
- "$description": "Inverse surface: tooltips, toasts. Text on top: text.inverse."
1248
+ "$description": "Inverse surface: tooltips. Text on top: text.inverse."
1195
1249
  },
1196
1250
  "scrim": {
1197
1251
  "$type": "color",
@@ -0,0 +1,19 @@
1
+ {
2
+ "content": {
3
+ "$description": "Reusable application-content identity and empty-state geometry. Identity colours never encode operational status.",
4
+ "partner-logo": {
5
+ "size": { "$type": "dimension", "$value": "2.5rem", "$description": "Neutral square partner-logo tile; preserves the brand image aspect ratio." },
6
+ "image-size": { "$type": "dimension", "$value": "1.75rem", "$description": "Maximum contained partner mark inside the standard partner-logo tile." }
7
+ },
8
+ "avatar": {
9
+ "size": { "$type": "dimension", "$value": "2.5rem", "$description": "Default person or permission-member identity avatar; a visual identity, not a hit target." }
10
+ },
11
+ "identity-mark": {
12
+ "size": { "$type": "dimension", "$value": "2.75rem", "$description": "System/provider identity container when shown beside content labels." },
13
+ "image-size": { "$type": "dimension", "$value": "1.5rem", "$description": "Contained system/provider identity glyph within the identity-mark container." }
14
+ },
15
+ "empty-illustration": {
16
+ "size": { "$type": "dimension", "$value": "6rem", "$description": "Empty-state illustration container. Standard icons inside retain their own source icon sizes." }
17
+ }
18
+ }
19
+ }