@colijnit/transaction 300.1.19 → 300.1.21

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
@@ -298,6 +298,7 @@ import { SuggestedReceiptLocation } from '@colijnit/transactionapi/build/model/s
298
298
  import { PdfHistoricPosReceiptRequest } from '@colijnit/transactionapi/build/model/pdf-historic-pos-receipt-request';
299
299
  import { CreatePublicQuoteRequest } from '@colijnit/transactionapi/build/model/create-public-quote-request';
300
300
  import { UpsertTransactionStandardTextRequest } from '@colijnit/transactionapi/build/model/upsert-transaction-standard-text-request';
301
+ import { ChangeHeaderExtraDocRequest } from '@colijnit/transactionapi/build/model/change-header-extra-doc-request';
301
302
  import { BusinessObjectIDType } from '@colijnit/ioneconnector/build/type/business-object-id-type';
302
303
  import { RelationKind as RelationKind$1 } from '@colijnit/articleapi/build/enum/relation-kind.enum';
303
304
  import { Relation } from '@colijnit/relationapi/build/model/relation.bo';
@@ -365,6 +366,7 @@ import { PlanningTask } from '@colijnit/transactionapi/build/model/planning-task
365
366
  import { LayoutCode as LayoutCode$1 } from '@colijnit/mainapi/build/enum/layout-code.enum';
366
367
  import { SearchType } from '@colijnit/transactionapi/build/enum/search-type.enum';
367
368
  import { QuantityInHistoricState } from '@colijnit/transactionapi/build/enum/quantity-in-historic-state.enum';
369
+ import { ExtraDocValues } from '@colijnit/transactionapi/build/enum/extra-doc-values.enum';
368
370
  import { LogisticStickerRequest } from '@colijnit/transactionapi/build/model/logistic-sticker-request';
369
371
  import { Payment } from '@colijnit/transactionapi/build/model/payment.bo';
370
372
  import { WorkflowCategoryType } from '@colijnit/mainapi/build/enum/workflow-category.enum';
