@layerfi/components 0.1.3 → 0.1.5
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/.nvmrc +1 -0
- package/dist/esm/index.js +2073 -892
- package/dist/esm/index.js.map +4 -4
- package/dist/index.d.ts +426 -51
- package/dist/index.js +2139 -968
- package/dist/index.js.map +4 -4
- package/dist/styles/index.css +908 -120
- package/dist/styles/index.css.map +3 -3
- package/index.d.ts +1309 -0
- package/package.json +1 -1
- package/dist/index.css +0 -106
- package/dist/index.css.map +0 -7
- package/dist/index.esm.css +0 -106
- package/dist/index.esm.css.map +0 -7
- package/dist/index.esm.js +0 -252
- package/dist/index.esm.js.map +0 -7
package/package.json
CHANGED
package/dist/index.css
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/* src/components/Hello/Hello.css */
|
|
2
|
-
.hello {
|
|
3
|
-
color: red;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
/* src/components/Transactions/Transactions.css */
|
|
7
|
-
.transactions {
|
|
8
|
-
--transaction-buttons-border-color: #D0D5DD;
|
|
9
|
-
--transaction-buttons-selected-background-color: #E0E9FF;
|
|
10
|
-
--transaction-table-background-color: white;
|
|
11
|
-
--transaction-table-border-color: #EAECF0;
|
|
12
|
-
--transaction-table-text-color: #101828;
|
|
13
|
-
}
|
|
14
|
-
.transactions {
|
|
15
|
-
margin: 3rem;
|
|
16
|
-
border-radius: 0.6rem;
|
|
17
|
-
border: 1px solid var(--transaction-table-border-color);
|
|
18
|
-
background-color: var(--transaction-table-background-color);
|
|
19
|
-
overflow: hidden;
|
|
20
|
-
}
|
|
21
|
-
.transactions header {
|
|
22
|
-
display: flex;
|
|
23
|
-
padding: 1rem;
|
|
24
|
-
}
|
|
25
|
-
.transactions header h1 {
|
|
26
|
-
display: flex;
|
|
27
|
-
align-items: center;
|
|
28
|
-
flex: 1;
|
|
29
|
-
justify-content: flex-start;
|
|
30
|
-
font-size: 1.5rem;
|
|
31
|
-
font-style: normal;
|
|
32
|
-
font-weight: 600;
|
|
33
|
-
line-height: 2rem;
|
|
34
|
-
margin: 0;
|
|
35
|
-
}
|
|
36
|
-
.transactions header div {
|
|
37
|
-
display: flex;
|
|
38
|
-
font-size: 1rem;
|
|
39
|
-
align-items: center;
|
|
40
|
-
flex: 1;
|
|
41
|
-
justify-content: flex-end;
|
|
42
|
-
}
|
|
43
|
-
.transactions .transaction-table {
|
|
44
|
-
display: grid;
|
|
45
|
-
grid-template-columns: auto repeat(4, 1fr) repeat(3, auto);
|
|
46
|
-
gap: 1px 0px;
|
|
47
|
-
background-color: var(--transaction-table-border-color);
|
|
48
|
-
border-top: 1px solid var(--transaction-table-border-color);
|
|
49
|
-
border-radius: 0.6rem;
|
|
50
|
-
}
|
|
51
|
-
.transactions .transaction-table div {
|
|
52
|
-
padding: 1rem;
|
|
53
|
-
background-color: white;
|
|
54
|
-
overflow: clip;
|
|
55
|
-
color: var(--transaction-table-text-color);
|
|
56
|
-
font-family: sans-serif;
|
|
57
|
-
font-size: 16px;
|
|
58
|
-
font-style: normal;
|
|
59
|
-
font-weight: 500;
|
|
60
|
-
line-height: 20px;
|
|
61
|
-
display: flex;
|
|
62
|
-
flex-direction: row;
|
|
63
|
-
align-items: center;
|
|
64
|
-
}
|
|
65
|
-
.transactions .transaction-table div select {
|
|
66
|
-
border: 2px solid var(--transaction-table-border-color);
|
|
67
|
-
border-radius: 0.6rem;
|
|
68
|
-
background-color: var(--transaction-table-background-color);
|
|
69
|
-
padding: 0.6rem 0.8rem;
|
|
70
|
-
}
|
|
71
|
-
.transactions .transaction-table div.header {
|
|
72
|
-
font-weight: bold;
|
|
73
|
-
}
|
|
74
|
-
.transactions .transaction-table div.expand-area {
|
|
75
|
-
grid-column: 1 / -1;
|
|
76
|
-
margin-top: -1px;
|
|
77
|
-
}
|
|
78
|
-
.transactions .transaction-table div.expand-content {
|
|
79
|
-
padding: 1rem;
|
|
80
|
-
text-align: center;
|
|
81
|
-
}
|
|
82
|
-
.transactions .radio-group {
|
|
83
|
-
}
|
|
84
|
-
.transactions .radio-group input {
|
|
85
|
-
position: absolute;
|
|
86
|
-
opacity: 0;
|
|
87
|
-
}
|
|
88
|
-
.transactions .radio-group div {
|
|
89
|
-
padding: 0.6rem 1rem;
|
|
90
|
-
border: 1px solid var(--transaction-buttons-border-color);
|
|
91
|
-
border-right: 0;
|
|
92
|
-
border-radius: 0;
|
|
93
|
-
}
|
|
94
|
-
.transactions .radio-group label:first-of-type div {
|
|
95
|
-
border-start-start-radius: 0.6rem;
|
|
96
|
-
border-end-start-radius: 0.6rem;
|
|
97
|
-
}
|
|
98
|
-
.transactions .radio-group label:last-of-type div {
|
|
99
|
-
border-right: 1px solid var(--transaction-buttons-border-color);
|
|
100
|
-
border-start-end-radius: 0.6rem;
|
|
101
|
-
border-end-end-radius: 0.6rem;
|
|
102
|
-
}
|
|
103
|
-
.transactions .radio-group input:checked + div {
|
|
104
|
-
background: var(--transaction-buttons-selected-background-color);
|
|
105
|
-
}
|
|
106
|
-
/*# sourceMappingURL=index.css.map */
|
package/dist/index.css.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/components/Hello/Hello.css", "../src/components/Transactions/Transactions.css"],
|
|
4
|
-
"sourcesContent": [".hello {\n color: red;\n}\n", ".transactions {\n --transaction-buttons-border-color: #D0D5DD;\n --transaction-buttons-selected-background-color: #E0E9FF;\n --transaction-table-background-color: white;\n --transaction-table-border-color: #EAECF0;\n --transaction-table-text-color: #101828;\n}\n\n.transactions {\n margin: 3rem;\n border-radius: 0.6rem;\n border: 1px solid var(--transaction-table-border-color);\n background-color: var(--transaction-table-background-color);\n overflow: hidden;\n}\n\n.transactions header {\n display: flex;\n padding: 1rem;\n}\n\n.transactions header h1 {\n display: flex;\n align-items: center;\n flex: 1;\n justify-content: flex-start;\n font-size: 1.5rem;\n font-style: normal;\n font-weight: 600;\n line-height: 2rem;\n margin: 0;\n}\n\n.transactions header div {\n display: flex;\n font-size: 1rem;\n align-items: center;\n flex: 1;\n justify-content: flex-end;\n}\n\n.transactions .transaction-table {\n display: grid;\n grid-template-columns: auto repeat(4, 1fr) repeat(3, auto);\n gap: 1px 0px;\n background-color: var(--transaction-table-border-color);\n border-top: 1px solid var(--transaction-table-border-color);\n border-radius: 0.6rem;\n}\n\n.transactions .transaction-table div {\n padding: 1rem;\n background-color: white;\n overflow: clip;\n color: var(--transaction-table-text-color);\n font-family: sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 500;\n line-height: 20px;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.transactions .transaction-table div select {\n border: 2px solid var(--transaction-table-border-color);\n border-radius: 0.6rem;\n background-color: var(--transaction-table-background-color);\n padding: 0.6rem 0.8rem;\n}\n\n.transactions .transaction-table div.header {\n font-weight: bold;\n}\n\n.transactions .transaction-table div.expand-area {\n grid-column: 1 / -1;\n margin-top: -1px;\n}\n\n.transactions .transaction-table div.expand-content {\n padding: 1rem;\n text-align: center;\n}\n\n.transactions .radio-group {\n}\n\n.transactions .radio-group input {\n position: absolute;\n opacity: 0;\n}\n\n.transactions .radio-group div {\n padding: 0.6rem 1rem;\n border: 1px solid var(--transaction-buttons-border-color);\n border-right: 0;\n border-radius: 0;\n}\n\n.transactions .radio-group label:first-of-type div {\n border-start-start-radius: 0.6rem;\n border-end-start-radius: 0.6rem;\n}\n\n.transactions .radio-group label:last-of-type div {\n border-right: 1px solid var(--transaction-buttons-border-color);\n border-start-end-radius: 0.6rem;\n border-end-end-radius: 0.6rem;\n}\n\n.transactions .radio-group input:checked + div {\n background: var(--transaction-buttons-selected-background-color);\n}\n"],
|
|
5
|
-
"mappings": ";AAAA,CAAC;AACC,SAAO;AACT;;;ACFA,CAAC;AACC,sCAAoC;AACpC,mDAAiD;AACjD,wCAAsC;AACtC,oCAAkC;AAClC,kCAAgC;AAClC;AAEA,CARC;AASC,UAAQ;AACR,iBAAe;AACf,UAAQ,IAAI,MAAM,IAAI;AACtB,oBAAkB,IAAI;AACtB,YAAU;AACZ;AAEA,CAhBC,aAgBa;AACZ,WAAS;AACT,WAAS;AACX;AAEA,CArBC,aAqBa,OAAO;AACnB,WAAS;AACT,eAAa;AACb,QAAM;AACN,mBAAiB;AACjB,aAAW;AACX,cAAY;AACZ,eAAa;AACb,eAAa;AACb,UAAQ;AACV;AAEA,CAjCC,aAiCa,OAAO;AACnB,WAAS;AACT,aAAW;AACX,eAAa;AACb,QAAM;AACN,mBAAiB;AACnB;AAEA,CAzCC,aAyCa,CAAC;AACb,WAAS;AACT,yBAAuB,KAAK,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;AACrD,OAAK,IAAI;AACT,oBAAkB,IAAI;AACtB,cAAY,IAAI,MAAM,IAAI;AAC1B,iBAAe;AACjB;AAEA,CAlDC,aAkDa,CATC,kBASkB;AAC/B,WAAS;AACT,oBAAkB;AAClB,YAAU;AACV,SAAO,IAAI;AACX,eAAa;AACb,aAAW;AACX,cAAY;AACZ,eAAa;AACb,eAAa;AACb,WAAS;AACT,kBAAgB;AAChB,eAAa;AACf;AAEA,CAjEC,aAiEa,CAxBC,kBAwBkB,IAAI;AACnC,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe;AACf,oBAAkB,IAAI;AACtB,WAAS,OAAO;AAClB;AAEA,CAxEC,aAwEa,CA/BC,kBA+BkB,GAAG,CAAC;AACnC,eAAa;AACf;AAEA,CA5EC,aA4Ea,CAnCC,kBAmCkB,GAAG,CAAC;AACnC,eAAa,EAAE,EAAE;AACjB,cAAY;AACd;AAEA,CAjFC,aAiFa,CAxCC,kBAwCkB,GAAG,CAAC;AACnC,WAAS;AACT,cAAY;AACd;AAEA,CAtFC,aAsFa,CAAC;AACf;AAEA,CAzFC,aAyFa,CAHC,YAGY;AACzB,YAAU;AACV,WAAS;AACX;AAEA,CA9FC,aA8Fa,CARC,YAQY;AACzB,WAAS,OAAO;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,gBAAc;AACd,iBAAe;AACjB;AAEA,CArGC,aAqGa,CAfC,YAeY,KAAK,eAAe;AAC7C,6BAA2B;AAC3B,2BAAyB;AAC3B;AAEA,CA1GC,aA0Ga,CApBC,YAoBY,KAAK,cAAc;AAC5C,gBAAc,IAAI,MAAM,IAAI;AAC5B,2BAAyB;AACzB,yBAAuB;AACzB;AAEA,CAhHC,aAgHa,CA1BC,YA0BY,KAAK,SAAS,EAAE;AACzC,cAAY,IAAI;AAClB;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/index.esm.css
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/* src/components/Hello/Hello.css */
|
|
2
|
-
.hello {
|
|
3
|
-
color: red;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
/* src/components/Transactions/Transactions.css */
|
|
7
|
-
.transactions {
|
|
8
|
-
--transaction-buttons-border-color: #D0D5DD;
|
|
9
|
-
--transaction-buttons-selected-background-color: #E0E9FF;
|
|
10
|
-
--transaction-table-background-color: white;
|
|
11
|
-
--transaction-table-border-color: #EAECF0;
|
|
12
|
-
--transaction-table-text-color: #101828;
|
|
13
|
-
}
|
|
14
|
-
.transactions {
|
|
15
|
-
margin: 3rem;
|
|
16
|
-
border-radius: 0.6rem;
|
|
17
|
-
border: 1px solid var(--transaction-table-border-color);
|
|
18
|
-
background-color: var(--transaction-table-background-color);
|
|
19
|
-
overflow: hidden;
|
|
20
|
-
}
|
|
21
|
-
.transactions header {
|
|
22
|
-
display: flex;
|
|
23
|
-
padding: 1rem;
|
|
24
|
-
}
|
|
25
|
-
.transactions header h1 {
|
|
26
|
-
display: flex;
|
|
27
|
-
align-items: center;
|
|
28
|
-
flex: 1;
|
|
29
|
-
justify-content: flex-start;
|
|
30
|
-
font-size: 1.5rem;
|
|
31
|
-
font-style: normal;
|
|
32
|
-
font-weight: 600;
|
|
33
|
-
line-height: 2rem;
|
|
34
|
-
margin: 0;
|
|
35
|
-
}
|
|
36
|
-
.transactions header div {
|
|
37
|
-
display: flex;
|
|
38
|
-
font-size: 1rem;
|
|
39
|
-
align-items: center;
|
|
40
|
-
flex: 1;
|
|
41
|
-
justify-content: flex-end;
|
|
42
|
-
}
|
|
43
|
-
.transactions .transaction-table {
|
|
44
|
-
display: grid;
|
|
45
|
-
grid-template-columns: auto repeat(4, 1fr) repeat(3, auto);
|
|
46
|
-
gap: 1px 0px;
|
|
47
|
-
background-color: var(--transaction-table-border-color);
|
|
48
|
-
border-top: 1px solid var(--transaction-table-border-color);
|
|
49
|
-
border-radius: 0.6rem;
|
|
50
|
-
}
|
|
51
|
-
.transactions .transaction-table div {
|
|
52
|
-
padding: 1rem;
|
|
53
|
-
background-color: white;
|
|
54
|
-
overflow: clip;
|
|
55
|
-
color: var(--transaction-table-text-color);
|
|
56
|
-
font-family: sans-serif;
|
|
57
|
-
font-size: 16px;
|
|
58
|
-
font-style: normal;
|
|
59
|
-
font-weight: 500;
|
|
60
|
-
line-height: 20px;
|
|
61
|
-
display: flex;
|
|
62
|
-
flex-direction: row;
|
|
63
|
-
align-items: center;
|
|
64
|
-
}
|
|
65
|
-
.transactions .transaction-table div select {
|
|
66
|
-
border: 2px solid var(--transaction-table-border-color);
|
|
67
|
-
border-radius: 0.6rem;
|
|
68
|
-
background-color: var(--transaction-table-background-color);
|
|
69
|
-
padding: 0.6rem 0.8rem;
|
|
70
|
-
}
|
|
71
|
-
.transactions .transaction-table div.header {
|
|
72
|
-
font-weight: bold;
|
|
73
|
-
}
|
|
74
|
-
.transactions .transaction-table div.expand-area {
|
|
75
|
-
grid-column: 1 / -1;
|
|
76
|
-
margin-top: -1px;
|
|
77
|
-
}
|
|
78
|
-
.transactions .transaction-table div.expand-content {
|
|
79
|
-
padding: 1rem;
|
|
80
|
-
text-align: center;
|
|
81
|
-
}
|
|
82
|
-
.transactions .radio-group {
|
|
83
|
-
}
|
|
84
|
-
.transactions .radio-group input {
|
|
85
|
-
position: absolute;
|
|
86
|
-
opacity: 0;
|
|
87
|
-
}
|
|
88
|
-
.transactions .radio-group div {
|
|
89
|
-
padding: 0.6rem 1rem;
|
|
90
|
-
border: 1px solid var(--transaction-buttons-border-color);
|
|
91
|
-
border-right: 0;
|
|
92
|
-
border-radius: 0;
|
|
93
|
-
}
|
|
94
|
-
.transactions .radio-group label:first-of-type div {
|
|
95
|
-
border-start-start-radius: 0.6rem;
|
|
96
|
-
border-end-start-radius: 0.6rem;
|
|
97
|
-
}
|
|
98
|
-
.transactions .radio-group label:last-of-type div {
|
|
99
|
-
border-right: 1px solid var(--transaction-buttons-border-color);
|
|
100
|
-
border-start-end-radius: 0.6rem;
|
|
101
|
-
border-end-end-radius: 0.6rem;
|
|
102
|
-
}
|
|
103
|
-
.transactions .radio-group input:checked + div {
|
|
104
|
-
background: var(--transaction-buttons-selected-background-color);
|
|
105
|
-
}
|
|
106
|
-
/*# sourceMappingURL=index.esm.css.map */
|
package/dist/index.esm.css.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/components/Hello/Hello.css", "../src/components/Transactions/Transactions.css"],
|
|
4
|
-
"sourcesContent": [".hello {\n color: red;\n}\n", ".transactions {\n --transaction-buttons-border-color: #D0D5DD;\n --transaction-buttons-selected-background-color: #E0E9FF;\n --transaction-table-background-color: white;\n --transaction-table-border-color: #EAECF0;\n --transaction-table-text-color: #101828;\n}\n\n.transactions {\n margin: 3rem;\n border-radius: 0.6rem;\n border: 1px solid var(--transaction-table-border-color);\n background-color: var(--transaction-table-background-color);\n overflow: hidden;\n}\n\n.transactions header {\n display: flex;\n padding: 1rem;\n}\n\n.transactions header h1 {\n display: flex;\n align-items: center;\n flex: 1;\n justify-content: flex-start;\n font-size: 1.5rem;\n font-style: normal;\n font-weight: 600;\n line-height: 2rem;\n margin: 0;\n}\n\n.transactions header div {\n display: flex;\n font-size: 1rem;\n align-items: center;\n flex: 1;\n justify-content: flex-end;\n}\n\n.transactions .transaction-table {\n display: grid;\n grid-template-columns: auto repeat(4, 1fr) repeat(3, auto);\n gap: 1px 0px;\n background-color: var(--transaction-table-border-color);\n border-top: 1px solid var(--transaction-table-border-color);\n border-radius: 0.6rem;\n}\n\n.transactions .transaction-table div {\n padding: 1rem;\n background-color: white;\n overflow: clip;\n color: var(--transaction-table-text-color);\n font-family: sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 500;\n line-height: 20px;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.transactions .transaction-table div select {\n border: 2px solid var(--transaction-table-border-color);\n border-radius: 0.6rem;\n background-color: var(--transaction-table-background-color);\n padding: 0.6rem 0.8rem;\n}\n\n.transactions .transaction-table div.header {\n font-weight: bold;\n}\n\n.transactions .transaction-table div.expand-area {\n grid-column: 1 / -1;\n margin-top: -1px;\n}\n\n.transactions .transaction-table div.expand-content {\n padding: 1rem;\n text-align: center;\n}\n\n.transactions .radio-group {\n}\n\n.transactions .radio-group input {\n position: absolute;\n opacity: 0;\n}\n\n.transactions .radio-group div {\n padding: 0.6rem 1rem;\n border: 1px solid var(--transaction-buttons-border-color);\n border-right: 0;\n border-radius: 0;\n}\n\n.transactions .radio-group label:first-of-type div {\n border-start-start-radius: 0.6rem;\n border-end-start-radius: 0.6rem;\n}\n\n.transactions .radio-group label:last-of-type div {\n border-right: 1px solid var(--transaction-buttons-border-color);\n border-start-end-radius: 0.6rem;\n border-end-end-radius: 0.6rem;\n}\n\n.transactions .radio-group input:checked + div {\n background: var(--transaction-buttons-selected-background-color);\n}\n"],
|
|
5
|
-
"mappings": ";AAAA,CAAC;AACC,SAAO;AACT;;;ACFA,CAAC;AACC,sCAAoC;AACpC,mDAAiD;AACjD,wCAAsC;AACtC,oCAAkC;AAClC,kCAAgC;AAClC;AAEA,CARC;AASC,UAAQ;AACR,iBAAe;AACf,UAAQ,IAAI,MAAM,IAAI;AACtB,oBAAkB,IAAI;AACtB,YAAU;AACZ;AAEA,CAhBC,aAgBa;AACZ,WAAS;AACT,WAAS;AACX;AAEA,CArBC,aAqBa,OAAO;AACnB,WAAS;AACT,eAAa;AACb,QAAM;AACN,mBAAiB;AACjB,aAAW;AACX,cAAY;AACZ,eAAa;AACb,eAAa;AACb,UAAQ;AACV;AAEA,CAjCC,aAiCa,OAAO;AACnB,WAAS;AACT,aAAW;AACX,eAAa;AACb,QAAM;AACN,mBAAiB;AACnB;AAEA,CAzCC,aAyCa,CAAC;AACb,WAAS;AACT,yBAAuB,KAAK,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;AACrD,OAAK,IAAI;AACT,oBAAkB,IAAI;AACtB,cAAY,IAAI,MAAM,IAAI;AAC1B,iBAAe;AACjB;AAEA,CAlDC,aAkDa,CATC,kBASkB;AAC/B,WAAS;AACT,oBAAkB;AAClB,YAAU;AACV,SAAO,IAAI;AACX,eAAa;AACb,aAAW;AACX,cAAY;AACZ,eAAa;AACb,eAAa;AACb,WAAS;AACT,kBAAgB;AAChB,eAAa;AACf;AAEA,CAjEC,aAiEa,CAxBC,kBAwBkB,IAAI;AACnC,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe;AACf,oBAAkB,IAAI;AACtB,WAAS,OAAO;AAClB;AAEA,CAxEC,aAwEa,CA/BC,kBA+BkB,GAAG,CAAC;AACnC,eAAa;AACf;AAEA,CA5EC,aA4Ea,CAnCC,kBAmCkB,GAAG,CAAC;AACnC,eAAa,EAAE,EAAE;AACjB,cAAY;AACd;AAEA,CAjFC,aAiFa,CAxCC,kBAwCkB,GAAG,CAAC;AACnC,WAAS;AACT,cAAY;AACd;AAEA,CAtFC,aAsFa,CAAC;AACf;AAEA,CAzFC,aAyFa,CAHC,YAGY;AACzB,YAAU;AACV,WAAS;AACX;AAEA,CA9FC,aA8Fa,CARC,YAQY;AACzB,WAAS,OAAO;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,gBAAc;AACd,iBAAe;AACjB;AAEA,CArGC,aAqGa,CAfC,YAeY,KAAK,eAAe;AAC7C,6BAA2B;AAC3B,2BAAyB;AAC3B;AAEA,CA1GC,aA0Ga,CApBC,YAoBY,KAAK,cAAc;AAC5C,gBAAc,IAAI,MAAM,IAAI;AAC5B,2BAAyB;AACzB,yBAAuB;AACzB;AAEA,CAhHC,aAgHa,CA1BC,YA0BY,KAAK,SAAS,EAAE;AACzC,cAAY,IAAI;AAClB;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/index.esm.js
DELETED
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
// src/components/Hello/Hello.tsx
|
|
2
|
-
import React from "react";
|
|
3
|
-
import useSWR from "swr";
|
|
4
|
-
var fetcher = (url) => fetch(url).then((res) => res.json());
|
|
5
|
-
var Hello = ({ user }) => {
|
|
6
|
-
const { data, isLoading } = useSWR(
|
|
7
|
-
`https://api.github.com/users/${user || "jyurek"}`,
|
|
8
|
-
fetcher
|
|
9
|
-
);
|
|
10
|
-
const name = (isLoading ? "..." : data?.name) || "User";
|
|
11
|
-
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", { className: "hello" }, "Hello, ", name, "!"));
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
// src/components/Transactions/Transactions.tsx
|
|
15
|
-
import React7, { useState as useState2, useContext as useContext3 } from "react";
|
|
16
|
-
|
|
17
|
-
// src/contexts/LayerContext/LayerContext.tsx
|
|
18
|
-
import { createContext } from "react";
|
|
19
|
-
var LayerContext = createContext({
|
|
20
|
-
auth: void 0,
|
|
21
|
-
businessId: "",
|
|
22
|
-
categories: []
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
// src/components/RadioButtonGroup/RadioButtonGroup.tsx
|
|
26
|
-
import React3 from "react";
|
|
27
|
-
|
|
28
|
-
// src/components/RadioButtonGroup/RadioButton.tsx
|
|
29
|
-
import React2 from "react";
|
|
30
|
-
var RadioButton = ({
|
|
31
|
-
checked,
|
|
32
|
-
label,
|
|
33
|
-
name,
|
|
34
|
-
onChange,
|
|
35
|
-
value
|
|
36
|
-
}) => {
|
|
37
|
-
return /* @__PURE__ */ React2.createElement("label", null, /* @__PURE__ */ React2.createElement(
|
|
38
|
-
"input",
|
|
39
|
-
{
|
|
40
|
-
type: "radio",
|
|
41
|
-
checked,
|
|
42
|
-
name,
|
|
43
|
-
onChange,
|
|
44
|
-
value
|
|
45
|
-
}
|
|
46
|
-
), /* @__PURE__ */ React2.createElement("div", null, label));
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
// src/components/RadioButtonGroup/RadioButtonGroup.tsx
|
|
50
|
-
var RadioButtonGroup = ({
|
|
51
|
-
name,
|
|
52
|
-
buttons,
|
|
53
|
-
onChange,
|
|
54
|
-
selected
|
|
55
|
-
}) => {
|
|
56
|
-
const selectedValue = selected || buttons[0].value;
|
|
57
|
-
return /* @__PURE__ */ React3.createElement("div", { className: "radio-group" }, buttons.map((button) => /* @__PURE__ */ React3.createElement(
|
|
58
|
-
RadioButton,
|
|
59
|
-
{
|
|
60
|
-
...button,
|
|
61
|
-
key: button.value,
|
|
62
|
-
name,
|
|
63
|
-
checked: selectedValue === button.value,
|
|
64
|
-
onChange
|
|
65
|
-
}
|
|
66
|
-
)));
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
// src/components/Transactions/TransactionRow.tsx
|
|
70
|
-
import React6 from "react";
|
|
71
|
-
|
|
72
|
-
// src/models/Money.ts
|
|
73
|
-
var format = ({ amount, direction }) => (direction === "CREDIT" ? "+" : "-") + Intl.NumberFormat("en-US", { style: "currency", currency: "USD" }).format(
|
|
74
|
-
amount / 100
|
|
75
|
-
);
|
|
76
|
-
var Money = {
|
|
77
|
-
format
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
// src/components/CategoryMenu/CategoryMenu.tsx
|
|
81
|
-
import React5, { useContext as useContext2 } from "react";
|
|
82
|
-
|
|
83
|
-
// src/components/CategoryMenu/CategoryMenuItem.tsx
|
|
84
|
-
import React4 from "react";
|
|
85
|
-
var CategoryMenuItem = ({
|
|
86
|
-
selectedCategory,
|
|
87
|
-
category,
|
|
88
|
-
maxDepth = 1
|
|
89
|
-
}) => {
|
|
90
|
-
if (category.hasOwnProperty("subCategories") && maxDepth > 0) {
|
|
91
|
-
return /* @__PURE__ */ React4.createElement("optgroup", { label: category.display_name }, category.subCategories.map((category2) => /* @__PURE__ */ React4.createElement(
|
|
92
|
-
CategoryMenuItem,
|
|
93
|
-
{
|
|
94
|
-
category: category2,
|
|
95
|
-
selectedCategory,
|
|
96
|
-
maxDepth: maxDepth - 1
|
|
97
|
-
}
|
|
98
|
-
)));
|
|
99
|
-
} else {
|
|
100
|
-
return /* @__PURE__ */ React4.createElement(
|
|
101
|
-
"option",
|
|
102
|
-
{
|
|
103
|
-
key: category.category,
|
|
104
|
-
value: category.category,
|
|
105
|
-
selected: selectedCategory === category.category
|
|
106
|
-
},
|
|
107
|
-
category.display_name
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
// src/components/CategoryMenu/CategoryMenu.tsx
|
|
113
|
-
var CategoryMenu = ({ selectedCategory }) => {
|
|
114
|
-
const { categories } = useContext2(LayerContext);
|
|
115
|
-
return /* @__PURE__ */ React5.createElement("select", null, categories.map((category) => /* @__PURE__ */ React5.createElement(
|
|
116
|
-
CategoryMenuItem,
|
|
117
|
-
{
|
|
118
|
-
category,
|
|
119
|
-
selectedCategory
|
|
120
|
-
}
|
|
121
|
-
)));
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
// src/components/Transactions/TransactionRow.tsx
|
|
125
|
-
import { parseISO, format as formatTime } from "date-fns";
|
|
126
|
-
var TransactionRow = ({
|
|
127
|
-
dateFormat: dateFormat2,
|
|
128
|
-
transaction,
|
|
129
|
-
isOpen,
|
|
130
|
-
toggleOpen
|
|
131
|
-
}) => /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement("div", null, /* @__PURE__ */ React6.createElement("input", { type: "checkbox" })), /* @__PURE__ */ React6.createElement("div", null, formatTime(parseISO(transaction.date), dateFormat2)), /* @__PURE__ */ React6.createElement("div", null, Money.format(transaction)), /* @__PURE__ */ React6.createElement("div", null, "Business Checking"), /* @__PURE__ */ React6.createElement("div", null, transaction.counterparty_name), /* @__PURE__ */ React6.createElement("div", { "data-selected": transaction?.category?.category }, /* @__PURE__ */ React6.createElement(CategoryMenu, { selectedCategory: transaction?.category?.category })), /* @__PURE__ */ React6.createElement("div", null), /* @__PURE__ */ React6.createElement(
|
|
132
|
-
"div",
|
|
133
|
-
{
|
|
134
|
-
onClick: () => toggleOpen(transaction.id),
|
|
135
|
-
style: { cursor: "pointer" }
|
|
136
|
-
},
|
|
137
|
-
"\u{1F3AF}"
|
|
138
|
-
), isOpen && /* @__PURE__ */ React6.createElement("div", { className: "expand-area" }, /* @__PURE__ */ React6.createElement("div", { className: "expand-content" }, "Hello!")));
|
|
139
|
-
|
|
140
|
-
// src/components/Transactions/Transactions.tsx
|
|
141
|
-
import useSWR2 from "swr";
|
|
142
|
-
var dateFormat = "MM/dd/yyyy";
|
|
143
|
-
var fetchTransactions = (accessToken) => (url) => fetch(url, {
|
|
144
|
-
headers: {
|
|
145
|
-
Authorization: "Bearer " + accessToken,
|
|
146
|
-
"Content-Type": "application/json"
|
|
147
|
-
},
|
|
148
|
-
method: "GET"
|
|
149
|
-
}).then((res) => res.json());
|
|
150
|
-
var filterVisibility = (display) => (transaction) => {
|
|
151
|
-
const categorized = [
|
|
152
|
-
"CATEGORIZED" /* CATEGORIZED */,
|
|
153
|
-
"JOURNALING" /* JOURNALING */,
|
|
154
|
-
"SPLIT" /* SPLIT */
|
|
155
|
-
].includes(transaction.categorization_status);
|
|
156
|
-
const inReview = [
|
|
157
|
-
"READY_FOR_INPUT" /* READY_FOR_INPUT */,
|
|
158
|
-
"LAYER_REVIEW" /* LAYER_REVIEW */
|
|
159
|
-
].includes(transaction.categorization_status);
|
|
160
|
-
return display === "review" && inReview || display === "categorized" && categorized;
|
|
161
|
-
};
|
|
162
|
-
var Transactions = (props) => {
|
|
163
|
-
const { auth, businessId } = useContext3(LayerContext);
|
|
164
|
-
const [display, setDisplay] = useState2("review");
|
|
165
|
-
const { data, isLoading } = useSWR2(
|
|
166
|
-
auth?.access_token && `https://sandbox.layerfi.com/v1/businesses/${businessId}/bank-transactions`,
|
|
167
|
-
fetchTransactions(auth?.access_token)
|
|
168
|
-
);
|
|
169
|
-
const transactions = (!isLoading && data?.data || []).filter(
|
|
170
|
-
filterVisibility(display)
|
|
171
|
-
);
|
|
172
|
-
const onCategorizationDisplayChange = (event) => setDisplay(event.target.value);
|
|
173
|
-
const [openRows, setOpenRows] = useState2({});
|
|
174
|
-
const toggleOpen = (id) => setOpenRows({ ...openRows, [id]: !openRows[id] });
|
|
175
|
-
return /* @__PURE__ */ React7.createElement("div", { className: "transactions", "data-display": display }, /* @__PURE__ */ React7.createElement("header", null, /* @__PURE__ */ React7.createElement("h1", null, "Transactions"), /* @__PURE__ */ React7.createElement(
|
|
176
|
-
RadioButtonGroup,
|
|
177
|
-
{
|
|
178
|
-
name: "transaction-display",
|
|
179
|
-
buttons: [
|
|
180
|
-
{ label: "To Review", value: "review" },
|
|
181
|
-
{ label: "Categorized", value: "categorized" }
|
|
182
|
-
],
|
|
183
|
-
selected: display,
|
|
184
|
-
onChange: onCategorizationDisplayChange
|
|
185
|
-
}
|
|
186
|
-
)), /* @__PURE__ */ React7.createElement("div", { className: "transaction-table" }, /* @__PURE__ */ React7.createElement("div", { className: "header" }, /* @__PURE__ */ React7.createElement("input", { type: "checkbox" })), /* @__PURE__ */ React7.createElement("div", { className: "header" }, "Date"), /* @__PURE__ */ React7.createElement("div", { className: "header" }, "Transaction"), /* @__PURE__ */ React7.createElement("div", { className: "header" }, "Account"), /* @__PURE__ */ React7.createElement("div", { className: "header" }, "Amount"), /* @__PURE__ */ React7.createElement("div", { className: "header" }, "Category"), /* @__PURE__ */ React7.createElement("div", { className: "header" }, "Action"), /* @__PURE__ */ React7.createElement("div", { className: "header" }), transactions.map((transaction) => /* @__PURE__ */ React7.createElement(
|
|
187
|
-
TransactionRow,
|
|
188
|
-
{
|
|
189
|
-
key: transaction.id,
|
|
190
|
-
dateFormat,
|
|
191
|
-
transaction,
|
|
192
|
-
isOpen: openRows[transaction.id],
|
|
193
|
-
toggleOpen
|
|
194
|
-
}
|
|
195
|
-
))));
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
// src/providers/LayerProvider/LayerProvider.tsx
|
|
199
|
-
import React8 from "react";
|
|
200
|
-
import useSWR3 from "swr";
|
|
201
|
-
var appId = "1pskub33qd9qt19406hi4d1j6f";
|
|
202
|
-
var appSecret = "1k7up1ia2m0ino8el6md2l1isq3t7fdj1eq6firmkui8757lk6r6";
|
|
203
|
-
async function getAccessToken() {
|
|
204
|
-
var details = {
|
|
205
|
-
grant_type: "client_credentials",
|
|
206
|
-
scope: "https://sandbox.layerfi.com/sandbox",
|
|
207
|
-
client_id: "canaryAppId"
|
|
208
|
-
};
|
|
209
|
-
const formBody = Object.entries(details).map((key) => encodeURIComponent(key[0]) + "=" + encodeURIComponent(key[1])).join("&");
|
|
210
|
-
const authRequest = fetch("https://auth.layerfi.com/oauth2/token", {
|
|
211
|
-
method: "POST",
|
|
212
|
-
headers: {
|
|
213
|
-
Authorization: "Basic " + btoa(appId + ":" + appSecret),
|
|
214
|
-
"Content-Type": "application/x-www-form-urlencoded"
|
|
215
|
-
},
|
|
216
|
-
body: formBody
|
|
217
|
-
});
|
|
218
|
-
return await (await authRequest).json();
|
|
219
|
-
}
|
|
220
|
-
var getCategories = (accessToken) => (url) => fetch(url, {
|
|
221
|
-
headers: {
|
|
222
|
-
Authorization: "Bearer " + accessToken,
|
|
223
|
-
"Content-Type": "application/json"
|
|
224
|
-
},
|
|
225
|
-
method: "GET"
|
|
226
|
-
}).then((res) => res.json());
|
|
227
|
-
var LayerProvider = ({
|
|
228
|
-
businessId,
|
|
229
|
-
children
|
|
230
|
-
}) => {
|
|
231
|
-
const { data: auth } = useSWR3(
|
|
232
|
-
"https://auth.layerfi.com/oauth2/token",
|
|
233
|
-
getAccessToken
|
|
234
|
-
);
|
|
235
|
-
const { data: categories } = useSWR3(
|
|
236
|
-
businessId && auth?.access_token && `https://sandbox.layerfi.com/v1/businesses/${businessId}/categories`,
|
|
237
|
-
getCategories(auth?.access_token)
|
|
238
|
-
);
|
|
239
|
-
const value = {
|
|
240
|
-
auth,
|
|
241
|
-
businessId,
|
|
242
|
-
categories: categories?.data?.categories || []
|
|
243
|
-
};
|
|
244
|
-
return /* @__PURE__ */ React8.createElement(LayerContext.Provider, { value }, children);
|
|
245
|
-
};
|
|
246
|
-
export {
|
|
247
|
-
Hello,
|
|
248
|
-
LayerContext,
|
|
249
|
-
LayerProvider,
|
|
250
|
-
Transactions
|
|
251
|
-
};
|
|
252
|
-
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/components/Hello/Hello.tsx", "../src/components/Transactions/Transactions.tsx", "../src/contexts/LayerContext/LayerContext.tsx", "../src/components/RadioButtonGroup/RadioButtonGroup.tsx", "../src/components/RadioButtonGroup/RadioButton.tsx", "../src/components/Transactions/TransactionRow.tsx", "../src/models/Money.ts", "../src/components/CategoryMenu/CategoryMenu.tsx", "../src/components/CategoryMenu/CategoryMenuItem.tsx", "../src/providers/LayerProvider/LayerProvider.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react'\nimport './Hello.css'\nimport useSWR from 'swr'\n\ntype Props = {\n user?: string | undefined\n}\n\nconst fetcher = url => fetch(url).then(res => res.json())\n\nexport const Hello = ({ user }: Props) => {\n const { data, isLoading } = useSWR(\n `https://api.github.com/users/${user || 'jyurek'}`,\n fetcher,\n )\n const name = (isLoading ? '...' : data?.name) || 'User'\n return (\n <>\n <div className=\"hello\">Hello, {name}!</div>\n </>\n )\n}\n", "import React, { useState, useContext } from 'react'\nimport { LayerContext } from '../../contexts/LayerContext'\nimport { Transaction, CategorizationStatus } from '../../types'\nimport { RadioButtonGroup } from '../RadioButtonGroup'\nimport { TransactionRow } from './TransactionRow'\nimport './Transactions.css'\nimport useSWR from 'swr'\n\nconst dateFormat = 'MM/dd/yyyy'\n\nconst fetchTransactions = (accessToken: string) => (url: string) =>\n fetch(url, {\n headers: {\n Authorization: 'Bearer ' + accessToken,\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n }).then(res => res.json())\n\nconst filterVisibility = (display: Display) => (transaction: Transaction) => {\n const categorized = [\n CategorizationStatus.CATEGORIZED,\n CategorizationStatus.JOURNALING,\n CategorizationStatus.SPLIT,\n ].includes(transaction.categorization_status)\n const inReview = [\n CategorizationStatus.READY_FOR_INPUT,\n CategorizationStatus.LAYER_REVIEW,\n ].includes(transaction.categorization_status)\n return (\n (display === 'review' && inReview) ||\n (display === 'categorized' && categorized)\n )\n}\n\ntype Props = {}\n\nexport const Transactions = (props: Props) => {\n const { auth, businessId } = useContext(LayerContext)\n const [display, setDisplay] = useState<'review' | 'categorized'>('review')\n const { data, isLoading } = useSWR(\n auth?.access_token &&\n `https://sandbox.layerfi.com/v1/businesses/${businessId}/bank-transactions`,\n fetchTransactions(auth?.access_token),\n )\n const transactions = ((!isLoading && data?.data) || []).filter(\n filterVisibility(display),\n )\n const onCategorizationDisplayChange = (\n event: React.ChangeEvent<HTMLInputElement>,\n ) => setDisplay(event.target.value)\n const [openRows, setOpenRows] = useState<Record<string, boolean>>({})\n const toggleOpen = (id: string) =>\n setOpenRows({ ...openRows, [id]: !openRows[id] })\n return (\n <div className=\"transactions\" data-display={display}>\n <header>\n <h1>Transactions</h1>\n <RadioButtonGroup\n name=\"transaction-display\"\n buttons={[\n { label: 'To Review', value: 'review' },\n { label: 'Categorized', value: 'categorized' },\n ]}\n selected={display}\n onChange={onCategorizationDisplayChange}\n />\n </header>\n <div className=\"transaction-table\">\n <div className=\"header\">\n <input type=\"checkbox\" />\n </div>\n <div className=\"header\">Date</div>\n <div className=\"header\">Transaction</div>\n <div className=\"header\">Account</div>\n <div className=\"header\">Amount</div>\n <div className=\"header\">Category</div>\n <div className=\"header\">Action</div>\n <div className=\"header\"></div>\n {transactions.map(transaction => (\n <TransactionRow\n key={transaction.id}\n dateFormat={dateFormat}\n transaction={transaction}\n isOpen={openRows[transaction.id]}\n toggleOpen={toggleOpen}\n />\n ))}\n </div>\n </div>\n )\n}\n", "import { createContext } from 'react'\nimport { LayerExecutionContext } from '../../types'\n\nexport const LayerContext = createContext<LayerExecutionContext>({\n auth: undefined,\n businessId: '',\n categories: [],\n})\n", "import React, { useState } from 'react'\nimport { RadioButton } from './RadioButton'\n\nexport type RadioButtonLabel = {\n label: string\n value: string\n}\n\ntype Props = {\n name: string\n buttons: RadioButtonLabel[]\n selected?: Pick<RadioButtonLabel, 'value'>\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void\n}\n\nexport const RadioButtonGroup = ({\n name,\n buttons,\n onChange,\n selected,\n}: Props) => {\n const selectedValue = selected || buttons[0].value\n return (\n <div className=\"radio-group\">\n {buttons.map(button => (\n <RadioButton\n {...button}\n key={button.value}\n name={name}\n checked={selectedValue === button.value}\n onChange={onChange}\n />\n ))}\n </div>\n )\n}\n", "import React from 'react'\n\ntype Props = {\n checked: boolean\n label: string\n name: string\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void\n value: string\n}\n\nexport const RadioButton = ({\n checked,\n label,\n name,\n onChange,\n value,\n}: Props) => {\n return (\n <label>\n <input\n type=\"radio\"\n checked={checked}\n name={name}\n onChange={onChange}\n value={value}\n />\n <div>{label}</div>\n </label>\n )\n}\n", "import React from 'react'\nimport { Money } from '../../models/Money'\nimport { Transaction } from '../../types'\nimport { CategoryMenu } from '../CategoryMenu'\nimport { parseISO, format as formatTime } from 'date-fns'\n\ntype Props = {\n dateFormat: string\n transaction: Transaction\n isOpen: boolean\n toggleOpen: (id: string) => void\n}\n\nexport const TransactionRow = ({\n dateFormat,\n transaction,\n isOpen,\n toggleOpen,\n}: Props) => (\n <>\n <div>\n <input type=\"checkbox\" />\n </div>\n <div>{formatTime(parseISO(transaction.date), dateFormat)}</div>\n <div>{Money.format(transaction)}</div>\n <div>Business Checking</div>\n <div>{transaction.counterparty_name}</div>\n <div data-selected={transaction?.category?.category}>\n <CategoryMenu selectedCategory={transaction?.category?.category} />\n </div>\n <div></div>\n <div\n onClick={() => toggleOpen(transaction.id)}\n style={{ cursor: 'pointer' }}\n >\n 🎯\n </div>\n {isOpen && (\n <div className=\"expand-area\">\n <div className=\"expand-content\">Hello!</div>\n </div>\n )}\n </>\n)\n", "import { Transaction } from '../types'\n\ntype FormatParameters = Pick<Transaction, 'amount'> &\n Pick<Partial<Transaction>, 'direction'>\nconst format = ({ amount, direction }: FormatParameters) =>\n (direction === 'CREDIT' ? '+' : '-') +\n Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(\n amount / 100,\n )\n\nexport const Money = {\n format,\n}\n", "import React, { useContext } from 'react'\nimport { LayerContext } from '../../contexts/LayerContext'\nimport { CategoryMenuItem } from './CategoryMenuItem'\n\ntype Props = {\n selectedCategory: string\n}\n\nexport const CategoryMenu = ({ selectedCategory }: Props) => {\n const { categories } = useContext(LayerContext)\n return (\n <select>\n {categories.map(category => (\n <CategoryMenuItem\n category={category}\n selectedCategory={selectedCategory}\n />\n ))}\n </select>\n )\n}\n", "import React, { useContext } from 'react'\nimport { Category } from '../../types'\n\ntype Props = {\n selectedCategory: string\n category: Category\n maxDepth?: number\n}\n\nexport const CategoryMenuItem = ({\n selectedCategory,\n category,\n maxDepth = 1,\n}: Props) => {\n if (category.hasOwnProperty('subCategories') && maxDepth > 0) {\n return (\n <optgroup label={category.display_name}>\n {category.subCategories.map(category => (\n <CategoryMenuItem\n category={category}\n selectedCategory={selectedCategory}\n maxDepth={maxDepth - 1}\n />\n ))}\n </optgroup>\n )\n } else {\n return (\n <option\n key={category.category}\n value={category.category}\n selected={selectedCategory === category.category}\n >\n {category.display_name}\n </option>\n )\n }\n}\n", "import React, { PropsWithChildren } from 'react'\nimport { LayerContext } from '../../contexts/LayerContext'\nimport { LayerExecutionContext } from '../../types'\nimport useSWR from 'swr'\n\nconst appId = '1pskub33qd9qt19406hi4d1j6f'\nconst appSecret = '1k7up1ia2m0ino8el6md2l1isq3t7fdj1eq6firmkui8757lk6r6'\n\nexport async function getAccessToken(): Promise<OAuthResponse> {\n var details = {\n grant_type: 'client_credentials',\n scope: 'https://sandbox.layerfi.com/sandbox',\n client_id: 'canaryAppId',\n }\n\n const formBody = Object.entries(details)\n .map(key => encodeURIComponent(key[0]) + '=' + encodeURIComponent(key[1]))\n .join('&')\n const authRequest = fetch('https://auth.layerfi.com/oauth2/token', {\n method: 'POST',\n headers: {\n Authorization: 'Basic ' + btoa(appId + ':' + appSecret),\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: formBody,\n })\n return (await (await authRequest).json()) as OAuthResponse\n}\n\nconst getCategories = (accessToken: string) => (url: string) =>\n fetch(url, {\n headers: {\n Authorization: 'Bearer ' + accessToken,\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n }).then(res => res.json())\n\ntype Props = {\n businessId: string\n}\n\nexport const LayerProvider = ({\n businessId,\n children,\n}: PropsWithChildren<Props>) => {\n const { data: auth } = useSWR(\n 'https://auth.layerfi.com/oauth2/token',\n getAccessToken,\n )\n const { data: categories } = useSWR(\n businessId &&\n auth?.access_token &&\n `https://sandbox.layerfi.com/v1/businesses/${businessId}/categories`,\n getCategories(auth?.access_token),\n )\n const value: LayerExecutionContext = {\n auth,\n businessId,\n categories: categories?.data?.categories || [],\n }\n return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "useState", "useContext", "React", "React", "React", "React", "React", "useContext", "React", "category", "useContext", "React", "dateFormat", "React", "useSWR", "useContext", "useState", "React", "React", "useSWR", "React"]
|
|
7
|
-
}
|