@terrafirmagreg-team/recipe 1.2.1 → 1.2.3

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/styles/calc.css CHANGED
@@ -1,308 +1,308 @@
1
- .calc-edge--link .chevron-edge__base {
2
- stroke-dasharray: 5 4;
3
- stroke: color-mix(
4
- in oklab,
5
- var(--color-primary) 65%,
6
- var(--color-muted-foreground)
7
- );
8
- }
9
-
10
- .calc-flow .react-flow__node {
11
- cursor: default;
12
- }
13
-
14
- .calc-flow .react-flow__node.dragging {
15
- cursor: grabbing;
16
- }
17
-
18
- .calc-rail {
19
- position: absolute;
20
- top: 2px;
21
- bottom: 2px;
22
- z-index: 25;
23
- display: flex;
24
- flex-direction: column;
25
- flex-wrap: nowrap;
26
- justify-content: center;
27
- gap: 2px;
28
- overflow: hidden;
29
- width: 20px;
30
- pointer-events: none;
31
- }
32
-
33
- .calc-rail .calc-port {
34
- pointer-events: auto;
35
- }
36
-
37
- .calc-rail--in {
38
- right: calc(100% - 10px);
39
- align-items: flex-start;
40
- }
41
-
42
- .calc-rail--out {
43
- left: calc(100% - 10px);
44
- align-items: flex-end;
45
- }
46
-
47
- .calc-port {
48
- position: absolute;
49
- display: grid;
50
- width: 20px;
51
- height: 20px;
52
- place-items: center;
53
- border-radius: 3px;
54
- border: 1px solid;
55
- background: var(--color-card);
56
- padding: 0;
57
- z-index: 25;
58
- cursor: default;
59
- }
60
-
61
- .calc-rail .calc-port {
62
- position: relative;
63
- flex: none;
64
- inset: auto;
65
- transform: none;
66
- }
67
-
68
- .calc-port--ghost {
69
- opacity: 0;
70
- pointer-events: none;
71
- border-color: transparent;
72
- background: transparent;
73
- }
74
-
75
- .calc-port-inner {
76
- position: relative;
77
- display: grid;
78
- place-items: center;
79
- }
80
-
81
- .calc-port.connectionindicator {
82
- cursor: default;
83
- }
84
-
85
- .calc-port--in.connectionindicator {
86
- cursor: pointer;
87
- }
88
-
89
- .calc-port--out.connectionindicator {
90
- cursor: pointer;
91
- }
92
-
93
- .calc-port--out {
94
- border-color: var(--color-red-400, #f87171);
95
- background: color-mix(in oklab, var(--color-red-400, #f87171) 14%, var(--color-card));
96
- cursor: pointer;
97
- }
98
-
99
- .calc-port--out:hover,
100
- .calc-port--out.connectablestart {
101
- background: color-mix(in oklab, var(--color-red-400, #f87171) 30%, var(--color-card));
102
- }
103
-
104
- .calc-port--over {
105
- border-color: var(--color-red-500, #ef4444);
106
- box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--color-red-500, #ef4444) 55%, transparent);
107
- }
108
-
109
- .calc-port--in {
110
- border-color: var(--color-emerald-500, #10b981);
111
- background: color-mix(in oklab, var(--color-emerald-500, #10b981) 10%, var(--color-card));
112
- cursor: pointer;
113
- }
114
-
115
- .calc-port--in:hover,
116
- .calc-port--in.connectableend:hover {
117
- background: color-mix(in oklab, var(--color-emerald-500, #10b981) 28%, var(--color-card));
118
- }
119
-
120
- .calc-port--open {
121
- border-style: dashed;
122
- }
123
-
124
- .calc-port--open .calc-port-inner {
125
- opacity: 0.55;
126
- }
127
-
128
- .calc-port--partial {
129
- border-color: var(--color-amber-400, #fbbf24);
130
- background: color-mix(in oklab, var(--color-amber-400, #fbbf24) 12%, var(--color-card));
131
- }
132
-
133
- .calc-port--full {
134
- border-color: var(--color-emerald-500, #10b981);
135
- background: color-mix(in oklab, var(--color-emerald-500, #10b981) 16%, var(--color-card));
136
- }
137
-
138
- .calc-port--cat {
139
- border-style: dotted;
140
- }
141
-
142
- .calc-port--more {
143
- display: flex;
144
- flex-direction: column;
145
- align-items: center;
146
- justify-content: center;
147
- gap: 0;
148
- height: 20px;
149
- border: 1px dashed color-mix(in oklab, var(--color-muted-foreground) 45%, transparent);
150
- background: var(--color-card);
151
- color: var(--color-muted-foreground);
152
- font-size: 7px;
153
- line-height: 1;
154
- cursor: pointer;
155
- }
156
-
157
- .calc-port--more:hover {
158
- color: var(--color-foreground);
159
- border-color: var(--color-muted-foreground);
160
- }
161
-
162
- .calc-port-count {
163
- position: absolute;
164
- left: 50%;
165
- bottom: 0;
166
- transform: translateX(-50%);
167
- z-index: 1;
168
- pointer-events: none;
169
- white-space: nowrap;
170
- font-size: 8px;
171
- font-weight: 600;
172
- line-height: 1;
173
- padding-bottom: 0.5px;
174
- color: var(--color-foreground);
175
- text-shadow:
176
- 0 0 2px var(--color-card),
177
- 0 1px 1px var(--color-card),
178
- 1px 0 1px var(--color-card),
179
- -1px 0 1px var(--color-card),
180
- 0 -1px 1px var(--color-card);
181
- }
182
-
183
- .calc-port-count[data-len='l'] {
184
- font-size: 7px;
185
- }
186
-
187
- .calc-port-count[data-len='xl'] {
188
- font-size: 6px;
189
- }
190
-
191
- .calc-edge--wire.selected .chevron-edge__base,
192
- .react-flow__edge.selected .chevron-edge__base {
193
- stroke: var(--color-primary);
194
- }
195
-
196
- .calc-flow .react-flow__node:not(.dragging) {
197
- transition: transform 240ms ease;
198
- }
199
-
200
- .calc-flow .react-flow__node-calcMaterial[style*='--calc-delay'] {
201
- animation: calc-node-in 200ms ease-out both;
202
- animation-delay: var(--calc-delay, 0ms);
203
- }
204
-
205
- .calc-flow
206
- .react-flow__node-calcMaterial[style*='--calc-delay']
207
- [data-calc-card] {
208
- animation: calc-card-in 200ms ease-out both;
209
- animation-delay: var(--calc-delay, 0ms);
210
- }
211
-
212
- @keyframes calc-node-in {
213
- from {
214
- opacity: 0;
215
- }
216
- }
217
-
218
- @keyframes calc-card-in {
219
- from {
220
- transform: translateY(6px) scale(0.92);
221
- }
222
- }
223
-
224
- .react-flow__node.calc-node--focus [data-calc-card] {
225
- box-shadow: 0 0 0 2px var(--color-primary);
226
- }
227
-
228
- .calc-flow--dots .react-flow__edges {
229
- display: none;
230
- }
231
-
232
- .calc-edge-label {
233
- display: inline-flex;
234
- align-items: center;
235
- gap: 2px;
236
- border-radius: 4px;
237
- border: 1px solid var(--color-border);
238
- background: var(--color-card);
239
- padding: 1px 4px;
240
- font-size: 9px;
241
- line-height: 1.3;
242
- color: var(--color-muted-foreground);
243
- cursor: pointer;
244
- pointer-events: all;
245
- }
246
-
247
- .calc-edge-label > span:first-child {
248
- line-height: 0;
249
- }
250
-
251
- .calc-edge-label:hover {
252
- color: var(--color-foreground);
253
- border-color: var(--color-muted-foreground);
254
- }
255
-
256
- .calc-edge-label__name {
257
- max-width: 90px;
258
- overflow: hidden;
259
- text-overflow: ellipsis;
260
- white-space: nowrap;
261
- color: var(--color-foreground);
262
- }
263
-
264
- .calc-edge-label__cut {
265
- display: none;
266
- color: var(--color-red-500, #ef4444);
267
- font-size: 11px;
268
- font-weight: 600;
269
- line-height: 1;
270
- }
271
-
272
- .calc-edge-label__input {
273
- width: 56px;
274
- border-radius: 4px;
275
- border: 1px solid var(--color-primary);
276
- background: var(--color-card);
277
- padding: 1px 4px;
278
- font-size: 10px;
279
- outline: none;
280
- }
281
-
282
- .calc-flow--shift .react-flow__edge {
283
- cursor: pointer;
284
- }
285
-
286
- .calc-flow--shift
287
- .react-flow__edge:hover
288
- .calc-edge-label
289
- .calc-edge-label__amount {
290
- display: none;
291
- }
292
-
293
- .calc-flow--shift .react-flow__edge:hover .calc-edge-label .calc-edge-label__cut {
294
- display: inline;
295
- }
296
-
297
- .calc-flow--shift .react-flow__edge:hover .chevron-edge__base {
298
- stroke: var(--color-red-500, #ef4444);
299
- }
300
-
301
- .react-flow__node.calc-node--dim {
302
- opacity: 0.35;
303
- transition: opacity 160ms ease;
304
- }
305
-
306
- .react-flow__node.calc-node--chain [data-calc-card] {
307
- box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--color-primary) 65%, transparent);
308
- }
1
+ .calc-edge--link .chevron-edge__base {
2
+ stroke-dasharray: 5 4;
3
+ stroke: color-mix(
4
+ in oklab,
5
+ var(--color-primary) 65%,
6
+ var(--color-muted-foreground)
7
+ );
8
+ }
9
+
10
+ .calc-flow .react-flow__node {
11
+ cursor: default;
12
+ }
13
+
14
+ .calc-flow .react-flow__node.dragging {
15
+ cursor: grabbing;
16
+ }
17
+
18
+ .calc-rail {
19
+ position: absolute;
20
+ top: 2px;
21
+ bottom: 2px;
22
+ z-index: 25;
23
+ display: flex;
24
+ flex-direction: column;
25
+ flex-wrap: nowrap;
26
+ justify-content: center;
27
+ gap: 2px;
28
+ overflow: hidden;
29
+ width: 20px;
30
+ pointer-events: none;
31
+ }
32
+
33
+ .calc-rail .calc-port {
34
+ pointer-events: auto;
35
+ }
36
+
37
+ .calc-rail--in {
38
+ right: calc(100% - 10px);
39
+ align-items: flex-start;
40
+ }
41
+
42
+ .calc-rail--out {
43
+ left: calc(100% - 10px);
44
+ align-items: flex-end;
45
+ }
46
+
47
+ .calc-port {
48
+ position: absolute;
49
+ display: grid;
50
+ width: 20px;
51
+ height: 20px;
52
+ place-items: center;
53
+ border-radius: 3px;
54
+ border: 1px solid;
55
+ background: var(--color-card);
56
+ padding: 0;
57
+ z-index: 25;
58
+ cursor: default;
59
+ }
60
+
61
+ .calc-rail .calc-port {
62
+ position: relative;
63
+ flex: none;
64
+ inset: auto;
65
+ transform: none;
66
+ }
67
+
68
+ .calc-port--ghost {
69
+ opacity: 0;
70
+ pointer-events: none;
71
+ border-color: transparent;
72
+ background: transparent;
73
+ }
74
+
75
+ .calc-port-inner {
76
+ position: relative;
77
+ display: grid;
78
+ place-items: center;
79
+ }
80
+
81
+ .calc-port.connectionindicator {
82
+ cursor: default;
83
+ }
84
+
85
+ .calc-port--in.connectionindicator {
86
+ cursor: pointer;
87
+ }
88
+
89
+ .calc-port--out.connectionindicator {
90
+ cursor: pointer;
91
+ }
92
+
93
+ .calc-port--out {
94
+ border-color: var(--color-red-400, #f87171);
95
+ background: color-mix(in oklab, var(--color-red-400, #f87171) 14%, var(--color-card));
96
+ cursor: pointer;
97
+ }
98
+
99
+ .calc-port--out:hover,
100
+ .calc-port--out.connectablestart {
101
+ background: color-mix(in oklab, var(--color-red-400, #f87171) 30%, var(--color-card));
102
+ }
103
+
104
+ .calc-port--over {
105
+ border-color: var(--color-red-500, #ef4444);
106
+ box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--color-red-500, #ef4444) 55%, transparent);
107
+ }
108
+
109
+ .calc-port--in {
110
+ border-color: var(--color-emerald-500, #10b981);
111
+ background: color-mix(in oklab, var(--color-emerald-500, #10b981) 10%, var(--color-card));
112
+ cursor: pointer;
113
+ }
114
+
115
+ .calc-port--in:hover,
116
+ .calc-port--in.connectableend:hover {
117
+ background: color-mix(in oklab, var(--color-emerald-500, #10b981) 28%, var(--color-card));
118
+ }
119
+
120
+ .calc-port--open {
121
+ border-style: dashed;
122
+ }
123
+
124
+ .calc-port--open .calc-port-inner {
125
+ opacity: 0.55;
126
+ }
127
+
128
+ .calc-port--partial {
129
+ border-color: var(--color-amber-400, #fbbf24);
130
+ background: color-mix(in oklab, var(--color-amber-400, #fbbf24) 12%, var(--color-card));
131
+ }
132
+
133
+ .calc-port--full {
134
+ border-color: var(--color-emerald-500, #10b981);
135
+ background: color-mix(in oklab, var(--color-emerald-500, #10b981) 16%, var(--color-card));
136
+ }
137
+
138
+ .calc-port--cat {
139
+ border-style: dotted;
140
+ }
141
+
142
+ .calc-port--more {
143
+ display: flex;
144
+ flex-direction: column;
145
+ align-items: center;
146
+ justify-content: center;
147
+ gap: 0;
148
+ height: 20px;
149
+ border: 1px dashed color-mix(in oklab, var(--color-muted-foreground) 45%, transparent);
150
+ background: var(--color-card);
151
+ color: var(--color-muted-foreground);
152
+ font-size: 7px;
153
+ line-height: 1;
154
+ cursor: pointer;
155
+ }
156
+
157
+ .calc-port--more:hover {
158
+ color: var(--color-foreground);
159
+ border-color: var(--color-muted-foreground);
160
+ }
161
+
162
+ .calc-port-count {
163
+ position: absolute;
164
+ left: 50%;
165
+ bottom: 0;
166
+ transform: translateX(-50%);
167
+ z-index: 1;
168
+ pointer-events: none;
169
+ white-space: nowrap;
170
+ font-size: 8px;
171
+ font-weight: 600;
172
+ line-height: 1;
173
+ padding-bottom: 0.5px;
174
+ color: var(--color-foreground);
175
+ text-shadow:
176
+ 0 0 2px var(--color-card),
177
+ 0 1px 1px var(--color-card),
178
+ 1px 0 1px var(--color-card),
179
+ -1px 0 1px var(--color-card),
180
+ 0 -1px 1px var(--color-card);
181
+ }
182
+
183
+ .calc-port-count[data-len='l'] {
184
+ font-size: 7px;
185
+ }
186
+
187
+ .calc-port-count[data-len='xl'] {
188
+ font-size: 6px;
189
+ }
190
+
191
+ .calc-edge--wire.selected .chevron-edge__base,
192
+ .react-flow__edge.selected .chevron-edge__base {
193
+ stroke: var(--color-primary);
194
+ }
195
+
196
+ .calc-flow .react-flow__node:not(.dragging) {
197
+ transition: transform 240ms ease;
198
+ }
199
+
200
+ .calc-flow .react-flow__node-calcMaterial[style*='--calc-delay'] {
201
+ animation: calc-node-in 200ms ease-out both;
202
+ animation-delay: var(--calc-delay, 0ms);
203
+ }
204
+
205
+ .calc-flow
206
+ .react-flow__node-calcMaterial[style*='--calc-delay']
207
+ [data-calc-card] {
208
+ animation: calc-card-in 200ms ease-out both;
209
+ animation-delay: var(--calc-delay, 0ms);
210
+ }
211
+
212
+ @keyframes calc-node-in {
213
+ from {
214
+ opacity: 0;
215
+ }
216
+ }
217
+
218
+ @keyframes calc-card-in {
219
+ from {
220
+ transform: translateY(6px) scale(0.92);
221
+ }
222
+ }
223
+
224
+ .react-flow__node.calc-node--focus [data-calc-card] {
225
+ box-shadow: 0 0 0 2px var(--color-primary);
226
+ }
227
+
228
+ .calc-flow--dots .react-flow__edges {
229
+ display: none;
230
+ }
231
+
232
+ .calc-edge-label {
233
+ display: inline-flex;
234
+ align-items: center;
235
+ gap: 2px;
236
+ border-radius: 4px;
237
+ border: 1px solid var(--color-border);
238
+ background: var(--color-card);
239
+ padding: 1px 4px;
240
+ font-size: 9px;
241
+ line-height: 1.3;
242
+ color: var(--color-muted-foreground);
243
+ cursor: pointer;
244
+ pointer-events: all;
245
+ }
246
+
247
+ .calc-edge-label > span:first-child {
248
+ line-height: 0;
249
+ }
250
+
251
+ .calc-edge-label:hover {
252
+ color: var(--color-foreground);
253
+ border-color: var(--color-muted-foreground);
254
+ }
255
+
256
+ .calc-edge-label__name {
257
+ max-width: 90px;
258
+ overflow: hidden;
259
+ text-overflow: ellipsis;
260
+ white-space: nowrap;
261
+ color: var(--color-foreground);
262
+ }
263
+
264
+ .calc-edge-label__cut {
265
+ display: none;
266
+ color: var(--color-red-500, #ef4444);
267
+ font-size: 11px;
268
+ font-weight: 600;
269
+ line-height: 1;
270
+ }
271
+
272
+ .calc-edge-label__input {
273
+ width: 56px;
274
+ border-radius: 4px;
275
+ border: 1px solid var(--color-primary);
276
+ background: var(--color-card);
277
+ padding: 1px 4px;
278
+ font-size: 10px;
279
+ outline: none;
280
+ }
281
+
282
+ .calc-flow--shift .react-flow__edge {
283
+ cursor: pointer;
284
+ }
285
+
286
+ .calc-flow--shift
287
+ .react-flow__edge:hover
288
+ .calc-edge-label
289
+ .calc-edge-label__amount {
290
+ display: none;
291
+ }
292
+
293
+ .calc-flow--shift .react-flow__edge:hover .calc-edge-label .calc-edge-label__cut {
294
+ display: inline;
295
+ }
296
+
297
+ .calc-flow--shift .react-flow__edge:hover .chevron-edge__base {
298
+ stroke: var(--color-red-500, #ef4444);
299
+ }
300
+
301
+ .react-flow__node.calc-node--dim {
302
+ opacity: 0.35;
303
+ transition: opacity 160ms ease;
304
+ }
305
+
306
+ .react-flow__node.calc-node--chain [data-calc-card] {
307
+ box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--color-primary) 65%, transparent);
308
+ }