@obolnetwork/obol-ui 1.0.22 → 1.0.25

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.
@@ -0,0 +1,484 @@
1
+ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
2
+ import React from "react";
3
+ export declare const CheckboxRoot: import("@stitches/react/types/styled-component").StyledComponent<React.ForwardRefExoticComponent<CheckboxPrimitive.CheckboxProps & React.RefAttributes<HTMLButtonElement>>, {}, {
4
+ motion: "(prefers-reduced-motion)";
5
+ hover: "(any-hover: hover)";
6
+ dark: "(prefers-color-scheme: dark)";
7
+ light: "(prefers-color-scheme: light)";
8
+ xs: "(max-width: 520px)";
9
+ sm: "(max-width: 900px)";
10
+ bp2: "(min-width: 900px)";
11
+ md: "(max-width: 1200px)";
12
+ lg: "(max-width: 1800px)";
13
+ }, import("@stitches/react/types/css-util").CSS<{
14
+ motion: "(prefers-reduced-motion)";
15
+ hover: "(any-hover: hover)";
16
+ dark: "(prefers-color-scheme: dark)";
17
+ light: "(prefers-color-scheme: light)";
18
+ xs: "(max-width: 520px)";
19
+ sm: "(max-width: 900px)";
20
+ bp2: "(min-width: 900px)";
21
+ md: "(max-width: 1200px)";
22
+ lg: "(max-width: 1800px)";
23
+ }, {
24
+ colors: {
25
+ white: string;
26
+ black: string;
27
+ lightBackground: string;
28
+ obolBlue: string;
29
+ primaryBgDefault: string;
30
+ primaryBgDefaultHover: string;
31
+ primaryTextDefault: string;
32
+ secondaryBgDefault: string;
33
+ secondaryBgHover: string;
34
+ grayBgDefault: string;
35
+ gray2BgDefault: string;
36
+ neutralDark: string;
37
+ navButtonBgDefault: string;
38
+ navButtonBgHover: string;
39
+ cardBackgroundDark: string;
40
+ cardBackgroundLight: string;
41
+ textMiddle: string;
42
+ textLight: string;
43
+ textLighter: string;
44
+ textTabHover: string;
45
+ textTabInactive: string;
46
+ textGreenDark: string;
47
+ textGreenLight: string;
48
+ textGreen1: string;
49
+ textGreen2: string;
50
+ textGreen3: string;
51
+ textGreenHover: string;
52
+ textCreateHover: string;
53
+ textGrayHover: string;
54
+ txButton: string;
55
+ obolGreen: string;
56
+ obolMidGreen: string;
57
+ obolGreenHover: string;
58
+ obolGreenLight: string;
59
+ obolDarkDark: string;
60
+ obolDisabled: string;
61
+ linkButtonHover: string;
62
+ progressTrackerGreen: string;
63
+ coordinate: string;
64
+ coordinateHover: string;
65
+ test: string;
66
+ testHover: string;
67
+ create: string;
68
+ createHover: string;
69
+ light: string;
70
+ body: string;
71
+ muted: string;
72
+ menu: string;
73
+ bg01: string;
74
+ bg02: string;
75
+ bg03: string;
76
+ bg04: string;
77
+ bg05: string;
78
+ tooltip: string;
79
+ tooltip2: string;
80
+ };
81
+ space: {
82
+ 1: string;
83
+ 2: string;
84
+ xxxs: string;
85
+ xxs: string;
86
+ xs: string;
87
+ sm: string;
88
+ md: string;
89
+ lg: string;
90
+ xl: string;
91
+ "2xl": string;
92
+ "3xl": string;
93
+ "4xl": string;
94
+ "5xl": string;
95
+ "6xl": string;
96
+ "7xl": string;
97
+ };
98
+ sizes: {
99
+ 1: string;
100
+ 2: string;
101
+ xxxs: string;
102
+ xxs: string;
103
+ xs: string;
104
+ sm: string;
105
+ md: string;
106
+ lg: string;
107
+ xl: string;
108
+ "2xl": string;
109
+ "3xl": string;
110
+ "4xl": string;
111
+ "5xl": string;
112
+ "6xl": string;
113
+ "7xl": string;
114
+ max: string;
115
+ min: string;
116
+ full: string;
117
+ };
118
+ radii: {
119
+ 1: string;
120
+ 2: string;
121
+ 3: string;
122
+ 4: string;
123
+ 5: string;
124
+ round: string;
125
+ pill: string;
126
+ };
127
+ fontSizes: {
128
+ 1: string;
129
+ 2: string;
130
+ 3: string;
131
+ 4: string;
132
+ 5: string;
133
+ 6: string;
134
+ 7: string;
135
+ 8: string;
136
+ 9: string;
137
+ 10: string;
138
+ 11: string;
139
+ };
140
+ fontWeights: {
141
+ hairline: number;
142
+ thin: number;
143
+ light: number;
144
+ normal: number;
145
+ medium: number;
146
+ semibold: number;
147
+ bold: number;
148
+ extrabold: number;
149
+ black: number;
150
+ };
151
+ lineHeights: {
152
+ normal: string;
153
+ none: number;
154
+ shorter: number;
155
+ short: number;
156
+ base: number;
157
+ tall: number;
158
+ tall2: number;
159
+ taller: string;
160
+ };
161
+ letterSpacings: {
162
+ tighter: string;
163
+ tight: string;
164
+ normal: string;
165
+ wide: string;
166
+ wider: string;
167
+ widest: string;
168
+ };
169
+ borderWidths: unknown;
170
+ borderStyles: unknown;
171
+ shadows: unknown;
172
+ zIndices: unknown;
173
+ transitions: unknown;
174
+ }, import("@stitches/react/types/config").DefaultThemeMap, {
175
+ p: (value: {
176
+ readonly [$$PropertyValue]: "padding";
177
+ }) => {
178
+ padding: {
179
+ readonly [$$PropertyValue]: "padding";
180
+ };
181
+ };
182
+ pt: (value: {
183
+ readonly [$$PropertyValue]: "paddingTop";
184
+ }) => {
185
+ paddingTop: {
186
+ readonly [$$PropertyValue]: "paddingTop";
187
+ };
188
+ };
189
+ pr: (value: {
190
+ readonly [$$PropertyValue]: "paddingRight";
191
+ }) => {
192
+ paddingRight: {
193
+ readonly [$$PropertyValue]: "paddingRight";
194
+ };
195
+ };
196
+ pb: (value: {
197
+ readonly [$$PropertyValue]: "paddingBottom";
198
+ }) => {
199
+ paddingBottom: {
200
+ readonly [$$PropertyValue]: "paddingBottom";
201
+ };
202
+ };
203
+ pl: (value: {
204
+ readonly [$$PropertyValue]: "paddingLeft";
205
+ }) => {
206
+ paddingLeft: {
207
+ readonly [$$PropertyValue]: "paddingLeft";
208
+ };
209
+ };
210
+ px: (value: {
211
+ readonly [$$PropertyValue]: "paddingLeft";
212
+ }) => {
213
+ paddingLeft: {
214
+ readonly [$$PropertyValue]: "paddingLeft";
215
+ };
216
+ paddingRight: {
217
+ readonly [$$PropertyValue]: "paddingLeft";
218
+ };
219
+ };
220
+ py: (value: {
221
+ readonly [$$PropertyValue]: "paddingTop";
222
+ }) => {
223
+ paddingTop: {
224
+ readonly [$$PropertyValue]: "paddingTop";
225
+ };
226
+ paddingBottom: {
227
+ readonly [$$PropertyValue]: "paddingTop";
228
+ };
229
+ };
230
+ m: (value: {
231
+ readonly [$$PropertyValue]: "margin";
232
+ }) => {
233
+ margin: {
234
+ readonly [$$PropertyValue]: "margin";
235
+ };
236
+ };
237
+ mt: (value: {
238
+ readonly [$$PropertyValue]: "marginTop";
239
+ }) => {
240
+ marginTop: {
241
+ readonly [$$PropertyValue]: "marginTop";
242
+ };
243
+ };
244
+ mr: (value: {
245
+ readonly [$$PropertyValue]: "marginRight";
246
+ }) => {
247
+ marginRight: {
248
+ readonly [$$PropertyValue]: "marginRight";
249
+ };
250
+ };
251
+ mb: (value: {
252
+ readonly [$$PropertyValue]: "marginBottom";
253
+ }) => {
254
+ marginBottom: {
255
+ readonly [$$PropertyValue]: "marginBottom";
256
+ };
257
+ };
258
+ ml: (value: {
259
+ readonly [$$PropertyValue]: "marginLeft";
260
+ }) => {
261
+ marginLeft: {
262
+ readonly [$$PropertyValue]: "marginLeft";
263
+ };
264
+ };
265
+ mx: (value: {
266
+ readonly [$$PropertyValue]: "marginLeft";
267
+ }) => {
268
+ marginLeft: {
269
+ readonly [$$PropertyValue]: "marginLeft";
270
+ };
271
+ marginRight: {
272
+ readonly [$$PropertyValue]: "marginLeft";
273
+ };
274
+ };
275
+ my: (value: {
276
+ readonly [$$PropertyValue]: "marginTop";
277
+ }) => {
278
+ marginTop: {
279
+ readonly [$$PropertyValue]: "marginTop";
280
+ };
281
+ marginBottom: {
282
+ readonly [$$PropertyValue]: "marginTop";
283
+ };
284
+ };
285
+ ta: (value: {
286
+ readonly [$$PropertyValue]: "textAlign";
287
+ }) => {
288
+ textAlign: {
289
+ readonly [$$PropertyValue]: "textAlign";
290
+ };
291
+ };
292
+ fd: (value: {
293
+ readonly [$$PropertyValue]: "flexDirection";
294
+ }) => {
295
+ flexDirection: {
296
+ readonly [$$PropertyValue]: "flexDirection";
297
+ };
298
+ };
299
+ fw: (value: {
300
+ readonly [$$PropertyValue]: "flexWrap";
301
+ }) => {
302
+ flexWrap: {
303
+ readonly [$$PropertyValue]: "flexWrap";
304
+ };
305
+ };
306
+ ai: (value: {
307
+ readonly [$$PropertyValue]: "alignItems";
308
+ }) => {
309
+ alignItems: {
310
+ readonly [$$PropertyValue]: "alignItems";
311
+ };
312
+ };
313
+ ac: (value: {
314
+ readonly [$$PropertyValue]: "alignContent";
315
+ }) => {
316
+ alignContent: {
317
+ readonly [$$PropertyValue]: "alignContent";
318
+ };
319
+ };
320
+ jc: (value: {
321
+ readonly [$$PropertyValue]: "justifyContent";
322
+ }) => {
323
+ justifyContent: {
324
+ readonly [$$PropertyValue]: "justifyContent";
325
+ };
326
+ };
327
+ as: (value: {
328
+ readonly [$$PropertyValue]: "alignSelf";
329
+ }) => {
330
+ alignSelf: {
331
+ readonly [$$PropertyValue]: "alignSelf";
332
+ };
333
+ };
334
+ fg: (value: {
335
+ readonly [$$PropertyValue]: "flexGrow";
336
+ }) => {
337
+ flexGrow: {
338
+ readonly [$$PropertyValue]: "flexGrow";
339
+ };
340
+ };
341
+ fs: (value: {
342
+ readonly [$$PropertyValue]: "flexShrink";
343
+ }) => {
344
+ flexShrink: {
345
+ readonly [$$PropertyValue]: "flexShrink";
346
+ };
347
+ };
348
+ fb: (value: {
349
+ readonly [$$PropertyValue]: "flexBasis";
350
+ }) => {
351
+ flexBasis: {
352
+ readonly [$$PropertyValue]: "flexBasis";
353
+ };
354
+ };
355
+ bc: (value: {
356
+ readonly [$$PropertyValue]: "backgroundColor";
357
+ }) => {
358
+ backgroundColor: {
359
+ readonly [$$PropertyValue]: "backgroundColor";
360
+ };
361
+ };
362
+ br: (value: {
363
+ readonly [$$PropertyValue]: "borderRadius";
364
+ }) => {
365
+ borderRadius: {
366
+ readonly [$$PropertyValue]: "borderRadius";
367
+ };
368
+ };
369
+ btrr: (value: {
370
+ readonly [$$PropertyValue]: "borderTopRightRadius";
371
+ }) => {
372
+ borderTopRightRadius: {
373
+ readonly [$$PropertyValue]: "borderTopRightRadius";
374
+ };
375
+ };
376
+ bbrr: (value: {
377
+ readonly [$$PropertyValue]: "borderBottomRightRadius";
378
+ }) => {
379
+ borderBottomRightRadius: {
380
+ readonly [$$PropertyValue]: "borderBottomRightRadius";
381
+ };
382
+ };
383
+ bblr: (value: {
384
+ readonly [$$PropertyValue]: "borderBottomLeftRadius";
385
+ }) => {
386
+ borderBottomLeftRadius: {
387
+ readonly [$$PropertyValue]: "borderBottomLeftRadius";
388
+ };
389
+ };
390
+ btlr: (value: {
391
+ readonly [$$PropertyValue]: "borderTopLeftRadius";
392
+ }) => {
393
+ borderTopLeftRadius: {
394
+ readonly [$$PropertyValue]: "borderTopLeftRadius";
395
+ };
396
+ };
397
+ bs: (value: {
398
+ readonly [$$PropertyValue]: "boxShadow";
399
+ }) => {
400
+ boxShadow: {
401
+ readonly [$$PropertyValue]: "boxShadow";
402
+ };
403
+ };
404
+ lh: (value: {
405
+ readonly [$$PropertyValue]: "lineHeight";
406
+ }) => {
407
+ lineHeight: {
408
+ readonly [$$PropertyValue]: "lineHeight";
409
+ };
410
+ };
411
+ ox: (value: {
412
+ readonly [$$PropertyValue]: "overflowX";
413
+ }) => {
414
+ overflowX: {
415
+ readonly [$$PropertyValue]: "overflowX";
416
+ };
417
+ };
418
+ oy: (value: {
419
+ readonly [$$PropertyValue]: "overflowY";
420
+ }) => {
421
+ overflowY: {
422
+ readonly [$$PropertyValue]: "overflowY";
423
+ };
424
+ };
425
+ pe: (value: {
426
+ readonly [$$PropertyValue]: "pointerEvents";
427
+ }) => {
428
+ pointerEvents: {
429
+ readonly [$$PropertyValue]: "pointerEvents";
430
+ };
431
+ };
432
+ us: (value: {
433
+ readonly [$$PropertyValue]: "userSelect";
434
+ }) => {
435
+ WebkitUserSelect: {
436
+ readonly [$$PropertyValue]: "userSelect";
437
+ };
438
+ userSelect: {
439
+ readonly [$$PropertyValue]: "userSelect";
440
+ };
441
+ };
442
+ userSelect: (value: {
443
+ readonly [$$PropertyValue]: "userSelect";
444
+ }) => {
445
+ WebkitUserSelect: {
446
+ readonly [$$PropertyValue]: "userSelect";
447
+ };
448
+ userSelect: {
449
+ readonly [$$PropertyValue]: "userSelect";
450
+ };
451
+ };
452
+ size: (value: {
453
+ readonly [$$PropertyValue]: "width";
454
+ }) => {
455
+ width: {
456
+ readonly [$$PropertyValue]: "width";
457
+ };
458
+ height: {
459
+ readonly [$$PropertyValue]: "width";
460
+ };
461
+ };
462
+ appearance: (value: {
463
+ readonly [$$PropertyValue]: "appearance";
464
+ }) => {
465
+ WebkitAppearance: {
466
+ readonly [$$PropertyValue]: "appearance";
467
+ };
468
+ appearance: {
469
+ readonly [$$PropertyValue]: "appearance";
470
+ };
471
+ };
472
+ backgroundClip: (value: {
473
+ readonly [$$PropertyValue]: "backgroundClip";
474
+ }) => {
475
+ WebkitBackgroundClip: {
476
+ readonly [$$PropertyValue]: "backgroundClip";
477
+ };
478
+ backgroundClip: {
479
+ readonly [$$PropertyValue]: "backgroundClip";
480
+ };
481
+ };
482
+ }>>;
483
+ export declare const CheckboxIndicator: React.ForwardRefExoticComponent<CheckboxPrimitive.CheckboxIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
484
+ export declare const Checkbox: React.FC<CheckboxPrimitive.CheckboxProps>;
@@ -4,6 +4,8 @@ export declare const SvgIcon: import("@stitches/react/types/styled-component").S
4
4
  color?: "white" | "black" | "lightBackground" | "obolBlue" | "primaryBgDefault" | "primaryBgDefaultHover" | "primaryTextDefault" | "secondaryBgDefault" | "secondaryBgHover" | "grayBgDefault" | "gray2BgDefault" | "neutralDark" | "navButtonBgDefault" | "navButtonBgHover" | "cardBackgroundDark" | "cardBackgroundLight" | "textMiddle" | "textLight" | "textLighter" | "textTabHover" | "textTabInactive" | "textGreenDark" | "textGreenLight" | "textGreen1" | "textGreen2" | "textGreen3" | "textGreenHover" | "textCreateHover" | "textGrayHover" | "txButton" | "obolGreen" | "obolMidGreen" | "obolGreenHover" | "obolGreenLight" | "obolDarkDark" | "obolDisabled" | "linkButtonHover" | "progressTrackerGreen" | "coordinate" | "coordinateHover" | "test" | "testHover" | "create" | "createHover" | "light" | "body" | "muted" | "menu" | "bg01" | "bg02" | "bg03" | "bg04" | "bg05" | "tooltip" | "tooltip2" | "inherit" | undefined;