@@ -866,7 +868,7 @@ declare class TransactionEventService {
866
868
  readonly transactionCopyNavigation: Subject<string>;
867
869
  readonly transactionDeleted: Subject<void>;
868
870
  readonly transactionPaymentDone: Subject<void>;
869
- readonly transactionLoaded: Subject<void>;
871
+ readonly transactionLoaded: Subject<TransactionInfoResponse>;
870
872
  readonly copyOrder: Subject<void>;
871
873
  readonly updateTransactionReferences: Subject<void>;
872
874
  readonly transactionLineVisibilityChange: BehaviorSubject<{
@@ -1333,6 +1335,7 @@ declare class TransactionConnectorAdapterService {
1333
1335
  getDropshipmentInfosByRelationId(relationId: number): Promise<DropshipmentInfo[]>;
1334
1336
  insertNewDropshipmentInfo(request: DropshipmentInfo): Promise<void>;
1335
1337
  changeHeaderDropshipmentInfo(request: ChangeHeaderDropshipmentInfoRequest): Promise<TransactionInfoResponse>;
1338
+ changeHeaderExtraDoc(request: ChangeHeaderExtraDocRequest): Promise<TransactionInfoResponse>;
1336
1339
  pdfPosReceipt(pdfPosReceiptRequest: PdfPosReceiptRequest, localPrint: boolean): Promise<boolean>;
1337
1340
  pdfHistoricPosReceipt(pdfHistoricPosReceiptRequest: PdfHistoricPosReceiptRequest, localPrint: boolean): Promise<boolean>;
1338
1341
  printPosReceipt(printPosReceiptRequest: PrintPosReceiptRequest): Promise<boolean>;
@@ -1841,6 +1844,7 @@ declare class TransactionConnectorService {
1841
1844
  getDropshipmentInfosByRelationId(relationId: number): Promise<DropshipmentInfo[]>;
1842
1845
  insertNewDropshipmentInfo(request: DropshipmentInfo): Promise<void>;
1843
1846
  changeHeaderDropshipmentInfo(request: ChangeHeaderDropshipmentInfoRequest): Promise<TransactionInfoResponse>;
1847
+ changeHeaderExtraDoc(request: ChangeHeaderExtraDocRequest): Promise<TransactionInfoResponse>;
1844
1848
  pdfPosReceipt(pdfPosReceiptRequest: PdfPosReceiptRequest, localPrint: boolean): Promise<boolean>;
1845
1849
  pdfHistoricPosReceipt(pdfHistoricPosReceiptRequest: PdfHistoricPosReceiptRequest, localPrint: boolean): Promise<boolean>;
1846
1850
  printPosReceipt(printPosReceiptRequest: PrintPosReceiptRequest): Promise<boolean>;
@@ -2114,6 +2118,7 @@ declare enum Icon {
2114
2118
  CloseDialog = "close_dialog",
2115
2119
  CodeRegular = "code_regular",
2116
2120
  ContainerStorageRegularFull = "container_storage_regular_full",
2121
+ CopyRegularFull = "copy_regular_full",
2117
2122
  CreditCardRegular = "credit_card_regular",
2118
2123
  CreditCardRegularCheck = "credit_card_regular_check",
2119
2124
  CreditCardSolid = "credit_card_solid",
@@ -2733,6 +2738,7 @@ declare class TransactionService extends PendingReasonService {
2733
2738
  getDropshipmentInfosByRelationId(relationId: number): Promise<DropshipmentInfo[]>;
2734
2739
  insertNewDropshipmentInfo(request: DropshipmentInfo): Promise<void>;
2735
2740
  changeHeaderDropshipmentInfo(request: ChangeHeaderDropshipmentInfoRequest): Promise<TransactionInfoResponse>;
2741
+ changeHeaderExtraDoc(request: ChangeHeaderExtraDocRequest, saveTransaction: boolean): Promise<boolean>;
2736
2742
  pdfPosReceipt(pdfPosReceiptRequest: PdfPosReceiptRequest, localPrint?: boolean): Promise<boolean>;
2737
2743
  pdfHistoricPosReceipt(pdfHistoricPosReceiptRequest: PdfHistoricPosReceiptRequest, localPrint?: boolean): Promise<boolean>;
2738
2744
  printPosReceipt(printPosReceiptRequest: PrintPosReceiptRequest): Promise<boolean>;
@@ -4775,7 +4781,9 @@ declare class TransactionMappingService {
4775
4781
  private _cardConfig;
4776
4782
  private _sidePanelConfig;
4777
4783
  private _quickAccessConfig;
4784
+ private _handledByDescription;
4778
4785
  constructor(_buttonBarConfig: TransactionButtonBarMappingConfig, _filterConfig: TransactionFilterMappingConfig, _searchConfig: TransactionSearchMappingConfig, _lineConfig: TransactionLineMappingConfig, _cardConfig: TransactionCardMappingConfig, _sidePanelConfig: TransactionSidePanelMappingConfig, _quickAccessConfig: TransactionQuickAccessMappingConfig);
4786
+ getHandledByDescription(type: TransactionKind): string;
4779
4787
  getButtonBar(type: TransactionKind): TransactionBarButton[];
4780
4788
  getSidePanelComponent(type: TransactionKind): any;
4781
4789
  getQuickAccessComponent(type: TransactionKind, category: TransactionTypeCategory): any;
@@ -7679,12 +7687,16 @@ declare class AvatarComponent implements OnInit {
7679
7687
  get image(): CoDocument;
7680
7688
  set relationId(value: number);
7681
7689
  get relationId(): number;
7690
+ tooltipTitle: string;
7682
7691
  set relation(value: RelationListObject);
7683
7692
  get relation(): RelationListObject;
7684
- showBranchNr: boolean;
7693
+ showRelationNr: boolean;
7685
7694
  showClass(): boolean;
7686
- imageSrc: string;
7687
7695
  backgroundColor: string;
7696
+ imageSrc: string;
7697
+ relationName: string;
7698
+ tooltip: string;
7699
+ initialsFontSize: number;
7688
7700
  set initials(value: string);
7689
7701
  get initials(): string;
7690
7702
  private _initials;
@@ -7699,14 +7711,24 @@ declare class AvatarComponent implements OnInit {
7699
7711
  private _setRelationInitials;
7700
7712
  private _getImageContent;
7701
7713
  private _setBackgroundColor;
7714
+ private _handleRelationSet;
7715
+ /**
7716
+ * Returns the font size (in SVG user units) at which the initials still fit inside the round avatar.
7717
+ *
7718
+ * The widest text that fits a circle depends on how tall that text is: for a centred single line with cap height
7719
+ * `h` the usable chord is `2 * sqrt(r^2 - (h / 2)^2)`. Estimating the text width as
7720
+ * `length * AVATAR_GLYPH_ADVANCE_RATIO * fontSize` and the cap height as `AVATAR_CAP_HEIGHT_RATIO * fontSize` and solving for the
7721
+ * font size gives the expression below, capped at `AVATAR_MAX_FONT_SIZE` so short initials keep their normal size.
7722
+ */
7723
+ private _calculateFontSize;
7702
7724
  private _detectChanges;
7703
7725
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
7704
- static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "co-avatar", never, { "image": { "alias": "image"; "required": false; }; "relationId": { "alias": "relationId"; "required": false; }; "relation": { "alias": "relation"; "required": false; }; "showBranchNr": { "alias": "showBranchNr"; "required": false; }; }, {}, never, never, false, never>;
7726
+ static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "co-avatar", never, { "image": { "alias": "image"; "required": false; }; "relationId": { "alias": "relationId"; "required": false; }; "tooltipTitle": { "alias": "tooltipTitle"; "required": false; }; "relation": { "alias": "relation"; "required": false; }; "showRelationNr": { "alias": "showRelationNr"; "required": false; }; }, {}, never, never, false, never>;
7705
7727
  }
7706
7728
 
7707
7729
  declare class AvatarModule {
7708
7730
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarModule, never>;
7709
- static ɵmod: i0.ɵɵNgModuleDeclaration<AvatarModule, [typeof AvatarComponent], [typeof i2.CommonModule, typeof CoreModule], [typeof AvatarComponent]>;
7731
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AvatarModule, [typeof AvatarComponent], [typeof i2.CommonModule, typeof CoreModule, typeof i3.TooltipDirectiveModule], [typeof AvatarComponent]>;
7710
7732
  static ɵinj: i0.ɵɵInjectorDeclaration<AvatarModule>;
7711
7733
  }
7712
7734
 
@@ -10105,7 +10127,7 @@ declare class TransactionSalesOverviewButtonBarButtonComponent extends Transacti
10105
10127
  showCategories: boolean;
10106
10128
  constructor(iconCacheService: IconCacheService, changeDetector: ChangeDetectorRef, _transactionEventService: TransactionEventService, _mappingService: TransactionMappingService, _dictionaryService: DictionaryService, _screenConfigService: TransactionScreenConfigurationService, _transactionService: TransactionService, _elementRef: ElementRef, _renderer: Renderer2, _transactionBaseService: TransactionService);
10107
10129
  currentIcon(): Icon.CartShoppingRegular | Icon.ChartPieSimpleRegular;
10108
- currentTitle(): "OVERVIEW" | "MARGINS";
10130
+ currentTitle(): "MARGINS" | "OVERVIEW";
10109
10131
  ngOnDestroy(): void;
10110
10132
  handleClickWrapper(event: MouseEvent): void;
10111
10133
  handleMarginClicked(event: MouseEvent, category: TransactionTypeCategory): void;
@@ -10131,7 +10153,7 @@ declare class TransactionPurchaseOverviewButtonBarButtonComponent extends Transa
10131
10153
  constructor(iconCacheService: IconCacheService, transactionHeaderService: TransactionHeaderService, transactionEventService: TransactionEventService, changeDetector: ChangeDetectorRef, _mappingService: TransactionMappingService, _transactionService: TransactionService, _elementRef: ElementRef);
10132
10154
  ngOnDestroy(): void;
10133
10155
  currentIcon(): Icon.CartShoppingRegular | Icon.ChartPieSimpleRegular;
10134
- currentTitle(): "OVERVIEW" | "MARGINS";
10156
+ currentTitle(): "MARGINS" | "OVERVIEW";
10135
10157
  handleClickWrapper(event: MouseEvent): void;
10136
10158
  handleMarginClicked(event: MouseEvent, category: TransactionTypeCategory): Promise<void>;
10137
10159
  private handleDocumentClick;
@@ -10183,7 +10205,7 @@ declare class TransactionSalesQuotationButtonBarButtonComponent extends Transact
10183
10205
  showCategories: boolean;
10184
10206
  constructor(iconCacheService: IconCacheService, changeDetector: ChangeDetectorRef, _transactionEventService: TransactionEventService, _mappingService: TransactionMappingService, _dictionaryService: DictionaryService, _screenConfigService: TransactionScreenConfigurationService, _transactionService: TransactionService, _elementRef: ElementRef, _renderer: Renderer2, _transactionBaseService: TransactionService);
10185
10207
  currentIcon(): Icon.CartShoppingRegular | Icon.ChartPieSimpleRegular;
10186
- currentTitle(): "OVERVIEW" | "MARGINS";
10208
+ currentTitle(): "MARGINS" | "OVERVIEW";
10187
10209
  ngOnDestroy(): void;
10188
10210
  handleClickWrapper(event: MouseEvent): void;
10189
10211
  handleMarginClicked(event: MouseEvent, category: TransactionTypeCategory): void;
@@ -13954,7 +13976,6 @@ declare class TransactionHeaderBlockComponent {
13954
13976
  secondBlockTemplate: TemplateRef<any>;
13955
13977
  thirdBlockTemplate: TemplateRef<any>;
13956
13978
  hiddenBlockTemplate: TemplateRef<any>;
13957
- dontShowEditIcon: boolean;
13958
13979
  headerClick: EventEmitter<MouseEvent>;
13959
13980
  showClass(): boolean;
13960
13981
  handleHostClick(event: MouseEvent): void;
@@ -13962,7 +13983,7 @@ declare class TransactionHeaderBlockComponent {
13962
13983
  constructor(iconCacheService: IconCacheService);
13963
13984
  onHeaderClick(event: MouseEvent): void;
13964
13985
  static ɵfac: i0.ɵɵFactoryDeclaration<TransactionHeaderBlockComponent, never>;
13965
- 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>;
13986
+ 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>;
13966
13987
  }
13967
13988
 
13968
13989
  declare class TransactionHeaderBlockModule {
@@ -14334,8 +14355,14 @@ declare class TransactionHeaderComponent {
14334
14355
  static ɵcmp: i0.ɵɵComponentDeclaration<TransactionHeaderComponent, "co-transaction-header", never, { "transaction": { "alias": "transaction"; "required": false; }; }, {}, never, never, false, never>;
14335
14356
  }
14336
14357
 
14358
+ declare enum ContactValueKind {
14359
+ Email = "email",
14360
+ Phone = "phone"
14361
+ }
14362
+
14337
14363
  declare class TransactionHeaderRelationComponent extends TransactionHeaderBaseComponent implements OnInit, OnDestroy {
14338
14364
  readonly icons: typeof Icon;
14365
+ readonly contactKinds: typeof ContactValueKind;
14339
14366
  showClass(): boolean;
14340
14367
  firstAddress: string;
14341
14368
  firstPostal: string;
@@ -14357,9 +14384,49 @@ declare class TransactionHeaderRelationComponent extends TransactionHeaderBaseCo
14357
14384
  static ɵcmp: i0.ɵɵComponentDeclaration<TransactionHeaderRelationComponent, "co-transaction-header-relation", never, {}, {}, never, never, false, never>;
14358
14385
  }
14359
14386
 
14387
+ declare class TransactionHeaderContactComponent implements OnInit, OnDestroy {
14388
+ iconCacheService: IconCacheService;
14389
+ private _changeDetector;
14390
+ value: string;
14391
+ kind: ContactValueKind;
14392
+ showClass(): boolean;
14393
+ readonly icons: typeof Icon;
14394
+ copied: boolean;
14395
+ /**
14396
+ * Href of the `mailto:` / `tel:` link, or `undefined` when the value must render as plain text.
14397
+ * Only touch-only devices get a link: there a tap to call or to mail is what the user wants, and a
14398
+ * long press hands them the operating system's own "copy" menu. With a mouse the same link would
14399
+ * hijack the click and open an unwanted mail client.
14400
+ */
14401
+ get href(): string;
14402
+ private _touchOnlyDevice;
14403
+ private _copyResetTimeoutId;
14404
+ constructor(iconCacheService: IconCacheService, _changeDetector: ChangeDetectorRef);
14405
+ ngOnInit(): void;
14406
+ ngOnDestroy(): void;
14407
+ handleValueClick(event: MouseEvent): void;
14408
+ handleCopyClick(event: MouseEvent): void;
14409
+ private _isTouchOnlyDevice;
14410
+ private _copyUsingFallback;
14411
+ private _confirmCopy;
14412
+ /**
14413
+ * Fallback for the pages where `navigator.clipboard` is missing — it needs a secure context, so it is
14414
+ * simply absent when iOne is served over plain http.
14415
+ */
14416
+ private _copyUsingSelection;
14417
+ static ɵfac: i0.ɵɵFactoryDeclaration<TransactionHeaderContactComponent, never>;
14418
+ static ɵcmp: i0.ɵɵComponentDeclaration<TransactionHeaderContactComponent, "co-transaction-header-contact", never, { "value": { "alias": "value"; "required": false; }; "kind": { "alias": "kind"; "required": false; }; }, {}, never, never, false, never>;
14419
+ }
14420
+
14421
+ declare class TransactionHeaderContactModule {
14422
+ static ɵfac: i0.ɵɵFactoryDeclaration<TransactionHeaderContactModule, never>;
14423
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TransactionHeaderContactModule, [typeof TransactionHeaderContactComponent], [typeof i2.CommonModule, typeof i3.IconModule, typeof PipeModule], [typeof TransactionHeaderContactComponent]>;
14424
+ static ɵinj: i0.ɵɵInjectorDeclaration<TransactionHeaderContactModule>;
14425
+ }
14426
+
14360
14427
  declare class TransactionHeaderRelationModule {
14361
14428
  static ɵfac: i0.ɵɵFactoryDeclaration<TransactionHeaderRelationModule, never>;
14362
- 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]>;
14429
+ 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]>;
14363
14430
  static ɵinj: i0.ɵɵInjectorDeclaration<TransactionHeaderRelationModule>;
14364
14431
  }
14365
14432
 
@@ -14744,6 +14811,7 @@ declare class TransactionQuickAccessOverviewModule {
14744
14811
  }
14745
14812
 
14746
14813
  declare class TransactionQuickAccessOrderDeliveryComponent extends TransactionQuickAccessSendMethodBaseComponent implements OnInit, AfterViewInit, OnDestroy {
14814
+ protected readonly ExtraDocValues: typeof ExtraDocValues;
14747
14815
  showClass(): boolean;
14748
14816
  reportDocumentEmailRequest: ReportingDocumentEmailSignDocBaseRequest;
14749
14817
  reportDocumentPrintRequest: ReportingDocumentPrintSignDocBaseRequest;
@@ -14758,6 +14826,7 @@ declare class TransactionQuickAccessOrderDeliveryComponent extends TransactionQu
14758
14826
  ngAfterViewInit(): void;
14759
14827
  ngOnDestroy(): void;
14760
14828
  handleSelectAllLines(value: boolean): void;
14829
+ handleNoDeliveryNoteChanged(value: boolean): Promise<void>;
14761
14830
  protected getDefaultEmailAddressList(): Promise<string[]>;
14762
14831
  protected getDefaultSendMethod(): Promise<number>;
14763
14832
  protected getEmailLayouts(): Promise<ReportLayoutSelectionEmail[]>;
@@ -16772,7 +16841,9 @@ declare class TransactionSalesPersonInputModule {
16772
16841
  static ɵinj: i0.ɵɵInjectorDeclaration<TransactionSalesPersonInputModule>;
16773
16842
  }
16774
16843
 
16775
- declare class TransactionHeaderHandledByComponent implements ScreenConfigAdapterComponent {
16844
+ declare class TransactionHeaderHandledByComponent implements ScreenConfigAdapterComponent, OnInit {
16845
+ private _mappingService;
16846
+ private _dictionary;
16776
16847
  transaction: TransactionInfoResponse;
16777
16848
  showClass(): boolean;
16778
16849
  objectConfigName: string;
@@ -16783,13 +16854,18 @@ declare class TransactionHeaderHandledByComponent implements ScreenConfigAdapter
16783
16854
  maxLength: number;
16784
16855
  decimals: number;
16785
16856
  redErrorBackground: boolean;
16857
+ relationName: string;
16858
+ handledByDescription: string;
16859
+ tooltip: string;
16860
+ constructor(_mappingService: TransactionMappingService, _dictionary: DictionaryService);
16861
+ ngOnInit(): void;
16786
16862
  static ɵfac: i0.ɵɵFactoryDeclaration<TransactionHeaderHandledByComponent, never>;
16787
16863
  static ɵcmp: i0.ɵɵComponentDeclaration<TransactionHeaderHandledByComponent, "co-transaction-header-handled-by", never, { "transaction": { "alias": "transaction"; "required": false; }; }, {}, never, never, false, never>;
16788
16864
  }
16789
16865
 
16790
16866
  declare class TransactionHeaderHandledByModule {
16791
16867
  static ɵfac: i0.ɵɵFactoryDeclaration<TransactionHeaderHandledByModule, never>;
16792
- static ɵmod: i0.ɵɵNgModuleDeclaration<TransactionHeaderHandledByModule, [typeof TransactionHeaderHandledByComponent], [typeof i2.CommonModule, typeof AvatarModule], [typeof TransactionHeaderHandledByComponent]>;
16868
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TransactionHeaderHandledByModule, [typeof TransactionHeaderHandledByComponent], [typeof i2.CommonModule, typeof AvatarModule, typeof i3.TooltipDirectiveModule], [typeof TransactionHeaderHandledByComponent]>;
16793
16869
  static ɵinj: i0.ɵɵInjectorDeclaration<TransactionHeaderHandledByModule>;
16794
16870
  }
16795
16871
 
@@ -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";
@@ -1,12 +1,17 @@
1
1
  @include export-module('co-transaction-quick-access-order-delivery-layout') {
2
2
  .co-transaction-quick-access-order-delivery {
3
- .select-all-wrapper {
3
+ .quick-access-content-wrapper {
4
4
  display: flex;
5
- align-items: center;
6
- }
5
+ row-gap: 10px;
6
+ align-items: start;
7
+ flex-direction: column;
7
8
 
8
- .hidden {
9
- display: none;
9
+ .sub-section {
10
+ display: flex;
11
+ align-items: center;
12
+ flex-direction: row;
13
+ column-gap: 10px;
14
+ }
10
15
  }
11
16
  }
12
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colijnit/transaction",
3
- "version": "300.1.19",
3
+ "version": "300.1.21",
4
4
  "description": "Colijn IT transaction module for Angular 20",
5
5
  "repository": "npm/npm",
6
6
  "author": "Colijn IT",
@@ -13,13 +13,13 @@
13
13
  "@colijnit/catalog": ">=300.1.0",
14
14
  "@colijnit/corecomponents_v12": ">=300.1.4",
15
15
  "@colijnit/ioneconnector": ">=300.1.0",
16
- "@colijnit/mainapi": ">=300.1.10",
16
+ "@colijnit/mainapi": ">=300.1.11",
17
17
  "@colijnit/product": ">=300.1.0",
18
18
  "@colijnit/relation": ">=300.1.0",
19
19
  "@colijnit/relationapi": ">=300.1.1",
20
20
  "@colijnit/sharedapi": ">=1.0.20",
21
- "@colijnit/sharedcomponents": ">=300.1.8",
22
- "@colijnit/transactionapi": ">=300.1.8"
21
+ "@colijnit/sharedcomponents": ">=300.1.13",
22
+ "@colijnit/transactionapi": ">=300.1.11"
23
23
  },
24
24
  "dependencies": {
25
25
  "tslib": "^2.8.1"