@ifsworld/granite-components 11.7.2 → 12.0.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.
- package/esm2022/index.mjs +12 -1
- package/esm2022/lib/contacts/contact-item/contact-item.component.mjs +30 -0
- package/esm2022/lib/contacts/contact-item-default-status/contact-item-default-status.component.mjs +20 -0
- package/esm2022/lib/contacts/contact-item-title/contact-item-title.component.mjs +15 -0
- package/esm2022/lib/contacts/contacts-profile/contacts-profile.component.mjs +27 -0
- package/esm2022/lib/contacts/contacts-trigger/contacts-trigger-data.mjs +24 -0
- package/esm2022/lib/contacts/contacts-trigger/contacts-trigger-for.directive.mjs +231 -0
- package/esm2022/lib/contacts/contacts-types/contacts.component.private-types.mjs +2 -0
- package/esm2022/lib/contacts/contacts-types/contacts.component.public-types.mjs +9 -0
- package/esm2022/lib/contacts/contacts.component.mjs +69 -0
- package/esm2022/lib/contacts/contacts.module.mjs +52 -0
- package/esm2022/lib/contacts/custom-profile.directive.mjs +16 -0
- package/esm2022/lib/contacts/custom-status.directive.mjs +18 -0
- package/fesm2022/ifsworld-granite-components.mjs +460 -2
- package/fesm2022/ifsworld-granite-components.mjs.map +1 -1
- package/index.d.ts +11 -0
- package/lib/contacts/contact-item/contact-item.component.d.ts +11 -0
- package/lib/contacts/contact-item-default-status/contact-item-default-status.component.d.ts +15 -0
- package/lib/contacts/contact-item-title/contact-item-title.component.d.ts +7 -0
- package/lib/contacts/contacts-profile/contacts-profile.component.d.ts +12 -0
- package/lib/contacts/contacts-trigger/contacts-trigger-data.d.ts +23 -0
- package/lib/contacts/contacts-trigger/contacts-trigger-for.directive.d.ts +69 -0
- package/lib/contacts/contacts-types/contacts.component.private-types.d.ts +5 -0
- package/lib/contacts/contacts-types/contacts.component.public-types.d.ts +24 -0
- package/lib/contacts/contacts.component.d.ts +24 -0
- package/lib/contacts/contacts.module.d.ts +16 -0
- package/lib/contacts/custom-profile.directive.d.ts +8 -0
- package/lib/contacts/custom-status.directive.d.ts +9 -0
- package/package.json +1 -1
package/esm2022/index.mjs
CHANGED
|
@@ -40,6 +40,17 @@ export * from './lib/chips/chip.component';
|
|
|
40
40
|
export * from './lib/chips/chip-input';
|
|
41
41
|
export * from './lib/label/label.module';
|
|
42
42
|
export * from './lib/label/label.component';
|
|
43
|
+
export * from './lib/contacts/contacts.module';
|
|
44
|
+
export * from './lib/contacts/contacts.component';
|
|
45
|
+
export * from './lib/contacts/contacts-types/contacts.component.public-types';
|
|
46
|
+
export * from './lib/contacts/contacts-profile/contacts-profile.component';
|
|
47
|
+
export * from './lib/contacts/contact-item/contact-item.component';
|
|
48
|
+
export * from './lib/contacts/contact-item-default-status/contact-item-default-status.component';
|
|
49
|
+
export * from './lib/contacts/contact-item-title/contact-item-title.component';
|
|
50
|
+
export * from './lib/contacts/contacts-trigger/contacts-trigger-for.directive';
|
|
51
|
+
export * from './lib/contacts/custom-status.directive';
|
|
52
|
+
export * from './lib/contacts/custom-profile.directive';
|
|
53
|
+
export * from './lib/contacts/contacts-types/contacts.component.public-types';
|
|
43
54
|
export * from './lib/progress-bar/progress-bar.module';
|
|
44
55
|
export * from './lib/progress-bar/progress-bar.component';
|
|
45
56
|
// Temporary
|
|
@@ -69,4 +80,4 @@ export * from './lib/collapsible-group/collapsible-group.module';
|
|
|
69
80
|
export * from './lib/collapsible-group/collapsible-group.component';
|
|
70
81
|
export * from './lib/collapsible-group/collapsible-group-body.directive';
|
|
71
82
|
export * from './lib/collapsible-group/collapsible-group-header.directive';
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxnREFBZ0QsQ0FBQztBQUUvRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNkNBQTZDLENBQUM7QUFFNUQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsMENBQTBDLENBQUM7QUFFekQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMseUNBQXlDLENBQUM7QUFFeEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsK0RBQStELENBQUM7QUFFOUUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELFlBQVk7QUFDWixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLHlEQUF5RCxDQUFDO0FBRXhFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsNERBQTRELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHVpXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXJyYW5nZS1ncmlkL2FycmFuZ2UtZ3JpZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXJyYW5nZS1ncmlkL2FycmFuZ2UtZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXJyYW5nZS1ncmlkL2FycmFuZ2UtZ3JpZC1pdGVtLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWQvZ3JpZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2JhZGdlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFkZ2UvdGVzdGluZy9iYWRnZS5oYXJuZXNzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVudS9tZW51Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW51L21lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lbnUvbWVudS1kZXNrdG9wLWFuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVudS9tZW51LXRvdWNoLWFuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVudS9tZW51LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lbnUvbWVudS10cmlnZ2VyLWZvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVudS90ZXN0aW5nL21lbnUuaGFybmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW51L2RpdmlkZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lbnUvdGl0bGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lbnUvbWVudS10b3VjaC1jbG9zZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVudS9tZW51LXRvdWNoLXRpdGxlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24vaWNvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvZ2dsZS1zd2l0Y2gvdG9nZ2xlLXN3aXRjaC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9nZ2xlLXN3aXRjaC90b2dnbGUtc3dpdGNoLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmFkaW8tYnV0dG9uL3JhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrYm94L2NoZWNrYm94Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVja2JveC9jaGVja2JveC1ncm91cC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2lucHV0LWZpZWxkL2lucHV0LWZpZWxkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnB1dC1maWVsZC9pbnB1dC1maWVsZC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGlwcy9jaGlwcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hpcHMvY2hpcC1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGlwcy9jaGlwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGlwcy9jaGlwLWlucHV0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGFiZWwvbGFiZWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xhYmVsL2xhYmVsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRhY3RzL2NvbnRhY3RzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250YWN0cy9jb250YWN0cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udGFjdHMvY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250YWN0cy9jb250YWN0cy1wcm9maWxlL2NvbnRhY3RzLXByb2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRhY3RzL2NvbnRhY3QtaXRlbS9jb250YWN0LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRhY3RzL2NvbnRhY3QtaXRlbS1kZWZhdWx0LXN0YXR1cy9jb250YWN0LWl0ZW0tZGVmYXVsdC1zdGF0dXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRhY3RzL2NvbnRhY3QtaXRlbS10aXRsZS9jb250YWN0LWl0ZW0tdGl0bGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRhY3RzL2NvbnRhY3RzLXRyaWdnZXIvY29udGFjdHMtdHJpZ2dlci1mb3IuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRhY3RzL2N1c3RvbS1zdGF0dXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRhY3RzL2N1c3RvbS1wcm9maWxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250YWN0cy9jb250YWN0cy10eXBlcy9jb250YWN0cy5jb21wb25lbnQucHVibGljLXR5cGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuXG4vLyBUZW1wb3JhcnlcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvY2xpZW50LWVudmlyb25tZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvY29yZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9kZXZpY2VzL2NsaWVudC1vdXRwdXQtdG91Y2guZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvZGV2aWNlcy9jbGllbnQtb3V0cHV0LWRlc2t0b3AuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvZGV2aWNlcy9jbGllbnQtaW5wdXQtdG91Y2guZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvZGV2aWNlcy9jbGllbnQtaW5wdXQtZGVza3RvcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9jb21tb24tYmVoYXZpb3JzL2Rpc2FibGVkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvaGlkZS1vbi1vdmVyZmxvdy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL3BpcGVzL3B1cmUtcGlwZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvcGlwZXMvdGl0bGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL3R5cGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC1saXN0L2NhcmQtbGlzdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC1saXN0L2NhcmQtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC1saXN0L2NhcmQvY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC1saXN0L2NhcmQvY2FyZC1jb250ZW50L2NhcmQtY29udGVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC1saXN0L2NhcmQvY2FyZC1jb250ZW50L2NhcmQtYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC1saXN0L2NhcmQvY2FyZC1jb250ZW50L2NhcmQtYm9keS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC1saXN0L2NhcmQvY2FyZC1jb250ZW50L2NhcmQtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkLWxpc3QvY2FyZC9jYXJkLWF2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC1saXN0L2NhcmQvY2FyZC1jb250ZW50L2NhcmQtaGVhZGVyLXRpdGxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkLWxpc3QvY2FyZC9jYXJkLWNvbnRlbnQvY2FyZC1oZWFkZXItc3VidGl0bGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQtbGlzdC9jYXJkL2NhcmQtY29udGVudC9jYXJkLWZvb3Rlci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsYXBzaWJsZS1ncm91cC9jb2xsYXBzaWJsZS1ncm91cC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGFwc2libGUtZ3JvdXAvY29sbGFwc2libGUtZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxhcHNpYmxlLWdyb3VwL2NvbGxhcHNpYmxlLWdyb3VwLWJvZHkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbGxhcHNpYmxlLWdyb3VwL2NvbGxhcHNpYmxlLWdyb3VwLWhlYWRlci5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../icon/icon.component";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "../contact-item-default-status/contact-item-default-status.component";
|
|
6
|
+
import * as i4 from "../contact-item-title/contact-item-title.component";
|
|
7
|
+
export class GraniteContactItemComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.selectedContact = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
emitSelectedContact(contact) {
|
|
12
|
+
if (contact.disabled || contact.options) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
this.selectedContact.emit(contact);
|
|
16
|
+
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactItemComponent, selector: "granite-contact-item", inputs: { contact: "contact" }, outputs: { selectedContact: "selectedContact" }, host: { classAttribute: "granite-contact-item" }, ngImport: i0, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: contact, testName: 'contact' }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: option, testName: 'contact-option-' + i }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template let-testName=\"testName\" let-contact=\"contact\" #contactItem>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n (click)=\"emitSelectedContact(contact)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-options{display:flex;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-4);list-style:none}.contact-item-options .option-item{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"], dependencies: [{ kind: "component", type: i1.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ContactItemDefaultStatusComponent, selector: "granite-contact-item-default-status", inputs: ["status"] }, { kind: "component", type: i4.GraniteContactItemTitleComponent, selector: "granite-contact-item-title", inputs: ["contact"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactItemComponent, decorators: [{
|
|
21
|
+
type: Component,
|
|
22
|
+
args: [{ selector: 'granite-contact-item', host: {
|
|
23
|
+
class: 'granite-contact-item',
|
|
24
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: contact, testName: 'contact' }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: option, testName: 'contact-option-' + i }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template let-testName=\"testName\" let-contact=\"contact\" #contactItem>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n (click)=\"emitSelectedContact(contact)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-options{display:flex;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-4);list-style:none}.contact-item-options .option-item{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"] }]
|
|
25
|
+
}], propDecorators: { contact: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], selectedContact: [{
|
|
28
|
+
type: Output
|
|
29
|
+
}] } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29udGFjdHMvY29udGFjdC1pdGVtL2NvbnRhY3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3QtaXRlbS9jb250YWN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWdCdkIsTUFBTSxPQUFPLDJCQUEyQjtJQVR4QztRQVlZLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7S0FRMUU7SUFOQyxtQkFBbUIsQ0FBQyxPQUF3QjtRQUMxQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQzs4R0FWVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwrTEN0QnhDLDRnREFtREE7OzJGRDdCYSwyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0Usc0JBQXNCLFFBQzFCO3dCQUNKLEtBQUssRUFBRSxzQkFBc0I7cUJBQzlCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250YWN0LFxuICBDb250YWN0T3B0aW9ucyxcbn0gZnJvbSAnLi4vY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBDb250YWN0RXh0ZW5kZWQgfSBmcm9tICcuLi9jb250YWN0cy10eXBlcy9jb250YWN0cy5jb21wb25lbnQucHJpdmF0ZS10eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtY29udGFjdC1pdGVtJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1jb250YWN0LWl0ZW0nLFxuICB9LFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQ29udGFjdEl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBjb250YWN0OiBDb250YWN0RXh0ZW5kZWQ7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkQ29udGFjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29udGFjdCB8IENvbnRhY3RPcHRpb25zPigpO1xuXG4gIGVtaXRTZWxlY3RlZENvbnRhY3QoY29udGFjdDogQ29udGFjdEV4dGVuZGVkKTogdm9pZCB7XG4gICAgaWYgKGNvbnRhY3QuZGlzYWJsZWQgfHwgY29udGFjdC5vcHRpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDb250YWN0LmVtaXQoY29udGFjdCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWN0LWl0ZW1cIiBbYXR0ci5kYXRhLWZuZF09XCJjb250YWN0Lm5hbWVcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhY3QtaXRlbS1tYWluXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgY29udGFjdEl0ZW07XG4gICAgICAgIGNvbnRleHQ6IHsgY29udGFjdDogY29udGFjdCwgdGVzdE5hbWU6ICdjb250YWN0JyB9XG4gICAgICBcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPHVsICpuZ0lmPVwiY29udGFjdC5vcHRpb25zXCIgY2xhc3M9XCJjb250YWN0LWl0ZW0tb3B0aW9uc1wiPlxuICAgIDxsaVxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29udGFjdC5vcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgIGNsYXNzPVwib3B0aW9uLWl0ZW1cIlxuICAgICAgW2F0dHIuZGF0YS1mbmRdPVwiJ2NvbnRhY3Qtb3B0aW9uLScgKyBpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgY29udGFjdEl0ZW07XG4gICAgICAgICAgY29udGV4dDogeyBjb250YWN0OiBvcHRpb24sIHRlc3ROYW1lOiAnY29udGFjdC1vcHRpb24tJyArIGkgfVxuICAgICAgICBcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlIGxldC10ZXN0TmFtZT1cInRlc3ROYW1lXCIgbGV0LWNvbnRhY3Q9XCJjb250YWN0XCIgI2NvbnRhY3RJdGVtPlxuICA8Z3Jhbml0ZS1pY29uXG4gICAgW2F0dHIuZGF0YS1mbmRdPVwidGVzdE5hbWUgKyAnLWljb24nXCJcbiAgICBmb250SWNvbj1cInt7IGNvbnRhY3QuaWNvbk5hbWUgfX1cIlxuICA+PC9ncmFuaXRlLWljb24+XG5cbiAgPGdyYW5pdGUtY29udGFjdC1pdGVtLXRpdGxlXG4gICAgW2F0dHIuZGF0YS1mbmRdPVwidGVzdE5hbWUgKyAnLXRpdGxlJ1wiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICBbY29udGFjdF09XCJjb250YWN0XCJcbiAgICAoY2xpY2spPVwiZW1pdFNlbGVjdGVkQ29udGFjdChjb250YWN0KVwiXG4gID48L2dyYW5pdGUtY29udGFjdC1pdGVtLXRpdGxlPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250YWN0LnN0YXR1c1RlbXBsYXRlOyBlbHNlIGRlZmF1bHRTdGF0dXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGFjdC5zdGF0dXNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRTdGF0dXM+XG4gICAgPGdyYW5pdGUtY29udGFjdC1pdGVtLWRlZmF1bHQtc3RhdHVzXG4gICAgICBbYXR0ci5kYXRhLWZuZF09XCJ0ZXN0TmFtZSArICctc3RhdHVzJ1wiXG4gICAgICBbc3RhdHVzXT1cImNvbnRhY3Quc3RhdHVzXCJcbiAgICA+PC9ncmFuaXRlLWNvbnRhY3QtaXRlbS1kZWZhdWx0LXN0YXR1cz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
package/esm2022/lib/contacts/contact-item-default-status/contact-item-default-status.component.mjs
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { CONTACT_DEFAULT_STATUS, } from '../contacts-types/contacts.component.public-types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class ContactItemDefaultStatusComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.CONTACT_STATUS = CONTACT_DEFAULT_STATUS;
|
|
8
|
+
}
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ContactItemDefaultStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ContactItemDefaultStatusComponent, selector: "granite-contact-item-default-status", inputs: { status: "status" }, host: { classAttribute: "granite-contact-item-default-status" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"status\">\n <ng-container *ngSwitchCase=\"CONTACT_STATUS.AVAILABLE\">\n <svg\n data-fnd=\"available\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"9\"\n height=\"10\"\n viewBox=\"0 0 9 10\"\n fill=\"none\"\n >\n <path\n d=\"M4.085 0.915009C1.83008 0.915009 0 2.74509 0 5.00001C0 7.25493 1.83008 9.08501 4.085 9.08501C6.33992 9.08501 8.17 7.25493 8.17 5.00001C8.17 2.74509 6.33992 0.915009 4.085 0.915009Z\"\n fill=\"#17A511\"\n />\n <path\n d=\"M2.45099 4.82838L3.47224 6.06418L5.51474 4.21048\"\n stroke=\"white\"\n stroke-linecap=\"round\"\n />\n </svg>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"CONTACT_STATUS.BUSY\">\n <svg\n data-fnd=\"busy\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"9\"\n height=\"9\"\n viewBox=\"0 0 9 9\"\n fill=\"none\"\n >\n <path\n d=\"M4.25504 0.169922C2.00012 0.169922 0.170044 2 0.170044 4.25492C0.170044 6.50984 2.00012 8.33992 4.25504 8.33992C6.50996 8.33992 8.34004 6.50984 8.34004 4.25492C8.34004 2 6.50996 0.169922 4.25504 0.169922Z\"\n fill=\"#D23335\"\n />\n </svg>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"CONTACT_STATUS.DO_NOT_DISTURB\">\n <svg\n data-fnd=\"doNotDisturb\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"9\"\n height=\"9\"\n viewBox=\"0 0 9 9\"\n fill=\"none\"\n >\n <path\n d=\"M4.085 0C1.83008 0 0 1.83008 0 4.085C0 6.33992 1.83008 8.17 4.085 8.17C6.33992 8.17 8.17 6.33992 8.17 4.085C8.17 1.83008 6.33992 0 4.085 0Z\"\n fill=\"#D23335\"\n />\n <path d=\"M2 4L6 4\" stroke=\"white\" stroke-linecap=\"round\" />\n </svg>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"CONTACT_STATUS.AWAY\">\n <svg\n data-fnd=\"away\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"9\"\n height=\"9\"\n viewBox=\"0 0 9 9\"\n fill=\"none\"\n >\n <path\n d=\"M4.085 0C1.83008 0 0 1.83008 0 4.085C0 6.33992 1.83008 8.17 4.085 8.17C6.33992 8.17 8.17 6.33992 8.17 4.085C8.17 1.83008 6.33992 0 4.085 0Z\"\n fill=\"#EDA000\"\n />\n <path d=\"M4 2L4 3.875L5.5 5.5\" stroke=\"white\" stroke-linecap=\"round\" />\n </svg>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"CONTACT_STATUS.OFFLINE\">\n <svg\n data-fnd=\"offline\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"9\"\n height=\"9\"\n viewBox=\"0 0 9 9\"\n fill=\"none\"\n >\n <path\n d=\"M0.5 4.085C0.5 2.10622 2.10622 0.5 4.085 0.5C6.06378 0.5 7.67 2.10622 7.67 4.085C7.67 6.06378 6.06378 7.67 4.085 7.67C2.10622 7.67 0.5 6.06378 0.5 4.085Z\"\n stroke=\"#7D7D7D\"\n />\n <path d=\"M3 3L5 5\" stroke=\"#7D7D7D\" stroke-linecap=\"round\" />\n <path d=\"M5 3L3 5\" stroke=\"#7D7D7D\" stroke-linecap=\"round\" />\n </svg>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ContactItemDefaultStatusComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'granite-contact-item-default-status', host: {
|
|
15
|
+
class: 'granite-contact-item-default-status',
|
|
16
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"status\">\n <ng-container *ngSwitchCase=\"CONTACT_STATUS.AVAILABLE\">\n <svg\n data-fnd=\"available\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"9\"\n height=\"10\"\n viewBox=\"0 0 9 10\"\n fill=\"none\"\n >\n <path\n d=\"M4.085 0.915009C1.83008 0.915009 0 2.74509 0 5.00001C0 7.25493 1.83008 9.08501 4.085 9.08501C6.33992 9.08501 8.17 7.25493 8.17 5.00001C8.17 2.74509 6.33992 0.915009 4.085 0.915009Z\"\n fill=\"#17A511\"\n />\n <path\n d=\"M2.45099 4.82838L3.47224 6.06418L5.51474 4.21048\"\n stroke=\"white\"\n stroke-linecap=\"round\"\n />\n </svg>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"CONTACT_STATUS.BUSY\">\n <svg\n data-fnd=\"busy\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"9\"\n height=\"9\"\n viewBox=\"0 0 9 9\"\n fill=\"none\"\n >\n <path\n d=\"M4.25504 0.169922C2.00012 0.169922 0.170044 2 0.170044 4.25492C0.170044 6.50984 2.00012 8.33992 4.25504 8.33992C6.50996 8.33992 8.34004 6.50984 8.34004 4.25492C8.34004 2 6.50996 0.169922 4.25504 0.169922Z\"\n fill=\"#D23335\"\n />\n </svg>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"CONTACT_STATUS.DO_NOT_DISTURB\">\n <svg\n data-fnd=\"doNotDisturb\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"9\"\n height=\"9\"\n viewBox=\"0 0 9 9\"\n fill=\"none\"\n >\n <path\n d=\"M4.085 0C1.83008 0 0 1.83008 0 4.085C0 6.33992 1.83008 8.17 4.085 8.17C6.33992 8.17 8.17 6.33992 8.17 4.085C8.17 1.83008 6.33992 0 4.085 0Z\"\n fill=\"#D23335\"\n />\n <path d=\"M2 4L6 4\" stroke=\"white\" stroke-linecap=\"round\" />\n </svg>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"CONTACT_STATUS.AWAY\">\n <svg\n data-fnd=\"away\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"9\"\n height=\"9\"\n viewBox=\"0 0 9 9\"\n fill=\"none\"\n >\n <path\n d=\"M4.085 0C1.83008 0 0 1.83008 0 4.085C0 6.33992 1.83008 8.17 4.085 8.17C6.33992 8.17 8.17 6.33992 8.17 4.085C8.17 1.83008 6.33992 0 4.085 0Z\"\n fill=\"#EDA000\"\n />\n <path d=\"M4 2L4 3.875L5.5 5.5\" stroke=\"white\" stroke-linecap=\"round\" />\n </svg>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"CONTACT_STATUS.OFFLINE\">\n <svg\n data-fnd=\"offline\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"9\"\n height=\"9\"\n viewBox=\"0 0 9 9\"\n fill=\"none\"\n >\n <path\n d=\"M0.5 4.085C0.5 2.10622 2.10622 0.5 4.085 0.5C6.06378 0.5 7.67 2.10622 7.67 4.085C7.67 6.06378 6.06378 7.67 4.085 7.67C2.10622 7.67 0.5 6.06378 0.5 4.085Z\"\n stroke=\"#7D7D7D\"\n />\n <path d=\"M3 3L5 5\" stroke=\"#7D7D7D\" stroke-linecap=\"round\" />\n <path d=\"M5 3L3 5\" stroke=\"#7D7D7D\" stroke-linecap=\"round\" />\n </svg>\n </ng-container>\n</ng-container>\n" }]
|
|
17
|
+
}], propDecorators: { status: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}] } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1pdGVtLWRlZmF1bHQtc3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29udGFjdHMvY29udGFjdC1pdGVtLWRlZmF1bHQtc3RhdHVzL2NvbnRhY3QtaXRlbS1kZWZhdWx0LXN0YXR1cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3QtaXRlbS1kZWZhdWx0LXN0YXR1cy9jb250YWN0LWl0ZW0tZGVmYXVsdC1zdGF0dXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUNMLHNCQUFzQixHQUV2QixNQUFNLG1EQUFtRCxDQUFDOzs7QUFVM0QsTUFBTSxPQUFPLGlDQUFpQztJQVI5QztRQVVFLG1CQUFjLEdBQUcsc0JBQXNCLENBQUM7S0FDekM7OEdBSFksaUNBQWlDO2tHQUFqQyxpQ0FBaUMsMEtDZDlDLHM3RkEwRkE7OzJGRDVFYSxpQ0FBaUM7a0JBUjdDLFNBQVM7K0JBQ0UscUNBQXFDLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSxxQ0FBcUM7cUJBQzdDLG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ09OVEFDVF9ERUZBVUxUX1NUQVRVUyxcbiAgQ29udGFjdERlZmF1bHRTdGF0dXNlcyxcbn0gZnJvbSAnLi4vY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtY29udGFjdC1pdGVtLWRlZmF1bHQtc3RhdHVzJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1jb250YWN0LWl0ZW0tZGVmYXVsdC1zdGF0dXMnLFxuICB9LFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC1pdGVtLWRlZmF1bHQtc3RhdHVzLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhY3RJdGVtRGVmYXVsdFN0YXR1c0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHN0YXR1czogQ29udGFjdERlZmF1bHRTdGF0dXNlcztcbiAgQ09OVEFDVF9TVEFUVVMgPSBDT05UQUNUX0RFRkFVTFRfU1RBVFVTO1xufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic3RhdHVzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNPTlRBQ1RfU1RBVFVTLkFWQUlMQUJMRVwiPlxuICAgIDxzdmdcbiAgICAgIGRhdGEtZm5kPVwiYXZhaWxhYmxlXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCI5XCJcbiAgICAgIGhlaWdodD1cIjEwXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgOSAxMFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk00LjA4NSAwLjkxNTAwOUMxLjgzMDA4IDAuOTE1MDA5IDAgMi43NDUwOSAwIDUuMDAwMDFDMCA3LjI1NDkzIDEuODMwMDggOS4wODUwMSA0LjA4NSA5LjA4NTAxQzYuMzM5OTIgOS4wODUwMSA4LjE3IDcuMjU0OTMgOC4xNyA1LjAwMDAxQzguMTcgMi43NDUwOSA2LjMzOTkyIDAuOTE1MDA5IDQuMDg1IDAuOTE1MDA5WlwiXG4gICAgICAgIGZpbGw9XCIjMTdBNTExXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTIuNDUwOTkgNC44MjgzOEwzLjQ3MjI0IDYuMDY0MThMNS41MTQ3NCA0LjIxMDQ4XCJcbiAgICAgICAgc3Ryb2tlPVwid2hpdGVcIlxuICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNPTlRBQ1RfU1RBVFVTLkJVU1lcIj5cbiAgICA8c3ZnXG4gICAgICBkYXRhLWZuZD1cImJ1c3lcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB3aWR0aD1cIjlcIlxuICAgICAgaGVpZ2h0PVwiOVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDkgOVwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk00LjI1NTA0IDAuMTY5OTIyQzIuMDAwMTIgMC4xNjk5MjIgMC4xNzAwNDQgMiAwLjE3MDA0NCA0LjI1NDkyQzAuMTcwMDQ0IDYuNTA5ODQgMi4wMDAxMiA4LjMzOTkyIDQuMjU1MDQgOC4zMzk5MkM2LjUwOTk2IDguMzM5OTIgOC4zNDAwNCA2LjUwOTg0IDguMzQwMDQgNC4yNTQ5MkM4LjM0MDA0IDIgNi41MDk5NiAwLjE2OTkyMiA0LjI1NTA0IDAuMTY5OTIyWlwiXG4gICAgICAgIGZpbGw9XCIjRDIzMzM1XCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkNPTlRBQ1RfU1RBVFVTLkRPX05PVF9ESVNUVVJCXCI+XG4gICAgPHN2Z1xuICAgICAgZGF0YS1mbmQ9XCJkb05vdERpc3R1cmJcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB3aWR0aD1cIjlcIlxuICAgICAgaGVpZ2h0PVwiOVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDkgOVwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk00LjA4NSAwQzEuODMwMDggMCAwIDEuODMwMDggMCA0LjA4NUMwIDYuMzM5OTIgMS44MzAwOCA4LjE3IDQuMDg1IDguMTdDNi4zMzk5MiA4LjE3IDguMTcgNi4zMzk5MiA4LjE3IDQuMDg1QzguMTcgMS44MzAwOCA2LjMzOTkyIDAgNC4wODUgMFpcIlxuICAgICAgICBmaWxsPVwiI0QyMzMzNVwiXG4gICAgICAvPlxuICAgICAgPHBhdGggZD1cIk0yIDRMNiA0XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cbiAgICA8L3N2Zz5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQ09OVEFDVF9TVEFUVVMuQVdBWVwiPlxuICAgIDxzdmdcbiAgICAgIGRhdGEtZm5kPVwiYXdheVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgIHdpZHRoPVwiOVwiXG4gICAgICBoZWlnaHQ9XCI5XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgOSA5XCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTQuMDg1IDBDMS44MzAwOCAwIDAgMS44MzAwOCAwIDQuMDg1QzAgNi4zMzk5MiAxLjgzMDA4IDguMTcgNC4wODUgOC4xN0M2LjMzOTkyIDguMTcgOC4xNyA2LjMzOTkyIDguMTcgNC4wODVDOC4xNyAxLjgzMDA4IDYuMzM5OTIgMCA0LjA4NSAwWlwiXG4gICAgICAgIGZpbGw9XCIjRURBMDAwXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aCBkPVwiTTQgMkw0IDMuODc1TDUuNSA1LjVcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxuICAgIDwvc3ZnPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDT05UQUNUX1NUQVRVUy5PRkZMSU5FXCI+XG4gICAgPHN2Z1xuICAgICAgZGF0YS1mbmQ9XCJvZmZsaW5lXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCI5XCJcbiAgICAgIGhlaWdodD1cIjlcIlxuICAgICAgdmlld0JveD1cIjAgMCA5IDlcIlxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMC41IDQuMDg1QzAuNSAyLjEwNjIyIDIuMTA2MjIgMC41IDQuMDg1IDAuNUM2LjA2Mzc4IDAuNSA3LjY3IDIuMTA2MjIgNy42NyA0LjA4NUM3LjY3IDYuMDYzNzggNi4wNjM3OCA3LjY3IDQuMDg1IDcuNjdDMi4xMDYyMiA3LjY3IDAuNSA2LjA2Mzc4IDAuNSA0LjA4NVpcIlxuICAgICAgICBzdHJva2U9XCIjN0Q3RDdEXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aCBkPVwiTTMgM0w1IDVcIiBzdHJva2U9XCIjN0Q3RDdEXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XG4gICAgICA8cGF0aCBkPVwiTTUgM0wzIDVcIiBzdHJva2U9XCIjN0Q3RDdEXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XG4gICAgPC9zdmc+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GraniteContactItemTitleComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactItemTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactItemTitleComponent, selector: "granite-contact-item-title", inputs: { contact: "contact" }, host: { classAttribute: "granite-contact-item-title" }, ngImport: i0, template: "<button\n tabindex=\"0\"\n data-fnd=\"contact-item-title\"\n [class.title-status-active]=\"!contact.disabled && !contact.options\"\n [class.title-status-disabled]=\"contact.disabled\"\n [class.title-status-parent]=\"!contact.disabled && contact.options\"\n>\n {{ contact.label }}\n</button>\n", styles: [".title-status-parent,.title-status-disabled,.title-status-active{font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular)}.title-status-active{color:var(--granite-color-text-link)}.title-status-active:hover{text-decoration:underline;cursor:pointer}.title-status-disabled{color:var(--granite-color-text-hint)}.title-status-parent{color:var(--granite-color-text)}button{all:unset}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactItemTitleComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'granite-contact-item-title', host: {
|
|
10
|
+
class: 'granite-contact-item-title',
|
|
11
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n tabindex=\"0\"\n data-fnd=\"contact-item-title\"\n [class.title-status-active]=\"!contact.disabled && !contact.options\"\n [class.title-status-disabled]=\"contact.disabled\"\n [class.title-status-parent]=\"!contact.disabled && contact.options\"\n>\n {{ contact.label }}\n</button>\n", styles: [".title-status-parent,.title-status-disabled,.title-status-active{font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular)}.title-status-active{color:var(--granite-color-text-link)}.title-status-active:hover{text-decoration:underline;cursor:pointer}.title-status-disabled{color:var(--granite-color-text-hint)}.title-status-parent{color:var(--granite-color-text)}button{all:unset}\n"] }]
|
|
12
|
+
}], propDecorators: { contact: [{
|
|
13
|
+
type: Input
|
|
14
|
+
}] } });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1pdGVtLXRpdGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29udGFjdHMvY29udGFjdC1pdGVtLXRpdGxlL2NvbnRhY3QtaXRlbS10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3QtaXRlbS10aXRsZS9jb250YWN0LWl0ZW0tdGl0bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWTFFLE1BQU0sT0FBTyxnQ0FBZ0M7OEdBQWhDLGdDQUFnQztrR0FBaEMsZ0NBQWdDLDBKQ1o3Qyw0U0FTQTs7MkZER2EsZ0NBQWdDO2tCQVQ1QyxTQUFTOytCQUNFLDRCQUE0QixRQUNoQzt3QkFDSixLQUFLLEVBQUUsNEJBQTRCO3FCQUNwQyxtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRhY3RFeHRlbmRlZCB9IGZyb20gJy4uL2NvbnRhY3RzLXR5cGVzL2NvbnRhY3RzLmNvbXBvbmVudC5wcml2YXRlLXR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhbml0ZS1jb250YWN0LWl0ZW0tdGl0bGUnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdncmFuaXRlLWNvbnRhY3QtaXRlbS10aXRsZScsXG4gIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0LWl0ZW0tdGl0bGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250YWN0LWl0ZW0tdGl0bGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVDb250YWN0SXRlbVRpdGxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29udGFjdDogQ29udGFjdEV4dGVuZGVkO1xufVxuIiwiPGJ1dHRvblxuICB0YWJpbmRleD1cIjBcIlxuICBkYXRhLWZuZD1cImNvbnRhY3QtaXRlbS10aXRsZVwiXG4gIFtjbGFzcy50aXRsZS1zdGF0dXMtYWN0aXZlXT1cIiFjb250YWN0LmRpc2FibGVkICYmICFjb250YWN0Lm9wdGlvbnNcIlxuICBbY2xhc3MudGl0bGUtc3RhdHVzLWRpc2FibGVkXT1cImNvbnRhY3QuZGlzYWJsZWRcIlxuICBbY2xhc3MudGl0bGUtc3RhdHVzLXBhcmVudF09XCIhY29udGFjdC5kaXNhYmxlZCAmJiBjb250YWN0Lm9wdGlvbnNcIlxuPlxuICB7eyBjb250YWN0LmxhYmVsIH19XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class GraniteContactsProfileComponent {
|
|
5
|
+
ngOnChanges(changes) {
|
|
6
|
+
const profile = changes.profile?.currentValue;
|
|
7
|
+
if (profile && profile.name && profile.surname) {
|
|
8
|
+
this.createProfileInitials(profile.name, profile.surname);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
createProfileInitials(name, surname) {
|
|
12
|
+
this._initials = name[0].toUpperCase() + surname[0].toUpperCase();
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactsProfileComponent, selector: "granite-contacts-profile", inputs: { profile: "profile", profileClass: "profileClass" }, host: { classAttribute: "granite-contacts-profile" }, usesOnChanges: true, ngImport: i0, template: "<div [class]=\"profileClass\" data-fnd=\"profile\" class=\"profile\">\n <img\n data-fnd=\"profile-avatar\"\n *ngIf=\"profile?.avatar; else noProfileAvatar\"\n [src]=\"profile?.avatar\"\n alt=\"profile avatar\"\n class=\"profile-avatar\"\n />\n\n <ng-template #noProfileAvatar>\n <div class=\"no-profile-avatar\">\n <span\n data-fnd=\"no-profile-avatar-initials\"\n class=\"no-profile-avatar-initials\"\n >{{ _initials }}</span\n >\n </div>\n </ng-template>\n\n <div>\n <p data-fnd=\"profile-info-names\" class=\"profile-name\">\n {{ profile?.name }} {{ profile?.surname }}\n </p>\n <p data-fnd=\"profile-info-job-title\" class=\"profile-job-title\">\n {{ profile?.jobTitle }}\n </p>\n </div>\n</div>\n", styles: [".profile{display:flex;align-items:center;margin-bottom:var(--granite-spacing-8);gap:var(--granite-spacing-4)}.profile-avatar{width:4.5rem;height:4.5rem;border-radius:50%;object-fit:cover}.profile-name{color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);margin:0 0 var(--granite-spacing-8)}.profile-job-title{color:var(--granite-color-text-hint);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);margin:0}.profile-surname{color:var(--granite-color-text-hint);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular)}.no-profile-avatar{display:flex;width:4.5rem;height:4.5rem;border-radius:360px;background:var(--granite-color-background-info);justify-content:center;align-items:center}.no-profile-avatar-initials{font-size:var(--granite-font-size-micro);color:var(--granite-color-signal-info);font-weight:var(--granite-font-weight-regular)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsProfileComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'granite-contacts-profile', host: {
|
|
20
|
+
class: 'granite-contacts-profile',
|
|
21
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"profileClass\" data-fnd=\"profile\" class=\"profile\">\n <img\n data-fnd=\"profile-avatar\"\n *ngIf=\"profile?.avatar; else noProfileAvatar\"\n [src]=\"profile?.avatar\"\n alt=\"profile avatar\"\n class=\"profile-avatar\"\n />\n\n <ng-template #noProfileAvatar>\n <div class=\"no-profile-avatar\">\n <span\n data-fnd=\"no-profile-avatar-initials\"\n class=\"no-profile-avatar-initials\"\n >{{ _initials }}</span\n >\n </div>\n </ng-template>\n\n <div>\n <p data-fnd=\"profile-info-names\" class=\"profile-name\">\n {{ profile?.name }} {{ profile?.surname }}\n </p>\n <p data-fnd=\"profile-info-job-title\" class=\"profile-job-title\">\n {{ profile?.jobTitle }}\n </p>\n </div>\n</div>\n", styles: [".profile{display:flex;align-items:center;margin-bottom:var(--granite-spacing-8);gap:var(--granite-spacing-4)}.profile-avatar{width:4.5rem;height:4.5rem;border-radius:50%;object-fit:cover}.profile-name{color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);margin:0 0 var(--granite-spacing-8)}.profile-job-title{color:var(--granite-color-text-hint);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-regular);margin:0}.profile-surname{color:var(--granite-color-text-hint);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular)}.no-profile-avatar{display:flex;width:4.5rem;height:4.5rem;border-radius:360px;background:var(--granite-color-background-info);justify-content:center;align-items:center}.no-profile-avatar-initials{font-size:var(--granite-font-size-micro);color:var(--granite-color-signal-info);font-weight:var(--granite-font-weight-regular)}\n"] }]
|
|
22
|
+
}], propDecorators: { profile: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], profileClass: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLXByb2ZpbGUvY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLXByb2ZpbGUvY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7OztBQVl2QixNQUFNLE9BQU8sK0JBQStCO0lBTTFDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQztRQUM5QyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxJQUFZLEVBQUUsT0FBZTtRQUN6RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEUsQ0FBQzs4R0FmVSwrQkFBK0I7a0dBQS9CLCtCQUErQix5TUNsQjVDLCt3QkE0QkE7OzJGRFZhLCtCQUErQjtrQkFUM0MsU0FBUzsrQkFDRSwwQkFBMEIsUUFDOUI7d0JBQ0osS0FBSyxFQUFFLDBCQUEwQjtxQkFDbEMsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi4vY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtY29udGFjdHMtcHJvZmlsZScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dyYW5pdGUtY29udGFjdHMtcHJvZmlsZScsXG4gIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0cy1wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUNvbnRhY3RzUHJvZmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHByb2ZpbGU6IFByb2ZpbGU7XG4gIEBJbnB1dCgpIHByb2ZpbGVDbGFzcztcblxuICBfaW5pdGlhbHM6IHN0cmluZztcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgcHJvZmlsZSA9IGNoYW5nZXMucHJvZmlsZT8uY3VycmVudFZhbHVlO1xuICAgIGlmIChwcm9maWxlICYmIHByb2ZpbGUubmFtZSAmJiBwcm9maWxlLnN1cm5hbWUpIHtcbiAgICAgIHRoaXMuY3JlYXRlUHJvZmlsZUluaXRpYWxzKHByb2ZpbGUubmFtZSwgcHJvZmlsZS5zdXJuYW1lKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVByb2ZpbGVJbml0aWFscyhuYW1lOiBzdHJpbmcsIHN1cm5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2luaXRpYWxzID0gbmFtZVswXS50b1VwcGVyQ2FzZSgpICsgc3VybmFtZVswXS50b1VwcGVyQ2FzZSgpO1xuICB9XG59XG4iLCI8ZGl2IFtjbGFzc109XCJwcm9maWxlQ2xhc3NcIiBkYXRhLWZuZD1cInByb2ZpbGVcIiBjbGFzcz1cInByb2ZpbGVcIj5cbiAgPGltZ1xuICAgIGRhdGEtZm5kPVwicHJvZmlsZS1hdmF0YXJcIlxuICAgICpuZ0lmPVwicHJvZmlsZT8uYXZhdGFyOyBlbHNlIG5vUHJvZmlsZUF2YXRhclwiXG4gICAgW3NyY109XCJwcm9maWxlPy5hdmF0YXJcIlxuICAgIGFsdD1cInByb2ZpbGUgYXZhdGFyXCJcbiAgICBjbGFzcz1cInByb2ZpbGUtYXZhdGFyXCJcbiAgLz5cblxuICA8bmctdGVtcGxhdGUgI25vUHJvZmlsZUF2YXRhcj5cbiAgICA8ZGl2IGNsYXNzPVwibm8tcHJvZmlsZS1hdmF0YXJcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGRhdGEtZm5kPVwibm8tcHJvZmlsZS1hdmF0YXItaW5pdGlhbHNcIlxuICAgICAgICBjbGFzcz1cIm5vLXByb2ZpbGUtYXZhdGFyLWluaXRpYWxzXCJcbiAgICAgICAgPnt7IF9pbml0aWFscyB9fTwvc3BhblxuICAgICAgPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxkaXY+XG4gICAgPHAgZGF0YS1mbmQ9XCJwcm9maWxlLWluZm8tbmFtZXNcIiBjbGFzcz1cInByb2ZpbGUtbmFtZVwiPlxuICAgICAge3sgcHJvZmlsZT8ubmFtZSB9fSB7eyBwcm9maWxlPy5zdXJuYW1lIH19XG4gICAgPC9wPlxuICAgIDxwIGRhdGEtZm5kPVwicHJvZmlsZS1pbmZvLWpvYi10aXRsZVwiIGNsYXNzPVwicHJvZmlsZS1qb2ItdGl0bGVcIj5cbiAgICAgIHt7IHByb2ZpbGU/LmpvYlRpdGxlIH19XG4gICAgPC9wPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { TemplateRef, ViewChild, Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
let contactsPanelUid = 0;
|
|
4
|
+
export class ContactsTriggerDataComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.xPosition = 'after';
|
|
7
|
+
this.yPosition = 'below';
|
|
8
|
+
/**
|
|
9
|
+
* Used for locating the panel in tests and setting the aria-control attribute
|
|
10
|
+
* for the contacts trigger.
|
|
11
|
+
*/
|
|
12
|
+
this.panelId = `granite-contacts-panel-${contactsPanelUid++}`;
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ContactsTriggerDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: ContactsTriggerDataComponent, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ContactsTriggerDataComponent, decorators: [{
|
|
18
|
+
type: Directive,
|
|
19
|
+
args: [{}]
|
|
20
|
+
}], propDecorators: { templateRef: [{
|
|
21
|
+
type: ViewChild,
|
|
22
|
+
args: [TemplateRef]
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMtdHJpZ2dlci1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb250YWN0cy9jb250YWN0cy10cmlnZ2VyL2NvbnRhY3RzLXRyaWdnZXItZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVWxFLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBR3pCLE1BQU0sT0FBTyw0QkFBNEI7SUFEekM7UUFJRSxjQUFTLEdBQWMsT0FBTyxDQUFDO1FBRS9CLGNBQVMsR0FBYyxPQUFPLENBQUM7UUFJL0I7OztXQUdHO1FBQ00sWUFBTyxHQUFHLDBCQUEwQixnQkFBZ0IsRUFBRSxFQUFFLENBQUM7S0FPbkU7OEdBcEJZLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHVFQUM1QixXQUFXOzsyRkFEWCw0QkFBNEI7a0JBRHhDLFNBQVM7bUJBQUMsRUFBRTs4QkFFYSxXQUFXO3NCQUFsQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENsaWVudElucHV0SW50ZXJmYWNlLFxuICBDbGllbnRPdXRwdXRJbnRlcmZhY2UsXG59IGZyb20gJy4uLy4uL2NvcmUvY2xpZW50LWVudmlyb25tZW50JztcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcblxuZXhwb3J0IHR5cGUgUG9zaXRpb25YID0gJ2JlZm9yZScgfCAnYWZ0ZXInO1xuZXhwb3J0IHR5cGUgUG9zaXRpb25ZID0gJ2Fib3ZlJyB8ICdiZWxvdyc7XG5cbmxldCBjb250YWN0c1BhbmVsVWlkID0gMDtcblxuQERpcmVjdGl2ZSh7fSlcbmV4cG9ydCBjbGFzcyBDb250YWN0c1RyaWdnZXJEYXRhQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZikgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIHhQb3NpdGlvbjogUG9zaXRpb25YID0gJ2FmdGVyJztcblxuICB5UG9zaXRpb246IFBvc2l0aW9uWSA9ICdiZWxvdyc7XG5cbiAgZGlyZWN0aW9uOiBEaXJlY3Rpb247XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIGxvY2F0aW5nIHRoZSBwYW5lbCBpbiB0ZXN0cyBhbmQgc2V0dGluZyB0aGUgYXJpYS1jb250cm9sIGF0dHJpYnV0ZVxuICAgKiBmb3IgdGhlIGNvbnRhY3RzIHRyaWdnZXIuXG4gICAqL1xuICByZWFkb25seSBwYW5lbElkID0gYGdyYW5pdGUtY29udGFjdHMtcGFuZWwtJHtjb250YWN0c1BhbmVsVWlkKyt9YDtcblxuICAvKiogQ2xpZW50IGlucHV0IGRldmljZSBpbmZvcm1hdGlvbiAqL1xuICBjbGllbnRJbnB1dDogQ2xpZW50SW5wdXRJbnRlcmZhY2U7XG5cbiAgLyoqIENsaWVudCBvdXRwdXQgZGV2aWNlIGluZm9ybWF0aW9uICovXG4gIGNsaWVudE91dHB1dDogQ2xpZW50T3V0cHV0SW50ZXJmYWNlO1xufVxuIl19
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { Directive, ElementRef, Inject, Input, Optional, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
3
|
+
import { Directionality } from '@angular/cdk/bidi';
|
|
4
|
+
import { Overlay, OverlayConfig, OverlayOutsideClickDispatcher, } from '@angular/cdk/overlay';
|
|
5
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
6
|
+
import { Subscription } from 'rxjs';
|
|
7
|
+
import { GraniteContactsComponent } from '../contacts.component';
|
|
8
|
+
import { GRANITE_CLIENT_INPUT, GRANITE_CLIENT_OUTPUT, } from '../../core/client-environment';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
11
|
+
import * as i2 from "@angular/cdk/bidi";
|
|
12
|
+
import * as i3 from "@angular/cdk/a11y";
|
|
13
|
+
export class GraniteContactsTriggerForDirective {
|
|
14
|
+
constructor(_overlay, _element, _viewContainerRef, _outsideClickDispatcher,
|
|
15
|
+
/** Client input device information */
|
|
16
|
+
_clientInput,
|
|
17
|
+
/** Client output device information */
|
|
18
|
+
_clientOutput, _dir, _focusMonitor) {
|
|
19
|
+
this._overlay = _overlay;
|
|
20
|
+
this._element = _element;
|
|
21
|
+
this._viewContainerRef = _viewContainerRef;
|
|
22
|
+
this._outsideClickDispatcher = _outsideClickDispatcher;
|
|
23
|
+
this._clientInput = _clientInput;
|
|
24
|
+
this._clientOutput = _clientOutput;
|
|
25
|
+
this._dir = _dir;
|
|
26
|
+
this._focusMonitor = _focusMonitor;
|
|
27
|
+
/** Whether the associated contacts is open */
|
|
28
|
+
this._isContactsOpen = false;
|
|
29
|
+
this._contactsCloseSubscription = Subscription.EMPTY;
|
|
30
|
+
this._portal = null;
|
|
31
|
+
this._overlayRef = null;
|
|
32
|
+
}
|
|
33
|
+
ngAfterContentInit() {
|
|
34
|
+
const selectedContact = this.contacts.selectedContact;
|
|
35
|
+
this._contactsCloseSubscription = selectedContact.subscribe(() => this.closeContacts());
|
|
36
|
+
}
|
|
37
|
+
ngOnDestroy() {
|
|
38
|
+
if (this._overlayRef) {
|
|
39
|
+
this._overlayRef.dispose();
|
|
40
|
+
this._overlayRef = null;
|
|
41
|
+
}
|
|
42
|
+
this._contactsCloseSubscription.unsubscribe();
|
|
43
|
+
}
|
|
44
|
+
isOpen() {
|
|
45
|
+
return this._isContactsOpen;
|
|
46
|
+
}
|
|
47
|
+
openContacts() {
|
|
48
|
+
if (this._isContactsOpen) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this.contacts.direction = this._dir.value === 'rtl' ? 'rtl' : 'ltr';
|
|
52
|
+
this.contacts.clientInput = this._clientInput;
|
|
53
|
+
this.contacts.clientOutput = this._clientOutput;
|
|
54
|
+
const panelClass = [];
|
|
55
|
+
if (this._clientOutput?.device === 'touch') {
|
|
56
|
+
panelClass.push('granite-overlay-pane-center');
|
|
57
|
+
}
|
|
58
|
+
const scrollStrategy = this._clientOutput?.device !== 'touch'
|
|
59
|
+
? this._overlay.scrollStrategies.reposition()
|
|
60
|
+
: this._overlay.scrollStrategies.block();
|
|
61
|
+
const hasBackdrop = this._clientOutput?.device === 'touch';
|
|
62
|
+
if (!this._overlayRef) {
|
|
63
|
+
const config = new OverlayConfig({
|
|
64
|
+
positionStrategy: this._positionStrategy(),
|
|
65
|
+
backdropClass: 'granite-overlay-dark-glass-backdrop',
|
|
66
|
+
scrollStrategy,
|
|
67
|
+
direction: this._dir,
|
|
68
|
+
panelClass,
|
|
69
|
+
hasBackdrop,
|
|
70
|
+
});
|
|
71
|
+
this._overlayRef = this._overlay.create(config);
|
|
72
|
+
}
|
|
73
|
+
if (!this._portal ||
|
|
74
|
+
this._portal.templateRef !== this.contacts.templateRef) {
|
|
75
|
+
this._portal = new TemplatePortal(this.contacts.templateRef, this._viewContainerRef);
|
|
76
|
+
}
|
|
77
|
+
// Attach portal to overlay ref (which is a portal outlet)
|
|
78
|
+
this._overlayRef.attach(this._portal);
|
|
79
|
+
this._outsideClickDispatcher.add(this._overlayRef);
|
|
80
|
+
this._overlayRef.outsidePointerEvents().subscribe((event) => {
|
|
81
|
+
event.stopPropagation();
|
|
82
|
+
this.closeContacts();
|
|
83
|
+
});
|
|
84
|
+
this._isContactsOpen = true;
|
|
85
|
+
}
|
|
86
|
+
/** Toggles the contacts between the open and closed states. */
|
|
87
|
+
toggleContacts() {
|
|
88
|
+
if (this._isContactsOpen) {
|
|
89
|
+
this.closeContacts();
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this.openContacts();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/** Close the associated contacts */
|
|
96
|
+
closeContacts() {
|
|
97
|
+
if (!this._overlayRef || !this._isContactsOpen) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
this._outsideClickDispatcher.remove(this._overlayRef);
|
|
101
|
+
this._overlayRef.detach();
|
|
102
|
+
this._restoreFocus();
|
|
103
|
+
this._isContactsOpen = false;
|
|
104
|
+
}
|
|
105
|
+
/** Handles key presses on the trigger. */
|
|
106
|
+
_handleKeydown(event) {
|
|
107
|
+
if (event.key === 'Enter') {
|
|
108
|
+
event.preventDefault();
|
|
109
|
+
this.toggleContacts();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/** Handles click events on the trigger. */
|
|
113
|
+
_handleClick() {
|
|
114
|
+
this.toggleContacts();
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Restores focus to the element that was focused before the contacts was open.
|
|
118
|
+
*/
|
|
119
|
+
_restoreFocus(origin = 'program', options) {
|
|
120
|
+
if (this._focusMonitor) {
|
|
121
|
+
this._focusMonitor.focusVia(this._element, origin, options);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
this._element.nativeElement.focus(options);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Returns strategy for positioning the overlay for desktop devices:
|
|
129
|
+
*/
|
|
130
|
+
_desktopPositionStrategy() {
|
|
131
|
+
const positionStrategy = this._overlay
|
|
132
|
+
.position()
|
|
133
|
+
.flexibleConnectedTo(this._element)
|
|
134
|
+
.withLockedPosition()
|
|
135
|
+
.withTransformOriginOn('.granite-contacts')
|
|
136
|
+
.withPush(false);
|
|
137
|
+
this._setPosition(positionStrategy);
|
|
138
|
+
return positionStrategy;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Sets the appropriate positions on a position strategy
|
|
142
|
+
* so the overlay connects with the trigger correctly.
|
|
143
|
+
* @param positionStrategy Strategy whose position to update.
|
|
144
|
+
*/
|
|
145
|
+
_setPosition(positionStrategy) {
|
|
146
|
+
const [originX, originFallbackX] = this.contacts.xPosition === 'before'
|
|
147
|
+
? ['end', 'start']
|
|
148
|
+
: ['start', 'end'];
|
|
149
|
+
const [overlayY, overlayFallbackY] = this.contacts.yPosition === 'above'
|
|
150
|
+
? ['bottom', 'top']
|
|
151
|
+
: ['top', 'bottom'];
|
|
152
|
+
let [originY, originFallbackY] = [overlayY, overlayFallbackY];
|
|
153
|
+
const [overlayX, overlayFallbackX] = [originX, originFallbackX];
|
|
154
|
+
const offsetY = 0;
|
|
155
|
+
originY = overlayY === 'top' ? 'bottom' : 'top';
|
|
156
|
+
originFallbackY = overlayFallbackY === 'top' ? 'bottom' : 'top';
|
|
157
|
+
positionStrategy.withPositions([
|
|
158
|
+
{ originX, originY, overlayX, overlayY, offsetY },
|
|
159
|
+
{
|
|
160
|
+
originX: originFallbackX,
|
|
161
|
+
originY,
|
|
162
|
+
overlayX: overlayFallbackX,
|
|
163
|
+
overlayY,
|
|
164
|
+
offsetY,
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
originX,
|
|
168
|
+
originY: originFallbackY,
|
|
169
|
+
overlayX,
|
|
170
|
+
overlayY: overlayFallbackY,
|
|
171
|
+
offsetY: -offsetY,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
originX: originFallbackX,
|
|
175
|
+
originY: originFallbackY,
|
|
176
|
+
overlayX: overlayFallbackX,
|
|
177
|
+
overlayY: overlayFallbackY,
|
|
178
|
+
offsetY: -offsetY,
|
|
179
|
+
},
|
|
180
|
+
]);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Returns strategy for positioning the overlay depending on what type of
|
|
184
|
+
* device the contacts is being shown on
|
|
185
|
+
*/
|
|
186
|
+
_positionStrategy() {
|
|
187
|
+
if (this._clientOutput?.device !== 'touch') {
|
|
188
|
+
return this._desktopPositionStrategy();
|
|
189
|
+
}
|
|
190
|
+
return this._touchPositionStrategy();
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Returns strategy for positioning the overlay for touch devices:
|
|
194
|
+
* Place centered in the screen.
|
|
195
|
+
*/
|
|
196
|
+
_touchPositionStrategy() {
|
|
197
|
+
return this._overlay.position().global();
|
|
198
|
+
}
|
|
199
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsTriggerForDirective, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1.OverlayOutsideClickDispatcher }, { token: GRANITE_CLIENT_INPUT, optional: true }, { token: GRANITE_CLIENT_OUTPUT, optional: true }, { token: i2.Directionality, optional: true }, { token: i3.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
200
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactsTriggerForDirective, selector: "[graniteContactsTriggerFor]", inputs: { contacts: ["graniteContactsTriggerFor", "contacts"] }, host: { attributes: { "aria-haspopup": "true" }, listeners: { "keydown": "_handleKeydown($event)", "click": "_handleClick($event)" }, properties: { "attr.aria-expanded": "_isContactsOpen || null", "attr.aria-controls": "_isContactsOpen ? contacts.panelId : null" }, classAttribute: "granite-contacts-trigger" }, ngImport: i0 }); }
|
|
201
|
+
}
|
|
202
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsTriggerForDirective, decorators: [{
|
|
203
|
+
type: Directive,
|
|
204
|
+
args: [{
|
|
205
|
+
selector: `[graniteContactsTriggerFor]`,
|
|
206
|
+
host: {
|
|
207
|
+
class: 'granite-contacts-trigger',
|
|
208
|
+
'aria-haspopup': 'true',
|
|
209
|
+
'[attr.aria-expanded]': '_isContactsOpen || null',
|
|
210
|
+
'[attr.aria-controls]': '_isContactsOpen ? contacts.panelId : null',
|
|
211
|
+
'(keydown)': '_handleKeydown($event)',
|
|
212
|
+
'(click)': '_handleClick($event)',
|
|
213
|
+
},
|
|
214
|
+
}]
|
|
215
|
+
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i1.OverlayOutsideClickDispatcher }, { type: undefined, decorators: [{
|
|
216
|
+
type: Inject,
|
|
217
|
+
args: [GRANITE_CLIENT_INPUT]
|
|
218
|
+
}, {
|
|
219
|
+
type: Optional
|
|
220
|
+
}] }, { type: undefined, decorators: [{
|
|
221
|
+
type: Inject,
|
|
222
|
+
args: [GRANITE_CLIENT_OUTPUT]
|
|
223
|
+
}, {
|
|
224
|
+
type: Optional
|
|
225
|
+
}] }, { type: i2.Directionality, decorators: [{
|
|
226
|
+
type: Optional
|
|
227
|
+
}] }, { type: i3.FocusMonitor }], propDecorators: { contacts: [{
|
|
228
|
+
type: Input,
|
|
229
|
+
args: ['graniteContactsTriggerFor']
|
|
230
|
+
}] } });
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMtdHJpZ2dlci1mb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb250YWN0cy9jb250YWN0cy10cmlnZ2VyL2NvbnRhY3RzLXRyaWdnZXItZm9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBR0wsT0FBTyxFQUNQLGFBQWEsRUFDYiw2QkFBNkIsR0FJOUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBR0wsb0JBQW9CLEVBQ3BCLHFCQUFxQixHQUN0QixNQUFNLCtCQUErQixDQUFDOzs7OztBQWF2QyxNQUFNLE9BQU8sa0NBQWtDO0lBZTdDLFlBQ1UsUUFBaUIsRUFDakIsUUFBaUMsRUFDakMsaUJBQW1DLEVBQ25DLHVCQUFzRDtJQUU5RCxzQ0FBc0M7SUFHL0IsWUFBa0M7SUFFekMsdUNBQXVDO0lBR2hDLGFBQW9DLEVBR25DLElBQW9CLEVBRXBCLGFBQTJCO1FBbEIzQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQ2pDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUErQjtRQUt2RCxpQkFBWSxHQUFaLFlBQVksQ0FBc0I7UUFLbEMsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBR25DLFNBQUksR0FBSixJQUFJLENBQWdCO1FBRXBCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBM0JyQyw4Q0FBOEM7UUFDOUMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFekIsK0JBQTBCLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUVoRCxZQUFPLEdBQTBCLElBQUksQ0FBQztRQUN0QyxnQkFBVyxHQUFzQixJQUFJLENBQUM7SUFzQjNDLENBQUM7SUFFSixrQkFBa0I7UUFDaEIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFFdEQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQy9ELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FDckIsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUVoRCxNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMzQyxVQUFVLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sS0FBSyxPQUFPO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtZQUM3QyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUU3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sS0FBSyxPQUFPLENBQUM7UUFFM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQztnQkFDL0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxQyxhQUFhLEVBQUUscUNBQXFDO2dCQUNwRCxjQUFjO2dCQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDcEIsVUFBVTtnQkFDVixXQUFXO2FBQ1osQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBRUQsSUFDRSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQ3RELENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksY0FBYyxDQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUN2QixDQUFDO1FBQ0osQ0FBQztRQUNELDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtZQUN0RSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELCtEQUErRDtJQUMvRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMvQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFMUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsY0FBYyxDQUFDLEtBQW9CO1FBQ2pDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLFlBQVk7UUFDVixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLFNBQXNCLFNBQVMsRUFBRSxPQUFzQjtRQUNuRSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssd0JBQXdCO1FBQzlCLE1BQU0sZ0JBQWdCLEdBQXNDLElBQUksQ0FBQyxRQUFRO2FBQ3RFLFFBQVEsRUFBRTthQUNWLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDbEMsa0JBQWtCLEVBQUU7YUFDcEIscUJBQXFCLENBQUMsbUJBQW1CLENBQUM7YUFDMUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5CLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssWUFBWSxDQUFDLGdCQUFtRDtRQUN0RSxNQUFNLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxHQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsS0FBSyxRQUFRO1lBQ2xDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7WUFDbEIsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXZCLE1BQU0sQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsR0FDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEtBQUssT0FBTztZQUNqQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQztRQUVsQixPQUFPLEdBQUcsUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDaEQsZUFBZSxHQUFHLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFaEUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO1lBQzdCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtZQUNqRDtnQkFDRSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsT0FBTztnQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRO2dCQUNSLE9BQU87YUFDUjtZQUNEO2dCQUNFLE9BQU87Z0JBQ1AsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFFBQVE7Z0JBQ1IsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsT0FBTyxFQUFFLENBQUMsT0FBTzthQUNsQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixPQUFPLEVBQUUsZUFBZTtnQkFDeEIsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsT0FBTyxFQUFFLENBQUMsT0FBTzthQUNsQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxpQkFBaUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMzQyxPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSyxzQkFBc0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNDLENBQUM7OEdBOU9VLGtDQUFrQyxnSkFzQm5DLG9CQUFvQiw2QkFLcEIscUJBQXFCO2tHQTNCcEIsa0NBQWtDOzsyRkFBbEMsa0NBQWtDO2tCQVg5QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsMEJBQTBCO3dCQUNqQyxlQUFlLEVBQUUsTUFBTTt3QkFDdkIsc0JBQXNCLEVBQUUseUJBQXlCO3dCQUNqRCxzQkFBc0IsRUFBRSwyQ0FBMkM7d0JBQ25FLFdBQVcsRUFBRSx3QkFBd0I7d0JBQ3JDLFNBQVMsRUFBRSxzQkFBc0I7cUJBQ2xDO2lCQUNGOzswQkF1QkksTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixRQUFROzswQkFJUixNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLFFBQVE7OzBCQUdSLFFBQVE7b0VBMUJYLFFBQVE7c0JBRFAsS0FBSzt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQge1xuICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXG4gIEhvcml6b250YWxDb25uZWN0aW9uUG9zLFxuICBPdmVybGF5LFxuICBPdmVybGF5Q29uZmlnLFxuICBPdmVybGF5T3V0c2lkZUNsaWNrRGlzcGF0Y2hlcixcbiAgT3ZlcmxheVJlZixcbiAgUG9zaXRpb25TdHJhdGVneSxcbiAgVmVydGljYWxDb25uZWN0aW9uUG9zLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdyYW5pdGVDb250YWN0c0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRhY3RzLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBDbGllbnRJbnB1dEludGVyZmFjZSxcbiAgQ2xpZW50T3V0cHV0SW50ZXJmYWNlLFxuICBHUkFOSVRFX0NMSUVOVF9JTlBVVCxcbiAgR1JBTklURV9DTElFTlRfT1VUUFVULFxufSBmcm9tICcuLi8uLi9jb3JlL2NsaWVudC1lbnZpcm9ubWVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogYFtncmFuaXRlQ29udGFjdHNUcmlnZ2VyRm9yXWAsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dyYW5pdGUtY29udGFjdHMtdHJpZ2dlcicsXG4gICAgJ2FyaWEtaGFzcG9wdXAnOiAndHJ1ZScsXG4gICAgJ1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ19pc0NvbnRhY3RzT3BlbiB8fCBudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1jb250cm9sc10nOiAnX2lzQ29udGFjdHNPcGVuID8gY29udGFjdHMucGFuZWxJZCA6IG51bGwnLFxuICAgICcoa2V5ZG93biknOiAnX2hhbmRsZUtleWRvd24oJGV2ZW50KScsXG4gICAgJyhjbGljayknOiAnX2hhbmRsZUNsaWNrKCRldmVudCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQ29udGFjdHNUcmlnZ2VyRm9yRGlyZWN0aXZlXG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKiBSZWZlcmVuY2VzIHRoZSBjb250YWN0cyBpbnN0YW5jZSB0aGF0IHRoZSB0cmlnZ2VyIGlzIGFzc29jaWF0ZWQgd2l0aC4gKi9cbiAgQElucHV0KCdncmFuaXRlQ29udGFjdHNUcmlnZ2VyRm9yJylcbiAgY29udGFjdHM6IEdyYW5pdGVDb250YWN0c0NvbXBvbmVudDtcblxuICAvKiogV2hldGhlciB0aGUgYXNzb2NpYXRlZCBjb250YWN0cyBpcyBvcGVuICovXG4gIF9pc0NvbnRhY3RzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2NvbnRhY3RzQ2xvc2VTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgcHJpdmF0ZSBfcG9ydGFsOiBUZW1wbGF0ZVBvcnRhbCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgX291dHNpZGVDbGlja0Rpc3BhdGNoZXI6IE92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLFxuXG4gICAgLyoqIENsaWVudCBpbnB1dCBkZXZpY2UgaW5mb3JtYXRpb24gKi9cbiAgICBASW5qZWN0KEdSQU5JVEVfQ0xJRU5UX0lOUFVUKVxuICAgIEBPcHRpb25hbCgpXG4gICAgcHVibGljIF9jbGllbnRJbnB1dDogQ2xpZW50SW5wdXRJbnRlcmZhY2UsXG5cbiAgICAvKiogQ2xpZW50IG91dHB1dCBkZXZpY2UgaW5mb3JtYXRpb24gKi9cbiAgICBASW5qZWN0KEdSQU5JVEVfQ0xJRU5UX09VVFBVVClcbiAgICBAT3B0aW9uYWwoKVxuICAgIHB1YmxpYyBfY2xpZW50T3V0cHV0OiBDbGllbnRPdXRwdXRJbnRlcmZhY2UsXG5cbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXG5cbiAgICBwcml2YXRlIF9mb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvclxuICApIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkQ29udGFjdCA9IHRoaXMuY29udGFjdHMuc2VsZWN0ZWRDb250YWN0O1xuXG4gICAgdGhpcy5fY29udGFjdHNDbG9zZVN1YnNjcmlwdGlvbiA9IHNlbGVjdGVkQ29udGFjdC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMuY2xvc2VDb250YWN0cygpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLl9jb250YWN0c0Nsb3NlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQ29udGFjdHNPcGVuO1xuICB9XG5cbiAgb3BlbkNvbnRhY3RzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0NvbnRhY3RzT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29udGFjdHMuZGlyZWN0aW9uID0gdGhpcy5fZGlyLnZhbHVlID09PSAncnRsJyA/ICdydGwnIDogJ2x0cic7XG4gICAgdGhpcy5jb250YWN0cy5jbGllbnRJbnB1dCA9IHRoaXMuX2NsaWVudElucHV0O1xuICAgIHRoaXMuY29udGFjdHMuY2xpZW50T3V0cHV0ID0gdGhpcy5fY2xpZW50T3V0cHV0O1xuXG4gICAgY29uc3QgcGFuZWxDbGFzczogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAodGhpcy5fY2xpZW50T3V0cHV0Py5kZXZpY2UgPT09ICd0b3VjaCcpIHtcbiAgICAgIHBhbmVsQ2xhc3MucHVzaCgnZ3Jhbml0ZS1vdmVybGF5LXBhbmUtY2VudGVyJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2Nyb2xsU3RyYXRlZ3kgPVxuICAgICAgdGhpcy5fY2xpZW50T3V0cHV0Py5kZXZpY2UgIT09ICd0b3VjaCdcbiAgICAgICAgPyB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG4gICAgICAgIDogdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCk7XG5cbiAgICBjb25zdCBoYXNCYWNrZHJvcCA9IHRoaXMuX2NsaWVudE91dHB1dD8uZGV2aWNlID09PSAndG91Y2gnO1xuXG4gICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICBjb25zdCBjb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3koKSxcbiAgICAgICAgYmFja2Ryb3BDbGFzczogJ2dyYW5pdGUtb3ZlcmxheS1kYXJrLWdsYXNzLWJhY2tkcm9wJyxcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLFxuICAgICAgICBwYW5lbENsYXNzLFxuICAgICAgICBoYXNCYWNrZHJvcCxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhdGhpcy5fcG9ydGFsIHx8XG4gICAgICB0aGlzLl9wb3J0YWwudGVtcGxhdGVSZWYgIT09IHRoaXMuY29udGFjdHMudGVtcGxhdGVSZWZcbiAgICApIHtcbiAgICAgIHRoaXMuX3BvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcbiAgICAgICAgdGhpcy5jb250YWN0cy50ZW1wbGF0ZVJlZixcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZlxuICAgICAgKTtcbiAgICB9XG4gICAgLy8gQXR0YWNoIHBvcnRhbCB0byBvdmVybGF5IHJlZiAod2hpY2ggaXMgYSBwb3J0YWwgb3V0bGV0KVxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3BvcnRhbCk7XG4gICAgdGhpcy5fb3V0c2lkZUNsaWNrRGlzcGF0Y2hlci5hZGQodGhpcy5fb3ZlcmxheVJlZik7XG4gICAgdGhpcy5fb3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5jbG9zZUNvbnRhY3RzKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9pc0NvbnRhY3RzT3BlbiA9IHRydWU7XG4gIH1cblxuICAvKiogVG9nZ2xlcyB0aGUgY29udGFjdHMgYmV0d2VlbiB0aGUgb3BlbiBhbmQgY2xvc2VkIHN0YXRlcy4gKi9cbiAgdG9nZ2xlQ29udGFjdHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzQ29udGFjdHNPcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlQ29udGFjdHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuQ29udGFjdHMoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2UgdGhlIGFzc29jaWF0ZWQgY29udGFjdHMgKi9cbiAgY2xvc2VDb250YWN0cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYgfHwgIXRoaXMuX2lzQ29udGFjdHNPcGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fb3V0c2lkZUNsaWNrRGlzcGF0Y2hlci5yZW1vdmUodGhpcy5fb3ZlcmxheVJlZik7XG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcblxuICAgIHRoaXMuX3Jlc3RvcmVGb2N1cygpO1xuICAgIHRoaXMuX2lzQ29udGFjdHNPcGVuID0gZmFsc2U7XG4gIH1cblxuICAvKiogSGFuZGxlcyBrZXkgcHJlc3NlcyBvbiB0aGUgdHJpZ2dlci4gKi9cbiAgX2hhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy50b2dnbGVDb250YWN0cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBIYW5kbGVzIGNsaWNrIGV2ZW50cyBvbiB0aGUgdHJpZ2dlci4gKi9cbiAgX2hhbmRsZUNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlQ29udGFjdHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyBmb2N1cyB0byB0aGUgZWxlbWVudCB0aGF0IHdhcyBmb2N1c2VkIGJlZm9yZSB0aGUgY29udGFjdHMgd2FzIG9wZW4uXG4gICAqL1xuICBfcmVzdG9yZUZvY3VzKG9yaWdpbjogRm9jdXNPcmlnaW4gPSAncHJvZ3JhbScsIG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZm9jdXNNb25pdG9yKSB7XG4gICAgICB0aGlzLl9mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5fZWxlbWVudCwgb3JpZ2luLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHN0cmF0ZWd5IGZvciBwb3NpdGlvbmluZyB0aGUgb3ZlcmxheSBmb3IgZGVza3RvcCBkZXZpY2VzOlxuICAgKi9cbiAgcHJpdmF0ZSBfZGVza3RvcFBvc2l0aW9uU3RyYXRlZ3koKTogUG9zaXRpb25TdHJhdGVneSB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2VsZW1lbnQpXG4gICAgICAud2l0aExvY2tlZFBvc2l0aW9uKClcbiAgICAgIC53aXRoVHJhbnNmb3JtT3JpZ2luT24oJy5ncmFuaXRlLWNvbnRhY3RzJylcbiAgICAgIC53aXRoUHVzaChmYWxzZSk7XG5cbiAgICB0aGlzLl9zZXRQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICByZXR1cm4gcG9zaXRpb25TdHJhdGVneTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhcHByb3ByaWF0ZSBwb3NpdGlvbnMgb24gYSBwb3NpdGlvbiBzdHJhdGVneVxuICAgKiBzbyB0aGUgb3ZlcmxheSBjb25uZWN0cyB3aXRoIHRoZSB0cmlnZ2VyIGNvcnJlY3RseS5cbiAgICogQHBhcmFtIHBvc2l0aW9uU3RyYXRlZ3kgU3RyYXRlZ3kgd2hvc2UgcG9zaXRpb24gdG8gdXBkYXRlLlxuICAgKi9cbiAgcHJpdmF0ZSBfc2V0UG9zaXRpb24ocG9zaXRpb25TdHJhdGVneTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KSB7XG4gICAgY29uc3QgW29yaWdpblgsIG9yaWdpbkZhbGxiYWNrWF06IEhvcml6b250YWxDb25uZWN0aW9uUG9zW10gPVxuICAgICAgdGhpcy5jb250YWN0cy54UG9zaXRpb24gPT09ICdiZWZvcmUnXG4gICAgICAgID8gWydlbmQnLCAnc3RhcnQnXVxuICAgICAgICA6IFsnc3RhcnQnLCAnZW5kJ107XG5cbiAgICBjb25zdCBbb3ZlcmxheVksIG92ZXJsYXlGYWxsYmFja1ldOiBWZXJ0aWNhbENvbm5lY3Rpb25Qb3NbXSA9XG4gICAgICB0aGlzLmNvbnRhY3RzLnlQb3NpdGlvbiA9PT0gJ2Fib3ZlJ1xuICAgICAgICA/IFsnYm90dG9tJywgJ3RvcCddXG4gICAgICAgIDogWyd0b3AnLCAnYm90dG9tJ107XG5cbiAgICBsZXQgW29yaWdpblksIG9yaWdpbkZhbGxiYWNrWV0gPSBbb3ZlcmxheVksIG92ZXJsYXlGYWxsYmFja1ldO1xuICAgIGNvbnN0IFtvdmVybGF5WCwgb3ZlcmxheUZhbGxiYWNrWF0gPSBbb3JpZ2luWCwgb3JpZ2luRmFsbGJhY2tYXTtcbiAgICBjb25zdCBvZmZzZXRZID0gMDtcblxuICAgIG9yaWdpblkgPSBvdmVybGF5WSA9PT0gJ3RvcCcgPyAnYm90dG9tJyA6ICd0b3AnO1xuICAgIG9yaWdpbkZhbGxiYWNrWSA9IG92ZXJsYXlGYWxsYmFja1kgPT09ICd0b3AnID8gJ2JvdHRvbScgOiAndG9wJztcblxuICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFBvc2l0aW9ucyhbXG4gICAgICB7IG9yaWdpblgsIG9yaWdpblksIG92ZXJsYXlYLCBvdmVybGF5WSwgb2Zmc2V0WSB9LFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiBvcmlnaW5GYWxsYmFja1gsXG4gICAgICAgIG9yaWdpblksXG4gICAgICAgIG92ZXJsYXlYOiBvdmVybGF5RmFsbGJhY2tYLFxuICAgICAgICBvdmVybGF5WSxcbiAgICAgICAgb2Zmc2V0WSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG9yaWdpblgsXG4gICAgICAgIG9yaWdpblk6IG9yaWdpbkZhbGxiYWNrWSxcbiAgICAgICAgb3ZlcmxheVgsXG4gICAgICAgIG92ZXJsYXlZOiBvdmVybGF5RmFsbGJhY2tZLFxuICAgICAgICBvZmZzZXRZOiAtb2Zmc2V0WSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG9yaWdpblg6IG9yaWdpbkZhbGxiYWNrWCxcbiAgICAgICAgb3JpZ2luWTogb3JpZ2luRmFsbGJhY2tZLFxuICAgICAgICBvdmVybGF5WDogb3ZlcmxheUZhbGxiYWNrWCxcbiAgICAgICAgb3ZlcmxheVk6IG92ZXJsYXlGYWxsYmFja1ksXG4gICAgICAgIG9mZnNldFk6IC1vZmZzZXRZLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHN0cmF0ZWd5IGZvciBwb3NpdGlvbmluZyB0aGUgb3ZlcmxheSBkZXBlbmRpbmcgb24gd2hhdCB0eXBlIG9mXG4gICAqIGRldmljZSB0aGUgY29udGFjdHMgaXMgYmVpbmcgc2hvd24gb25cbiAgICovXG4gIHByaXZhdGUgX3Bvc2l0aW9uU3RyYXRlZ3koKTogUG9zaXRpb25TdHJhdGVneSB7XG4gICAgaWYgKHRoaXMuX2NsaWVudE91dHB1dD8uZGV2aWNlICE9PSAndG91Y2gnKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZGVza3RvcFBvc2l0aW9uU3RyYXRlZ3koKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3RvdWNoUG9zaXRpb25TdHJhdGVneSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgc3RyYXRlZ3kgZm9yIHBvc2l0aW9uaW5nIHRoZSBvdmVybGF5IGZvciB0b3VjaCBkZXZpY2VzOlxuICAgKiBQbGFjZSBjZW50ZXJlZCBpbiB0aGUgc2NyZWVuLlxuICAgKi9cbiAgcHJpdmF0ZSBfdG91Y2hQb3NpdGlvblN0cmF0ZWd5KCk6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIHJldHVybiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LnByaXZhdGUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLXR5cGVzL2NvbnRhY3RzLmNvbXBvbmVudC5wcml2YXRlLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGFjdCB9IGZyb20gJy4vY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdEV4dGVuZGVkIGV4dGVuZHMgQ29udGFjdCB7XG4gIHN0YXR1c1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const CONTACT_DEFAULT_STATUS = {
|
|
2
|
+
AVAILABLE: 'Available',
|
|
3
|
+
AWAY: 'Away',
|
|
4
|
+
BE_RIGHT_BACK: 'BeRightBack',
|
|
5
|
+
BUSY: 'Busy',
|
|
6
|
+
DO_NOT_DISTURB: 'DoNotDisturb',
|
|
7
|
+
OFFLINE: 'Offline',
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29udGFjdHMvY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxTQUFTLEVBQUUsV0FBVztJQUN0QixJQUFJLEVBQUUsTUFBTTtJQUNaLGFBQWEsRUFBRSxhQUFhO0lBQzVCLElBQUksRUFBRSxNQUFNO0lBQ1osY0FBYyxFQUFFLGNBQWM7SUFDOUIsT0FBTyxFQUFFLFNBQVM7Q0FDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ29udGFjdERlZmF1bHRTdGF0dXNlcyA9XG4gICh0eXBlb2YgQ09OVEFDVF9ERUZBVUxUX1NUQVRVUylba2V5b2YgdHlwZW9mIENPTlRBQ1RfREVGQVVMVF9TVEFUVVNdO1xuXG5leHBvcnQgY29uc3QgQ09OVEFDVF9ERUZBVUxUX1NUQVRVUyA9IHtcbiAgQVZBSUxBQkxFOiAnQXZhaWxhYmxlJyxcbiAgQVdBWTogJ0F3YXknLFxuICBCRV9SSUdIVF9CQUNLOiAnQmVSaWdodEJhY2snLFxuICBCVVNZOiAnQnVzeScsXG4gIERPX05PVF9ESVNUVVJCOiAnRG9Ob3REaXN0dXJiJyxcbiAgT0ZGTElORTogJ09mZmxpbmUnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBDb250YWN0IHtcbiAgbmFtZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBpY29uTmFtZT86IHN0cmluZztcbiAgc3RhdHVzPzogQ29udGFjdERlZmF1bHRTdGF0dXNlcyB8IHN0cmluZztcbiAgb3B0aW9ucz86IENvbnRhY3RPcHRpb25zW107XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQ29udGFjdE9wdGlvbnMgPSBPbWl0PENvbnRhY3QsICdvcHRpb25zJz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHN1cm5hbWU/OiBzdHJpbmc7XG4gIGpvYlRpdGxlPzogc3RyaW5nO1xuICBhdmF0YXI/OiBzdHJpbmc7XG59XG4iXX0=
|