@inkra/react 0.10.0 → 0.12.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.
@@ -66,7 +66,48 @@
66
66
  flex: none;
67
67
  }
68
68
 
69
+ .inkra-number-ticker[data-animation="morph"] { min-inline-size: 0; }
70
+
71
+ .inkra-number-ticker[data-animation="morph"] .inkra-number-ticker__value {
72
+ display: block;
73
+ max-inline-size: 100%;
74
+ overflow: hidden;
75
+ }
76
+
77
+ .inkra-number-ticker__morph {
78
+ position: relative;
79
+ display: inline-flex;
80
+ flex: none;
81
+ align-items: baseline;
82
+ justify-content: flex-end;
83
+ max-inline-size: 100%;
84
+ height: 1lh;
85
+ line-height: var(--inkra-line-ui, 1.45);
86
+ overflow: hidden;
87
+ contain: paint;
88
+ unicode-bidi: isolate;
89
+ }
90
+
91
+ .inkra-number-ticker__morph-glyph {
92
+ display: inline-flex;
93
+ flex: none;
94
+ justify-content: center;
95
+ align-items: center;
96
+ height: 1lh;
97
+ white-space: pre;
98
+ }
99
+
100
+ .inkra-number-ticker__morph-glyph > .inkra-pencil-text { flex: none; }
101
+
69
102
  @media (prefers-reduced-motion: reduce), print {
103
+ .inkra-number-ticker__morph { width: auto !important; }
104
+ .inkra-number-ticker__morph-glyph[data-face="from"] { display: none; }
105
+ .inkra-number-ticker__morph-glyph[data-face="to"] {
106
+ position: relative !important;
107
+ left: auto !important;
108
+ transform: none !important;
109
+ opacity: 1 !important;
110
+ }
70
111
  .inkra-number-ticker__column { grid-template-columns: 1fr !important; }
71
112
  .inkra-number-ticker__column[data-digit] { width: 1ch !important; }
72
113
  .inkra-number-ticker__column[data-departing] { display: none; }
package/dist/styles.css CHANGED
@@ -4445,8 +4445,6 @@
4445
4445
  }
4446
4446
 
4447
4447
  .inkra-log[data-toolbar="true"] { grid-template-rows: auto minmax(var(--inkra-touch-target), 1fr); }
4448
- .inkra-log:has(> .inkra-log__latest) { grid-template-rows: minmax(var(--inkra-touch-target), 1fr) auto; }
4449
- .inkra-log[data-toolbar="true"]:has(> .inkra-log__latest) { grid-template-rows: auto minmax(var(--inkra-touch-target), 1fr) auto; }
4450
4448
 
4451
4449
  .inkra-log__toolbar {
4452
4450
  align-items: center;
@@ -4590,21 +4588,15 @@
4590
4588
  }
4591
4589
 
4592
4590
  .inkra-log__latest {
4593
- align-items: center;
4594
4591
  display: flex;
4595
- justify-content: flex-end;
4596
- max-inline-size: 100%;
4597
- min-inline-size: 0;
4598
- padding: var(--inkra-space-2) var(--inkra-space-3);
4599
- position: relative;
4592
+ inset-block-end: clamp(0px, calc(100% - var(--inkra-touch-target)), var(--inkra-space-2));
4593
+ inset-inline-end: var(--inkra-space-3);
4594
+ position: absolute;
4600
4595
  z-index: 2;
4601
4596
  }
4602
4597
 
