@taiga-ui/core 3.17.0 → 3.18.0

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.
Files changed (99) hide show
  1. package/bundles/taiga-ui-core-abstract.umd.js +1 -0
  2. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-dialog.umd.js +189 -167
  4. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-notification.umd.js +2 -2
  6. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +1 -1
  8. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  10. package/bundles/taiga-ui-core-components-svg.umd.js +100 -20
  11. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-tooltip.umd.js +31 -13
  13. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-directives-dropdown.umd.js +45 -25
  15. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-directives-hint.umd.js +67 -63
  17. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  18. package/bundles/taiga-ui-core-tokens.umd.js +39 -1
  19. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  20. package/components/dialog/dialog-close.service.d.ts +15 -0
  21. package/components/dialog/dialog.component.d.ts +5 -4
  22. package/components/dialog/dialog.tokens.d.ts +2 -0
  23. package/components/dialog/index.d.ts +1 -1
  24. package/components/notification/notification.component.d.ts +2 -2
  25. package/components/svg/deprecated-icons.d.ts +1 -0
  26. package/components/svg/index.d.ts +2 -0
  27. package/components/svg/svg-options.d.ts +14 -0
  28. package/components/svg/svg.component.d.ts +5 -7
  29. package/components/tooltip/tooltip.component.d.ts +2 -2
  30. package/components/tooltip/tooltip.module.d.ts +5 -4
  31. package/directives/dropdown/dropdown-hover-options.directive.d.ts +9 -0
  32. package/directives/dropdown/dropdown-hover.directive.d.ts +3 -1
  33. package/directives/dropdown/dropdown-position-sided.directive.d.ts +2 -2
  34. package/directives/dropdown/dropdown-position.directive.d.ts +2 -2
  35. package/directives/dropdown/index.d.ts +1 -0
  36. package/directives/hint/hint-hover.directive.d.ts +4 -2
  37. package/directives/hint/hint-position.directive.d.ts +2 -2
  38. package/esm2015/abstract/rect-accessor.js +2 -1
  39. package/esm2015/components/dialog/dialog-close.service.js +51 -0
  40. package/esm2015/components/dialog/dialog.component.js +26 -10
  41. package/esm2015/components/dialog/dialog.tokens.js +5 -1
  42. package/esm2015/components/dialog/index.js +2 -2
  43. package/esm2015/components/notification/notification.component.js +3 -3
  44. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +2 -2
  45. package/esm2015/components/root/root.component.js +1 -1
  46. package/esm2015/components/svg/deprecated-icons.js +59 -0
  47. package/esm2015/components/svg/index.js +3 -1
  48. package/esm2015/components/svg/svg-options.js +29 -0
  49. package/esm2015/components/svg/svg.component.js +13 -18
  50. package/esm2015/components/tooltip/tooltip.component.js +13 -13
  51. package/esm2015/components/tooltip/tooltip.module.js +21 -4
  52. package/esm2015/directives/dropdown/dropdown-hover-options.directive.js +14 -0
  53. package/esm2015/directives/dropdown/dropdown-hover.directive.js +10 -5
  54. package/esm2015/directives/dropdown/dropdown-position-sided.directive.js +12 -12
  55. package/esm2015/directives/dropdown/dropdown-position.directive.js +11 -11
  56. package/esm2015/directives/dropdown/index.js +2 -1
  57. package/esm2015/directives/hint/hint-hover.directive.js +13 -10
  58. package/esm2015/directives/hint/hint-options.directive.js +2 -2
  59. package/esm2015/directives/hint/hint-position.directive.js +12 -11
  60. package/esm2015/directives/hint/hint.component.js +3 -2
  61. package/esm2015/interfaces/dialog-options.js +1 -1
  62. package/esm2015/tokens/icon-place.js +5 -2
  63. package/esm2015/tokens/icons-path.js +4 -1
  64. package/esm2015/tokens/index.js +2 -1
  65. package/esm2015/tokens/svg-content-processor.js +4 -1
  66. package/esm2015/tokens/svg-src-processor.js +4 -1
  67. package/esm2015/tokens/viewport.js +26 -0
  68. package/fesm2015/taiga-ui-core-abstract.js +1 -0
  69. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  70. package/fesm2015/taiga-ui-core-components-dialog.js +85 -69
  71. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  72. package/fesm2015/taiga-ui-core-components-notification.js +2 -2
  73. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  74. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +1 -1
  75. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  76. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  77. package/fesm2015/taiga-ui-core-components-svg.js +98 -21
  78. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  79. package/fesm2015/taiga-ui-core-components-tooltip.js +32 -15
  80. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  81. package/fesm2015/taiga-ui-core-directives-dropdown.js +42 -25
  82. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  83. package/fesm2015/taiga-ui-core-directives-hint.js +30 -27
  84. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  85. package/fesm2015/taiga-ui-core-tokens.js +38 -2
  86. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  87. package/interfaces/dialog-options.d.ts +4 -3
  88. package/package.json +4 -4
  89. package/styles/mixins/textfield.less +4 -22
  90. package/styles/mixins/textfield.scss +3 -22
  91. package/styles/theme/wrapper/icon.less +17 -27
  92. package/tokens/icon-place.d.ts +3 -0
  93. package/tokens/icons-path.d.ts +3 -0
  94. package/tokens/index.d.ts +1 -0
  95. package/tokens/svg-content-processor.d.ts +3 -0
  96. package/tokens/svg-src-processor.d.ts +3 -0
  97. package/tokens/viewport.d.ts +4 -0
  98. package/components/dialog/dialog.providers.d.ts +0 -5
  99. package/esm2015/components/dialog/dialog.providers.js +0 -51
