ecabs-components 1.1.90 → 1.1.93

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 (58) hide show
  1. package/README.md +19 -0
  2. package/esm2022/lib/base/consts/badge.consts.mjs +2 -0
  3. package/esm2022/lib/base/consts/icon.consts.mjs +2 -0
  4. package/esm2022/lib/base/consts/status-badge.consts.mjs +53 -0
  5. package/esm2022/lib/base/directives/action-menu-trigger.directive.mjs +17 -0
  6. package/esm2022/lib/base/directives/badge.directive.mjs +106 -0
  7. package/esm2022/lib/base/directives/badge.directive.module.mjs +18 -0
  8. package/esm2022/lib/base/directives/tooltip-if-truncated.directive.module.mjs +6 -5
  9. package/esm2022/lib/base/models/action-menu.models.mjs +2 -0
  10. package/esm2022/lib/base/models/select.models.mjs +1 -1
  11. package/esm2022/lib/base/pipes/status-badge-variant.pipe.mjs +17 -0
  12. package/esm2022/lib/base/utils/icon.utils.mjs +4 -0
  13. package/esm2022/lib/base/utils/select.utils.mjs +3 -4
  14. package/esm2022/lib/ecabs-action-menu/ecabs-action-menu.component.mjs +79 -0
  15. package/esm2022/lib/ecabs-action-menu/ecabs-action-menu.module.mjs +37 -0
  16. package/esm2022/lib/ecabs-badge/ecabs-badge.component.mjs +74 -0
  17. package/esm2022/lib/ecabs-badge/ecabs-badge.module.mjs +46 -0
  18. package/esm2022/lib/ecabs-button-toggle/ecabs-button-toggle.component.mjs +2 -2
  19. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +2 -2
  20. package/esm2022/lib/ecabs-checkbox-v2/ecabs-checkbox-v2.component.mjs +2 -2
  21. package/esm2022/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.mjs +2 -2
  22. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +2 -2
  23. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +2 -2
  24. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +2 -2
  25. package/esm2022/lib/ecabs-multiple-dates-picker/ecabs-multiple-dates-picker.component.mjs +2 -2
  26. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +2 -2
  27. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +2 -2
  28. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +2 -2
  29. package/esm2022/public-api.mjs +14 -1
  30. package/fesm2022/ecabs-components.mjs +476 -78
  31. package/fesm2022/ecabs-components.mjs.map +1 -1
  32. package/lib/base/consts/badge.consts.d.ts +5 -0
  33. package/lib/base/consts/icon.consts.d.ts +1 -0
  34. package/lib/base/consts/status-badge.consts.d.ts +3 -0
  35. package/lib/base/directives/action-menu-trigger.directive.d.ts +8 -0
  36. package/lib/base/directives/badge.directive.d.ts +26 -0
  37. package/lib/base/directives/badge.directive.module.d.ts +8 -0
  38. package/lib/base/directives/tooltip-if-truncated.directive.module.d.ts +2 -1
  39. package/lib/base/models/action-menu.models.d.ts +13 -0
  40. package/lib/base/models/select.models.d.ts +1 -1
  41. package/lib/base/pipes/status-badge-variant.pipe.d.ts +8 -0
  42. package/lib/base/utils/icon.utils.d.ts +2 -0
  43. package/lib/ecabs-action-menu/ecabs-action-menu.component.d.ts +26 -0
  44. package/lib/ecabs-action-menu/ecabs-action-menu.module.d.ts +13 -0
  45. package/lib/ecabs-badge/ecabs-badge.component.d.ts +41 -0
  46. package/lib/ecabs-badge/ecabs-badge.module.d.ts +13 -0
  47. package/package.json +1 -1
  48. package/public-api.d.ts +13 -0
  49. package/src/assets/styles/material/overrides/_badge.scss +120 -0
  50. package/src/assets/styles/material/overrides/_menu.scss +50 -2
  51. package/src/assets/styles/material/overrides/index.scss +1 -0
  52. package/src/assets/styles/scss/modules/_badge.scss +128 -0
  53. package/src/assets/styles/scss/modules/_button.scss +1 -0
  54. package/src/assets/styles/scss/modules/_menu.scss +48 -0
  55. package/src/assets/styles/scss/modules/index.scss +2 -0
  56. package/src/assets/styles/scss/utilities/_colors.scss +6 -0
  57. package/src/assets/styles/scss/utilities/_mixins.scss +7 -0
  58. package/src/assets/styles/tailwind/index.scss +1 -1
package/README.md CHANGED
@@ -25,6 +25,25 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C
25
25
 
26
26
  ## Version History
27
27
 
28
+ - **v1.1.93** — Teach a `mat-chip` to wear `ecabs-badge`'s appearance, so a status an operator can change looks like one they cannot.
29
+ - `ecabsBadge` puts the appearance on any host with the same inputs, and `ecabs-badge` uses it internally. Static labels stay `<ecabs-badge>`.
30
+ - A `matMenuTriggerFor` on the badge makes it keyboard-reachable by itself; a static badge drops the ripple and hover layer. `interactive` and `disableRipple` override either.
31
+ - The caret goes in `matChipTrailingIcon` and widens `--badge-max-width` itself, so a menu badge truncates level with a read-only one. Its tooltip needs `ecabsTooltipIfTruncated` and a `matTooltip`.
32
+ - Bind the menu with `[matMenuTriggerFor]="ref.menu"` against `<ecabs-action-menu #ref [showTrigger]="false">`; pair with `action-menu-panel--compact`.
33
+ - **v1.1.92** — Add `ecabs-action-menu`, the overflow menu that hangs off a table row, moved out of Panels so the component and the styles that shape it live in one place.
34
+ - Bring your own trigger with an `ng-template ecabsActionMenuTrigger`, or fall back to the built-in three-dot button; `xPosition` picks the side the panel opens on.
35
+ - A projected trigger takes focus and opens on Enter or Space, since the usual one is a label or a badge rather than a button; `triggerFocusable` turns that off when the projected control already handles it.
36
+ - Item icons are optional and vendor-neutral (`icon` plus `iconWeight`, resolved through Phosphor), matching `ecabs-badge`.
37
+ - Panel width is adjustable: `menuClass` takes any class, `action-menu-panel--compact` ships for triggers shorter than a three-dot button, and `--action-menu-min-width` sets it outright.
38
+ - Item styles in `scss/modules/_menu.scss`, with the Material counters in `material/overrides/_menu.scss`.
39
+ - Not to be confused with `ecabs-menu-items`, which renders the sidebar's navigation tree: that is a list of places to go, this is a list of things to do.
40
+ - **v1.1.91** — Add `ecabs-badge`, a static status/label badge with semantic variants (`default`/`success`/`warning`/`danger`/`info`).
41
+ - Size scale (`small`/`medium`/`large`) and an optional border, on by default.
42
+ - Three icon tiers: a vendor-neutral `icon` with `iconWeight` (resolved through Phosphor, `bold` by default), a `materialIcon` ligature fallback, and an `ecabsBadgeIcon` projection slot for any other icon set.
43
+ - Labels stay within their container and ellipsise, with the full text shown in a tooltip only when it is actually clipped.
44
+ - Move `PhosphorIconWeight` out of the select models into `icon.consts`, and extract `buildPhosphorSvgIcon` so the icon-set format lives in one place.
45
+ - Add `STATUS_BADGE_VARIANTS` / `resolveStatusBadgeVariant` and the `statusBadgeVariant` pipe, so every app maps a platform status to a badge variant from one place instead of interpolating the status into `class` and relying on the global status styles.
46
+ - Replaces `scss/modules/_statuses.scss` and the status-class section of `material/overrides/_chip.scss`. Both stay for now and retire once every app has migrated.
28
47
  - **v1.1.90** — Fix `ecabs-select` height issue.
29
48
  - **v1.1.89** — Fix inflated `ecabs-select` height: nudge the select item icon with a `transform` translate instead of padding so the vertical adjustment no longer adds to the control height.
30
49
  - **v1.1.88** — Fix `ecabs-validations-messages` freezing a validation message at the first value it rendered; `[token]` placeholders are now interpolated per render instead of overwriting the message template, so a control with a dynamic `max`/`min`/`maxlength` reads the current value.