5
5
  size?: "inherit" | "sm" | "md" | "lg" | "xl" | undefined;
6
6
  fillColor?: boolean | "true" | "false" | undefined;
7
+ strokeColor?: boolean | "true" | "false" | undefined;
8
+ transform?: "xAxis" | undefined;
7
9
  }, {
8
10
  motion: "(prefers-reduced-motion)";
9
11
  hover: "(any-hover: hover)";
@@ -14,3 +14,5 @@ export * from "./IconButton/IconButton";
14
14
  export * from "./TextField/TextField";
15
15
  export * from "./NumberField/NumberField";
16
16
  export * from './Tooltip/Tooltip';
17
+ export * from './LoadingButton/LoadingButton';
18
+ export * from './Checkbox/Checkbox';
@@ -26,7 +26,10 @@ export * from "./static-icons/GroupIcon";
26
26
  export * from "./static-icons/ExistingGroupIcon";
27
27
  export * from "./static-icons/CopyIcon";
28
28
  export * from "./static-icons/CheckIcon";
29
+ export * from "./static-icons/CheckboxIcon";
29
30
  export * from "./static-icons/TrashIcon";
30
31
  export * from "./static-icons/BulletCheckIcon";
31
32
  export * from "./static-icons/HelpIcon";
32
33
  export * from "./static-icons/WaitingIcon";
34
+ export * from "./static-icons/MinusIcon";
35
+ export * from "./static-icons/PlusIcon";
@@ -0,0 +1 @@
1
+ export declare const CheckboxIcon: () => JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const MinusIcon: () => JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const PlusIcon: () => JSX.Element;
@@ -8,6 +8,7 @@ export interface StepProps {
8
8
  }
9
9
  interface ProgressTrackerProps {
10
10
  items: StepProps[];
11
+ currentStep?: StepProps;
11
12
  }
12
13
  export declare const ProgressTracker: React.FC<ProgressTrackerProps>;
13
14
  export {};
package/dist/index.es.js CHANGED
@@ -2,8 +2,9 @@ import { createStitches } from '@stitches/react';
2
2
  import * as TabsPrimitive from '@radix-ui/react-tabs';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
5
- import React, { forwardRef, useState, useRef, useEffect, useLayoutEffect } from 'react';
5
+ import React, { forwardRef, useState, useRef, useImperativeHandle, useEffect, useLayoutEffect } from 'react';
6
6
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
7
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
7
8
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
8
9
  import { useRouter } from 'next/router';
9
10
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
@@ -401,6 +402,23 @@ var SvgIcon = styled("svg", {
401
402
  },
402
403
  },
403
404
  },
