@layerfi/components 0.1.112-alpha.5 → 0.1.113-alpha
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/dist/cjs/index.cjs +1822 -312
- package/dist/esm/index.mjs +263 -227
- package/dist/index.css +69 -51
- package/dist/index.d.ts +93 -95
- package/package.json +3 -4
package/dist/index.css
CHANGED
|
@@ -1883,12 +1883,11 @@
|
|
|
1883
1883
|
position: relative;
|
|
1884
1884
|
display: flex;
|
|
1885
1885
|
align-items: center;
|
|
1886
|
-
height:
|
|
1886
|
+
height: 36px;
|
|
1887
1887
|
width: max-content;
|
|
1888
1888
|
padding: 2px;
|
|
1889
1889
|
border-radius: 52px;
|
|
1890
1890
|
box-shadow: 0 0 0 1px var(--color-base-300);
|
|
1891
|
-
margin: 1px;
|
|
1892
1891
|
background: var(--color-base-100);
|
|
1893
1892
|
cursor: pointer;
|
|
1894
1893
|
user-select: none;
|
|
@@ -1926,7 +1925,7 @@
|
|
|
1926
1925
|
}.Layer__toggle-option input + span {
|
|
1927
1926
|
box-sizing: border-box;
|
|
1928
1927
|
justify-content: center;
|
|
1929
|
-
height:
|
|
1928
|
+
height: 32px;
|
|
1930
1929
|
padding: 8px 16px;
|
|
1931
1930
|
border-radius: 52px;
|
|
1932
1931
|
cursor: pointer;
|
|
@@ -1952,9 +1951,8 @@
|
|
|
1952
1951
|
box-sizing: border-box;
|
|
1953
1952
|
position: absolute;
|
|
1954
1953
|
z-index: 1;
|
|
1955
|
-
top: 1px;
|
|
1956
1954
|
left: 0;
|
|
1957
|
-
height:
|
|
1955
|
+
height: 32px;
|
|
1958
1956
|
width: 100px;
|
|
1959
1957
|
padding: 8px 16px;
|
|
1960
1958
|
border-radius: 52px;
|
|
@@ -3372,6 +3370,11 @@
|
|
|
3372
3370
|
gap: var(--spacing-sm);
|
|
3373
3371
|
min-width: 40rem;
|
|
3374
3372
|
max-width: 76rem;
|
|
3373
|
+
}@container (max-width: 768px) {
|
|
3374
|
+
.Layer__bank-transaction-list-item__content,
|
|
3375
|
+
.Layer__expanded-bank-transaction-row__content {
|
|
3376
|
+
min-width: 30rem;
|
|
3377
|
+
}
|
|
3375
3378
|
}.Layer__expanded-bank-transaction-row__content-panels {
|
|
3376
3379
|
box-sizing: border-box;
|
|
3377
3380
|
display: flex;
|
|
@@ -3484,7 +3487,13 @@
|
|
|
3484
3487
|
border-left: 1px solid var(--border-color);
|
|
3485
3488
|
transition: border 5s ease-out;
|
|
3486
3489
|
}.Layer__bank-transaction-row__expand-button {
|
|
3487
|
-
|
|
3490
|
+
display: flex;
|
|
3491
|
+
align-items: center;
|
|
3492
|
+
justify-content: center;
|
|
3493
|
+
height: 2.25rem;
|
|
3494
|
+
width: 2.25rem;
|
|
3495
|
+
}.Layer__bank-transaction-row__expand-button:hover {
|
|
3496
|
+
cursor: pointer;
|
|
3488
3497
|
}.Layer__bank-transaction-row__expand-button--mobile {
|
|
3489
3498
|
width: fit-content;
|
|
3490
3499
|
vertical-align: middle;
|
|
@@ -3515,8 +3524,9 @@
|
|
|
3515
3524
|
.Layer__expanded-bank-transaction-row__table-cell--split-entry {
|
|
3516
3525
|
display: grid;
|
|
3517
3526
|
grid-template-areas: "amount category button";
|
|
3518
|
-
grid-template-columns:
|
|
3519
|
-
|
|
3527
|
+
grid-template-columns: 12rem minmax(12rem, 24.5rem) 2.25rem;
|
|
3528
|
+
min-width: 27.5rem;
|
|
3529
|
+
max-width: min(40rem, 100%);
|
|
3520
3530
|
}
|
|
3521
3531
|
.Layer__expanded-bank-transaction-row__table-cell--split-entry:has(> .Layer__expanded-bank-transaction-row__table-cell--split-entry__customer), .Layer__expanded-bank-transaction-row__table-cell--split-entry:has(> .Layer__expanded-bank-transaction-row__table-cell--split-entry__tags) {
|
|
3522
3532
|
grid-template-areas: "amount category button" "customer tags .";
|
|
@@ -3597,26 +3607,12 @@
|
|
|
3597
3607
|
gap: 4px;
|
|
3598
3608
|
align-items: center;
|
|
3599
3609
|
}.Layer__bank-transaction-list-item__body {
|
|
3600
|
-
|
|
3601
|
-
display: flex;
|
|
3602
|
-
gap: 4px;
|
|
3610
|
+
justify-content: space-between;
|
|
3603
3611
|
width: 100%;
|
|
3604
3612
|
padding: var(--spacing-sm) var(--spacing-md);
|
|
3605
3613
|
color: var(--text-color-primary);
|
|
3606
|
-
}.Layer__bank-transaction-list-
|
|
3607
|
-
|
|
3608
|
-
padding-right: var(--spacing-sm);
|
|
3609
|
-
}.Layer__bank-transaction-list-item__body .Layer__bank-transaction-list-item__body__name {
|
|
3610
|
-
flex: 1;
|
|
3611
|
-
max-width: calc(100% - 120px);
|
|
3612
|
-
}.Layer__bank-transaction-list-item__body .Layer__bank-transaction-list-item__body__name .Layer__tooltip-trigger {
|
|
3613
|
-
display: flex;
|
|
3614
|
-
}.Layer__bank-transaction-list-item__body .Layer__bank-transaction-list-item__body__name .Layer__text {
|
|
3615
|
-
white-space: nowrap;
|
|
3616
|
-
overflow: hidden;
|
|
3617
|
-
text-overflow: ellipsis;
|
|
3618
|
-
}.Layer__bank-transaction-list-item__body .Layer__bank-transaction-row__expand-button {
|
|
3619
|
-
margin: 0 var(--spacing-xs);
|
|
3614
|
+
}.Layer__bank-transaction-list-item__body__name {
|
|
3615
|
+
max-width: 70%;
|
|
3620
3616
|
}.Layer__bank-transaction-list-item__processing-info {
|
|
3621
3617
|
box-sizing: border-box;
|
|
3622
3618
|
display: flex;
|
|
@@ -3638,6 +3634,10 @@
|
|
|
3638
3634
|
}.Layer__table.Layer__bank-transactions__table .Layer__bank-transaction__submit-btn,
|
|
3639
3635
|
.Layer__table.Layer__bank-transactions__table .Layer__bank-transaction__retry-btn {
|
|
3640
3636
|
width: 122px;
|
|
3637
|
+
}.Layer__table .Layer__table-header.Layer__bank-transactions__documents-col {
|
|
3638
|
+
--right-adjust: calc(65ch + 2px);
|
|
3639
|
+
}.Layer__table .Layer__table-header.Layer__table-cell--amount.Layer__table-cell__amount-col {
|
|
3640
|
+
--right-adjust: calc(65ch + 2px);
|
|
3641
3641
|
}.Layer__table.Layer__bank-transactions__table .Layer__table-cell__amount-col {
|
|
3642
3642
|
box-sizing: border-box;
|
|
3643
3643
|
position: sticky;
|
|
@@ -3660,7 +3660,7 @@
|
|
|
3660
3660
|
box-sizing: border-box;
|
|
3661
3661
|
position: sticky;
|
|
3662
3662
|
z-index: 2;
|
|
3663
|
-
right:
|
|
3663
|
+
right: var(--right-adjust);
|
|
3664
3664
|
width: 0;
|
|
3665
3665
|
min-width: 0;
|
|
3666
3666
|
max-width: 0;
|
|
@@ -3690,7 +3690,10 @@
|
|
|
3690
3690
|
max-width: 140px;
|
|
3691
3691
|
}.Layer__bank-transactions__tx-col {
|
|
3692
3692
|
box-sizing: border-box;
|
|
3693
|
-
|
|
3693
|
+
overflow: hidden;
|
|
3694
|
+
max-width: 40ch;
|
|
3695
|
+
text-overflow: ellipsis;
|
|
3696
|
+
white-space: nowrap;
|
|
3694
3697
|
}.Layer__bank-transactions__account-col {
|
|
3695
3698
|
box-sizing: border-box;
|
|
3696
3699
|
width: 30ch;
|
|
@@ -3698,6 +3701,7 @@
|
|
|
3698
3701
|
max-width: 30ch;
|
|
3699
3702
|
}.Layer__bank-transactions__documents-col {
|
|
3700
3703
|
box-sizing: border-box;
|
|
3704
|
+
--right-adjust: 56ch;
|
|
3701
3705
|
width: 64px;
|
|
3702
3706
|
min-width: 64px;
|
|
3703
3707
|
max-width: 64px;
|
|
@@ -6859,7 +6863,11 @@
|
|
|
6859
6863
|
|
|
6860
6864
|
.Layer__Spacer {
|
|
6861
6865
|
flex: 1 1 0%;
|
|
6862
|
-
}.Layer__UI__tooltip
|
|
6866
|
+
}.Layer__UI__tooltip {
|
|
6867
|
+
z-index: 50;
|
|
6868
|
+
}
|
|
6869
|
+
|
|
6870
|
+
.Layer__UI__tooltip-content {
|
|
6863
6871
|
box-sizing: border-box;
|
|
6864
6872
|
display: block;
|
|
6865
6873
|
max-width: 20rem;
|
|
@@ -6875,6 +6883,11 @@
|
|
|
6875
6883
|
color: var(--color-base-300);
|
|
6876
6884
|
word-break: break-all;
|
|
6877
6885
|
white-space: normal;
|
|
6886
|
+
}
|
|
6887
|
+
|
|
6888
|
+
.Layer__UI__tooltip-trigger {
|
|
6889
|
+
overflow: hidden;
|
|
6890
|
+
text-overflow: ellipsis;
|
|
6878
6891
|
}.Layer__ModalOverlay {
|
|
6879
6892
|
position: fixed;
|
|
6880
6893
|
z-index: 100;
|
|
@@ -7244,6 +7257,10 @@
|
|
|
7244
7257
|
grid-area: close;
|
|
7245
7258
|
}
|
|
7246
7259
|
|
|
7260
|
+
.Layer__ModalTitleWithClose > .Layer__UI__Button {
|
|
7261
|
+
margin: 0 0 auto;
|
|
7262
|
+
}
|
|
7263
|
+
|
|
7247
7264
|
.Layer__ModalContent {
|
|
7248
7265
|
display: grid;
|
|
7249
7266
|
overflow-y: auto;
|
|
@@ -9659,15 +9676,13 @@
|
|
|
9659
9676
|
padding-block: var(--spacing-sm);
|
|
9660
9677
|
}.Layer__TagDimensionsGroup__TagComboBox {
|
|
9661
9678
|
width: 100%;
|
|
9662
|
-
min-width:
|
|
9679
|
+
min-width: 10rem;
|
|
9663
9680
|
}.Layer__datetime {
|
|
9664
9681
|
display: inline-flex;
|
|
9665
9682
|
gap: var(--spacing-md);
|
|
9666
9683
|
align-items: center;
|
|
9667
9684
|
}.Layer__MoneyText {
|
|
9668
|
-
overflow-x: hidden;
|
|
9669
9685
|
color: var(--color-base-800);
|
|
9670
|
-
text-overflow: ellipsis;
|
|
9671
9686
|
}
|
|
9672
9687
|
.Layer__MoneyText[data-bold] {
|
|
9673
9688
|
font-weight: var(--font-weight-bold);
|
|
@@ -9887,7 +9902,6 @@
|
|
|
9887
9902
|
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
9888
9903
|
gap: var(--spacing-xs);
|
|
9889
9904
|
align-items: center;
|
|
9890
|
-
min-height: 2.5rem;
|
|
9891
9905
|
}
|
|
9892
9906
|
@container (min-width: 840px) {
|
|
9893
9907
|
.Layer__BankTransactionsActions {
|
|
@@ -10904,7 +10918,11 @@
|
|
|
10904
10918
|
display: grid;
|
|
10905
10919
|
place-items: center;
|
|
10906
10920
|
min-block-size: 20rem;
|
|
10907
|
-
}.
|
|
10921
|
+
}body .calendly-overlay .calendly-popup {
|
|
10922
|
+
max-height: 1024px;
|
|
10923
|
+
}
|
|
10924
|
+
|
|
10925
|
+
.Layer__LandingPage {
|
|
10908
10926
|
box-sizing: border-box;
|
|
10909
10927
|
display: flex;
|
|
10910
10928
|
flex-direction: column;
|
|
@@ -10917,30 +10935,30 @@
|
|
|
10917
10935
|
background: var(--color-white);
|
|
10918
10936
|
}
|
|
10919
10937
|
|
|
10920
|
-
.
|
|
10938
|
+
.Layer__LandingPage__calendly-container {
|
|
10921
10939
|
overflow: hidden;
|
|
10922
10940
|
max-height: 0;
|
|
10923
10941
|
margin: 0;
|
|
10924
10942
|
transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1);
|
|
10925
10943
|
}
|
|
10926
|
-
.
|
|
10944
|
+
.Layer__LandingPage__calendly-container.visible {
|
|
10927
10945
|
max-height: 800px;
|
|
10928
10946
|
margin: var(--spacing-lg) 0;
|
|
10929
10947
|
}
|
|
10930
|
-
.
|
|
10948
|
+
.Layer__LandingPage__calendly-container .Layer__calendly-inline-widget {
|
|
10931
10949
|
min-height: 630px;
|
|
10932
10950
|
width: 100%;
|
|
10933
10951
|
margin-bottom: var(--spacing-lg);
|
|
10934
10952
|
transition: opacity 0.3s ease-in-out 0.8s;
|
|
10935
10953
|
}
|
|
10936
10954
|
|
|
10937
|
-
.
|
|
10955
|
+
.Layer__LandingPage-options {
|
|
10938
10956
|
max-width: 1200px;
|
|
10939
10957
|
padding: var(--spacing-xl) var(--spacing-lg);
|
|
10940
10958
|
margin: 0 auto;
|
|
10941
10959
|
}
|
|
10942
10960
|
|
|
10943
|
-
.
|
|
10961
|
+
.Layer__LandingPage-options__grid {
|
|
10944
10962
|
display: grid;
|
|
10945
10963
|
grid-template-columns: 1fr 1fr;
|
|
10946
10964
|
gap: var(--spacing-2xl);
|
|
@@ -10948,12 +10966,12 @@
|
|
|
10948
10966
|
margin: 0 auto;
|
|
10949
10967
|
}
|
|
10950
10968
|
@media (width <= 720px) {
|
|
10951
|
-
.
|
|
10969
|
+
.Layer__LandingPage-options__grid {
|
|
10952
10970
|
grid-template-columns: 1fr;
|
|
10953
10971
|
}
|
|
10954
10972
|
}
|
|
10955
10973
|
|
|
10956
|
-
.
|
|
10974
|
+
.Layer__LandingPage-options__card {
|
|
10957
10975
|
position: relative;
|
|
10958
10976
|
display: flex;
|
|
10959
10977
|
flex-direction: column;
|
|
@@ -10966,61 +10984,61 @@
|
|
|
10966
10984
|
overflow-wrap: break-word;
|
|
10967
10985
|
}
|
|
10968
10986
|
|
|
10969
|
-
.
|
|
10987
|
+
.Layer__LandingPage-options__feature-check {
|
|
10970
10988
|
color: var(--fg-subtle);
|
|
10971
10989
|
}
|
|
10972
10990
|
|
|
10973
|
-
.
|
|
10991
|
+
.Layer__LandingPage__content {
|
|
10974
10992
|
display: flex;
|
|
10975
10993
|
flex-direction: column;
|
|
10976
10994
|
gap: var(--spacing-xl);
|
|
10977
10995
|
}
|
|
10978
10996
|
|
|
10979
|
-
.
|
|
10997
|
+
.Layer__LandingPage__offers {
|
|
10980
10998
|
width: 100%;
|
|
10981
10999
|
background-color: transparent;
|
|
10982
11000
|
}
|
|
10983
11001
|
|
|
10984
|
-
.
|
|
11002
|
+
.Layer__LandingPage__layout {
|
|
10985
11003
|
display: flex;
|
|
10986
11004
|
flex-direction: row;
|
|
10987
11005
|
justify-content: space-between;
|
|
10988
11006
|
}
|
|
10989
11007
|
@media (width <= 1440px) {
|
|
10990
|
-
.
|
|
11008
|
+
.Layer__LandingPage__layout {
|
|
10991
11009
|
flex-direction: column;
|
|
10992
11010
|
}
|
|
10993
11011
|
}
|
|
10994
11012
|
@media (width > 1440px) {
|
|
10995
|
-
.
|
|
11013
|
+
.Layer__LandingPage__layout {
|
|
10996
11014
|
max-width: 1440px;
|
|
10997
11015
|
margin: 0 auto;
|
|
10998
11016
|
}
|
|
10999
11017
|
}
|
|
11000
11018
|
|
|
11001
|
-
.
|
|
11019
|
+
.Layer__LandingPage__responsive-content {
|
|
11002
11020
|
display: flex;
|
|
11003
11021
|
flex-direction: column;
|
|
11004
11022
|
gap: var(--spacing-2xl);
|
|
11005
11023
|
}
|
|
11006
11024
|
@media (width <= 1440px) {
|
|
11007
|
-
.
|
|
11025
|
+
.Layer__LandingPage__responsive-content {
|
|
11008
11026
|
max-width: 100%;
|
|
11009
11027
|
}
|
|
11010
11028
|
}
|
|
11011
11029
|
|
|
11012
|
-
.
|
|
11030
|
+
.Layer__LandingPage__media-container {
|
|
11013
11031
|
display: flex;
|
|
11014
11032
|
align-items: center;
|
|
11015
11033
|
justify-content: center;
|
|
11016
11034
|
transition: margin-top 0.3s ease-in-out, opacity 0.3s ease-in-out;
|
|
11017
11035
|
}
|
|
11018
11036
|
@media (width <= 1440px) {
|
|
11019
|
-
.
|
|
11037
|
+
.Layer__LandingPage__media-container {
|
|
11020
11038
|
margin-top: var(--spacing-lg);
|
|
11021
11039
|
}
|
|
11022
11040
|
}
|
|
11023
|
-
.
|
|
11041
|
+
.Layer__LandingPage__media-container img {
|
|
11024
11042
|
height: auto;
|
|
11025
11043
|
max-width: 100%;
|
|
11026
11044
|
object-fit: cover;
|
package/dist/index.d.ts
CHANGED
|
@@ -118,7 +118,7 @@ declare type BankTransactionFilters = {
|
|
|
118
118
|
tagFilter?: TagFilterInput;
|
|
119
119
|
};
|
|
120
120
|
|
|
121
|
-
export declare const BankTransactions: ({ onError, showTags, showCustomerVendor, monthlyView, applyGlobalDateRange, mode, renderInAppLink,
|
|
121
|
+
export declare const BankTransactions: ({ onError, showTags, showCustomerVendor, monthlyView, applyGlobalDateRange, mode, renderInAppLink, ...props }: BankTransactionsWithErrorProps) => JSX_2.Element;
|
|
122
122
|
|
|
123
123
|
declare interface BankTransactionsHeaderStringOverrides {
|
|
124
124
|
header?: string;
|
|
@@ -149,8 +149,7 @@ declare interface BankTransactionsProps {
|
|
|
149
149
|
collapseHeader?: boolean;
|
|
150
150
|
stringOverrides?: BankTransactionsStringOverrides;
|
|
151
151
|
renderInAppLink?: (details: LinkingMetadata) => ReactNode;
|
|
152
|
-
|
|
153
|
-
_showBulkSelection?: boolean;
|
|
152
|
+
showCategorizationRules?: boolean;
|
|
154
153
|
}
|
|
155
154
|
|
|
156
155
|
declare interface BankTransactionsStringOverrides {
|
|
@@ -173,7 +172,7 @@ declare interface BankTransactionsWithErrorProps extends BankTransactionsProps {
|
|
|
173
172
|
showTags?: boolean;
|
|
174
173
|
}
|
|
175
174
|
|
|
176
|
-
export declare const BankTransactionsWithLinkedAccounts: ({ title, showTitle, elevatedLinkedAccounts, mode, showBreakConnection, showCustomerVendor, showDescriptions, showLedgerBalance, showReceiptUploads, showTags, showTooltips, showUnlinkItem, showUploadOptions, mobileComponent, stringOverrides, renderInAppLink,
|
|
175
|
+
export declare const BankTransactionsWithLinkedAccounts: ({ title, showTitle, elevatedLinkedAccounts, mode, showBreakConnection, showCustomerVendor, showDescriptions, showLedgerBalance, showReceiptUploads, showTags, showTooltips, showUnlinkItem, showUploadOptions, mobileComponent, stringOverrides, renderInAppLink, showCategorizationRules, }: BankTransactionsWithLinkedAccountsProps) => JSX_2.Element;
|
|
177
176
|
|
|
178
177
|
declare interface BankTransactionsWithLinkedAccountsProps {
|
|
179
178
|
title?: string;
|
|
@@ -195,8 +194,7 @@ declare interface BankTransactionsWithLinkedAccountsProps {
|
|
|
195
194
|
mobileComponent?: MobileComponentType;
|
|
196
195
|
stringOverrides?: BankTransactionsWithLinkedAccountsStringOverrides;
|
|
197
196
|
renderInAppLink?: (details: LinkingMetadata) => ReactNode;
|
|
198
|
-
|
|
199
|
-
_showBulkSelection?: boolean;
|
|
197
|
+
showCategorizationRules?: boolean;
|
|
200
198
|
}
|
|
201
199
|
|
|
202
200
|
declare interface BankTransactionsWithLinkedAccountsStringOverrides {
|
|
@@ -498,7 +496,7 @@ declare interface GeneralLedgerStringOverrides {
|
|
|
498
496
|
export declare const GeneralLedgerView: ({ title, showTitle, showTags, showCustomerVendor, stringOverrides, chartOfAccountsOptions, renderInAppLink, }: GeneralLedgerProps) => JSX_2.Element;
|
|
499
497
|
|
|
500
498
|
/**
|
|
501
|
-
* Configuration for the hero/main content section of the
|
|
499
|
+
* Configuration for the hero/main content section of the Landing Page page
|
|
502
500
|
*/
|
|
503
501
|
declare type HeroContentConfig = {
|
|
504
502
|
stringOverrides: {
|
|
@@ -513,8 +511,8 @@ declare type HeroContentConfig = {
|
|
|
513
511
|
topOfFoldImage: string;
|
|
514
512
|
};
|
|
515
513
|
cta: {
|
|
516
|
-
primary:
|
|
517
|
-
secondary:
|
|
514
|
+
primary: LandingPageLink;
|
|
515
|
+
secondary: LandingPageLink;
|
|
518
516
|
};
|
|
519
517
|
};
|
|
520
518
|
|
|
@@ -572,6 +570,92 @@ declare interface JournalTableStringOverrides {
|
|
|
572
570
|
creditColumnHeader?: string;
|
|
573
571
|
}
|
|
574
572
|
|
|
573
|
+
/**
|
|
574
|
+
* The LandingPage component provides a page-level component that surfaces the Layer accounting
|
|
575
|
+
* and bookkeeping services. It acts as a landing page allowing platforms to showcase the core value proposition
|
|
576
|
+
* and offers/pricing for the platform's end users.
|
|
577
|
+
* @see LandingPageMainConfig
|
|
578
|
+
@param config Allows you to customize the page component.
|
|
579
|
+
@returns A React JSX component
|
|
580
|
+
*/
|
|
581
|
+
export declare const LandingPage: ({ platform, availableOffers, heroOverrides, offeringOverrides, }: LandingPageProps) => JSX_2.Element;
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Configuration for individual Landing Page cards (accounting or bookkeeping)
|
|
585
|
+
*/
|
|
586
|
+
declare type LandingPageCardConfig = {
|
|
587
|
+
offerType: 'accounting' | 'bookkeeping';
|
|
588
|
+
stringOverrides: {
|
|
589
|
+
badge: string;
|
|
590
|
+
title: string;
|
|
591
|
+
subtitle: string;
|
|
592
|
+
priceAmount: string;
|
|
593
|
+
priceUnit: string;
|
|
594
|
+
};
|
|
595
|
+
mediaUrls: {
|
|
596
|
+
offerImage: string;
|
|
597
|
+
};
|
|
598
|
+
cta: {
|
|
599
|
+
primary: LandingPageLink;
|
|
600
|
+
};
|
|
601
|
+
showStartingAtLabel: boolean;
|
|
602
|
+
};
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
* A Link acts as a call-to-action for users interacting with the LandingPage component.
|
|
606
|
+
* @see LandingPage
|
|
607
|
+
*/
|
|
608
|
+
declare type LandingPageLink = {
|
|
609
|
+
/** Text label displayed for the link. */
|
|
610
|
+
label: string;
|
|
611
|
+
/** Destination for the link. If calendly URL, opens a Calendly modal. Otherwise, opens a new tab. */
|
|
612
|
+
url: string;
|
|
613
|
+
};
|
|
614
|
+
|
|
615
|
+
/**
|
|
616
|
+
* The PlatformConfig holds on to the name of the platform integrating with Layer, the primary
|
|
617
|
+
* top-of-fold image shown on the LandingPage component, and the name of the platform's
|
|
618
|
+
* niche or industry.
|
|
619
|
+
@see LandingPage
|
|
620
|
+
*/
|
|
621
|
+
declare interface LandingPagePlatformConfig {
|
|
622
|
+
/**
|
|
623
|
+
* The platform/brand name displayed throughout the component (e.g., "Shopify", "WooCommerce").
|
|
624
|
+
* Used in titles, descriptions, and feature text to customize the content.
|
|
625
|
+
*/
|
|
626
|
+
platformName: string;
|
|
627
|
+
/**
|
|
628
|
+
* The target industry for customization (e.g., "e-commerce", "SaaS", "retail").
|
|
629
|
+
* Used to tailor feature descriptions and messaging to the specific industry.
|
|
630
|
+
*
|
|
631
|
+
* In cases where the industry name substitution does not work well for the value
|
|
632
|
+
* propositions or features, we recommended you overwrite the value propositions directly.
|
|
633
|
+
*
|
|
634
|
+
@see LandingPageValueProposition
|
|
635
|
+
*/
|
|
636
|
+
industry: string;
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
/**
|
|
640
|
+
* Props for the LandingPage component.
|
|
641
|
+
*
|
|
642
|
+
* Requires only a single parameter, which is `config` which holds on to all the customizable
|
|
643
|
+
* settings for the landing page component such as textual content on the accounting and bookkeeping
|
|
644
|
+
* services, with varied pricing options and book-a-call calendly integration.
|
|
645
|
+
*/
|
|
646
|
+
declare interface LandingPageProps {
|
|
647
|
+
platform: LandingPagePlatformConfig;
|
|
648
|
+
availableOffers: ('accounting' | 'bookkeeping')[];
|
|
649
|
+
heroOverrides: DeepPartial<HeroContentConfig>;
|
|
650
|
+
offeringOverrides: {
|
|
651
|
+
stringOverrides?: {
|
|
652
|
+
sectionTitle: string;
|
|
653
|
+
};
|
|
654
|
+
accounting: DeepPartial<LandingPageCardConfig>;
|
|
655
|
+
bookkeeping: DeepPartial<LandingPageCardConfig>;
|
|
656
|
+
};
|
|
657
|
+
}
|
|
658
|
+
|
|
575
659
|
declare type LayerContextDateRange = {
|
|
576
660
|
dateRange: {
|
|
577
661
|
range: DateRange;
|
|
@@ -917,92 +1001,6 @@ declare type ReportType = 'profitAndLoss' | 'balanceSheet' | 'statementOfCashFlo
|
|
|
917
1001
|
|
|
918
1002
|
declare type Scope = 'expenses' | 'revenue';
|
|
919
1003
|
|
|
920
|
-
/**
|
|
921
|
-
* The ServiceOffering component provides a page-level component that surfaces the Layer accounting
|
|
922
|
-
* and bookkeeping services. It acts as a landing page allowing platforms to showcase the core value proposition
|
|
923
|
-
* and offers/pricing for the platform's end users.
|
|
924
|
-
@see ServiceOfferingMainConfig
|
|
925
|
-
@param config Allows you to customize the page component.
|
|
926
|
-
@returns A React JSX component
|
|
927
|
-
*/
|
|
928
|
-
export declare const ServiceOffering: ({ platform, availableOffers, heroOverrides, offeringOverrides, }: ServiceOfferingProps) => JSX_2.Element;
|
|
929
|
-
|
|
930
|
-
/**
|
|
931
|
-
* Configuration for individual service offering cards (accounting or bookkeeping)
|
|
932
|
-
*/
|
|
933
|
-
declare type ServiceOfferingCardConfig = {
|
|
934
|
-
offerType: 'accounting' | 'bookkeeping';
|
|
935
|
-
stringOverrides: {
|
|
936
|
-
badge: string;
|
|
937
|
-
title: string;
|
|
938
|
-
subtitle: string;
|
|
939
|
-
priceAmount: string;
|
|
940
|
-
priceUnit: string;
|
|
941
|
-
};
|
|
942
|
-
mediaUrls: {
|
|
943
|
-
offerImage: string;
|
|
944
|
-
};
|
|
945
|
-
cta: {
|
|
946
|
-
primary: ServiceOfferingLink;
|
|
947
|
-
};
|
|
948
|
-
showStartingAtLabel: boolean;
|
|
949
|
-
};
|
|
950
|
-
|
|
951
|
-
/**
|
|
952
|
-
* A Link acts as a call-to-action for users interacting with the ServiceOffering component.
|
|
953
|
-
@see ServiceOffering
|
|
954
|
-
*/
|
|
955
|
-
declare type ServiceOfferingLink = {
|
|
956
|
-
/** Text label displayed for the link. */
|
|
957
|
-
label: string;
|
|
958
|
-
/** Destination for the link. If calendly URL, opens a Calendly modal. Otherwise, opens a new tab. */
|
|
959
|
-
url: string;
|
|
960
|
-
};
|
|
961
|
-
|
|
962
|
-
/**
|
|
963
|
-
* The PlatformConfig holds on to the name of the platform integrating with Layer, the primary
|
|
964
|
-
* top-of-fold image shown on the ServiceOffering component, and the name of the platform's
|
|
965
|
-
* niche or industry.
|
|
966
|
-
@see ServiceOffering
|
|
967
|
-
*/
|
|
968
|
-
declare interface ServiceOfferingPlatformConfig {
|
|
969
|
-
/**
|
|
970
|
-
* The platform/brand name displayed throughout the component (e.g., "Shopify", "WooCommerce").
|
|
971
|
-
* Used in titles, descriptions, and feature text to customize the content.
|
|
972
|
-
*/
|
|
973
|
-
platformName: string;
|
|
974
|
-
/**
|
|
975
|
-
* The target industry for customization (e.g., "e-commerce", "SaaS", "retail").
|
|
976
|
-
* Used to tailor feature descriptions and messaging to the specific industry.
|
|
977
|
-
*
|
|
978
|
-
* In cases where the industry name substitution does not work well for the value
|
|
979
|
-
* propositions or features, we recommended you overwrite the value propositions directly.
|
|
980
|
-
*
|
|
981
|
-
@see ServiceOfferingValueProposition
|
|
982
|
-
*/
|
|
983
|
-
industry: string;
|
|
984
|
-
}
|
|
985
|
-
|
|
986
|
-
/**
|
|
987
|
-
* Props for the ServiceOffering component.
|
|
988
|
-
*
|
|
989
|
-
* Requires only a single parameter, which is `config` which holds on to all the customizable
|
|
990
|
-
* settings for the service offering component such as textual content on the accounting and bookkeeping
|
|
991
|
-
* services, with varied pricing options and book-a-call calendly integration.
|
|
992
|
-
*/
|
|
993
|
-
declare interface ServiceOfferingProps {
|
|
994
|
-
platform: ServiceOfferingPlatformConfig;
|
|
995
|
-
availableOffers: ('accounting' | 'bookkeeping')[];
|
|
996
|
-
heroOverrides: DeepPartial<HeroContentConfig>;
|
|
997
|
-
offeringOverrides: {
|
|
998
|
-
stringOverrides?: {
|
|
999
|
-
sectionTitle: string;
|
|
1000
|
-
};
|
|
1001
|
-
accounting: DeepPartial<ServiceOfferingCardConfig>;
|
|
1002
|
-
bookkeeping: DeepPartial<ServiceOfferingCardConfig>;
|
|
1003
|
-
};
|
|
1004
|
-
}
|
|
1005
|
-
|
|
1006
1004
|
declare type SidebarScope = Scope | undefined;
|
|
1007
1005
|
|
|
1008
1006
|
declare const _SIZE_VARIANTS: readonly ["sm", "lg"];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@layerfi/components",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.113-alpha",
|
|
4
4
|
"description": "Layer React Components",
|
|
5
5
|
"main": "dist/cjs/index.cjs",
|
|
6
6
|
"module": "dist/esm/index.mjs",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"@stylistic/eslint-plugin": "^4.2.0",
|
|
54
54
|
"@stylistic/stylelint-config": "^2.0.0",
|
|
55
55
|
"@stylistic/stylelint-plugin": "^3.1.2",
|
|
56
|
-
"@types/lodash": "^4.17.
|
|
56
|
+
"@types/lodash-es": "^4.17.12",
|
|
57
57
|
"@types/node": "^24.9.0",
|
|
58
58
|
"@types/pluralize": "^0.0.33",
|
|
59
59
|
"@types/react": "^18.2.0",
|
|
@@ -66,7 +66,6 @@
|
|
|
66
66
|
"eslint-plugin-unused-imports": "^4.1.4",
|
|
67
67
|
"husky": "^9.1.7",
|
|
68
68
|
"lint-staged": "^16.2.3",
|
|
69
|
-
"lodash": "^4.17.21",
|
|
70
69
|
"npm-dts": "^1.3.13",
|
|
71
70
|
"react": "^18.2.0",
|
|
72
71
|
"react-dom": "^18.2.0",
|
|
@@ -94,7 +93,7 @@
|
|
|
94
93
|
"date-fns": "^4.1.0",
|
|
95
94
|
"effect": "^3.16.3",
|
|
96
95
|
"libphonenumber-js": "^1.12.7",
|
|
97
|
-
"lodash": "^4.17.21",
|
|
96
|
+
"lodash-es": "^4.17.21",
|
|
98
97
|
"lucide-react": "^0.507.0",
|
|
99
98
|
"pluralize": "^8.0.0",
|
|
100
99
|
"react-aria-components": "^1.8.0",
|