4603
- .inkra-log__latest-divider {
4604
- color: var(--inkra-border);
4605
- inset-block-start: -4px;
4606
- inset-inline: 0;
4607
- position: absolute;
4598
+ .inkra-log__latest .inkra-button__surface {
4599
+ background: var(--inkra-paper);
4608
4600
  }
4609
4601
 
4610
4602
  @container (max-width: 36rem) {
@@ -4620,11 +4612,6 @@
4620
4612
  .inkra-log__follow-control .inkra-button__content,
4621
4613
  .inkra-log__follow-control .inkra-button__label,
4622
4614
  .inkra-log__follow-control .inkra-pencil-text__source { min-inline-size: 0; white-space: normal; overflow-wrap: anywhere; }
4623
- .inkra-log__latest .inkra-button { inline-size: 100%; }
4624
- .inkra-log__latest .inkra-button__surface { height: auto; inline-size: 100%; max-inline-size: 100%; min-height: var(--inkra-button-visual-height); padding-block: var(--inkra-space-2); }
4625
- .inkra-log__latest .inkra-button__content,
4626
- .inkra-log__latest .inkra-button__label,
4627
- .inkra-log__latest .inkra-pencil-text__source { min-inline-size: 0; white-space: normal; overflow-wrap: anywhere; }
4628
4615
  }
4629
4616
 
4630
4617
  @media (forced-colors: active) {
@@ -4892,7 +4879,48 @@
4892
4879
  flex: none;
4893
4880
  }
4894
4881
 
4882
+ .inkra-number-ticker[data-animation="morph"] { min-inline-size: 0; }
4883
+
4884
+ .inkra-number-ticker[data-animation="morph"] .inkra-number-ticker__value {
4885
+ display: block;
4886
+ max-inline-size: 100%;
4887
+ overflow: hidden;
4888
+ }
4889
+
4890
+ .inkra-number-ticker__morph {
4891
+ position: relative;
4892
+ display: inline-flex;
4893
+ flex: none;
4894
+ align-items: baseline;
4895
+ justify-content: flex-end;
4896
+ max-inline-size: 100%;
4897
+ height: 1lh;
4898
+ line-height: var(--inkra-line-ui, 1.45);
4899
+ overflow: hidden;
4900
+ contain: paint;
4901
+ unicode-bidi: isolate;
4902
+ }
4903
+
4904
+ .inkra-number-ticker__morph-glyph {
4905
+ display: inline-flex;
4906
+ flex: none;
4907
+ justify-content: center;
4908
+ align-items: center;
4909
+ height: 1lh;
4910
+ white-space: pre;
4911
+ }
4912
+
4913
+ .inkra-number-ticker__morph-glyph > .inkra-pencil-text { flex: none; }
4914
+
4895
4915
  @media (prefers-reduced-motion: reduce), print {
4916
+ .inkra-number-ticker__morph { width: auto !important; }
4917
+ .inkra-number-ticker__morph-glyph[data-face="from"] { display: none; }
4918
+ .inkra-number-ticker__morph-glyph[data-face="to"] {
4919
+ position: relative !important;
4920
+ left: auto !important;
4921
+ transform: none !important;
4922
+ opacity: 1 !important;
4923
+ }
4896
4924
  .inkra-number-ticker__column { grid-template-columns: 1fr !important; }
4897
4925
  .inkra-number-ticker__column[data-digit] { width: 1ch !important; }
4898
4926
  .inkra-number-ticker__column[data-departing] { display: none; }
@@ -7273,6 +7301,40 @@ div.inkra-choice-grid > .inkra-radio-group {
7273
7301
  .inkra-node-graph__control:focus-visible { outline: 2px solid Highlight; outline-offset: 2px; }
7274
7302
  }
7275
7303
 
7304
+ .inkra-dependency-graph__node { position: relative; width: 100%; height: 100%; }
7305
+ .inkra-dependency-graph__anchor.react-flow__handle { position: absolute; width: 0; height: 0; min-width: 0; min-height: 0; border: 0; opacity: 0; pointer-events: none; }
7306
+ .inkra-dependency-graph__card, .inkra-dependency-graph__icon-button { box-sizing: border-box; width: 100%; height: 100%; padding: 14px 16px; border: 0; font: inherit; color: var(--inkra-ink); text-align: start; display: flex; flex-direction: column; gap: 6px; pointer-events: auto; }
7307
+ .inkra-dependency-graph__card--custom { padding: 0; }
7308
+ .inkra-dependency-graph__header { display: flex; align-items: center; gap: 10px; min-width: 0; }
7309
+ .inkra-dependency-graph__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
7310
+ .inkra-dependency-graph__title { appearance: none; background: none; border: 0; padding: 0; margin: 0; min-width: 0; flex: 1; font: inherit; color: inherit; text-align: start; font-weight: 600; cursor: pointer; }
7311
+ .inkra-dependency-graph__title > * { max-width: 100%; }
7312
+ .inkra-dependency-graph__actions { display: flex; align-items: center; flex: 0 0 auto; gap: 4px; margin-inline-start: auto; }
7313
+ .inkra-dependency-graph__body { min-height: 0; overflow: auto; font-size: var(--inkra-text-sm); color: var(--inkra-ink-muted); }
7314
+ .inkra-dependency-graph__footer { display: flex; align-items: center; gap: 8px; margin-top: auto; }
7315
+ .inkra-dependency-graph__icon-button { align-items: center; justify-content: center; padding: 10px; cursor: pointer; }
7316
+ .inkra-dependency-graph__card:focus-visible, .inkra-dependency-graph__title:focus-visible, .inkra-dependency-graph__icon-button:focus-visible { outline: 0; }
7317
+ .inkra-dependency-graph__focus { --inkra-accent-strong: var(--inkra-focus); position: absolute !important; inset: -5px; pointer-events: none; opacity: 0; }
7318
+ .inkra-dependency-graph__card:focus-visible > .inkra-dependency-graph__focus,
7319
+ .inkra-dependency-graph__card--custom:focus-visible .inkra-dependency-graph__focus,
7320
+ .inkra-dependency-graph__card:has(.inkra-dependency-graph__title:focus-visible) > .inkra-dependency-graph__focus,
7321
+ .inkra-dependency-graph__icon-button:focus-visible > .inkra-dependency-graph__focus { opacity: 1; }
7322
+ .inkra-dependency-graph__node[data-disabled] { opacity: .55; }
7323
+ .inkra-dependency-graph__title:disabled, .inkra-dependency-graph__icon-button:disabled { cursor: not-allowed; }
7324
+ .inkra-dependency-graph__status { font-size: var(--inkra-text-sm); color: var(--inkra-ink-muted); }
7325
+ .inkra-dependency-graph__node[data-status="completed"] .inkra-dependency-graph__status { color: var(--inkra-success); }
7326
+ .inkra-dependency-graph__node[data-status="available"] .inkra-dependency-graph__status,
7327
+ .inkra-dependency-graph__node[data-status="active"] .inkra-dependency-graph__status { color: var(--inkra-accent-strong); }
7328
+ .inkra-dependency-graph__highlight { position: absolute !important; inset: -3px; pointer-events: none; }
7329
+ .inkra-dependency-graph__node[data-dimmed], .inkra-dependency-graph__edge[data-dimmed] { opacity: .5; }
7330
+ .inkra-dependency-graph__edge { color: var(--inkra-ink-muted); }
7331
+ .inkra-dependency-graph__edge[data-highlighted], .inkra-dependency-graph__edge--highlighted { color: var(--inkra-accent-strong); }
7332
+ @media (forced-colors: active) {
7333
+ .inkra-dependency-graph__card:focus-visible, .inkra-dependency-graph__title:focus-visible, .inkra-dependency-graph__icon-button:focus-visible { outline: var(--inkra-focus-width) solid Highlight; outline-offset: 4px; }
7334
+ .inkra-dependency-graph__focus { display: none !important; }
7335
+ .inkra-dependency-graph__node[data-dimmed], .inkra-dependency-graph__edge[data-dimmed] { opacity: 1; }
7336
+ }
7337
+
7276
7338
  .inkra-overflow-list {
7277
7339
  --inkra-overflow-list-gap: var(--inkra-space-2);
7278
7340
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkra/react",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "description": "Hand-drawn React controls with native semantics and deterministic decoration.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -489,7 +489,13 @@
489
489
  "./styles/tree-select.css": "./dist/styles/tree-select.css",
490
490
  "./styles/typewriter.css": "./dist/styles/typewriter.css",
491
491
  "./styles/upload.css": "./dist/styles/upload.css",
492
- "./styles/virtual-list.css": "./dist/styles/virtual-list.css"
492
+ "./styles/virtual-list.css": "./dist/styles/virtual-list.css",
493
+ "./dependency-graph": {
494
+ "types": "./dist/dependency-graph/index.d.ts",
495
+ "import": "./dist/dependency-graph/index.js",
496
+ "default": "./dist/dependency-graph/index.js"
497
+ },
498
+ "./styles/dependency-graph.css": "./dist/styles/dependency-graph.css"
493
499
  },
494
500
  "files": [
495
501
  "dist",