@tensor_1/tokens 2.32.0 → 2.33.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tensor_1/tokens",
3
- "version": "2.32.0",
3
+ "version": "2.33.0",
4
4
  "description": "UIx v2 design tokens — the --uix-* contract for house products (Tensor, POSx, SHOPx). One DTCG source -> CSS variables, Tailwind theme, and typed TS constants.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -30,6 +30,9 @@
30
30
  --calendar-window-edge: var(--uix-neutral-border);
31
31
  --calendar-window-text: var(--uix-text);
32
32
  --calendar-marker-ink: var(--uix-text);
33
+ --calendar-chrome-now: var(--uix-text);
34
+ --calendar-chrome-ghost: var(--uix-neutral-solid);
35
+ --calendar-chrome-ghost-surface: var(--uix-neutral-bg);
33
36
 
34
37
  /* geometry: one head line, then the lanes kept for spans, then the chip rows */
35
38
  --calendar-pad: var(--uix-space-1);
@@ -38,6 +41,8 @@
38
41
  --calendar-lane: 1.25rem;
39
42
  --calendar-chip: 1.25rem;
40
43
  --calendar-gap: 0.125rem;
44
+ --calendar-hour: 3rem;
45
+ --calendar-gutter: 3.5rem;
41
46
 
42
47
  display:grid; gap:var(--uix-space-3); min-width:0; color:var(--calendar-chrome-text);
43
48
  }
@@ -151,5 +156,58 @@
151
156
  .uix-scheduling-calendar__legend > span[data-state="in-progress"]::before { border:0.1875rem solid var(--calendar-status-text); border-radius:50%; width:0; height:0; }
152
157
  .uix-scheduling-calendar__legend > span:is([data-state="conflicted"],[data-state="blackout-violation"])::before { border:0; border-radius:0; background:var(--calendar-marker-ink); clip-path:polygon(50% 0,100% 100%,0 100%); }
153
158
 