@@ -0,0 +1,59 @@
1
+ export const TUI_DEPRECATED_ICONS = {
2
+ tuiIconAttach: `tuiIconPaperclip`,
3
+ tuiIconAttention: `tuiIconAlertCircle`,
4
+ tuiIconBackCircle: `tuiIconArrowLeftCircle`,
5
+ tuiIconCall: `tuiIconPhone`,
6
+ tuiIconCallIn: `tuiIconPhoneIncoming`,
7
+ tuiIconCallOut: `tuiIconPhoneOutgoing`,
8
+ tuiIconCallTransfer: `tuiIconPhoneForwarded`,
9
+ tuiIconCancel: `tuiIconXCircle`,
10
+ tuiIconCancelCircle: `tuiIconSlash`,
11
+ tuiIconCard: `tuiIconCreditCard`,
12
+ tuiIconCards: `tuiIconCreditCard`,
13
+ tuiIconChartBar: `tuiIconBarChart`,
14
+ tuiIconChart: `tuiIconBarChart`,
15
+ tuiIconCheckList: `tuiIconClipboard`,
16
+ tuiIconCloseCircle: `tuiIconXCircle`,
17
+ tuiIconCollapse: `tuiIconMinimize`,
18
+ tuiIconComment: `tuiIconMessageSquare`,
19
+ tuiIconCommentFw: `tuiIconMessageForward`,
20
+ tuiIconCompany: `tuiIconBriefcase`,
21
+ tuiIconDefaultDoc: `tuiIconFile`,
22
+ tuiIconDesktop: `tuiIconMonitor`,
23
+ tuiIconDesktopOff: `tuiIconMonitorOff`,
24
+ tuiIconDislike: `tuiIconThumbsDown`,
25
+ tuiIconDone: `tuiIconCheckCircle`,
26
+ tuiIconDraft: `tuiIconEdit2`,
27
+ tuiIconEyeOpen: `tuiIconEye`,
28
+ tuiIconEyeClosed: `tuiIconEyeOff`,
29
+ tuiIconExpand: `tuiIconMaximize`,
30
+ tuiIconExternal: `tuiIconExternalLink`,
31
+ tuiIconFrame: `tuiIconLayout`,
32
+ tuiIconGeo: `tuiIconMapPin`,
33
+ tuiIconHeartFilled: `tuiIconHeart`,
34
+ tuiIconHide: `tuiIconEyeOff`,
35
+ tuiIconImg: `tuiIconImage`,
36
+ tuiIconInfoCircle: `tuiIconInfo`,
37
+ tuiIconLike: `tuiIconThumbsUp`,
38
+ tuiIconLockOpen: `tuiIconUnlock`,
39
+ tuiIconMobile: `tuiIconSmartphone`,
40
+ tuiIconMoreHor: `tuiIconMoreHorizontal`,
41
+ tuiIconMoreVer: `tuiIconMoreVertical`,
42
+ tuiIconMoreVert: `tuiIconMoreVertical`,
43
+ tuiIconPicture: `tuiIconImage`,
44
+ tuiIconPin: `tuiIconMapPin`,
45
+ tuiIconPrint: `tuiIconPrinter`,
46
+ tuiIconRefresh: `tuiIconRefreshCw`,
47
+ tuiIconRemove: `tuiIconX`,
48
+ tuiIconShow: `tuiIconEye`,
49
+ tuiIconSound: `tuiIconVolume`,
50
+ tuiIconSoundOff: `tuiIconVolumeX`,
51
+ tuiIconStarFilled: `tuiIconStar`,
52
+ tuiIconStop: `tuiIconSquare`,
53
+ tuiIconStructure: `tuiIconGrid`,
54
+ tuiIconTime: `tuiIconClock`,
55
+ tuiIconTooltip: `tuiIconHelpCircle`,
56
+ tuiIconViewList: `tuiIconList`,
57
+ tuiIconWifiOn: `tuiIconWifi`,
58
+ };
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZC1pY29ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvZGVwcmVjYXRlZC1pY29ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBMkI7SUFDeEQsYUFBYSxFQUFFLGtCQUFrQjtJQUNqQyxnQkFBZ0IsRUFBRSxvQkFBb0I7SUFDdEMsaUJBQWlCLEVBQUUsd0JBQXdCO0lBQzNDLFdBQVcsRUFBRSxjQUFjO0lBQzNCLGFBQWEsRUFBRSxzQkFBc0I7SUFDckMsY0FBYyxFQUFFLHNCQUFzQjtJQUN0QyxtQkFBbUIsRUFBRSx1QkFBdUI7SUFDNUMsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixtQkFBbUIsRUFBRSxjQUFjO0lBQ25DLFdBQVcsRUFBRSxtQkFBbUI7SUFDaEMsWUFBWSxFQUFFLG1CQUFtQjtJQUNqQyxlQUFlLEVBQUUsaUJBQWlCO0lBQ2xDLFlBQVksRUFBRSxpQkFBaUI7SUFDL0IsZ0JBQWdCLEVBQUUsa0JBQWtCO0lBQ3BDLGtCQUFrQixFQUFFLGdCQUFnQjtJQUNwQyxlQUFlLEVBQUUsaUJBQWlCO0lBQ2xDLGNBQWMsRUFBRSxzQkFBc0I7SUFDdEMsZ0JBQWdCLEVBQUUsdUJBQXVCO0lBQ3pDLGNBQWMsRUFBRSxrQkFBa0I7SUFDbEMsaUJBQWlCLEVBQUUsYUFBYTtJQUNoQyxjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLGlCQUFpQixFQUFFLG1CQUFtQjtJQUN0QyxjQUFjLEVBQUUsbUJBQW1CO0lBQ25DLFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsWUFBWSxFQUFFLGNBQWM7SUFDNUIsY0FBYyxFQUFFLFlBQVk7SUFDNUIsZ0JBQWdCLEVBQUUsZUFBZTtJQUNqQyxhQUFhLEVBQUUsaUJBQWlCO0lBQ2hDLGVBQWUsRUFBRSxxQkFBcUI7SUFDdEMsWUFBWSxFQUFFLGVBQWU7SUFDN0IsVUFBVSxFQUFFLGVBQWU7SUFDM0Isa0JBQWtCLEVBQUUsY0FBYztJQUNsQyxXQUFXLEVBQUUsZUFBZTtJQUM1QixVQUFVLEVBQUUsY0FBYztJQUMxQixpQkFBaUIsRUFBRSxhQUFhO0lBQ2hDLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsZUFBZSxFQUFFLGVBQWU7SUFDaEMsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZDLGNBQWMsRUFBRSxxQkFBcUI7SUFDckMsZUFBZSxFQUFFLHFCQUFxQjtJQUN0QyxjQUFjLEVBQUUsY0FBYztJQUM5QixVQUFVLEVBQUUsZUFBZTtJQUMzQixZQUFZLEVBQUUsZ0JBQWdCO0lBQzlCLGNBQWMsRUFBRSxrQkFBa0I7SUFDbEMsYUFBYSxFQUFFLFVBQVU7SUFDekIsV0FBVyxFQUFFLFlBQVk7SUFDekIsWUFBWSxFQUFFLGVBQWU7SUFDN0IsZUFBZSxFQUFFLGdCQUFnQjtJQUNqQyxpQkFBaUIsRUFBRSxhQUFhO0lBQ2hDLFdBQVcsRUFBRSxlQUFlO0lBQzVCLGdCQUFnQixFQUFFLGFBQWE7SUFDL0IsV0FBVyxFQUFFLGNBQWM7SUFDM0IsY0FBYyxFQUFFLG1CQUFtQjtJQUNuQyxlQUFlLEVBQUUsYUFBYTtJQUM5QixhQUFhLEVBQUUsYUFBYTtDQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRVSV9ERVBSRUNBVEVEX0lDT05TOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIHR1aUljb25BdHRhY2g6IGB0dWlJY29uUGFwZXJjbGlwYCxcbiAgICB0dWlJY29uQXR0ZW50aW9uOiBgdHVpSWNvbkFsZXJ0Q2lyY2xlYCxcbiAgICB0dWlJY29uQmFja0NpcmNsZTogYHR1aUljb25BcnJvd0xlZnRDaXJjbGVgLFxuICAgIHR1aUljb25DYWxsOiBgdHVpSWNvblBob25lYCxcbiAgICB0dWlJY29uQ2FsbEluOiBgdHVpSWNvblBob25lSW5jb21pbmdgLFxuICAgIHR1aUljb25DYWxsT3V0OiBgdHVpSWNvblBob25lT3V0Z29pbmdgLFxuICAgIHR1aUljb25DYWxsVHJhbnNmZXI6IGB0dWlJY29uUGhvbmVGb3J3YXJkZWRgLFxuICAgIHR1aUljb25DYW5jZWw6IGB0dWlJY29uWENpcmNsZWAsXG4gICAgdHVpSWNvbkNhbmNlbENpcmNsZTogYHR1aUljb25TbGFzaGAsXG4gICAgdHVpSWNvbkNhcmQ6IGB0dWlJY29uQ3JlZGl0Q2FyZGAsXG4gICAgdHVpSWNvbkNhcmRzOiBgdHVpSWNvbkNyZWRpdENhcmRgLFxuICAgIHR1aUljb25DaGFydEJhcjogYHR1aUljb25CYXJDaGFydGAsXG4gICAgdHVpSWNvbkNoYXJ0OiBgdHVpSWNvbkJhckNoYXJ0YCxcbiAgICB0dWlJY29uQ2hlY2tMaXN0OiBgdHVpSWNvbkNsaXBib2FyZGAsXG4gICAgdHVpSWNvbkNsb3NlQ2lyY2xlOiBgdHVpSWNvblhDaXJjbGVgLFxuICAgIHR1aUljb25Db2xsYXBzZTogYHR1aUljb25NaW5pbWl6ZWAsXG4gICAgdHVpSWNvbkNvbW1lbnQ6IGB0dWlJY29uTWVzc2FnZVNxdWFyZWAsXG4gICAgdHVpSWNvbkNvbW1lbnRGdzogYHR1aUljb25NZXNzYWdlRm9yd2FyZGAsXG4gICAgdHVpSWNvbkNvbXBhbnk6IGB0dWlJY29uQnJpZWZjYXNlYCxcbiAgICB0dWlJY29uRGVmYXVsdERvYzogYHR1aUljb25GaWxlYCxcbiAgICB0dWlJY29uRGVza3RvcDogYHR1aUljb25Nb25pdG9yYCxcbiAgICB0dWlJY29uRGVza3RvcE9mZjogYHR1aUljb25Nb25pdG9yT2ZmYCxcbiAgICB0dWlJY29uRGlzbGlrZTogYHR1aUljb25UaHVtYnNEb3duYCxcbiAgICB0dWlJY29uRG9uZTogYHR1aUljb25DaGVja0NpcmNsZWAsXG4gICAgdHVpSWNvbkRyYWZ0OiBgdHVpSWNvbkVkaXQyYCxcbiAgICB0dWlJY29uRXllT3BlbjogYHR1aUljb25FeWVgLFxuICAgIHR1aUljb25FeWVDbG9zZWQ6IGB0dWlJY29uRXllT2ZmYCxcbiAgICB0dWlJY29uRXhwYW5kOiBgdHVpSWNvbk1heGltaXplYCxcbiAgICB0dWlJY29uRXh0ZXJuYWw6IGB0dWlJY29uRXh0ZXJuYWxMaW5rYCxcbiAgICB0dWlJY29uRnJhbWU6IGB0dWlJY29uTGF5b3V0YCxcbiAgICB0dWlJY29uR2VvOiBgdHVpSWNvbk1hcFBpbmAsXG4gICAgdHVpSWNvbkhlYXJ0RmlsbGVkOiBgdHVpSWNvbkhlYXJ0YCxcbiAgICB0dWlJY29uSGlkZTogYHR1aUljb25FeWVPZmZgLFxuICAgIHR1aUljb25JbWc6IGB0dWlJY29uSW1hZ2VgLFxuICAgIHR1aUljb25JbmZvQ2lyY2xlOiBgdHVpSWNvbkluZm9gLFxuICAgIHR1aUljb25MaWtlOiBgdHVpSWNvblRodW1ic1VwYCxcbiAgICB0dWlJY29uTG9ja09wZW46IGB0dWlJY29uVW5sb2NrYCxcbiAgICB0dWlJY29uTW9iaWxlOiBgdHVpSWNvblNtYXJ0cGhvbmVgLFxuICAgIHR1aUljb25Nb3JlSG9yOiBgdHVpSWNvbk1vcmVIb3Jpem9udGFsYCxcbiAgICB0dWlJY29uTW9yZVZlcjogYHR1aUljb25Nb3JlVmVydGljYWxgLFxuICAgIHR1aUljb25Nb3JlVmVydDogYHR1aUljb25Nb3JlVmVydGljYWxgLFxuICAgIHR1aUljb25QaWN0dXJlOiBgdHVpSWNvbkltYWdlYCxcbiAgICB0dWlJY29uUGluOiBgdHVpSWNvbk1hcFBpbmAsXG4gICAgdHVpSWNvblByaW50OiBgdHVpSWNvblByaW50ZXJgLFxuICAgIHR1aUljb25SZWZyZXNoOiBgdHVpSWNvblJlZnJlc2hDd2AsXG4gICAgdHVpSWNvblJlbW92ZTogYHR1aUljb25YYCxcbiAgICB0dWlJY29uU2hvdzogYHR1aUljb25FeWVgLFxuICAgIHR1aUljb25Tb3VuZDogYHR1aUljb25Wb2x1bWVgLFxuICAgIHR1aUljb25Tb3VuZE9mZjogYHR1aUljb25Wb2x1bWVYYCxcbiAgICB0dWlJY29uU3RhckZpbGxlZDogYHR1aUljb25TdGFyYCxcbiAgICB0dWlJY29uU3RvcDogYHR1aUljb25TcXVhcmVgLFxuICAgIHR1aUljb25TdHJ1Y3R1cmU6IGB0dWlJY29uR3JpZGAsXG4gICAgdHVpSWNvblRpbWU6IGB0dWlJY29uQ2xvY2tgLFxuICAgIHR1aUljb25Ub29sdGlwOiBgdHVpSWNvbkhlbHBDaXJjbGVgLFxuICAgIHR1aUljb25WaWV3TGlzdDogYHR1aUljb25MaXN0YCxcbiAgICB0dWlJY29uV2lmaU9uOiBgdHVpSWNvbldpZmlgLFxufTtcbiJdfQ==
@@ -1,3 +1,5 @@
1
+ export * from './deprecated-icons';
1
2
  export * from './svg.component';
2
3
  export * from './svg.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3ZnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N2Zy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdmcubW9kdWxlJztcbiJdfQ==
