@tensor_1/tokens 2.11.0 → 2.13.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.
- package/README.md +8 -0
- package/build/css/components.css +1 -1847
- package/build/css/styles.css +1 -2188
- package/package.json +12 -2
- package/styles/components/alert.css +16 -0
- package/styles/components/app-shell.css +37 -0
- package/styles/components/attachment.css +10 -0
- package/styles/components/audit-log.css +11 -0
- package/styles/components/avatar.css +25 -0
- package/styles/components/brand-profiles.css +12 -0
- package/styles/components/breadcrumbs.css +10 -0
- package/styles/components/builder-canvas.css +17 -0
- package/styles/components/button.css +49 -0
- package/styles/components/calendar.css +13 -0
- package/styles/components/card.css +9 -0
- package/styles/components/chart.css +9 -0
- package/styles/components/checkbox.css +20 -0
- package/styles/components/color-picker.css +14 -0
- package/styles/components/combobox.css +16 -0
- package/styles/components/command-palette.css +14 -0
- package/styles/components/comments.css +17 -0
- package/styles/components/contact-card.css +12 -0
- package/styles/components/date-range-picker.css +16 -0
- package/styles/components/description-list.css +6 -0
- package/styles/components/detail-layout.css +7 -0
- package/styles/components/diff-viewer.css +14 -0
- package/styles/components/drawer.css +24 -0
- package/styles/components/editorial-home.css +188 -0
- package/styles/components/file-upload.css +14 -0
- package/styles/components/flow.css +196 -0
- package/styles/components/form.css +14 -0
- package/styles/components/heartbeat.css +12 -0
- package/styles/components/inbox.css +13 -0
- package/styles/components/input.css +39 -0
- package/styles/components/kanban.css +14 -0
- package/styles/components/kbd.css +8 -0
- package/styles/components/labels.css +13 -0
- package/styles/components/license-position-bar.css +8 -0
- package/styles/components/lightbox.css +13 -0
- package/styles/components/link.css +98 -0
- package/styles/components/list.css +10 -0
- package/styles/components/match-review.css +11 -0
- package/styles/components/media.css +9 -0
- package/styles/components/menu.css +15 -0
- package/styles/components/meter.css +9 -0
- package/styles/components/metric-input.css +9 -0
- package/styles/components/modal.css +31 -0
- package/styles/components/notification-center.css +14 -0
- package/styles/components/page-header.css +9 -0
- package/styles/components/pagination.css +14 -0
- package/styles/components/peek.css +46 -0
- package/styles/components/pipeline.css +9 -0
- package/styles/components/popover.css +11 -0
- package/styles/components/progress.css +12 -0
- package/styles/components/prose.css +27 -0
- package/styles/components/radio.css +20 -0
- package/styles/components/reactions.css +22 -0
- package/styles/components/relationship-graph.css +21 -0
- package/styles/components/rule-builder.css +17 -0
- package/styles/components/scheduling-calendar.css +22 -0
- package/styles/components/segmented.css +12 -0
- package/styles/components/select.css +23 -0
- package/styles/components/sidebar.css +102 -0
- package/styles/components/sla.css +8 -0
- package/styles/components/slider.css +16 -0
- package/styles/components/spinner.css +10 -0
- package/styles/components/stat-tile.css +11 -0
- package/styles/components/states.css +13 -0
- package/styles/components/status-pill.css +37 -0
- package/styles/components/stepper.css +13 -0
- package/styles/components/steps.css +18 -0
- package/styles/components/switch.css +19 -0
- package/styles/components/table-toolbar.css +20 -0
- package/styles/components/table.css +160 -0
- package/styles/components/tabs.css +31 -0
- package/styles/components/tag-input.css +16 -0
- package/styles/components/textarea.css +15 -0
- package/styles/components/timeline.css +11 -0
- package/styles/components/toast.css +21 -0
- package/styles/components/tooltip.css +35 -0
- package/styles/components/tree.css +17 -0
- package/styles/components/typography.css +45 -0
- package/styles/components/utility-bits.css +14 -0
- package/styles/components/view-menu.css +14 -0
- package/styles/motion.css +35 -0
- package/styles/utilities.css +26 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* uix typography utilities — class-based application of the --uix-text-* scale.
|
|
2
|
+
A `<span class="uix-text-h3">` reads identically to an `<h3>`; consumers reach
|
|
3
|
+
for these instead of re-deriving the scale inline. (House products migrating
|
|
4
|
+
off bespoke `type-*` classes map 1:1 onto these — same sizes/leading/weights.)
|
|
5
|
+
Depends only on --uix-* tokens. */
|
|
6
|
+
@layer uix.components {
|
|
7
|
+
.uix-text-display {
|
|
8
|
+
font-size: var(--uix-text-display); line-height: var(--uix-leading-display);
|
|
9
|
+
font-weight: 400; letter-spacing: var(--uix-tracking-tight); color: var(--uix-text);
|
|
10
|
+
}
|
|
11
|
+
.uix-text-h1 {
|
|
12
|
+
font-size: var(--uix-text-display); line-height: var(--uix-leading-display);
|
|
13
|
+
font-weight: 400; letter-spacing: var(--uix-tracking-tight); color: var(--uix-text);
|
|
14
|
+
}
|
|
15
|
+
.uix-text-h2 {
|
|
16
|
+
font-size: var(--uix-text-h2); line-height: var(--uix-leading-h2);
|
|
17
|
+
font-weight: 400; letter-spacing: -0.01em; color: var(--uix-text);
|
|
18
|
+
}
|
|
19
|
+
.uix-text-h3 {
|
|
20
|
+
font-size: var(--uix-text-h3); line-height: var(--uix-leading-h3);
|
|
21
|
+
font-weight: 700; color: var(--uix-text);
|
|
22
|
+
}
|
|
23
|
+
.uix-text-body {
|
|
24
|
+
font-size: var(--uix-text-body); line-height: var(--uix-leading-body);
|
|
25
|
+
font-weight: 400; color: var(--uix-text);
|
|
26
|
+
}
|
|
27
|
+
.uix-text-body-hushed {
|
|
28
|
+
font-size: var(--uix-text-body); line-height: var(--uix-leading-body);
|
|
29
|
+
font-weight: 400; color: var(--uix-text-hushed);
|
|
30
|
+
}
|
|
31
|
+
.uix-text-meta {
|
|
32
|
+
font-size: var(--uix-text-meta); line-height: var(--uix-leading-meta);
|
|
33
|
+
font-weight: 400; color: var(--uix-text-hushed);
|
|
34
|
+
}
|
|
35
|
+
.uix-text-eyebrow {
|
|
36
|
+
font-size: var(--uix-text-eyebrow); line-height: var(--uix-leading-eyebrow);
|
|
37
|
+
font-weight: 700; letter-spacing: var(--uix-tracking-eyebrow);
|
|
38
|
+
text-transform: uppercase; color: var(--uix-text-hushed);
|
|
39
|
+
}
|
|
40
|
+
.uix-text-data-hero {
|
|
41
|
+
font-size: var(--uix-text-data-hero); line-height: 1.1;
|
|
42
|
+
font-weight: 400; letter-spacing: -0.01em; color: var(--uix-text);
|
|
43
|
+
font-variant-numeric: tabular-nums;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* uix utility/typography bits — code, pre, blockquote, divider, status dots. Depends only on --uix-* tokens. */
|
|
2
|
+
@layer uix.components {
|
|
3
|
+
.uix-code { font-family: var(--uix-font-mono); font-size: .9em; background: var(--uix-bg-subtle); border: 1px solid var(--uix-border); border-radius: var(--uix-radius-xs); padding: .1em .4em; color: var(--uix-text); }
|
|
4
|
+
.uix-pre { font-family: var(--uix-font-mono); font-size: var(--uix-text-meta); line-height: 1.5; background: var(--uix-bg-subtle); border: 1px solid var(--uix-border); border-radius: var(--uix-radius-md); padding: var(--uix-space-4) var(--uix-space-4); overflow-x: auto; color: var(--uix-text); }
|
|
5
|
+
.uix-blockquote { border-left: 3px solid var(--uix-accent); padding: var(--uix-space-1) 0 var(--uix-space-1) var(--uix-space-4); color: var(--uix-text-hushed); font-style: italic; }
|
|
6
|
+
.uix-divider { height: 1px; background: var(--uix-border); border: 0; margin: var(--uix-space-4) 0; }
|
|
7
|
+
.uix-divider--label { display: flex; align-items: center; gap: var(--uix-space-3); color: var(--uix-text-muted); font-size: var(--uix-text-meta); background: transparent; height: auto; }
|
|
8
|
+
.uix-divider--label::before, .uix-divider--label::after { content: ""; flex: 1; height: 1px; background: var(--uix-border); }
|
|
9
|
+
.uix-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--uix-text-muted); }
|
|
10
|
+
.uix-dot--success { background: var(--uix-success); }
|
|
11
|
+
.uix-dot--warning { background: var(--uix-warning); }
|
|
12
|
+
.uix-dot--danger { background: var(--uix-danger); }
|
|
13
|
+
.uix-dot--info { background: var(--uix-info); }
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* uix table View menu — consolidates density / zebra / freeze / columns into one popover.
|
|
2
|
+
Reuses .uix-popover (surface + animation), .uix-segmented, .uix-switch. Depends only on --uix-* tokens. */
|
|
3
|
+
@layer uix.components {
|
|
4
|
+
.uix-view-menu { min-width: 248px; padding: var(--uix-space-2); }
|
|
5
|
+
.uix-view-menu__group { padding: var(--uix-space-2) var(--uix-space-2); }
|
|
6
|
+
.uix-view-menu__group + .uix-view-menu__group { border-top: 1px solid var(--uix-border); }
|
|
7
|
+
.uix-view-menu__label { font-size: var(--uix-text-eyebrow); letter-spacing: var(--uix-tracking-eyebrow); text-transform: uppercase; color: var(--uix-text-muted); margin-bottom: var(--uix-space-2); }
|
|
8
|
+
.uix-view-menu__row { display: flex; align-items: center; justify-content: space-between; gap: var(--uix-space-3); font-size: var(--uix-text-body); color: var(--uix-text); cursor: pointer; }
|
|
9
|
+
.uix-view-menu__row + .uix-view-menu__row { margin-top: var(--uix-space-3); }
|
|
10
|
+
.uix-view-menu .uix-segmented { display: flex; width: 100%; }
|
|
11
|
+
.uix-view-menu .uix-segmented__option { flex: 1; text-align: center; }
|
|
12
|
+
.uix-view-menu__cols { display: flex; flex-direction: column; gap: var(--uix-space-1); max-height: 180px; overflow: auto; }
|
|
13
|
+
.uix-view-menu__cols .uix-menu__item { font-size: var(--uix-text-meta); }
|
|
14
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/* uix motion — shared keyframes, enter/exit helpers, and the reduced-motion guard.
|
|
2
|
+
Components reference these tokens/keyframes; overlays pair the helpers with @starting-style. */
|
|
3
|
+
|
|
4
|
+
/* Reduced-motion guard — UNLAYERED so its !important beats every component transition. */
|
|
5
|
+
@media (prefers-reduced-motion: reduce) {
|
|
6
|
+
*, *::before, *::after {
|
|
7
|
+
animation-duration: .001ms !important;
|
|
8
|
+
animation-iteration-count: 1 !important;
|
|
9
|
+
transition-duration: .001ms !important;
|
|
10
|
+
scroll-behavior: auto !important;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* Keyframes (cascade-neutral). */
|
|
15
|
+
@keyframes uix-fade-in { from { opacity: 0; } to { opacity: 1; } }
|
|
16
|
+
@keyframes uix-pop-in {
|
|
17
|
+
from { opacity: 0; transform: scale(.96) translateY(var(--uix-lift)); }
|
|
18
|
+
to { opacity: 1; transform: none; }
|
|
19
|
+
}
|
|
20
|
+
@keyframes uix-slide-in-right { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: none; } }
|
|
21
|
+
@keyframes uix-slide-in-up { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
|
|
22
|
+
@keyframes uix-spin { to { transform: rotate(1turn); } }
|
|
23
|
+
@keyframes uix-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
|
|
24
|
+
|
|
25
|
+
@layer uix.motion {
|
|
26
|
+
.uix-anim-fade { animation: uix-fade-in var(--uix-dur) var(--uix-ease-out); }
|
|
27
|
+
.uix-anim-pop { animation: uix-pop-in var(--uix-dur-fast) var(--uix-ease-out); }
|
|
28
|
+
.uix-anim-up { animation: uix-slide-in-up var(--uix-dur) var(--uix-ease-out); }
|
|
29
|
+
|
|
30
|
+
/* Hover-lift affordance for interactive cards/tiles. Gated so touch devices don't get a stuck hover. */
|
|
31
|
+
.uix-lift-hover { transition: transform var(--uix-dur-fast) var(--uix-ease-out), box-shadow var(--uix-dur-fast) var(--uix-ease-out); }
|
|
32
|
+
@media (hover: hover) and (pointer: fine) {
|
|
33
|
+
.uix-lift-hover:hover { transform: translateY(calc(-1 * var(--uix-lift))); box-shadow: var(--uix-shadow-popover); }
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* uix utilities — a few layout/a11y helpers. Keep this small; tokens + components do the heavy lifting. */
|
|
2
|
+
@layer uix.util {
|
|
3
|
+
/* visually hidden but available to screen readers */
|
|
4
|
+
.uix-visually-hidden {
|
|
5
|
+
position: absolute !important;
|
|
6
|
+
width: 1px; height: 1px;
|
|
7
|
+
padding: 0; margin: -1px;
|
|
8
|
+
overflow: hidden; clip: rect(0, 0, 0, 0);
|
|
9
|
+
white-space: nowrap; border: 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* vertical rhythm — set gap via --gap (defaults to --uix-space-4 / 16px) */
|
|
13
|
+
.uix-stack { display: flex; flex-direction: column; gap: var(--gap, var(--uix-space-4)); }
|
|
14
|
+
/* horizontal grouping that wraps */
|
|
15
|
+
.uix-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gap, var(--uix-space-2)); }
|
|
16
|
+
|
|
17
|
+
.uix-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
18
|
+
|
|
19
|
+
/* elevation — apply the surface shadow tokens as a utility (cards/panels,
|
|
20
|
+
floating popovers/menus/dialogs, pressed/active pills). In dark mode
|
|
21
|
+
--uix-shadow-sm resolves to the inset top highlight, so elevated surfaces
|
|
22
|
+
keep their lift cue without a heavy drop shadow. */
|
|
23
|
+
.uix-elevated { box-shadow: var(--uix-shadow-sm); }
|
|
24
|
+
.uix-elevated-popover { box-shadow: var(--uix-shadow-popover); }
|
|
25
|
+
.uix-elevated-pill { box-shadow: var(--uix-shadow-sm); }
|
|
26
|
+
}
|