@skyux/forms 5.5.0 → 5.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/bundles/skyux-forms.umd.js +411 -408
  2. package/documentation.json +489 -831
  3. package/esm2015/lib/modules/character-counter/character-counter-indicator.component.js.map +1 -1
  4. package/esm2015/lib/modules/character-counter/character-counter.directive.js +1 -0
  5. package/esm2015/lib/modules/character-counter/character-counter.directive.js.map +1 -1
  6. package/esm2015/lib/modules/character-counter/character-counter.module.js +2 -2
  7. package/esm2015/lib/modules/character-counter/character-counter.module.js.map +1 -1
  8. package/esm2015/lib/modules/checkbox/checkbox-required-validator.directive.js.map +1 -1
  9. package/esm2015/lib/modules/checkbox/checkbox.component.js +4 -3
  10. package/esm2015/lib/modules/checkbox/checkbox.component.js.map +1 -1
  11. package/esm2015/lib/modules/checkbox/checkbox.module.js +1 -1
  12. package/esm2015/lib/modules/checkbox/checkbox.module.js.map +1 -1
  13. package/esm2015/lib/modules/file-attachment/file-attachment-label.component.js +1 -1
  14. package/esm2015/lib/modules/file-attachment/file-attachment-label.component.js.map +1 -1
  15. package/esm2015/lib/modules/file-attachment/file-attachment.component.js +6 -6
  16. package/esm2015/lib/modules/file-attachment/file-attachment.component.js.map +1 -1
  17. package/esm2015/lib/modules/file-attachment/file-attachment.service.js +6 -6
  18. package/esm2015/lib/modules/file-attachment/file-attachment.service.js.map +1 -1
  19. package/esm2015/lib/modules/file-attachment/file-attachments.module.js +3 -3
  20. package/esm2015/lib/modules/file-attachment/file-attachments.module.js.map +1 -1
  21. package/esm2015/lib/modules/file-attachment/file-drop.component.js +7 -8
  22. package/esm2015/lib/modules/file-attachment/file-drop.component.js.map +1 -1
  23. package/esm2015/lib/modules/file-attachment/file-item.component.js +5 -3
  24. package/esm2015/lib/modules/file-attachment/file-item.component.js.map +1 -1
  25. package/esm2015/lib/modules/file-attachment/file-item.service.js +5 -5
  26. package/esm2015/lib/modules/file-attachment/file-item.service.js.map +1 -1
  27. package/esm2015/lib/modules/file-attachment/file-size.pipe.js +5 -6
  28. package/esm2015/lib/modules/file-attachment/file-size.pipe.js.map +1 -1
  29. package/esm2015/lib/modules/input-box/input-box-host.service.js.map +1 -1
  30. package/esm2015/lib/modules/input-box/input-box.component.js.map +1 -1
  31. package/esm2015/lib/modules/input-box/input-box.module.js +1 -1
  32. package/esm2015/lib/modules/input-box/input-box.module.js.map +1 -1
  33. package/esm2015/lib/modules/radio/radio-group.component.js +3 -3
  34. package/esm2015/lib/modules/radio/radio-group.component.js.map +1 -1
  35. package/esm2015/lib/modules/radio/radio.component.js +4 -4
  36. package/esm2015/lib/modules/radio/radio.component.js.map +1 -1
  37. package/esm2015/lib/modules/radio/radio.module.js +2 -2
  38. package/esm2015/lib/modules/radio/radio.module.js.map +1 -1
  39. package/esm2015/lib/modules/selection-box/selection-box-adapter.service.js.map +1 -1
  40. package/esm2015/lib/modules/selection-box/selection-box-grid.component.js +2 -2
  41. package/esm2015/lib/modules/selection-box/selection-box-grid.component.js.map +1 -1
  42. package/esm2015/lib/modules/selection-box/selection-box.component.js.map +1 -1
  43. package/esm2015/lib/modules/selection-box/selection-box.module.js +1 -1
  44. package/esm2015/lib/modules/selection-box/selection-box.module.js.map +1 -1
  45. package/esm2015/lib/modules/shared/sky-forms-resources.module.js +1 -1
  46. package/esm2015/lib/modules/shared/sky-forms-resources.module.js.map +1 -1
  47. package/esm2015/lib/modules/toggle-switch/toggle-switch.component.js +3 -2
  48. package/esm2015/lib/modules/toggle-switch/toggle-switch.component.js.map +1 -1
  49. package/esm2015/lib/modules/toggle-switch/toggle-switch.module.js +2 -2
  50. package/esm2015/lib/modules/toggle-switch/toggle-switch.module.js.map +1 -1
  51. package/esm2015/testing/checkbox-fixture.js.map +1 -1
  52. package/fesm2015/skyux-forms-testing.js.map +1 -1
  53. package/fesm2015/skyux-forms.js +129 -126
  54. package/fesm2015/skyux-forms.js.map +1 -1
  55. package/lib/modules/checkbox/checkbox.component.d.ts +2 -2
  56. package/lib/modules/file-attachment/file-attachment.component.d.ts +3 -3
  57. package/lib/modules/file-attachment/file-drop.component.d.ts +2 -2
  58. package/lib/modules/file-attachment/file-item.component.d.ts +2 -2
  59. package/lib/modules/file-attachment/file-size.pipe.d.ts +1 -1
  60. package/lib/modules/input-box/input-box-host.service.d.ts +1 -1
  61. package/lib/modules/radio/radio-group.component.d.ts +1 -1
  62. package/lib/modules/selection-box/selection-box-grid.component.d.ts +1 -1
  63. package/package.json +15 -12
