@igor2017/sat-popover
Version:
Popover component for Angular
29 lines • 4.97 kB
JavaScript
import { VALID_HORIZ_ALIGN, VALID_VERT_ALIGN, VALID_SCROLL } from './types';
export function getUnanchoredPopoverError() {
return Error('SatPopover does not have an anchor.');
}
export function getInvalidPopoverAnchorError() {
return Error('SatPopover#anchor must be an instance of SatPopoverAnchor, ElementRef, or HTMLElement.');
}
export function getInvalidPopoverError() {
return Error('SatPopoverAnchor#satPopoverAnchor must be an instance of SatPopover.');
}
export function getInvalidSatPopoverAnchorError() {
return Error(`SatPopoverAnchor must be associated with a ` +
`SatPopover component. ` +
`Examples: <sat-popover [anchor]="satPopoverAnchorTemplateRef"> or ` +
`<button satPopoverAnchor [satPopoverAnchor]="satPopoverTemplateRef">`);
}
export function getInvalidHorizontalAlignError(alignment) {
return Error(generateGenericError('horizontalAlign/xAlign', alignment, VALID_HORIZ_ALIGN));
}
export function getInvalidVerticalAlignError(alignment) {
return Error(generateGenericError('verticalAlign/yAlign', alignment, VALID_VERT_ALIGN));
}
export function getInvalidScrollStrategyError(strategy) {
return Error(generateGenericError('scrollStrategy', strategy, VALID_SCROLL));
}
function generateGenericError(apiName, invalid, valid) {
return `Invalid ${apiName}: '${invalid}'. Valid options are ${valid.map((v) => `'${v}'`).join(', ')}.`;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5lcnJvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU1RSxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE9BQU8sS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEI7SUFDMUMsT0FBTyxLQUFLLENBQUMsd0ZBQXdGLENBQUMsQ0FBQztBQUN6RyxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQjtJQUNwQyxPQUFPLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCxNQUFNLFVBQVUsK0JBQStCO0lBQzdDLE9BQU8sS0FBSyxDQUNWLDZDQUE2QztRQUMzQyx3QkFBd0I7UUFDeEIsb0VBQW9FO1FBQ3BFLHNFQUFzRSxDQUN6RSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxTQUFTO0lBQ3RELE9BQU8sS0FBSyxDQUFDLG9CQUFvQixDQUFDLHdCQUF3QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7QUFDN0YsQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxTQUFTO0lBQ3BELE9BQU8sS0FBSyxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7QUFDMUYsQ0FBQztBQUVELE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxRQUFRO0lBQ3BELE9BQU8sS0FBSyxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLE9BQWUsRUFBRSxPQUFZLEVBQUUsS0FBZTtJQUMxRSxPQUFPLFdBQVcsT0FBTyxNQUFNLE9BQU8sd0JBQXdCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUN6RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVkFMSURfSE9SSVpfQUxJR04sIFZBTElEX1ZFUlRfQUxJR04sIFZBTElEX1NDUk9MTCB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VW5hbmNob3JlZFBvcG92ZXJFcnJvcigpOiBFcnJvciB7XG4gIHJldHVybiBFcnJvcignU2F0UG9wb3ZlciBkb2VzIG5vdCBoYXZlIGFuIGFuY2hvci4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEludmFsaWRQb3BvdmVyQW5jaG9yRXJyb3IoKTogRXJyb3Ige1xuICByZXR1cm4gRXJyb3IoJ1NhdFBvcG92ZXIjYW5jaG9yIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU2F0UG9wb3ZlckFuY2hvciwgRWxlbWVudFJlZiwgb3IgSFRNTEVsZW1lbnQuJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnZhbGlkUG9wb3ZlckVycm9yKCk6IEVycm9yIHtcbiAgcmV0dXJuIEVycm9yKCdTYXRQb3BvdmVyQW5jaG9yI3NhdFBvcG92ZXJBbmNob3IgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTYXRQb3BvdmVyLicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW52YWxpZFNhdFBvcG92ZXJBbmNob3JFcnJvcigpOiBFcnJvciB7XG4gIHJldHVybiBFcnJvcihcbiAgICBgU2F0UG9wb3ZlckFuY2hvciBtdXN0IGJlIGFzc29jaWF0ZWQgd2l0aCBhIGAgK1xuICAgICAgYFNhdFBvcG92ZXIgY29tcG9uZW50LiBgICtcbiAgICAgIGBFeGFtcGxlczogPHNhdC1wb3BvdmVyIFthbmNob3JdPVwic2F0UG9wb3ZlckFuY2hvclRlbXBsYXRlUmVmXCI+IG9yIGAgK1xuICAgICAgYDxidXR0b24gc2F0UG9wb3ZlckFuY2hvciBbc2F0UG9wb3ZlckFuY2hvcl09XCJzYXRQb3BvdmVyVGVtcGxhdGVSZWZcIj5gXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnZhbGlkSG9yaXpvbnRhbEFsaWduRXJyb3IoYWxpZ25tZW50KTogRXJyb3Ige1xuICByZXR1cm4gRXJyb3IoZ2VuZXJhdGVHZW5lcmljRXJyb3IoJ2hvcml6b250YWxBbGlnbi94QWxpZ24nLCBhbGlnbm1lbnQsIFZBTElEX0hPUklaX0FMSUdOKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnZhbGlkVmVydGljYWxBbGlnbkVycm9yKGFsaWdubWVudCk6IEVycm9yIHtcbiAgcmV0dXJuIEVycm9yKGdlbmVyYXRlR2VuZXJpY0Vycm9yKCd2ZXJ0aWNhbEFsaWduL3lBbGlnbicsIGFsaWdubWVudCwgVkFMSURfVkVSVF9BTElHTikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW52YWxpZFNjcm9sbFN0cmF0ZWd5RXJyb3Ioc3RyYXRlZ3kpOiBFcnJvciB7XG4gIHJldHVybiBFcnJvcihnZW5lcmF0ZUdlbmVyaWNFcnJvcignc2Nyb2xsU3RyYXRlZ3knLCBzdHJhdGVneSwgVkFMSURfU0NST0xMKSk7XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlR2VuZXJpY0Vycm9yKGFwaU5hbWU6IHN0cmluZywgaW52YWxpZDogYW55LCB2YWxpZDogc3RyaW5nW10pOiBzdHJpbmcge1xuICByZXR1cm4gYEludmFsaWQgJHthcGlOYW1lfTogJyR7aW52YWxpZH0nLiBWYWxpZCBvcHRpb25zIGFyZSAke3ZhbGlkLm1hcCgodikgPT4gYCcke3Z9J2ApLmpvaW4oJywgJyl9LmA7XG59XG4iXX0=