{"version":3,"file":"angular-react-fabric-lib-utils.mjs","sources":["../../../libs/fabric/lib/utils/kebab-case.ts","../../../libs/fabric/lib/utils/get-data-attributes.ts","../../../libs/fabric/lib/utils/noop.ts","../../../libs/fabric/lib/utils/omit.ts","../../../libs/fabric/lib/utils/pick.ts","../../../libs/fabric/lib/utils/styles-plugin.ts","../../../libs/fabric/lib/utils/angular-react-fabric-lib-utils.ts"],"sourcesContent":["/** Implementation borrowed from https://github.com/joakimbeng/kebab-case */\r\n\r\nconst KEBAB_REGEX = /[A-Z\\u00C0-\\u00D6\\u00D8-\\u00DE]/g;\r\n\r\nexport function kebabCase(str: string) {\r\n  return str.replace(KEBAB_REGEX, match => '-' + match.toLowerCase());\r\n}\r\n","import { kebabCase } from './kebab-case';\r\n\r\n/**\r\n * Gets the data attributes on an `HTMLElement`.\r\n *\r\n * @example\r\n```keepDataPrefix === false```:\r\n```html\r\n<div data-service=\"Foo\" data-service-type=\"bar\"></div> -> { 'service': 'Foo', 'service-type': 'Bar' }\r\n```\r\n\r\n```keepDataPrefix === true```:\r\n```html\r\n<div data-service=\"Foo\" data-service-type=\"bar\"></div> -> { 'data-service': 'Foo', 'data-service-type': 'Bar' }\r\n```\r\n */\r\nexport function getDataAttributes<T extends HTMLElement>(\r\n  element: T,\r\n  keepDataPrefix: boolean = false\r\n): Record<string, string> {\r\n  return Object.entries(element.dataset).reduce(\r\n    (acc, [key, value]) => ({\r\n      ...acc,\r\n      [calculateKey(key, keepDataPrefix)]: value,\r\n    }),\r\n    {}\r\n  );\r\n}\r\n\r\nfunction calculateKey(key: string, keepDataPrefix: boolean): string {\r\n  return `${keepDataPrefix && 'data-'}${kebabCase(key)}`;\r\n}\r\n","/**\r\n * Noop function - doesn't do anything\r\n */\r\nexport const noop = (...args: any[]) => {\r\n  args.forEach(Object.keys);\r\n};\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { Omit } from '@angular-react/core';\r\n\r\n/**\r\n * Omit a a set of properties from an object.\r\n *\r\n * Does **not** modify the original object.\r\n * @param obj the object\r\n * @param keys the keys\r\n * @returns A new object with all properties apart from the `keys` from `obj`\r\n */\r\nexport function omit<T extends object, K extends keyof T>(obj: T, ...keys: K[]): Omit<T, K> {\r\n  return Object.keys(obj)\r\n    .filter(key => !keys.includes(key as K))\r\n    .reduce<Omit<T, K>>((acc, key) => Object.assign(acc, { [key]: obj[key] }), {} as any);\r\n}\r\n\r\nexport default omit;\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\n/**\r\n * Pick a a set of properties from an object.\r\n *\r\n * Does **not** modify the original object.\r\n * @param obj the object\r\n * @param keys the keys\r\n * @returns A new object with all properties from the `keys` from `obj`\r\n */\r\nexport function pick<T extends object, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K> {\r\n  return keys.reduce<Pick<T, K>>((acc, key) => Object.assign(acc, { [key]: obj[key] }), {} as any);\r\n}\r\n\r\nexport default pick;\r\n","import { TypedChanges } from '@angular-react/fabric/lib/declarations';\r\n\r\nconst proxyHandlerMap = new Map<string, {\r\n  beforeNgInit?: () => void\r\n  beforeNgChanges?: (changes: TypedChanges<any>) => void\r\n  beforeNgDestroy?: () => void\r\n  beforeNgDoCheck?: () => void\r\n  beforeNgAfterContentInit?: () => void\r\n  beforeNgAfterContentChecked?: () => void\r\n  beforeNgAfterViewInit?: () => void\r\n  beforeNgAfterViewChecked?: () => void\r\n}>()\r\n\r\ninterface IConstructor {\r\n  new (...args: any[]): {\r\n    ngOnInit?(): void\r\n    ngOnChanges?(changes: TypedChanges<any>): void\r\n    ngOnDestroy?(): void\r\n    ngDoCheck?(): void\r\n    ngAfterContentInit?(): void\r\n    ngAfterContentChecked?(): void\r\n    ngAfterViewInit?(): void\r\n    ngAfterViewChecked?(): void\r\n  }\r\n}\r\n\r\nexport function Styled<T extends IConstructor>(componentName: string) {\r\n  return function (constructor: T) {\r\n    const ngOnInit = constructor.prototype.ngOnInit\r\n    constructor.prototype.ngOnInit = function () {\r\n      const handler = proxyHandlerMap.get(componentName);\r\n      if (handler && handler.beforeNgInit) {\r\n        handler.beforeNgInit.apply(this);\r\n      }\r\n      if (ngOnInit) {\r\n        ngOnInit.apply(this);\r\n      }\r\n    }\r\n\r\n    const ngOnChanges = constructor.prototype.ngOnChanges\r\n    constructor.prototype.ngOnChanges = function (changes: TypedChanges<T>) {\r\n      const handler = proxyHandlerMap.get(componentName);\r\n      if (handler && handler.beforeNgChanges) {\r\n        handler.beforeNgChanges.apply(this, [changes]);\r\n      }\r\n      if (ngOnChanges) {\r\n        ngOnChanges.apply(this, [changes]);\r\n      }\r\n    }\r\n\r\n    const ngOnDestroy = constructor.prototype.ngOnDestroy\r\n    constructor.prototype.ngOnDestroy = function () {\r\n      const handler = proxyHandlerMap.get(componentName);\r\n      if (handler && handler.beforeNgDestroy) {\r\n        handler.beforeNgDestroy.apply(this);\r\n      }\r\n      if (ngOnDestroy) {\r\n        ngOnDestroy.apply(this);\r\n      }\r\n    }\r\n\r\n    const ngDoCheck = constructor.prototype.ngDoCheck\r\n    constructor.prototype.ngDoCheck = function () {\r\n      const handler = proxyHandlerMap.get(componentName);\r\n      if (handler && handler.beforeNgDoCheck) {\r\n        handler.beforeNgDoCheck.apply(this);\r\n      }\r\n      if (ngDoCheck) {\r\n        ngDoCheck.apply(this);\r\n      }\r\n    }\r\n\r\n    const ngAfterContentInit = constructor.prototype.ngAfterContentInit\r\n    constructor.prototype.ngAfterContentInit = function () {\r\n      const handler = proxyHandlerMap.get(componentName);\r\n      if (handler && handler.beforeNgAfterContentInit) {\r\n        handler.beforeNgAfterContentInit.apply(this);\r\n      }\r\n      if (ngAfterContentInit) {\r\n        ngAfterContentInit.apply(this);\r\n      }\r\n    }\r\n\r\n    const ngAfterContentChecked = constructor.prototype.ngAfterContentChecked\r\n    constructor.prototype.ngAfterContentChecked = function () {\r\n      const handler = proxyHandlerMap.get(componentName);\r\n      if (handler && handler.beforeNgAfterContentChecked) {\r\n        handler.beforeNgAfterContentChecked.apply(this);\r\n      }\r\n      if (ngAfterContentChecked) {\r\n        ngAfterContentChecked.apply(this);\r\n      }\r\n    }\r\n\r\n    const ngAfterViewInit = constructor.prototype.ngAfterViewInit\r\n    constructor.prototype.ngAfterViewInit = function () {\r\n      const handler = proxyHandlerMap.get(componentName);\r\n      if (handler && handler.beforeNgAfterViewInit) {\r\n        handler.beforeNgAfterViewInit.apply(this);\r\n      }\r\n      if (ngAfterViewInit) {\r\n        ngAfterViewInit.apply(this);\r\n      }\r\n    }\r\n\r\n    const ngAfterViewChecked = constructor.prototype.ngAfterViewChecked\r\n    constructor.prototype.ngAfterViewChecked = function () {\r\n      const handler = proxyHandlerMap.get(componentName);\r\n      if (handler && handler.beforeNgAfterViewChecked) {\r\n        handler.beforeNgAfterViewChecked.apply(this);\r\n      }\r\n      if (ngAfterViewChecked) {\r\n        ngAfterViewChecked.apply(this);\r\n      }\r\n    }\r\n\r\n    return constructor as any;\r\n  }\r\n}\r\n\r\nexport function proxy<T>(\r\n  fabComponentName: string,\r\n  handlers: {\r\n    beforeNgInit?: (this: T) => void\r\n    beforeNgChanges?: (this: T, changes: TypedChanges<T>) => void\r\n    beforeNgDestroy?: (this: T) => void\r\n    beforeNgDoCheck?: (this: T) => void\r\n    beforeNgAfterContentInit?: (this: T) => void\r\n    beforeNgAfterContentChecked?: (this: T) => void\r\n    beforeNgAfterViewInit?: (this: T) => void\r\n    beforeNgAfterViewChecked?: (this: T) => void\r\n  }\r\n) {\r\n\tproxyHandlerMap.set(fabComponentName, handlers);\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}