@@ -1 +1 @@
1
- {"version":3,"file":"selection-box-adapter.service.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box-adapter.service.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\nimport { SkyCoreAdapterService, SkyMediaBreakpoints } from '@skyux/core';\n\nconst RESPONSIVE_CLASS_XS = 'sky-selection-box-container-xs';\nconst RESPONSIVE_CLASS_SM = 'sky-selection-box-container-sm';\nconst RESPONSIVE_CLASS_MD = 'sky-selection-box-container-md';\nconst RESPONSIVE_CLASS_LG = 'sky-selection-box-container-lg';\n\nconst BREAKPOINT_XS_MAX_PIXELS = 767;\nconst BREAKPOINT_SM_MIN_PIXELS = 768;\nconst BREAKPOINT_SM_MAX_PIXELS = 991;\nconst BREAKPOINT_MD_MIN_PIXELS = 992;\nconst BREAKPOINT_MD_MAX_PIXELS = 1439;\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkySelectionBoxAdapterService {\n private renderer: Renderer2;\n\n constructor(\n private coreAdapterService: SkyCoreAdapterService,\n rendererFactory: RendererFactory2\n ) {\n this.renderer = rendererFactory.createRenderer(undefined, undefined);\n }\n\n /**\n * Sets focus on the specified element.\n */\n public focus(el: ElementRef): void {\n el.nativeElement.focus();\n }\n\n /**\n * Returns a child element with the `.sky-switch` class.\n * Useful for getting SKY UX-themed radio buttons or checkboxes.\n */\n public getControl(el: ElementRef): HTMLElement {\n return el.nativeElement.querySelector('.sky-switch');\n }\n\n /**\n * Returns a breakpoint based on the width.\n * @param width Width of the element in pixels.\n */\n public getBreakpointForWidth(width: number): SkyMediaBreakpoints {\n if (width <= BREAKPOINT_XS_MAX_PIXELS) {\n return SkyMediaBreakpoints.xs;\n } else if (\n width >= BREAKPOINT_SM_MIN_PIXELS &&\n width <= BREAKPOINT_SM_MAX_PIXELS\n ) {\n return SkyMediaBreakpoints.sm;\n } else if (\n width >= BREAKPOINT_MD_MIN_PIXELS &&\n width <= BREAKPOINT_MD_MAX_PIXELS\n ) {\n return SkyMediaBreakpoints.md;\n } else {\n return SkyMediaBreakpoints.lg;\n }\n }\n\n /**\n * Returns the width of the `parentNode` of the provided `element`.\n */\n public getParentWidth(element: ElementRef): number {\n return element.nativeElement.parentNode.getBoundingClientRect().width;\n }\n\n /**\n * Returns `true` if the `childEl` is a descendant of the `parentEl`.\n */\n public isDescendant(parentEl: ElementRef, childEl: HTMLElement): boolean {\n return parentEl.nativeElement.contains(childEl);\n }\n\n /**\n * Sets the `tabIndex` of all focusable children of the `element` to the provided `tabIndex`.\n */\n public setChildrenTabIndex(element: ElementRef, tabIndex: number): void {\n const el = element.nativeElement;\n const focusableElems = this.coreAdapterService.getFocusableChildren(el, {\n ignoreVisibility: true,\n });\n let index = focusableElems.length;\n while (index--) {\n focusableElems[index].tabIndex = tabIndex;\n }\n }\n\n /**\n * Adds a responsive CSS class on the provided element based on its current width.\n */\n public setResponsiveClass(\n element: ElementRef,\n breakpoint: SkyMediaBreakpoints\n ): void {\n const nativeEl: HTMLElement = element.nativeElement;\n\n this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_XS);\n this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_SM);\n this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_MD);\n this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_LG);\n\n let newClass: string;\n\n // tslint:disable-next-line: switch-default\n switch (breakpoint) {\n case SkyMediaBreakpoints.xs: {\n newClass = RESPONSIVE_CLASS_XS;\n break;\n }\n case SkyMediaBreakpoints.sm: {\n newClass = RESPONSIVE_CLASS_SM;\n break;\n }\n case SkyMediaBreakpoints.md: {\n newClass = RESPONSIVE_CLASS_MD;\n break;\n }\n case SkyMediaBreakpoints.lg: {\n newClass = RESPONSIVE_CLASS_LG;\n break;\n }\n }\n\n this.renderer.addClass(nativeEl, newClass);\n }\n\n /**\n * Sets the `tabIndex` of the `element` to the provided `tabIndex`.\n */\n public setTabIndex(element: ElementRef, tabIndex: number): void {\n const el = element.nativeElement;\n el.tabIndex = tabIndex;\n }\n}\n"]}
1
+ {"version":3,"file":"selection-box-adapter.service.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box-adapter.service.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { SkyCoreAdapterService, SkyMediaBreakpoints } from '@skyux/core';\n\nconst RESPONSIVE_CLASS_XS = 'sky-selection-box-container-xs';\nconst RESPONSIVE_CLASS_SM = 'sky-selection-box-container-sm';\nconst RESPONSIVE_CLASS_MD = 'sky-selection-box-container-md';\nconst RESPONSIVE_CLASS_LG = 'sky-selection-box-container-lg';\n\nconst BREAKPOINT_XS_MAX_PIXELS = 767;\nconst BREAKPOINT_SM_MIN_PIXELS = 768;\nconst BREAKPOINT_SM_MAX_PIXELS = 991;\nconst BREAKPOINT_MD_MIN_PIXELS = 992;\nconst BREAKPOINT_MD_MAX_PIXELS = 1439;\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkySelectionBoxAdapterService {\n private renderer: Renderer2;\n\n constructor(\n private coreAdapterService: SkyCoreAdapterService,\n rendererFactory: RendererFactory2\n ) {\n this.renderer = rendererFactory.createRenderer(undefined, undefined);\n }\n\n /**\n * Sets focus on the specified element.\n */\n public focus(el: ElementRef): void {\n el.nativeElement.focus();\n }\n\n /**\n * Returns a child element with the `.sky-switch` class.\n * Useful for getting SKY UX-themed radio buttons or checkboxes.\n */\n public getControl(el: ElementRef): HTMLElement {\n return el.nativeElement.querySelector('.sky-switch');\n }\n\n /**\n * Returns a breakpoint based on the width.\n * @param width Width of the element in pixels.\n */\n public getBreakpointForWidth(width: number): SkyMediaBreakpoints {\n if (width <= BREAKPOINT_XS_MAX_PIXELS) {\n return SkyMediaBreakpoints.xs;\n } else if (\n width >= BREAKPOINT_SM_MIN_PIXELS &&\n width <= BREAKPOINT_SM_MAX_PIXELS\n ) {\n return SkyMediaBreakpoints.sm;\n } else if (\n width >= BREAKPOINT_MD_MIN_PIXELS &&\n width <= BREAKPOINT_MD_MAX_PIXELS\n ) {\n return SkyMediaBreakpoints.md;\n } else {\n return SkyMediaBreakpoints.lg;\n }\n }\n\n /**\n * Returns the width of the `parentNode` of the provided `element`.\n */\n public getParentWidth(element: ElementRef): number {\n return element.nativeElement.parentNode.getBoundingClientRect().width;\n }\n\n /**\n * Returns `true` if the `childEl` is a descendant of the `parentEl`.\n */\n public isDescendant(parentEl: ElementRef, childEl: HTMLElement): boolean {\n return parentEl.nativeElement.contains(childEl);\n }\n\n /**\n * Sets the `tabIndex` of all focusable children of the `element` to the provided `tabIndex`.\n */\n public setChildrenTabIndex(element: ElementRef, tabIndex: number): void {\n const el = element.nativeElement;\n const focusableElems = this.coreAdapterService.getFocusableChildren(el, {\n ignoreVisibility: true,\n });\n let index = focusableElems.length;\n while (index--) {\n focusableElems[index].tabIndex = tabIndex;\n }\n }\n\n /**\n * Adds a responsive CSS class on the provided element based on its current width.\n */\n public setResponsiveClass(\n element: ElementRef,\n breakpoint: SkyMediaBreakpoints\n ): void {\n const nativeEl: HTMLElement = element.nativeElement;\n\n this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_XS);\n this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_SM);\n this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_MD);\n this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_LG);\n\n let newClass: string;\n\n // tslint:disable-next-line: switch-default\n switch (breakpoint) {\n case SkyMediaBreakpoints.xs: {\n newClass = RESPONSIVE_CLASS_XS;\n break;\n }\n case SkyMediaBreakpoints.sm: {\n newClass = RESPONSIVE_CLASS_SM;\n break;\n }\n case SkyMediaBreakpoints.md: {\n newClass = RESPONSIVE_CLASS_MD;\n break;\n }\n case SkyMediaBreakpoints.lg: {\n newClass = RESPONSIVE_CLASS_LG;\n break;\n }\n }\n\n this.renderer.addClass(nativeEl, newClass);\n }\n\n /**\n * Sets the `tabIndex` of the `element` to the provided `tabIndex`.\n */\n public setTabIndex(element: ElementRef, tabIndex: number): void {\n const el = element.nativeElement;\n el.tabIndex = tabIndex;\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, HostListener, Input, NgZone, QueryList, ViewChild, ViewEncapsulation, } from '@angular/core';
2
2
  import { MutationObserverService, SkyCoreAdapterService, } from '@skyux/core';
3
3
  import { SkyThemeService } from '@skyux/theme';
4
- import { takeUntil } from 'rxjs/operators';
5
4
  import { Subject } from 'rxjs';
6
- import { SkySelectionBoxComponent } from './selection-box.component';
5
+ import { takeUntil } from 'rxjs/operators';
7
6
  import { SkySelectionBoxAdapterService } from './selection-box-adapter.service';
7
+ import { SkySelectionBoxComponent } from './selection-box.component';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@skyux/theme";
10
10
  import * as i2 from "@skyux/core";
@@ -1 +1 @@
1
- {"version":3,"file":"selection-box-grid.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box-grid.component.ts","../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box-grid.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n HostListener,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport {\n MutationObserverService,\n SkyCoreAdapterService,\n SkyMediaBreakpoints,\n} from '@skyux/core';\n\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Subject } from 'rxjs';\n\nimport { SkySelectionBoxComponent } from './selection-box.component';\n\nimport { SkySelectionBoxAdapterService } from './selection-box-adapter.service';\n\nimport { SkySelectionBoxGridAlignItemsType } from './types/selection-box-grid-align-items-type';\n\nconst SKY_SELECTION_BOX_CLASS_NAME = '.sky-selection-box';\n\n/**\n * Creates a grid layout for an array of selection boxes.\n */\n@Component({\n selector: 'sky-selection-box-grid',\n templateUrl: './selection-box-grid.component.html',\n styleUrls: ['./selection-box-grid.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkySelectionBoxGridComponent\n implements AfterViewInit, OnDestroy, OnInit\n{\n /**\n * @internal\n * Specifies how to display the selection boxes in the grid.\n * @default 'center'\n */\n @Input()\n public set alignItems(value: SkySelectionBoxGridAlignItemsType) {\n this._alignItems = value;\n }\n\n public get alignItems(): SkySelectionBoxGridAlignItemsType {\n return this._alignItems || 'center';\n }\n\n @ContentChildren(SkySelectionBoxComponent, {\n read: SkySelectionBoxComponent,\n })\n public selectionBoxes: QueryList<SkySelectionBoxComponent>;\n\n private set currentBreakpoint(value: SkyMediaBreakpoints) {\n if (value !== this._currentBreakpoint) {\n this._currentBreakpoint = value;\n this.selectionBoxAdapter.setResponsiveClass(this.elementRef, value);\n this.updateChildrenHeights();\n }\n }\n\n @ViewChild('container', {\n read: ElementRef,\n static: true,\n })\n private elementRef: ElementRef<any>;\n\n private mutationObserver: MutationObserver;\n\n private ngUnsubscribe = new Subject();\n\n private _alignItems: SkySelectionBoxGridAlignItemsType;\n\n private _currentBreakpoint: SkyMediaBreakpoints;\n\n constructor(\n private themeSvc: SkyThemeService,\n private coreAdapterService: SkyCoreAdapterService,\n private selectionBoxAdapter: SkySelectionBoxAdapterService,\n private hostElRef: ElementRef,\n private mutationObserverSvc: MutationObserverService,\n private ngZone: NgZone\n ) {}\n\n public ngOnInit(): void {\n /* istanbul ignore else */\n if (this.themeSvc) {\n this.themeSvc.settingsChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateBreakpointClass();\n this.updateChildrenHeights();\n });\n }\n }\n\n public ngAfterViewInit(): void {\n this.updateBreakpointClass();\n this.updateChildrenHeights();\n this.initMutationObserver();\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n\n this.destroyMutationObserver();\n }\n\n @HostListener('window:resize')\n public onWindowResize(): void {\n this.updateBreakpointClass();\n }\n\n private initMutationObserver(): void {\n /* istanbul ignore else */\n if (!this.mutationObserver) {\n const el = this.elementRef.nativeElement;\n\n // MutationObserver is patched by Zone.js and therefore becomes part of the\n // Angular change detection cycle, but this can lead to infinite loops in some\n // scenarios. This will keep MutationObserver from triggering change detection.\n this.ngZone.runOutsideAngular(() => {\n this.mutationObserver = this.mutationObserverSvc.create(() => {\n this.updateChildrenHeights();\n });\n\n this.mutationObserver.observe(el, {\n characterData: true,\n subtree: true,\n });\n });\n }\n }\n\n private destroyMutationObserver(): void {\n /* istanbul ignore else */\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = undefined;\n }\n }\n\n private updateBreakpointClass(): void {\n const parentWidth = this.selectionBoxAdapter.getParentWidth(this.hostElRef);\n this.currentBreakpoint =\n this.selectionBoxAdapter.getBreakpointForWidth(parentWidth);\n }\n\n private updateChildrenHeights(): void {\n this.coreAdapterService.resetHeight(\n this.elementRef,\n SKY_SELECTION_BOX_CLASS_NAME\n );\n this.coreAdapterService.syncMaxHeight(\n this.elementRef,\n SKY_SELECTION_BOX_CLASS_NAME\n );\n }\n}\n","<div\n class=\"sky-selection-box-grid\"\n [ngClass]=\"'sky-selection-box-grid-align-' + alignItems\"\n #container\n>\n <ng-content select=\"sky-selection-box\"></ng-content>\n</div>\n"]}
1
+ {"version":3,"file":"selection-box-grid.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box-grid.component.ts","../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box-grid.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n HostListener,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n MutationObserverService,\n SkyCoreAdapterService,\n SkyMediaBreakpoints,\n} from '@skyux/core';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkySelectionBoxAdapterService } from './selection-box-adapter.service';\nimport { SkySelectionBoxComponent } from './selection-box.component';\nimport { SkySelectionBoxGridAlignItemsType } from './types/selection-box-grid-align-items-type';\n\nconst SKY_SELECTION_BOX_CLASS_NAME = '.sky-selection-box';\n\n/**\n * Creates a grid layout for an array of selection boxes.\n */\n@Component({\n selector: 'sky-selection-box-grid',\n templateUrl: './selection-box-grid.component.html',\n styleUrls: ['./selection-box-grid.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkySelectionBoxGridComponent\n implements AfterViewInit, OnDestroy, OnInit\n{\n /**\n * @internal\n * Specifies how to display the selection boxes in the grid.\n * @default 'center'\n */\n @Input()\n public set alignItems(value: SkySelectionBoxGridAlignItemsType) {\n this._alignItems = value;\n }\n\n public get alignItems(): SkySelectionBoxGridAlignItemsType {\n return this._alignItems || 'center';\n }\n\n @ContentChildren(SkySelectionBoxComponent, {\n read: SkySelectionBoxComponent,\n })\n public selectionBoxes: QueryList<SkySelectionBoxComponent>;\n\n private set currentBreakpoint(value: SkyMediaBreakpoints) {\n if (value !== this._currentBreakpoint) {\n this._currentBreakpoint = value;\n this.selectionBoxAdapter.setResponsiveClass(this.elementRef, value);\n this.updateChildrenHeights();\n }\n }\n\n @ViewChild('container', {\n read: ElementRef,\n static: true,\n })\n private elementRef: ElementRef<any>;\n\n private mutationObserver: MutationObserver;\n\n private ngUnsubscribe = new Subject();\n\n private _alignItems: SkySelectionBoxGridAlignItemsType;\n\n private _currentBreakpoint: SkyMediaBreakpoints;\n\n constructor(\n private themeSvc: SkyThemeService,\n private coreAdapterService: SkyCoreAdapterService,\n private selectionBoxAdapter: SkySelectionBoxAdapterService,\n private hostElRef: ElementRef,\n private mutationObserverSvc: MutationObserverService,\n private ngZone: NgZone\n ) {}\n\n public ngOnInit(): void {\n /* istanbul ignore else */\n if (this.themeSvc) {\n this.themeSvc.settingsChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.updateBreakpointClass();\n this.updateChildrenHeights();\n });\n }\n }\n\n public ngAfterViewInit(): void {\n this.updateBreakpointClass();\n this.updateChildrenHeights();\n this.initMutationObserver();\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n\n this.destroyMutationObserver();\n }\n\n @HostListener('window:resize')\n public onWindowResize(): void {\n this.updateBreakpointClass();\n }\n\n private initMutationObserver(): void {\n /* istanbul ignore else */\n if (!this.mutationObserver) {\n const el = this.elementRef.nativeElement;\n\n // MutationObserver is patched by Zone.js and therefore becomes part of the\n // Angular change detection cycle, but this can lead to infinite loops in some\n // scenarios. This will keep MutationObserver from triggering change detection.\n this.ngZone.runOutsideAngular(() => {\n this.mutationObserver = this.mutationObserverSvc.create(() => {\n this.updateChildrenHeights();\n });\n\n this.mutationObserver.observe(el, {\n characterData: true,\n subtree: true,\n });\n });\n }\n }\n\n private destroyMutationObserver(): void {\n /* istanbul ignore else */\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = undefined;\n }\n }\n\n private updateBreakpointClass(): void {\n const parentWidth = this.selectionBoxAdapter.getParentWidth(this.hostElRef);\n this.currentBreakpoint =\n this.selectionBoxAdapter.getBreakpointForWidth(parentWidth);\n }\n\n private updateChildrenHeights(): void {\n this.coreAdapterService.resetHeight(\n this.elementRef,\n SKY_SELECTION_BOX_CLASS_NAME\n );\n this.coreAdapterService.syncMaxHeight(\n this.elementRef,\n SKY_SELECTION_BOX_CLASS_NAME\n );\n }\n}\n","<div\n class=\"sky-selection-box-grid\"\n [ngClass]=\"'sky-selection-box-grid-align-' + alignItems\"\n #container\n>\n <ng-content select=\"sky-selection-box\"></ng-content>\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"selection-box.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box.component.ts","../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyCheckboxComponent } from '../checkbox/checkbox.component';\n\nimport { SkyRadioComponent } from '../radio/radio.component';\n\nimport { SkySelectionBoxAdapterService } from './selection-box-adapter.service';\n\n/**\n * Creates a button to present users with a choice or question before proceeding with a one-time process.\n */\n@Component({\n selector: 'sky-selection-box',\n styleUrls: ['./selection-box.component.scss'],\n templateUrl: './selection-box.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkySelectionBoxComponent implements AfterViewInit, OnDestroy {\n /**\n * Specifies the radio button or checkbox to display in the selection box.\n * @required\n */\n @Input()\n public control: SkyCheckboxComponent | SkyRadioComponent;\n\n public set checked(value: boolean) {\n this._checked = value;\n this.changeDetector.markForCheck();\n }\n\n public get checked(): boolean {\n return this._checked;\n }\n\n public set disabled(value: boolean) {\n this.selectionBoxAdapterService.setTabIndex(\n this.selectionBoxEl,\n value ? -1 : 0\n );\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n\n public get disabled(): boolean {\n return this._disabled || false;\n }\n\n @ViewChild('control', {\n read: ElementRef,\n static: false,\n })\n private controlEl: ElementRef;\n\n @ViewChild('selectionBox', {\n read: ElementRef,\n static: false,\n })\n private selectionBoxEl: ElementRef;\n\n private ngUnsubscribe = new Subject<void>();\n\n private _checked: boolean;\n\n private _disabled: boolean;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private selectionBoxAdapterService: SkySelectionBoxAdapterService\n ) {}\n\n public ngAfterViewInit(): void {\n // Wait for consumer form controls to initialize before setting selected/disabled states.\n setTimeout(() => {\n this.selectionBoxAdapterService.setChildrenTabIndex(\n this.selectionBoxEl,\n -1\n );\n this.updateCheckedOnControlChange();\n this.updateDisabledState();\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n /**\n * Since we are programatically firing a click on the control,\n * make sure user is not clicking on the control before firing click logic.\n */\n public onClick(event: any): void {\n const isControlClick = this.selectionBoxAdapterService.isDescendant(\n this.controlEl,\n event.target\n );\n if (!isControlClick) {\n this.selectControl();\n }\n }\n\n public onKeydown(event: KeyboardEvent): void {\n /* istanbul ignore else */\n if (event.key === ' ') {\n this.selectControl();\n event.preventDefault();\n }\n }\n\n private selectControl(): void {\n this.selectionBoxAdapterService.getControl(this.controlEl).click();\n this.selectionBoxAdapterService.focus(this.selectionBoxEl);\n }\n\n private updateCheckedOnControlChange(): void {\n this.control.checkedChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((value) => {\n this.checked = value;\n });\n }\n\n private updateDisabledState(): void {\n this.control.disabledChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((value) => {\n this.disabled = value;\n });\n }\n}\n","<div\n class=\"sky-selection-box sky-rounded-corners sky-btn sky-btn-default\"\n role=\"button\"\n tabindex=\"0\"\n [attr.disabled]=\"disabled ? true : null\"\n [ngClass]=\"{\n 'sky-selection-box-selected': checked,\n 'sky-selection-box-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-box sky-elevation-1': 'modern'\n }\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeydown($event)\"\n #selectionBox\n>\n <div\n class=\"sky-selection-box-icon\"\n [ngStyle]=\"{\n display: !icon.innerHTML.trim() ? 'none' : ''\n }\"\n #icon\n >\n <ng-content select=\"sky-icon\"> </ng-content>\n </div>\n\n <div class=\"sky-selection-box-content\">\n <div\n class=\"sky-selection-box-header\"\n [ngClass]=\"{\n 'sky-font-heading-2': icon.innerHTML.trim(),\n 'sky-font-heading-3': !icon.innerHTML.trim()\n }\"\n >\n <ng-content select=\"sky-selection-box-header\"></ng-content>\n </div>\n <div\n class=\"sky-selection-box-description\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern',\n 'sky-deemphasized': 'default'\n }\"\n >\n <ng-content select=\"sky-selection-box-description\"> </ng-content>\n </div>\n </div>\n\n <div class=\"sky-selection-box-control\" #control>\n <ng-content select=\"sky-radio\"> </ng-content>\n <ng-content select=\"sky-checkbox\"> </ng-content>\n </div>\n</div>\n"]}
1
+ {"version":3,"file":"selection-box.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box.component.ts","../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyCheckboxComponent } from '../checkbox/checkbox.component';\nimport { SkyRadioComponent } from '../radio/radio.component';\n\nimport { SkySelectionBoxAdapterService } from './selection-box-adapter.service';\n\n/**\n * Creates a button to present users with a choice or question before proceeding with a one-time process.\n */\n@Component({\n selector: 'sky-selection-box',\n styleUrls: ['./selection-box.component.scss'],\n templateUrl: './selection-box.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkySelectionBoxComponent implements AfterViewInit, OnDestroy {\n /**\n * Specifies the radio button or checkbox to display in the selection box.\n * @required\n */\n @Input()\n public control: SkyCheckboxComponent | SkyRadioComponent;\n\n public set checked(value: boolean) {\n this._checked = value;\n this.changeDetector.markForCheck();\n }\n\n public get checked(): boolean {\n return this._checked;\n }\n\n public set disabled(value: boolean) {\n this.selectionBoxAdapterService.setTabIndex(\n this.selectionBoxEl,\n value ? -1 : 0\n );\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n\n public get disabled(): boolean {\n return this._disabled || false;\n }\n\n @ViewChild('control', {\n read: ElementRef,\n static: false,\n })\n private controlEl: ElementRef;\n\n @ViewChild('selectionBox', {\n read: ElementRef,\n static: false,\n })\n private selectionBoxEl: ElementRef;\n\n private ngUnsubscribe = new Subject<void>();\n\n private _checked: boolean;\n\n private _disabled: boolean;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private selectionBoxAdapterService: SkySelectionBoxAdapterService\n ) {}\n\n public ngAfterViewInit(): void {\n // Wait for consumer form controls to initialize before setting selected/disabled states.\n setTimeout(() => {\n this.selectionBoxAdapterService.setChildrenTabIndex(\n this.selectionBoxEl,\n -1\n );\n this.updateCheckedOnControlChange();\n this.updateDisabledState();\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n /**\n * Since we are programatically firing a click on the control,\n * make sure user is not clicking on the control before firing click logic.\n */\n public onClick(event: any): void {\n const isControlClick = this.selectionBoxAdapterService.isDescendant(\n this.controlEl,\n event.target\n );\n if (!isControlClick) {\n this.selectControl();\n }\n }\n\n public onKeydown(event: KeyboardEvent): void {\n /* istanbul ignore else */\n if (event.key === ' ') {\n this.selectControl();\n event.preventDefault();\n }\n }\n\n private selectControl(): void {\n this.selectionBoxAdapterService.getControl(this.controlEl).click();\n this.selectionBoxAdapterService.focus(this.selectionBoxEl);\n }\n\n private updateCheckedOnControlChange(): void {\n this.control.checkedChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((value) => {\n this.checked = value;\n });\n }\n\n private updateDisabledState(): void {\n this.control.disabledChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((value) => {\n this.disabled = value;\n });\n }\n}\n","<div\n class=\"sky-selection-box sky-rounded-corners sky-btn sky-btn-default\"\n role=\"button\"\n tabindex=\"0\"\n [attr.disabled]=\"disabled ? true : null\"\n [ngClass]=\"{\n 'sky-selection-box-selected': checked,\n 'sky-selection-box-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-box sky-elevation-1': 'modern'\n }\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeydown($event)\"\n #selectionBox\n>\n <div\n class=\"sky-selection-box-icon\"\n [ngStyle]=\"{\n display: !icon.innerHTML.trim() ? 'none' : ''\n }\"\n #icon\n >\n <ng-content select=\"sky-icon\"> </ng-content>\n </div>\n\n <div class=\"sky-selection-box-content\">\n <div\n class=\"sky-selection-box-header\"\n [ngClass]=\"{\n 'sky-font-heading-2': icon.innerHTML.trim(),\n 'sky-font-heading-3': !icon.innerHTML.trim()\n }\"\n >\n <ng-content select=\"sky-selection-box-header\"></ng-content>\n </div>\n <div\n class=\"sky-selection-box-description\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern',\n 'sky-deemphasized': 'default'\n }\"\n >\n <ng-content select=\"sky-selection-box-description\"> </ng-content>\n </div>\n </div>\n\n <div class=\"sky-selection-box-control\" #control>\n <ng-content select=\"sky-radio\"> </ng-content>\n <ng-content select=\"sky-checkbox\"> </ng-content>\n </div>\n</div>\n"]}
@@ -3,8 +3,8 @@ import { NgModule } from '@angular/core';
3
3
  import { SkyThemeModule } from '@skyux/theme';