4
+ export * from './svg-options';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3ZnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGVwcmVjYXRlZC1pY29ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N2Zy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3ZnLW9wdGlvbnMnO1xuIl19
@@ -0,0 +1,29 @@
1
+ import { inject, InjectionToken } from '@angular/core';
2
+ import { tuiIsString, tuiSvgLinearGradientProcessor, } from '@taiga-ui/cdk';
3
+ import { TUI_ICONS_PATH, TUI_SVG_CONTENT_PROCESSOR, TUI_SVG_SRC_PROCESSOR, } from '@taiga-ui/core/tokens';
4
+ import { tuiIconsPathFactory } from '@taiga-ui/core/utils';
5
+ import { identity } from 'rxjs';
6
+ import { TUI_DEPRECATED_ICONS } from './deprecated-icons';
7
+ export const TUI_SVG_DEFAULT_OPTIONS = {
8
+ path: tuiIconsPathFactory(`assets/taiga-ui/icons`),
9
+ srcProcessor: identity,
10
+ contentProcessor: tuiSvgLinearGradientProcessor,
11
+ deprecated: src => TUI_DEPRECATED_ICONS[src.replace(`Large`, ``).replace(`Outline`, ``)]
12
+ ? `${src} is deprecated, use ${TUI_DEPRECATED_ICONS[src.replace(`Large`, ``)]}/Large instead`
13
+ : ``,
14
+ };
15
+ export const TUI_SVG_OPTIONS = new InjectionToken(`[TUI_SVG_OPTIONS]: SVG component options`, {
16
+ factory: () => ({
17
+ path: inject(TUI_ICONS_PATH),
18
+ deprecated: TUI_SVG_DEFAULT_OPTIONS.deprecated,
19
+ srcProcessor: inject(TUI_SVG_SRC_PROCESSOR),
20
+ contentProcessor: inject(TUI_SVG_CONTENT_PROCESSOR),
21
+ }),
22
+ });
23
+ export const tuiSvgOptionsProvider = options => ({
24
+ provide: TUI_SVG_OPTIONS,
25
+ useValue: Object.assign(Object.assign(Object.assign({}, TUI_SVG_DEFAULT_OPTIONS), options), { path: tuiIsString(options.path)
26
+ ? tuiIconsPathFactory(options.path)
27
+ : options.path || TUI_SVG_DEFAULT_OPTIONS.path }),
28
+ });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3ZnL3N2Zy1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVwRSxPQUFPLEVBRUgsV0FBVyxFQUVYLDZCQUE2QixHQUNoQyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsY0FBYyxFQUNkLHlCQUF5QixFQUN6QixxQkFBcUIsR0FDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBU3hELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFrQjtJQUNsRCxJQUFJLEVBQUUsbUJBQW1CLENBQUMsdUJBQXVCLENBQUM7SUFDbEQsWUFBWSxFQUFFLFFBQVE7SUFDdEIsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUNkLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLEdBQUcsR0FBRyx1QkFDRixvQkFBb0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FDakQsZ0JBQWdCO1FBQ2xCLENBQUMsQ0FBQyxFQUFFO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDN0MsMENBQTBDLEVBQzFDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDWixJQUFJLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUM1QixVQUFVLEVBQUUsdUJBQXVCLENBQUMsVUFBVTtRQUM5QyxZQUFZLEVBQUUsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBQzNDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQztLQUN0RCxDQUFDO0NBQ0wsQ0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBSWIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sRUFBRSxlQUFlO0lBQ3hCLFFBQVEsZ0RBQ0QsdUJBQXVCLEdBQ3ZCLE9BQU8sS0FDVixJQUFJLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDM0IsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDbkMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksdUJBQXVCLENBQUMsSUFBSSxHQUNyRDtDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NhZmVIdG1sfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7XG4gICAgVHVpSGFuZGxlcixcbiAgICB0dWlJc1N0cmluZyxcbiAgICBUdWlTdHJpbmdIYW5kbGVyLFxuICAgIHR1aVN2Z0xpbmVhckdyYWRpZW50UHJvY2Vzc29yLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX0lDT05TX1BBVEgsXG4gICAgVFVJX1NWR19DT05URU5UX1BST0NFU1NPUixcbiAgICBUVUlfU1ZHX1NSQ19QUk9DRVNTT1IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUljb25zUGF0aEZhY3Rvcnl9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB7aWRlbnRpdHl9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9ERVBSRUNBVEVEX0lDT05TfSBmcm9tICcuL2RlcHJlY2F0ZWQtaWNvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aVN2Z09wdGlvbnMge1xuICAgIHJlYWRvbmx5IHBhdGg6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPjtcbiAgICByZWFkb25seSBkZXByZWNhdGVkOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz47XG4gICAgcmVhZG9ubHkgc3JjUHJvY2Vzc29yOiBUdWlIYW5kbGVyPFNhZmVIdG1sIHwgc3RyaW5nLCBTYWZlSHRtbCB8IHN0cmluZz47XG4gICAgcmVhZG9ubHkgY29udGVudFByb2Nlc3NvcjogVHVpSGFuZGxlcjxTYWZlSHRtbCB8IHN0cmluZywgU2FmZUh0bWwgfCBzdHJpbmc+O1xufVxuXG5leHBvcnQgY29uc3QgVFVJX1NWR19ERUZBVUxUX09QVElPTlM6IFR1aVN2Z09wdGlvbnMgPSB7XG4gICAgcGF0aDogdHVpSWNvbnNQYXRoRmFjdG9yeShgYXNzZXRzL3RhaWdhLXVpL2ljb25zYCksXG4gICAgc3JjUHJvY2Vzc29yOiBpZGVudGl0eSxcbiAgICBjb250ZW50UHJvY2Vzc29yOiB0dWlTdmdMaW5lYXJHcmFkaWVudFByb2Nlc3NvcixcbiAgICBkZXByZWNhdGVkOiBzcmMgPT5cbiAgICAgICAgVFVJX0RFUFJFQ0FURURfSUNPTlNbc3JjLnJlcGxhY2UoYExhcmdlYCwgYGApLnJlcGxhY2UoYE91dGxpbmVgLCBgYCldXG4gICAgICAgICAgICA/IGAke3NyY30gaXMgZGVwcmVjYXRlZCwgdXNlICR7XG4gICAgICAgICAgICAgICAgICBUVUlfREVQUkVDQVRFRF9JQ09OU1tzcmMucmVwbGFjZShgTGFyZ2VgLCBgYCldXG4gICAgICAgICAgICAgIH0vTGFyZ2UgaW5zdGVhZGBcbiAgICAgICAgICAgIDogYGAsXG59O1xuXG5leHBvcnQgY29uc3QgVFVJX1NWR19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aVN2Z09wdGlvbnM+KFxuICAgIGBbVFVJX1NWR19PUFRJT05TXTogU1ZHIGNvbXBvbmVudCBvcHRpb25zYCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+ICh7XG4gICAgICAgICAgICBwYXRoOiBpbmplY3QoVFVJX0lDT05TX1BBVEgpLFxuICAgICAgICAgICAgZGVwcmVjYXRlZDogVFVJX1NWR19ERUZBVUxUX09QVElPTlMuZGVwcmVjYXRlZCxcbiAgICAgICAgICAgIHNyY1Byb2Nlc3NvcjogaW5qZWN0KFRVSV9TVkdfU1JDX1BST0NFU1NPUiksXG4gICAgICAgICAgICBjb250ZW50UHJvY2Vzc29yOiBpbmplY3QoVFVJX1NWR19DT05URU5UX1BST0NFU1NPUiksXG4gICAgICAgIH0pLFxuICAgIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgdHVpU3ZnT3B0aW9uc1Byb3ZpZGVyOiAoXG4gICAgb3B0aW9uczogUGFydGlhbDxPbWl0PFR1aVN2Z09wdGlvbnMsICdwYXRoJz4+ICYge1xuICAgICAgICBwYXRoPzogVHVpU3ZnT3B0aW9uc1sncGF0aCddIHwgc3RyaW5nO1xuICAgIH0sXG4pID0+IFZhbHVlUHJvdmlkZXIgPSBvcHRpb25zID0+ICh7XG4gICAgcHJvdmlkZTogVFVJX1NWR19PUFRJT05TLFxuICAgIHVzZVZhbHVlOiB7XG4gICAgICAgIC4uLlRVSV9TVkdfREVGQVVMVF9PUFRJT05TLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBwYXRoOiB0dWlJc1N0cmluZyhvcHRpb25zLnBhdGgpXG4gICAgICAgICAgICA/IHR1aUljb25zUGF0aEZhY3Rvcnkob3B0aW9ucy5wYXRoKVxuICAgICAgICAgICAgOiBvcHRpb25zLnBhdGggfHwgVFVJX1NWR19ERUZBVUxUX09QVElPTlMucGF0aCxcbiAgICB9LFxufSk7XG4iXX0=
@@ -6,10 +6,11 @@ import { WINDOW } from '@ng-web-apis/common';
6
6
  import { tuiAssert, tuiGetDocumentOrShadowRoot, tuiIsString, tuiPure, tuiRequiredSetter, TuiStaticRequestService, } from '@taiga-ui/cdk';
7
7
  import { TUI_ICON_ERROR } from '@taiga-ui/core/constants';
8
8
  import { TuiSvgService } from '@taiga-ui/core/services';
9
- import { TUI_ICONS_PATH, TUI_SANITIZER, TUI_SVG_CONTENT_PROCESSOR, TUI_SVG_SRC_PROCESSOR, } from '@taiga-ui/core/tokens';
9
+ import { TUI_SANITIZER } from '@taiga-ui/core/tokens';
10
10
  import { tuiIsPresumedHTMLString } from '@taiga-ui/core/utils/miscellaneous';
11
11
  import { of, ReplaySubject } from 'rxjs';
12
12
  import { catchError, map, startWith, switchMap } from 'rxjs/operators';
13
+ import { TUI_SVG_OPTIONS } from './svg-options';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "@taiga-ui/cdk";
15
16
  import * as i2 from "@angular/common";
@@ -20,17 +21,15 @@ const MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';
20
21
  const FAILED_EXTERNAL_ICON = 'Failed to load external SVG';
21
22
  // TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent
