@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/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<void>;
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; }; "dontShowEditIcon": { "alias": "dontShowEditIcon"; "required": false; }; }, { "headerClick": "headerClick"; }, never, never, false, 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; }; }, { "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
+ }
@@ -0,0 +1,4 @@
1
+ @import "../../../../../../style/mixin";
2
+ @import "./_material-definition";
3
+ @import "./_layout";
4
+ @import "./_theme";
@@ -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";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colijnit/transaction",
3
- "version": "262.1.45",
3
+ "version": "262.1.47",
4
4
  "description": "Colijn IT transaction module for Angular 20",
5
5
  "repository": "npm/npm",
6
6
  "author": "Colijn IT",