159
+ /* ── Week / Day time grid (HAR-1509) ─────────────────────────────────────────────────────────
160
+ Four stacked rows share one column template: the day heads, the window strip, the top lane
161
+ and the hours. A day column is as tall as its day: --uix-scheduling-calendar-hours is the
162
+ real length of that day, so a clock-change day is shorter or longer than its neighbours.
163
+ Items are placed from --uix-scheduling-calendar-offset / -length (real hours) alone. */
164
+ .uix-scheduling-calendar__timegrid { position:relative; display:grid; min-width:0; overflow-x:auto; border:1px solid var(--calendar-chrome-line); border-radius:var(--uix-radius-sm); background:var(--calendar-chrome-surface); }
165
+ .uix-scheduling-calendar__tg-head,.uix-scheduling-calendar__tg-strip,.uix-scheduling-calendar__tg-body { display:grid; grid-template-columns:var(--calendar-gutter) repeat(var(--uix-scheduling-calendar-days,7),minmax(6.5rem,1fr)); min-width:calc(var(--calendar-gutter) + var(--uix-scheduling-calendar-days,7) * 6.5rem); }
166
+ .uix-scheduling-calendar__timegrid[data-view="day"] > :is(.uix-scheduling-calendar__tg-head,.uix-scheduling-calendar__tg-strip,.uix-scheduling-calendar__tg-body) { grid-template-columns:var(--calendar-gutter) minmax(0,1fr); min-width:0; }
167
+ .uix-scheduling-calendar__tg-head { background:var(--calendar-chrome-surface-quiet); }
168
+ .uix-scheduling-calendar__tg-zone { align-self:center; padding:var(--uix-space-1); color:var(--calendar-chrome-text-quiet); font-size:var(--uix-text-meta); line-height:1.2; text-align:right; overflow-wrap:anywhere; }
169
+ .uix-scheduling-calendar__tg-dayhead { display:flex; flex-wrap:wrap; align-items:center; align-content:center; gap:0 var(--uix-space-1); min-width:0; padding:var(--uix-space-1); border-left:1px solid var(--calendar-chrome-line); font-size:var(--uix-text-meta); overflow:hidden; }
170
+ .uix-scheduling-calendar__tg-dayhead > .uix-scheduling-calendar__date { flex:none; width:auto; height:var(--calendar-head); font-weight:600; text-align:left; white-space:nowrap; }
171
+ .uix-scheduling-calendar__tg-dayhead > .uix-scheduling-calendar__markers { flex:0 1 auto; min-width:0; max-width:100%; overflow:hidden; }
172
+ .uix-scheduling-calendar__tg-dayhead > .uix-scheduling-calendar__more { flex:none; margin-left:auto; }
173
+ .uix-scheduling-calendar__marker-label { margin-left:var(--calendar-gap); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
174
+
175
+ /* the window strip and the top lane: one grid row per lane, a bounded height */
176
+ .uix-scheduling-calendar__tg-strip { grid-auto-rows:var(--calendar-lane); align-items:center; padding:var(--calendar-gap) 0; border-top:1px solid var(--calendar-chrome-line); }
177
+ .uix-scheduling-calendar__tg-strip > :is(.uix-scheduling-calendar__window,.uix-scheduling-calendar__tg-span,.uix-scheduling-calendar__tg-ghost,.uix-scheduling-calendar__rowmore) { grid-row:calc(var(--uix-scheduling-calendar-lane,0) + 1); align-self:center; height:calc(var(--calendar-lane) - var(--calendar-gap)); margin:0 var(--calendar-pad-inline); }
178
+ .uix-scheduling-calendar__tg-strip > .uix-scheduling-calendar__rowmore { grid-column:-2 / -1; grid-row:var(--uix-scheduling-calendar-lanes,1); justify-self:end; }
179
+ .uix-scheduling-calendar__tg-top { min-height:calc(var(--calendar-lane) + 2 * var(--calendar-gap)); }
180
+ :is(.uix-scheduling-calendar__tg-span,.uix-scheduling-calendar__window)[data-continues-before] { border-left-style:dashed; border-top-left-radius:0; border-bottom-left-radius:0; }
181
+ :is(.uix-scheduling-calendar__tg-span,.uix-scheduling-calendar__window)[data-continues-after] { border-right-style:dashed; border-top-right-radius:0; border-bottom-right-radius:0; }
182
+
183
+ /* the hours */
184
+ .uix-scheduling-calendar__tg-body { position:relative; grid-template-rows:calc(var(--uix-scheduling-calendar-hours,1) * var(--calendar-hour)); border-top:1px solid var(--calendar-chrome-line); }
185
+ .uix-scheduling-calendar__tg-gutter { grid-column:1; grid-row:1; position:relative; }
186
+ .uix-scheduling-calendar__tg-hour { position:absolute; top:calc(var(--uix-scheduling-calendar-offset,0) * var(--calendar-hour)); right:var(--uix-space-1); padding-top:var(--calendar-gap); color:var(--calendar-chrome-text-quiet); font-size:var(--uix-text-meta); font-variant-numeric:tabular-nums; line-height:1; text-align:right; pointer-events:none; }
187
+ .uix-scheduling-calendar__tg-hour--inline { right:auto; left:var(--calendar-gap); }
188
+ .uix-scheduling-calendar__tg-offset { display:block; }
189
+ /* one painted background draws every hour line of a column: no element per hour */
190
+ .uix-scheduling-calendar__tg-column { grid-row:1; align-self:start; position:relative; min-width:0; height:calc(var(--uix-scheduling-calendar-hours,1) * var(--calendar-hour)); border-left:1px solid var(--calendar-chrome-line); background-image:repeating-linear-gradient(to bottom,var(--calendar-chrome-line) 0 1px,transparent 1px var(--calendar-hour)); }
191
+ .uix-scheduling-calendar__tg-item { position:absolute; top:calc(var(--uix-scheduling-calendar-offset,0) * var(--calendar-hour)); left:calc(var(--uix-scheduling-calendar-lane,0) / var(--uix-scheduling-calendar-lanes,1) * 100%); width:calc(100% / var(--uix-scheduling-calendar-lanes,1) - 2px); height:max(calc(var(--uix-scheduling-calendar-length,1) * var(--calendar-hour) - 1px),0.875rem); align-items:flex-start; padding:0 0.125rem; line-height:1rem; }
192
+ .uix-scheduling-calendar__tg-item > .uix-scheduling-calendar__entry-text { white-space:normal; overflow-wrap:anywhere; max-height:100%; }
193
+ .uix-scheduling-calendar__tg-item[data-lines="1"] > .uix-scheduling-calendar__entry-text { white-space:nowrap; overflow-wrap:normal; }
194
+ .uix-scheduling-calendar__tg-item > .uix-scheduling-calendar__markers { height:1rem; }
195
+ .uix-scheduling-calendar__tg-from { flex:1 1 auto; min-width:0; overflow:hidden; white-space:nowrap; font-style:italic; }
196
+ /* an item that crosses midnight: two parts with the shared edge left open */
197
+ .uix-scheduling-calendar__tg-item[data-part="start"] { border-bottom-style:dashed; border-bottom-left-radius:0; border-bottom-right-radius:0; }
198
+ .uix-scheduling-calendar__tg-item[data-part="continuation"] { border-top-style:dashed; border-top-left-radius:0; border-top-right-radius:0; }
199
+ :is(.uix-scheduling-calendar__tg-item,.uix-scheduling-calendar__tg-span)[data-movable] { cursor:grab; }
200
+ /* a pending move: an outline where the item would go; the item itself stays put */
201
+ .uix-scheduling-calendar__tg-ghost { border:2px dashed var(--calendar-chrome-ghost); border-radius:var(--uix-radius-xs); background:var(--calendar-chrome-ghost-surface); opacity:0.7; pointer-events:none; }
202
+ .uix-scheduling-calendar__tg-ghost[data-sent] { border-style:dotted; }
203
+ .uix-scheduling-calendar__tg-column > .uix-scheduling-calendar__tg-ghost { position:absolute; left:0; right:0; top:calc(var(--uix-scheduling-calendar-offset,0) * var(--calendar-hour)); height:max(calc(var(--uix-scheduling-calendar-length,1) * var(--calendar-hour)),0.875rem); }
204
+ .uix-scheduling-calendar__tg-now { position:absolute; left:0; right:0; top:calc(var(--uix-scheduling-calendar-offset,0) * var(--calendar-hour)); border-top:2px solid var(--calendar-chrome-now); pointer-events:none; }
205
+ .uix-scheduling-calendar__tg-now::before { content:""; position:absolute; left:0; top:-0.3125rem; border:0.25rem solid var(--calendar-chrome-now); border-radius:50%; }
206
+ /* a window that applies to everything also tints its hours, behind the items: a flat, quiet
207
+ tint (the hatch stays on its bar in the strip) */
208
+ .uix-scheduling-calendar__tg-shade[data-pattern] { grid-row:1; background-color:var(--calendar-window-surface); opacity:0.45; pointer-events:none; }
209
+ /* the narrowest lane worth drawing: an item that shows a time and six title characters */
210
+ .uix-scheduling-calendar__tg-probe { position:absolute; left:0; top:0; height:0; padding:0 0.125rem; border:0 solid transparent; border-width:0 1px; visibility:hidden; overflow:hidden; white-space:nowrap; font-size:var(--uix-text-meta); pointer-events:none; }
211
+
154
212
  .uix-scheduling-calendar__state { padding:var(--uix-space-8); border:1px dashed var(--calendar-chrome-line-strong); border-radius:var(--uix-radius-lg); text-align:center; }
155
213
  }