4
4
  import { SkySelectionBoxAdapterService } from './selection-box-adapter.service';
5
5
  import { SkySelectionBoxDescriptionComponent } from './selection-box-description.component';
6
- import { SkySelectionBoxHeaderComponent } from './selection-box-header.component';
7
6
  import { SkySelectionBoxGridComponent } from './selection-box-grid.component';
7
+ import { SkySelectionBoxHeaderComponent } from './selection-box-header.component';
8
8
  import { SkySelectionBoxComponent } from './selection-box.component';
9
9
  import * as i0 from "@angular/core";
10
10
  export class SkySelectionBoxModule {
@@ -1 +1 @@
1
- {"version":3,"file":"selection-box.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAE5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;;AAkBrE,MAAM,OAAO,qBAAqB;;mHAArB,qBAAqB;oHAArB,qBAAqB,iBAd9B,4BAA4B;QAC5B,wBAAwB;QACxB,mCAAmC;QACnC,8BAA8B,aAEtB,YAAY,EAAE,cAAc,aAEpC,4BAA4B;QAC5B,wBAAwB;QACxB,mCAAmC;QACnC,8BAA8B;oHAIrB,qBAAqB,aAFrB,CAAC,6BAA6B,CAAC,YAPjC,CAAC,YAAY,EAAE,cAAc,CAAC;4FAS5B,qBAAqB;kBAhBjC,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,4BAA4B;wBAC5B,wBAAwB;wBACxB,mCAAmC;wBACnC,8BAA8B;qBAC/B;oBACD,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;oBACvC,OAAO,EAAE;wBACP,4BAA4B;wBAC5B,wBAAwB;wBACxB,mCAAmC;wBACnC,8BAA8B;qBAC/B;oBACD,SAAS,EAAE,CAAC,6BAA6B,CAAC;iBAC3C","sourcesContent":["import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkySelectionBoxAdapterService } from './selection-box-adapter.service';\n\nimport { SkySelectionBoxDescriptionComponent } from './selection-box-description.component';\n\nimport { SkySelectionBoxHeaderComponent } from './selection-box-header.component';\n\nimport { SkySelectionBoxGridComponent } from './selection-box-grid.component';\n\nimport { SkySelectionBoxComponent } from './selection-box.component';\n\n@NgModule({\n declarations: [\n SkySelectionBoxGridComponent,\n SkySelectionBoxComponent,\n SkySelectionBoxDescriptionComponent,\n SkySelectionBoxHeaderComponent,\n ],\n imports: [CommonModule, SkyThemeModule],\n exports: [\n SkySelectionBoxGridComponent,\n SkySelectionBoxComponent,\n SkySelectionBoxDescriptionComponent,\n SkySelectionBoxHeaderComponent,\n ],\n providers: [SkySelectionBoxAdapterService],\n})\nexport class SkySelectionBoxModule {}\n"]}
1
+ {"version":3,"file":"selection-box.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/selection-box/selection-box.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;;AAkBrE,MAAM,OAAO,qBAAqB;;mHAArB,qBAAqB;oHAArB,qBAAqB,iBAd9B,4BAA4B;QAC5B,wBAAwB;QACxB,mCAAmC;QACnC,8BAA8B,aAEtB,YAAY,EAAE,cAAc,aAEpC,4BAA4B;QAC5B,wBAAwB;QACxB,mCAAmC;QACnC,8BAA8B;oHAIrB,qBAAqB,aAFrB,CAAC,6BAA6B,CAAC,YAPjC,CAAC,YAAY,EAAE,cAAc,CAAC;4FAS5B,qBAAqB;kBAhBjC,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,4BAA4B;wBAC5B,wBAAwB;wBACxB,mCAAmC;wBACnC,8BAA8B;qBAC/B;oBACD,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;oBACvC,OAAO,EAAE;wBACP,4BAA4B;wBAC5B,wBAAwB;wBACxB,mCAAmC;wBACnC,8BAA8B;qBAC/B;oBACD,SAAS,EAAE,CAAC,6BAA6B,CAAC;iBAC3C","sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkySelectionBoxAdapterService } from './selection-box-adapter.service';\nimport { SkySelectionBoxDescriptionComponent } from './selection-box-description.component';\nimport { SkySelectionBoxGridComponent } from './selection-box-grid.component';\nimport { SkySelectionBoxHeaderComponent } from './selection-box-header.component';\nimport { SkySelectionBoxComponent } from './selection-box.component';\n\n@NgModule({\n declarations: [\n SkySelectionBoxGridComponent,\n SkySelectionBoxComponent,\n SkySelectionBoxDescriptionComponent,\n SkySelectionBoxHeaderComponent,\n ],\n imports: [CommonModule, SkyThemeModule],\n exports: [\n SkySelectionBoxGridComponent,\n SkySelectionBoxComponent,\n SkySelectionBoxDescriptionComponent,\n SkySelectionBoxHeaderComponent,\n ],\n providers: [SkySelectionBoxAdapterService],\n})\nexport class SkySelectionBoxModule {}\n"]}
@@ -5,7 +5,7 @@
5
5
  * To update this file, simply rerun the command.