22
23
  export class TuiSvgComponent {
23
- constructor(documentRef, windowRef, iconsPath, tuiSanitizer, svgService, staticRequestService, sanitizer, elementRef, srcProcessor, contentProcessor) {
24
+ constructor(documentRef, windowRef, options, tuiSanitizer, svgService, staticRequestService, sanitizer, elementRef) {
24
25
  this.documentRef = documentRef;
25
26
  this.windowRef = windowRef;
26
- this.iconsPath = iconsPath;
27
+ this.options = options;
27
28
  this.tuiSanitizer = tuiSanitizer;
28
29
  this.svgService = svgService;
29
30
  this.staticRequestService = staticRequestService;
30
31
  this.sanitizer = sanitizer;
31
32
  this.elementRef = elementRef;
32
- this.srcProcessor = srcProcessor;
33
- this.contentProcessor = contentProcessor;
34
33
  this.src$ = new ReplaySubject(1);
35
34
  this.icon = '';
36
35
  this.innerHTML$ = this.src$.pipe(switchMap(() => {
@@ -43,7 +42,9 @@ export class TuiSvgComponent {
43
42
  }), startWith(''));
44
43
  }
45
44
  set src(src) {
46
- this.icon = this.srcProcessor(src);
45
+ const deprecated = this.options.deprecated(String(src));
46
+ tuiAssert.assert(!deprecated, deprecated);
47
+ this.icon = this.options.srcProcessor(src);
47
48
  this.src$.next();
48
49
  }
49
50
  get src() {
@@ -53,7 +54,7 @@ export class TuiSvgComponent {
53
54
  if (tuiIsString(this.icon)) {
54
55
  return this.icon.includes('.svg#')
55
56
  ? this.icon
56
- : this.resolveName(this.icon, this.iconsPath);
57
+ : this.resolveName(this.icon, this.options.path);
57
58
  }
58
59
  return '';
59
60
  }
@@ -115,7 +116,7 @@ export class TuiSvgComponent {
115
116
  return !this.isShadowDOM || !this.isName ? '' : this.sanitize(icon || '');
116
117
  }
117
118
  sanitize(src) {
118
- src = this.contentProcessor(src);
119
+ src = this.options.contentProcessor(src);
119
120
  return this.tuiSanitizer && tuiIsString(src)
120
121
  ? this.sanitizer.bypassSecurityTrustHtml(this.tuiSanitizer.sanitize(SecurityContext.HTML, src) || '')
121
122
  : src;
@@ -128,8 +129,8 @@ export class TuiSvgComponent {
128
129
  }), map(response => this.sanitize(response.replace('<svg', '<svg focusable="false"'))));
129
130
  }
130
131
  }
131
- TuiSvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSvgComponent, deps: [{ token: DOCUMENT }, { token: WINDOW }, { token: TUI_ICONS_PATH }, { token: TUI_SANITIZER, optional: true }, { token: TuiSvgService }, { token: TuiStaticRequestService }, { token: DomSanitizer }, { token: ElementRef }, { token: TUI_SVG_SRC_PROCESSOR }, { token: TUI_SVG_CONTENT_PROCESSOR }], target: i0.ɵɵFactoryTarget.Component });
132
- TuiSvgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiSvgComponent, selector: "tui-svg", inputs: { src: "src" }, ngImport: i0, template: "<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n focusable=\"false\"\n width=\"100%\"\n height=\"100%\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n", styles: [":host{display:inline-block;vertical-align:middle;flex-shrink:0;line-height:0;height:1.5rem;width:1.5rem;fill:currentColor;font-size:1rem}.t-src{display:flex;height:100%;align-items:center;justify-content:center}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
132
+ TuiSvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSvgComponent, deps: [{ token: DOCUMENT }, { token: WINDOW }, { token: TUI_SVG_OPTIONS }, { token: TUI_SANITIZER, optional: true }, { token: TuiSvgService }, { token: TuiStaticRequestService }, { token: DomSanitizer }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
133
+ TuiSvgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiSvgComponent, selector: "tui-svg", inputs: { src: "src" }, ngImport: i0, template: "<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n focusable=\"false\"\n width=\"100%\"\n height=\"100%\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n", styles: [":host{display:inline-block;vertical-align:middle;flex-shrink:0;line-height:0;height:1.5rem;width:1.5rem;fill:transparent;stroke:transparent;font-size:1rem}.t-src{display:flex;height:100%;align-items:center;justify-content:center;fill:inherit;stroke:inherit}.t-svg{fill:inherit;stroke:inherit}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
133
134
  __decorate([
134
135
  tuiRequiredSetter()
135
136
  ], TuiSvgComponent.prototype, "src", null);
@@ -152,7 +153,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
152
153
  args: [WINDOW]
153
154
  }] }, { type: undefined, decorators: [{
154
155
  type: Inject,
155
- args: [TUI_ICONS_PATH]
156
+ args: [TUI_SVG_OPTIONS]
156
157
  }] }, { type: i0.Sanitizer, decorators: [{
157
158
  type: Optional
158
159
  }, {
@@ -170,13 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
170
171
  }] }, { type: i0.ElementRef, decorators: [{
171
172
  type: Inject,
172
173
  args: [ElementRef]
173
- }] }, { type: undefined, decorators: [{
174
- type: Inject,
175
- args: [TUI_SVG_SRC_PROCESSOR]
176
- }] }, { type: undefined, decorators: [{
177
- type: Inject,
178
- args: [TUI_SVG_CONTENT_PROCESSOR]
179
174
  }] }]; }, propDecorators: { src: [{
180
175
  type: Input
181
176
  }], resolveName: [] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBRVIsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsMEJBQTBCLEVBRTFCLFdBQVcsRUFDWCxPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLHVCQUF1QixHQUUxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFDSCxjQUFjLEVBQ2QsYUFBYSxFQUNiLHlCQUF5QixFQUN6QixxQkFBcUIsR0FDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQWEsRUFBRSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUVyRSxNQUFNLG9CQUFvQixHQUFHLHVDQUF1QyxDQUFDO0FBQ3JFLE1BQU0scUJBQXFCLEdBQUcsMkNBQTJDLENBQUM7QUFDMUUsTUFBTSxvQkFBb0IsR0FBRyw2QkFBNkIsQ0FBQztBQUUzRCw4RUFBOEU7QUFPOUUsTUFBTSxPQUFPLGVBQWU7SUFLeEIsWUFDdUMsV0FBcUIsRUFDdkIsU0FBaUIsRUFDVCxTQUFtQyxFQUczRCxZQUE4QixFQUNQLFVBQXlCLEVBRWhELG9CQUE2QyxFQUN2QixTQUF1QixFQUN6QixVQUErQixFQUVuRCxZQUVoQixFQUVnQixnQkFFaEI7UUFsQmtDLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDVCxjQUFTLEdBQVQsU0FBUyxDQUEwQjtRQUczRCxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDUCxlQUFVLEdBQVYsVUFBVSxDQUFlO1FBRWhELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN6QixlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUVuRCxpQkFBWSxHQUFaLFlBQVksQ0FFNUI7UUFFZ0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUVoQztRQXZCWSxTQUFJLEdBQUcsSUFBSSxhQUFhLENBQU8sQ0FBQyxDQUFDLENBQUM7UUFDM0MsU0FBSSxHQUFzQixFQUFFLENBQUM7UUF3QmpDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQzVCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDLFVBQVU7b0JBQ2xCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ2pDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUN6QztZQUVELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsRUFBRSxDQUFDLENBQ2hCLENBQUM7SUFDTixDQUFDO0lBSUQsSUFBSSxHQUFHLENBQUMsR0FBc0I7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0gsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2dCQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDckQ7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLENBQ0gsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSztZQUNWLElBQUksQ0FBQyxVQUFVO1lBQ2YsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDcEMsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFZLFdBQVc7UUFDbkIsT0FBTyxDQUNILDBCQUEwQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FDakYsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFZLEtBQUs7UUFDYixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFZLFVBQVU7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVksS0FBSztRQUNiLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBWSxLQUFLO1FBQ2IsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBWSxNQUFNO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBWSxhQUFhO1FBQ3JCLE1BQU0sRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQztRQUVyQyxPQUFPLENBQ0gsS0FBSztZQUNMLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTTtZQUNsQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUNwQyxDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU8sQ0FBQyxVQUFrQixxQkFBcUI7UUFDM0MsTUFBTSxFQUFDLElBQUksRUFBQyxHQUFHLElBQUksQ0FBQztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBZSxjQUFjLEVBQUU7WUFDeEQsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUU7Z0JBQ0osT0FBTztnQkFDUCxJQUFJLEVBQUUsSUFBYzthQUN2QjtTQUNKLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUdPLFdBQVcsQ0FBQyxJQUFZLEVBQUUsU0FBbUM7UUFDakUsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVPLFdBQVcsQ0FBQyxHQUFXO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sT0FBTyxDQUFDLEdBQVc7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFOUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3RDO1FBRUQsOERBQThEO1FBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sUUFBUSxDQUFDLEdBQXNCO1FBQ25DLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakMsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUM7WUFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUM5RDtZQUNILENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDZCxDQUFDO0lBRU8sZUFBZSxDQUFDLEdBQVc7UUFDL0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBRWxELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzlDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFFbkMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxDQUFDLENBQ3BFLENBQ0osQ0FBQztJQUNOLENBQUM7OzZHQXBLUSxlQUFlLGtCQU1aLFFBQVEsYUFDUixNQUFNLGFBQ04sY0FBYyxhQUVkLGFBQWEsNkJBRWIsYUFBYSxhQUNiLHVCQUF1QixhQUV2QixZQUFZLGFBQ1osVUFBVSxhQUNWLHFCQUFxQixhQUlyQix5QkFBeUI7aUdBckI1QixlQUFlLHVFQy9DNUIseW1CQW9CQTtBRHFFSTtJQURDLGlCQUFpQixFQUFFOzBDQUluQjtBQTZFRDtJQURDLE9BQU87a0RBR1A7NEZBNUhRLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFdBQVcsRUFBRSxxQkFBcUI7b0JBQ2xDLFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUMvQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7MERBT3VELFFBQVE7MEJBQXZELE1BQU07MkJBQUMsUUFBUTs4QkFDNEIsTUFBTTswQkFBakQsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixRQUFROzswQkFDUixNQUFNOzJCQUFDLGFBQWE7OzBCQUVwQixNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBRTlCLE1BQU07MkJBQUMsWUFBWTs7MEJBQ25CLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMscUJBQXFCOzswQkFJNUIsTUFBTTsyQkFBQyx5QkFBeUI7NENBcUJqQyxHQUFHO3NCQUZOLEtBQUs7Z0JBa0ZFLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2FuaXRpemVyLFxuICAgIFNlY3VyaXR5Q29udGV4dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICB0dWlBc3NlcnQsXG4gICAgdHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QsXG4gICAgVHVpSW5qZWN0aW9uVG9rZW5UeXBlLFxuICAgIHR1aUlzU3RyaW5nLFxuICAgIHR1aVB1cmUsXG4gICAgdHVpUmVxdWlyZWRTZXR0ZXIsXG4gICAgVHVpU3RhdGljUmVxdWVzdFNlcnZpY2UsXG4gICAgVHVpU3RyaW5nSGFuZGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9JQ09OX0VSUk9SfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlJY29uRXJyb3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlTdmdTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICAgIFRVSV9JQ09OU19QQVRILFxuICAgIFRVSV9TQU5JVElaRVIsXG4gICAgVFVJX1NWR19DT05URU5UX1BST0NFU1NPUixcbiAgICBUVUlfU1ZHX1NSQ19QUk9DRVNTT1IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUlzUHJlc3VtZWRIVE1MU3RyaW5nfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IFVOREVGSU5FRF9OQU1FRF9JQ09OID0gJ0F0dGVtcHRlZCB0byB1c2UgdW5kZWZpbmVkIG5hbWVkIGljb24nO1xuY29uc3QgTUlTU0lOR19FWFRFUk5BTF9JQ09OID0gJ0V4dGVybmFsIGljb24gaXMgbWlzc2luZyBvbiB0aGUgZ2l2ZW4gVVJMJztcbmNvbnN0IEZBSUxFRF9FWFRFUk5BTF9JQ09OID0gJ0ZhaWxlZCB0byBsb2FkIGV4dGVybmFsIFNWRyc7XG5cbi8vIFRPRE86IENvbnNpZGVyIG1vdmluZyB0byBDREsgYWxvbmcgd2l0aCBTdmdTZXJ2aWNlIGFuZCBTdmdEZWZzSG9zdENvbXBvbmVudFxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktc3ZnJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3ZnLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N2Zy5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVN2Z0NvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzcmMkID0gbmV3IFJlcGxheVN1YmplY3Q8dm9pZD4oMSk7XG4gICAgcHJpdmF0ZSBpY29uOiBTYWZlSHRtbCB8IHN0cmluZyA9ICcnO1xuICAgIHJlYWRvbmx5IGlubmVySFRNTCQ6IE9ic2VydmFibGU8U2FmZUh0bWw+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChUVUlfSUNPTlNfUEFUSCkgcHJpdmF0ZSByZWFkb25seSBpY29uc1BhdGg6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfU0FOSVRJWkVSKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHR1aVNhbml0aXplcjogU2FuaXRpemVyIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUdWlTdmdTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHN2Z1NlcnZpY2U6IFR1aVN2Z1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVHVpU3RhdGljUmVxdWVzdFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGljUmVxdWVzdFNlcnZpY2U6IFR1aVN0YXRpY1JlcXVlc3RTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERvbVNhbml0aXplcikgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8RWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX1NWR19TUkNfUFJPQ0VTU09SKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNyY1Byb2Nlc3NvcjogVHVpSW5qZWN0aW9uVG9rZW5UeXBlPFxuICAgICAgICAgICAgdHlwZW9mIFRVSV9TVkdfU1JDX1BST0NFU1NPUlxuICAgICAgICA+LFxuICAgICAgICBASW5qZWN0KFRVSV9TVkdfQ09OVEVOVF9QUk9DRVNTT1IpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGVudFByb2Nlc3NvcjogVHVpSW5qZWN0aW9uVG9rZW5UeXBlPFxuICAgICAgICAgICAgdHlwZW9mIFRVSV9TVkdfQ09OVEVOVF9QUk9DRVNTT1JcbiAgICAgICAgPixcbiAgICApIHtcbiAgICAgICAgdGhpcy5pbm5lckhUTUwkID0gdGhpcy5zcmMkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0dWlJc1N0cmluZyh0aGlzLmljb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmlzRXh0ZXJuYWxcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5nZXRFeHRlcm5hbEljb24odGhpcy5pY29uKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBvZih0aGlzLmdldFNhZmVIdG1sKHRoaXMuaWNvbikpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmljb24pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzdGFydFdpdGgoJycpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgc3JjKHNyYzogU2FmZUh0bWwgfCBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5pY29uID0gdGhpcy5zcmNQcm9jZXNzb3Ioc3JjKTtcbiAgICAgICAgdGhpcy5zcmMkLm5leHQoKTtcbiAgICB9XG5cbiAgICBnZXQgc3JjKCk6IFNhZmVIdG1sIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbjtcbiAgICB9XG5cbiAgICBnZXQgdXNlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0dWlJc1N0cmluZyh0aGlzLmljb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pY29uLmluY2x1ZGVzKCcuc3ZnIycpXG4gICAgICAgICAgICAgICAgPyB0aGlzLmljb25cbiAgICAgICAgICAgICAgICA6IHRoaXMucmVzb2x2ZU5hbWUodGhpcy5pY29uLCB0aGlzLmljb25zUGF0aCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGlzSW5uZXJIVE1MKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXR1aUlzU3RyaW5nKHRoaXMuaWNvbikgfHxcbiAgICAgICAgICAgIHRoaXMuaXNTcmMgfHxcbiAgICAgICAgICAgIHRoaXMuaXNFeHRlcm5hbCB8fFxuICAgICAgICAgICAgKHRoaXMuaXNOYW1lICYmIHRoaXMuaXNTaGFkb3dET00pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNTaGFkb3dET00oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkgIT09IHRoaXMuZG9jdW1lbnRSZWZcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1VzZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlLmluY2x1ZGVzKCcuc3ZnIycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzRXh0ZXJuYWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVXJsIHx8IHRoaXMuaXNDcm9zc0RvbWFpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1VybCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzU3RyaW5nKHRoaXMuaWNvbikgJiYgdGhpcy5pY29uLmVuZHNXaXRoKCcuc3ZnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNTcmMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc1N0cmluZyh0aGlzLmljb24pICYmIHR1aUlzUHJlc3VtZWRIVE1MU3RyaW5nKHRoaXMuaWNvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNOYW1lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNVcmwgJiYgIXRoaXMuaXNVc2UgJiYgIXRoaXMuaXNTcmM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNDcm9zc0RvbWFpbigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3VzZSwgaXNVc2UsIHdpbmRvd1JlZn0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc1VzZSAmJlxuICAgICAgICAgICAgdXNlLnN0YXJ0c1dpdGgoJ2h0dHAnKSAmJlxuICAgICAgICAgICAgISF3aW5kb3dSZWYub3JpZ2luICYmXG4gICAgICAgICAgICAhdXNlLnN0YXJ0c1dpdGgod2luZG93UmVmLm9yaWdpbilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkVycm9yKG1lc3NhZ2U6IHN0cmluZyA9IE1JU1NJTkdfRVhURVJOQUxfSUNPTik6IHZvaWQge1xuICAgICAgICBjb25zdCB7aWNvbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudDxUdWlJY29uRXJyb3I+KFRVSV9JQ09OX0VSUk9SLCB7XG4gICAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgICAgICBpY29uOiBpY29uIGFzIHN0cmluZyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoZmFsc2UsIG1lc3NhZ2UsIGljb24pO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgcmVzb2x2ZU5hbWUobmFtZTogc3RyaW5nLCBpY29uc1BhdGg6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpY29uc1BhdGgobmFtZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTYWZlSHRtbChzcmM6IHN0cmluZyk6IFNhZmVIdG1sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTcmMgPyB0aGlzLnNhbml0aXplKHNyYykgOiB0aGlzLnByb2Nlc3Moc3JjKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3Moc3JjOiBzdHJpbmcpOiBTYWZlSHRtbCB7XG4gICAgICAgIGNvbnN0IGljb24gPSB0aGlzLnN2Z1NlcnZpY2UuZ2V0T3JpZ2luYWwoc3JjKTtcblxuICAgICAgICBpZiAodGhpcy5pc05hbWUgJiYgIWljb24gJiYgISFzcmMpIHtcbiAgICAgICAgICAgIHRoaXMub25FcnJvcihVTkRFRklORURfTkFNRURfSUNPTik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbXB0eSBsaW5lIGZvciBpbm5lckhUTUwgd2hlbiBpY29uIGlzIHNob3duIHRocm91Z2ggVVNFIHRhZ1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNTaGFkb3dET00gfHwgIXRoaXMuaXNOYW1lID8gJycgOiB0aGlzLnNhbml0aXplKGljb24gfHwgJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2FuaXRpemUoc3JjOiBTYWZlSHRtbCB8IHN0cmluZyk6IFNhZmVIdG1sIHwgc3RyaW5nIHtcbiAgICAgICAgc3JjID0gdGhpcy5jb250ZW50UHJvY2Vzc29yKHNyYyk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudHVpU2FuaXRpemVyICYmIHR1aUlzU3RyaW5nKHNyYylcbiAgICAgICAgICAgID8gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXG4gICAgICAgICAgICAgICAgICB0aGlzLnR1aVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgc3JjKSB8fCAnJyxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBzcmM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFeHRlcm5hbEljb24oc3JjOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNhZmVIdG1sPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHNyYy5pbmNsdWRlcygnLnN2ZycpID8gc3JjIDogdGhpcy51c2U7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGljUmVxdWVzdFNlcnZpY2UucmVxdWVzdCh1cmwpLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IoRkFJTEVEX0VYVEVSTkFMX0lDT04pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKCcnKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zYW5pdGl6ZShyZXNwb25zZS5yZXBsYWNlKCc8c3ZnJywgJzxzdmcgZm9jdXNhYmxlPVwiZmFsc2VcIicpKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqdHVpTGV0PVwiaW5uZXJIVE1MJCB8IGFzeW5jIGFzIGlubmVySFRNTFwiPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpc0lubmVySFRNTDsgZWxzZSB1c2VUZW1wbGF0ZVwiXG4gICAgICAgIGNsYXNzPVwidC1zcmNcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImlubmVySFRNTFwiXG4gICAgPjwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjdXNlVGVtcGxhdGU+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICAgIHZlcnNpb249XCIxLjFcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgIGhlaWdodD1cIjEwMCVcIlxuICAgICAgICAgICAgKGVycm9yKT1cIm9uRXJyb3IoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJ1c2VcIj48L3VzZT5cbiAgICAgICAgPC9zdmc+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBRVIsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCxPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLHVCQUF1QixHQUUxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQWEsRUFBRSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFDLGVBQWUsRUFBZ0IsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUU3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QkFDL0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzBEQVF1RCxRQUFROzBCQUF2RCxNQUFNOzJCQUFDLFFBQVE7OEJBQzRCLE1BQU07MEJBQWpELE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxhQUFhOzswQkFFcEIsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUU5QixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLFVBQVU7NENBa0JsQixHQUFHO3NCQUZOLEtBQUs7Z0JBcUZFLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2FuaXRpemVyLFxuICAgIFNlY3VyaXR5Q29udGV4dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICB0dWlBc3NlcnQsXG4gICAgdHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QsXG4gICAgdHVpSXNTdHJpbmcsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlSZXF1aXJlZFNldHRlcixcbiAgICBUdWlTdGF0aWNSZXF1ZXN0U2VydmljZSxcbiAgICBUdWlTdHJpbmdIYW5kbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0lDT05fRVJST1J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUljb25FcnJvcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aVN2Z1NlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7VFVJX1NBTklUSVpFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpSXNQcmVzdW1lZEhUTUxTdHJpbmd9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfU1ZHX09QVElPTlMsIFR1aVN2Z09wdGlvbnN9IGZyb20gJy4vc3ZnLW9wdGlvbnMnO1xuXG5jb25zdCBVTkRFRklORURfTkFNRURfSUNPTiA9ICdBdHRlbXB0ZWQgdG8gdXNlIHVuZGVmaW5lZCBuYW1lZCBpY29uJztcbmNvbnN0IE1JU1NJTkdfRVhURVJOQUxfSUNPTiA9ICdFeHRlcm5hbCBpY29uIGlzIG1pc3Npbmcgb24gdGhlIGdpdmVuIFVSTCc7XG5jb25zdCBGQUlMRURfRVhURVJOQUxfSUNPTiA9ICdGYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBTVkcnO1xuXG4vLyBUT0RPOiBDb25zaWRlciBtb3ZpbmcgdG8gQ0RLIGFsb25nIHdpdGggU3ZnU2VydmljZSBhbmQgU3ZnRGVmc0hvc3RDb21wb25lbnRcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXN2ZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N2Zy50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdmcuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTdmdDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3JjJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHZvaWQ+KDEpO1xuICAgIHByaXZhdGUgaWNvbjogU2FmZUh0bWwgfCBzdHJpbmcgPSAnJztcblxuICAgIHJlYWRvbmx5IGlubmVySFRNTCQ6IE9ic2VydmFibGU8U2FmZUh0bWw+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChUVUlfU1ZHX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpU3ZnT3B0aW9ucyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfU0FOSVRJWkVSKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHR1aVNhbml0aXplcjogU2FuaXRpemVyIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUdWlTdmdTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHN2Z1NlcnZpY2U6IFR1aVN2Z1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVHVpU3RhdGljUmVxdWVzdFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGljUmVxdWVzdFNlcnZpY2U6IFR1aVN0YXRpY1JlcXVlc3RTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERvbVNhbml0aXplcikgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8RWxlbWVudD4sXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaW5uZXJIVE1MJCA9IHRoaXMuc3JjJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHVpSXNTdHJpbmcodGhpcy5pY29uKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pc0V4dGVybmFsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuZ2V0RXh0ZXJuYWxJY29uKHRoaXMuaWNvbilcbiAgICAgICAgICAgICAgICAgICAgICAgIDogb2YodGhpcy5nZXRTYWZlSHRtbCh0aGlzLmljb24pKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5pY29uKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3RhcnRXaXRoKCcnKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IHNyYyhzcmM6IFNhZmVIdG1sIHwgc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGRlcHJlY2F0ZWQgPSB0aGlzLm9wdGlvbnMuZGVwcmVjYXRlZChTdHJpbmcoc3JjKSk7XG5cbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydCghZGVwcmVjYXRlZCwgZGVwcmVjYXRlZCk7XG4gICAgICAgIHRoaXMuaWNvbiA9IHRoaXMub3B0aW9ucy5zcmNQcm9jZXNzb3Ioc3JjKTtcbiAgICAgICAgdGhpcy5zcmMkLm5leHQoKTtcbiAgICB9XG5cbiAgICBnZXQgc3JjKCk6IFNhZmVIdG1sIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbjtcbiAgICB9XG5cbiAgICBnZXQgdXNlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0dWlJc1N0cmluZyh0aGlzLmljb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pY29uLmluY2x1ZGVzKCcuc3ZnIycpXG4gICAgICAgICAgICAgICAgPyB0aGlzLmljb25cbiAgICAgICAgICAgICAgICA6IHRoaXMucmVzb2x2ZU5hbWUodGhpcy5pY29uLCB0aGlzLm9wdGlvbnMucGF0aCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGlzSW5uZXJIVE1MKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXR1aUlzU3RyaW5nKHRoaXMuaWNvbikgfHxcbiAgICAgICAgICAgIHRoaXMuaXNTcmMgfHxcbiAgICAgICAgICAgIHRoaXMuaXNFeHRlcm5hbCB8fFxuICAgICAgICAgICAgKHRoaXMuaXNOYW1lICYmIHRoaXMuaXNTaGFkb3dET00pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNTaGFkb3dET00oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkgIT09IHRoaXMuZG9jdW1lbnRSZWZcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1VzZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlLmluY2x1ZGVzKCcuc3ZnIycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzRXh0ZXJuYWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVXJsIHx8IHRoaXMuaXNDcm9zc0RvbWFpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1VybCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzU3RyaW5nKHRoaXMuaWNvbikgJiYgdGhpcy5pY29uLmVuZHNXaXRoKCcuc3ZnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNTcmMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc1N0cmluZyh0aGlzLmljb24pICYmIHR1aUlzUHJlc3VtZWRIVE1MU3RyaW5nKHRoaXMuaWNvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNOYW1lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNVcmwgJiYgIXRoaXMuaXNVc2UgJiYgIXRoaXMuaXNTcmM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNDcm9zc0RvbWFpbigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3VzZSwgaXNVc2UsIHdpbmRvd1JlZn0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc1VzZSAmJlxuICAgICAgICAgICAgdXNlLnN0YXJ0c1dpdGgoJ2h0dHAnKSAmJlxuICAgICAgICAgICAgISF3aW5kb3dSZWYub3JpZ2luICYmXG4gICAgICAgICAgICAhdXNlLnN0YXJ0c1dpdGgod2luZG93UmVmLm9yaWdpbilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkVycm9yKG1lc3NhZ2U6IHN0cmluZyA9IE1JU1NJTkdfRVhURVJOQUxfSUNPTik6IHZvaWQge1xuICAgICAgICBjb25zdCB7aWNvbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudDxUdWlJY29uRXJyb3I+KFRVSV9JQ09OX0VSUk9SLCB7XG4gICAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgICAgICBpY29uOiBpY29uIGFzIHN0cmluZyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoZmFsc2UsIG1lc3NhZ2UsIGljb24pO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgcmVzb2x2ZU5hbWUobmFtZTogc3RyaW5nLCBpY29uc1BhdGg6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpY29uc1BhdGgobmFtZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTYWZlSHRtbChzcmM6IHN0cmluZyk6IFNhZmVIdG1sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTcmMgPyB0aGlzLnNhbml0aXplKHNyYykgOiB0aGlzLnByb2Nlc3Moc3JjKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3Moc3JjOiBzdHJpbmcpOiBTYWZlSHRtbCB7XG4gICAgICAgIGNvbnN0IGljb24gPSB0aGlzLnN2Z1NlcnZpY2UuZ2V0T3JpZ2luYWwoc3JjKTtcblxuICAgICAgICBpZiAodGhpcy5pc05hbWUgJiYgIWljb24gJiYgISFzcmMpIHtcbiAgICAgICAgICAgIHRoaXMub25FcnJvcihVTkRFRklORURfTkFNRURfSUNPTik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbXB0eSBsaW5lIGZvciBpbm5lckhUTUwgd2hlbiBpY29uIGlzIHNob3duIHRocm91Z2ggVVNFIHRhZ1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNTaGFkb3dET00gfHwgIXRoaXMuaXNOYW1lID8gJycgOiB0aGlzLnNhbml0aXplKGljb24gfHwgJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2FuaXRpemUoc3JjOiBTYWZlSHRtbCB8IHN0cmluZyk6IFNhZmVIdG1sIHwgc3RyaW5nIHtcbiAgICAgICAgc3JjID0gdGhpcy5vcHRpb25zLmNvbnRlbnRQcm9jZXNzb3Ioc3JjKTtcblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTYW5pdGl6ZXIgJiYgdHVpSXNTdHJpbmcoc3JjKVxuICAgICAgICAgICAgPyB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcbiAgICAgICAgICAgICAgICAgIHRoaXMudHVpU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBzcmMpIHx8ICcnLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IHNyYztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEV4dGVybmFsSWNvbihzcmM6IHN0cmluZyk6IE9ic2VydmFibGU8U2FmZUh0bWw+IHtcbiAgICAgICAgY29uc3QgdXJsID0gc3JjLmluY2x1ZGVzKCcuc3ZnJykgPyBzcmMgOiB0aGlzLnVzZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0aWNSZXF1ZXN0U2VydmljZS5yZXF1ZXN0KHVybCkucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25FcnJvcihGQUlMRURfRVhURVJOQUxfSUNPTik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoJycpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnNhbml0aXplKHJlc3BvbnNlLnJlcGxhY2UoJzxzdmcnLCAnPHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiJykpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0dWlMZXQ9XCJpbm5lckhUTUwkIHwgYXN5bmMgYXMgaW5uZXJIVE1MXCI+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImlzSW5uZXJIVE1MOyBlbHNlIHVzZVRlbXBsYXRlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXNyY1wiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiaW5uZXJIVE1MXCJcbiAgICA+PC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICN1c2VUZW1wbGF0ZT5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtc3ZnXCJcbiAgICAgICAgICAgIChlcnJvcik9XCJvbkVycm9yKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwidXNlXCI+PC91c2U+XG4gICAgICAgIDwvc3ZnPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,24 +1,22 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, HostBinding, HostListener, Inject, Input, Self, ViewChild, } from '@angular/core';