@@ -0,0 +1,2 @@
1
+ export const CHIP_LABEL_CLASS = 'mdc-evolution-chip__text-label';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvY29uc3RzL2JhZGdlLmNvbnN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBob3NwaG9ySWNvbldlaWdodCB9IGZyb20gJy4vaWNvbi5jb25zdHMnO1xyXG5cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBCYWRnZVZhcmlhbnQgPVxyXG4gIHwgJ2RlZmF1bHQnXHJcbiAgfCAnc3VjY2VzcydcclxuICB8ICd3YXJuaW5nJ1xyXG4gIHwgJ2RhbmdlcidcclxuICB8ICdpbmZvJztcclxuXHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQmFkZ2VTaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBCYWRnZUljb25XZWlnaHQgPSBQaG9zcGhvckljb25XZWlnaHQ7XHJcbmV4cG9ydCBjb25zdCBDSElQX0xBQkVMX0NMQVNTID0gJ21kYy1ldm9sdXRpb24tY2hpcF9fdGV4dC1sYWJlbCc7XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb25zdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9jb25zdHMvaWNvbi5jb25zdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIHR5cGUgUGhvc3Bob3JJY29uV2VpZ2h0ID1cclxuICB8ICdyZWd1bGFyJ1xyXG4gIHwgJ2JvbGQnXHJcbiAgfCAnZmlsbCdcclxuICB8ICdsaWdodCdcclxuICB8ICd0aGluJ1xyXG4gIHwgJ2R1b3RvbmUnO1xyXG4iXX0=
@@ -0,0 +1,53 @@
1
+ export const STATUS_BADGE_VARIANTS = {
2
+ /* #Neutral */
3
+ PENDING: 'default',
4
+ DRAFT: 'default',
5
+ ARCHIVED: 'default',
6
+ RECALLED: 'default',
7
+ INITIALIZED: 'default',
8
+ INACTIVE: 'default',
9
+ /* #Awaiting something */
10
+ RESERVED: 'warning',
11
+ SCHEDULED: 'warning',
12
+ ENDED: 'warning',
13
+ PENDING_DATA: 'warning',
14
+ PARTIAL: 'warning',
15
+ /* #Under way */
16
+ DISPATCHED: 'info',
17
+ CAB_ARRIVED_AT_PICKUP: 'info',
18
+ CAB_ARRIVED_AT_INTERMEDIARY_WAYPOINT: 'info',
19
+ TRIP_STARTED: 'info',
20
+ STARTED: 'info',
21
+ DROPPED_OFF: 'info',
22
+ TRIP_ONGOING: 'info',
23
+ IN_PROGRESS: 'info',
24
+ IN_PROGRESS_ADJUSTMENT: 'info',
25
+ IN_PROGRESS_PAYOUT: 'info',
26
+ PROCESSING: 'info',
27
+ PUBLISHED: 'info',
28
+ PENDING_REVIEW: 'info',
29
+ /* #Landed well */
30
+ ACCEPTED: 'success',
31
+ CAB_ARRIVED_AT_DROPOFF: 'success',
32
+ TRIP_ENDED: 'success',
33
+ COMPLETED: 'success',
34
+ ADJUSTMENT_COMPLETED: 'success',
35
+ CASHED_IN: 'success',
36
+ DONE: 'success',
37
+ SUCCESS: 'success',
38
+ ACTIVE: 'success',
39
+ /* #Landed badly */
40
+ CANCELLED: 'danger',
41
+ REJECTED: 'danger',
42
+ SUSPENDED: 'danger',
43
+ SICK: 'danger',
44
+ NO_SHOW: 'danger',
45
+ UNABLE_TO_COMPLETE: 'danger',
46
+ UNAVAILABLE: 'danger',
47
+ FAILED: 'danger',
48
+ EXPIRED: 'danger',
49
+ BLACKLISTED: 'danger',
50
+ };
51
+ const normaliseStatusEnum = (status) => status.replace(/([a-z])([A-Z])/g, '$1_$2').toUpperCase();
52
+ export const resolveStatusBadgeVariant = (status) => (status && STATUS_BADGE_VARIANTS[normaliseStatusEnum(status)]) || 'default';
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWJhZGdlLmNvbnN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2NvbnN0cy9zdGF0dXMtYmFkZ2UuY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUEyQztJQUMzRSxjQUFjO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsUUFBUSxFQUFFLFNBQVM7SUFFbkIseUJBQXlCO0lBQ3pCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLFlBQVksRUFBRSxTQUFTO0lBQ3ZCLE9BQU8sRUFBRSxTQUFTO0lBRWxCLGdCQUFnQjtJQUNoQixVQUFVLEVBQUUsTUFBTTtJQUNsQixxQkFBcUIsRUFBRSxNQUFNO0lBQzdCLG9DQUFvQyxFQUFFLE1BQU07SUFDNUMsWUFBWSxFQUFFLE1BQU07SUFDcEIsT0FBTyxFQUFFLE1BQU07SUFDZixXQUFXLEVBQUUsTUFBTTtJQUNuQixZQUFZLEVBQUUsTUFBTTtJQUNwQixXQUFXLEVBQUUsTUFBTTtJQUNuQixzQkFBc0IsRUFBRSxNQUFNO0lBQzlCLGtCQUFrQixFQUFFLE1BQU07SUFDMUIsVUFBVSxFQUFFLE1BQU07SUFDbEIsU0FBUyxFQUFFLE1BQU07SUFDakIsY0FBYyxFQUFFLE1BQU07SUFFdEIsa0JBQWtCO0lBQ2xCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLHNCQUFzQixFQUFFLFNBQVM7SUFDakMsVUFBVSxFQUFFLFNBQVM7SUFDckIsU0FBUyxFQUFFLFNBQVM7SUFDcEIsb0JBQW9CLEVBQUUsU0FBUztJQUMvQixTQUFTLEVBQUUsU0FBUztJQUNwQixJQUFJLEVBQUUsU0FBUztJQUNmLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE1BQU0sRUFBRSxTQUFTO0lBRWpCLG1CQUFtQjtJQUNuQixTQUFTLEVBQUUsUUFBUTtJQUNuQixRQUFRLEVBQUUsUUFBUTtJQUNsQixTQUFTLEVBQUUsUUFBUTtJQUNuQixJQUFJLEVBQUUsUUFBUTtJQUNkLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLGtCQUFrQixFQUFFLFFBQVE7SUFDNUIsV0FBVyxFQUFFLFFBQVE7SUFDckIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLFFBQVE7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFjLEVBQVUsRUFBRSxDQUNyRCxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQ3ZDLE1BQWlDLEVBQ25CLEVBQUUsQ0FDaEIsQ0FBQyxNQUFNLElBQUkscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhZGdlVmFyaWFudCB9IGZyb20gJy4vYmFkZ2UuY29uc3RzJztcclxuXHJcbmV4cG9ydCBjb25zdCBTVEFUVVNfQkFER0VfVkFSSUFOVFM6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIEJhZGdlVmFyaWFudD4+ID0ge1xyXG4gIC8qICNOZXV0cmFsICovXHJcbiAgUEVORElORzogJ2RlZmF1bHQnLFxyXG4gIERSQUZUOiAnZGVmYXVsdCcsXHJcbiAgQVJDSElWRUQ6ICdkZWZhdWx0JyxcclxuICBSRUNBTExFRDogJ2RlZmF1bHQnLFxyXG4gIElOSVRJQUxJWkVEOiAnZGVmYXVsdCcsXHJcbiAgSU5BQ1RJVkU6ICdkZWZhdWx0JyxcclxuXHJcbiAgLyogI0F3YWl0aW5nIHNvbWV0aGluZyAqL1xyXG4gIFJFU0VSVkVEOiAnd2FybmluZycsXHJcbiAgU0NIRURVTEVEOiAnd2FybmluZycsXHJcbiAgRU5ERUQ6ICd3YXJuaW5nJyxcclxuICBQRU5ESU5HX0RBVEE6ICd3YXJuaW5nJyxcclxuICBQQVJUSUFMOiAnd2FybmluZycsXHJcblxyXG4gIC8qICNVbmRlciB3YXkgKi9cclxuICBESVNQQVRDSEVEOiAnaW5mbycsXHJcbiAgQ0FCX0FSUklWRURfQVRfUElDS1VQOiAnaW5mbycsXHJcbiAgQ0FCX0FSUklWRURfQVRfSU5URVJNRURJQVJZX1dBWVBPSU5UOiAnaW5mbycsXHJcbiAgVFJJUF9TVEFSVEVEOiAnaW5mbycsXHJcbiAgU1RBUlRFRDogJ2luZm8nLFxyXG4gIERST1BQRURfT0ZGOiAnaW5mbycsXHJcbiAgVFJJUF9PTkdPSU5HOiAnaW5mbycsXHJcbiAgSU5fUFJPR1JFU1M6ICdpbmZvJyxcclxuICBJTl9QUk9HUkVTU19BREpVU1RNRU5UOiAnaW5mbycsXHJcbiAgSU5fUFJPR1JFU1NfUEFZT1VUOiAnaW5mbycsXHJcbiAgUFJPQ0VTU0lORzogJ2luZm8nLFxyXG4gIFBVQkxJU0hFRDogJ2luZm8nLFxyXG4gIFBFTkRJTkdfUkVWSUVXOiAnaW5mbycsXHJcblxyXG4gIC8qICNMYW5kZWQgd2VsbCAqL1xyXG4gIEFDQ0VQVEVEOiAnc3VjY2VzcycsXHJcbiAgQ0FCX0FSUklWRURfQVRfRFJPUE9GRjogJ3N1Y2Nlc3MnLFxyXG4gIFRSSVBfRU5ERUQ6ICdzdWNjZXNzJyxcclxuICBDT01QTEVURUQ6ICdzdWNjZXNzJyxcclxuICBBREpVU1RNRU5UX0NPTVBMRVRFRDogJ3N1Y2Nlc3MnLFxyXG4gIENBU0hFRF9JTjogJ3N1Y2Nlc3MnLFxyXG4gIERPTkU6ICdzdWNjZXNzJyxcclxuICBTVUNDRVNTOiAnc3VjY2VzcycsXHJcbiAgQUNUSVZFOiAnc3VjY2VzcycsXHJcblxyXG4gIC8qICNMYW5kZWQgYmFkbHkgKi9cclxuICBDQU5DRUxMRUQ6ICdkYW5nZXInLFxyXG4gIFJFSkVDVEVEOiAnZGFuZ2VyJyxcclxuICBTVVNQRU5ERUQ6ICdkYW5nZXInLFxyXG4gIFNJQ0s6ICdkYW5nZXInLFxyXG4gIE5PX1NIT1c6ICdkYW5nZXInLFxyXG4gIFVOQUJMRV9UT19DT01QTEVURTogJ2RhbmdlcicsXHJcbiAgVU5BVkFJTEFCTEU6ICdkYW5nZXInLFxyXG4gIEZBSUxFRDogJ2RhbmdlcicsXHJcbiAgRVhQSVJFRDogJ2RhbmdlcicsXHJcbiAgQkxBQ0tMSVNURUQ6ICdkYW5nZXInLFxyXG59O1xyXG5cclxuY29uc3Qgbm9ybWFsaXNlU3RhdHVzRW51bSA9IChzdGF0dXM6IHN0cmluZyk6IHN0cmluZyA9PlxyXG4gIHN0YXR1cy5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCAnJDFfJDInKS50b1VwcGVyQ2FzZSgpO1xyXG5cclxuZXhwb3J0IGNvbnN0IHJlc29sdmVTdGF0dXNCYWRnZVZhcmlhbnQgPSAoXHJcbiAgc3RhdHVzOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG4pOiBCYWRnZVZhcmlhbnQgPT5cclxuICAoc3RhdHVzICYmIFNUQVRVU19CQURHRV9WQVJJQU5UU1tub3JtYWxpc2VTdGF0dXNFbnVtKHN0YXR1cyldKSB8fCAnZGVmYXVsdCc7XHJcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class EcabsActionMenuTriggerDirective {
4
+ templateRef;
5
+ constructor(templateRef) {
6
+ this.templateRef = templateRef;
7
+ }
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsActionMenuTriggerDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsActionMenuTriggerDirective, selector: "[ecabsActionMenuTrigger]", ngImport: i0 });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsActionMenuTriggerDirective, decorators: [{
12
+ type: Directive,
13
+ args: [{
14
+ selector: '[ecabsActionMenuTrigger]',
15
+ }]
16
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLW1lbnUtdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvYmFzZS9kaXJlY3RpdmVzL2FjdGlvbi1tZW51LXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBS3ZELE1BQU0sT0FBTywrQkFBK0I7SUFDckI7SUFBckIsWUFBcUIsV0FBOEI7UUFBOUIsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO0lBQUcsQ0FBQzt3R0FENUMsK0JBQStCOzRGQUEvQiwrQkFBK0I7OzRGQUEvQiwrQkFBK0I7a0JBSDNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tlY2Fic0FjdGlvbk1lbnVUcmlnZ2VyXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0FjdGlvbk1lbnVUcmlnZ2VyRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihyZWFkb25seSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dm9pZD4pIHt9XHJcbn1cclxuIl19
@@ -0,0 +1,106 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { Directive, HostBinding, HostListener, Input, Optional, Self, } from '@angular/core';
3
+ import { CHIP_LABEL_CLASS, } from '../consts/badge.consts';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/menu";
6
+ import * as i2 from "@angular/material/chips";
7
+ import * as i3 from "./tooltip-if-truncated.directive";
8
+ export class EcabsBadgeDirective {
9
+ elementRef;
10
+ chip;
11
+ truncationTooltip;
12
+ variant = 'default';
13
+ size = 'medium';
14
+ set bordered(value) {
15
+ this.hasBorder = coerceBooleanProperty(value);
16
+ }
17
+ set disableRipple(value) {
18
+ this.rippleDisabled = coerceBooleanProperty(value);
19
+ this.syncChip();
20
+ }
21
+ set interactive(value) {
22
+ this.isInteractive = coerceBooleanProperty(value);
23
+ this.syncChip();
24
+ }
25
+ get badgeClasses() {
26
+ return [
27
+ 'badge',
28
+ `badge--${this.variant}`,
29
+ `badge--${this.size}`,
30
+ this.hasBorder && 'badge--bordered',
31
+ !!this.chip && this.noRipple && 'badge--no-ripple',
32
+ this.isInteractive && 'badge--interactive',
33
+ ]
34
+ .filter(Boolean)
35
+ .join(' ');
36
+ }
37
+ hasBorder = true;
38
+ rippleDisabled;
39
+ isInteractive = false;
40
+ get noRipple() {
41
+ return this.rippleDisabled ?? !this.isInteractive;
42
+ }
43
+ syncChip() {
44
+ if (!this.chip) {
45
+ return;
46
+ }
47
+ this.chip.role = this.isInteractive ? 'button' : null;
48
+ this.chip.disableRipple = this.noRipple;
49
+ if (this.isInteractive) {
50
+ this.chip.tabIndex = 0;
51
+ }
52
+ }
53
+ constructor(elementRef, menuTrigger, chip, truncationTooltip) {
54
+ this.elementRef = elementRef;
55
+ this.chip = chip;
56
+ this.truncationTooltip = truncationTooltip;
57
+ if (this.chip && this.truncationTooltip) {
58
+ this.truncationTooltip.classNameTruncatedTooltip = CHIP_LABEL_CLASS;
59
+ }
60
+ this.interactive = !!menuTrigger;
61
+ }
62
+ onKeydown(event) {
63
+ const element = this.elementRef.nativeElement;
64
+ if (!this.isInteractive ||
65
+ !this.chip ||
66
+ event.target !== element ||
67
+ (event.key !== 'Enter' && event.key !== ' ')) {
68
+ return;
69
+ }
70
+ event.preventDefault();
71
+ setTimeout(() => element.click());
72
+ }
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsBadgeDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatMenuTrigger, optional: true, self: true }, { token: i2.MatChip, optional: true }, { token: i3.EcabsTooltipIfTruncatedDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
74
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EcabsBadgeDirective, selector: "[ecabsBadge]", inputs: { variant: "variant", size: "size", bordered: "bordered", disableRipple: "disableRipple", interactive: "interactive" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class": "this.badgeClasses" } }, ngImport: i0 });
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsBadgeDirective, decorators: [{
77
+ type: Directive,
78
+ args: [{
79
+ selector: '[ecabsBadge]',
80
+ }]
81
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MatMenuTrigger, decorators: [{
82
+ type: Optional
83
+ }, {
84
+ type: Self
85
+ }] }, { type: i2.MatChip, decorators: [{
86
+ type: Optional
87
+ }] }, { type: i3.EcabsTooltipIfTruncatedDirective, decorators: [{
88
+ type: Optional
89
+ }] }]; }, propDecorators: { variant: [{
90
+ type: Input
91
+ }], size: [{
92
+ type: Input
93
+ }], bordered: [{
94
+ type: Input
95
+ }], disableRipple: [{
96
+ type: Input
97
+ }], interactive: [{
98
+ type: Input
99
+ }], badgeClasses: [{
100
+ type: HostBinding,
101
+ args: ['class']
102
+ }], onKeydown: [{
103
+ type: HostListener,
104
+ args: ['keydown', ['$event']]
105
+ }] } });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvZGlyZWN0aXZlcy9iYWRnZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUNMLFNBQVMsRUFFVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFHTCxnQkFBZ0IsR0FDakIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFNaEMsTUFBTSxPQUFPLG1CQUFtQjtJQTREWDtJQUVZO0lBRVo7SUE5RG5CLE9BQU8sR0FBaUIsU0FBUyxDQUFDO0lBR2xDLElBQUksR0FBYyxRQUFRLENBQUM7SUFFM0IsSUFDSSxRQUFRLENBQUMsS0FBdUI7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFDSSxhQUFhLENBQUMsS0FBdUI7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQ0ksV0FBVyxDQUFDLEtBQXVCO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUNJLFlBQVk7UUFDZCxPQUFPO1lBQ0wsT0FBTztZQUNQLFVBQVUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN4QixVQUFVLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDckIsSUFBSSxDQUFDLFNBQVMsSUFBSSxpQkFBaUI7WUFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxrQkFBa0I7WUFDbEQsSUFBSSxDQUFDLGFBQWEsSUFBSSxvQkFBb0I7U0FDM0M7YUFDRSxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDakIsY0FBYyxDQUFXO0lBQ3pCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFOUIsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDcEQsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFeEMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxZQUNtQixVQUFtQyxFQUNoQyxXQUE0QixFQUNuQixJQUFjLEVBRTFCLGlCQUFvRDtRQUpwRCxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUV2QixTQUFJLEdBQUosSUFBSSxDQUFVO1FBRTFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUM7UUFFckUsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN2QyxJQUFJLENBQUMsaUJBQWlCLENBQUMseUJBQXlCLEdBQUcsZ0JBQWdCLENBQUM7U0FDckU7UUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDbkMsQ0FBQztJQUdELFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUU5QyxJQUNFLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFDbkIsQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUNWLEtBQUssQ0FBQyxNQUFNLEtBQUssT0FBTztZQUN4QixDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQzVDO1lBQ0EsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO3dHQXhGVSxtQkFBbUI7NEZBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7OzBCQThESSxRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBQ1IsUUFBUTs0Q0E3RFgsT0FBTztzQkFETixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJRixRQUFRO3NCQURYLEtBQUs7Z0JBTUYsYUFBYTtzQkFEaEIsS0FBSztnQkFPRixXQUFXO3NCQURkLEtBQUs7Z0JBT0YsWUFBWTtzQkFEZixXQUFXO3VCQUFDLE9BQU87Z0JBa0RwQixTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2VsZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0Q2hpcCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHtcclxuICBCYWRnZVNpemUsXHJcbiAgQmFkZ2VWYXJpYW50LFxyXG4gIENISVBfTEFCRUxfQ0xBU1MsXHJcbn0gZnJvbSAnLi4vY29uc3RzL2JhZGdlLmNvbnN0cyc7XHJcbmltcG9ydCB7IEVjYWJzVG9vbHRpcElmVHJ1bmNhdGVkRGlyZWN0aXZlIH0gZnJvbSAnLi90b29sdGlwLWlmLXRydW5jYXRlZC5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZWNhYnNCYWRnZV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNCYWRnZURpcmVjdGl2ZSB7XHJcbiAgQElucHV0KClcclxuICB2YXJpYW50OiBCYWRnZVZhcmlhbnQgPSAnZGVmYXVsdCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQmFkZ2VTaXplID0gJ21lZGl1bSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGJvcmRlcmVkKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSB7XHJcbiAgICB0aGlzLmhhc0JvcmRlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBkaXNhYmxlUmlwcGxlKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJpcHBsZURpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIHRoaXMuc3luY0NoaXAoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGludGVyYWN0aXZlKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSB7XHJcbiAgICB0aGlzLmlzSW50ZXJhY3RpdmUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgdGhpcy5zeW5jQ2hpcCgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgZ2V0IGJhZGdlQ2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJ2JhZGdlJyxcclxuICAgICAgYGJhZGdlLS0ke3RoaXMudmFyaWFudH1gLFxyXG4gICAgICBgYmFkZ2UtLSR7dGhpcy5zaXplfWAsXHJcbiAgICAgIHRoaXMuaGFzQm9yZGVyICYmICdiYWRnZS0tYm9yZGVyZWQnLFxyXG4gICAgICAhIXRoaXMuY2hpcCAmJiB0aGlzLm5vUmlwcGxlICYmICdiYWRnZS0tbm8tcmlwcGxlJyxcclxuICAgICAgdGhpcy5pc0ludGVyYWN0aXZlICYmICdiYWRnZS0taW50ZXJhY3RpdmUnLFxyXG4gICAgXVxyXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXHJcbiAgICAgIC5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhc0JvcmRlciA9IHRydWU7XHJcbiAgcHJpdmF0ZSByaXBwbGVEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBpc0ludGVyYWN0aXZlID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgZ2V0IG5vUmlwcGxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucmlwcGxlRGlzYWJsZWQgPz8gIXRoaXMuaXNJbnRlcmFjdGl2ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3luY0NoaXAoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY2hpcCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGlwLnJvbGUgPSB0aGlzLmlzSW50ZXJhY3RpdmUgPyAnYnV0dG9uJyA6IG51bGw7XHJcbiAgICB0aGlzLmNoaXAuZGlzYWJsZVJpcHBsZSA9IHRoaXMubm9SaXBwbGU7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNJbnRlcmFjdGl2ZSkge1xyXG4gICAgICB0aGlzLmNoaXAudGFiSW5kZXggPSAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBtZW51VHJpZ2dlcj86IE1hdE1lbnVUcmlnZ2VyLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBjaGlwPzogTWF0Q2hpcCxcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRydW5jYXRpb25Ub29sdGlwPzogRWNhYnNUb29sdGlwSWZUcnVuY2F0ZWREaXJlY3RpdmUsXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5jaGlwICYmIHRoaXMudHJ1bmNhdGlvblRvb2x0aXApIHtcclxuICAgICAgdGhpcy50cnVuY2F0aW9uVG9vbHRpcC5jbGFzc05hbWVUcnVuY2F0ZWRUb29sdGlwID0gQ0hJUF9MQUJFTF9DTEFTUztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmludGVyYWN0aXZlID0gISFtZW51VHJpZ2dlcjtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIGlmIChcclxuICAgICAgIXRoaXMuaXNJbnRlcmFjdGl2ZSB8fFxyXG4gICAgICAhdGhpcy5jaGlwIHx8XHJcbiAgICAgIGV2ZW50LnRhcmdldCAhPT0gZWxlbWVudCB8fFxyXG4gICAgICAoZXZlbnQua2V5ICE9PSAnRW50ZXInICYmIGV2ZW50LmtleSAhPT0gJyAnKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiBlbGVtZW50LmNsaWNrKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { EcabsBadgeDirective } from './badge.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class EcabsBadgeDirectiveModule {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsBadgeDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsBadgeDirectiveModule, declarations: [EcabsBadgeDirective], imports: [CommonModule], exports: [EcabsBadgeDirective] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsBadgeDirectiveModule, imports: [CommonModule] });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsBadgeDirectiveModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [CommonModule],
14
+ declarations: [EcabsBadgeDirective],
15
+ exports: [EcabsBadgeDirective],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuZGlyZWN0aXZlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvYmFkZ2UuZGlyZWN0aXZlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPeEQsTUFBTSxPQUFPLHlCQUF5Qjt3R0FBekIseUJBQXlCO3lHQUF6Qix5QkFBeUIsaUJBSHJCLG1CQUFtQixhQUR4QixZQUFZLGFBRVosbUJBQW1CO3lHQUVsQix5QkFBeUIsWUFKMUIsWUFBWTs7NEZBSVgseUJBQXlCO2tCQUxyQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVjYWJzQmFkZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2JhZGdlLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGRlY2xhcmF0aW9uczogW0VjYWJzQmFkZ2VEaXJlY3RpdmVdLFxyXG4gIGV4cG9ydHM6IFtFY2Fic0JhZGdlRGlyZWN0aXZlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzQmFkZ2VEaXJlY3RpdmVNb2R1bGUge31cclxuIl19
@@ -1,18 +1,19 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
+ import { MatTooltipModule } from '@angular/material/tooltip';
3
4
  import { EcabsTooltipIfTruncatedDirective } from './tooltip-if-truncated.directive';
4
5
  import * as i0 from "@angular/core";
5
6
  export class EcabsTooltipIfTruncatedDirectiveModule {
6
7
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTooltipIfTruncatedDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsTooltipIfTruncatedDirectiveModule, declarations: [EcabsTooltipIfTruncatedDirective], imports: [CommonModule], exports: [EcabsTooltipIfTruncatedDirective] });
8
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTooltipIfTruncatedDirectiveModule, imports: [CommonModule] });
8
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsTooltipIfTruncatedDirectiveModule, declarations: [EcabsTooltipIfTruncatedDirective], imports: [CommonModule, MatTooltipModule], exports: [EcabsTooltipIfTruncatedDirective, MatTooltipModule] });
9
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTooltipIfTruncatedDirectiveModule, imports: [CommonModule, MatTooltipModule, MatTooltipModule] });
9
10
  }
