@colijnit/transaction 262.1.45 → 262.1.47
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/fesm2022/colijnit-transaction.mjs +268 -71
- package/fesm2022/colijnit-transaction.mjs.map +1 -1
- package/index.d.ts +50 -4
- package/lib/component/core/base/components/transaction-header-block/style/_layout.scss +0 -4
- package/lib/component/core/base/components/transaction-header-contact/style/_layout.scss +65 -0
- package/lib/component/core/base/components/transaction-header-contact/style/_material-definition.scss +25 -0
- package/lib/component/core/base/components/transaction-header-contact/style/_theme.scss +34 -0
- package/lib/component/core/base/components/transaction-header-contact/style/material.scss +4 -0
- package/lib/component/transaction-header/transaction-header-relation/style/_layout.scss +1 -1
- package/lib/component/transaction-header/transaction-header-relation/style/material.scss +1 -0
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -867,7 +867,7 @@ declare class TransactionEventService {
|
|
|
867
867
|
readonly transactionCopyNavigation: Subject<string>;
|
|
868
868
|
readonly transactionDeleted: Subject<void>;
|
|
869
869
|
readonly transactionPaymentDone: Subject<void>;
|
|
870
|
-
readonly transactionLoaded: Subject<
|
|
870
|
+
readonly transactionLoaded: Subject<TransactionInfoResponse>;
|
|
871
871
|
readonly copyOrder: Subject<void>;
|
|
872
872
|
readonly updateTransactionReferences: Subject<void>;
|
|
873
873
|
readonly transactionLineVisibilityChange: BehaviorSubject<{
|
|
@@ -2105,6 +2105,7 @@ declare enum Icon {
|
|
|
2105
2105
|
CloseDialog = "close_dialog",
|
|
2106
2106
|
CodeRegular = "code_regular",
|
|
2107
2107
|
ContainerStorageRegularFull = "container_storage_regular_full",
|
|
2108
|
+
CopyRegularFull = "copy_regular_full",
|
|
2108
2109
|
CreditCardRegular = "credit_card_regular",
|
|
2109
2110
|
CreditCardRegularCheck = "credit_card_regular_check",
|
|
2110
2111
|
CreditCardSolid = "credit_card_solid",
|
|
@@ -13824,7 +13825,6 @@ declare class TransactionHeaderBlockComponent {
|
|
|
13824
13825
|
secondBlockTemplate: TemplateRef<any>;
|
|
13825
13826
|
thirdBlockTemplate: TemplateRef<any>;
|
|
13826
13827
|
hiddenBlockTemplate: TemplateRef<any>;
|
|
13827
|
-
dontShowEditIcon: boolean;
|
|
13828
13828
|
headerClick: EventEmitter<MouseEvent>;
|
|
13829
13829
|
showClass(): boolean;
|
|
13830
13830
|
handleHostClick(event: MouseEvent): void;
|
|
@@ -13832,7 +13832,7 @@ declare class TransactionHeaderBlockComponent {
|
|
|
13832
13832
|
constructor(iconCacheService: IconCacheService);
|
|
13833
13833
|
onHeaderClick(event: MouseEvent): void;
|
|
13834
13834
|
static ɵfac: i0.ɵɵFactoryDeclaration<TransactionHeaderBlockComponent, never>;
|
|
13835
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TransactionHeaderBlockComponent, "co-transaction-header-block", never, { "headerBlockTemplate": { "alias": "headerBlockTemplate"; "required": false; }; "firstBlockTemplate": { "alias": "firstBlockTemplate"; "required": false; }; "secondBlockTemplate": { "alias": "secondBlockTemplate"; "required": false; }; "thirdBlockTemplate": { "alias": "thirdBlockTemplate"; "required": false; }; "hiddenBlockTemplate": { "alias": "hiddenBlockTemplate"; "required": false; };
|
|
13835
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TransactionHeaderBlockComponent, "co-transaction-header-block", never, { "headerBlockTemplate": { "alias": "headerBlockTemplate"; "required": false; }; "firstBlockTemplate": { "alias": "firstBlockTemplate"; "required": false; }; "secondBlockTemplate": { "alias": "secondBlockTemplate"; "required": false; }; "thirdBlockTemplate": { "alias": "thirdBlockTemplate"; "required": false; }; "hiddenBlockTemplate": { "alias": "hiddenBlockTemplate"; "required": false; }; }, { "headerClick": "headerClick"; }, never, never, false, never>;
|
|
13836
13836
|
}
|
|
13837
13837
|
|
|
13838
13838
|
declare class TransactionHeaderBlockModule {
|
|
@@ -14178,8 +14178,14 @@ declare class TransactionHeaderComponent {
|
|
|
14178
14178
|
static ɵcmp: i0.ɵɵComponentDeclaration<TransactionHeaderComponent, "co-transaction-header", never, { "transaction": { "alias": "transaction"; "required": false; }; }, {}, never, never, false, never>;
|
|
14179
14179
|
}
|
|
14180
14180
|
|
|
14181
|
+
declare enum ContactValueKind {
|
|
14182
|
+
Email = "email",
|
|
14183
|
+
Phone = "phone"
|
|
14184
|
+
}
|
|
14185
|
+
|
|
14181
14186
|
declare class TransactionHeaderRelationComponent extends TransactionHeaderBaseComponent implements OnInit, OnDestroy {
|
|
14182
14187
|
readonly icons: typeof Icon;
|
|
14188
|
+
readonly contactKinds: typeof ContactValueKind;
|
|
14183
14189
|
showClass(): boolean;
|
|
14184
14190
|
firstAddress: string;
|
|
14185
14191
|
firstPostal: string;
|
|
@@ -14201,9 +14207,49 @@ declare class TransactionHeaderRelationComponent extends TransactionHeaderBaseCo
|
|
|
14201
14207
|
static ɵcmp: i0.ɵɵComponentDeclaration<TransactionHeaderRelationComponent, "co-transaction-header-relation", never, {}, {}, never, never, false, never>;
|
|
14202
14208
|
}
|
|
14203
14209
|
|
|
14210
|
+
declare class TransactionHeaderContactComponent implements OnInit, OnDestroy {
|
|
14211
|
+
iconCacheService: IconCacheService;
|
|
14212
|
+
private _changeDetector;
|
|
14213
|
+
value: string;
|
|
14214
|
+
kind: ContactValueKind;
|
|
14215
|
+
showClass(): boolean;
|
|
14216
|
+
readonly icons: typeof Icon;
|
|
14217
|
+
copied: boolean;
|
|
14218
|
+
/**
|
|
14219
|
+
* Href of the `mailto:` / `tel:` link, or `undefined` when the value must render as plain text.
|
|
14220
|
+
* Only touch-only devices get a link: there a tap to call or to mail is what the user wants, and a
|
|
14221
|
+
* long press hands them the operating system's own "copy" menu. With a mouse the same link would
|
|
14222
|
+
* hijack the click and open an unwanted mail client.
|
|
14223
|
+
*/
|
|
14224
|
+
get href(): string;
|
|
14225
|
+
private _touchOnlyDevice;
|
|
14226
|
+
private _copyResetTimeoutId;
|
|
14227
|
+
constructor(iconCacheService: IconCacheService, _changeDetector: ChangeDetectorRef);
|
|
14228
|
+
ngOnInit(): void;
|
|
14229
|
+
ngOnDestroy(): void;
|
|
14230
|
+
handleValueClick(event: MouseEvent): void;
|
|
14231
|
+
handleCopyClick(event: MouseEvent): void;
|
|
14232
|
+
private _isTouchOnlyDevice;
|
|
14233
|
+
private _copyUsingFallback;
|
|
14234
|
+
private _confirmCopy;
|
|
14235
|
+
/**
|
|
14236
|
+
* Fallback for the pages where `navigator.clipboard` is missing — it needs a secure context, so it is
|
|
14237
|
+
* simply absent when iOne is served over plain http.
|
|
14238
|
+
*/
|
|
14239
|
+
private _copyUsingSelection;
|
|
14240
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TransactionHeaderContactComponent, never>;
|
|
14241
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TransactionHeaderContactComponent, "co-transaction-header-contact", never, { "value": { "alias": "value"; "required": false; }; "kind": { "alias": "kind"; "required": false; }; }, {}, never, never, false, never>;
|
|
14242
|
+
}
|
|
14243
|
+
|
|
14244
|
+
declare class TransactionHeaderContactModule {
|
|
14245
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TransactionHeaderContactModule, never>;
|
|
14246
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TransactionHeaderContactModule, [typeof TransactionHeaderContactComponent], [typeof i2.CommonModule, typeof i3.IconModule, typeof PipeModule], [typeof TransactionHeaderContactComponent]>;
|
|
14247
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TransactionHeaderContactModule>;
|
|
14248
|
+
}
|
|
14249
|
+
|
|
14204
14250
|
declare class TransactionHeaderRelationModule {
|
|
14205
14251
|
static ɵfac: i0.ɵɵFactoryDeclaration<TransactionHeaderRelationModule, never>;
|
|
14206
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TransactionHeaderRelationModule, [typeof TransactionHeaderRelationComponent], [typeof i2.CommonModule, typeof TransactionHeaderBlockModule, typeof CheckoutModule, typeof RelationTypeModule, typeof CoreModule, typeof RelationGeneralModule, typeof RelationAddressModule, typeof RelationAddressesModule, typeof i3.InputCheckboxModule, typeof RelationContactDetailsModule, typeof RelationPreferencesModule, typeof PipeModule, typeof i3.CoDialogModule, typeof TransactionFilterCategoriesModule, typeof i3.ButtonModule, typeof i3.FormModule, typeof TransactionHeaderPopupModule, typeof i3.IconModule, typeof AvatarModule, typeof i3.ScreenConfigurationModule], [typeof TransactionHeaderRelationComponent]>;
|
|
14252
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TransactionHeaderRelationModule, [typeof TransactionHeaderRelationComponent], [typeof i2.CommonModule, typeof TransactionHeaderBlockModule, typeof TransactionHeaderContactModule, typeof CheckoutModule, typeof RelationTypeModule, typeof CoreModule, typeof RelationGeneralModule, typeof RelationAddressModule, typeof RelationAddressesModule, typeof i3.InputCheckboxModule, typeof RelationContactDetailsModule, typeof RelationPreferencesModule, typeof PipeModule, typeof i3.CoDialogModule, typeof TransactionFilterCategoriesModule, typeof i3.ButtonModule, typeof i3.FormModule, typeof TransactionHeaderPopupModule, typeof i3.IconModule, typeof AvatarModule, typeof i3.ScreenConfigurationModule], [typeof TransactionHeaderRelationComponent]>;
|
|
14207
14253
|
static ɵinj: i0.ɵɵInjectorDeclaration<TransactionHeaderRelationModule>;
|
|
14208
14254
|
}
|
|
14209
14255
|
|
|
@@ -17,10 +17,6 @@
|
|
|
17
17
|
border-radius: $tp-transaction-header-block-border-radius $tp-transaction-header-block-border-radius 0 0;
|
|
18
18
|
z-index: 100;
|
|
19
19
|
}
|
|
20
|
-
&.no-pointer {
|
|
21
|
-
pointer-events: none;
|
|
22
|
-
cursor: initial;
|
|
23
|
-
}
|
|
24
20
|
.transaction-header-block-header {
|
|
25
21
|
font-family: $tp-transaction-header-block-label-font-family;
|
|
26
22
|
display: flex;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
@include export-module('co-transaction-header-contact-layout') {
|
|
2
|
+
.co-transaction-header-contact {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
column-gap: var(--co-transaction-header-contact-column-gap);
|
|
6
|
+
min-width: 0;
|
|
7
|
+
|
|
8
|
+
.transaction-header-contact-value {
|
|
9
|
+
flex: 1 1 auto;
|
|
10
|
+
min-width: 0;
|
|
11
|
+
overflow: hidden;
|
|
12
|
+
text-overflow: ellipsis;
|
|
13
|
+
white-space: nowrap;
|
|
14
|
+
text-decoration: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.transaction-header-contact-copy {
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
justify-content: center;
|
|
21
|
+
flex-shrink: 0;
|
|
22
|
+
width: var(--co-transaction-header-contact-copy-hit-size);
|
|
23
|
+
height: var(--co-transaction-header-contact-copy-hit-size);
|
|
24
|
+
cursor: pointer;
|
|
25
|
+
// Always visible, so the option is discoverable without a hovering pointer.
|
|
26
|
+
opacity: var(--co-transaction-header-contact-copy-idle-opacity);
|
|
27
|
+
transition: var(--co-transaction-header-contact-copy-transition);
|
|
28
|
+
|
|
29
|
+
&:hover, &.copied {
|
|
30
|
+
opacity: 1;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.co-icon {
|
|
34
|
+
width: var(--co-transaction-header-contact-copy-icon-size);
|
|
35
|
+
height: var(--co-transaction-header-contact-copy-icon-size);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Deliberately not the screen-mobile mixin: the target has to grow wherever a finger is doing the
|
|
40
|
+
// tapping, which is the same condition under which the component renders a mailto: / tel: link.
|
|
41
|
+
// A tablet in landscape is wider than the mobile breakpoint and still needs the bigger target.
|
|
42
|
+
@media only screen and (max-width: 700px), (hover: none) and (pointer: coarse) {
|
|
43
|
+
min-height: var(--co-transaction-header-contact-copy-hit-size-touch);
|
|
44
|
+
|
|
45
|
+
.transaction-header-contact-copy {
|
|
46
|
+
width: var(--co-transaction-header-contact-copy-hit-size-touch);
|
|
47
|
+
height: var(--co-transaction-header-contact-copy-hit-size-touch);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.transaction-header-contact-clipboard-proxy {
|
|
53
|
+
position: fixed;
|
|
54
|
+
top: 0;
|
|
55
|
+
left: 0;
|
|
56
|
+
width: 1px;
|
|
57
|
+
height: 1px;
|
|
58
|
+
padding: 0;
|
|
59
|
+
border-width: 0;
|
|
60
|
+
// iOS zooms in on a focused field below 16px, even one it cannot see.
|
|
61
|
+
font-size: 16px;
|
|
62
|
+
opacity: 0;
|
|
63
|
+
pointer-events: none;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
$tp-transaction-header-contact-column-gap: 4px !default;
|
|
2
|
+
$tp-transaction-header-contact-copy-icon-size: 11px !default;
|
|
3
|
+
$tp-transaction-header-contact-copy-hit-size: 16px !default;
|
|
4
|
+
// A finger needs a target of its own; on touch the contact row grows to fit it.
|
|
5
|
+
$tp-transaction-header-contact-copy-hit-size-touch: 32px !default;
|
|
6
|
+
$tp-transaction-header-contact-copy-idle-opacity: 0.45 !default;
|
|
7
|
+
$tp-transaction-header-contact-copy-transition: opacity 0.2s !default;
|
|
8
|
+
|
|
9
|
+
$tp-transaction-header-contact-copy-color: $tp-color-text-grey !default;
|
|
10
|
+
$tp-transaction-header-contact-copy-hover-color: $tp-color-action !default;
|
|
11
|
+
$tp-transaction-header-contact-copied-color: $tp-color-active !default;
|
|
12
|
+
|
|
13
|
+
@include export-module('co-transaction-header-contact-tokens') {
|
|
14
|
+
:root {
|
|
15
|
+
--co-transaction-header-contact-column-gap: #{$tp-transaction-header-contact-column-gap};
|
|
16
|
+
--co-transaction-header-contact-copy-icon-size: #{$tp-transaction-header-contact-copy-icon-size};
|
|
17
|
+
--co-transaction-header-contact-copy-hit-size: #{$tp-transaction-header-contact-copy-hit-size};
|
|
18
|
+
--co-transaction-header-contact-copy-hit-size-touch: #{$tp-transaction-header-contact-copy-hit-size-touch};
|
|
19
|
+
--co-transaction-header-contact-copy-idle-opacity: #{$tp-transaction-header-contact-copy-idle-opacity};
|
|
20
|
+
--co-transaction-header-contact-copy-transition: #{$tp-transaction-header-contact-copy-transition};
|
|
21
|
+
--co-transaction-header-contact-copy-color: #{$tp-transaction-header-contact-copy-color};
|
|
22
|
+
--co-transaction-header-contact-copy-hover-color: #{$tp-transaction-header-contact-copy-hover-color};
|
|
23
|
+
--co-transaction-header-contact-copied-color: #{$tp-transaction-header-contact-copied-color};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@include export-module('co-transaction-header-contact-theme') {
|
|
2
|
+
.co-transaction-header-contact {
|
|
3
|
+
.transaction-header-contact-value {
|
|
4
|
+
color: inherit;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.transaction-header-contact-copy {
|
|
8
|
+
svg {
|
|
9
|
+
fill: var(--co-transaction-header-contact-copy-color);
|
|
10
|
+
}
|
|
11
|
+
[fill] {
|
|
12
|
+
fill: var(--co-transaction-header-contact-copy-color);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&:hover {
|
|
16
|
+
svg {
|
|
17
|
+
fill: var(--co-transaction-header-contact-copy-hover-color);
|
|
18
|
+
}
|
|
19
|
+
[fill] {
|
|
20
|
+
fill: var(--co-transaction-header-contact-copy-hover-color);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&.copied {
|
|
25
|
+
svg {
|
|
26
|
+
fill: var(--co-transaction-header-contact-copied-color);
|
|
27
|
+
}
|
|
28
|
+
[fill] {
|
|
29
|
+
fill: var(--co-transaction-header-contact-copied-color);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
.header-relation-email {
|
|
126
126
|
margin: $tp-co-transaction-header-relation-content-email-margin;
|
|
127
127
|
}
|
|
128
|
-
.text-overflow {
|
|
128
|
+
.text-overflow, .co-transaction-header-contact .transaction-header-contact-value {
|
|
129
129
|
max-height: $tp-co-transaction-header-relation-content-line-height;
|
|
130
130
|
text-overflow: ellipsis;
|
|
131
131
|
overflow: hidden;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
@import "./layout";
|
|
3
3
|
@import "./theme";
|
|
4
4
|
@import "../../../core/base/components/transaction-header-block/style/material";
|
|
5
|
+
@import "../../../core/base/components/transaction-header-contact/style/material";
|
|
5
6
|
@import "../../../relation/relation-type/style/material";
|
|
6
7
|
@import "../../../relation/relation-addresses/style/material";
|
|
7
8
|
@import "../../../relation/relation-address/style/material";
|