405
+ strokeColor: {
406
+ true: {
407
+ "& path": {
408
+ stroke: "$$color",
409
+ },
410
+ },
411
+ false: {
412
+ "& path": {
413
+ stroke: "none",
414
+ },
415
+ },
416
+ },
417
+ transform: {
418
+ xAxis: {
419
+ transform: "scale(-1)",
420
+ },
421
+ },
404
422
  },
405
423
  defaultVariants: {
406
424
  size: "sm",
@@ -1096,6 +1114,8 @@ var CopyIcon = function () { return (jsxs("svg", __assign({ width: "24", height:
1096
1114
 
1097
1115
  var CheckIcon = function () { return (jsxs("svg", __assign({ width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [jsx("path", { d: "M0.5 12C0.5 5.37258 5.87258 0 12.5 0V0C19.1274 0 24.5 5.37258 24.5 12V12C24.5 18.6274 19.1274 24 12.5 24V24C5.87258 24 0.5 18.6274 0.5 12V12Z", fill: "#1D5249" }), jsx("path", { d: "M10.6818 14.3284L8.29545 11.8209L7.5 12.6567L10.6818 16L17.5 8.83582L16.7045 8L10.6818 14.3284Z", fill: "#2FE4AB", stroke: "#2FE4AB" })] }))); };
1098
1116
 
1117
+ var CheckboxIcon = function () { return (jsx("svg", __assign({ width: "12", height: "9", viewBox: "0 0 12 9", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: jsx("path", { d: "M4.33317 6.63449L2.14567 4.33598L1.4165 5.10215L4.33317 8.16683L10.5832 1.59967L9.854 0.833496L4.33317 6.63449Z", fill: "#9CC2C9", stroke: "#9CC2C9" }) }))); };
1118
+
1099
1119
  var TrashIcon = function () { return (jsx("svg", __assign({ width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: jsx("path", { d: "M16.5 9V19H8.5V9H16.5ZM15 3H10L9 4H5.5V6H19.5V4H16L15 3ZM18.5 7H6.5V19C6.5 20.1 7.4 21 8.5 21H16.5C17.6 21 18.5 20.1 18.5 19V7Z", fill: "#DAEEF3" }) }))); };
1100
1120
 
1101
1121
  var BulletCheckIcon = function () { return (jsxs("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [jsx("path", { id: "background", d: "M0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12Z", fill: "#1D5249" }), jsx("path", { id: "check", d: "M10.1818 14.3284L7.79545 11.8209L7 12.6567L10.1818 16L17 8.83582L16.2045 8L10.1818 14.3284Z", fill: "#2FE4AB", stroke: "#2FE4AB" })] }))); };
@@ -1104,6 +1124,10 @@ var HelpIcon = function () { return (jsx("svg", __assign({ width: "25", height:
1104
1124
 
1105
1125
  var WaitingIcon = function () { return (jsxs("svg", __assign({ width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [jsx("rect", { x: "0.5", width: "24", height: "24", rx: "12", fill: "#243D42" }), jsx("path", { d: "M12.5 0C5.9 0 0.5 5.4 0.5 12C0.5 18.6 5.9 24 12.5 24C19.1 24 24.5 18.6 24.5 12C24.5 5.4 19.1 0 12.5 0ZM12.5 21.6C7.208 21.6 2.9 17.292 2.9 12C2.9 6.708 7.208 2.4 12.5 2.4C17.792 2.4 22.1 6.708 22.1 12C22.1 17.292 17.792 21.6 12.5 21.6ZM13.1 6H11.3V13.2L17.54 17.04L18.5 15.48L13.1 12.24V6Z", fill: "#475E64" })] }))); };
1106
1126
 
1127
+ var MinusIcon = function () { return (jsx("svg", __assign({ width: "15", height: "2", viewBox: "0 0 15 2", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: jsx("path", { d: "M14.5 2H0.5V0H14.5V2Z", fill: "#DAEEF3" }) }))); };
1128
+
1129
+ var PlusIcon = function () { return (jsx("svg", __assign({ width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: jsx("path", { d: "M14 8H8V14H6V8H0V6H6V0H8V6H14V8Z", fill: "#DAEEF3" }) }))); };
1130
+
1107
1131
  var TeamMemberCard = function (props) { return (jsxs(Box, __assign({ css: {
1108
1132
  display: "grid",
1109
1133
  gridTemplateColumns: "1fr",
@@ -1209,6 +1233,10 @@ var IconButton = styled("button", {
1209
1233
  "&:disabled": {
1210
1234
  backgroundColor: "$bg02",
1211
1235
  color: "$muted",
1236
+ "& path": {
1237
+ stroke: "$muted",
1238
+ fill: "$muted",
1239
+ },
1212
1240
  },
1213
1241
  margin: 0,
1214
1242
  border: "2px solid transparent",
@@ -1359,8 +1387,10 @@ var Content$2 = styled(TooltipContent, {
1359
1387
  },
1360
1388
  });
1361
1389
  var TextFieldWithCopy = forwardRef(function (props, ref) {
1362
- var _a = useState(), inputValue = _a[0], setInputValue = _a[1];
1390
+ var _a = useState(""), inputValue = _a[0], setInputValue = _a[1];
1363
1391
  var _b = useState(false), isCopied = _b[0], setIsCopied = _b[1];
1392
+ var innerRef = useRef(null);
1393
+ useImperativeHandle(ref, function () { return innerRef.current; });
1364
1394
  var copyToClipBoard = function (content) {
1365
1395
  if (content) {
1366
1396
  navigator.clipboard.writeText(content);
@@ -1370,7 +1400,9 @@ var TextFieldWithCopy = forwardRef(function (props, ref) {
1370
1400
  useTimeout(function () {
1371
1401
  setIsCopied(false);
1372
1402
  }, isCopied ? 3000 : null);
1373
- return (jsxs(Box, __assign({ css: { display: "flex", width: "$full" } }, { children: [jsx(TextField, __assign({ withCopy: true, ref: ref, value: inputValue, onChange: function (e) { return setInputValue(e.target.value); } }, props, { css: { width: "$full" } })), jsxs(Tooltip, __assign({ open: isCopied }, { children: [jsx(TooltipTrigger, __assign({ asChild: true }, { children: jsx(IconButton, __assign({ onClick: function () { return copyToClipBoard(inputValue); } }, { children: !isCopied ? jsx(CopyIcon, {}) : jsx(CheckIcon, {}) })) })), jsxs(Content$2, __assign({ side: "bottom", sideOffset: 5 }, { children: ["Copied!", jsx(TooltipArrow, {})] }))] }))] })));
1403
+ return (jsxs(Box, __assign({ css: { display: "flex", width: "$full" } }, { children: [jsx(TextField, __assign({ withCopy: true, ref: innerRef, value: inputValue, onChange: function (e) { return setInputValue(e.target.value); } }, props, { css: { width: "$full" } })), jsxs(Tooltip, __assign({ open: isCopied }, { children: [jsx(TooltipTrigger, __assign({ asChild: true }, { children: jsx(IconButton, __assign({ onClick: function () {
1404
+ return copyToClipBoard(inputValue);
1405
+ } }, { children: !isCopied ? jsx(CopyIcon, {}) : jsx(CheckIcon, {}) })) })), jsxs(Content$2, __assign({ side: "bottom", sideOffset: 5 }, { children: ["Copied!", jsx(TooltipArrow, {})] }))] }))] })));
1374
1406
  });
1375
1407
  TextFieldWithCopy.displayName = "TextFieldWithCopy";
1376
1408
 
@@ -1446,10 +1478,30 @@ var NumberField = forwardRef(function (_a, ref) {
1446
1478
  borderRadius: 0,
1447
1479
  width: "95px",
1448
1480
  },
1449
- } }, { children: [jsx(IconButton, __assign({ disabled: qty <= min, className: "dec-button", onClick: handleOnDec, borderDisabled: qty <= min }, { children: "-" })), jsx(TextField, { css: { borderRightStyle: "none", borderLeftStyle: "none" }, type: "number", ref: ref, value: qty, onChange: handleOnChange, onBlur: onBlur, name: name }), jsx(IconButton, __assign({ disabled: qty >= max, className: "inc-button", onClick: handleOnInc, borderDisabled: qty >= max }, { children: "+" }))] })));
1481
+ } }, { children: [jsx(IconButton, __assign({ disabled: qty <= min, className: "dec-button", onClick: handleOnDec, borderDisabled: qty <= min }, { children: jsx(MinusIcon, {}) })), jsx(TextField, { css: { borderRightStyle: "none", borderLeftStyle: "none" }, type: "number", ref: ref, value: qty, onChange: handleOnChange, onBlur: onBlur, name: name }), jsx(IconButton, __assign({ disabled: qty >= max, className: "inc-button", onClick: handleOnInc, borderDisabled: qty >= max }, { children: jsx(PlusIcon, {}) }))] })));
1450
1482
  });
1451
1483
  NumberField.displayName = "NumberField";
1452
1484
 
1485
+ var LoadingButton = function (_a) {
1486
+ var loading = _a.loading, children = _a.children, props = __rest(_a, ["loading", "children"]);
1487
+ return (jsxs(Button, __assign({}, props, { children: [loading && jsx(Spin, {}), children] })));
1488
+ };
1489
+
1490
+ var CheckboxRoot = styled(CheckboxPrimitive.Root, {
1491
+ bc: "$bg03",
1492
+ size: "$lg",
1493
+ border: "2px solid $body",
1494
+ br: "$1",
1495
+ display: "flex",
1496
+ alignItems: "center",
1497
+ justifyContent: "center",
1498
+ });
1499
+ var CheckboxIndicator = CheckboxPrimitive.Indicator;
1500
+ var Checkbox = function (_a) {
1501
+ var props = __rest(_a, []);
1502
+ return (jsx(CheckboxRoot, __assign({}, props, { children: jsx(CheckboxIndicator, { children: jsx(CheckboxIcon, {}) }) })));
1503
+ };
1504
+
1453
1505
  var slideDown = keyframes({
1454
1506
  from: { height: 0 },
1455
1507
  to: { height: "var(--radix-accordion-content-height)" },
@@ -1728,16 +1780,27 @@ var NotificationCard = function (_a) {
1728
1780
  };
1729
1781
 
1730
1782
  var ProgressTracker = function (_a) {
1731
- var items = _a.items;
1783
+ var items = _a.items, currentStep = _a.currentStep;
1732
1784
  var _b = useState(items), steps = _b[0], setSteps = _b[1];
1733
1785
  var _c = useState(0), width = _c[0], setWidth = _c[1];
1734
1786
  useEffect(function () {
1735
- var _count = items.filter(function (item) { return item.status === "complete"; }).length;
1787
+ var _count = 0;
1788
+ if (currentStep) {
1789
+ items.every(function (item) {
1790
+ if (item.href === currentStep.href)
1791
+ return false;
1792
+ _count++;
1793
+ return true;
1794
+ });
1795
+ }
1796
+ else {
1797
+ _count = items.filter(function (item) { return item.status === "complete"; }).length;
1798
+ }
1736
1799
  var offset = 100 / items.length / 2;
1737
1800
  var width = (100 / items.length) * _count + offset;
1738
1801
  setWidth(width);
1739
1802
  setSteps(items);
1740
- }, [items]);
1803
+ }, [items, currentStep]);
1741
1804
  return (jsx(Box, __assign({ css: { backgroundColor: "$bg02", py: "$3xl", px: "$6xl" } }, { children: jsxs(Box, __assign({ css: { display: "flex", fd: "column", gap: "$md" } }, { children: [jsx(Box, __assign({ className: "progress-bar-behind", css: {
1742
1805
  height: "$xxs",
1743
1806
  borderRadius: "$3",
@@ -1873,6 +1936,10 @@ var Td = styled("td", {
1873
1936
  borderRadius: 0,
1874
1937
  width: "100%",
1875
1938
  },
1939
+ textOverflow: 'ellipsis',
1940
+ maxWidth: 0,
1941
+ whiteSpace: 'nowrap',
1942
+ overflow: 'hidden',
1876
1943
  variants: {
1877
1944
  splitter: {
1878
1945
  true: {
@@ -1938,7 +2005,7 @@ var SplitterTable = function (_a) {
1938
2005
  return (jsxs(StyledTable, { children: [jsx("thead", { children: jsxs("tr", { children: [jsx(Th, {}), columns.map(function (column, index) { return (jsx(Th, __assign({ css: { textAlign: "start" } }, { children: column.header }), "header-".concat(index))); }), jsx(Th, {})] }) }), jsxs("tbody", { children: [rows.map(function (_a, rowIndex) {
1939
2006
  var _b = _a.isRemovable, isRemovable = _b === void 0 ? true : _b, _c = _a.isEditable, isEditable = _c === void 0 ? true : _c, row = __rest(_a, ["isRemovable", "isEditable"]);
1940
2007
  return (jsxs("tr", { children: [jsx(Td, __assign({ textCenter: true, size: "sm" }, { children: rowIndex + 1 })), columns.map(function (column, cellIndex) {
1941
- var _a, _b;
2008
+ var _a, _b, _c, _d, _e, _f, _g;
1942
2009
  var isTextField = ((_a = column.cell) === null || _a === void 0 ? void 0 : _a.component) === "TextField";
1943
2010
  return (jsx(Td, __assign({ splitter: true, css: {
1944
2011
  "input::-webkit-inner-spin-button": {
@@ -1949,7 +2016,7 @@ var SplitterTable = function (_a) {
1949
2016
  "input[type=number]": {
1950
2017
  "-moz-appearance": "textfield",
1951
2018
  },
1952
- } }, { children: isTextField && (jsx(TextField, __assign({ css: { color: "$body", fontWeight: "$bold" }, defaultValue: row[column.accessorKey], step: "any", onInput: function (e) {
2019
+ } }, { children: isTextField && (jsx(TextField, { css: { color: "$body", fontWeight: "$bold" }, defaultValue: row[column.accessorKey], step: "any", onInput: function (e) {
1953
2020
  var _a, _b, _c, _d;
1954
2021
  var inputValue = e.target.value === ""
1955
2022
  ? 0
@@ -1981,7 +2048,7 @@ var SplitterTable = function (_a) {
1981
2048
  : e.target.value;
1982
2049
  if (onUpdateRow)
1983
2050
  onUpdateRow(row.id, value, column.accessorKey);
1984
- } }, (_b = column.cell) === null || _b === void 0 ? void 0 : _b.config, { readOnly: !isEditable }))) }), "cell ".concat(cellIndex)));
2051
+ }, min: (_c = (_b = column.cell) === null || _b === void 0 ? void 0 : _b.config) === null || _c === void 0 ? void 0 : _c.min, max: (_e = (_d = column.cell) === null || _d === void 0 ? void 0 : _d.config) === null || _e === void 0 ? void 0 : _e.max, type: (_g = (_f = column.cell) === null || _f === void 0 ? void 0 : _f.config) === null || _g === void 0 ? void 0 : _g.type, readOnly: !isEditable })) }), "cell ".concat(cellIndex)));
1985
2052
  }), onRemoveRow && isRemovable && (jsx(Td, __assign({ splitter: true, size: "sm", css: { p: "$2" } }, { children: jsx(IconButton, __assign({ ghost: true, onClick: function () { return onRemoveRow(row.id); } }, { children: jsx(TrashIcon, {}) })) })))] }, row.id));
1986
2053
  }), jsx(AddNewRow, { onAddRow: onAddRow, totalSplitFooter: totalSplitFooter })] })] }));
1987
2054
  };
@@ -2000,11 +2067,11 @@ var Advisory = function (_a) {
2000
2067
  var handleOnAccept = function (value) {
2001
2068
  onUpdateState(value);
2002
2069
  };
2003
- return (jsxs(Box, __assign({ css: {
2070
+ return (jsxs(Box, __assign({ className: "advisory-container", css: {
2004
2071
  display: "flex",
2005
2072
  border: "2px solid $bg04",
2006
2073
  borderRadius: "$3",
2007
- height: "752px",
2074
+ minHeight: "752px",
2008
2075
  } }, { children: [jsx(Box, __assign({ css: {
2009
2076
  display: "flex",
2010
2077
  fd: "column",
@@ -2196,4 +2263,4 @@ var TwoColumnSection = function (_a) {
2196
2263
  } }, { children: !screenDownSm ? (jsx(Image, { src: image.basePath, width: "100%", height: "100%", alt: "Obol Logo" })) : (jsx(Image, { src: image.mobilePath || image.basePath, width: "100%", height: "100%", alt: "Obol Logo" })) }))] })));
2197
2264
  };
2198
2265
 
2199
- export { Accordion, Advisory, AdvisoryToggleBullet, AdvisoryToggleItem, AlertIcon, AloneIcon, ArrowForward, Box, BulletCheckIcon, Button, ButtonStory, Card, CheckIcon, ChevronDownIcon, ChevronUpIcon, CloseIcon, CodeIcon, Container, CopyIcon, CreateIcon, Download, ExistingGroupIcon, Flex, Footer, GithubIcon, GroupIcon, HelpIcon, HeroSection, Hexapod, HexapodMobile, IconButton, IconButtonStory, Image, Link, LinkStory, LogoCard, MediaQueryKeys, MenuIcon, MigrateIcon, Navbar, NotificationCard, NotificationContainer, NumberField, ObolDarkBgH, ObolDarkBgMark, ObolDarkBgV, ObolDarkCircle, ObolLightBgH, ObolLightBgMark, ObolLightBgV, ObolLightCircle, ObolSolidDarkBgH, ObolSolidDarkBgMark, ObolSolidDarkBgV, ObolSolidLightBgH, ObolSolidLightBgMark, ObolSolidLightBgV, OpenInNew, PlanetBlue, PlanetGreen, PlanetGrey, PlanetMagenta, PlanetOrange, ProgressTracker, Provider, PublicGoodIcon, RadioGroup, RadioGroupComponent, RadioGroupIndicator, RadioGroupItem, RadioGroupItemLabel, RadioGroupRadio, RunIcon, Spin, SplitterTable, SvgIcon, Table, Tabs$1 as Tabs, TeamMemberCard, TestIcon, Text, TextField, TextFieldWithCopy, TextStory, ToggleCardItem, ToggleGroup, ToggleGroupItem, Tooltip, TooltipArrow, TooltipComponent, TooltipContent, TooltipTrigger, TrashIcon, TrustMinimisedIcon, TwitterIcon, TwoColumnSection, WaitingIcon, config, createTheme, css, getCssText, globalCss, keyframes, modifyVariantsForStory, reset, styled, theme, useMediaQuery };
2266
+ export { Accordion, Advisory, AdvisoryToggleBullet, AdvisoryToggleItem, AlertIcon, AloneIcon, ArrowForward, Box, BulletCheckIcon, Button, ButtonStory, Card, CheckIcon, Checkbox, CheckboxIcon, CheckboxIndicator, CheckboxRoot, ChevronDownIcon, ChevronUpIcon, CloseIcon, CodeIcon, Container, CopyIcon, CreateIcon, Download, ExistingGroupIcon, Flex, Footer, GithubIcon, GroupIcon, HelpIcon, HeroSection, Hexapod, HexapodMobile, IconButton, IconButtonStory, Image, Link, LinkStory, LoadingButton, LogoCard, MediaQueryKeys, MenuIcon, MigrateIcon, MinusIcon, Navbar, NotificationCard, NotificationContainer, NumberField, ObolDarkBgH, ObolDarkBgMark, ObolDarkBgV, ObolDarkCircle, ObolLightBgH, ObolLightBgMark, ObolLightBgV, ObolLightCircle, ObolSolidDarkBgH, ObolSolidDarkBgMark, ObolSolidDarkBgV, ObolSolidLightBgH, ObolSolidLightBgMark, ObolSolidLightBgV, OpenInNew, PlanetBlue, PlanetGreen, PlanetGrey, PlanetMagenta, PlanetOrange, PlusIcon, ProgressTracker, Provider, PublicGoodIcon, RadioGroup, RadioGroupComponent, RadioGroupIndicator, RadioGroupItem, RadioGroupItemLabel, RadioGroupRadio, RunIcon, Spin, SplitterTable, SvgIcon, Table, Tabs$1 as Tabs, TeamMemberCard, TestIcon, Text, TextField, TextFieldWithCopy, TextStory, ToggleCardItem, ToggleGroup, ToggleGroupItem, Tooltip, TooltipArrow, TooltipComponent, TooltipContent, TooltipTrigger, TrashIcon, TrustMinimisedIcon, TwitterIcon, TwoColumnSection, WaitingIcon, config, createTheme, css, getCssText, globalCss, keyframes, modifyVariantsForStory, reset, styled, theme, useMediaQuery };
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@ var jsxRuntime = require('react/jsx-runtime');
8
8
  var ToggleGroupPrimitive = require('@radix-ui/react-toggle-group');
9
9
  var React = require('react');
10
10
  var TooltipPrimitive = require('@radix-ui/react-tooltip');
11
+ var CheckboxPrimitive = require('@radix-ui/react-checkbox');
11
12
  var AccordionPrimitive = require('@radix-ui/react-accordion');
12
13
  var router = require('next/router');
13
14
  var RadioGroupPrimitive = require('@radix-ui/react-radio-group');
@@ -36,6 +37,7 @@ var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
36
37
  var ToggleGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(ToggleGroupPrimitive);
37
38
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
38
39
  var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
40
+ var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
39
41
  var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
40
42
  var RadioGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(RadioGroupPrimitive);
41
43
 
@@ -432,6 +434,23 @@ var SvgIcon = styled("svg", {
432
434
  },
433
435
  },
434
436
  },
437
+ strokeColor: {
438
+ true: {
439
+ "& path": {
440
+ stroke: "$$color",
441
+ },
442
+ },
443
+ false: {
444
+ "& path": {
445
+ stroke: "none",
446
+ },
447
+ },
448
+ },
449
+ transform: {
450
+ xAxis: {
451
+ transform: "scale(-1)",
452
+ },
453
+ },
435
454
  },
436
455
  defaultVariants: {
437
456
  size: "sm",
@@ -1127,6 +1146,8 @@ var CopyIcon = function () { return (jsxRuntime.jsxs("svg", __assign({ width: "2
1127
1146
 
1128
1147
  var CheckIcon = function () { return (jsxRuntime.jsxs("svg", __assign({ width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [jsxRuntime.jsx("path", { d: "M0.5 12C0.5 5.37258 5.87258 0 12.5 0V0C19.1274 0 24.5 5.37258 24.5 12V12C24.5 18.6274 19.1274 24 12.5 24V24C5.87258 24 0.5 18.6274 0.5 12V12Z", fill: "#1D5249" }), jsxRuntime.jsx("path", { d: "M10.6818 14.3284L8.29545 11.8209L7.5 12.6567L10.6818 16L17.5 8.83582L16.7045 8L10.6818 14.3284Z", fill: "#2FE4AB", stroke: "#2FE4AB" })] }))); };
1129
1148
 
1149
+ var CheckboxIcon = function () { return (jsxRuntime.jsx("svg", __assign({ width: "12", height: "9", viewBox: "0 0 12 9", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: jsxRuntime.jsx("path", { d: "M4.33317 6.63449L2.14567 4.33598L1.4165 5.10215L4.33317 8.16683L10.5832 1.59967L9.854 0.833496L4.33317 6.63449Z", fill: "#9CC2C9", stroke: "#9CC2C9" }) }))); };
1150
+
1130
1151
  var TrashIcon = function () { return (jsxRuntime.jsx("svg", __assign({ width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: jsxRuntime.jsx("path", { d: "M16.5 9V19H8.5V9H16.5ZM15 3H10L9 4H5.5V6H19.5V4H16L15 3ZM18.5 7H6.5V19C6.5 20.1 7.4 21 8.5 21H16.5C17.6 21 18.5 20.1 18.5 19V7Z", fill: "#DAEEF3" }) }))); };
1131
1152
 
1132
1153
  var BulletCheckIcon = function () { return (jsxRuntime.jsxs("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [jsxRuntime.jsx("path", { id: "background", d: "M0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12Z", fill: "#1D5249" }), jsxRuntime.jsx("path", { id: "check", d: "M10.1818 14.3284L7.79545 11.8209L7 12.6567L10.1818 16L17 8.83582L16.2045 8L10.1818 14.3284Z", fill: "#2FE4AB", stroke: "#2FE4AB" })] }))); };
@@ -1135,6 +1156,10 @@ var HelpIcon = function () { return (jsxRuntime.jsx("svg", __assign({ width: "25
1135
1156
 
1136
1157
  var WaitingIcon = function () { return (jsxRuntime.jsxs("svg", __assign({ width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [jsxRuntime.jsx("rect", { x: "0.5", width: "24", height: "24", rx: "12", fill: "#243D42" }), jsxRuntime.jsx("path", { d: "M12.5 0C5.9 0 0.5 5.4 0.5 12C0.5 18.6 5.9 24 12.5 24C19.1 24 24.5 18.6 24.5 12C24.5 5.4 19.1 0 12.5 0ZM12.5 21.6C7.208 21.6 2.9 17.292 2.9 12C2.9 6.708 7.208 2.4 12.5 2.4C17.792 2.4 22.1 6.708 22.1 12C22.1 17.292 17.792 21.6 12.5 21.6ZM13.1 6H11.3V13.2L17.54 17.04L18.5 15.48L13.1 12.24V6Z", fill: "#475E64" })] }))); };
1137
1158
 
1159
+ var MinusIcon = function () { return (jsxRuntime.jsx("svg", __assign({ width: "15", height: "2", viewBox: "0 0 15 2", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: jsxRuntime.jsx("path", { d: "M14.5 2H0.5V0H14.5V2Z", fill: "#DAEEF3" }) }))); };
1160
+
1161
+ var PlusIcon = function () { return (jsxRuntime.jsx("svg", __assign({ width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: jsxRuntime.jsx("path", { d: "M14 8H8V14H6V8H0V6H6V0H8V6H14V8Z", fill: "#DAEEF3" }) }))); };
1162
+
1138
1163
  var TeamMemberCard = function (props) { return (jsxRuntime.jsxs(Box, __assign({ css: {
1139
1164
  display: "grid",
1140
1165
  gridTemplateColumns: "1fr",
@@ -1240,6 +1265,10 @@ var IconButton = styled("button", {
1240
1265
  "&:disabled": {
1241
1266
  backgroundColor: "$bg02",
1242
1267
  color: "$muted",
1268
+ "& path": {
1269
+ stroke: "$muted",
1270
+ fill: "$muted",
1271
+ },
1243
1272
  },
1244
1273
  margin: 0,
1245
1274
  border: "2px solid transparent",
@@ -1390,8 +1419,10 @@ var Content$2 = styled(TooltipContent, {
1390
1419
  },
1391
1420
  });
1392
1421
  var TextFieldWithCopy = React.forwardRef(function (props, ref) {
1393
- var _a = React.useState(), inputValue = _a[0], setInputValue = _a[1];
1422
+ var _a = React.useState(""), inputValue = _a[0], setInputValue = _a[1];
1394
1423
  var _b = React.useState(false), isCopied = _b[0], setIsCopied = _b[1];
1424
+ var innerRef = React.useRef(null);
1425
+ React.useImperativeHandle(ref, function () { return innerRef.current; });
1395
1426
  var copyToClipBoard = function (content) {
1396
1427
  if (content) {
1397
1428
  navigator.clipboard.writeText(content);
@@ -1401,7 +1432,9 @@ var TextFieldWithCopy = React.forwardRef(function (props, ref) {
1401
1432
  useTimeout(function () {
1402
1433
  setIsCopied(false);
1403
1434
  }, isCopied ? 3000 : null);
1404
- return (jsxRuntime.jsxs(Box, __assign({ css: { display: "flex", width: "$full" } }, { children: [jsxRuntime.jsx(TextField, __assign({ withCopy: true, ref: ref, value: inputValue, onChange: function (e) { return setInputValue(e.target.value); } }, props, { css: { width: "$full" } })), jsxRuntime.jsxs(Tooltip, __assign({ open: isCopied }, { children: [jsxRuntime.jsx(TooltipTrigger, __assign({ asChild: true }, { children: jsxRuntime.jsx(IconButton, __assign({ onClick: function () { return copyToClipBoard(inputValue); } }, { children: !isCopied ? jsxRuntime.jsx(CopyIcon, {}) : jsxRuntime.jsx(CheckIcon, {}) })) })), jsxRuntime.jsxs(Content$2, __assign({ side: "bottom", sideOffset: 5 }, { children: ["Copied!", jsxRuntime.jsx(TooltipArrow, {})] }))] }))] })));
1435
+ return (jsxRuntime.jsxs(Box, __assign({ css: { display: "flex", width: "$full" } }, { children: [jsxRuntime.jsx(TextField, __assign({ withCopy: true, ref: innerRef, value: inputValue, onChange: function (e) { return setInputValue(e.target.value); } }, props, { css: { width: "$full" } })), jsxRuntime.jsxs(Tooltip, __assign({ open: isCopied }, { children: [jsxRuntime.jsx(TooltipTrigger, __assign({ asChild: true }, { children: jsxRuntime.jsx(IconButton, __assign({ onClick: function () {
1436
+ return copyToClipBoard(inputValue);
1437
+ } }, { children: !isCopied ? jsxRuntime.jsx(CopyIcon, {}) : jsxRuntime.jsx(CheckIcon, {}) })) })), jsxRuntime.jsxs(Content$2, __assign({ side: "bottom", sideOffset: 5 }, { children: ["Copied!", jsxRuntime.jsx(TooltipArrow, {})] }))] }))] })));
1405
1438
  });
1406
1439
  TextFieldWithCopy.displayName = "TextFieldWithCopy";
1407
1440
 
@@ -1477,10 +1510,30 @@ var NumberField = React.forwardRef(function (_a, ref) {
1477
1510
  borderRadius: 0,
1478
1511
  width: "95px",
1479
1512
  },
1480
- } }, { children: [jsxRuntime.jsx(IconButton, __assign({ disabled: qty <= min, className: "dec-button", onClick: handleOnDec, borderDisabled: qty <= min }, { children: "-" })), jsxRuntime.jsx(TextField, { css: { borderRightStyle: "none", borderLeftStyle: "none" }, type: "number", ref: ref, value: qty, onChange: handleOnChange, onBlur: onBlur, name: name }), jsxRuntime.jsx(IconButton, __assign({ disabled: qty >= max, className: "inc-button", onClick: handleOnInc, borderDisabled: qty >= max }, { children: "+" }))] })));
1513
+ } }, { children: [jsxRuntime.jsx(IconButton, __assign({ disabled: qty <= min, className: "dec-button", onClick: handleOnDec, borderDisabled: qty <= min }, { children: jsxRuntime.jsx(MinusIcon, {}) })), jsxRuntime.jsx(TextField, { css: { borderRightStyle: "none", borderLeftStyle: "none" }, type: "number", ref: ref, value: qty, onChange: handleOnChange, onBlur: onBlur, name: name }), jsxRuntime.jsx(IconButton, __assign({ disabled: qty >= max, className: "inc-button", onClick: handleOnInc, borderDisabled: qty >= max }, { children: jsxRuntime.jsx(PlusIcon, {}) }))] })));
1481
1514
  });
1482
1515
  NumberField.displayName = "NumberField";
1483
1516
 
1517
+ var LoadingButton = function (_a) {
1518
+ var loading = _a.loading, children = _a.children, props = __rest(_a, ["loading", "children"]);
1519
+ return (jsxRuntime.jsxs(Button, __assign({}, props, { children: [loading && jsxRuntime.jsx(Spin, {}), children] })));
1520
+ };
1521
+
1522
+ var CheckboxRoot = styled(CheckboxPrimitive__namespace.Root, {
1523
+ bc: "$bg03",
1524
+ size: "$lg",
1525
+ border: "2px solid $body",
1526
+ br: "$1",
1527
+ display: "flex",
1528
+ alignItems: "center",
1529
+ justifyContent: "center",
1530
+ });
1531
+ var CheckboxIndicator = CheckboxPrimitive__namespace.Indicator;
1532
+ var Checkbox = function (_a) {
1533
+ var props = __rest(_a, []);
1534
+ return (jsxRuntime.jsx(CheckboxRoot, __assign({}, props, { children: jsxRuntime.jsx(CheckboxIndicator, { children: jsxRuntime.jsx(CheckboxIcon, {}) }) })));
1535
+ };
1536
+
1484
1537
  var slideDown = keyframes({
1485
1538
  from: { height: 0 },
1486
1539
  to: { height: "var(--radix-accordion-content-height)" },
@@ -1759,16 +1812,27 @@ var NotificationCard = function (_a) {
1759
1812
  };
1760
1813
 
1761
1814
  var ProgressTracker = function (_a) {
1762
- var items = _a.items;
1815
+ var items = _a.items, currentStep = _a.currentStep;
1763
1816
  var _b = React.useState(items), steps = _b[0], setSteps = _b[1];
1764
1817
  var _c = React.useState(0), width = _c[0], setWidth = _c[1];
1765
1818
  React.useEffect(function () {
1766
- var _count = items.filter(function (item) { return item.status === "complete"; }).length;
1819
+ var _count = 0;
1820
+ if (currentStep) {
1821
+ items.every(function (item) {
1822
+ if (item.href === currentStep.href)
1823
+ return false;
1824
+ _count++;
1825
+ return true;
1826
+ });
1827
+ }
1828
+ else {
1829
+ _count = items.filter(function (item) { return item.status === "complete"; }).length;
1830
+ }
1767
1831
  var offset = 100 / items.length / 2;
1768
1832
  var width = (100 / items.length) * _count + offset;
1769
1833
  setWidth(width);
1770
1834
  setSteps(items);
1771
- }, [items]);
1835
+ }, [items, currentStep]);
1772
1836
  return (jsxRuntime.jsx(Box, __assign({ css: { backgroundColor: "$bg02", py: "$3xl", px: "$6xl" } }, { children: jsxRuntime.jsxs(Box, __assign({ css: { display: "flex", fd: "column", gap: "$md" } }, { children: [jsxRuntime.jsx(Box, __assign({ className: "progress-bar-behind", css: {
1773
1837
  height: "$xxs",
1774
1838
  borderRadius: "$3",
@@ -1904,6 +1968,10 @@ var Td = styled("td", {
1904
1968
  borderRadius: 0,
1905
1969
  width: "100%",
1906
1970
  },
1971
+ textOverflow: 'ellipsis',
1972
+ maxWidth: 0,
1973
+ whiteSpace: 'nowrap',
1974
+ overflow: 'hidden',
1907
1975
  variants: {
1908
1976
  splitter: {
1909
1977
  true: {
@@ -1969,7 +2037,7 @@ var SplitterTable = function (_a) {
1969
2037
  return (jsxRuntime.jsxs(StyledTable, { children: [jsxRuntime.jsx("thead", { children: jsxRuntime.jsxs("tr", { children: [jsxRuntime.jsx(Th, {}), columns.map(function (column, index) { return (jsxRuntime.jsx(Th, __assign({ css: { textAlign: "start" } }, { children: column.header }), "header-".concat(index))); }), jsxRuntime.jsx(Th, {})] }) }), jsxRuntime.jsxs("tbody", { children: [rows.map(function (_a, rowIndex) {
1970
2038
  var _b = _a.isRemovable, isRemovable = _b === void 0 ? true : _b, _c = _a.isEditable, isEditable = _c === void 0 ? true : _c, row = __rest(_a, ["isRemovable", "isEditable"]);
1971
2039
  return (jsxRuntime.jsxs("tr", { children: [jsxRuntime.jsx(Td, __assign({ textCenter: true, size: "sm" }, { children: rowIndex + 1 })), columns.map(function (column, cellIndex) {
1972
- var _a, _b;
2040
+ var _a, _b, _c, _d, _e, _f, _g;
1973
2041
  var isTextField = ((_a = column.cell) === null || _a === void 0 ? void 0 : _a.component) === "TextField";
1974
2042
  return (jsxRuntime.jsx(Td, __assign({ splitter: true, css: {
1975
2043
  "input::-webkit-inner-spin-button": {
@@ -1980,7 +2048,7 @@ var SplitterTable = function (_a) {
1980
2048
  "input[type=number]": {
1981
2049
  "-moz-appearance": "textfield",
1982
2050
  },
1983
- } }, { children: isTextField && (jsxRuntime.jsx(TextField, __assign({ css: { color: "$body", fontWeight: "$bold" }, defaultValue: row[column.accessorKey], step: "any", onInput: function (e) {
2051
+ } }, { children: isTextField && (jsxRuntime.jsx(TextField, { css: { color: "$body", fontWeight: "$bold" }, defaultValue: row[column.accessorKey], step: "any", onInput: function (e) {
1984
2052
  var _a, _b, _c, _d;
1985
2053
  var inputValue = e.target.value === ""
1986
2054
  ? 0
@@ -2012,7 +2080,7 @@ var SplitterTable = function (_a) {
2012
2080
  : e.target.value;
2013
2081
  if (onUpdateRow)
2014
2082
  onUpdateRow(row.id, value, column.accessorKey);
2015
- } }, (_b = column.cell) === null || _b === void 0 ? void 0 : _b.config, { readOnly: !isEditable }))) }), "cell ".concat(cellIndex)));
2083
+ }, min: (_c = (_b = column.cell) === null || _b === void 0 ? void 0 : _b.config) === null || _c === void 0 ? void 0 : _c.min, max: (_e = (_d = column.cell) === null || _d === void 0 ? void 0 : _d.config) === null || _e === void 0 ? void 0 : _e.max, type: (_g = (_f = column.cell) === null || _f === void 0 ? void 0 : _f.config) === null || _g === void 0 ? void 0 : _g.type, readOnly: !isEditable })) }), "cell ".concat(cellIndex)));
2016
2084
  }), onRemoveRow && isRemovable && (jsxRuntime.jsx(Td, __assign({ splitter: true, size: "sm", css: { p: "$2" } }, { children: jsxRuntime.jsx(IconButton, __assign({ ghost: true, onClick: function () { return onRemoveRow(row.id); } }, { children: jsxRuntime.jsx(TrashIcon, {}) })) })))] }, row.id));
2017
2085
  }), jsxRuntime.jsx(AddNewRow, { onAddRow: onAddRow, totalSplitFooter: totalSplitFooter })] })] }));
2018
2086
  };
@@ -2031,11 +2099,11 @@ var Advisory = function (_a) {
2031
2099
  var handleOnAccept = function (value) {
2032
2100
  onUpdateState(value);
2033
2101
  };
2034
- return (jsxRuntime.jsxs(Box, __assign({ css: {
2102
+ return (jsxRuntime.jsxs(Box, __assign({ className: "advisory-container", css: {
2035
2103
  display: "flex",
2036
2104
  border: "2px solid $bg04",
2037
2105
  borderRadius: "$3",
2038
- height: "752px",
2106
+ minHeight: "752px",
2039
2107
  } }, { children: [jsxRuntime.jsx(Box, __assign({ css: {
2040
2108
  display: "flex",
2041
2109
  fd: "column",
@@ -2240,6 +2308,10 @@ exports.Button = Button;
2240
2308
  exports.ButtonStory = ButtonStory;
2241
2309
  exports.Card = Card;
2242
2310
  exports.CheckIcon = CheckIcon;
2311
+ exports.Checkbox = Checkbox;
2312
+ exports.CheckboxIcon = CheckboxIcon;
2313
+ exports.CheckboxIndicator = CheckboxIndicator;
2314
+ exports.CheckboxRoot = CheckboxRoot;
2243
2315
  exports.ChevronDownIcon = ChevronDownIcon;
2244
2316
  exports.ChevronUpIcon = ChevronUpIcon;
2245
2317
  exports.CloseIcon = CloseIcon;
@@ -2262,10 +2334,12 @@ exports.IconButtonStory = IconButtonStory;
2262
2334
  exports.Image = Image;
2263
2335
  exports.Link = Link;
2264
2336
  exports.LinkStory = LinkStory;
2337
+ exports.LoadingButton = LoadingButton;
2265
2338
  exports.LogoCard = LogoCard;
2266
2339
  exports.MediaQueryKeys = MediaQueryKeys;
2267
2340
  exports.MenuIcon = MenuIcon;
2268
2341
  exports.MigrateIcon = MigrateIcon;
2342
+ exports.MinusIcon = MinusIcon;
2269
2343
  exports.Navbar = Navbar;
2270
2344
  exports.NotificationCard = NotificationCard;
2271
2345
  exports.NotificationContainer = NotificationContainer;
@@ -2290,6 +2364,7 @@ exports.PlanetGreen = PlanetGreen;
2290
2364
  exports.PlanetGrey = PlanetGrey;
2291
2365
  exports.PlanetMagenta = PlanetMagenta;
2292
2366
  exports.PlanetOrange = PlanetOrange;
2367
+ exports.PlusIcon = PlusIcon;
2293
2368
  exports.ProgressTracker = ProgressTracker;
2294
2369
  exports.Provider = Provider;
2295
2370
  exports.PublicGoodIcon = PublicGoodIcon;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@obolnetwork/obol-ui",
3
- "version": "1.0.22",
3
+ "version": "1.0.25",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.es.js",
6
6
  "license": "MIT",
@@ -20,6 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@radix-ui/react-accordion": "^0.1.6",
23
+ "@radix-ui/react-checkbox": "^1.0.0",
23
24
  "@radix-ui/react-dialog": "^0.1.7",
24
25
  "@radix-ui/react-icons": "^1.1.1",
25
26
  "@radix-ui/react-radio-group": "^0.1.5",