3
3
  import { TUI_IS_MOBILE, tuiDefaultProp, TuiDestroyService } from '@taiga-ui/cdk';
4
- import { TuiDriver } from '@taiga-ui/core/abstract';
5
- import { TUI_HINT_OPTIONS, TuiHintOptionsDirective, } from '@taiga-ui/core/directives';
4
+ import { TUI_HINT_OPTIONS, TuiHintHoverDirective, TuiHintOptionsDirective, } from '@taiga-ui/core/directives';
6
5
  import { MODE_PROVIDER } from '@taiga-ui/core/providers';
7
6
  import { TUI_MODE } from '@taiga-ui/core/tokens';
8
- import { EMPTY } from 'rxjs';
9
7
  import { takeUntil } from 'rxjs/operators';
10
8
  import * as i0 from "@angular/core";
11
9
  import * as i1 from "@taiga-ui/core/components/svg";
12
- import * as i2 from "@taiga-ui/core/directives/hint";
13
- import * as i3 from "@tinkoff/ng-polymorpheus";
14
- import * as i4 from "@angular/common";
15
- import * as i5 from "rxjs";
10
+ import * as i2 from "@taiga-ui/core/directives/wrapper";
11
+ import * as i3 from "@taiga-ui/core/directives/hint";
12
+ import * as i4 from "@tinkoff/ng-polymorpheus";
13
+ import * as i5 from "@angular/common";
14
+ import * as i6 from "rxjs";
16
15
  export class TuiTooltipComponent extends TuiHintOptionsDirective {
17
16
  constructor(destroy$, mode$, options, isMobile) {
18
17
  super(options);
19
18
  this.isMobile = isMobile;
20
19
  this.mode = null;
21
- this.driver$ = EMPTY;
22
20
  this.describeId = '';
23
21
  mode$.pipe(takeUntil(destroy$)).subscribe(mode => {
24
22
  this.mode = mode;
@@ -28,14 +26,16 @@ export class TuiTooltipComponent extends TuiHintOptionsDirective {
28
26
  return this.appearance || this.mode || '';
29
27
  }
30
28
  stopOnMobile(event) {
29
+ var _a;
31
30
  if (this.isMobile) {
32
31
  event.preventDefault();
33
32
  event.stopPropagation();
34
33
  }
34
+ (_a = this.driver$) === null || _a === void 0 ? void 0 : _a.toggle(true);
35
35
  }
36
36
  }
37
37
  TuiTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTooltipComponent, deps: [{ token: TuiDestroyService, self: true }, { token: TUI_MODE }, { token: TUI_HINT_OPTIONS }, { token: TUI_IS_MOBILE }], target: i0.ɵɵFactoryTarget.Component });
38
- TuiTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTooltipComponent, selector: "tui-tooltip", inputs: { content: "content", direction: "direction", appearance: "appearance", showDelay: "showDelay", hideDelay: "hideDelay", describeId: "describeId" }, host: { listeners: { "mousedown": "stopOnMobile($event)", "click": "stopOnMobile($event)" }, properties: { "attr.data-appearance": "this.computedAppearance" } }, providers: [TuiDestroyService, MODE_PROVIDER], viewQueries: [{ propertyName: "driver$", first: true, predicate: TuiDriver, descendants: true }], usesInheritance: true, ngImport: i0, template: "<span\n automation-id=\"tui-tooltip__icon\"\n class=\"t-tooltip-icon\"\n [class.t-icon_hovered]=\"driver$ | async\"\n [tuiHint]=\"content\"\n [tuiHintDescribe]=\"describeId\"\n [tuiHintDirection]=\"direction\"\n [tuiHintShowDelay]=\"showDelay\"\n [tuiHintHideDelay]=\"hideDelay\"\n [tuiHintAppearance]=\"computedAppearance\"\n>\n <tui-svg\n *polymorpheusOutlet=\"icon as src\"\n [src]=\"src\"\n ></tui-svg>\n</span>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;font-size:0;line-height:0;cursor:pointer;color:var(--tui-text-03)}:host:hover{color:var(--tui-text-02)}:host[data-appearance=onDark]{color:var(--tui-text-01-night)}:host[data-appearance=onLight]{color:var(--tui-text-01)}:host[data-appearance=error]{color:var(--tui-error-fill)}.t-tooltip-icon{transition-property:opacity,color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:inline-block;width:100%;height:100%}:host:not([data-appearance]) .t-tooltip-icon_hovered{color:var(--tui-text-02)}:host[data-appearance=onLight] .t-tooltip-icon,:host[data-appearance=onDark] .t-tooltip-icon{opacity:var(--tui-disabled-opacity)}:host[data-appearance=onLight] .t-tooltip-icon_hovered,:host[data-appearance=onDark] .t-tooltip-icon_hovered{opacity:1}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i2.TuiHintDriverDirective, selector: "[tuiHint]" }, { type: i2.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i2.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { type: i2.TuiHintDescribeDirective, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ TuiTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTooltipComponent, selector: "tui-tooltip", inputs: { content: "content", direction: "direction", appearance: "appearance", showDelay: "showDelay", hideDelay: "hideDelay", describeId: "describeId" }, host: { listeners: { "mousedown": "stopOnMobile($event)", "click": "stopOnMobile($event)" }, properties: { "attr.data-appearance": "this.computedAppearance" } }, providers: [TuiDestroyService, MODE_PROVIDER], viewQueries: [{ propertyName: "driver$", first: true, predicate: TuiHintHoverDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<span\n #driver=\"tuiHintHover\"\n automation-id=\"tui-tooltip__icon\"\n tuiWrapper\n appearance=\"icon\"\n class=\"t-tooltip-icon\"\n [hover]=\"(driver | async) || null\"\n [tuiHint]=\"content\"\n [tuiHintDescribe]=\"describeId\"\n [tuiHintDirection]=\"direction\"\n [tuiHintShowDelay]=\"showDelay\"\n [tuiHintHideDelay]=\"hideDelay\"\n [tuiHintAppearance]=\"computedAppearance\"\n>\n <tui-svg\n *polymorpheusOutlet=\"icon as src\"\n [src]=\"src\"\n ></tui-svg>\n</span>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;font-size:0;line-height:0;cursor:pointer;color:var(--tui-text-01)}:host[data-appearance=error]{color:var(--tui-error-fill)}.t-tooltip-icon{display:inline-block;width:100%;height:100%;color:inherit}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i3.TuiHintDriverDirective, selector: "[tuiHint]" }, { type: i3.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { type: i3.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { type: i3.TuiHintDescribeDirective, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
39
  __decorate([
40
40
  tuiDefaultProp()
41
41
  ], TuiTooltipComponent.prototype, "describeId", void 0);
@@ -49,12 +49,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
49
49
  providers: [TuiDestroyService, MODE_PROVIDER],
50
50
  inputs: ['content', 'direction', 'appearance', 'showDelay', 'hideDelay'],
51
51
  }]