6
6
  */
7
7
  import { NgModule } from '@angular/core';
8
- import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS, } from '@skyux/i18n';
8
+ import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, getLibStringForLocale, } from '@skyux/i18n';
9
9
  import * as i0 from "@angular/core";
10
10
  const RESOURCES = {
11
11
  'EN-US': {
@@ -1 +1 @@
1
- {"version":3,"file":"sky-forms-resources.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/shared/sky-forms-resources.module.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,qBAAqB,EAErB,aAAa,EAGb,2BAA2B,GAC5B,MAAM,aAAa,CAAC;;AAErB,MAAM,SAAS,GAA0C;IACvD,OAAO,EAAE;QACP,6BAA6B,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;QAC/D,gCAAgC,EAAE;YAChC,OAAO,EAAE,mCAAmC;SAC7C;QACD,8CAA8C,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;QAC1E,+CAA+C,EAAE;YAC/C,OAAO,EAAE,cAAc;SACxB;QACD,sCAAsC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;QAClE,wCAAwC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;QAClE,0CAA0C,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;QACnE,kCAAkC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QACzD,kCAAkC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QACzD,kCAAkC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QACzD,gDAAgD,EAAE;YAChD,OAAO,EAAE,kBAAkB;SAC5B;QACD,+CAA+C,EAAE;YAC/C,OAAO,EAAE,qCAAqC;SAC/C;QACD,iDAAiD,EAAE;YACjD,OAAO,EAAE,iBAAiB;SAC3B;QACD,wDAAwD,EAAE;YACxD,OAAO,EAAE,eAAe;SACzB;QACD,8CAA8C,EAAE;YAC9C,OAAO,EAAE,2BAA2B;SACrC;QACD,4CAA4C,EAAE;YAC5C,OAAO,EAAE,sBAAsB;SAChC;QACD,kDAAkD,EAAE;YAClD,OAAO,EAAE,+BAA+B;SACzC;QACD,oDAAoD,EAAE;YACpD,OAAO,EAAE,oBAAoB;SAC9B;QACD,4CAA4C,EAAE;YAC5C,OAAO,EAAE,wBAAwB;SAClC;QACD,iDAAiD,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QACtE,0CAA0C,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;KAC1E;CACF,CAAC;AAEF,MAAM,OAAO,yBAAyB;IAC7B,SAAS,CAAC,UAA4B,EAAE,IAAY;QACzD,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;CACF;AAED;;GAEG;AAWH,MAAM,OAAO,uBAAuB;;qHAAvB,uBAAuB;sHAAvB,uBAAuB,YATxB,aAAa;sHASZ,uBAAuB,aARvB;QACT;YACE,OAAO,EAAE,2BAA2B;YACpC,QAAQ,EAAE,yBAAyB;YACnC,KAAK,EAAE,IAAI;SACZ;KACF,YAPS,aAAa;4FASZ,uBAAuB;kBAVnC,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAE,2BAA2B;4BACpC,QAAQ,EAAE,yBAAyB;4BACnC,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF","sourcesContent":["/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module modules/shared/sky-forms' schematic.\n * To update this file, simply rerun the command.\n */\n\nimport { NgModule } from '@angular/core';\nimport {\n getLibStringForLocale,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n SKY_LIB_RESOURCES_PROVIDERS,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_character_count_message: { message: 'characters out of' },\n skyux_character_count_over_limit: {\n message: 'You are over the character limit.',\n },\n skyux_file_attachment_button_label_choose_file: { message: 'Choose file' },\n skyux_file_attachment_button_label_replace_file: {\n message: 'Replace file',\n },\n skyux_file_attachment_file_item_delete: { message: 'Delete file' },\n skyux_file_attachment_file_size_b_plural: { message: '{0} bytes' },\n skyux_file_attachment_file_size_b_singular: { message: '{0} byte' },\n skyux_file_attachment_file_size_gb: { message: '{0} GB' },\n skyux_file_attachment_file_size_kb: { message: '{0} KB' },\n skyux_file_attachment_file_size_mb: { message: '{0} MB' },\n skyux_file_attachment_file_upload_drag_file_here: {\n message: 'Drag a file here',\n },\n skyux_file_attachment_file_upload_drag_or_click: {\n message: 'Drag a file here or click to browse',\n },\n skyux_file_attachment_file_upload_drop_files_here: {\n message: 'Drop files here',\n },\n skyux_file_attachment_file_upload_image_preview_alt_text: {\n message: 'Image preview',\n },\n skyux_file_attachment_file_upload_invalid_file: {\n message: 'This file type is invalid',\n },\n skyux_file_attachment_file_upload_link_input: {\n message: 'Add a link to a file',\n },\n skyux_file_attachment_file_upload_link_placeholder: {\n message: 'http://www.something.com/file',\n },\n skyux_file_attachment_file_upload_or_click_to_browse: {\n message: 'or click to browse',\n },\n skyux_file_attachment_file_upload_paste_link: {\n message: 'Paste a link to a file',\n },\n skyux_file_attachment_file_upload_paste_link_done: { message: 'Done' },\n skyux_file_attachment_label_no_file_chosen: { message: 'No file chosen' },\n },\n};\n\nexport class SkyFormsResourcesProvider implements SkyLibResourcesProvider {\n public getString(localeInfo: SkyAppLocaleInfo, name: string): string {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyFormsResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyFormsResourcesModule {}\n"]}
1
+ {"version":3,"file":"sky-forms-resources.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/shared/sky-forms-resources.module.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,2BAA2B,EAE3B,aAAa,EAGb,qBAAqB,GACtB,MAAM,aAAa,CAAC;;AAErB,MAAM,SAAS,GAA0C;IACvD,OAAO,EAAE;QACP,6BAA6B,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;QAC/D,gCAAgC,EAAE;YAChC,OAAO,EAAE,mCAAmC;SAC7C;QACD,8CAA8C,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;QAC1E,+CAA+C,EAAE;YAC/C,OAAO,EAAE,cAAc;SACxB;QACD,sCAAsC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;QAClE,wCAAwC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;QAClE,0CAA0C,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;QACnE,kCAAkC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QACzD,kCAAkC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QACzD,kCAAkC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QACzD,gDAAgD,EAAE;YAChD,OAAO,EAAE,kBAAkB;SAC5B;QACD,+CAA+C,EAAE;YAC/C,OAAO,EAAE,qCAAqC;SAC/C;QACD,iDAAiD,EAAE;YACjD,OAAO,EAAE,iBAAiB;SAC3B;QACD,wDAAwD,EAAE;YACxD,OAAO,EAAE,eAAe;SACzB;QACD,8CAA8C,EAAE;YAC9C,OAAO,EAAE,2BAA2B;SACrC;QACD,4CAA4C,EAAE;YAC5C,OAAO,EAAE,sBAAsB;SAChC;QACD,kDAAkD,EAAE;YAClD,OAAO,EAAE,+BAA+B;SACzC;QACD,oDAAoD,EAAE;YACpD,OAAO,EAAE,oBAAoB;SAC9B;QACD,4CAA4C,EAAE;YAC5C,OAAO,EAAE,wBAAwB;SAClC;QACD,iDAAiD,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QACtE,0CAA0C,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;KAC1E;CACF,CAAC;AAEF,MAAM,OAAO,yBAAyB;IAC7B,SAAS,CAAC,UAA4B,EAAE,IAAY;QACzD,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;CACF;AAED;;GAEG;AAWH,MAAM,OAAO,uBAAuB;;qHAAvB,uBAAuB;sHAAvB,uBAAuB,YATxB,aAAa;sHASZ,uBAAuB,aARvB;QACT;YACE,OAAO,EAAE,2BAA2B;YACpC,QAAQ,EAAE,yBAAyB;YACnC,KAAK,EAAE,IAAI;SACZ;KACF,YAPS,aAAa;4FASZ,uBAAuB;kBAVnC,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAE,2BAA2B;4BACpC,QAAQ,EAAE,yBAAyB;4BACnC,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF","sourcesContent":["/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module modules/shared/sky-forms' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_character_count_message: { message: 'characters out of' },\n skyux_character_count_over_limit: {\n message: 'You are over the character limit.',\n },\n skyux_file_attachment_button_label_choose_file: { message: 'Choose file' },\n skyux_file_attachment_button_label_replace_file: {\n message: 'Replace file',\n },\n skyux_file_attachment_file_item_delete: { message: 'Delete file' },\n skyux_file_attachment_file_size_b_plural: { message: '{0} bytes' },\n skyux_file_attachment_file_size_b_singular: { message: '{0} byte' },\n skyux_file_attachment_file_size_gb: { message: '{0} GB' },\n skyux_file_attachment_file_size_kb: { message: '{0} KB' },\n skyux_file_attachment_file_size_mb: { message: '{0} MB' },\n skyux_file_attachment_file_upload_drag_file_here: {\n message: 'Drag a file here',\n },\n skyux_file_attachment_file_upload_drag_or_click: {\n message: 'Drag a file here or click to browse',\n },\n skyux_file_attachment_file_upload_drop_files_here: {\n message: 'Drop files here',\n },\n skyux_file_attachment_file_upload_image_preview_alt_text: {\n message: 'Image preview',\n },\n skyux_file_attachment_file_upload_invalid_file: {\n message: 'This file type is invalid',\n },\n skyux_file_attachment_file_upload_link_input: {\n message: 'Add a link to a file',\n },\n skyux_file_attachment_file_upload_link_placeholder: {\n message: 'http://www.something.com/file',\n },\n skyux_file_attachment_file_upload_or_click_to_browse: {\n message: 'or click to browse',\n },\n skyux_file_attachment_file_upload_paste_link: {\n message: 'Paste a link to a file',\n },\n skyux_file_attachment_file_upload_paste_link_done: { message: 'Done' },\n skyux_file_attachment_label_no_file_chosen: { message: 'No file chosen' },\n },\n};\n\nexport class SkyFormsResourcesProvider implements SkyLibResourcesProvider {\n public getString(localeInfo: SkyAppLocaleInfo, name: string): string {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyFormsResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyFormsResourcesModule {}\n"]}
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, forwardRef, Input, Output, QueryList, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, Output, QueryList, forwardRef, } from '@angular/core';
2
2
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
3
  import { Subject } from 'rxjs';
4
4
  import { takeUntil } from 'rxjs/operators';
@@ -39,8 +39,9 @@ export class SkyToggleSwitchComponent {
39
39
  this.ngUnsubscribe = new Subject();
40
40
  this.toggleSwitchId = uniqueId++;
41
41
  this._checked = false;
42
- /* istanbul ignore next */
42
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
43
43
  this.onTouched = () => { };
44
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
44
45
  this.onChange = () => { };
45
46
  }
46
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-switch.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/toggle-switch/toggle-switch.component.ts","../../../../../../../../libs/components/forms/src/lib/modules/toggle-switch/toggle-switch.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n QueryList,\n OnDestroy,\n} from '@angular/core';\n\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { Subject } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyToggleSwitchChange } from './types/toggle-switch-change';\n\nimport { SkyToggleSwitchLabelComponent } from './toggle-switch-label.component';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_TOGGLE_SWITCH_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyToggleSwitchComponent),\n multi: true,\n};\nconst SKY_TOGGLE_SWITCH_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyToggleSwitchComponent),\n multi: true,\n};\n// tslint:enable\n\nlet uniqueId = 0;\n\n@Component({\n selector: 'sky-toggle-switch',\n templateUrl: './toggle-switch.component.html',\n styleUrls: ['./toggle-switch.component.scss'],\n providers: [\n SKY_TOGGLE_SWITCH_CONTROL_VALUE_ACCESSOR,\n SKY_TOGGLE_SWITCH_VALIDATOR,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyToggleSwitchComponent\n implements AfterContentInit, OnDestroy, ControlValueAccessor, Validator\n{\n /**\n * Specifies an ARIA label for the toggle switch. This sets the toggle switch's `aria-label`\n * attribute [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * If the `sky-toggle-switch-label` component displays a visible label, do not use this property.\n */\n @Input()\n public ariaLabel: string;\n\n /**\n * Indicates whether the toggle switch is selected.\n * @default false\n */\n @Input()\n public set checked(checked: boolean) {\n if (checked !== this.checked) {\n this._checked = checked;\n this.onChange(checked);\n\n // Do not mark the field as \"dirty\"\n // if the field has been initialized with a value.\n if (this.isFirstChange && this.control) {\n this.control.markAsPristine();\n this.isFirstChange = false;\n }\n }\n }\n\n public get checked(): boolean {\n return this._checked || false;\n }\n\n /**\n * Indicates whether to disable the toggle switch.\n */\n @Input()\n public disabled = false;\n\n /**\n * Specifies a tab index for the toggle switch. If not defined, the index is set to the position\n * of the toggle switch on load.\n */\n @Input()\n public tabIndex = 0;\n\n /**\n * Fires when the checked state of a toggle switch changes.\n */\n @Output()\n public toggleChange = new EventEmitter<SkyToggleSwitchChange>();\n\n public get hasLabelComponent(): boolean {\n return this.labelComponents.length > 0;\n }\n\n public enableIndicatorAnimation = false;\n\n public get labelElementId(): string {\n return `sky-toggle-switch-label-${this.toggleSwitchId}`;\n }\n\n @ContentChildren(SkyToggleSwitchLabelComponent)\n private labelComponents: QueryList<SkyToggleSwitchLabelComponent>;\n\n private control: AbstractControl;\n private isFirstChange: boolean = true;\n private ngUnsubscribe = new Subject<void>();\n private toggleSwitchId = uniqueId++;\n\n private _checked: boolean = false;\n\n constructor(private changeDetector: ChangeDetectorRef) {}\n\n public ngAfterContentInit(): void {\n this.labelComponents.changes\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n // Allow the template to reload any ARIA attributes that are relying on the\n // label component existing in the DOM.\n this.changeDetector.markForCheck();\n });\n\n // Wait for the view to render before applying animation effects.\n // (Some browsers, such as Firefox, apply the animation too early.)\n setTimeout(() => {\n this.enableIndicatorAnimation = true;\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public writeValue(value: boolean): void {\n this.checked = !!value;\n this.changeDetector.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors {\n if (!this.control) {\n this.control = control;\n }\n\n return;\n }\n\n public registerOnChange(fn: (value: any) => void) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n this.changeDetector.markForCheck();\n }\n\n public onButtonClick(event: any): void {\n event.stopPropagation();\n this.toggleChecked();\n this.emitChangeEvent();\n }\n\n public onButtonBlur(): void {\n this.onTouched();\n }\n\n /* istanbul ignore next */\n private onTouched: () => any = () => {};\n private onChange: (value: any) => void = () => {};\n\n private emitChangeEvent(): void {\n this.onChange(this._checked);\n this.toggleChange.emit({\n checked: this._checked,\n });\n }\n\n private toggleChecked(): void {\n this.checked = !this.checked;\n }\n}\n","<span class=\"sky-toggle-switch\">\n <button\n class=\"sky-toggle-switch-button\"\n role=\"switch\"\n type=\"button\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"hasLabelComponent ? labelElementId : null\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-toggle-switch-checked': checked,\n 'sky-toggle-switch-disabled': disabled\n }\"\n [tabIndex]=\"tabIndex\"\n (blur)=\"onButtonBlur()\"\n (click)=\"onButtonClick($event)\"\n >\n <i\n aria-hidden=\"true\"\n class=\"sky-toggle-switch-indicator\"\n [ngClass]=\"{\n 'sky-toggle-switch-transition': enableIndicatorAnimation\n }\"\n role=\"presentation\"\n >&nbsp;</i\n >\n <!-- Non-breaking space needed to align switch to baseline! -->\n </button>\n\n <label\n *ngIf=\"hasLabelComponent\"\n class=\"sky-toggle-switch-label\"\n [attr.id]=\"labelElementId\"\n >\n <ng-container *ngTemplateOutlet=\"labelContent\"> </ng-container>\n </label>\n</span>\n\n<ng-template #labelContent>\n <ng-content select=\"sky-toggle-switch-label\"></ng-content>\n</ng-template>\n"]}
1
+ {"version":3,"file":"toggle-switch.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/toggle-switch/toggle-switch.component.ts","../../../../../../../../libs/components/forms/src/lib/modules/toggle-switch/toggle-switch.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n forwardRef,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyToggleSwitchLabelComponent } from './toggle-switch-label.component';\nimport { SkyToggleSwitchChange } from './types/toggle-switch-change';\n\n// tslint:disable:no-forward-ref no-use-before-declare\nconst SKY_TOGGLE_SWITCH_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SkyToggleSwitchComponent),\n multi: true,\n};\nconst SKY_TOGGLE_SWITCH_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => SkyToggleSwitchComponent),\n multi: true,\n};\n// tslint:enable\n\nlet uniqueId = 0;\n\n@Component({\n selector: 'sky-toggle-switch',\n templateUrl: './toggle-switch.component.html',\n styleUrls: ['./toggle-switch.component.scss'],\n providers: [\n SKY_TOGGLE_SWITCH_CONTROL_VALUE_ACCESSOR,\n SKY_TOGGLE_SWITCH_VALIDATOR,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyToggleSwitchComponent\n implements AfterContentInit, OnDestroy, ControlValueAccessor, Validator\n{\n /**\n * Specifies an ARIA label for the toggle switch. This sets the toggle switch's `aria-label`\n * attribute [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * If the `sky-toggle-switch-label` component displays a visible label, do not use this property.\n */\n @Input()\n public ariaLabel: string;\n\n /**\n * Indicates whether the toggle switch is selected.\n * @default false\n */\n @Input()\n public set checked(checked: boolean) {\n if (checked !== this.checked) {\n this._checked = checked;\n this.onChange(checked);\n\n // Do not mark the field as \"dirty\"\n // if the field has been initialized with a value.\n if (this.isFirstChange && this.control) {\n this.control.markAsPristine();\n this.isFirstChange = false;\n }\n }\n }\n\n public get checked(): boolean {\n return this._checked || false;\n }\n\n /**\n * Indicates whether to disable the toggle switch.\n */\n @Input()\n public disabled = false;\n\n /**\n * Specifies a tab index for the toggle switch. If not defined, the index is set to the position\n * of the toggle switch on load.\n */\n @Input()\n public tabIndex = 0;\n\n /**\n * Fires when the checked state of a toggle switch changes.\n */\n @Output()\n public toggleChange = new EventEmitter<SkyToggleSwitchChange>();\n\n public get hasLabelComponent(): boolean {\n return this.labelComponents.length > 0;\n }\n\n public enableIndicatorAnimation = false;\n\n public get labelElementId(): string {\n return `sky-toggle-switch-label-${this.toggleSwitchId}`;\n }\n\n @ContentChildren(SkyToggleSwitchLabelComponent)\n private labelComponents: QueryList<SkyToggleSwitchLabelComponent>;\n\n private control: AbstractControl;\n private isFirstChange = true;\n private ngUnsubscribe = new Subject<void>();\n private toggleSwitchId = uniqueId++;\n\n private _checked = false;\n\n constructor(private changeDetector: ChangeDetectorRef) {}\n\n public ngAfterContentInit(): void {\n this.labelComponents.changes\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n // Allow the template to reload any ARIA attributes that are relying on the\n // label component existing in the DOM.\n this.changeDetector.markForCheck();\n });\n\n // Wait for the view to render before applying animation effects.\n // (Some browsers, such as Firefox, apply the animation too early.)\n setTimeout(() => {\n this.enableIndicatorAnimation = true;\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public writeValue(value: boolean): void {\n this.checked = !!value;\n this.changeDetector.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors {\n if (!this.control) {\n this.control = control;\n }\n\n return;\n }\n\n public registerOnChange(fn: (value: any) => void) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n this.changeDetector.markForCheck();\n }\n\n public onButtonClick(event: any): void {\n event.stopPropagation();\n this.toggleChecked();\n this.emitChangeEvent();\n }\n\n public onButtonBlur(): void {\n this.onTouched();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private onTouched: () => any = () => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private onChange: (value: any) => void = () => {};\n\n private emitChangeEvent(): void {\n this.onChange(this._checked);\n this.toggleChange.emit({\n checked: this._checked,\n });\n }\n\n private toggleChecked(): void {\n this.checked = !this.checked;\n }\n}\n","<span class=\"sky-toggle-switch\">\n <button\n class=\"sky-toggle-switch-button\"\n role=\"switch\"\n type=\"button\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"hasLabelComponent ? labelElementId : null\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-toggle-switch-checked': checked,\n 'sky-toggle-switch-disabled': disabled\n }\"\n [tabIndex]=\"tabIndex\"\n (blur)=\"onButtonBlur()\"\n (click)=\"onButtonClick($event)\"\n >\n <i\n aria-hidden=\"true\"\n class=\"sky-toggle-switch-indicator\"\n [ngClass]=\"{\n 'sky-toggle-switch-transition': enableIndicatorAnimation\n }\"\n role=\"presentation\"\n >&nbsp;</i\n >\n <!-- Non-breaking space needed to align switch to baseline! -->\n </button>\n\n <label\n *ngIf=\"hasLabelComponent\"\n class=\"sky-toggle-switch-label\"\n [attr.id]=\"labelElementId\"\n >\n <ng-container *ngTemplateOutlet=\"labelContent\"> </ng-container>\n </label>\n</span>\n\n<ng-template #labelContent>\n <ng-content select=\"sky-toggle-switch-label\"></ng-content>\n</ng-template>\n"]}
@@ -1,8 +1,8 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
- import { SkyToggleSwitchComponent } from './toggle-switch.component';
5
4
  import { SkyToggleSwitchLabelComponent } from './toggle-switch-label.component';
5
+ import { SkyToggleSwitchComponent } from './toggle-switch.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class SkyToggleSwitchModule {
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-switch.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/toggle-switch/toggle-switch.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;;AAOhF,MAAM,OAAO,qBAAqB;;mHAArB,qBAAqB;oHAArB,qBAAqB,iBAJjB,6BAA6B,EAAE,wBAAwB,aAC5D,YAAY,EAAE,WAAW,aACzB,6BAA6B,EAAE,wBAAwB;oHAEtD,qBAAqB,YAHvB,CAAC,YAAY,EAAE,WAAW,CAAC;4FAGzB,qBAAqB;kBALjC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;oBACvE,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;oBACpC,OAAO,EAAE,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;iBACnE","sourcesContent":["import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\n\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyToggleSwitchComponent } from './toggle-switch.component';\n\nimport { SkyToggleSwitchLabelComponent } from './toggle-switch-label.component';\n\n@NgModule({\n declarations: [SkyToggleSwitchLabelComponent, SkyToggleSwitchComponent],\n imports: [CommonModule, FormsModule],\n exports: [SkyToggleSwitchLabelComponent, SkyToggleSwitchComponent],\n})\nexport class SkyToggleSwitchModule {}\n"]}
1
+ {"version":3,"file":"toggle-switch.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/forms/src/lib/modules/toggle-switch/toggle-switch.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;;AAOrE,MAAM,OAAO,qBAAqB;;mHAArB,qBAAqB;oHAArB,qBAAqB,iBAJjB,6BAA6B,EAAE,wBAAwB,aAC5D,YAAY,EAAE,WAAW,aACzB,6BAA6B,EAAE,wBAAwB;oHAEtD,qBAAqB,YAHvB,CAAC,YAAY,EAAE,WAAW,CAAC;4FAGzB,qBAAqB;kBALjC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;oBACvE,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;oBACpC,OAAO,EAAE,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;iBACnE","sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyToggleSwitchLabelComponent } from './toggle-switch-label.component';\nimport { SkyToggleSwitchComponent } from './toggle-switch.component';\n\n@NgModule({\n declarations: [SkyToggleSwitchLabelComponent, SkyToggleSwitchComponent],\n imports: [CommonModule, FormsModule],\n exports: [SkyToggleSwitchLabelComponent, SkyToggleSwitchComponent],\n})\nexport class SkyToggleSwitchModule {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-fixture.js","sourceRoot":"","sources":["../../../../../../libs/components/forms/testing/src/checkbox-fixture.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAG7B,YAAY,OAA8B,EAAE,SAAiB;QAC3D,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,cAAc,CACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,iBAAiB,CAAC,OAAO,CAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;aACvE,SAAS,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACtB;SACF;IACH,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;QAElE,IAAI,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;YACnD,OAAO,QAAQ,CAAC;SACjB;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;YACjD,OAAO,MAAM,CAAC;SACf;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;YACpD,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;YACpD,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,OAAO;aACT,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;aAC3C,aAAa,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEO,kBAAkB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,gBAAgB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACvE,CAAC;CACF","sourcesContent":["import { ComponentFixture } from '@angular/core/testing';\n\nimport { DebugElement } from '@angular/core';\n\nimport { By } from '@angular/platform-browser';\n\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX checkbox component.\n */\nexport class SkyCheckboxFixture {\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-checkbox'\n );\n }\n\n /**\n * A flag indicating whether the checkbox is currently selected.\n */\n public get selected(): boolean {\n return this.getCheckboxInputEl().nativeElement.checked;\n }\n\n /**\n * The checkbox's label\n */\n public get labelText(): string {\n return SkyAppTestUtility.getText(\n this.debugEl.query(By.css('label.sky-checkbox-wrapper'))\n );\n }\n\n /**\n * The checkbox's icon type\n */\n public get iconType(): string {\n const classList = this.debugEl.query(By.css('.fa.sky-icon')).nativeElement\n .classList;\n\n for (let i = 0, n = classList.length; i < n; i++) {\n const cls = classList.item(i);\n\n if (cls.indexOf('fa-') === 0) {\n return cls.substr(3);\n }\n }\n }\n\n /**\n * The checkbox's type.\n */\n public get checkboxType(): string {\n const classList = this.getCheckboxBoxEl().nativeElement.classList;\n\n if (classList.contains('sky-switch-control-danger')) {\n return 'danger';\n }\n\n if (classList.contains('sky-switch-control-info')) {\n return 'info';\n }\n\n if (classList.contains('sky-switch-control-success')) {\n return 'success';\n }\n\n if (classList.contains('sky-switch-control-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n /**\n * A flag indicating whether the checkbox is currently disabled.\n */\n public get disabled(): boolean {\n return this.getCheckboxInputEl().nativeElement.disabled;\n }\n\n /**\n * Selects the checkbox.\n */\n public select(): void {\n if (!this.selected) {\n this.clickCheckboxLabelEl();\n }\n }\n\n /**\n * Deselects the checkbox.\n */\n public deselect(): void {\n if (this.selected) {\n this.clickCheckboxLabelEl();\n }\n }\n\n private clickCheckboxLabelEl(): void {\n this.debugEl\n .query(By.css('label.sky-checkbox-wrapper'))\n .nativeElement.click();\n }\n\n private getCheckboxInputEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-checkbox-wrapper input'));\n }\n\n private getCheckboxBoxEl(): DebugElement {\n return this.debugEl.query(By.css('label.sky-checkbox-wrapper span'));\n }\n}\n"]}
1
+ {"version":3,"file":"checkbox-fixture.js","sourceRoot":"","sources":["../../../../../../libs/components/forms/testing/src/checkbox-fixture.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAG7B,YAAY,OAA8B,EAAE,SAAiB;QAC3D,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,cAAc,CACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,iBAAiB,CAAC,OAAO,CAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;aACvE,SAAS,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACtB;SACF;IACH,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;QAElE,IAAI,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;YACnD,OAAO,QAAQ,CAAC;SACjB;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;YACjD,OAAO,MAAM,CAAC;SACf;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;YACpD,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;YACpD,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,OAAO;aACT,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;aAC3C,aAAa,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEO,kBAAkB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,gBAAgB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;IACvE,CAAC;CACF","sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX checkbox component.\n */\nexport class SkyCheckboxFixture {\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-checkbox'\n );\n }\n\n /**\n * A flag indicating whether the checkbox is currently selected.\n */\n public get selected(): boolean {\n return this.getCheckboxInputEl().nativeElement.checked;\n }\n\n /**\n * The checkbox's label\n */\n public get labelText(): string {\n return SkyAppTestUtility.getText(\n this.debugEl.query(By.css('label.sky-checkbox-wrapper'))\n );\n }\n\n /**\n * The checkbox's icon type\n */\n public get iconType(): string {\n const classList = this.debugEl.query(By.css('.fa.sky-icon')).nativeElement\n .classList;\n\n for (let i = 0, n = classList.length; i < n; i++) {\n const cls = classList.item(i);\n\n if (cls.indexOf('fa-') === 0) {\n return cls.substr(3);\n }\n }\n }\n\n /**\n * The checkbox's type.\n */\n public get checkboxType(): string {\n const classList = this.getCheckboxBoxEl().nativeElement.classList;\n\n if (classList.contains('sky-switch-control-danger')) {\n return 'danger';\n }\n\n if (classList.contains('sky-switch-control-info')) {\n return 'info';\n }\n\n if (classList.contains('sky-switch-control-success')) {\n return 'success';\n }\n\n if (classList.contains('sky-switch-control-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n /**\n * A flag indicating whether the checkbox is currently disabled.\n */\n public get disabled(): boolean {\n return this.getCheckboxInputEl().nativeElement.disabled;\n }\n\n /**\n * Selects the checkbox.\n */\n public select(): void {\n if (!this.selected) {\n this.clickCheckboxLabelEl();\n }\n }\n\n /**\n * Deselects the checkbox.\n */\n public deselect(): void {\n if (this.selected) {\n this.clickCheckboxLabelEl();\n }\n }\n\n private clickCheckboxLabelEl(): void {\n this.debugEl\n .query(By.css('label.sky-checkbox-wrapper'))\n .nativeElement.click();\n }\n\n private getCheckboxInputEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-checkbox-wrapper input'));\n }\n\n private getCheckboxBoxEl(): DebugElement {\n return this.debugEl.query(By.css('label.sky-checkbox-wrapper span'));\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-forms-testing.js","sources":["../../../../../libs/components/forms/testing/src/checkbox-fixture.ts","../../../../../libs/components/forms/testing/src/skyux-forms-testing.ts"],"sourcesContent":["import { ComponentFixture } from '@angular/core/testing';\n\nimport { DebugElement } from '@angular/core';\n\nimport { By } from '@angular/platform-browser';\n\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX checkbox component.\n */\nexport class SkyCheckboxFixture {\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-checkbox'\n );\n }\n\n /**\n * A flag indicating whether the checkbox is currently selected.\n */\n public get selected(): boolean {\n return this.getCheckboxInputEl().nativeElement.checked;\n }\n\n /**\n * The checkbox's label\n */\n public get labelText(): string {\n return SkyAppTestUtility.getText(\n this.debugEl.query(By.css('label.sky-checkbox-wrapper'))\n );\n }\n\n /**\n * The checkbox's icon type\n */\n public get iconType(): string {\n const classList = this.debugEl.query(By.css('.fa.sky-icon')).nativeElement\n .classList;\n\n for (let i = 0, n = classList.length; i < n; i++) {\n const cls = classList.item(i);\n\n if (cls.indexOf('fa-') === 0) {\n return cls.substr(3);\n }\n }\n }\n\n /**\n * The checkbox's type.\n */\n public get checkboxType(): string {\n const classList = this.getCheckboxBoxEl().nativeElement.classList;\n\n if (classList.contains('sky-switch-control-danger')) {\n return 'danger';\n }\n\n if (classList.contains('sky-switch-control-info')) {\n return 'info';\n }\n\n if (classList.contains('sky-switch-control-success')) {\n return 'success';\n }\n\n if (classList.contains('sky-switch-control-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n /**\n * A flag indicating whether the checkbox is currently disabled.\n */\n public get disabled(): boolean {\n return this.getCheckboxInputEl().nativeElement.disabled;\n }\n\n /**\n * Selects the checkbox.\n */\n public select(): void {\n if (!this.selected) {\n this.clickCheckboxLabelEl();\n }\n }\n\n /**\n * Deselects the checkbox.\n */\n public deselect(): void {\n if (this.selected) {\n this.clickCheckboxLabelEl();\n }\n }\n\n private clickCheckboxLabelEl(): void {\n this.debugEl\n .query(By.css('label.sky-checkbox-wrapper'))\n .nativeElement.click();\n }\n\n private getCheckboxInputEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-checkbox-wrapper input'));\n }\n\n private getCheckboxBoxEl(): DebugElement {\n return this.debugEl.query(By.css('label.sky-checkbox-wrapper span'));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAQA;;;MAGa,kBAAkB;IAG7B,YAAY,OAA8B,EAAE,SAAiB;QAC3D,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,cAAc,CACf,CAAC;KACH;;;;IAKD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;KACxD;;;;IAKD,IAAW,SAAS;QAClB,OAAO,iBAAiB,CAAC,OAAO,CAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CACzD,CAAC;KACH;;;;IAKD,IAAW,QAAQ;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;aACvE,SAAS,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACtB;SACF;KACF;;;;IAKD,IAAW,YAAY;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;QAElE,IAAI,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;YACnD,OAAO,QAAQ,CAAC;SACjB;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;YACjD,OAAO,MAAM,CAAC;SACf;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;YACpD,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;YACpD,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,SAAS,CAAC;KAClB;;;;IAKD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC;KACzD;;;;IAKM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;KACF;;;;IAKM,QAAQ;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;KACF;IAEO,oBAAoB;QAC1B,IAAI,CAAC,OAAO;aACT,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;aAC3C,aAAa,CAAC,KAAK,EAAE,CAAC;KAC1B;IAEO,kBAAkB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;KAClE;IAEO,gBAAgB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;KACtE;;;ACpHH;;;;;;"}
1
+ {"version":3,"file":"skyux-forms-testing.js","sources":["../../../../../libs/components/forms/testing/src/checkbox-fixture.ts","../../../../../libs/components/forms/testing/src/skyux-forms-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX checkbox component.\n */\nexport class SkyCheckboxFixture {\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-checkbox'\n );\n }\n\n /**\n * A flag indicating whether the checkbox is currently selected.\n */\n public get selected(): boolean {\n return this.getCheckboxInputEl().nativeElement.checked;\n }\n\n /**\n * The checkbox's label\n */\n public get labelText(): string {\n return SkyAppTestUtility.getText(\n this.debugEl.query(By.css('label.sky-checkbox-wrapper'))\n );\n }\n\n /**\n * The checkbox's icon type\n */\n public get iconType(): string {\n const classList = this.debugEl.query(By.css('.fa.sky-icon')).nativeElement\n .classList;\n\n for (let i = 0, n = classList.length; i < n; i++) {\n const cls = classList.item(i);\n\n if (cls.indexOf('fa-') === 0) {\n return cls.substr(3);\n }\n }\n }\n\n /**\n * The checkbox's type.\n */\n public get checkboxType(): string {\n const classList = this.getCheckboxBoxEl().nativeElement.classList;\n\n if (classList.contains('sky-switch-control-danger')) {\n return 'danger';\n }\n\n if (classList.contains('sky-switch-control-info')) {\n return 'info';\n }\n\n if (classList.contains('sky-switch-control-success')) {\n return 'success';\n }\n\n if (classList.contains('sky-switch-control-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n /**\n * A flag indicating whether the checkbox is currently disabled.\n */\n public get disabled(): boolean {\n return this.getCheckboxInputEl().nativeElement.disabled;\n }\n\n /**\n * Selects the checkbox.\n */\n public select(): void {\n if (!this.selected) {\n this.clickCheckboxLabelEl();\n }\n }\n\n /**\n * Deselects the checkbox.\n */\n public deselect(): void {\n if (this.selected) {\n this.clickCheckboxLabelEl();\n }\n }\n\n private clickCheckboxLabelEl(): void {\n this.debugEl\n .query(By.css('label.sky-checkbox-wrapper'))\n .nativeElement.click();\n }\n\n private getCheckboxInputEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-checkbox-wrapper input'));\n }\n\n private getCheckboxBoxEl(): DebugElement {\n return this.debugEl.query(By.css('label.sky-checkbox-wrapper span'));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAKA;;;MAGa,kBAAkB;IAG7B,YAAY,OAA8B,EAAE,SAAiB;QAC3D,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,cAAc,CACf,CAAC;KACH;;;;IAKD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;KACxD;;;;IAKD,IAAW,SAAS;QAClB,OAAO,iBAAiB,CAAC,OAAO,CAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CACzD,CAAC;KACH;;;;IAKD,IAAW,QAAQ;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;aACvE,SAAS,CAAC;QAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACtB;SACF;KACF;;;;IAKD,IAAW,YAAY;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;QAElE,IAAI,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;YACnD,OAAO,QAAQ,CAAC;SACjB;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;YACjD,OAAO,MAAM,CAAC;SACf;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;YACpD,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;YACpD,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,SAAS,CAAC;KAClB;;;;IAKD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC;KACzD;;;;IAKM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;KACF;;;;IAKM,QAAQ;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;KACF;IAEO,oBAAoB;QAC1B,IAAI,CAAC,OAAO;aACT,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;aAC3C,aAAa,CAAC,KAAK,EAAE,CAAC;KAC1B;IAEO,kBAAkB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;KAClE;IAEO,gBAAgB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;KACtE;;;ACjHH;;;;;;"}