10
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTooltipIfTruncatedDirectiveModule, decorators: [{
11
12
  type: NgModule,
12
13
  args: [{
13
- imports: [CommonModule],
14
+ imports: [CommonModule, MatTooltipModule],
14
15
  declarations: [EcabsTooltipIfTruncatedDirective],
15
- exports: [EcabsTooltipIfTruncatedDirective],
16
+ exports: [EcabsTooltipIfTruncatedDirective, MatTooltipModule],
16
17
  }]
17
18
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1pZi10cnVuY2F0ZWQuZGlyZWN0aXZlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvdG9vbHRpcC1pZi10cnVuY2F0ZWQuZGlyZWN0aXZlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFPcEYsTUFBTSxPQUFPLHNDQUFzQzt3R0FBdEMsc0NBQXNDO3lHQUF0QyxzQ0FBc0MsaUJBSGxDLGdDQUFnQyxhQURyQyxZQUFZLGFBRVosZ0NBQWdDO3lHQUUvQixzQ0FBc0MsWUFKdkMsWUFBWTs7NEZBSVgsc0NBQXNDO2tCQUxsRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsZ0NBQWdDLENBQUM7b0JBQ2hELE9BQU8sRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2lCQUM1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVjYWJzVG9vbHRpcElmVHJ1bmNhdGVkRGlyZWN0aXZlIH0gZnJvbSAnLi90b29sdGlwLWlmLXRydW5jYXRlZC5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBkZWNsYXJhdGlvbnM6IFtFY2Fic1Rvb2x0aXBJZlRydW5jYXRlZERpcmVjdGl2ZV0sXHJcbiAgZXhwb3J0czogW0VjYWJzVG9vbHRpcElmVHJ1bmNhdGVkRGlyZWN0aXZlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzVG9vbHRpcElmVHJ1bmNhdGVkRGlyZWN0aXZlTW9kdWxlIHt9XHJcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1pZi10cnVuY2F0ZWQuZGlyZWN0aXZlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL2RpcmVjdGl2ZXMvdG9vbHRpcC1pZi10cnVuY2F0ZWQuZGlyZWN0aXZlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFPcEYsTUFBTSxPQUFPLHNDQUFzQzt3R0FBdEMsc0NBQXNDO3lHQUF0QyxzQ0FBc0MsaUJBSGxDLGdDQUFnQyxhQURyQyxZQUFZLEVBQUUsZ0JBQWdCLGFBRTlCLGdDQUFnQyxFQUFFLGdCQUFnQjt5R0FFakQsc0NBQXNDLFlBSnZDLFlBQVksRUFBRSxnQkFBZ0IsRUFFSSxnQkFBZ0I7OzRGQUVqRCxzQ0FBc0M7a0JBTGxELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO29CQUN6QyxZQUFZLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztvQkFDaEQsT0FBTyxFQUFFLENBQUMsZ0NBQWdDLEVBQUUsZ0JBQWdCLENBQUM7aUJBQzlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBFY2Fic1Rvb2x0aXBJZlRydW5jYXRlZERpcmVjdGl2ZSB9IGZyb20gJy4vdG9vbHRpcC1pZi10cnVuY2F0ZWQuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZV0sXHJcbiAgZGVjbGFyYXRpb25zOiBbRWNhYnNUb29sdGlwSWZUcnVuY2F0ZWREaXJlY3RpdmVdLFxyXG4gIGV4cG9ydHM6IFtFY2Fic1Rvb2x0aXBJZlRydW5jYXRlZERpcmVjdGl2ZSwgTWF0VG9vbHRpcE1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1Rvb2x0aXBJZlRydW5jYXRlZERpcmVjdGl2ZU1vZHVsZSB7fVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLW1lbnUubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvbW9kZWxzL2FjdGlvbi1tZW51Lm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGhvc3Bob3JJY29uV2VpZ2h0IH0gZnJvbSAnLi4vY29uc3RzL2ljb24uY29uc3RzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uTWVudUl0ZW0ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBpY29uV2VpZ2h0PzogUGhvc3Bob3JJY29uV2VpZ2h0O1xyXG4gIGlzRGVzdHJ1Y3RpdmU/OiBib29sZWFuO1xyXG4gIGFjdGlvbjogKCkgPT4gdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25NZW51RW50cnkge1xyXG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcclxuICBpdGVtOiBBY3Rpb25NZW51SXRlbTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQWN0aW9uTWVudUdyb3VwID0gQWN0aW9uTWVudUl0ZW1bXTtcclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL21vZGVscy9zZWxlY3QubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBQaG9zcGhvckljb25XZWlnaHQgPVxyXG4gIHwgJ3JlZ3VsYXInXHJcbiAgfCAnYm9sZCdcclxuICB8ICdmaWxsJ1xyXG4gIHwgJ2xpZ2h0J1xyXG4gIHwgJ3RoaW4nXHJcbiAgfCAnZHVvdG9uZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdE9wdGlvbjxUID0gdW5rbm93bj4ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgdmFsdWU6IFQ7XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIHNlbGVjdEFsbElkZW50aWZpZXI/OiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgcGhvc3Bob3JJY29uPzogc3RyaW5nO1xyXG4gIHBob3NwaG9yV2VpZ2h0PzogUGhvc3Bob3JJY29uV2VpZ2h0O1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL21vZGVscy9zZWxlY3QubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaG9zcGhvckljb25XZWlnaHQgfSBmcm9tICcuLi9jb25zdHMvaWNvbi5jb25zdHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RPcHRpb248VCA9IHVua25vd24+IHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHZhbHVlOiBUO1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICBzZWxlY3RBbGxJZGVudGlmaWVyPzogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIHBob3NwaG9ySWNvbj86IHN0cmluZztcclxuICBwaG9zcGhvcldlaWdodD86IFBob3NwaG9ySWNvbldlaWdodDtcclxufVxyXG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { resolveStatusBadgeVariant } from '../consts/status-badge.consts';
3
+ import * as i0 from "@angular/core";
4
+ export class EcabsStatusBadgeVariantPipe {
5
+ transform(status) {
6
+ return resolveStatusBadgeVariant(status);
7
+ }
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsStatusBadgeVariantPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsStatusBadgeVariantPipe, name: "statusBadgeVariant" });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsStatusBadgeVariantPipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ name: 'statusBadgeVariant',
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWJhZGdlLXZhcmlhbnQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL3BpcGVzL3N0YXR1cy1iYWRnZS12YXJpYW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBSzFFLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsU0FBUyxDQUFDLE1BQWlDO1FBQ3pDLE9BQU8seUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQzt3R0FIVSwyQkFBMkI7c0dBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFIdkMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsb0JBQW9CO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFkZ2VWYXJpYW50IH0gZnJvbSAnLi4vY29uc3RzL2JhZGdlLmNvbnN0cyc7XHJcbmltcG9ydCB7IHJlc29sdmVTdGF0dXNCYWRnZVZhcmlhbnQgfSBmcm9tICcuLi9jb25zdHMvc3RhdHVzLWJhZGdlLmNvbnN0cyc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3N0YXR1c0JhZGdlVmFyaWFudCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1N0YXR1c0JhZGdlVmFyaWFudFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oc3RhdHVzOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogQmFkZ2VWYXJpYW50IHtcclxuICAgIHJldHVybiByZXNvbHZlU3RhdHVzQmFkZ2VWYXJpYW50KHN0YXR1cyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export function buildPhosphorSvgIcon(name, weight) {
2
+ return name ? `ph-${weight ?? 'regular'}:${name}` : '';
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9iYXNlL3V0aWxzL2ljb24udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxJQUErQixFQUMvQixNQUFrQztJQUVsQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBob3NwaG9ySWNvbldlaWdodCB9IGZyb20gJy4uL2NvbnN0cy9pY29uLmNvbnN0cyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQaG9zcGhvclN2Z0ljb24oXHJcbiAgbmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCxcclxuICB3ZWlnaHQ/OiBQaG9zcGhvckljb25XZWlnaHQgfCBudWxsLFxyXG4pOiBzdHJpbmcge1xyXG4gIHJldHVybiBuYW1lID8gYHBoLSR7d2VpZ2h0ID8/ICdyZWd1bGFyJ306JHtuYW1lfWAgOiAnJztcclxufVxyXG4iXX0=
@@ -1,6 +1,5 @@
1
+ import { buildPhosphorSvgIcon } from './icon.utils';
1
2
  export function getPhosphorSvgIcon(option) {
2
- return option?.phosphorIcon
3
- ? `ph-${option.phosphorWeight ?? 'regular'}:${option.phosphorIcon}`
4
- : '';
3
+ return buildPhosphorSvgIcon(option?.phosphorIcon, option?.phosphorWeight);
5
4
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvdXRpbHMvc2VsZWN0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxNQUFnQztJQUNqRSxPQUFPLE1BQU0sRUFBRSxZQUFZO1FBQ3pCLENBQUMsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxjQUFjLElBQUksU0FBUyxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7UUFDbkUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNULENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvc2VsZWN0Lm1vZGVscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGhvc3Bob3JTdmdJY29uKG9wdGlvbjogU2VsZWN0T3B0aW9uIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICByZXR1cm4gb3B0aW9uPy5waG9zcGhvckljb25cclxuICAgID8gYHBoLSR7b3B0aW9uLnBob3NwaG9yV2VpZ2h0ID8/ICdyZWd1bGFyJ306JHtvcHRpb24ucGhvc3Bob3JJY29ufWBcclxuICAgIDogJyc7XHJcbn1cclxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvdXRpbHMvc2VsZWN0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBZ0M7SUFDakUsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztBQUM1RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3NlbGVjdC5tb2RlbHMnO1xyXG5pbXBvcnQgeyBidWlsZFBob3NwaG9yU3ZnSWNvbiB9IGZyb20gJy4vaWNvbi51dGlscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGhvc3Bob3JTdmdJY29uKG9wdGlvbjogU2VsZWN0T3B0aW9uIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICByZXR1cm4gYnVpbGRQaG9zcGhvclN2Z0ljb24ob3B0aW9uPy5waG9zcGhvckljb24sIG9wdGlvbj8ucGhvc3Bob3JXZWlnaHQpO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,79 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChild, Input, ViewChild, } from '@angular/core';
2
+ import { MatMenu, MatMenuTrigger } from '@angular/material/menu';
3
+ import { EcabsActionMenuTriggerDirective } from '../base/directives/action-menu-trigger.directive';
4
+ import { buildPhosphorSvgIcon } from '../base/utils/icon.utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/material/button";
8
+ import * as i3 from "@angular/material/divider";
9
+ import * as i4 from "@angular/material/icon";
10
+ import * as i5 from "@angular/material/menu";
11
+ export class EcabsActionMenuComponent {
12
+ groups = [];
13
+ triggerIcon = 'dots-three-vertical';
14
+ triggerIconWeight = 'bold';
15
+ triggerAriaLabel;
16
+ xPosition = 'before';
17
+ menuClass = '';
18
+ triggerFocusable = true;
19
+ showTrigger = true;
20
+ customTrigger;
21
+ menu;
22
+ menuTrigger;
23
+ get panelClass() {
24
+ return this.menuClass
25
+ ? `action-menu-panel ${this.menuClass}`
26
+ : 'action-menu-panel';
27
+ }
28
+ get triggerSvgIcon() {
29
+ return buildPhosphorSvgIcon(this.triggerIcon, this.triggerIconWeight);
30
+ }
31
+ itemSvgIcon(item) {
32
+ return buildPhosphorSvgIcon(item.icon, item.iconWeight);
33
+ }
34
+ triggerKeydown(event) {
35
+ if (!this.triggerFocusable || event.target !== event.currentTarget) {
36
+ return;
37
+ }
38
+ event.preventDefault();
39
+ this.menuTrigger?.openMenu();
40
+ }
41
+ trackByGroup(index) {
42
+ return index;
43
+ }
44
+ trackByItem(_, item) {
45
+ return item.label;
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsActionMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsActionMenuComponent, selector: "ecabs-action-menu", inputs: { groups: "groups", triggerIcon: "triggerIcon", triggerIconWeight: "triggerIconWeight", triggerAriaLabel: "triggerAriaLabel", xPosition: "xPosition", menuClass: "menuClass", triggerFocusable: "triggerFocusable", showTrigger: "showTrigger" }, queries: [{ propertyName: "customTrigger", first: true, predicate: EcabsActionMenuTriggerDirective, descendants: true }], viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenu, descendants: true, static: true }, { propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"showTrigger && groups.length\">\r\n <span *ngIf=\"customTrigger; else defaultTrigger\"\r\n class=\"action-menu__trigger\"\r\n [attr.tabindex]=\"triggerFocusable ? 0 : -1\"\r\n [attr.role]=\"triggerFocusable ? 'button' : null\"\r\n [matMenuTriggerFor]=\"menu\"\r\n (keydown.enter)=\"triggerKeydown($event)\"\r\n (keydown.space)=\"triggerKeydown($event)\">\r\n <ng-container *ngTemplateOutlet=\"customTrigger.templateRef\"></ng-container>\r\n </span>\r\n\r\n <ng-template #defaultTrigger>\r\n <button mat-icon-button\r\n type=\"button\"\r\n [attr.aria-label]=\"triggerAriaLabel || null\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon class=\"action-menu__trigger-icon\"\r\n [svgIcon]=\"triggerSvgIcon\"\r\n aria-hidden=\"true\">\r\n </mat-icon>\r\n </button>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<mat-menu #menu=\"matMenu\"\r\n [class]=\"panelClass\"\r\n [xPosition]=\"xPosition\">\r\n <ng-container *ngFor=\"let group of groups; let isFirst = first; trackBy: trackByGroup\">\r\n <mat-divider *ngIf=\"!isFirst\"></mat-divider>\r\n <button *ngFor=\"let item of group; trackBy: trackByItem\"\r\n mat-menu-item\r\n type=\"button\"\r\n class=\"action-menu-item\"\r\n [class.action-menu-item--destructive]=\"item.isDestructive\"\r\n (click)=\"item.action()\">\r\n <mat-icon *ngIf=\"item.icon\"\r\n class=\"action-menu-item__icon\"\r\n [svgIcon]=\"itemSvgIcon(item)\"\r\n aria-hidden=\"true\">\r\n </mat-icon>\r\n <span class=\"action-menu-item__label\">{{ item.label }}</span>\r\n </button>\r\n </ng-container>\r\n</mat-menu>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsActionMenuComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: 'ecabs-action-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"showTrigger && groups.length\">\r\n <span *ngIf=\"customTrigger; else defaultTrigger\"\r\n class=\"action-menu__trigger\"\r\n [attr.tabindex]=\"triggerFocusable ? 0 : -1\"\r\n [attr.role]=\"triggerFocusable ? 'button' : null\"\r\n [matMenuTriggerFor]=\"menu\"\r\n (keydown.enter)=\"triggerKeydown($event)\"\r\n (keydown.space)=\"triggerKeydown($event)\">\r\n <ng-container *ngTemplateOutlet=\"customTrigger.templateRef\"></ng-container>\r\n </span>\r\n\r\n <ng-template #defaultTrigger>\r\n <button mat-icon-button\r\n type=\"button\"\r\n [attr.aria-label]=\"triggerAriaLabel || null\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon class=\"action-menu__trigger-icon\"\r\n [svgIcon]=\"triggerSvgIcon\"\r\n aria-hidden=\"true\">\r\n </mat-icon>\r\n </button>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<mat-menu #menu=\"matMenu\"\r\n [class]=\"panelClass\"\r\n [xPosition]=\"xPosition\">\r\n <ng-container *ngFor=\"let group of groups; let isFirst = first; trackBy: trackByGroup\">\r\n <mat-divider *ngIf=\"!isFirst\"></mat-divider>\r\n <button *ngFor=\"let item of group; trackBy: trackByItem\"\r\n mat-menu-item\r\n type=\"button\"\r\n class=\"action-menu-item\"\r\n [class.action-menu-item--destructive]=\"item.isDestructive\"\r\n (click)=\"item.action()\">\r\n <mat-icon *ngIf=\"item.icon\"\r\n class=\"action-menu-item__icon\"\r\n [svgIcon]=\"itemSvgIcon(item)\"\r\n aria-hidden=\"true\">\r\n </mat-icon>\r\n <span class=\"action-menu-item__label\">{{ item.label }}</span>\r\n </button>\r\n </ng-container>\r\n</mat-menu>\r\n" }]
53
+ }], propDecorators: { groups: [{
54
+ type: Input
55
+ }], triggerIcon: [{
56
+ type: Input
57
+ }], triggerIconWeight: [{
58
+ type: Input
59
+ }], triggerAriaLabel: [{
60
+ type: Input
61
+ }], xPosition: [{
62
+ type: Input
63
+ }], menuClass: [{
64
+ type: Input
65
+ }], triggerFocusable: [{
66
+ type: Input
67
+ }], showTrigger: [{
68
+ type: Input
69
+ }], customTrigger: [{
70
+ type: ContentChild,
71
+ args: [EcabsActionMenuTriggerDirective]
72
+ }], menu: [{
73
+ type: ViewChild,
74
+ args: [MatMenu, { static: true }]
75
+ }], menuTrigger: [{
76
+ type: ViewChild,
77
+ args: [MatMenuTrigger]
78
+ }] } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtYWN0aW9uLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWFjdGlvbi1tZW51L2VjYWJzLWFjdGlvbi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1hY3Rpb24tbWVudS9lY2Ficy1hY3Rpb24tbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUdoRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUtuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQVFoRSxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLE1BQU0sR0FBc0IsRUFBRSxDQUFDO0lBRy9CLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztJQUdwQyxpQkFBaUIsR0FBdUIsTUFBTSxDQUFDO0lBRy9DLGdCQUFnQixDQUFVO0lBRzFCLFNBQVMsR0FBa0IsUUFBUSxDQUFDO0lBR3BDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFHZixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFHeEIsV0FBVyxHQUFHLElBQUksQ0FBQztJQUdWLGFBQWEsQ0FBbUM7SUFHaEQsSUFBSSxDQUFVO0lBR04sV0FBVyxDQUFrQjtJQUU5QyxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTO1lBQ25CLENBQUMsQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2QyxDQUFDLENBQUMsbUJBQW1CLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFvQjtRQUM5QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBWTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUNsRSxPQUFPO1NBQ1I7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsV0FBVyxDQUFDLENBQVMsRUFBRSxJQUFvQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzt3R0EvRFUsd0JBQXdCOzRGQUF4Qix3QkFBd0IsOFZBeUJyQiwrQkFBK0Isc0ZBR2xDLE9BQU8sNEZBR1AsY0FBYyxnREN0RDNCLG95REE0Q0E7OzRGRHJCYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OEJBSS9DLE1BQU07c0JBREwsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlHLGFBQWE7c0JBRHJCLFlBQVk7dUJBQUMsK0JBQStCO2dCQUlwQyxJQUFJO3NCQURaLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJbkIsV0FBVztzQkFEM0IsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudVRyaWdnZXIsIE1lbnVQb3NpdGlvblggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuXHJcbmltcG9ydCB7IFBob3NwaG9ySWNvbldlaWdodCB9IGZyb20gJy4uL2Jhc2UvY29uc3RzL2ljb24uY29uc3RzJztcclxuaW1wb3J0IHsgRWNhYnNBY3Rpb25NZW51VHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2Jhc2UvZGlyZWN0aXZlcy9hY3Rpb24tbWVudS10cmlnZ2VyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7XHJcbiAgQWN0aW9uTWVudUdyb3VwLFxyXG4gIEFjdGlvbk1lbnVJdGVtLFxyXG59IGZyb20gJy4uL2Jhc2UvbW9kZWxzL2FjdGlvbi1tZW51Lm1vZGVscyc7XHJcbmltcG9ydCB7IGJ1aWxkUGhvc3Bob3JTdmdJY29uIH0gZnJvbSAnLi4vYmFzZS91dGlscy9pY29uLnV0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtYWN0aW9uLW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1hY3Rpb24tbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWNhYnMtYWN0aW9uLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzQWN0aW9uTWVudUNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBncm91cHM6IEFjdGlvbk1lbnVHcm91cFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHJpZ2dlckljb24gPSAnZG90cy10aHJlZS12ZXJ0aWNhbCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdHJpZ2dlckljb25XZWlnaHQ6IFBob3NwaG9ySWNvbldlaWdodCA9ICdib2xkJztcclxuXHJcbiAgQElucHV0KClcclxuICB0cmlnZ2VyQXJpYUxhYmVsPzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHhQb3NpdGlvbjogTWVudVBvc2l0aW9uWCA9ICdiZWZvcmUnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1lbnVDbGFzcyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRyaWdnZXJGb2N1c2FibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dUcmlnZ2VyID0gdHJ1ZTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChFY2Fic0FjdGlvbk1lbnVUcmlnZ2VyRGlyZWN0aXZlKVxyXG4gIHJlYWRvbmx5IGN1c3RvbVRyaWdnZXI/OiBFY2Fic0FjdGlvbk1lbnVUcmlnZ2VyRGlyZWN0aXZlO1xyXG5cclxuICBAVmlld0NoaWxkKE1hdE1lbnUsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcmVhZG9ubHkgbWVudTogTWF0TWVudTtcclxuXHJcbiAgQFZpZXdDaGlsZChNYXRNZW51VHJpZ2dlcilcclxuICBwcml2YXRlIHJlYWRvbmx5IG1lbnVUcmlnZ2VyPzogTWF0TWVudVRyaWdnZXI7XHJcblxyXG4gIGdldCBwYW5lbENsYXNzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5tZW51Q2xhc3NcclxuICAgICAgPyBgYWN0aW9uLW1lbnUtcGFuZWwgJHt0aGlzLm1lbnVDbGFzc31gXHJcbiAgICAgIDogJ2FjdGlvbi1tZW51LXBhbmVsJztcclxuICB9XHJcblxyXG4gIGdldCB0cmlnZ2VyU3ZnSWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGJ1aWxkUGhvc3Bob3JTdmdJY29uKHRoaXMudHJpZ2dlckljb24sIHRoaXMudHJpZ2dlckljb25XZWlnaHQpO1xyXG4gIH1cclxuXHJcbiAgaXRlbVN2Z0ljb24oaXRlbTogQWN0aW9uTWVudUl0ZW0pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGJ1aWxkUGhvc3Bob3JTdmdJY29uKGl0ZW0uaWNvbiwgaXRlbS5pY29uV2VpZ2h0KTtcclxuICB9XHJcblxyXG4gIHRyaWdnZXJLZXlkb3duKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRyaWdnZXJGb2N1c2FibGUgfHwgZXZlbnQudGFyZ2V0ICE9PSBldmVudC5jdXJyZW50VGFyZ2V0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5tZW51VHJpZ2dlcj8ub3Blbk1lbnUoKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlHcm91cChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlJdGVtKF86IG51bWJlciwgaXRlbTogQWN0aW9uTWVudUl0ZW0pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW0ubGFiZWw7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VHJpZ2dlciAmJiBncm91cHMubGVuZ3RoXCI+XHJcbiAgPHNwYW4gKm5nSWY9XCJjdXN0b21UcmlnZ2VyOyBlbHNlIGRlZmF1bHRUcmlnZ2VyXCJcclxuICAgICAgICBjbGFzcz1cImFjdGlvbi1tZW51X190cmlnZ2VyXCJcclxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0cmlnZ2VyRm9jdXNhYmxlID8gMCA6IC0xXCJcclxuICAgICAgICBbYXR0ci5yb2xlXT1cInRyaWdnZXJGb2N1c2FibGUgPyAnYnV0dG9uJyA6IG51bGxcIlxyXG4gICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcclxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJ0cmlnZ2VyS2V5ZG93bigkZXZlbnQpXCJcclxuICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJ0cmlnZ2VyS2V5ZG93bigkZXZlbnQpXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tVHJpZ2dlci50ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VHJpZ2dlcj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRyaWdnZXJBcmlhTGFiZWwgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFjdGlvbi1tZW51X190cmlnZ2VyLWljb25cIlxyXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwidHJpZ2dlclN2Z0ljb25cIlxyXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cInBhbmVsQ2xhc3NcIlxyXG4gICAgICAgICAgW3hQb3NpdGlvbl09XCJ4UG9zaXRpb25cIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBncm91cCBvZiBncm91cHM7IGxldCBpc0ZpcnN0ID0gZmlyc3Q7IHRyYWNrQnk6IHRyYWNrQnlHcm91cFwiPlxyXG4gICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiIWlzRmlyc3RcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cDsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIlxyXG4gICAgICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICBbY2xhc3MuYWN0aW9uLW1lbnUtaXRlbS0tZGVzdHJ1Y3RpdmVdPVwiaXRlbS5pc0Rlc3RydWN0aXZlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW0uYWN0aW9uKClcIj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaXRlbS5pY29uXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLW1lbnUtaXRlbV9faWNvblwiXHJcbiAgICAgICAgICAgICAgICBbc3ZnSWNvbl09XCJpdGVtU3ZnSWNvbihpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb24tbWVudS1pdGVtX19sYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9tYXQtbWVudT5cclxuIl19
@@ -0,0 +1,37 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatDividerModule } from '@angular/material/divider';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { MatMenuModule } from '@angular/material/menu';
7
+ import { EcabsActionMenuTriggerDirective } from '../base/directives/action-menu-trigger.directive';
8
+ import { EcabsActionMenuComponent } from './ecabs-action-menu.component';
9
+ import * as i0 from "@angular/core";
10
+ export class EcabsActionMenuModule {
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsActionMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsActionMenuModule, declarations: [EcabsActionMenuComponent, EcabsActionMenuTriggerDirective], imports: [CommonModule,
13
+ MatButtonModule,
14
+ MatDividerModule,
15
+ MatIconModule,
16
+ MatMenuModule], exports: [EcabsActionMenuComponent, EcabsActionMenuTriggerDirective] });
17
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsActionMenuModule, imports: [CommonModule,
18
+ MatButtonModule,
19
+ MatDividerModule,
20
+ MatIconModule,
21
+ MatMenuModule] });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsActionMenuModule, decorators: [{
24
+ type: NgModule,
25
+ args: [{
26
+ declarations: [EcabsActionMenuComponent, EcabsActionMenuTriggerDirective],
27
+ imports: [
28
+ CommonModule,
29
+ MatButtonModule,
30
+ MatDividerModule,
31
+ MatIconModule,
32
+ MatMenuModule,
33
+ ],
34
+ exports: [EcabsActionMenuComponent, EcabsActionMenuTriggerDirective],
35
+ }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtYWN0aW9uLW1lbnUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWFjdGlvbi1tZW51L2VjYWJzLWFjdGlvbi1tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFhekUsTUFBTSxPQUFPLHFCQUFxQjt3R0FBckIscUJBQXFCO3lHQUFyQixxQkFBcUIsaUJBVmpCLHdCQUF3QixFQUFFLCtCQUErQixhQUV0RSxZQUFZO1lBQ1osZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsYUFBYSxhQUVMLHdCQUF3QixFQUFFLCtCQUErQjt5R0FFeEQscUJBQXFCLFlBUjlCLFlBQVk7WUFDWixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixhQUFhOzs0RkFJSixxQkFBcUI7a0JBWGpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLEVBQUUsK0JBQStCLENBQUM7b0JBQ3pFLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLEVBQUUsK0JBQStCLENBQUM7aUJBQ3JFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuXHJcbmltcG9ydCB7IEVjYWJzQWN0aW9uTWVudVRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9iYXNlL2RpcmVjdGl2ZXMvYWN0aW9uLW1lbnUtdHJpZ2dlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBFY2Fic0FjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2VjYWJzLWFjdGlvbi1tZW51LmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0VjYWJzQWN0aW9uTWVudUNvbXBvbmVudCwgRWNhYnNBY3Rpb25NZW51VHJpZ2dlckRpcmVjdGl2ZV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0VjYWJzQWN0aW9uTWVudUNvbXBvbmVudCwgRWNhYnNBY3Rpb25NZW51VHJpZ2dlckRpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0FjdGlvbk1lbnVNb2R1bGUge31cclxuIl19
@@ -0,0 +1,74 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/core';
3
+ import { buildPhosphorSvgIcon } from '../base/utils/icon.utils';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../base/directives/badge.directive";
7
+ import * as i3 from "@angular/material/icon";
8
+ import * as i4 from "@angular/material/tooltip";
9
+ import * as i5 from "../base/directives/tooltip-if-truncated.directive";
10
+ export class EcabsBadgeComponent {
11
+ variant = 'default';
12
+ size = 'medium';
13
+ set bordered(value) {
14
+ this.hasBorder = coerceBooleanProperty(value);
15
+ }
16
+ hasBorder = true;
17
+ /**
18
+ * Icon name, resolved through whichever icon set the library is on (Phosphor
19
+ * today). Deliberately not named after the vendor so a future icon-set change
20
+ * does not ripple out to every call site.
21
+ */
22
+ icon;
23
+ /**
24
+ * Defaults to `bold`: at badge icon sizes (12-18px) a `regular` stroke falls
25
+ * below one device pixel and antialiases into a ragged edge. `bold` also
26
+ * matches the ~26/256 ring thickness of the reference design.
27
+ */
28
+ iconWeight = 'bold';
29
+ /**
30
+ * Material icon ligature, for the cases that need a Material glyph
31
+ * specifically. Used only when no `icon` is supplied.
32
+ */
33
+ materialIcon;
34
+ /**
35
+ * Static so it resolves before the first change detection run, keeping the
36
+ * tooltip binding stable instead of changing after the view is checked.
37
+ */
38
+ labelRef;
39
+ get svgIcon() {
40
+ return buildPhosphorSvgIcon(this.icon, this.iconWeight);
41
+ }
42
+ /**
43
+ * Tooltip message for a clipped label. Read from the DOM rather than an input
44
+ * because the label is projected content. `ecabsTooltipIfTruncated` measures
45
+ * on mouseover, and that host listener also marks this view dirty, so the
46
+ * message is re-read on hover without any explicit change detection call.
47
+ * The directive suppresses the tooltip unless the text is actually clipped.
48
+ */
49
+ get labelText() {
50
+ return this.labelRef?.nativeElement?.textContent?.trim() ?? '';
51
+ }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
53
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsBadgeComponent, selector: "ecabs-badge", inputs: { variant: "variant", size: "size", bordered: "bordered", icon: "icon", iconWeight: "iconWeight", materialIcon: "materialIcon" }, viewQueries: [{ propertyName: "labelRef", first: true, predicate: ["label"], descendants: true, static: true }], ngImport: i0, template: "<span ecabsBadge\r\n [variant]=\"variant\"\r\n [size]=\"size\"\r\n [bordered]=\"hasBorder\">\r\n <span class=\"badge__icon badge__icon--slot\">\r\n <ng-content select=\"[ecabsBadgeIcon]\"></ng-content>\r\n </span>\r\n\r\n <mat-icon *ngIf=\"svgIcon\"\r\n class=\"badge__icon\"\r\n [svgIcon]=\"svgIcon\">\r\n </mat-icon>\r\n\r\n <mat-icon *ngIf=\"!svgIcon && materialIcon\"\r\n class=\"badge__icon\">{{ materialIcon }}\r\n </mat-icon>\r\n\r\n <span #label\r\n ecabsTooltipIfTruncated\r\n class=\"badge__label\"\r\n [matTooltip]=\"labelText\">\r\n <ng-content></ng-content>\r\n </span>\r\n</span>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.EcabsBadgeDirective, selector: "[ecabsBadge]", inputs: ["variant", "size", "bordered", "disableRipple", "interactive"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.EcabsTooltipIfTruncatedDirective, selector: "[matTooltip][ecabsTooltipIfTruncated]", inputs: ["classNameTruncatedTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsBadgeComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: 'ecabs-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span ecabsBadge\r\n [variant]=\"variant\"\r\n [size]=\"size\"\r\n [bordered]=\"hasBorder\">\r\n <span class=\"badge__icon badge__icon--slot\">\r\n <ng-content select=\"[ecabsBadgeIcon]\"></ng-content>\r\n </span>\r\n\r\n <mat-icon *ngIf=\"svgIcon\"\r\n class=\"badge__icon\"\r\n [svgIcon]=\"svgIcon\">\r\n </mat-icon>\r\n\r\n <mat-icon *ngIf=\"!svgIcon && materialIcon\"\r\n class=\"badge__icon\">{{ materialIcon }}\r\n </mat-icon>\r\n\r\n <span #label\r\n ecabsTooltipIfTruncated\r\n class=\"badge__label\"\r\n [matTooltip]=\"labelText\">\r\n <ng-content></ng-content>\r\n </span>\r\n</span>\r\n" }]
58
+ }], propDecorators: { variant: [{
59
+ type: Input
60
+ }], size: [{
61
+ type: Input
62
+ }], bordered: [{
63
+ type: Input
64
+ }], icon: [{
65
+ type: Input
66
+ }], iconWeight: [{
67
+ type: Input
68
+ }], materialIcon: [{
69
+ type: Input
70
+ }], labelRef: [{
71
+ type: ViewChild,
72
+ args: ['label', { static: true }]
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWJhZGdlL2VjYWJzLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1iYWRnZS9lY2Ficy1iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBUWhFLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsT0FBTyxHQUFpQixTQUFTLENBQUM7SUFHbEMsSUFBSSxHQUFjLFFBQVEsQ0FBQztJQUUzQixJQUNJLFFBQVEsQ0FBQyxLQUF1QjtRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRWpCOzs7O09BSUc7SUFFSCxJQUFJLENBQVU7SUFFZDs7OztPQUlHO0lBRUgsVUFBVSxHQUFvQixNQUFNLENBQUM7SUFFckM7OztPQUdHO0lBRUgsWUFBWSxDQUFVO0lBRXRCOzs7T0FHRztJQUVjLFFBQVEsQ0FBMkI7SUFFcEQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2pFLENBQUM7d0dBekRVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDhTQ3JCaEMsMHFCQXdCQTs7NEZESGEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTs4QkFJL0MsT0FBTztzQkFETixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJRixRQUFRO3NCQURYLEtBQUs7Z0JBYU4sSUFBSTtzQkFESCxLQUFLO2dCQVNOLFVBQVU7c0JBRFQsS0FBSztnQkFRTixZQUFZO3NCQURYLEtBQUs7Z0JBUVcsUUFBUTtzQkFEeEIsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQmFkZ2VJY29uV2VpZ2h0LFxyXG4gIEJhZGdlU2l6ZSxcclxuICBCYWRnZVZhcmlhbnQsXHJcbn0gZnJvbSAnLi4vYmFzZS9jb25zdHMvYmFkZ2UuY29uc3RzJztcclxuaW1wb3J0IHsgYnVpbGRQaG9zcGhvclN2Z0ljb24gfSBmcm9tICcuLi9iYXNlL3V0aWxzL2ljb24udXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1iYWRnZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWJhZGdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lY2Ficy1iYWRnZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNCYWRnZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICB2YXJpYW50OiBCYWRnZVZhcmlhbnQgPSAnZGVmYXVsdCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQmFkZ2VTaXplID0gJ21lZGl1bSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGJvcmRlcmVkKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSB7XHJcbiAgICB0aGlzLmhhc0JvcmRlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBoYXNCb3JkZXIgPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBJY29uIG5hbWUsIHJlc29sdmVkIHRocm91Z2ggd2hpY2hldmVyIGljb24gc2V0IHRoZSBsaWJyYXJ5IGlzIG9uIChQaG9zcGhvclxyXG4gICAqIHRvZGF5KS4gRGVsaWJlcmF0ZWx5IG5vdCBuYW1lZCBhZnRlciB0aGUgdmVuZG9yIHNvIGEgZnV0dXJlIGljb24tc2V0IGNoYW5nZVxyXG4gICAqIGRvZXMgbm90IHJpcHBsZSBvdXQgdG8gZXZlcnkgY2FsbCBzaXRlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgaWNvbj86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmYXVsdHMgdG8gYGJvbGRgOiBhdCBiYWRnZSBpY29uIHNpemVzICgxMi0xOHB4KSBhIGByZWd1bGFyYCBzdHJva2UgZmFsbHNcclxuICAgKiBiZWxvdyBvbmUgZGV2aWNlIHBpeGVsIGFuZCBhbnRpYWxpYXNlcyBpbnRvIGEgcmFnZ2VkIGVkZ2UuIGBib2xkYCBhbHNvXHJcbiAgICogbWF0Y2hlcyB0aGUgfjI2LzI1NiByaW5nIHRoaWNrbmVzcyBvZiB0aGUgcmVmZXJlbmNlIGRlc2lnbi5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIGljb25XZWlnaHQ6IEJhZGdlSWNvbldlaWdodCA9ICdib2xkJztcclxuXHJcbiAgLyoqXHJcbiAgICogTWF0ZXJpYWwgaWNvbiBsaWdhdHVyZSwgZm9yIHRoZSBjYXNlcyB0aGF0IG5lZWQgYSBNYXRlcmlhbCBnbHlwaFxyXG4gICAqIHNwZWNpZmljYWxseS4gVXNlZCBvbmx5IHdoZW4gbm8gYGljb25gIGlzIHN1cHBsaWVkLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgbWF0ZXJpYWxJY29uPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBTdGF0aWMgc28gaXQgcmVzb2x2ZXMgYmVmb3JlIHRoZSBmaXJzdCBjaGFuZ2UgZGV0ZWN0aW9uIHJ1biwga2VlcGluZyB0aGVcclxuICAgKiB0b29sdGlwIGJpbmRpbmcgc3RhYmxlIGluc3RlYWQgb2YgY2hhbmdpbmcgYWZ0ZXIgdGhlIHZpZXcgaXMgY2hlY2tlZC5cclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdsYWJlbCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSByZWFkb25seSBsYWJlbFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG5cclxuICBnZXQgc3ZnSWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGJ1aWxkUGhvc3Bob3JTdmdJY29uKHRoaXMuaWNvbiwgdGhpcy5pY29uV2VpZ2h0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvb2x0aXAgbWVzc2FnZSBmb3IgYSBjbGlwcGVkIGxhYmVsLiBSZWFkIGZyb20gdGhlIERPTSByYXRoZXIgdGhhbiBhbiBpbnB1dFxyXG4gICAqIGJlY2F1c2UgdGhlIGxhYmVsIGlzIHByb2plY3RlZCBjb250ZW50LiBgZWNhYnNUb29sdGlwSWZUcnVuY2F0ZWRgIG1lYXN1cmVzXHJcbiAgICogb24gbW91c2VvdmVyLCBhbmQgdGhhdCBob3N0IGxpc3RlbmVyIGFsc28gbWFya3MgdGhpcyB2aWV3IGRpcnR5LCBzbyB0aGVcclxuICAgKiBtZXNzYWdlIGlzIHJlLXJlYWQgb24gaG92ZXIgd2l0aG91dCBhbnkgZXhwbGljaXQgY2hhbmdlIGRldGVjdGlvbiBjYWxsLlxyXG4gICAqIFRoZSBkaXJlY3RpdmUgc3VwcHJlc3NlcyB0aGUgdG9vbHRpcCB1bmxlc3MgdGhlIHRleHQgaXMgYWN0dWFsbHkgY2xpcHBlZC5cclxuICAgKi9cclxuICBnZXQgbGFiZWxUZXh0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5sYWJlbFJlZj8ubmF0aXZlRWxlbWVudD8udGV4dENvbnRlbnQ/LnRyaW0oKSA/PyAnJztcclxuICB9XHJcbn1cclxuIiwiPHNwYW4gZWNhYnNCYWRnZVxyXG4gICAgICBbdmFyaWFudF09XCJ2YXJpYW50XCJcclxuICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgIFtib3JkZXJlZF09XCJoYXNCb3JkZXJcIj5cclxuICA8c3BhbiBjbGFzcz1cImJhZGdlX19pY29uIGJhZGdlX19pY29uLS1zbG90XCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZWNhYnNCYWRnZUljb25dXCI+PC9uZy1jb250ZW50PlxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPG1hdC1pY29uICpuZ0lmPVwic3ZnSWNvblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYmFkZ2VfX2ljb25cIlxyXG4gICAgICAgICAgICBbc3ZnSWNvbl09XCJzdmdJY29uXCI+XHJcbiAgPC9tYXQtaWNvbj5cclxuXHJcbiAgPG1hdC1pY29uICpuZ0lmPVwiIXN2Z0ljb24gJiYgbWF0ZXJpYWxJY29uXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZV9faWNvblwiPnt7IG1hdGVyaWFsSWNvbiB9fVxyXG4gIDwvbWF0LWljb24+XHJcblxyXG4gIDxzcGFuICNsYWJlbFxyXG4gICAgICAgIGVjYWJzVG9vbHRpcElmVHJ1bmNhdGVkXHJcbiAgICAgICAgY2xhc3M9XCJiYWRnZV9fbGFiZWxcIlxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cImxhYmVsVGV4dFwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvc3Bhbj5cclxuPC9zcGFuPlxyXG4iXX0=