52
- }], ctorParameters: function () { return [{ type: i5.Observable, decorators: [{
52
+ }], ctorParameters: function () { return [{ type: i6.Observable, decorators: [{
53
53
  type: Self
54
54
  }, {
55
55
  type: Inject,
56
56
  args: [TuiDestroyService]
57
- }] }, { type: i5.Observable, decorators: [{
57
+ }] }, { type: i6.Observable, decorators: [{
58
58
  type: Inject,
59
59
  args: [TUI_MODE]
60
60
  }] }, { type: undefined, decorators: [{
@@ -65,7 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
65
65
  args: [TUI_IS_MOBILE]
66
66
  }] }]; }, propDecorators: { driver$: [{
67
67
  type: ViewChild,
68
- args: [TuiDriver]
68
+ args: [TuiHintHoverDirective]
69
69
  }], describeId: [{
70
70
  type: Input
71
71
  }], computedAppearance: [{
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
78
78
  type: HostListener,
79
79
  args: ['click', ['$event']]
80
80
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFDSCxnQkFBZ0IsRUFFaEIsdUJBQXVCLEdBQzFCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVV6QyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQXVCO0lBVTVELFlBQ3VDLFFBQTZCLEVBQzlDLEtBQXVDLEVBQy9CLE9BQXVCLEVBQ1QsUUFBaUI7UUFFekQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRnlCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFickQsU0FBSSxHQUF5QixJQUFJLENBQUM7UUFHakMsWUFBTyxHQUF3QixLQUFLLENBQUM7UUFJOUMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQVVaLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQ0ksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBSUQsWUFBWSxDQUFDLEtBQWlCO1FBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDOztpSEFuQ1EsbUJBQW1CLGtCQVdSLGlCQUFpQix5QkFDekIsUUFBUSxhQUNSLGdCQUFnQixhQUNoQixhQUFhO3FHQWRoQixtQkFBbUIsb1dBSGpCLENBQUMsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLG1FQU1sQyxTQUFTLHVFQ2xDeEIsa2RBZ0JBO0FEdUJJO0lBREMsY0FBYyxFQUFFO3VEQUNEOzRGQVJQLG1CQUFtQjtrQkFSL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ25DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUM7b0JBQzdDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7aUJBQzNFOzswQkFZUSxJQUFJOzswQkFBSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ2hDLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixNQUFNOzJCQUFDLGFBQWE7NENBVmhCLE9BQU87c0JBRGYsU0FBUzt1QkFBQyxTQUFTO2dCQUtwQixVQUFVO3NCQUZULEtBQUs7Z0JBa0JGLGtCQUFrQjtzQkFEckIsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBT25DLFlBQVk7c0JBRlgsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNwQyxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFLCB0dWlEZWZhdWx0UHJvcCwgVHVpRGVzdHJveVNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlEcml2ZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7XG4gICAgVFVJX0hJTlRfT1BUSU9OUyxcbiAgICBUdWlIaW50T3B0aW9ucyxcbiAgICBUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcyc7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9NT0RFfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlCcmlnaHRuZXNzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXRvb2x0aXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rvb2x0aXAuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlLCBNT0RFX1BST1ZJREVSXSxcbiAgICBpbnB1dHM6IFsnY29udGVudCcsICdkaXJlY3Rpb24nLCAnYXBwZWFyYW5jZScsICdzaG93RGVsYXknLCAnaGlkZURlbGF5J10sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRvb2x0aXBDb21wb25lbnQgZXh0ZW5kcyBUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSBtb2RlOiBUdWlCcmlnaHRuZXNzIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAVmlld0NoaWxkKFR1aURyaXZlcilcbiAgICByZWFkb25seSBkcml2ZXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gRU1QVFk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGVzY3JpYmVJZCA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBTZWxmKCkgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfSElOVF9PUFRJT05TKSBvcHRpb25zOiBUdWlIaW50T3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcblxuICAgICAgICBtb2RlJC5waXBlKHRha2VVbnRpbChkZXN0cm95JCkpLnN1YnNjcmliZShtb2RlID0+IHtcbiAgICAgICAgICAgIHRoaXMubW9kZSA9IG1vZGU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFwcGVhcmFuY2UnKVxuICAgIGdldCBjb21wdXRlZEFwcGVhcmFuY2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwZWFyYW5jZSB8fCB0aGlzLm1vZGUgfHwgJyc7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgc3RvcE9uTW9iaWxlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8c3BhblxuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktdG9vbHRpcF9faWNvblwiXG4gICAgY2xhc3M9XCJ0LXRvb2x0aXAtaWNvblwiXG4gICAgW2NsYXNzLnQtaWNvbl9ob3ZlcmVkXT1cImRyaXZlciQgfCBhc3luY1wiXG4gICAgW3R1aUhpbnRdPVwiY29udGVudFwiXG4gICAgW3R1aUhpbnREZXNjcmliZV09XCJkZXNjcmliZUlkXCJcbiAgICBbdHVpSGludERpcmVjdGlvbl09XCJkaXJlY3Rpb25cIlxuICAgIFt0dWlIaW50U2hvd0RlbGF5XT1cInNob3dEZWxheVwiXG4gICAgW3R1aUhpbnRIaWRlRGVsYXldPVwiaGlkZURlbGF5XCJcbiAgICBbdHVpSGludEFwcGVhcmFuY2VdPVwiY29tcHV0ZWRBcHBlYXJhbmNlXCJcbj5cbiAgICA8dHVpLXN2Z1xuICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbiBhcyBzcmNcIlxuICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgPjwvdHVpLXN2Zz5cbjwvc3Bhbj5cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUNILGdCQUFnQixFQUNoQixxQkFBcUIsRUFFckIsdUJBQXVCLEdBQzFCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBVXpDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBdUI7SUFVNUQsWUFDdUMsUUFBNkIsRUFDOUMsS0FBdUMsRUFDL0IsT0FBdUIsRUFDVCxRQUFpQjtRQUV6RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFGeUIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQWJyRCxTQUFJLEdBQXlCLElBQUksQ0FBQztRQU8xQyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBVVosS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFDSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFJRCxZQUFZLENBQUMsS0FBaUI7O1FBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDM0I7UUFFRCxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDOztpSEFyQ1EsbUJBQW1CLGtCQVdSLGlCQUFpQix5QkFDekIsUUFBUSxhQUNSLGdCQUFnQixhQUNoQixhQUFhO3FHQWRoQixtQkFBbUIsb1dBSGpCLENBQUMsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLG1FQU1sQyxxQkFBcUIsdUVDbENwQyxtaEJBbUJBO0FEb0JJO0lBREMsY0FBYyxFQUFFO3VEQUNEOzRGQVJQLG1CQUFtQjtrQkFSL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ25DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUM7b0JBQzdDLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7aUJBQzNFOzswQkFZUSxJQUFJOzswQkFBSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ2hDLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixNQUFNOzJCQUFDLGFBQWE7NENBVmhCLE9BQU87c0JBRGYsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBS2hDLFVBQVU7c0JBRlQsS0FBSztnQkFrQkYsa0JBQWtCO3NCQURyQixXQUFXO3VCQUFDLHNCQUFzQjtnQkFPbkMsWUFBWTtzQkFGWCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3BDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEUsIHR1aURlZmF1bHRQcm9wLCBUdWlEZXN0cm95U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9ISU5UX09QVElPTlMsXG4gICAgVHVpSGludEhvdmVyRGlyZWN0aXZlLFxuICAgIFR1aUhpbnRPcHRpb25zLFxuICAgIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzJztcbmltcG9ydCB7TU9ERV9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX01PREV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS10b29sdGlwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90b29sdGlwLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZSwgTU9ERV9QUk9WSURFUl0sXG4gICAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAnZGlyZWN0aW9uJywgJ2FwcGVhcmFuY2UnLCAnc2hvd0RlbGF5JywgJ2hpZGVEZWxheSddLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUb29sdGlwQ29tcG9uZW50IGV4dGVuZHMgVHVpSGludE9wdGlvbnNEaXJlY3RpdmUge1xuICAgIHByaXZhdGUgbW9kZTogVHVpQnJpZ2h0bmVzcyB8IG51bGwgPSBudWxsO1xuXG4gICAgQFZpZXdDaGlsZChUdWlIaW50SG92ZXJEaXJlY3RpdmUpXG4gICAgcmVhZG9ubHkgZHJpdmVyJD86IFR1aUhpbnRIb3ZlckRpcmVjdGl2ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZXNjcmliZUlkID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9ISU5UX09QVElPTlMpIG9wdGlvbnM6IFR1aUhpbnRPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgICAgIG1vZGUkLnBpcGUodGFrZVVudGlsKGRlc3Ryb3kkKSkuc3Vic2NyaWJlKG1vZGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb2RlID0gbW9kZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtYXBwZWFyYW5jZScpXG4gICAgZ2V0IGNvbXB1dGVkQXBwZWFyYW5jZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBlYXJhbmNlIHx8IHRoaXMubW9kZSB8fCAnJztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBzdG9wT25Nb2JpbGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZHJpdmVyJD8udG9nZ2xlKHRydWUpO1xuICAgIH1cbn1cbiIsIjxzcGFuXG4gICAgI2RyaXZlcj1cInR1aUhpbnRIb3ZlclwiXG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS10b29sdGlwX19pY29uXCJcbiAgICB0dWlXcmFwcGVyXG4gICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgIGNsYXNzPVwidC10b29sdGlwLWljb25cIlxuICAgIFtob3Zlcl09XCIoZHJpdmVyIHwgYXN5bmMpIHx8IG51bGxcIlxuICAgIFt0dWlIaW50XT1cImNvbnRlbnRcIlxuICAgIFt0dWlIaW50RGVzY3JpYmVdPVwiZGVzY3JpYmVJZFwiXG4gICAgW3R1aUhpbnREaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCJcbiAgICBbdHVpSGludFNob3dEZWxheV09XCJzaG93RGVsYXlcIlxuICAgIFt0dWlIaW50SGlkZURlbGF5XT1cImhpZGVEZWxheVwiXG4gICAgW3R1aUhpbnRBcHBlYXJhbmNlXT1cImNvbXB1dGVkQXBwZWFyYW5jZVwiXG4+XG4gICAgPHR1aS1zdmdcbiAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb24gYXMgc3JjXCJcbiAgICAgICAgW3NyY109XCJzcmNcIlxuICAgID48L3R1aS1zdmc+XG48L3NwYW4+XG4iXX0=
@@ -2,20 +2,37 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { TuiSvgModule } from '@taiga-ui/core/components/svg';
4
4
  import { TuiHintModule } from '@taiga-ui/core/directives/hint';
5
+ import { TuiWrapperModule } from '@taiga-ui/core/directives/wrapper';
5
6
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
6
7
  import { TuiTooltipComponent } from './tooltip.component';
7
8
  import * as i0 from "@angular/core";
8
9
  export class TuiTooltipModule {
9
10
  }
10
11
  TuiTooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- TuiTooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTooltipModule, declarations: [TuiTooltipComponent], imports: [CommonModule, TuiSvgModule, TuiHintModule, PolymorpheusModule], exports: [TuiTooltipComponent] });
12
- TuiTooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTooltipModule, imports: [[CommonModule, TuiSvgModule, TuiHintModule, PolymorpheusModule]] });
12
+ TuiTooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTooltipModule, declarations: [TuiTooltipComponent], imports: [CommonModule,
13
+ TuiWrapperModule,
14
+ TuiSvgModule,
15
+ TuiHintModule,
16
+ PolymorpheusModule], exports: [TuiTooltipComponent] });
17
+ TuiTooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTooltipModule, imports: [[
18
+ CommonModule,
19
+ TuiWrapperModule,
20
+ TuiSvgModule,
21
+ TuiHintModule,
22
+ PolymorpheusModule,
23
+ ]] });
13
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTooltipModule, decorators: [{
14
25
  type: NgModule,
15
26
  args: [{
16
- imports: [CommonModule, TuiSvgModule, TuiHintModule, PolymorpheusModule],
27
+ imports: [
28
+ CommonModule,
29
+ TuiWrapperModule,
30
+ TuiSvgModule,
31
+ TuiHintModule,
32
+ PolymorpheusModule,
33
+ ],
17
34
  declarations: [TuiTooltipComponent],
18
35
  exports: [TuiTooltipComponent],
19
36
  }]
20
37
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQU94RCxNQUFNLE9BQU8sZ0JBQWdCOzs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBSFYsbUJBQW1CLGFBRHhCLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixhQUU3RCxtQkFBbUI7K0dBRXBCLGdCQUFnQixZQUpoQixDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixDQUFDOzRGQUkvRCxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsa0JBQWtCLENBQUM7b0JBQ3hFLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlTdmdNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc3ZnJztcbmltcG9ydCB7VHVpSGludE1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9oaW50JztcbmltcG9ydCB7UG9seW1vcnBoZXVzTW9kdWxlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aVRvb2x0aXBDb21wb25lbnR9IGZyb20gJy4vdG9vbHRpcC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFR1aVN2Z01vZHVsZSwgVHVpSGludE1vZHVsZSwgUG9seW1vcnBoZXVzTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlUb29sdGlwQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbVHVpVG9vbHRpcENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRvb2x0aXBNb2R1bGUge31cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQWF4RCxNQUFNLE9BQU8sZ0JBQWdCOzs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBSFYsbUJBQW1CLGFBTjlCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLGFBQWE7UUFDYixrQkFBa0IsYUFHWixtQkFBbUI7K0dBRXBCLGdCQUFnQixZQVZoQjtZQUNMLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGFBQWE7WUFDYixrQkFBa0I7U0FDckI7NEZBSVEsZ0JBQWdCO2tCQVg1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGtCQUFrQjtxQkFDckI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aVN2Z01vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9zdmcnO1xuaW1wb3J0IHtUdWlIaW50TW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2hpbnQnO1xuaW1wb3J0IHtUdWlXcmFwcGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL3dyYXBwZXInO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpVG9vbHRpcENvbXBvbmVudH0gZnJvbSAnLi90b29sdGlwLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFR1aVdyYXBwZXJNb2R1bGUsXG4gICAgICAgIFR1aVN2Z01vZHVsZSxcbiAgICAgICAgVHVpSGludE1vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbVHVpVG9vbHRpcENvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW1R1aVRvb2x0aXBDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUb29sdGlwTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /** Default values for hint options */
3
+ export const TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS = {
4
+ showDelay: 200,
5
+ hideDelay: 500,
6
+ };
7
+ export const TUI_DROPDOWN_HOVER_OPTIONS = new InjectionToken('[TUI_DROPDOWN_HOVER_OPTIONS] Default parameters for dropdown hover directive', {
8
+ factory: () => TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,
9
+ });
10
+ export const tuiDropdownHoverOptionsProvider = (options) => ({
11
+ provide: TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,
12
+ useValue: Object.assign(Object.assign({}, TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS), options),
13
+ });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taG92ZXItb3B0aW9ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24taG92ZXItb3B0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFPNUQsc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUE0QjtJQUN2RSxTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxHQUFHO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FDeEQsOEVBQThFLEVBQzlFO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGtDQUFrQztDQUNwRCxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FFdkIsQ0FBQyxPQUF5QyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLE9BQU8sRUFBRSxrQ0FBa0M7SUFDM0MsUUFBUSxrQ0FBTSxrQ0FBa0MsR0FBSyxPQUFPLENBQUM7Q0FDaEUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpRHJvcGRvd25Ib3Zlck9wdGlvbnMge1xuICAgIHJlYWRvbmx5IHNob3dEZWxheTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGhpZGVEZWxheTogbnVtYmVyO1xufVxuXG4vKiogRGVmYXVsdCB2YWx1ZXMgZm9yIGhpbnQgb3B0aW9ucyAqL1xuZXhwb3J0IGNvbnN0IFRVSV9EUk9QRE9XTl9IT1ZFUl9ERUZBVUxUX09QVElPTlM6IFR1aURyb3Bkb3duSG92ZXJPcHRpb25zID0ge1xuICAgIHNob3dEZWxheTogMjAwLFxuICAgIGhpZGVEZWxheTogNTAwLFxufTtcblxuZXhwb3J0IGNvbnN0IFRVSV9EUk9QRE9XTl9IT1ZFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aURyb3Bkb3duSG92ZXJPcHRpb25zPihcbiAgICAnW1RVSV9EUk9QRE9XTl9IT1ZFUl9PUFRJT05TXSBEZWZhdWx0IHBhcmFtZXRlcnMgZm9yIGRyb3Bkb3duIGhvdmVyIGRpcmVjdGl2ZScsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfRFJPUERPV05fSE9WRVJfREVGQVVMVF9PUFRJT05TLFxuICAgIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgdHVpRHJvcGRvd25Ib3Zlck9wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpRHJvcGRvd25Ib3Zlck9wdGlvbnM+LFxuKSA9PiBWYWx1ZVByb3ZpZGVyID0gKG9wdGlvbnM6IFBhcnRpYWw8VHVpRHJvcGRvd25Ib3Zlck9wdGlvbnM+KSA9PiAoe1xuICAgIHByb3ZpZGU6IFRVSV9EUk9QRE9XTl9IT1ZFUl9ERUZBVUxUX09QVElPTlMsXG4gICAgdXNlVmFsdWU6IHsuLi5UVUlfRFJPUERPV05fSE9WRVJfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuIl19
@@ -4,25 +4,27 @@ import { tuiDefaultProp, TuiHoveredService } from '@taiga-ui/cdk';
4
4
  import { tuiAsDriver, TuiDriver } from '@taiga-ui/core/abstract';
5
5
  import { merge, of, Subject } from 'rxjs';
6
6
  import { delay, share, switchMap, tap } from 'rxjs/operators';
7
+ import { TUI_DROPDOWN_HOVER_OPTIONS, } from './dropdown-hover-options.directive';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "rxjs";
9
10
  export class TuiDropdownHoverDirective extends TuiDriver {
10
- constructor(hovered$) {
11
+ constructor(hovered$, options) {
11
12
  super(subscriber => this.stream$.subscribe(subscriber));
12
13
  this.hovered$ = hovered$;
14
+ this.options = options;
13
15
  this.toggle$ = new Subject();
14
16
  this.stream$ = merge(this.toggle$, this.hovered$).pipe(switchMap(visible => of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay))), tap(visible => {
15
17
  this.hovered = visible;
16
18
  }), share());
17
- this.showDelay = 200;
18
- this.hideDelay = 500;
19
+ this.showDelay = this.options.showDelay;
20
+ this.hideDelay = this.options.hideDelay;
19
21
  this.hovered = false;
20
22
  }
21
23
  toggle(visible) {
22
24
  this.toggle$.next(visible);
23
25
  }
24
26
  }
25
- TuiDropdownHoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownHoverDirective, deps: [{ token: TuiHoveredService }], target: i0.ɵɵFactoryTarget.Directive });
27
+ TuiDropdownHoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownHoverDirective, deps: [{ token: TuiHoveredService }, { token: TUI_DROPDOWN_HOVER_OPTIONS }], target: i0.ɵɵFactoryTarget.Directive });
26
28
  TuiDropdownHoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownHoverDirective, selector: "[tuiDropdownHover]:not(ng-container)", inputs: { showDelay: ["tuiDropdownShowDelay", "showDelay"], hideDelay: ["tuiDropdownHideDelay", "hideDelay"] }, providers: [tuiAsDriver(TuiDropdownHoverDirective), TuiHoveredService], usesInheritance: true, ngImport: i0 });
27
29
  __decorate([
28
30
  tuiDefaultProp()
@@ -39,6 +41,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
39
41
  }], ctorParameters: function () { return [{ type: i1.Observable, decorators: [{
40
42
  type: Inject,
41
43
  args: [TuiHoveredService]
44
+ }] }, { type: undefined, decorators: [{
45
+ type: Inject,
46
+ args: [TUI_DROPDOWN_HOVER_OPTIONS]
42
47
  }] }]; }, propDecorators: { showDelay: [{
43
48
  type: Input,
44
49
  args: ['tuiDropdownShowDelay']
@@ -46,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
46
51
  type: Input,
47
52
  args: ['tuiDropdownHideDelay']
48
53
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taG92ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLWhvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFNNUQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFNBQVM7SUFzQnBELFlBQ2dELFFBQTZCO1FBRXpFLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFGWixhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQXRCNUQsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDakMsWUFBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQzlELFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUNoQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUNyRSxFQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxFQUNGLEtBQUssRUFBRSxDQUNWLENBQUM7UUFJRixjQUFTLEdBQUcsR0FBRyxDQUFDO1FBSWhCLGNBQVMsR0FBRyxHQUFHLENBQUM7UUFFaEIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQU1oQixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWdCO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7O3VIQTlCUSx5QkFBeUIsa0JBdUJ0QixpQkFBaUI7MkdBdkJwQix5QkFBeUIsK0tBRnZCLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLEVBQUUsaUJBQWlCLENBQUM7QUFnQnRFO0lBREMsY0FBYyxFQUFFOzREQUNEO0FBSWhCO0lBREMsY0FBYyxFQUFFOzREQUNEOzRGQWxCUCx5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNDQUFzQztvQkFDaEQsU0FBUyxFQUFFLENBQUMsV0FBVywyQkFBMkIsRUFBRSxpQkFBaUIsQ0FBQztpQkFDekU7OzBCQXdCUSxNQUFNOzJCQUFDLGlCQUFpQjs0Q0FUN0IsU0FBUztzQkFGUixLQUFLO3VCQUFDLHNCQUFzQjtnQkFNN0IsU0FBUztzQkFGUixLQUFLO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3AsIFR1aUhvdmVyZWRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpQXNEcml2ZXIsIFR1aURyaXZlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHttZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWxheSwgc2hhcmUsIHN3aXRjaE1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duSG92ZXJdOm5vdChuZy1jb250YWluZXIpJyxcbiAgICBwcm92aWRlcnM6IFt0dWlBc0RyaXZlcihUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlKSwgVHVpSG92ZXJlZFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlIGV4dGVuZHMgVHVpRHJpdmVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvZ2dsZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtJCA9IG1lcmdlKHRoaXMudG9nZ2xlJCwgdGhpcy5ob3ZlcmVkJCkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHZpc2libGUgPT5cbiAgICAgICAgICAgIG9mKHZpc2libGUpLnBpcGUoZGVsYXkodmlzaWJsZSA/IHRoaXMuc2hvd0RlbGF5IDogdGhpcy5oaWRlRGVsYXkpKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKHZpc2libGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5ob3ZlcmVkID0gdmlzaWJsZTtcbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlKCksXG4gICAgKTtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25TaG93RGVsYXknKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd0RlbGF5ID0gMjAwO1xuXG4gICAgQElucHV0KCd0dWlEcm9wZG93bkhpZGVEZWxheScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBoaWRlRGVsYXkgPSA1MDA7XG5cbiAgICBob3ZlcmVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlIb3ZlcmVkU2VydmljZSkgcHJpdmF0ZSByZWFkb25seSBob3ZlcmVkJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc3Vic2NyaWJlciA9PiB0aGlzLnN0cmVhbSQuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbiAgICB9XG5cbiAgICB0b2dnbGUodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnRvZ2dsZSQubmV4dCh2aXNpYmxlKTtcbiAgICB9XG59XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taG92ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLWhvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFDSCwwQkFBMEIsR0FFN0IsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBTTVDLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxTQUFTO0lBc0JwRCxZQUNnRCxRQUE2QixFQUV4RCxPQUFnQztRQUVqRCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBSlosYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFFeEQsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUF4QnBDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ2pDLFlBQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUM5RCxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDaEIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDckUsRUFDRCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMzQixDQUFDLENBQUMsRUFDRixLQUFLLEVBQUUsQ0FDVixDQUFDO1FBSUYsY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBSW5DLGNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUVuQyxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBUWhCLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZ0I7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7dUhBaENRLHlCQUF5QixrQkF1QnRCLGlCQUFpQixhQUNqQiwwQkFBMEI7MkdBeEI3Qix5QkFBeUIsK0tBRnZCLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLEVBQUUsaUJBQWlCLENBQUM7QUFnQnRFO0lBREMsY0FBYyxFQUFFOzREQUNrQjtBQUluQztJQURDLGNBQWMsRUFBRTs0REFDa0I7NEZBbEIxQix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNDQUFzQztvQkFDaEQsU0FBUyxFQUFFLENBQUMsV0FBVywyQkFBMkIsRUFBRSxpQkFBaUIsQ0FBQztpQkFDekU7OzBCQXdCUSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsMEJBQTBCOzRDQVZ0QyxTQUFTO3NCQUZSLEtBQUs7dUJBQUMsc0JBQXNCO2dCQU03QixTQUFTO3NCQUZSLEtBQUs7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcCwgVHVpSG92ZXJlZFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHt0dWlBc0RyaXZlciwgVHVpRHJpdmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlbGF5LCBzaGFyZSwgc3dpdGNoTWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBUVUlfRFJPUERPV05fSE9WRVJfT1BUSU9OUyxcbiAgICBUdWlEcm9wZG93bkhvdmVyT3B0aW9ucyxcbn0gZnJvbSAnLi9kcm9wZG93bi1ob3Zlci1vcHRpb25zLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duSG92ZXJdOm5vdChuZy1jb250YWluZXIpJyxcbiAgICBwcm92aWRlcnM6IFt0dWlBc0RyaXZlcihUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlKSwgVHVpSG92ZXJlZFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlIGV4dGVuZHMgVHVpRHJpdmVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvZ2dsZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtJCA9IG1lcmdlKHRoaXMudG9nZ2xlJCwgdGhpcy5ob3ZlcmVkJCkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHZpc2libGUgPT5cbiAgICAgICAgICAgIG9mKHZpc2libGUpLnBpcGUoZGVsYXkodmlzaWJsZSA/IHRoaXMuc2hvd0RlbGF5IDogdGhpcy5oaWRlRGVsYXkpKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKHZpc2libGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5ob3ZlcmVkID0gdmlzaWJsZTtcbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlKCksXG4gICAgKTtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25TaG93RGVsYXknKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd0RlbGF5ID0gdGhpcy5vcHRpb25zLnNob3dEZWxheTtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25IaWRlRGVsYXknKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaGlkZURlbGF5ID0gdGhpcy5vcHRpb25zLmhpZGVEZWxheTtcblxuICAgIGhvdmVyZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aUhvdmVyZWRTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGhvdmVyZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgICAgICBASW5qZWN0KFRVSV9EUk9QRE9XTl9IT1ZFUl9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aURyb3Bkb3duSG92ZXJPcHRpb25zLFxuICAgICkge1xuICAgICAgICBzdXBlcihzdWJzY3JpYmVyID0+IHRoaXMuc3RyZWFtJC5zdWJzY3JpYmUoc3Vic2NyaWJlcikpO1xuICAgIH1cblxuICAgIHRvZ2dsZSh2aXNpYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9nZ2xlJC5uZXh0KHZpc2libGUpO1xuICAgIH1cbn1cbiJdfQ==